/*
 * Base commune des pages refaites (Conseil d'administration, Devenir partenaire…).
 * Chargée sur les pages listées dans functions.php, qui posent la classe
 * body.sahb-refonte. Tout est préfixé par elle : rien ne fuit ailleurs.
 *
 * Fil conducteur : les tracés du terrain. Arc pointillé de la ligne des 9 m
 * sous le titre, trait plein de la zone entre les sections.
 */

body.sahb-refonte {
	--craie: #f5f2f7;
	--magenta: #ec0289;
	--prune: #8d2672;
	--nuit: #2a1233;
	--sol: #1f7a6e;
	--titre: "Gotham-Black", "Arial Black", Impact, sans-serif;
	background: #f5f2f7c2;
}

/* Le thème pose des voiles blancs translucides derrière le contenu */
body.sahb-refonte #sport_innerpage_area,
body.sahb-refonte .sport_innerpage_content_wrapper article .entry-content {
	background: transparent !important;
	padding-left: 0;
	padding-right: 0;
}

/* Pleine largeur : on retire la colonne latérale (classement) sur cette page */
body.sahb-refonte #sidebar { display: none; }
body.sahb-refonte .sport_innerpage_content_wrapper {
	width: 100%;
	float: none;
	padding-bottom: 72px;
}

/* Titre de la page + arc des 9 m */
body.sahb-refonte .entry-title {
	position: relative;
	margin: 56px 0 0;
	padding-bottom: 44px;
	font: 400 clamp(2.25rem, 6vw, 4.25rem) / 1.02 var(--titre);
	letter-spacing: -0.01em;
	color: var(--nuit);
}
body.sahb-refonte .entry-title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: min(560px, 80%);
	height: 28px;
	border-bottom: 5px dashed var(--magenta);
	border-radius: 0 0 50% 50% / 0 0 100% 100%;
}

body.sahb-refonte .sahb-intro {
	max-width: 44rem;
	margin: 32px 0 64px;
	font-size: 1.125rem;
	line-height: 1.65;
	color: var(--nuit);
}

/* Intertitres : trait plein, comme une ligne de zone */
body.sahb-refonte .entry-content h2.sahb-section {
	margin: 80px 0 36px;
	padding-bottom: 14px;
	border-bottom: 3px solid var(--nuit);
	font: 400 clamp(1.5rem, 3vw, 2rem) / 1.1 var(--titre);
	color: var(--nuit);
}

/* Rubrique : intertitre dans la colonne de gauche, contenu à droite.
   Occupe toute la largeur sans allonger les lignes de texte.
   (Le thème est classique : WordPress ajoute un conteneur interne aux groupes.) */
body.sahb-refonte .sahb-rubrique {
	margin: 72px 0 0;
	padding-top: 28px;
	border-top: 3px solid var(--nuit);
}
body.sahb-refonte .sahb-rubrique > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: minmax(12rem, 1fr) 2fr;
	gap: 0 56px;
	align-items: start;
}
body.sahb-refonte .sahb-rubrique > .wp-block-group__inner-container > * {
	grid-column: 2;
	margin-top: 0;
}
body.sahb-refonte .entry-content .sahb-rubrique > .wp-block-group__inner-container > h2.sahb-section {
	grid-column: 1;
	grid-row: 1 / span 12;
	margin: 0;
	padding: 0;
	border: 0;
}
@media (max-width: 800px) {
	body.sahb-refonte .sahb-rubrique > .wp-block-group__inner-container { display: block; }
	body.sahb-refonte .entry-content .sahb-rubrique > .wp-block-group__inner-container > h2.sahb-section { margin-bottom: 20px; }
}

/* ---- Composants partagés ---- */

/* Ouverture : le chapeau en grand à gauche, le texte courant à droite */
body.sahb-refonte .sahb-ouverture {
	margin-top: 40px;
	padding-top: 0;
	border-top: 0;
}
body.sahb-refonte .sahb-ouverture > .wp-block-group__inner-container {
	grid-template-columns: 5fr 6fr;
}
body.sahb-refonte .sahb-ouverture .sahb-intro {
	max-width: none;
	margin: 0 0 20px;
	font-size: 1.0625rem;
}
body.sahb-refonte .sahb-ouverture > .wp-block-group__inner-container > .sahb-chapeau {
	grid-column: 1;
	grid-row: 1 / span 3;
	margin: 0;
	font: 400 clamp(1.5rem, 2.6vw, 2.125rem) / 1.25 var(--titre);
	letter-spacing: -0.005em;
}
@media (max-width: 800px) {
	body.sahb-refonte .sahb-ouverture .sahb-chapeau { margin-bottom: 24px; }
}

/* Photo d'équipe en bandeau */
body.sahb-refonte .sahb-bandeau { margin: 24px 0 0; }
body.sahb-refonte .sahb-bandeau img {
	display: block;
	width: 100%;
	height: auto;
}

/* Texte de lecture */
body.sahb-refonte .sahb-texte {
	max-width: 40rem;
	margin: 0;
	font-size: 1.0625rem;
	line-height: 1.7;
	color: var(--nuit);
}

/* Les trois raisons : colonnes séparées par un trait pointillé, sans cadre */
body.sahb-refonte .sahb-raisons.is-layout-grid { gap: 40px 56px; margin-top: 36px; }
body.sahb-refonte .sahb-raison {
	padding-top: 20px;
	border-top: 3px dotted var(--magenta);
}
body.sahb-refonte .entry-content .sahb-raison-titre {
	margin: 0 0 12px;
	font: 400 1.375rem / 1.2 var(--titre);
	color: var(--nuit);
}
body.sahb-refonte .sahb-raison p { margin: 0; line-height: 1.6; }

/* Grilles de portraits */
/* Grille native de WordPress (colonnes de 15rem minimum) : on règle l'écart */
body.sahb-refonte .sahb-grille.is-layout-grid { gap: 48px 32px; }

/* Fiche d'une personne : photo puis texte, sans cadre ni ombre */
body.sahb-refonte .sahb-membre { margin: 0; }
body.sahb-refonte .sahb-portrait { margin: 0; }
body.sahb-refonte .sahb-portrait img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	object-position: 50% 25%;
	background: #e4dce9;
}
body.sahb-refonte .sahb-fiche { margin-top: 16px; }
body.sahb-refonte .entry-content .sahb-nom {
	margin: 0 0 4px;
	font: 400 1.5rem / 1.15 var(--titre);
	letter-spacing: -0.005em;
	color: var(--nuit);
}
body.sahb-refonte .sahb-role {
	margin: 0 0 12px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--prune);
}
body.sahb-refonte .sahb-membre .sahb-dossiers {
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 0.9375rem;
	line-height: 1.4;
}
body.sahb-refonte .sahb-membre .sahb-dossiers li {
	margin: 0;
	padding: 7px 0;
	border-top: 1px dotted rgba(42, 18, 51, 0.35);
}
body.sahb-refonte .sahb-membre .sahb-dossiers li::before { content: none; }

/* Bouton d'action */
body.sahb-refonte .sahb-appel .wp-block-button__link {
	padding: 14px 36px;
	border-radius: 2px;
	background: var(--prune);
	font: 700 1.125rem / 1.2 "Open Sans", sans-serif;
	color: #fff;
}
body.sahb-refonte .sahb-appel .wp-block-button__link:hover { background: var(--nuit); color: #fff; }

/* Focus clavier visible */
body.sahb-refonte a:focus-visible,
body.sahb-refonte input:focus-visible,
body.sahb-refonte textarea:focus-visible {
	outline: 3px solid var(--sol);
	outline-offset: 2px;
}

/* Liens dans le texte : prune, plus lisible sur la craie que le magenta du thème */
body.sahb-refonte .entry-content p a,
body.sahb-refonte .entry-content li a {
	color: var(--prune);
	text-decoration: underline;
	text-underline-offset: 2px;
}
body.sahb-refonte .entry-content .wp-block-button__link { text-decoration: none; }

/* ---- Boutons, listes en lignes, tableaux, notes ---- */

/* Boutons des deux dossiers, côte à côte ; le second en contour */
body.sahb-refonte .sahb-ouverture .wp-block-buttons { gap: 16px; margin-top: 12px; }
body.sahb-refonte .sahb-appel.is-style-outline .wp-block-button__link {
	border: 2px solid var(--prune);
	background: transparent;
	color: var(--prune);
}
body.sahb-refonte .sahb-appel.is-style-outline .wp-block-button__link:hover {
	background: var(--prune);
	color: #fff;
}

/* Sous-titres dans une rubrique */
body.sahb-refonte .entry-content .sahb-sous-titre {
	margin: 32px 0 12px;
	font: 400 1.25rem / 1.25 var(--titre);
	color: var(--nuit);
}
body.sahb-refonte .entry-content .sahb-sous-titre:first-of-type { margin-top: 0; }
body.sahb-refonte .entry-content .sahb-date {
	margin: 0 0 24px;
	font: 400 clamp(1.375rem, 2.6vw, 1.875rem) / 1.25 var(--titre);
	color: var(--nuit);
}

/* Listes en lignes, comme une feuille de match */
body.sahb-refonte .sahb-rubrique .sahb-lignes {
	margin: 0 0 8px;
	padding: 0;
	list-style: none;
	line-height: 1.5;
}
body.sahb-refonte .sahb-rubrique .sahb-lignes li {
	margin: 0;
	padding: 10px 0;
	border-top: 1px dotted rgba(42, 18, 51, 0.35);
}
body.sahb-refonte .sahb-rubrique .sahb-lignes li::before { content: none; }
body.sahb-refonte .sahb-rubrique .sahb-lignes ul {
	margin: 8px 0 0;
	padding: 0;
	list-style: none;
}
body.sahb-refonte .sahb-rubrique .sahb-lignes ul li {
	position: relative;
	padding: 4px 0 4px 20px;
	border-top: 0;
}
body.sahb-refonte .sahb-rubrique .sahb-lignes ul li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.9em;
	width: 10px;
	border-top: 2px solid var(--magenta);
}

/* Tableaux (planning de la semaine, déroulé de la journée) */
body.sahb-refonte .sahb-planning { margin: 0; }
body.sahb-refonte .sahb-planning table {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	font-size: 1rem;
	line-height: 1.5;
}
body.sahb-refonte .sahb-planning th,
body.sahb-refonte .sahb-planning td {
	padding: 12px 20px 12px 0;
	border: 0;
	border-top: 1px dotted rgba(42, 18, 51, 0.35);
	background: none;
	text-align: left;
	vertical-align: top;
}
body.sahb-refonte .sahb-planning thead th {
	padding-top: 0;
	border-top: 0;
	border-bottom: 3px solid var(--nuit);
	font: 400 1.0625rem / 1.2 var(--titre);
	color: var(--nuit);
}
body.sahb-refonte .sahb-planning tbody td:first-child {
	width: 11rem;
	font-weight: 700;
	color: var(--prune);
}
body.sahb-refonte .sahb-planning-heures tbody tr:first-child td { border-top: 3px solid var(--nuit); }
body.sahb-refonte .sahb-planning figcaption {
	margin-top: 10px;
	font-size: 0.9375rem;
	color: var(--prune);
}

body.sahb-refonte .sahb-note {
	margin: 20px 0 0;
	font-size: 0.9375rem;
	line-height: 1.5;
	color: #5b4a63;
}


@media (max-width: 700px) {
	body.sahb-refonte .sahb-planning tbody td:first-child { width: 7.5rem; }
}
