/*
Theme Name: Blocksy Child – Znass Jitsu Team
Template: blocksy
Description: Thème enfant du site Znass Jitsu Team / Tallac Top Team (zjttt.fr). Tout le design spécifique est ici.
Version: 1.0.0
Text Domain: blocksy-child
*/

/* ========== Palette & bases ========== */
:root {
	--zj-black: #0b0b0c;
	--zj-red: #d7192a;
	--zj-red-dark: #a9111f;
	--zj-gold: #c9a227;
	--zj-gold-dark: #a8861c;
	--zj-grey: #9a9aa0;
	--zj-soft: #f4f3f0;
	--zj-radius: 6px;

	--theme-palette-color-1: var(--zj-red);
	--theme-palette-color-2: var(--zj-red-dark);
	--theme-palette-color-3: #3b3b40;
	--theme-palette-color-4: var(--zj-black);
	--theme-palette-color-5: #e4e4e7;
	--theme-palette-color-6: #f2f2f2;
	--theme-palette-color-7: #fafafa;
	--theme-palette-color-8: #ffffff;
}

html { scroll-behavior: smooth; }
body { background: #fff; }
[id] { scroll-margin-top: 90px; }

h1.wp-block-heading,
h2.wp-block-heading,
h3.wp-block-heading {
	font-weight: 900;
	letter-spacing: -0.01em;
	line-height: 1.05;
}
h1.wp-block-heading, h2.wp-block-heading { text-transform: uppercase; }
h1.wp-block-heading { font-size: clamp(2.6rem, 8vw, 5.5rem); }
h2.wp-block-heading { font-size: clamp(1.9rem, 4.5vw, 3rem); margin-bottom: .6em; }
h3.wp-block-heading { font-size: 1.2rem; text-transform: uppercase; letter-spacing: .02em; }

/* ========== En-tête sombre ========== */
#header [data-row] {
	background-color: var(--zj-black) !important;
	border: 0 !important;
	box-shadow: none !important;
}
#header .site-title a,
#header .site-title,
#header .ct-menu-link,
#header .ct-header-trigger { color: #fff !important; }
#header .ct-menu-link:hover { color: var(--zj-red) !important; }
#header .ct-header-trigger svg { fill: #fff !important; }
#header .site-description { color: var(--zj-grey) !important; }
/* Dernier lien du menu = bouton Inscription */
#header [data-id="menu"] .menu > li:last-child > .ct-menu-link {
	background: var(--zj-red);
	color: #fff !important;
	border-radius: var(--zj-radius);
	padding: 10px 18px;
	margin-left: 10px;
	height: auto;
}
#header [data-id="menu"] .menu > li:last-child > .ct-menu-link:hover { background: var(--zj-red-dark); }

/* Pages construites en sections : pas de marges autour du contenu */
.page .entry-content > *:first-child { margin-top: 0 !important; }
.page .entry-content > .alignfull { margin-top: 0; margin-bottom: 0; }

/* ========== Sections ========== */
.zj-section { padding: clamp(56px, 8vw, 110px) 20px !important; }
.zj-dark { background: var(--zj-black); color: #cfcfd4; }
.zj-dark h1, .zj-dark h2, .zj-dark h3, .zj-dark strong { color: #fff; }
.zj-dark a:not(.wp-block-button__link) { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.zj-soft { background: var(--zj-soft); }
.zj-pagehead { padding-top: clamp(70px, 10vw, 130px) !important; }

.zj-kicker {
	color: var(--zj-red);
	text-transform: uppercase;
	letter-spacing: .18em;
	font-weight: 800;
	font-size: .8rem;
	margin-bottom: .6em !important;
}
.zj-mma .zj-kicker,
.zj-band .zj-kicker,
.page-id-19 .zj-kicker { color: var(--zj-gold); }
.zj-lead { font-size: clamp(1.1rem, 2.2vw, 1.4rem); }
.wp-block-cover .zj-lead { max-width: 42rem; }
.zj-note { color: var(--zj-grey); font-size: .95rem; margin-top: 1.2em; }

/* ========== Hero / bandeaux photo ========== */
.zj-hero .wp-block-cover__inner-container,
.zj-band .wp-block-cover__inner-container {
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
	padding: 0 20px;
	color: #fff;
}
.zj-hero h1, .zj-band h2 { color: #fff; }
.zj-hero .zj-lead { font-style: italic; }
.zj-hero .wp-block-cover__background { background: linear-gradient(90deg, rgba(11,11,12,.92) 0%, rgba(11,11,12,.5) 100%) !important; opacity: 1 !important; }
.zj-band .wp-block-cover__background { background: linear-gradient(0deg, rgba(11,11,12,.92) 0%, rgba(11,11,12,.6) 100%) !important; opacity: 1 !important; }

/* ========== Boutons ========== */
.zj-btn .wp-block-button__link {
	background: var(--zj-red);
	color: #fff;
	border: 2px solid var(--zj-red);
	border-radius: var(--zj-radius);
	text-transform: uppercase;
	letter-spacing: .06em;
	font-weight: 800;
	font-size: .9rem;
	padding: 14px 26px;
	transition: background .2s, border-color .2s, color .2s;
}
.zj-btn .wp-block-button__link:hover { background: var(--zj-red-dark); border-color: var(--zj-red-dark); color: #fff; }
.zj-btn-outline .wp-block-button__link { background: transparent; color: #fff; border-color: #fff; }
.zj-btn-outline .wp-block-button__link:hover { background: #fff; border-color: #fff; color: var(--zj-black); }
.zj-section:not(.zj-dark) .zj-btn-outline .wp-block-button__link { color: var(--zj-black); border-color: var(--zj-black); }
.zj-section:not(.zj-dark) .zj-btn-outline .wp-block-button__link:hover { background: var(--zj-black); color: #fff; }
.zj-btn-gold .wp-block-button__link { background: var(--zj-gold); border-color: var(--zj-gold); color: var(--zj-black); }
.zj-btn-gold .wp-block-button__link:hover { background: var(--zj-gold-dark); border-color: var(--zj-gold-dark); color: var(--zj-black); }

/* ========== Cartes disciplines ========== */
.zj-cards { gap: 20px !important; margin-bottom: 20px !important; }
.zj-card {
	background: rgba(255,255,255,.04);
	border: 1px solid rgba(255,255,255,.1);
	border-top: 3px solid var(--zj-red);
	border-radius: var(--zj-radius);
	padding: 26px 24px;
}
.zj-section:not(.zj-dark) .zj-card { background: #fff; border-color: #e6e6e9; border-top-color: var(--zj-red); }
.zj-mma .zj-card { border-top-color: var(--zj-gold); }
.zj-card h3 { margin-bottom: .4em; }
.zj-card p { margin: 0; }

/* ========== Images ========== */
.zj-img img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: var(--zj-radius);
}
.zj-gallery img { border-radius: var(--zj-radius); }
/* Portrait du coach : ne pas couper la tête */
.zj-img img.wp-image-5 { aspect-ratio: 4 / 5; object-position: top; }
/* Groupe dans la cage (photo verticale) : garder les combattants et le logo au sol */
.zj-img img.wp-image-47 { aspect-ratio: 4 / 5; object-position: center 78%; }

/* Diplômes du coach */
.zj-credentials {
	list-style: none;
	padding: 0 !important;
	margin: 1.2em 0 1.6em !important;
}
.zj-credentials li {
	position: relative;
	padding: 10px 0 10px 30px;
	border-bottom: 1px solid #ececef;
}
.zj-credentials li:last-child { border-bottom: 0; }
.zj-credentials li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 17px;
	width: 12px;
	height: 12px;
	background: var(--zj-red);
	transform: rotate(45deg);
}

/* ========== Planning ========== */
.zj-planning table {
	width: 100%;
	border-collapse: collapse;
	background: #fff;
	border-radius: var(--zj-radius);
	overflow: hidden;
}
.zj-planning th {
	background: var(--zj-black);
	color: #fff;
	text-transform: uppercase;
	letter-spacing: .08em;
	font-size: .78rem;
	text-align: left;
	padding: 14px 16px;
	border: 0;
}
.zj-planning td { padding: 13px 16px; border: 0; border-bottom: 1px solid #ececef; }
.zj-planning td:first-child { font-weight: 800; color: var(--zj-black); }
.zj-planning td:nth-child(2) { white-space: nowrap; color: var(--zj-red); font-weight: 700; }
.zj-planning.zj-mma td:nth-child(2) { color: var(--zj-gold-dark); }
.zj-planning tbody tr:nth-child(even) { background: #fafafa; }

/* ========== Inscription ========== */
.zj-form-placeholder {
	border: 2px dashed #d4d4d8;
	border-radius: var(--zj-radius);
	padding: 40px 20px;
	text-align: center;
	color: var(--zj-grey);
}

/* Formulaire WPForms */
.wpforms-container.wpforms-container-full {
	max-width: 760px;
	background: #fff;
	border: 1px solid #e6e6e9;
	border-top: 3px solid var(--zj-red) !important;
	border-radius: var(--zj-radius);
	padding: clamp(20px, 4vw, 40px);
	margin: 10px 0 0;
}
.wpforms-container .wpforms-field-label { font-weight: 800; color: var(--zj-black); }
.wpforms-container input[type=text],
.wpforms-container input[type=email],
.wpforms-container select,
.wpforms-container textarea { border-radius: var(--zj-radius) !important; }
.wpforms-container input:focus,
.wpforms-container select:focus,
.wpforms-container textarea:focus { border-color: var(--zj-red) !important; box-shadow: 0 0 0 1px var(--zj-red) !important; }
.wpforms-container button[type=submit].wpforms-submit {
	background: var(--zj-red) !important;
	border: 0 !important;
	border-radius: var(--zj-radius) !important;
	color: #fff !important;
	text-transform: uppercase;
	letter-spacing: .06em;
	font-weight: 800;
	padding: 14px 28px !important;
	height: auto !important;
}
.wpforms-container button[type=submit].wpforms-submit:hover { background: var(--zj-red-dark) !important; }
.wpforms-confirmation-container-full {
	max-width: 760px;
	background: #f1f8f2 !important;
	border: 1px solid #b7dfbf !important;
	border-radius: var(--zj-radius);
}

/* ========== Pied de page ========== */
#footer [data-row] { background-color: var(--zj-black) !important; color: var(--zj-grey); border: 0 !important; }
#footer a { color: #fff; }
#footer a:hover { color: var(--zj-red); }

/* ========== Mobile ========== */
@media (max-width: 689px) {
	.zj-planning th, .zj-planning td { padding: 10px; font-size: .9rem; }
	.zj-hero .wp-block-buttons { flex-direction: column; align-items: stretch; }
	#header [data-id="menu"] .menu > li:last-child > .ct-menu-link { margin-left: 0; }
}
