/* Pages des centres et pages d'information : hub et fiches centres, contact, centre d'aide, À propos, 404,
   réclamations, blog. Recette du 05/11/2026 (branche feature/recette-centres), fidélité aux maquettes Claude
   Design (build/src/). Chargée après core-blocks.css par includes/pages-centres.php. Chaque règle est bornée
   à un style de groupe propre à ces pages : rien ne change ailleurs. */

/* ---------- Fiches centres : bilan offert (maquette Centre Canin, section « bilan ») ----------
   Photo en fond (classe cnd-photo-<id> → --cnd-photo) sous un voile sombre à 62 % : texte blanc à plus de
   4,5:1 sur toute la photo. Rayon 16, marge 48 × 56 (32 × 24 sous 900 px). Texte à gauche, bouton à
   droite ; sous 782 px (colonnes empilées), bouton pleine largeur. */
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .wp-block-group.is-style-cnd-centre-bilan {
	background-color: #1C1C1A;
	background-image: linear-gradient(rgba(28, 28, 26, .62), rgba(28, 28, 26, .62)), var(--cnd-photo, none);
	background-size: cover;
	background-position: center;
	border-radius: 16px;
	padding: 48px 56px;
	color: #FFFFFF;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-centre-bilan > .wp-block-columns {
	gap: var(--s-5);
}
/* v0.38.0 (recette du 09/11) : bouton centré verticalement sur le texte. align-items sur les colonnes est sans
   effet (le cœur force « align-items: normal !important » sur .wp-block-columns) : align-self sur chaque colonne. */
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-centre-bilan > .wp-block-columns > .wp-block-column {
	align-self: center;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-centre-bilan .wp-block-heading {
	color: #FFFFFF;
	margin: 0 0 10px;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-centre-bilan .wp-block-column > p {
	color: rgba(255, 255, 255, .9);
	font-size: 15px;
	line-height: 1.55;
	max-width: 60ch;
	margin: 0;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-centre-bilan .wp-block-buttons {
	justify-content: flex-end;
	margin: 0;
}
@media (max-width: 899px) {
	:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .wp-block-group.is-style-cnd-centre-bilan {
		padding: 32px 24px;
	}
}
@media (max-width: 781px) {
	:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-centre-bilan .wp-block-buttons,
	:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-centre-bilan .wp-block-button {
		width: 100%;
	}
	:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-centre-bilan .wp-block-button__link {
		width: 100%;
		text-align: center;
	}
}

/* ---------- Fiches centres : domaines d'expertise et galerie, un seul bloc ----------
   Liste cochée à gauche (maquette : lignes séparées d'un filet), galerie en défilement à droite. */
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-centre-expertises > .wp-block-columns {
	align-items: center !important; /* v0.38.0 : le cœur force « normal !important » */
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-centre-expertises .cnd-icon-list__item + .cnd-icon-list__item {
	border-top: 1px solid var(--line);
	padding-top: 10px;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-centre-expertises .cnd.cnd-gallery .cnd-carousel {
	--cnd-per-view-md: 1;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-centre-expertises .cnd.cnd-gallery .cnd-gallery__item {
	height: 400px;
}
@media (max-width: 599px) {
	:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-centre-expertises .cnd.cnd-gallery .cnd-gallery__item {
		height: 260px;
	}
}

/* ---------- Fiches centres : club sportif en carrousel qui déborde à droite ----------
   Cartes de la page Sport (blanches, photo en tête, « Découvrir → ») ; 3 cartes et le début de la
   quatrième en bureau, 2 et un bout en tablette, 1 et un bout en mobile (règle du carrousel partagé). */
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-centre-sports .cnd-carousel {
	--cnd-per-view: 3.3;
	--cnd-per-view-md: 2.2;
	/* Le carrousel d'image-cards porte lui-même la classe .cnd : la règle partagée « .cnd .cnd-carousel »
	   (largeur des diapositives, écart) ne l'atteint pas. Réglée ici, pour ces fiches seulement. */
	--cnd-pv: var(--cnd-per-view);
	--cnd-gap: var(--s-4);
	min-width: 0;
}
@media (max-width: 899px) {
	:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-centre-sports .cnd-carousel { --cnd-pv: var(--cnd-per-view-md); }
}
/* Débord à droite (recette, point 4) : la piste va jusqu'au bord de l'écran, la gauche reste alignée sur le
   contenu ; le body du gabarit coupe le débord horizontal (overflow-x: clip), aucune barre de défilement. */
body.cnd-site .cnd-site-main .is-style-cnd-centre-sports .cnd-carousel__track {
	margin-right: min(0px, calc(50% - 50vw));
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-centre-sports > .wp-block-buttons {
	margin-top: var(--s-5);
}

/* ---------- Fiches centres : équipe, titre à gauche (30 %) et carrousel à droite (70 %) ---------- */
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-centre-equipe > .wp-block-columns {
	align-items: flex-start;
	gap: 32px;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-centre-equipe .wp-block-column:first-child > .wp-block-heading {
	margin-top: 0;
}

/* ---------- Fiches centres : formations (2 boutons centrés sous les cartes) ---------- */
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-centre-formations > .wp-block-buttons {
	margin-top: var(--s-5);
}

/* ---------- Fiches centres : infos pratiques ----------
   Carte et coordonnées de même hauteur, à toutes les largeurs (empilées sous 782 px : deux rangées
   égales) ; encadré « Attention » et bouton dessous, centrés. */
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-centre-infos > .wp-block-columns {
	align-items: stretch;
}
@media (max-width: 781px) {
	:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-centre-infos > .wp-block-columns {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		grid-auto-rows: 1fr;
	}
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-centre-infos > .wp-block-columns > .wp-block-column:first-child {
	display: flex;
	flex-direction: column;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-centre-infos .cnd.cnd-map {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-centre-infos .cnd.cnd-map .cnd-map__frame {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	min-height: 280px;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-centre-infos .cnd.cnd-map .cnd-map__facade {
	flex: 1 1 auto;
	min-height: 0;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-centre-infos .cnd.cnd-map iframe {
	flex: 1 1 auto;
	height: 100%;
	min-height: 280px;
}
/* Mobile (recette, point 7) : la carte prend toute la hauteur du bloc d'infos ; le lien « Itinéraire » passe dans
   le bas du cadre au lieu de le raccourcir. */
@media (max-width: 781px) {
	:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-centre-infos .cnd.cnd-map { position: relative; }
	:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-centre-infos .cnd.cnd-map .cnd-map__links {
		position: absolute;
		right: 0;
		bottom: 14px;
		left: 0;
		margin: 0;
		text-align: center;
	}
	:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-centre-infos .cnd.cnd-map .cnd-map__facade { padding-bottom: 40px; }
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-centre-infos .wp-block-column:last-child > .wp-block-heading {
	margin-top: 0;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-centre-infos > .wp-block-group.is-style-cnd-encadre {
	max-width: 720px;
	margin: var(--s-6) auto 0;
	text-align: center;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-centre-infos > .wp-block-buttons {
	margin-top: var(--s-4);
}

/* ---------- Contact : hero photo voilée, texte à gauche, carte formulaire à droite (maquette Contact) ----------
   Voile dégradé (encre 78 % à gauche, 35 % à droite) : texte blanc à plus de 4,5:1 sur sa moitié ; rayon
   16 ; carte formulaire blanche, ombre douce. Sous 782 px, colonnes empilées, la photo couvre tout. */
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .wp-block-group.is-style-cnd-contact-hero {
	background-color: #3A3A37;
	background-image: linear-gradient(90deg, rgba(28, 28, 26, .78), rgba(28, 28, 26, .35)), var(--cnd-photo, none);
	background-size: cover;
	background-position: center;
	border-radius: 16px;
	padding: 56px;
	color: #FFFFFF;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-contact-hero > .wp-block-columns {
	align-items: center !important; /* v0.38.0 : le cœur force « normal !important » */
	gap: 48px;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-contact-hero .wp-block-column:first-child > p:first-child {
	font-size: 13px;
	color: rgba(255, 255, 255, .9);
	margin: 0 0 12px;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-contact-hero .wp-block-column:first-child a {
	color: #FFFFFF;
	text-decoration: underline;
	text-underline-offset: 3px;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-contact-hero .wp-block-column:first-child > p:last-child {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
	font-size: 14px;
	font-weight: 500;
	margin-top: var(--s-4);
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-contact-hero h1.wp-block-heading {
	color: #FFFFFF;
	margin: 0 0 12px;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-contact-hero .wp-block-column:first-child > p:nth-child(3) {
	color: rgba(255, 255, 255, .92);
	font-size: 16px;
	line-height: 1.55;
	max-width: 52ch;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-contact-hero .wp-block-list.is-style-cnd-pastilles {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	padding: 0;
	margin: var(--s-4) 0 0;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-contact-hero .wp-block-list.is-style-cnd-pastilles > li {
	margin: 0;
	padding: 5px 12px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .16);
	border: 1px solid rgba(255, 255, 255, .35);
	color: #FFFFFF;
	font-size: 12px;
	font-weight: 500;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-contact-hero .wp-block-column:last-child {
	background: var(--surface);
	color: var(--ink);
	border-radius: 16px;
	padding: 28px;
	box-shadow: 0 12px 40px rgba(28, 28, 26, .22);
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-contact-hero .wp-block-column:last-child .cnd.cnd-capture-form {
	border: 0;
	padding: 0;
	box-shadow: none;
	background: transparent;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-contact-hero .wp-block-column:last-child > p:last-child {
	font-size: 12px;
	color: var(--ink-3);
	text-align: center;
	margin-top: var(--s-3);
}
@media (max-width: 899px) {
	:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .wp-block-group.is-style-cnd-contact-hero {
		padding: 32px 20px;
	}
	:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-contact-hero .wp-block-column:last-child {
		padding: 20px;
	}
}

/* ---------- Contact : cartes des coordonnées et des centres ----------
   Pictogramme dans une pastille ronde teintée (maquette) ; centres : photo en tête de carte, liens en pied. */
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) :is(.is-style-cnd-contact-cartes, .is-style-cnd-contact-centres) .cnd-icon-list__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--brand-tint);
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) :is(.is-style-cnd-contact-cartes, .is-style-cnd-contact-centres) .cnd-icon-list__text {
	font-size: 14px;
	line-height: 1.6;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-contact-centres .cnd-icon-list--grid .cnd-icon-list__item {
	overflow: hidden;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-contact-centres .cnd-icon-list__logo {
	display: block;
	height: auto;
	margin: calc(-1 * var(--s-5)) calc(-1 * var(--s-5)) 0;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-contact-centres .cnd-icon-list__logo-img {
	width: 100%;
	max-width: none;
	height: 130px;
	object-fit: cover;
	border-radius: 0;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-contact-centres .cnd-icon-list__title {
	font-family: var(--font-display);
	font-size: 18px;
	font-weight: 500;
}

/* ---------- Contact : cartes des centres (v0.38.0, recette du 09/11) ----------
   Photo sur toute la largeur de la carte, nom, horaires à icône, deux boutons en pied (« Voir le centre »,
   « Itinéraire »). 4 colonnes sur grand écran, 2 en tablette, rangée défilante sous 782 px (comme avant). */
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .wp-block-group.is-style-cnd-contact-centres-grille {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--s-4);
	margin-block: var(--s-6);
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .wp-block-group.is-style-cnd-contact-centre {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
	overflow: hidden;
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: var(--r-md);
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-contact-centre > .wp-block-image {
	margin: 0;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-contact-centre > .wp-block-image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	border-radius: 0;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .wp-block-group.is-style-cnd-contact-centre-corps {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: var(--s-3);
	margin: 0;
	padding: var(--s-4) var(--s-5) var(--s-5);
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-contact-centre-corps > * {
	margin: 0;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-contact-centre-corps h3 {
	font-family: var(--font-display);
	font-size: 18px;
	font-weight: 500;
	line-height: 1.3;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-contact-centre-corps .cnd-icon-list {
	gap: var(--s-2);
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-contact-centre-corps .cnd-icon-list__item {
	align-items: center;
	gap: var(--s-2);
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-contact-centre-corps .cnd-icon-list__icon {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	margin: 0;
	border-radius: 50%;
	background: var(--brand-tint);
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-contact-centre-corps .cnd-icon-list__icon svg {
	width: 16px;
	height: 16px;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-contact-centre-corps .cnd-icon-list__text {
	font-size: 14px;
	line-height: 1.5;
}
/* Boutons en pied de carte, côte à côte, même largeur. */
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-contact-centre-corps > .wp-block-buttons {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--s-2);
	margin-top: auto;
	padding-top: var(--s-2);
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-contact-centre-corps .wp-block-button {
	margin: 0;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-contact-centre-corps .wp-block-button__link {
	width: 100%;
	padding-inline: var(--s-2);
	font-size: 14px;
	text-align: center;
	white-space: nowrap;
}
@media (max-width: 1199px) {
	:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .wp-block-group.is-style-cnd-contact-centres-grille {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 781px) {
	:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .wp-block-group.is-style-cnd-contact-centres-grille {
		grid-template-columns: none;
		grid-auto-columns: min(82%, 320px);
		grid-auto-flow: column;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		padding-bottom: var(--s-2);
	}
	:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .wp-block-group.is-style-cnd-contact-centre {
		scroll-snap-align: start;
	}
}

/* ---------- Centre aéré : « Bon à savoir avant de réserver » (v0.38.0, recette du 09/11) ----------
   Sous les tarifs. Garde d'essai gratuite en tête, sur toute la largeur, teintée ; puis quatre cartes courtes
   (horaires, conditions d'accueil, annulation, paiement) : 4 colonnes, 2 en tablette, 1 en mobile. */
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .wp-block-group.is-style-cnd-aere-conditions {
	margin-top: var(--s-7);
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-aere-conditions > h3 {
	margin: 0 0 var(--s-4);
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-aere-conditions .cnd.cnd-icon-list.cnd-icon-list--grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--s-3);
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-aere-conditions .cnd-icon-list--grid .cnd-icon-list__item {
	gap: var(--s-2);
	padding: var(--s-4);
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-aere-conditions .cnd-icon-list--grid .cnd-icon-list__item:first-child {
	grid-column: 1 / -1;
	flex-direction: row;
	align-items: center;
	gap: var(--s-3);
	background: var(--brand-tint);
	border-color: var(--brand-border);
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-aere-conditions .cnd-icon-list__text {
	font-size: 14px;
	line-height: 1.5;
}
@media (max-width: 1023px) {
	:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-aere-conditions .cnd.cnd-icon-list.cnd-icon-list--grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 599px) {
	:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-aere-conditions .cnd.cnd-icon-list.cnd-icon-list--grid {
		grid-template-columns: minmax(0, 1fr);
	}
	:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-aere-conditions .cnd-icon-list--grid .cnd-icon-list__item {
		flex-direction: row;
		align-items: flex-start;
		gap: var(--s-3);
	}
}

/* ---------- Contact : FAQ à gauche, photo à droite ---------- */
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-contact-faq > .wp-block-columns {
	align-items: stretch;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-contact-faq .wp-block-column:last-child .wp-block-image,
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-contact-faq .wp-block-column:last-child .wp-block-image img {
	height: 100%;
	margin: 0;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-contact-faq .wp-block-column:last-child .wp-block-image img {
	width: 100%;
	min-height: 280px;
	object-fit: cover;
	border-radius: 16px;
}

/* ---------- Contact : engagements, coche et titre sur une ligne (maquette) ---------- */
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-contact-engagements .cnd-advantage__title,
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-contact-engagements h3 {
	font-size: 16px;
}

/* ---------- Centre d'aide : hero photo voilée, carte de recherche à droite (maquette Centre Aide) ---------- */
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .wp-block-group.is-style-cnd-aide-hero {
	background-color: #3A3A37;
	background-image: linear-gradient(90deg, rgba(28, 28, 26, .78), rgba(28, 28, 26, .35)), var(--cnd-photo, none);
	background-size: cover;
	background-position: center;
	border-radius: 16px;
	padding: 56px;
	color: #FFFFFF;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-aide-hero > .wp-block-columns {
	align-items: center !important; /* v0.38.0 : le cœur force « normal !important » */
	gap: 48px;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-aide-hero .wp-block-column:first-child > p {
	color: rgba(255, 255, 255, .92);
	margin: 0 0 12px;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-aide-hero .wp-block-column:first-child > p:first-child {
	font-size: 13px;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-aide-hero .wp-block-column:first-child > p:nth-child(2) {
	display: inline-flex;
	padding: 5px 12px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .16);
	border: 1px solid rgba(255, 255, 255, .35);
	font-size: 12px;
	font-weight: 500;
	color: #FFFFFF;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-aide-hero h1.wp-block-heading {
	color: #FFFFFF;
	margin: 4px 0 12px;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-aide-hero .wp-block-column:first-child > p:nth-child(5) {
	font-size: 13px;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-aide-hero .wp-block-column:first-child > p:last-child {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
	font-size: 14px;
	font-weight: 500;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-aide-hero .wp-block-column:first-child a {
	color: #FFFFFF;
	text-decoration: underline;
	text-underline-offset: 3px;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-aide-hero .wp-block-column:last-child {
	background: var(--surface);
	color: var(--ink);
	border-radius: 16px;
	padding: 24px;
	box-shadow: 0 12px 40px rgba(28, 28, 26, .22);
}
@media (max-width: 899px) {
	:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .wp-block-group.is-style-cnd-aide-hero {
		padding: 32px 20px;
	}
	:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-aide-hero .wp-block-column:last-child {
		padding: 20px;
	}
}

/* ---------- Centre d'aide : sujets en une rangée de cartes blanches qui défile (maquette) ---------- */
@media (min-width: 900px) {
	:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-aide-themes .cnd.cnd-icon-list.cnd-icon-list--grid {
		grid-template-columns: none;
		grid-auto-flow: column;
		grid-auto-columns: 210px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		padding-bottom: 8px;
	}
	:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-aide-themes .cnd-icon-list__item {
		scroll-snap-align: start;
	}
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-aide-themes .cnd-icon-list__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--brand-tint);
	color: var(--brand-strong);
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-aide-themes .cnd-icon-list__text {
	font-size: 12px;
	color: var(--ink-3);
}

/* ---------- Centre d'aide : lien de chaque thème en bouton plein centré, couleur de l'univers ---------- */
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-aide-theme .cnd-faq-section__more {
	text-align: center;
	margin-top: var(--s-5);
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-aide-theme .cnd-faq-section__more .cnd-btn--link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 12px 24px;
	border-radius: 999px;
	background: var(--brand-btn);
	color: var(--brand-on);
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-aide-theme .cnd-faq-section__more .cnd-btn--link:hover {
	background: var(--brand-hover);
}

/* ---------- 404 : hero de la maquette (centré, 62 caractères, pastille « ERREUR 404 », H1 40 px) ---------- */
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .wp-block-group.is-style-cnd-404-hero {
	max-width: 62ch;
	margin: 0 auto;
	padding-top: 72px;
	text-align: center;
}
/* v0.38.0 : plus de pastille « Erreur 404 » au-dessus du titre (aucun surtitre). */
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-404-hero h1.wp-block-heading {
	font-size: clamp(30px, 4vw, 40px);
	line-height: 1.15;
	margin: 0 0 12px;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-404-hero > p {
	font-size: 16px;
	line-height: 1.6;
	color: var(--ink-3);
	margin: 0 auto;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-404-hero > .wp-block-buttons {
	margin-top: 28px;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .wp-block-group.is-style-cnd-404-recherche {
	max-width: 560px;
	margin-left: auto;
	margin-right: auto;
}

/* ---------- 404 : pistes en cartes blanches, filet de couleur de l'univers à la place du pictogramme ---------- */
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-404-pistes > .wp-block-heading,
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-404-pistes > p {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-404-pistes .cnd-icon-list--grid .cnd-icon-list__item {
	background: var(--surface);
	border-color: var(--line);
	border-radius: 16px;
	transition: border-color .18s ease, box-shadow .18s ease;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-404-pistes .cnd-icon-list--grid .cnd-icon-list__item:hover {
	border-color: var(--brand);
	box-shadow: 0 6px 20px rgba(28, 28, 26, .07);
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-404-pistes .cnd-icon-list__icon {
	display: block;
	width: 32px;
	height: 4px;
	border-radius: 999px;
	background: var(--brand);
	overflow: hidden;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-404-pistes .cnd-icon-list__icon svg {
	display: none;
}

/* ---------- Hub des centres (recette du 05/11/2026, maquette « Nos Centres ») : includes/hub-centres.php ---------- */
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .wp-block-group.is-style-cnd-hub-hero {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 480px;
	box-sizing: border-box;
	padding: 76px 56px 56px;
	border-radius: 20px;
	overflow: hidden;
	background-color: #3A3A37;
	background-image: linear-gradient(rgba(28, 28, 26, .55), rgba(28, 28, 26, .55)), var(--cnd-photo, none);
	background-size: cover;
	background-position: center;
	color: #FFFFFF;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-hub-hero > * { margin-block: 0; }
/* Le fil d'Ariane est dans le hero photo (maquette « Nos Centres ») : celui du gabarit, au-dessus, faisait doublon
   (hub et À propos, contrôle du 06/11). Masqué à l'écran seulement sur ces pages ; le balisage reste. */
body.cnd-site:has(.is-style-cnd-hub-hero .cnd-hub-ariane) .cnd-breadcrumb { display: none; }
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-hub-hero .cnd-hub-ariane {
	position: absolute;
	top: 24px;
	left: 56px;
	font-size: 12px;
	color: rgba(255, 255, 255, .75);
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-hub-hero .cnd-hub-ariane a { color: rgba(255, 255, 255, .75); text-decoration: none; }
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-hub-hero .cnd-hub-ariane [aria-current] { color: #FFFFFF; }
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .cnd-hub-surtitre {
	margin: 0 0 8px;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--brand-strong, #6F6A5E);
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-hub-hero .cnd-hub-surtitre { color: rgba(255, 255, 255, .75); margin-bottom: 12px; }
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-hub-hero h1.wp-block-heading {
	max-width: 20ch;
	margin: 0 0 12px;
	font-size: clamp(28px, 4.2vw, 46px);
	line-height: 1.1;
	color: #FFFFFF;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-hub-hero .wp-block-columns {
	align-items: flex-end;
	gap: 20px 32px;
	margin: 0;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-hub-hero .wp-block-column p {
	max-width: 60ch;
	margin: 0;
	font-size: 17px;
	line-height: 1.55;
	color: rgba(255, 255, 255, .9);
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-hub-hero .wp-block-buttons { justify-content: flex-end; }
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-hub-hero .wp-block-button .wp-block-button__link {
	background: rgba(255, 255, 255, .14);
	border: 1px solid rgba(255, 255, 255, .6);
	color: #FFFFFF;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-hub-hero .wp-block-button .wp-block-button__link:hover { background: rgba(255, 255, 255, .28); }
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .wp-block-group.is-style-cnd-hub-section { padding-top: 88px; }
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-hub-section > h2.wp-block-heading,
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-hub-section > .wp-block-group > h2.wp-block-heading { margin: 0 0 10px; }
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-hub-section > p:not(.cnd-hub-surtitre),
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-hub-section > .wp-block-group > p:not(.cnd-hub-surtitre) {
	max-width: 62ch;
	margin: 0 0 28px;
	font-size: 15px;
	line-height: 1.55;
	color: var(--ink-3, #73767D);
}
@media (max-width: 699px) {
	:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .wp-block-group.is-style-cnd-hub-hero { min-height: 420px; padding: 64px 16px 28px; }
	:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-hub-hero .cnd-hub-ariane { left: 16px; top: 20px; }
	:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-hub-hero .wp-block-column p { font-size: 15px; }
	:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-hub-hero .wp-block-buttons,
	:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-hub-hero .wp-block-button,
	:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-hub-hero .wp-block-button__link { width: 100%; box-sizing: border-box; text-align: center; }
	:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .wp-block-group.is-style-cnd-hub-section { padding-top: 56px; }
}

/* Les 3 centres : cartes photo portrait 4/5, défilement horizontal sous 700 px. */
body.cnd-site .cnd-site-main .cnd-hub-centres {
	display: flex;
	gap: 16px;
}
body.cnd-site .cnd-site-main a.cnd-hub-centre {
	position: relative;
	display: flex;
	flex: 1 1 0;
	flex-direction: column;
	justify-content: flex-end;
	box-sizing: border-box;
	min-width: 0;
	aspect-ratio: 4 / 5;
	padding: 24px;
	border: 2px solid transparent;
	border-radius: 16px;
	overflow: hidden;
	background-color: #3A3A37;
	background-image: linear-gradient(rgba(28, 28, 26, .1), rgba(28, 28, 26, .75)), var(--cnd-photo, none);
	background-size: cover;
	background-position: center;
	color: #FFFFFF;
	text-decoration: none;
	transition: border-color .2s ease;
}
body.cnd-site .cnd-site-main a.cnd-hub-centre:hover,
body.cnd-site .cnd-site-main a.cnd-hub-centre:focus-visible { border-color: #9E998D; color: #FFFFFF; }
body.cnd-site .cnd-site-main .cnd-hub-centre__tags {
	position: absolute;
	top: 16px;
	left: 16px;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}
body.cnd-site .cnd-site-main .cnd-hub-centre__tags li {
	margin: 0;
	padding: 4px 10px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .92);
	color: #6F6A5E;
	font-size: 11px;
	font-weight: 500;
}
body.cnd-site .cnd-site-main .cnd-hub-centre__ville { margin-bottom: 6px; font-size: 12px; color: rgba(255, 255, 255, .8); }
body.cnd-site .cnd-site-main .cnd-hub-centre__nom {
	margin-bottom: 10px;
	font-family: var(--font-heading, 'Outfit', sans-serif);
	font-size: 24px;
	font-weight: 500;
	line-height: 1.1;
}
body.cnd-site .cnd-site-main .cnd-hub-centre__chiffres { font-size: 13px; color: rgba(255, 255, 255, .9); }
body.cnd-site .cnd-site-main .cnd-hub-etoile { margin-right: 6px; color: #F3D05C; }
body.cnd-site .cnd-site-main .cnd-hub-centre__doux { color: rgba(255, 255, 255, .65); }
body.cnd-site .cnd-site-main .cnd-hub-centre__cta { margin-top: 14px; font-size: 13px; font-weight: 500; }
@media (max-width: 699px) {
	body.cnd-site .cnd-site-main .cnd-hub-centres {
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		padding-bottom: 8px;
		scrollbar-width: none;
	}
	body.cnd-site .cnd-site-main a.cnd-hub-centre { flex: 0 0 78vw; scroll-snap-align: start; }
}

/* Recherche : carte blanche (champ pilule, « Chercher », « Autour de moi », filtres), liste et carte. */
body.cnd-site .cnd-site-main .cnd-hub-search {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 0;
	padding: 20px 24px;
	border: 1px solid #ECECED;
	border-radius: 16px;
	background: #FFFFFF;
}
body.cnd-site .cnd-site-main .cnd-hub-search__ligne { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
body.cnd-site .cnd-site-main .cnd-hub-search__champ {
	position: relative;
	display: block;
	flex: 1 1 280px;
	min-width: 0;
	margin: 0;
	color: #9E998D;
}
body.cnd-site .cnd-site-main .cnd-hub-search__champ svg { position: absolute; top: 50%; left: 16px; transform: translateY(-50%); pointer-events: none; }
body.cnd-site .cnd-site-main .cnd-hub-search__champ input[type="search"] {
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	height: auto;
	box-sizing: border-box;
	margin: 0;
	padding: 14px 16px 14px 44px;
	border: 1px solid #E0E0E1;
	border-radius: 999px;
	background: #FFFFFF;
	box-shadow: none;
	color: #353535;
	font-family: var(--font-body, 'Inter', sans-serif);
	font-size: 15px;
	line-height: 1.3;
}
body.cnd-site .cnd-site-main .cnd-hub-search__champ input[type="search"]:focus {
	border-color: #9E998D;
	box-shadow: 0 0 0 3px #F4F3F0;
	outline: none;
}
body.cnd-site .cnd-site-main .cnd-hub-search button.cnd-btn { flex: none; margin: 0; }
body.cnd-site .cnd-site-main .cnd-hub-search button.cnd-hub-search__geo {
	-webkit-appearance: none;
	appearance: none;
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin: 0;
	padding: 12px 18px;
	border: 1px solid #E6E5E0;
	border-radius: 999px;
	background: #F4F3F0;
	box-shadow: none;
	color: #353535;
	font-family: var(--font-body, 'Inter', sans-serif);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.3;
	text-transform: none;
	cursor: pointer;
}
body.cnd-site .cnd-site-main .cnd-hub-search button.cnd-hub-search__geo[hidden] { display: none; }
body.cnd-site .cnd-site-main .cnd-hub-search button.cnd-hub-search__geo:hover { background: #ECEBE7; }
body.cnd-site .cnd-site-main .cnd-hub-search button.cnd-hub-search__geo svg { color: #6F6A5E; }
body.cnd-site .cnd-site-main .cnd-hub-search__filtres { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
body.cnd-site .cnd-site-main .cnd-hub-search__filtres > span { margin-right: 4px; font-size: 12px; color: #8A8D92; }
body.cnd-site .cnd-site-main .cnd-hub-zone {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	align-items: flex-start;
	margin-top: 24px;
}
body.cnd-site .cnd-site-main .cnd-hub-liste { flex: 1 1 520px; min-width: 0; scroll-margin-top: 24px; }
body.cnd-site .cnd-site-main .cnd-hub-liste__tete {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	margin-bottom: 14px;
}
body.cnd-site .cnd-site-main .cnd-hub-liste__compte { margin: 0; font-size: 14px; color: #73767D; }
body.cnd-site .cnd-site-main .cnd-hub-liste__compte strong { font-weight: 600; color: #353535; }
body.cnd-site .cnd-site-main button.cnd-hub-liste__reset {
	-webkit-appearance: none;
	appearance: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	color: #6F6A5E;
	font-family: var(--font-body, 'Inter', sans-serif);
	font-size: 13px;
	text-decoration: underline;
	cursor: pointer;
}
body.cnd-site .cnd-site-main button.cnd-hub-liste__reset[hidden] { display: none; }
body.cnd-site .cnd-site-main .cnd-hub-liste__centres,
body.cnd-site .cnd-site-main .cnd-hub-liste__educs { display: flex; flex-direction: column; gap: 14px; }
body.cnd-site .cnd-site-main .cnd-hub-liste__educs:not(:empty) { margin-top: 14px; }
body.cnd-site .cnd-site-main a.cnd-hub-res {
	display: flex;
	gap: 16px;
	padding: 16px;
	border: 1px solid #ECECED;
	border-radius: 16px;
	background: #FFFFFF;
	color: #353535;
	text-decoration: none;
	transition: border-color .2s ease, background-color .2s ease;
}
body.cnd-site .cnd-site-main a.cnd-hub-res[hidden] { display: none; }
body.cnd-site .cnd-site-main a.cnd-hub-res:hover { border-color: #9E998D; color: #353535; }
body.cnd-site .cnd-site-main a.cnd-hub-res--centre { border-color: #6F6A5E; background: #6F6A5E; color: #FFFFFF; }
body.cnd-site .cnd-site-main a.cnd-hub-res--centre:hover { background: #5E594E; color: #FFFFFF; }
body.cnd-site .cnd-site-main .cnd-hub-res__photo {
	display: block;
	flex: none;
	width: 96px;
	height: 96px;
	border-radius: 12px;
	background: #F4F3F0;
	object-fit: cover;
	object-position: center 25%;
}
body.cnd-site .cnd-site-main .cnd-hub-res__photo--initiale {
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-heading, 'Outfit', sans-serif);
	font-size: 32px;
	color: #6F6A5E;
}
body.cnd-site .cnd-site-main .cnd-hub-res__corps { display: flex; flex: 1; flex-direction: column; gap: 6px; min-width: 0; }
body.cnd-site .cnd-site-main .cnd-hub-res__tete { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; }
body.cnd-site .cnd-site-main .cnd-hub-res__nom { font-family: var(--font-heading, 'Outfit', sans-serif); font-size: 18px; font-weight: 500; line-height: 1.2; }
body.cnd-site .cnd-site-main .cnd-hub-res__type {
	flex: none;
	padding: 3px 8px;
	border-radius: 999px;
	background: #F4F3F0;
	color: #6F6A5E;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .04em;
	white-space: nowrap;
}
body.cnd-site .cnd-site-main .cnd-hub-res--centre .cnd-hub-res__type { background: rgba(255, 255, 255, .92); }
body.cnd-site .cnd-site-main .cnd-hub-res__lieu,
body.cnd-site .cnd-site-main .cnd-hub-res__chiffres { font-size: 13px; color: #73767D; }
/* v0.33.9 (front-check) : textes secondaires de la carte centre à 95 % de blanc, 5:1 sur #6F6A5E (80 et 70 % donnaient 4,1 et 3,6). */
body.cnd-site .cnd-site-main .cnd-hub-res--centre .cnd-hub-res__lieu { color: rgba(255, 255, 255, .95); }
body.cnd-site .cnd-site-main .cnd-hub-res--centre .cnd-hub-res__chiffres { color: #FFFFFF; }
body.cnd-site .cnd-site-main .cnd-hub-res__doux { color: rgba(255, 255, 255, .95); }
body.cnd-site .cnd-site-main .cnd-hub-res__distance { font-weight: 600; }
body.cnd-site .cnd-site-main .cnd-hub-res__cta { margin-top: 2px; font-size: 13px; font-weight: 500; }
body.cnd-site .cnd-site-main .cnd-hub-res__tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 2px 0 0; padding: 0; list-style: none; }
body.cnd-site .cnd-site-main .cnd-hub-res__tags li { margin: 0; padding: 3px 9px; border-radius: 999px; background: #F4F3F0; color: #6F6A5E; font-size: 11px; font-weight: 500; }
body.cnd-site .cnd-site-main .cnd-hub-map {
	position: sticky;
	top: 24px;
	flex: 1 1 320px;
	box-sizing: border-box;
	min-width: 0;
	margin: 0;
	padding: 24px;
	border: 1px solid #ECECED;
	border-radius: 16px;
	background: #F4F3F0;
}
body.cnd-site .cnd-site-main .cnd-hub-map svg { display: block; width: 100%; height: auto; max-height: 560px; }
body.cnd-site .cnd-site-main .cnd-hub-map__pays { fill: #FFFFFF; stroke: #D9D7D0; stroke-width: 3; stroke-linejoin: round; }
body.cnd-site .cnd-site-main .cnd-hub-map__pin path { fill: #6F6A5E; }
body.cnd-site .cnd-site-main .cnd-hub-map__pin circle { fill: #FFFFFF; }
body.cnd-site .cnd-site-main .cnd-hub-map__vous circle:first-child { fill: rgba(161, 165, 103, .25); }
body.cnd-site .cnd-site-main .cnd-hub-map__vous circle:last-child { fill: #A1A567; stroke: #FFFFFF; stroke-width: 4; }
body.cnd-site .cnd-site-main .cnd-hub-map figcaption { margin-top: 12px; font-size: 12px; text-align: center; color: #8A8D92; }
@media (max-width: 999px) {
	body.cnd-site .cnd-site-main .cnd-hub-map { display: none; }
}
@media (max-width: 699px) {
	body.cnd-site .cnd-site-main .cnd-hub-search { padding: 16px; }
	body.cnd-site .cnd-site-main .cnd-hub-search button.cnd-btn,
	body.cnd-site .cnd-site-main .cnd-hub-search button.cnd-hub-search__geo { width: 100%; }
	body.cnd-site .cnd-site-main .cnd-hub-res__photo { width: 72px; height: 72px; }
}

/* Recrutement (réseau ouvert) : encart olive bordé, bouton à droite. */
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .wp-block-group.is-style-cnd-hub-recrutement {
	margin-bottom: 80px;
	padding: 32px 40px;
	border: 1px solid #E6E7D3;
	border-radius: 16px;
	background: #F4F4EC;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-hub-recrutement .wp-block-columns { align-items: center !important; gap: 24px; margin: 0; }
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-hub-recrutement .cnd-hub-surtitre { color: #868A4E; }
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-hub-recrutement h2.wp-block-heading { margin: 0 0 8px; font-size: 24px; }
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-hub-recrutement .wp-block-column p:not(.cnd-hub-surtitre) { margin: 0; max-width: 60ch; font-size: 14px; line-height: 1.55; color: #73767D; }
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-hub-recrutement .wp-block-buttons { justify-content: flex-end; }
@media (max-width: 699px) {
	:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .wp-block-group.is-style-cnd-hub-recrutement { padding: 24px; }
	:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-hub-recrutement .wp-block-button,
	:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-hub-recrutement .wp-block-button__link { width: 100%; box-sizing: border-box; text-align: center; }
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .wp-block-group.is-style-cnd-hub-section:last-child { padding-bottom: 80px; }
body.cnd-site .cnd-site-main .cnd-hub-map__vous[hidden] { display: none; }
body.cnd-site .cnd-site-main .cnd-hub-search button.cnd-hub-pill {
	-webkit-appearance: none;
	appearance: none;
	margin: 0;
	padding: 6px 12px;
	border: 1px solid #E0E0E1;
	border-radius: 999px;
	background: #FFFFFF;
	box-shadow: none;
	color: #353535;
	font-family: var(--font-body, 'Inter', sans-serif);
	font-size: 12px;
	font-weight: 500;
	line-height: 1.3;
	text-transform: none;
	cursor: pointer;
}
body.cnd-site .cnd-site-main .cnd-hub-search button.cnd-hub-pill:hover { border-color: #9E998D; }
body.cnd-site .cnd-site-main .cnd-hub-search button.cnd-hub-pill[aria-pressed="true"] { border-color: #6F6A5E; background: #6F6A5E; color: #FFFFFF; }

/* ==========================================================================
   Recette services, reprise des pages Contact, centre d'aide, réclamation et 404 (05/11, branche
   feature/recette-services). Règles bornées aux styles de groupe de ces pages.
   ========================================================================== */

/* Contact et réclamation : texte du hero calé en haut à gauche, face au haut de la carte formulaire (v0.38.0,
   recette du 09/11 : centré en hauteur, le titre descendait au milieu d'une carte plus haute que lui). */
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-contact-hero > .wp-block-columns > .wp-block-column:first-child {
	align-self: flex-start;
}

/* Contact : engagements, coche et titre sur une ligne, texte dessous (maquette). */
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-contact-engagements .cnd-advantage {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	column-gap: 10px;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-contact-engagements .cnd-advantage__check {
	margin: 0;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-contact-engagements .cnd-advantage__title {
	margin: 0;
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-contact-engagements .cnd-advantage__text {
	grid-column: 1 / -1;
	margin-top: 8px;
}

/* Centre d'aide : bouton de chaque thème dans la teinte foncée de son univers (maquette : s.strong), par les
   jetons de remplissage du design system (centre aéré : jaune et texte foncé, pour le contraste). */
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-aide-theme .cnd-faq-section__more .cnd-btn--link,
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-aide-theme .cnd-faq-section__more .cnd-btn--link:hover {
	background: var(--brand-fill);
	color: var(--brand-fill-on);
}
:is(body.cnd-site .cnd-site-main, .editor-styles-wrapper) .is-style-cnd-aide-theme .cnd-faq-section__more .cnd-btn--link:hover {
	filter: brightness(.9);
}

/* Centre d'aide : bande finale en ligne, texte à gauche et boutons à droite dès 900 px (maquette). La
   disposition « row » de cnd/cta-band n'est employée que sur cette page. */
@media (min-width: 900px) {
	body.cnd-site .cnd-site-main .cnd.cnd-cta-band.cnd-cta-band--row .cnd-cta-band__content {
		flex-wrap: nowrap;
		gap: 32px;
	}
	body.cnd-site .cnd-site-main .cnd.cnd-cta-band.cnd-cta-band--row .cnd-cta-band__copy {
		flex: 1 1 auto;
		max-width: 560px;
	}
	body.cnd-site .cnd-site-main .cnd.cnd-cta-band.cnd-cta-band--row .cnd-cta-band__actions {
		flex: 0 0 auto;
		flex-wrap: nowrap;
	}
}

/* Contact, réclamation et centre d'aide : dès 1200 px, le hero sort du conteneur (24 px du bord, 1 392 px
   au plus) et son contenu garde 1 104 px de large, centré (maquettes à 1440 : photo de 24 à 1 416 px). */
@media (min-width: 1200px) {
	:is(body.cnd-site .cnd-site-main) .wp-block-group:is(.is-style-cnd-contact-hero, .is-style-cnd-aide-hero) {
		--cnd-hero-l: min(100vw - 48px, 1392px);
		width: var(--cnd-hero-l);
		max-width: none;
		margin-left: calc(50% - var(--cnd-hero-l) / 2);
		margin-right: calc(50% - var(--cnd-hero-l) / 2);
		padding-left: max(56px, calc((var(--cnd-hero-l) - 1104px) / 2));
		padding-right: max(56px, calc((var(--cnd-hero-l) - 1104px) / 2));
	}
}

/* Réclamation : bouton d'envoi de FluentForms #12 en pleine largeur dans la carte, comme la maquette (le
   formulaire, ses champs et son traitement ne changent pas). */
body.cnd-site .cnd-site-main .is-style-cnd-contact-hero .frm-fluent-form .ff_submit_btn_wrapper {
	text-align: left;
}
body.cnd-site .cnd-site-main .is-style-cnd-contact-hero .frm-fluent-form .ff-btn-submit {
	width: 100%;
	padding: 14px 22px;
	font-size: 15px;
	font-weight: 600;
}
/* Réclamation : titre de la carte formulaire à 20 px et consigne à 14 px, à toutes les largeurs (maquette). */
body.cnd-site .cnd-site-main .is-style-cnd-contact-hero .wp-block-column:last-child > h2.wp-block-heading {
	font-size: 20px;
	margin: 0 0 4px;
}
body.cnd-site .cnd-site-main .is-style-cnd-contact-hero .wp-block-column:last-child > h2.wp-block-heading + p {
	font-size: 14px;
	color: var(--ink-3);
	margin: 0 0 16px;
}

/* 404 (référence build/src/404/) : les deux boutons restent côte à côte et centrés en mobile, à leur
   largeur ; chapeau des pistes à 13 px, gris. */
body.cnd-site .cnd-site-main .is-style-cnd-404-hero > .wp-block-buttons {
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
}
body.cnd-site .cnd-site-main .is-style-cnd-404-hero > .wp-block-buttons > .wp-block-button {
	width: auto;
	flex: 0 0 auto;
}
body.cnd-site .cnd-site-main .is-style-cnd-404-hero > .wp-block-buttons > .wp-block-button > .wp-block-button__link {
	width: auto;
}
body.cnd-site .cnd-site-main .is-style-cnd-404-pistes > h2.wp-block-heading + p {
	font-size: 13px;
	color: var(--ink-3);
}
