/* ==========================================================================
   CH Perpignan — styles du thème (site + éditeur)
   Couleurs : variables générées par theme.json (--wp--preset--color--*)
   ========================================================================== */

:root {
	--chp-marine: var(--wp--preset--color--contrast, #023059);
	--chp-turquoise: var(--wp--preset--color--turquoise, #19857E);
	--chp-turquoise-web: var(--wp--preset--color--accent-3, #167A74);
	--chp-vert: var(--wp--preset--color--accent-2, #66CC99);
	--chp-jaune: var(--wp--preset--color--accent-1, #94C11F);
	--chp-rouge: var(--wp--preset--color--rouge-orange, #F07166);
	--chp-gris: var(--wp--preset--color--accent-6, #878786);
	--chp-gris-texte: var(--wp--preset--color--accent-4, #5E5E5D);
	--chp-fond: var(--wp--preset--color--accent-5, #F2F6F9);
	--chp-blanc: var(--wp--preset--color--base, #FFFFFF);
	--chp-rayon: 8px;
	--chp-ombre: 0 1px 2px rgba(2, 48, 89, 0.08), 0 4px 16px rgba(2, 48, 89, 0.06);
}

/* ---------- Accessibilité ---------- */

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.chp-skip-link:focus,
.skip-link.screen-reader-text:focus {
	background: var(--chp-blanc);
	clip: auto !important;
	clip-path: none;
	color: var(--chp-marine);
	display: block;
	font-weight: 700;
	height: auto;
	left: 8px;
	padding: 12px 20px;
	top: 8px;
	width: auto;
	z-index: 100000;
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--chp-turquoise-web);
	outline-offset: 2px;
	box-shadow: 0 0 0 5px var(--chp-blanc);
}

:where(.has-contrast-background-color, .chp-pied, .chp-barre-haute) :where(a, button, input, summary):focus-visible {
	outline-color: var(--chp-jaune);
	box-shadow: none;
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* Liens soulignés dans les contenus (RGAA 10.6) */
.entry-content a:not(.wp-element-button),
.wp-block-post-content a:not(.wp-element-button) {
	text-underline-offset: 0.15em;
	text-decoration-thickness: 1px;
}

.entry-content a:not(.wp-element-button):hover,
.wp-block-post-content a:not(.wp-element-button):hover {
	text-decoration-thickness: 2px;
}

/* ---------- En-tête ---------- */

.chp-entete {
	background: var(--chp-blanc);
	position: sticky;
	top: 0;
	z-index: 50;
	box-shadow: 0 1px 0 rgba(2, 48, 89, 0.12);
}

.admin-bar .chp-entete {
	top: 32px;
}

@media (max-width: 782px) {
	.admin-bar .chp-entete {
		top: 0;
		position: relative;
	}
}

.chp-barre-haute {
	font-size: 0.9375rem;
	padding-top: 0.4rem;
	padding-bottom: 0.4rem;
}

.chp-barre-haute p {
	margin: 0;
}

.chp-barre-haute a {
	color: inherit;
	text-decoration: none;
}

.chp-barre-haute a:hover {
	text-decoration: underline;
}

.chp-barre-haute__urgence a {
	background: var(--chp-rouge);
	border-radius: 4px;
	color: var(--chp-marine);
	font-weight: 800;
	margin-left: 0.25rem;
	padding: 0 0.5rem;
}

.chp-barre-haute__liens a + a {
	margin-left: 1.25rem;
}

.chp-entete__principal {
	padding-top: 0.75rem;
	padding-bottom: 0.75rem;
}

.chp-entete__marque {
	min-height: 3rem;
}

.chp-entete .wp-block-site-logo img {
	min-height: 22px; /* taille minimale du logo (charte) */
}

/* Le titre texte sert de repli tant que le logo officiel n'est pas téléversé */
.wp-block-site-logo:has(img) ~ .chp-titre-site {
	display: none;
}

.chp-titre-site {
	letter-spacing: 0.02em;
	line-height: 1.1;
	margin: 0;
}

.chp-entete .wp-block-navigation .wp-block-navigation-item__content {
	padding: 0.5rem 0.25rem;
}

.chp-entete .wp-block-navigation .current-menu-item > a,
.chp-entete .wp-block-navigation a[aria-current="page"] {
	box-shadow: inset 0 -3px 0 var(--chp-jaune);
}

.chp-entete__actions {
	gap: 0.75rem;
}

.chp-entete__actions .wp-block-button__link {
	white-space: nowrap;
}

.chp-entete .wp-block-navigation {
	font-size: 1rem;
	gap: 1.25rem;
}

.chp-entete .wp-block-search__button {
	background: transparent;
	border: 2px solid var(--chp-marine);
	color: var(--chp-marine);
	border-radius: 6px;
}


/* Menu replié en « burger » jusqu'à 1280 px : six rubriques + logo + actions ne tiennent pas sur une ligne en dessous */
@media (min-width: 600px) and (max-width: 1279px) {
	.chp-menu-principal .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}

	.chp-menu-principal .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}
}

@media (max-width: 600px) {
	.chp-barre-haute__liens {
		display: none;
	}

	.chp-entete .wp-block-site-logo img {
		height: auto;
		max-width: 130px;
	}

	.chp-titre-site {
		font-size: 1rem;
	}

	.chp-entete__actions {
		gap: 0.5rem;
	}

	/* « Prendre RDV » devient « RDV » à l'écran ; le nom accessible reste « Prendre RDV » */
	.chp-entete__actions .wp-block-button__link {
		font-size: 0;
		padding: 0.55rem 0.8rem;
	}

	.chp-entete__actions .wp-block-button__link::before {
		content: "RDV";
		content: "RDV" / "";
		font-size: 1rem;
	}

	.chp-entete__marque {
		flex-shrink: 1;
		min-width: 0;
	}
}

/* ---------- Bandeau d'alerte (extension CHP – Fonctionnalités) ---------- */

.chp-alerte {
	background: var(--chp-fond);
	border-left: 6px solid var(--chp-turquoise);
	color: var(--chp-marine);
	padding: 0.75rem var(--wp--style--root--padding-left, 1.5rem);
}

.chp-alerte p {
	margin: 0 auto;
	max-width: var(--wp--style--global--wide-size, 1240px);
}

.chp-alerte--urgence {
	background: var(--chp-rouge);
	border-left-color: var(--chp-marine);
}

.chp-alerte a {
	color: var(--chp-marine);
	font-weight: 700;
}

/* ---------- Bandeau de titre des pages ---------- */

.chp-bandeau-titre {
	padding-top: var(--wp--preset--spacing--50);
	padding-bottom: var(--wp--preset--spacing--50);
	position: relative;
}

.chp-bandeau-titre::after,
.chp-hero::after {
	/* Filet aux 5 couleurs de la charte */
	background: linear-gradient(90deg,
		var(--chp-marine) 0 20%,
		var(--chp-turquoise) 20% 40%,
		var(--chp-vert) 40% 60%,
		var(--chp-jaune) 60% 80%,
		var(--chp-rouge) 80% 100%);
	bottom: 0;
	content: "";
	height: 4px;
	left: 0;
	position: absolute;
	right: 0;
}

.chp-bandeau-titre .wp-block-post-title,
.chp-bandeau-titre .wp-block-query-title {
	margin-top: 0.5rem;
	margin-bottom: 0;
}

.chp-surtitre {
	color: var(--chp-turquoise-web);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	letter-spacing: 0.04em;
	margin-bottom: 0;
	text-transform: uppercase;
}

.chp-surtitre a {
	color: inherit;
	text-decoration: none;
}

.chp-contenu {
	padding-top: var(--wp--preset--spacing--50);
	padding-bottom: var(--wp--preset--spacing--60);
}

/* ---------- Fil d'Ariane ---------- */

.chp-fil-ariane ol {
	display: flex;
	flex-wrap: wrap;
	font-size: var(--wp--preset--font-size--small);
	gap: 0.25rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.chp-fil-ariane li + li::before {
	color: var(--chp-gris-texte);
	content: "›";
	content: "›" / "";
	margin-right: 0.35rem;
}

.chp-fil-ariane a {
	color: var(--chp-marine);
}

.chp-fil-ariane [aria-current="page"] {
	color: var(--chp-gris-texte);
}

/* ---------- Accueil : héros ---------- */

.chp-hero {
	padding-top: var(--wp--preset--spacing--60);
	padding-bottom: var(--wp--preset--spacing--60);
	position: relative;
}

.chp-hero h1 {
	max-width: 22ch;
}

.chp-profils .wp-block-button__link {
	min-width: 12rem;
}

/* ---------- Recherche ---------- */

.chp-recherche {
	margin: var(--wp--preset--spacing--30) 0;
}

.chp-recherche__label {
	display: block;
	font-weight: 700;
	margin-bottom: 0.5rem;
}

.chp-recherche__champ {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.chp-recherche input[type="search"] {
	background: var(--chp-blanc);
	border: 2px solid var(--chp-marine);
	border-radius: 6px;
	color: var(--chp-marine);
	flex: 1 1 16rem;
	font: inherit;
	min-height: 3.25rem;
	padding: 0.5rem 1rem;
}

.chp-recherche input[type="search"]::placeholder {
	color: var(--chp-gris-texte);
	opacity: 1;
}

.chp-recherche button[type="submit"] {
	border: 0;
	cursor: pointer;
	min-height: 3.25rem;
}

.chp-hero .chp-recherche input[type="search"] {
	font-size: var(--wp--preset--font-size--large);
	min-height: 3.75rem;
}

.chp-hero .chp-recherche button[type="submit"] {
	min-height: 3.75rem;
	padding-left: 2rem;
	padding-right: 2rem;
}

/* ---------- Accès rapides : pictogrammes clairs sur rond foncé ---------- */

.chp-acces-grille {
	gap: var(--wp--preset--spacing--40) !important;
}

.chp-acces {
	align-items: center;
	display: flex;
	flex-direction: column;
	font-weight: 700;
	gap: 0.75rem;
	line-height: 1.3;
	margin: 0;
	position: relative;
	text-align: center;
}

.chp-acces::before {
	background-color: var(--chp-marine);
	border-radius: 50%;
	content: "";
	height: 5rem;
	transition: transform 0.15s ease, background-color 0.15s ease;
	width: 5rem;
}

.chp-acces::after {
	background-color: var(--chp-blanc);
	content: "";
	height: 2.6rem;
	left: 50%;
	-webkit-mask: var(--chp-picto) center / contain no-repeat;
	mask: var(--chp-picto) center / contain no-repeat;
	position: absolute;
	top: 1.2rem;
	transform: translateX(-50%);
	width: 2.6rem;
}

.chp-acces-grille > .chp-acces:nth-child(even)::before {
	background-color: var(--chp-turquoise-web);
}

.chp-acces a {
	color: var(--chp-marine);
	text-decoration: none;
}

.chp-acces a::before {
	/* toute la vignette est cliquable */
	content: "";
	inset: 0;
	position: absolute;
	z-index: 1;
}

.chp-acces:hover::before {
	background-color: var(--chp-turquoise);
	transform: scale(1.05);
}

.chp-acces:hover a {
	text-decoration: underline;
}

.chp-acces:focus-within::before {
	outline: 3px solid var(--chp-turquoise-web);
	outline-offset: 3px;
}

/* ---------- Pictogrammes pleins foncés (dans les contenus) ---------- */

.chp-icone {
	padding-left: 2rem;
	position: relative;
}

.chp-icone::before {
	background-color: var(--chp-marine);
	content: "";
	height: 1.35rem;
	left: 0;
	-webkit-mask: var(--chp-picto) center / contain no-repeat;
	mask: var(--chp-picto) center / contain no-repeat;
	position: absolute;
	top: 0.15rem;
	width: 1.35rem;
}

/* ---------- Encart urgences ---------- */

.chp-encart-urgence {
	border-radius: var(--chp-rayon);
	padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50);
}

.chp-encart-urgence h2 {
	margin: 0;
}

.chp-encart-urgence a:not(.wp-element-button) {
	color: var(--chp-marine);
}

/* ---------- Chiffres clés ---------- */

.chp-chiffres {
	padding-top: var(--wp--preset--spacing--60);
	padding-bottom: var(--wp--preset--spacing--60);
}

.chp-chiffres h2 {
	color: inherit;
}

.chp-chiffre {
	color: var(--chp-jaune);
	font-size: var(--wp--preset--font-size--xx-large);
	font-weight: 800;
	line-height: 1;
	margin-bottom: 0.25rem;
}

.chp-chiffres .chp-chiffre + p {
	margin-top: 0;
}

.chp-source {
	font-size: 0.875rem;
	opacity: 0.85;
}

/* ---------- Encadré infos pratiques ---------- */

.chp-infos {
	background: var(--chp-fond);
	border-radius: var(--chp-rayon);
	border-top: 6px solid var(--chp-turquoise);
	padding: 1.5rem;
}

.chp-infos__titre {
	font-size: var(--wp--preset--font-size--large);
	margin: 0 0 1rem;
}

.chp-infos__liste {
	display: grid;
	gap: 0.9rem;
	margin: 0 0 1.25rem;
}

.chp-infos__liste dt {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
}

.chp-infos__liste dd {
	margin: 0;
}

.chp-infos__bouton {
	display: block;
	text-align: center;
	text-decoration: none;
}

.chp-infos__urgence {
	border-top: 1px solid var(--chp-gris);
	font-size: var(--wp--preset--font-size--small);
	margin: 1.25rem 0 0;
	padding-top: 0.75rem;
}

.chp-infos__urgence a {
	color: var(--chp-marine);
	font-weight: 800;
}

@media (max-width: 781px) {
	.chp-colonnes-fiche > .wp-block-column:last-child {
		order: -1;
	}
}

@media (min-width: 782px) {
	.chp-colonnes-fiche > .wp-block-column:last-child {
		position: sticky;
		top: 9rem;
	}
}

/* ---------- Cartes ---------- */

.is-style-chp-carte,
.chp-carte-liste {
	background: var(--chp-blanc);
	border: 1px solid rgba(2, 48, 89, 0.16);
	border-radius: var(--chp-rayon);
	box-shadow: var(--chp-ombre);
	height: 100%;
	padding: 1.25rem 1.5rem;
}

.is-style-chp-carte > :first-child,
.chp-carte-liste > :first-child {
	margin-top: 0;
}

.is-style-chp-carte .wp-block-post-featured-image {
	margin: -1.25rem -1.5rem 1rem;
}

.is-style-chp-carte .wp-block-post-featured-image img {
	border-radius: var(--chp-rayon) var(--chp-rayon) 0 0;
}

.is-style-chp-carte .wp-block-post-title,
.chp-carte-liste .wp-block-post-title {
	font-size: var(--wp--preset--font-size--large);
	margin: 0.5rem 0;
}

.wp-block-post-template.is-layout-grid,
.wp-block-post-template.is-layout-flow {
	gap: var(--wp--preset--spacing--40);
}

.wp-block-post-template.is-layout-flow > li + li {
	margin-top: var(--wp--preset--spacing--30);
}

/* ---------- Encadrés ---------- */

.is-style-chp-encadre-info,
.is-style-chp-encadre-important {
	border-left: 6px solid var(--chp-turquoise);
	border-radius: 0 var(--chp-rayon) var(--chp-rayon) 0;
	background: var(--chp-fond);
	padding: 1.25rem 1.5rem;
}

.is-style-chp-encadre-important {
	background: #FDECEA;
	border-left-color: var(--chp-rouge);
}

.is-style-chp-encadre-info > :first-child,
.is-style-chp-encadre-important > :first-child {
	margin-top: 0;
}

/* ---------- Boutons ---------- */

.wp-block-button.is-style-chp-urgence .wp-block-button__link {
	background: var(--chp-rouge);
	color: var(--chp-marine);
	font-weight: 800;
}

.wp-block-button.is-style-chp-urgence .wp-block-button__link:hover {
	background: var(--chp-marine);
	color: var(--chp-blanc);
}

.wp-block-button.is-style-chp-secondaire .wp-block-button__link {
	background: transparent;
	border: 2px solid currentColor;
	color: var(--chp-marine);
	padding: calc(0.75rem - 2px) calc(1.4rem - 2px);
}

.wp-block-button.is-style-chp-secondaire .wp-block-button__link:hover {
	background: var(--chp-marine);
	border-color: var(--chp-marine);
	color: var(--chp-blanc);
}

.has-contrast-background-color .wp-block-button.is-style-chp-secondaire .wp-block-button__link {
	color: var(--chp-blanc);
}

.has-contrast-background-color .wp-block-button.is-style-chp-secondaire .wp-block-button__link:hover {
	background: var(--chp-blanc);
	color: var(--chp-marine);
}

/* ---------- Listes ---------- */

.is-style-chp-puces-couleur {
	list-style: none;
	padding-left: 1.5rem;
}

.is-style-chp-puces-couleur > li {
	position: relative;
}

.is-style-chp-puces-couleur > li + li {
	margin-top: 0.4rem;
}

.is-style-chp-puces-couleur > li::before {
	background: var(--chp-turquoise);
	border-radius: 50%;
	content: "";
	height: 0.6rem;
	left: -1.4rem;
	position: absolute;
	top: 0.6em;
	width: 0.6rem;
}

.is-style-chp-puces-couleur > li:nth-child(4n+2)::before { background: var(--chp-jaune); border-radius: 2px; }
.is-style-chp-puces-couleur > li:nth-child(4n+3)::before { background: var(--chp-vert); }
.is-style-chp-puces-couleur > li:nth-child(4n+4)::before { background: var(--chp-rouge); border-radius: 2px; }

.is-style-chp-liens-fleches {
	list-style: none;
	padding-left: 0;
}

.is-style-chp-liens-fleches > li {
	padding-left: 1.6rem;
	position: relative;
}

.is-style-chp-liens-fleches > li + li {
	margin-top: 0.5rem;
}

.is-style-chp-liens-fleches > li::before {
	background-color: currentColor;
	content: "";
	height: 1rem;
	left: 0;
	-webkit-mask: var(--chp-picto-fleche) center / contain no-repeat;
	mask: var(--chp-picto-fleche) center / contain no-repeat;
	position: absolute;
	top: 0.35em;
	width: 1rem;
}

.chp-etapes {
	counter-reset: chp-etape;
	list-style: none;
	padding-left: 0;
}

.chp-etapes > li {
	counter-increment: chp-etape;
	min-height: 2.5rem;
	padding-left: 3.5rem;
	position: relative;
}

.chp-etapes > li + li {
	margin-top: 1.25rem;
}

.chp-etapes > li::before {
	align-items: center;
	background: var(--chp-marine);
	border-radius: 50%;
	color: var(--chp-blanc);
	content: counter(chp-etape);
	display: flex;
	font-weight: 800;
	height: 2.4rem;
	justify-content: center;
	left: 0;
	position: absolute;
	top: -0.2rem;
	width: 2.4rem;
}

/* ---------- Divers ---------- */

.is-style-chp-arrondi img {
	border-radius: var(--chp-rayon);
}

.is-style-chp-chapo {
	color: var(--chp-marine);
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.5;
}

.wp-block-details summary {
	cursor: pointer;
	font-weight: 700;
}

/* ---------- Dans cette rubrique ---------- */

.chp-sous-pages {
	margin-top: var(--wp--preset--spacing--60);
}

.chp-sous-pages ul {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.chp-sous-pages li {
	background: var(--chp-fond);
	border-radius: var(--chp-rayon);
	border-left: 4px solid var(--chp-turquoise);
	padding: 1rem 1.25rem;
	position: relative;
}

.chp-sous-pages a {
	color: var(--chp-marine);
	font-weight: 700;
	text-decoration: none;
}

.chp-sous-pages a::after {
	content: "";
	inset: 0;
	position: absolute;
}

.chp-sous-pages li:hover a {
	text-decoration: underline;
}

.chp-sous-pages p {
	font-size: var(--wp--preset--font-size--small);
	margin: 0.35rem 0 0;
}

/* ---------- Liste des pôles / spécialités ---------- */

.chp-termes ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.chp-termes li {
	border-bottom: 1px solid rgba(2, 48, 89, 0.12);
}

.chp-termes a {
	color: var(--chp-marine);
	display: flex;
	justify-content: space-between;
	padding: 0.55rem 0;
	text-decoration: none;
}

.chp-termes a:hover,
.chp-termes a[aria-current="page"] {
	font-weight: 700;
	text-decoration: underline;
}

.chp-termes__nombre {
	color: var(--chp-gris-texte);
	font-size: var(--wp--preset--font-size--small);
}

/* ---------- Pied de page ---------- */

.chp-pied {
	font-size: 1rem;
	padding-top: var(--wp--preset--spacing--60);
	padding-bottom: var(--wp--preset--spacing--40);
}

.chp-pied a {
	color: inherit;
}

.chp-pied .chp-icone::before {
	background-color: currentColor;
}

.chp-pied__titre {
	color: inherit;
	font-size: var(--wp--preset--font-size--medium);
	margin-bottom: 0.75rem;
}

.chp-pied__nom {
	font-size: var(--wp--preset--font-size--large);
	font-weight: 700;
	letter-spacing: 0.03em;
	line-height: 1.15;
	text-transform: uppercase;
}

.chp-pied .wp-block-separator {
	border-color: rgba(255, 255, 255, 0.3);
	margin-top: var(--wp--preset--spacing--50);
	opacity: 1;
}

.chp-pied__bas {
	font-size: 0.9375rem;
}

/* ---------- Impression ---------- */

/* ============================================================
   Carrousel « À la une » (pattern chp/carrousel + chp-carrousel.js)
   Sans JS / dans l'éditeur : diapositives empilées.
   ============================================================ */
.chp-carrousel {
	position: relative;
}

.chp-carrousel__piste {
	display: grid;
	gap: var(--wp--preset--spacing--30);
}

.chp-carrousel .chp-diapo {
	border-radius: var(--chp-rayon);
	color: var(--chp-blanc);
	margin: 0;
	align-items: flex-end;
}

.chp-carrousel .chp-diapo :where(h2, h3, p) {
	color: var(--chp-blanc);
}

.chp-carrousel .chp-diapo {
	justify-content: flex-start;
}

.chp-carrousel .chp-diapo .wp-block-cover__inner-container {
	max-width: 46rem;
	margin-left: 0;
	padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50);
}

.chp-carrousel .chp-diapo .wp-block-cover__inner-container > * {
	margin-left: 0 !important;
}

.chp-carrousel .chp-diapo .chp-surtitre {
	color: var(--chp-jaune);
}

.chp-carrousel .chp-diapo .wp-element-button {
	background: var(--chp-blanc);
	border: 2px solid var(--chp-blanc);
	color: var(--chp-marine);
}

.chp-carrousel .chp-diapo .wp-element-button:hover {
	background: transparent;
	color: var(--chp-blanc);
}

.chp-carrousel .chp-diapo a:focus-visible {
	outline-color: var(--chp-jaune);
	box-shadow: none;
}

/* Voile renforcé quand une photo est posée, pour garder le contraste du texte. */
.chp-carrousel .chp-diapo.has-background-dim:not(.has-background-dim-100) .wp-block-cover__background,
.chp-carrousel .chp-diapo .wp-block-cover__image-background + .wp-block-cover__background {
	background: linear-gradient(90deg, rgba(2, 48, 89, 0.92) 0%, rgba(2, 48, 89, 0.75) 55%, rgba(2, 48, 89, 0.35) 100%) !important;
	opacity: 1 !important;
}

/* Mode actif (JavaScript chargé) */
.chp-carrousel.is-actif .chp-carrousel__piste {
	display: flex;
	gap: 0;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	border-radius: var(--chp-rayon);
}

.chp-carrousel.is-actif .chp-carrousel__piste::-webkit-scrollbar {
	display: none;
}

.chp-carrousel.is-actif .chp-diapo {
	flex: 0 0 100%;
	scroll-snap-align: start;
	border-radius: 0;
}

.chp-carrousel__commandes {
	position: absolute;
	right: var(--wp--preset--spacing--30);
	bottom: var(--wp--preset--spacing--30);
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 0.5rem;
	background: rgba(2, 48, 89, 0.85);
	border-radius: 999px;
	padding: 0.35rem;
}

.chp-carrousel__bouton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	border: 2px solid var(--chp-blanc);
	border-radius: 50%;
	background: transparent;
	color: var(--chp-blanc);
	font-size: 1.4rem;
	line-height: 1;
	cursor: pointer;
}

.chp-carrousel__pause {
	font-size: 0.95rem;
}

.chp-carrousel__bouton:hover {
	background: var(--chp-blanc);
	color: var(--chp-marine);
}

.chp-carrousel__bouton:focus-visible {
	outline: 3px solid var(--chp-jaune);
	outline-offset: 2px;
	box-shadow: none;
}

.chp-carrousel__compteur {
	color: var(--chp-blanc);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	margin: 0;
	min-width: 3.2em;
	text-align: center;
}

@media (max-width: 600px) {
	.chp-carrousel .chp-diapo {
		min-height: 440px !important;
		padding-bottom: 5rem;
	}

	.chp-carrousel__commandes {
		left: 50%;
		right: auto;
		transform: translateX(-50%);
	}
}

@media print {
	.chp-carrousel__commandes {
		display: none !important;
	}

	.chp-carrousel.is-actif .chp-carrousel__piste {
		display: block;
		overflow: visible;
	}
}


/* ============================================================
   v1.2 — Design épuré et effets visuels
   Règle : tout effet de mouvement est coupé si l'utilisateur a demandé
   à réduire les animations (règle globale en tête de feuille + JS).
   ============================================================ */

:root {
	--chp-rayon: 12px;
	--chp-ombre: 0 1px 2px rgba(2, 48, 89, 0.06), 0 6px 20px rgba(2, 48, 89, 0.07);
	--chp-ombre-forte: 0 2px 4px rgba(2, 48, 89, 0.08), 0 16px 40px rgba(2, 48, 89, 0.14);
	--chp-transition: 0.25s cubic-bezier(0.2, 0.7, 0.2, 1);
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: 8rem;
}

/* Liens de contenu : soulignement fin qui s'épaissit */
.wp-block-post-content a:not(.wp-element-button) {
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
	transition: text-decoration-thickness var(--chp-transition), color var(--chp-transition);
}

/* Boutons : coins adoucis, léger soulèvement au survol */
.wp-element-button,
.wp-block-button__link {
	border-radius: 8px;
	transition: transform var(--chp-transition), box-shadow var(--chp-transition), background-color var(--chp-transition), color var(--chp-transition);
}

.wp-element-button:hover,
.wp-block-button__link:hover {
	box-shadow: 0 6px 16px rgba(2, 48, 89, 0.18);
	transform: translateY(-1px);
}

/* ---------- En-tête épuré, compact au défilement ---------- */

.chp-entete {
	box-shadow: none;
	border-bottom: 1px solid rgba(2, 48, 89, 0.08);
	transition: box-shadow var(--chp-transition);
}

.chp-defile .chp-entete {
	box-shadow: 0 6px 24px rgba(2, 48, 89, 0.1);
}

.chp-entete__principal {
	transition: padding var(--chp-transition);
}

.chp-defile .chp-entete__principal {
	padding-top: 0.35rem;
	padding-bottom: 0.35rem;
}

.chp-entete .wp-block-site-logo img {
	transition: width var(--chp-transition);
}

@media (min-width: 1280px) {
	.chp-entete__marque {
		flex-shrink: 0;
	}

	.chp-defile .chp-entete .wp-block-site-logo img {
		width: 170px !important;
		height: auto;
	}
}

.chp-entete .wp-block-navigation {
	font-size: 0.975rem;
	gap: 0.15rem;
}

.chp-entete .wp-block-navigation .wp-block-navigation__container {
	flex-wrap: nowrap;
	gap: 0.15rem;
}

.chp-entete .wp-block-navigation .wp-block-navigation-item {
	white-space: nowrap;
}

.chp-entete .wp-block-navigation .wp-block-navigation-submenu__toggle {
	margin-left: -0.2rem;
	padding-right: 0.35rem;
}

.chp-entete .wp-block-navigation .wp-block-navigation-item__content {
	border-radius: 6px;
	font-weight: 600;
	padding: 0.5rem 0.45rem;
	transition: background-color var(--chp-transition), color var(--chp-transition);
}

.chp-entete .wp-block-navigation > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover {
	background: var(--chp-fond);
}

/* ==========================================================================
   v1.4 — Menu principal : panneaux bleus à trois niveaux (ordinateur),
   accordéon plein écran (tablette et mobile). Couleurs de la charte :
   fond marine, liseré turquoise / jaune-vert / vert / rouge-orangé, chevrons jaune-vert.
   ========================================================================== */
.chp-entete {
	--chp-menu-fond: var(--chp-marine);
	--chp-menu-fond-2: #0B3E6C;
	--chp-menu-survol: rgba(255, 255, 255, 0.09);
	--chp-menu-filet: rgba(255, 255, 255, 0.14);
	--chp-menu-lisere: linear-gradient(90deg, var(--chp-turquoise) 0 34%, var(--chp-jaune) 34% 60%, var(--chp-vert) 60% 84%, var(--chp-rouge) 84% 100%);
}

@media (min-width: 1280px) {
	/* Panneau de 1er niveau */
	.chp-entete .wp-block-navigation .wp-block-navigation__submenu-container {
		background: var(--chp-menu-lisere) top / 100% 4px no-repeat, var(--chp-menu-fond) !important;
		border: 0 !important;
		border-radius: 0 0 var(--chp-rayon) var(--chp-rayon);
		box-shadow: 0 14px 34px rgba(2, 48, 89, 0.3);
		color: var(--chp-blanc) !important;
		padding: calc(4px + 0.45rem) 0 0.45rem !important;
		transform: translateY(8px);
		transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
	}

	.chp-entete .wp-block-navigation .has-child:hover > .wp-block-navigation__submenu-container,
	.chp-entete .wp-block-navigation .has-child:focus-within > .wp-block-navigation__submenu-container,
	.chp-entete .wp-block-navigation .has-child.chp-survol > .wp-block-navigation__submenu-container,
	.chp-entete .wp-block-navigation .has-child .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
		transform: translateY(0);
	}

	/* Largeur seulement à l'ouverture (sinon débordement horizontal de la page) */
	.chp-entete .wp-block-navigation__container > .has-child:hover > .wp-block-navigation__submenu-container,
	.chp-entete .wp-block-navigation__container > .has-child:focus-within > .wp-block-navigation__submenu-container,
	.chp-entete .wp-block-navigation__container > .has-child > .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
		width: 21.5rem !important;
	}

	/* Rubrique longue sans 3e niveau (plus de 8 liens) : deux colonnes */
	.chp-entete .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container:has(> li:nth-child(9)):not(:has(.has-child)) {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.chp-entete .wp-block-navigation__container > .has-child:hover > .wp-block-navigation__submenu-container:has(> li:nth-child(9)):not(:has(.has-child)),
	.chp-entete .wp-block-navigation__container > .has-child:focus-within > .wp-block-navigation__submenu-container:has(> li:nth-child(9)):not(:has(.has-child)) {
		width: 36rem !important;
	}

	/* Les deux dernières rubriques ouvrent leur panneau vers la gauche */
	.chp-entete .wp-block-navigation__container > .has-child:nth-last-child(-n+2) > .wp-block-navigation__submenu-container {
		left: auto !important;
		right: 0;
	}

	/* Liens des panneaux : texte blanc, chevron jaune-vert qui glisse au survol */
	.chp-entete .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item {
		align-items: center;
		display: flex;
		white-space: normal;
		width: 100%;
	}

	.chp-entete .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		border-radius: 0;
		color: var(--chp-blanc) !important;
		flex: 1 1 auto;
		font-size: 0.95rem;
		font-weight: 500;
		line-height: 1.35;
		padding: 0.55rem 1rem 0.55rem 2rem !important;
		position: relative;
		transition: background-color 0.15s ease, padding 0.15s ease;
	}

	.chp-entete .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content::before {
		border-right: 2px solid var(--chp-jaune);
		border-top: 2px solid var(--chp-jaune);
		content: "";
		height: 0.42rem;
		left: 0.95rem;
		position: absolute;
		top: 50%;
		transform: translateY(-50%) rotate(45deg);
		transition: left 0.15s ease;
		width: 0.42rem;
	}

	.chp-entete .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item {
		transition: background-color 0.15s ease;
	}

	.chp-entete .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item:hover,
	.chp-entete .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item.chp-survol,
	.chp-entete .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item:focus-within {
		background: var(--chp-menu-survol);
	}

	.chp-entete .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
		text-decoration: none;
	}

	/* Rubrique de la page en cours */
	.chp-entete .wp-block-navigation__container > .chp-rubrique-active > .wp-block-navigation-item__content {
		box-shadow: inset 0 -3px 0 var(--chp-jaune);
	}

	.chp-entete .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item:hover > .wp-block-navigation-item__content::before,
	.chp-entete .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item.chp-survol > .wp-block-navigation-item__content::before {
		left: 1.15rem;
	}

	.chp-entete .wp-block-navigation .wp-block-navigation__submenu-container a[aria-current="page"] {
		box-shadow: inset 4px 0 0 var(--chp-jaune);
		font-weight: 700;
	}

	.chp-entete .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible {
		outline: 3px solid var(--chp-jaune);
		outline-offset: -3px;
	}

	/* Rubrique à sous-menu dans un panneau : flèche à droite */
	.chp-entete .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu__toggle {
		align-items: center;
		align-self: stretch;
		color: var(--chp-jaune);
		display: flex;
		flex: 0 0 2.6rem;
		height: auto !important;
		justify-content: center;
		margin: 0;
		padding: 0;
		width: 2.6rem;
	}

	.chp-entete .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu__toggle:focus-visible {
		outline: 3px solid var(--chp-jaune);
		outline-offset: -4px;
	}

	.chp-entete .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu__toggle svg {
		flex-shrink: 0;
		height: 0.8rem;
		stroke-width: 2.5;
		transform: rotate(-90deg);
		width: 0.8rem;
	}

	/* Panneau de 2e niveau : collé au premier, même hauteur, fond légèrement plus clair */
	.chp-entete .wp-block-navigation .wp-block-navigation__submenu-container .has-child {
		position: static;
	}

	.chp-entete .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
		background: var(--chp-menu-lisere) top / 100% 4px no-repeat, var(--chp-menu-fond-2) !important;
		border-left: 1px solid var(--chp-menu-filet) !important;
		border-radius: 0 0 var(--chp-rayon) 0;
		left: 100% !important;
		min-height: 100%;
		top: 0 !important;
		transform: translateX(-6px);
	}

	.chp-entete .wp-block-navigation__container > .has-child:nth-last-child(-n+2) .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
		left: auto !important;
		right: 100%;
	}

	/* … et leur flèche pointe vers la gauche */
	.chp-entete .wp-block-navigation__container > .has-child:nth-last-child(-n+2) .wp-block-navigation__submenu-container .wp-block-navigation-submenu__toggle svg {
		transform: rotate(90deg);
	}

	.chp-entete .wp-block-navigation__container > .has-child:nth-last-child(-n+2) .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
		border-left: 0 !important;
		border-radius: 0 0 0 var(--chp-rayon);
		border-right: 1px solid var(--chp-menu-filet) !important;
	}

	/* Avec JavaScript : le 2e niveau s'ouvre par « intention » (léger délai), pas au simple passage du pointeur */
	.chp-js .chp-entete .wp-block-navigation .wp-block-navigation__submenu-container .has-child:not(.chp-survol):not(:focus-within):not(:has(> .wp-block-navigation-submenu__toggle[aria-expanded="true"])) > .wp-block-navigation__submenu-container {
		opacity: 0 !important;
		visibility: hidden !important;
	}

	.chp-entete .wp-block-navigation .wp-block-navigation__submenu-container .has-child:hover > .wp-block-navigation__submenu-container,
	.chp-entete .wp-block-navigation .wp-block-navigation__submenu-container .has-child.chp-survol > .wp-block-navigation__submenu-container,
	.chp-entete .wp-block-navigation .wp-block-navigation__submenu-container .has-child:focus-within > .wp-block-navigation__submenu-container,
	.chp-entete .wp-block-navigation .wp-block-navigation__submenu-container .has-child > .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
		height: auto !important;
		overflow: visible !important;
		transform: translateX(0);
		width: 21.5rem !important;
	}

	.chp-entete .wp-block-navigation .wp-block-navigation__submenu-container .has-child.chp-survol > .wp-block-navigation__submenu-container {
		opacity: 1 !important;
		visibility: visible !important;
	}
}

/* ---------- Tablette et mobile : menu plein écran bleu, rubriques en accordéon ---------- */
.chp-entete .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--chp-menu-lisere) top / 100% 5px no-repeat, var(--chp-menu-fond) !important;
	color: var(--chp-blanc) !important;
	padding: 1rem 1.25rem 2rem;
}

.chp-entete .is-menu-open .wp-block-navigation__responsive-container-close {
	color: var(--chp-blanc);
}

.chp-entete .is-menu-open .wp-block-navigation__responsive-container-content {
	align-items: stretch !important;
	padding-top: 2.5rem !important;
}

.chp-entete .is-menu-open .wp-block-navigation__container {
	align-items: stretch !important;
	flex-wrap: wrap !important;
	gap: 0 !important;
	width: 100%;
}

.chp-entete .is-menu-open .wp-block-navigation-item,
.chp-entete .is-menu-open .wp-block-navigation-item__content {
	color: var(--chp-blanc) !important;
	justify-content: flex-start !important;
	text-align: left !important;
	white-space: normal;
}

.chp-entete .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item {
	border-bottom: 1px solid var(--chp-menu-filet);
	padding: 0.35rem 0;
}

.chp-entete .is-menu-open .wp-block-navigation-item {
	align-items: center !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	width: 100%;
}

.chp-entete .is-menu-open .wp-block-navigation-item > .wp-block-navigation-item__content {
	flex: 1 1 0;
	padding: 0.6rem 0 !important;
}

.chp-entete .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	font-size: 1.15rem;
	font-weight: 800;
}

.chp-entete .is-menu-open .wp-block-navigation__submenu-container {
	border-left: 2px solid var(--chp-jaune) !important;
	flex-basis: 100%;
	gap: 0 !important;
	margin: 0 0 0.5rem 0.25rem;
	padding: 0 0 0 0.9rem !important;
}

.chp-entete .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	font-size: 1rem;
	font-weight: 500;
}

.chp-entete .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	font-size: 0.95rem;
	opacity: 0.92;
}

.chp-entete .is-menu-open a[aria-current="page"] {
	box-shadow: none;
	color: var(--chp-jaune) !important;
	font-weight: 700;
}

/* Bouton d'ouverture d'une rubrique (ajouté au menu plein écran par chp-site.js) */
.chp-js .chp-entete .is-menu-open .wp-block-navigation-submenu__toggle {
	align-items: center;
	border-radius: 6px;
	color: var(--chp-jaune);
	display: inline-flex !important;
	height: 2.75rem;
	justify-content: center;
	margin: 0;
	padding: 0;
	width: 2.75rem;
}

.chp-js .chp-entete .is-menu-open .wp-block-navigation-submenu__toggle svg {
	height: 0.95rem;
	stroke-width: 2.5;
	transition: transform 0.2s ease;
	width: 0.95rem;
}

.chp-js .chp-entete .is-menu-open .wp-block-navigation-submenu__toggle[aria-expanded="true"] svg {
	transform: rotate(180deg);
}

.chp-js .chp-entete .is-menu-open .wp-block-navigation-submenu__toggle:hover {
	background: var(--chp-menu-survol);
}

.chp-js .chp-entete .is-menu-open .has-child:not(.chp-deplie) > .wp-block-navigation__submenu-container {
	display: none !important;
}

.chp-js .chp-entete .is-menu-open .has-child.chp-deplie > .wp-block-navigation__submenu-container {
	animation: chp-deplier 0.22s ease;
}

@keyframes chp-deplier {
	from {
		opacity: 0;
		transform: translateY(-4px);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

.chp-entete .is-menu-open :focus-visible {
	outline-color: var(--chp-jaune) !important;
}

@media (prefers-reduced-motion: reduce) {
	.chp-entete .wp-block-navigation .wp-block-navigation__submenu-container,
	.chp-entete .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
	.chp-entete .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content::before {
		transition: none !important;
	}

	.chp-js .chp-entete .is-menu-open .has-child.chp-deplie > .wp-block-navigation__submenu-container {
		animation: none;
	}
}

@media (max-width: 600px) {
	.chp-barre-haute {
		font-size: 0.85rem;
	}

	.chp-barre-haute .wp-block-group {
		column-gap: 1rem !important;
		row-gap: 0 !important;
	}
}

/* Barre haute : liens plus discrets */
.chp-barre-haute__liens a {
	opacity: 0.9;
}

.chp-barre-haute__liens a:hover {
	opacity: 1;
}

/* ---------- Titres de section : accent de couleur ---------- */

.chp-section > .wp-block-heading,
.chp-section__tete .wp-block-heading,
.chp-accueil .wp-block-group > .wp-block-group > .wp-block-heading:only-child {
	position: relative;
	padding-bottom: 0.6rem;
}

.chp-section > .wp-block-heading::after,
.chp-section__tete .wp-block-heading::after {
	background: linear-gradient(90deg, var(--chp-turquoise) 0 60%, var(--chp-jaune) 60% 100%);
	border-radius: 2px;
	bottom: 0;
	content: "";
	height: 4px;
	left: 0;
	position: absolute;
	width: 3.5rem;
}

.chp-section__tete {
	margin-bottom: var(--wp--preset--spacing--40);
}

.chp-section__tete .wp-block-heading {
	margin: 0;
}

.chp-lien-tout a {
	color: var(--chp-marine);
	font-weight: 700;
	text-decoration: none;
}

.chp-lien-tout a::after {
	content: "→";
	content: "→" / "";
	display: inline-block;
	margin-left: 0.35em;
	transition: transform var(--chp-transition);
}

.chp-lien-tout a:hover::after {
	transform: translateX(4px);
}

/* ---------- Héros d'accueil ---------- */

.chp-hero {
	background:
		radial-gradient(circle at 92% 12%, rgba(102, 204, 153, 0.22) 0 9rem, transparent 9.05rem),
		radial-gradient(circle at 100% 85%, rgba(148, 193, 31, 0.16) 0 6rem, transparent 6.05rem),
		radial-gradient(circle at 4% 100%, rgba(25, 133, 126, 0.10) 0 11rem, transparent 11.05rem),
		linear-gradient(180deg, #F7FAFC 0%, var(--chp-fond) 100%);
	overflow: hidden;
	padding-top: var(--wp--preset--spacing--70);
	padding-bottom: var(--wp--preset--spacing--70);
}

.chp-hero h1 {
	font-size: clamp(2rem, 1.2rem + 3vw, 3.4rem);
	letter-spacing: -0.01em;
	line-height: 1.1;
	margin-top: 0.5rem;
	max-width: 18ch;
}

.chp-hero .chp-recherche input[type="search"] {
	border-color: transparent;
	box-shadow: var(--chp-ombre-forte);
	border-radius: 10px;
}

.chp-hero .chp-recherche input[type="search"]:focus {
	border-color: var(--chp-turquoise-web);
}

.chp-hero .chp-recherche button[type="submit"] {
	border-radius: 10px;
}

.chp-profils__titre {
	font-weight: 700;
	margin-bottom: 0.5rem;
}

.chp-profils {
	gap: 0.5rem;
}

.chp-profils .wp-block-button__link {
	background: var(--chp-blanc) !important;
	border-color: rgba(2, 48, 89, 0.2) !important;
	border-radius: 999px;
	min-width: 0;
	padding: 0.5rem 1.15rem !important;
}

.chp-profils .wp-block-button__link:hover {
	background: var(--chp-marine) !important;
	border-color: var(--chp-marine) !important;
	color: var(--chp-blanc) !important;
}

/* Carte « Numéros utiles » */
.chp-numeros {
	background: var(--chp-blanc);
	border-radius: 16px;
	border-top: 6px solid var(--chp-rouge);
	box-shadow: var(--chp-ombre-forte);
	padding: 1.75rem;
}

.chp-numeros > * + * {
	margin-top: 0.85rem;
}

.chp-numeros__titre {
	font-size: var(--wp--preset--font-size--large);
	margin: 0;
}

.chp-numeros__urgence {
	align-items: center;
	background: #FDECEA;
	border-radius: 10px;
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 0.6rem;
	padding: 0.75rem 1rem;
}

.chp-numeros__urgence span:first-child {
	flex-basis: 100%;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.chp-numeros__urgence a {
	color: var(--chp-marine);
	font-size: 2.2rem;
	font-weight: 800;
	line-height: 1;
	text-decoration: none;
}

.chp-numeros__urgence a:hover {
	text-decoration: underline;
}

.chp-numeros a {
	color: var(--chp-marine);
}

/* ---------- Accès rapides ---------- */

.chp-acces-grille {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

@media (min-width: 600px) {
	.chp-acces-grille {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
}

@media (min-width: 1100px) {
	.chp-acces-grille {
		grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
	}
}

.chp-acces {
	border-radius: var(--chp-rayon);
	padding: 1rem 0.5rem 1.1rem;
	transition: background-color var(--chp-transition), transform var(--chp-transition), box-shadow var(--chp-transition);
}

.chp-acces::after {
	top: 2.2rem;
}

.chp-acces:hover {
	background: var(--chp-blanc);
	box-shadow: var(--chp-ombre);
	transform: translateY(-4px);
}

.chp-acces:hover::before {
	transform: scale(1.08) rotate(-4deg);
}

/* ---------- Cartes ---------- */

.is-style-chp-carte,
.chp-carte-liste {
	border-color: rgba(2, 48, 89, 0.08);
	position: relative;
	transition: transform var(--chp-transition), box-shadow var(--chp-transition), border-color var(--chp-transition);
}

.is-style-chp-carte:hover,
.chp-carte-liste:hover {
	border-color: rgba(25, 133, 126, 0.35);
	box-shadow: var(--chp-ombre-forte);
	transform: translateY(-4px);
}

.is-style-chp-carte .wp-block-post-featured-image {
	overflow: hidden;
	border-radius: var(--chp-rayon) var(--chp-rayon) 0 0;
}

.is-style-chp-carte .wp-block-post-featured-image img {
	transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.is-style-chp-carte:hover .wp-block-post-featured-image img {
	transform: scale(1.04);
}

/* Carte entièrement cliquable (lien du titre étendu) */
.chp-carte-lien h3 a,
.is-style-chp-carte .wp-block-post-title a {
	color: var(--chp-marine);
	text-decoration: none;
}

.chp-carte-lien h3 a::after {
	content: "";
	inset: 0;
	position: absolute;
	border-radius: inherit;
}

.chp-carte-lien:hover h3 a,
.is-style-chp-carte .wp-block-post-title a:hover {
	text-decoration: underline;
}

.chp-carte-lien:focus-within {
	outline: 3px solid var(--chp-turquoise-web);
	outline-offset: 2px;
}

.chp-carte-lien h3 a:focus-visible {
	outline: none;
	box-shadow: none;
}

/* Cartes « Mes démarches » : pictogramme en pastille */
.chp-demarches .chp-carte-lien {
	padding-top: 4.75rem;
}

.chp-demarches .chp-carte-lien::before {
	background-color: var(--chp-fond);
	border-radius: 50%;
	content: "";
	height: 3rem;
	left: 1.5rem;
	position: absolute;
	top: 1.25rem;
	transition: background-color var(--chp-transition);
	width: 3rem;
}

.chp-demarches .chp-carte-lien::after {
	background-color: var(--chp-turquoise-web);
	content: "";
	height: 1.5rem;
	left: 2.25rem;
	-webkit-mask: var(--chp-picto) center / contain no-repeat;
	mask: var(--chp-picto) center / contain no-repeat;
	position: absolute;
	top: 2rem;
	transition: background-color var(--chp-transition);
	width: 1.5rem;
}

.chp-demarches .chp-carte-lien:hover::before {
	background-color: var(--chp-turquoise-web);
}

.chp-demarches .chp-carte-lien:hover::after {
	background-color: var(--chp-blanc);
}

.chp-demarches {
	grid-template-columns: minmax(0, 1fr) !important;
}

@media (min-width: 600px) {
	.chp-demarches {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (min-width: 1000px) {
	.chp-demarches {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
}

.chp-demarches h3 {
	font-size: 1.2rem;
	line-height: 1.3;
	margin: 0 0 0.35rem;
}

.chp-demarches p {
	color: var(--chp-gris-texte);
	margin: 0;
}

/* ---------- Dans cette rubrique ---------- */

.chp-sous-pages li {
	background: var(--chp-blanc);
	border: 1px solid rgba(2, 48, 89, 0.08);
	border-left: 4px solid var(--chp-turquoise);
	box-shadow: var(--chp-ombre);
	padding-right: 2.5rem;
	transition: transform var(--chp-transition), box-shadow var(--chp-transition), border-color var(--chp-transition);
}

.chp-sous-pages li::after {
	color: var(--chp-turquoise-web);
	content: "→";
	content: "→" / "";
	font-weight: 700;
	position: absolute;
	right: 1rem;
	top: 1rem;
	transition: transform var(--chp-transition);
}

.chp-sous-pages li:hover {
	border-left-color: var(--chp-jaune);
	box-shadow: var(--chp-ombre-forte);
	transform: translateY(-3px);
}

.chp-sous-pages li:hover::after {
	transform: translateX(4px);
}

.chp-sous-pages li:focus-within {
	outline: 3px solid var(--chp-turquoise-web);
	outline-offset: 2px;
}

/* ---------- Bandeau de titre et outils de page ---------- */

.chp-bandeau-titre {
	background: linear-gradient(180deg, #F7FAFC 0%, var(--chp-fond) 100%) !important;
}

.chp-outils {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.5rem;
	justify-content: space-between;
	margin-top: 0.75rem;
}

.chp-outils p {
	margin: 0;
}

.chp-outils__date {
	color: var(--chp-gris-texte);
	font-size: var(--wp--preset--font-size--small);
}

.chp-outils__boutons {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.chp-outils__bouton {
	align-items: center;
	background: var(--chp-blanc);
	border: 1px solid rgba(2, 48, 89, 0.2);
	border-radius: 999px;
	color: var(--chp-marine);
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	gap: 0.4rem;
	padding: 0.35rem 0.9rem;
	transition: background-color var(--chp-transition), color var(--chp-transition);
}

.chp-outils__bouton::before {
	background-color: currentColor;
	content: "";
	height: 1rem;
	-webkit-mask: var(--chp-picto) center / contain no-repeat;
	mask: var(--chp-picto) center / contain no-repeat;
	width: 1rem;
}

.chp-outils__bouton[data-chp-action="imprimer"] {
	--chp-picto: var(--chp-picto-document);
}

.chp-outils__bouton[data-chp-action="partager"] {
	--chp-picto: var(--chp-picto-fleche);
}

.chp-outils__bouton:hover {
	background: var(--chp-marine);
	color: var(--chp-blanc);
}

.chp-outils__bouton[hidden] {
	display: none;
}

.chp-outils__message {
	color: var(--chp-turquoise-web);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
}

/* ---------- Sommaire automatique ---------- */

.chp-sommaire {
	background: var(--chp-fond);
	border-radius: var(--chp-rayon);
	margin-top: var(--wp--preset--spacing--40);
	margin-bottom: var(--wp--preset--spacing--40);
	padding: 1.1rem 1.5rem;
}

.chp-sommaire__titre {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	letter-spacing: 0.04em;
	margin: 0 0 0.5rem;
	text-transform: uppercase;
}

.chp-sommaire ol {
	columns: 2 16rem;
	column-gap: 2rem;
	margin: 0;
	padding-left: 1.25rem;
}

.chp-sommaire li {
	break-inside: avoid;
	padding: 0.15rem 0;
}

.chp-sommaire li::marker {
	color: var(--chp-turquoise-web);
	font-weight: 700;
}

/* Titres ciblés par une ancre : repère visuel bref */
.wp-block-post-content h2:target {
	animation: chp-repere 1.6s ease;
}

@keyframes chp-repere {
	0% { background: rgba(148, 193, 31, 0.35); }
	100% { background: transparent; }
}

/* ---------- FAQ (bloc Détails) ---------- */

.wp-block-post-content .wp-block-details {
	border: 1px solid rgba(2, 48, 89, 0.12);
	border-radius: var(--chp-rayon);
	margin-top: 0.75rem;
	padding: 0;
	transition: box-shadow var(--chp-transition);
}

.wp-block-post-content .wp-block-details[open] {
	box-shadow: var(--chp-ombre);
}

.wp-block-post-content .wp-block-details summary {
	list-style: none;
	padding: 1rem 3rem 1rem 1.25rem;
	position: relative;
}

.wp-block-post-content .wp-block-details summary::-webkit-details-marker {
	display: none;
}

.wp-block-post-content .wp-block-details summary::after {
	color: var(--chp-turquoise-web);
	content: "+";
	content: "+" / "";
	font-size: 1.5rem;
	line-height: 1;
	position: absolute;
	right: 1.25rem;
	top: 0.9rem;
	transition: transform var(--chp-transition);
}

.wp-block-post-content .wp-block-details[open] summary::after {
	transform: rotate(45deg);
}

.wp-block-post-content .wp-block-details > :not(summary) {
	margin: 0;
	padding: 0 1.25rem 1.1rem;
}

/* Encadré « À vérifier » : visible pour les rédacteurs, discret pour les visiteurs */
.chp-a-verifier {
	border-left-color: var(--chp-jaune) !important;
	background: #F6F9EC !important;
	font-size: var(--wp--preset--font-size--small);
}

/* Encadré « Page en cours de construction » (pages dont le contenu reste à rédiger) */
.chp-en-construction {
	position: relative;
	margin-block: var(--wp--preset--spacing--40, 2rem);
	padding: 1.5rem 1.5rem 1.5rem 5.25rem;
	border: 2px dashed color-mix(in srgb, var(--chp-turquoise) 55%, transparent);
	border-radius: 14px;
	background:
		repeating-linear-gradient(-45deg, transparent 0 14px, color-mix(in srgb, var(--chp-jaune) 7%, transparent) 14px 28px),
		#F3F8FB;
	color: var(--chp-marine);
}

.chp-en-construction::before,
.chp-en-construction::after {
	content: "";
	position: absolute;
	left: 1.5rem;
	top: 1.5rem;
	width: 2.75rem;
	height: 2.75rem;
}

.chp-en-construction::before {
	border-radius: 50%;
	background: var(--chp-turquoise-web);
}

/* Pictogramme « clé » (Material Icons, licence Apache 2.0) */
.chp-en-construction::after {
	background: #fff;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22.7 19l-9.1-9.1c.9-2.3.4-5-1.5-6.9-2-2-5-2.4-7.4-1.3L9 6 6 9 1.6 4.7C.4 7.1.9 10.1 2.9 12.1c1.9 1.9 4.6 2.4 6.9 1.5l9.1 9.1c.4.4 1 .4 1.4 0l2.3-2.3c.5-.4.5-1.1.1-1.4z' fill='%23000'/%3E%3C/svg%3E") center / 1.4rem no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22.7 19l-9.1-9.1c.9-2.3.4-5-1.5-6.9-2-2-5-2.4-7.4-1.3L9 6 6 9 1.6 4.7C.4 7.1.9 10.1 2.9 12.1c1.9 1.9 4.6 2.4 6.9 1.5l9.1 9.1c.4.4 1 .4 1.4 0l2.3-2.3c.5-.4.5-1.1.1-1.4z' fill='%23000'/%3E%3C/svg%3E") center / 1.4rem no-repeat;
}

.chp-en-construction > p {
	margin: 0;
}

.chp-en-construction > p:first-child {
	font-size: var(--wp--preset--font-size--large, 1.25rem);
	margin-bottom: 0.35rem;
}

@media (max-width: 600px) {
	.chp-en-construction {
		padding: 4.5rem 1.25rem 1.25rem;
		text-align: center;
	}

	.chp-en-construction::before,
	.chp-en-construction::after {
		left: 50%;
		transform: translateX(-50%);
	}
}

/* Équipe médicale d'une fiche service : liste en colonnes */
.is-style-chp-equipe {
	columns: 2 16rem;
	column-gap: 2rem;
	list-style: none;
	padding-left: 0;
}

.is-style-chp-equipe li {
	break-inside: avoid;
	margin: 0 0 0.45rem;
	padding-left: 1.4rem;
	position: relative;
}

.is-style-chp-equipe li::before {
	background: var(--chp-turquoise);
	border-radius: 50%;
	content: "";
	height: 0.5rem;
	left: 0.2rem;
	position: absolute;
	top: 0.55em;
	width: 0.5rem;
}

/* ---------- Recherche prédictive (accueil) ---------- */

.chp-recherche__saisie {
	flex: 1 1 16rem;
	position: relative;
	scroll-margin-top: 6.5rem;
}

.chp-recherche__saisie input[type="search"] {
	padding-right: 3rem;
	transition: box-shadow 0.25s ease, border-color 0.2s ease;
	width: 100%;
}

.chp-recherche__saisie input[type="search"]::-webkit-search-cancel-button {
	-webkit-appearance: none;
	appearance: none;
}

.chp-recherche__saisie input[aria-expanded="true"] {
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}

.chp-recherche__saisie input[type="search"]:focus {
	box-shadow: 0 0 0 4px rgba(148, 193, 31, 0.35);
}

.chp-recherche__effacer {
	background: var(--chp-fond);
	border: 0;
	border-radius: 50%;
	cursor: pointer;
	height: 2rem;
	min-height: 0 !important;
	padding: 0;
	position: absolute;
	right: 0.7rem;
	top: 50%;
	transform: translateY(-50%);
	transition: background-color 0.2s ease, transform 0.2s ease;
	width: 2rem;
}

.chp-recherche__effacer::before,
.chp-recherche__effacer::after {
	background: var(--chp-marine);
	border-radius: 2px;
	content: "";
	height: 2px;
	left: 0.55rem;
	position: absolute;
	top: calc(50% - 1px);
	width: 0.9rem;
}

.chp-recherche__effacer::before { transform: rotate(45deg); }
.chp-recherche__effacer::after { transform: rotate(-45deg); }

.chp-recherche__effacer:hover,
.chp-recherche__effacer:focus-visible {
	background: #DDE7EE;
	transform: translateY(-50%) rotate(90deg);
}

.chp-recherche__suggestions {
	animation: chp-sugg-ouvre 0.18s ease-out;
	box-sizing: border-box;
	font-family: var(--wp--preset--font-family--body, inherit);
	font-size: 1rem;
	background: var(--chp-blanc);
	border: 2px solid var(--chp-marine);
	border-radius: 0 0 12px 12px;
	border-top: 1px solid #DDE7EE;
	box-shadow: 0 22px 48px rgba(2, 30, 60, 0.35);
	color: var(--chp-marine);
	left: 0;
	list-style: none;
	margin: 0;
	max-height: min(26rem, 60vh);
	overflow-y: auto;
	padding: 0.35rem;
	position: absolute;
	right: 0;
	text-align: left;
	top: 100%;
	z-index: 60;
}

.chp-recherche__sugg {
	align-items: center;
	animation: chp-sugg-item 0.22s ease-out both;
	animation-delay: calc(var(--chp-rang, 0) * 28ms);
	border-radius: 8px;
	cursor: pointer;
	display: flex;
	gap: 0.75rem;
	padding: 0.55rem 0.7rem;
}

.chp-recherche__sugg[aria-selected="true"] {
	background: #E8F3F2;
}

.chp-recherche__sugg-type {
	background: #E8F3F2;
	border-radius: 999px;
	color: var(--chp-turquoise-web);
	flex: 0 0 auto;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	min-width: 6.2rem;
	padding: 0.2rem 0.55rem;
	text-align: center;
	text-transform: uppercase;
}

.chp-recherche__sugg-type--medecin { background: #EEF3E0; color: #4F6B0E; }
.chp-recherche__sugg-type--page { background: #EEF1F5; color: var(--chp-marine); }
.chp-recherche__sugg-type--recrutement { background: #FCEDEA; color: #A33A2A; }

.chp-recherche__sugg[aria-selected="true"] .chp-recherche__sugg-type {
	background: var(--chp-blanc);
}

.chp-recherche__sugg-texte {
	display: grid;
	min-width: 0;
}

.chp-recherche__sugg-titre {
	font-weight: 700;
	line-height: 1.3;
}

.chp-recherche__sugg-meta {
	color: var(--chp-gris-texte);
	font-size: 0.82rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.chp-recherche__sugg--tout {
	border-top: 1px solid #E3EAF0;
	border-radius: 0 0 8px 8px;
	color: var(--chp-turquoise-web);
	margin-top: 0.25rem;
}

.chp-recherche__sugg--tout .chp-recherche__sugg-titre::before {
	content: "\2315\00a0";
}

.chp-recherche__suggestions mark {
	background: linear-gradient(transparent 55%, rgba(148, 193, 31, 0.45) 55%);
	color: inherit;
	padding: 0;
}

@media (max-width: 600px) {
	.chp-recherche__sugg-type {
		min-width: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.chp-recherche__suggestions,
	.chp-recherche__sugg {
		animation: none;
	}
}

/* ==========================================================================
   Accueil : pôles de soins, parcours, espaces dédiés (thème v1.27)
   ========================================================================== */

/* Titres de section : le trait de couleur se dessine quand la section apparaît */
.chp-js .chp-section--anim > .wp-block-heading::after,
.chp-js .chp-section--anim .wp-block-group > .wp-block-heading::after {
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.9s cubic-bezier(0.2, 0.7, 0.2, 1) 0.15s;
}

.chp-js .chp-section--anim.is-vue > .wp-block-heading::after,
.chp-js .chp-section--anim.is-vue .wp-block-group > .wp-block-heading::after {
	transform: scaleX(1);
}

.chp-poles__tete .wp-block-heading,
.chp-parcours__tete .wp-block-heading,
.chp-espaces__tete .wp-block-heading {
	padding-bottom: 0.6rem;
	position: relative;
}

.chp-poles__tete .wp-block-heading::after,
.chp-parcours__tete .wp-block-heading::after,
.chp-espaces__tete .wp-block-heading::after {
	background: linear-gradient(90deg, var(--chp-turquoise) 0 60%, var(--chp-jaune) 60% 100%);
	border-radius: 2px;
	bottom: 0;
	content: "";
	height: 4px;
	left: 0;
	position: absolute;
	width: 4.5rem;
}

.chp-poles__intro,
.chp-parcours__intro {
	color: var(--chp-gris-texte);
	font-size: var(--wp--preset--font-size--medium, 1.125rem);
	max-width: 46rem;
}

/* ---------- Pôles de soins ---------- */

.chp-poles {
	background:
		radial-gradient(rgba(2, 48, 89, 0.06) 1px, transparent 1.2px) 0 0 / 22px 22px,
		var(--chp-blanc);
	padding-bottom: clamp(2.5rem, 5vw, 4.5rem);
	padding-top: clamp(2.5rem, 5vw, 4.5rem);
}

.chp-poles__chiffres {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin: 0 0 1.75rem;
}

.chp-poles__chiffre {
	align-items: baseline;
	background: var(--chp-blanc);
	border: 1px solid rgba(2, 48, 89, 0.12);
	border-radius: 999px;
	box-shadow: 0 4px 14px rgba(2, 48, 89, 0.06);
	color: var(--chp-marine);
	display: inline-flex;
	gap: 0.4rem;
	padding: 0.45rem 1.1rem;
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.chp-poles__chiffre .chp-chiffre {
	color: var(--chp-turquoise-web);
	font-size: 1.6rem;
	font-weight: 800;
	line-height: 1;
}

a.chp-poles__chiffre:hover,
a.chp-poles__chiffre:focus-visible {
	border-color: var(--chp-turquoise);
	box-shadow: 0 10px 24px rgba(2, 48, 89, 0.12);
	transform: translateY(-2px);
}

.chp-poles__grille {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 13.5rem), 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.chp-poles__carte {
	--chp-c: var(--chp-turquoise);
	background: var(--chp-blanc);
	border: 1px solid rgba(2, 48, 89, 0.1);
	border-radius: 14px;
	box-shadow: var(--chp-ombre);
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	isolation: isolate;
	overflow: hidden;
	padding: 1.1rem 1.1rem 1rem;
	position: relative;
	transition: transform 0.25s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.25s ease;
}

.chp-poles__carte:nth-child(5n+2) { --chp-c: var(--chp-jaune); }
.chp-poles__carte:nth-child(5n+3) { --chp-c: var(--chp-marine); }
.chp-poles__carte:nth-child(5n+4) { --chp-c: var(--chp-vert); }
.chp-poles__carte:nth-child(5n+5) { --chp-c: #E8705F; }

/* Bandeau de couleur qui s'élargit au survol */
.chp-poles__carte::before {
	background: var(--chp-c);
	content: "";
	height: 5px;
	inset: 0 0 auto 0;
	position: absolute;
	transition: height 0.3s cubic-bezier(0.2, 0.7, 0.2, 1);
	z-index: -1;
}

.chp-poles__carte:hover,
.chp-poles__carte:focus-within {
	box-shadow: 0 16px 34px rgba(2, 48, 89, 0.16);
	transform: translateY(-4px);
}

.chp-poles__carte:hover::before,
.chp-poles__carte:focus-within::before {
	height: 100%;
	opacity: 0.08;
}

.chp-poles__nom {
	font-size: 1.05rem;
	line-height: 1.3;
	margin: 0.25rem 0 0;
}

.chp-poles__nom a {
	color: var(--chp-marine);
	text-decoration: none;
}

/* Toute la carte mène aux services du pôle */
.chp-poles__nom a::after {
	content: "";
	inset: 0;
	position: absolute;
	z-index: 0;
}

.chp-poles__nom a:focus-visible {
	outline: none;
}

.chp-poles__nom a:focus-visible::after {
	border-radius: 14px;
	outline: 3px solid var(--chp-turquoise-web);
	outline-offset: -3px;
}

.chp-poles__nb {
	color: var(--chp-turquoise-web);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	margin: 0;
	text-transform: uppercase;
}

.chp-poles__services {
	font-size: 0.88rem;
	line-height: 1.35;
	list-style: none;
	margin: 0.35rem 0 0;
	padding: 0;
}

.chp-poles__services li {
	margin: 0.2rem 0;
}

.chp-poles__services a {
	color: var(--chp-gris-texte);
	position: relative;
	text-decoration: none;
	z-index: 1;
}

.chp-poles__services a:hover,
.chp-poles__services a:focus-visible {
	color: var(--chp-marine);
	text-decoration: underline;
}

.chp-poles__plus {
	color: var(--chp-turquoise-web);
	font-weight: 700;
}

.chp-poles__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1.75rem;
}

.chp-poles__second {
	background: transparent !important;
	border: 2px solid var(--chp-marine) !important;
	color: var(--chp-marine) !important;
}

.chp-poles__second:hover,
.chp-poles__second:focus-visible {
	background: var(--chp-marine) !important;
	color: var(--chp-blanc) !important;
}

/* ---------- Parcours ---------- */

.chp-parcours {
	background: var(--chp-fond);
	padding-bottom: clamp(2.5rem, 5vw, 4.5rem);
	padding-top: clamp(2.5rem, 5vw, 4.5rem);
}

.chp-parcours__frise {
	counter-reset: etape;
	display: grid;
	gap: clamp(1rem, 2vw, 1.5rem);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
	margin-top: 1.5rem;
	position: relative;
}

/* Ligne qui relie les étapes, tracée à l'apparition (grand écran) */
@media (min-width: 1000px) {
	.chp-parcours__frise::before {
		background: linear-gradient(90deg, var(--chp-turquoise), var(--chp-jaune));
		border-radius: 3px;
		content: "";
		height: 4px;
		left: 2.6rem;
		position: absolute;
		right: 2.6rem;
		top: 1.55rem;
		transform: scaleX(0);
		transform-origin: left;
		transition: transform 1.4s cubic-bezier(0.25, 0.7, 0.2, 1) 0.2s;
	}

	.chp-parcours.is-vue .chp-parcours__frise::before,
	.chp-parcours:not(.chp-section--anim) .chp-parcours__frise::before {
		transform: scaleX(1);
	}
}

.chp-parcours__etape {
	background: var(--chp-blanc);
	border-radius: 14px;
	box-shadow: var(--chp-ombre);
	margin-top: 1.55rem;
	padding: 2.2rem 1.25rem 1.1rem;
	position: relative;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

/* Pictogramme discret en filigrane */
.chp-parcours__etape::after {
	background: var(--chp-turquoise);
	content: "";
	height: 3.2rem;
	-webkit-mask: var(--chp-picto) center / contain no-repeat;
	mask: var(--chp-picto) center / contain no-repeat;
	opacity: 0.12;
	position: absolute;
	right: 1rem;
	top: 1rem;
	transition: opacity 0.25s ease, transform 0.35s ease;
	width: 3.2rem;
}

.chp-parcours__etape:hover,
.chp-parcours__etape:focus-within {
	box-shadow: 0 16px 34px rgba(2, 48, 89, 0.14);
	transform: translateY(-4px);
}

.chp-parcours__etape:hover::after,
.chp-parcours__etape:focus-within::after {
	opacity: 0.22;
	transform: rotate(-8deg) scale(1.08);
}

.chp-parcours__num {
	align-items: center;
	background: var(--chp-marine);
	border-radius: 50%;
	box-shadow: 0 0 0 6px var(--chp-fond), 0 0 0 8px rgba(25, 133, 126, 0.35);
	color: var(--chp-blanc);
	display: flex;
	font-size: 1.25rem;
	font-weight: 800;
	height: 3.1rem;
	justify-content: center;
	left: 1.25rem;
	margin: 0;
	position: absolute;
	top: -1.55rem;
	transition: background-color 0.25s ease, transform 0.25s ease;
	width: 3.1rem;
}

.chp-parcours__etape:hover .chp-parcours__num {
	background: var(--chp-turquoise-web);
	transform: scale(1.08);
}

.chp-js .chp-parcours.chp-section--anim .chp-parcours__num {
	transform: scale(0.4);
	opacity: 0;
	transition: transform 0.45s cubic-bezier(0.3, 1.5, 0.5, 1), opacity 0.3s ease, background-color 0.25s ease;
}

.chp-js .chp-parcours.is-vue .chp-parcours__num {
	opacity: 1;
	transform: none;
}

.chp-js .chp-parcours.is-vue .chp-parcours__etape:nth-child(2) .chp-parcours__num { transition-delay: 0.35s; }
.chp-js .chp-parcours.is-vue .chp-parcours__etape:nth-child(3) .chp-parcours__num { transition-delay: 0.7s; }
.chp-js .chp-parcours.is-vue .chp-parcours__etape:nth-child(4) .chp-parcours__num { transition-delay: 1.05s; }

.chp-parcours__etape h3 {
	font-size: 1.15rem;
	margin: 0 0 0.6rem;
}

.chp-parcours__etape ul {
	font-size: 0.95rem;
	margin: 0;
}

/* Grilles : pas de marge de flux entre cartes (sinon décalage vertical) */
.chp-parcours__frise > *,
.chp-espaces__grille > * {
	margin-block: 0 !important;
}

.chp-parcours__frise {
	padding-top: 1.55rem;
}

.chp-parcours__frise::before {
	margin-top: 1.55rem;
}

/* ---------- Espaces dédiés ---------- */

.chp-espaces {
	padding-bottom: clamp(2.5rem, 5vw, 4.5rem);
	padding-top: clamp(2.5rem, 5vw, 4.5rem);
}

.chp-espaces__grille {
	display: grid;
	gap: clamp(1rem, 2vw, 1.5rem);
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 19rem), 1fr));
	margin-top: 1.25rem;
}

.chp-espaces__carte {
	background: var(--chp-blanc);
	border: 1px solid rgba(2, 48, 89, 0.1);
	border-radius: 16px;
	box-shadow: var(--chp-ombre);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	padding: 1.4rem 1.4rem 1.2rem 1.4rem;
	position: relative;
	transition: transform 0.25s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.25s ease, border-color 0.25s ease;
}

/* Pictogramme dans une pastille dégradée */
.chp-espaces__carte::before {
	background:
		var(--chp-picto) center / 58% no-repeat,
		linear-gradient(135deg, var(--chp-turquoise), var(--chp-marine));
	background-blend-mode: normal;
	border-radius: 14px;
	content: "";
	height: 3.4rem;
	margin-bottom: 0.9rem;
	transition: transform 0.35s cubic-bezier(0.3, 1.4, 0.5, 1);
	width: 3.4rem;
}

/* Le pictogramme (masque noir) est rendu en blanc sur la pastille */
.chp-espaces__carte::after {
	background: var(--chp-blanc);
	content: "";
	height: 2rem;
	left: 2.1rem;
	-webkit-mask: var(--chp-picto) center / contain no-repeat;
	mask: var(--chp-picto) center / contain no-repeat;
	position: absolute;
	top: 2.1rem;
	transition: transform 0.35s cubic-bezier(0.3, 1.4, 0.5, 1);
	width: 2rem;
}

.chp-espaces__carte::before {
	background: linear-gradient(135deg, var(--chp-turquoise), var(--chp-marine));
}

.chp-espaces__carte:nth-child(3n+2)::before { background: linear-gradient(135deg, #7FAE14, var(--chp-turquoise-web)); }
.chp-espaces__carte:nth-child(3n+3)::before { background: linear-gradient(135deg, var(--chp-marine), #3D6E99); }

.chp-espaces__carte:hover,
.chp-espaces__carte:focus-within {
	border-color: rgba(25, 133, 126, 0.4);
	box-shadow: 0 18px 38px rgba(2, 48, 89, 0.15);
	transform: translateY(-5px);
}

.chp-espaces__carte:hover::before,
.chp-espaces__carte:focus-within::before {
	transform: rotate(-6deg) scale(1.06);
}

.chp-espaces__carte:hover::after,
.chp-espaces__carte:focus-within::after {
	transform: rotate(-6deg) scale(1.06);
}

.chp-espaces__carte h3 {
	font-size: 1.2rem;
	margin: 0 0 0.4rem;
}

.chp-espaces__carte p {
	color: var(--chp-gris-texte);
	margin: 0 0 0.9rem;
}

.chp-espaces__lien {
	margin: auto 0 0 !important;
}

.chp-espaces__lien a {
	color: var(--chp-turquoise-web);
	font-weight: 700;
	text-decoration: none;
}

.chp-espaces__lien a::after {
	content: "\2192";
	display: inline-block;
	margin-left: 0.35em;
	transition: transform 0.2s ease;
}

/* Toute la carte est cliquable */
.chp-espaces__lien a::before {
	content: "";
	inset: 0;
	position: absolute;
}

.chp-espaces__carte:hover .chp-espaces__lien a::after {
	transform: translateX(4px);
}

.chp-espaces__lien a:focus-visible {
	outline: none;
}

.chp-espaces__lien a:focus-visible::before {
	border-radius: 16px;
	outline: 3px solid var(--chp-turquoise-web);
	outline-offset: -3px;
}

@media (prefers-reduced-motion: reduce) {
	.chp-poles__carte,
	.chp-poles__carte::before,
	.chp-parcours__etape,
	.chp-parcours__etape::after,
	.chp-parcours__num,
	.chp-espaces__carte,
	.chp-espaces__carte::before,
	.chp-espaces__carte::after,
	.chp-parcours__frise::before {
		transition: none !important;
	}

	.chp-poles__carte:hover,
	.chp-parcours__etape:hover,
	.chp-espaces__carte:hover {
		transform: none;
	}
}

/* ==========================================================================
   Volets de sélection (formations) — bandeau bleu, comme l'ancien site
   ========================================================================== */

.wp-block-post-content .wp-block-details.is-style-chp-volet {
	border: 0;
	border-radius: 10px;
	box-shadow: none;
	margin-top: 0.6rem;
	overflow: hidden;
	scroll-margin-top: 7rem;
}

.wp-block-post-content .wp-block-details.is-style-chp-volet > summary {
	background: linear-gradient(90deg, var(--chp-marine), #0B4A80);
	color: var(--chp-blanc);
	cursor: pointer;
	font-size: clamp(1.1rem, 2vw, 1.4rem);
	line-height: 1.3;
	padding: 1rem 1.25rem 1rem 3.2rem;
	transition: background 0.25s ease;
}

.wp-block-post-content .wp-block-details.is-style-chp-volet > summary:hover {
	background: linear-gradient(90deg, #0B4A80, var(--chp-turquoise-web));
}

.wp-block-post-content .wp-block-details.is-style-chp-volet > summary:focus-visible {
	outline: 3px solid var(--chp-jaune);
	outline-offset: -3px;
}

/* Chevron vert : « › » fermé, « ⌄ » ouvert */
.wp-block-post-content .wp-block-details.is-style-chp-volet > summary::after {
	border-bottom: 3px solid var(--chp-jaune);
	border-right: 3px solid var(--chp-jaune);
	content: "";
	height: 0.6rem;
	left: 1.35rem;
	right: auto;
	top: 50%;
	transform: translateY(-50%) rotate(-45deg);
	transition: transform 0.25s ease;
	width: 0.6rem;
}

.wp-block-post-content .wp-block-details.is-style-chp-volet[open] > summary {
	background: #EEF2F6;
	color: var(--chp-marine);
}

.wp-block-post-content .wp-block-details.is-style-chp-volet[open] > summary::after {
	border-color: var(--chp-marine);
	transform: translateY(-70%) rotate(45deg);
}

.wp-block-post-content .wp-block-details.is-style-chp-volet > :not(summary) {
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

.wp-block-post-content .wp-block-details.is-style-chp-volet > :nth-child(2) {
	padding-top: 1rem;
}

.wp-block-post-content .wp-block-details.is-style-chp-volet[open] {
	background: var(--chp-blanc);
	box-shadow: 0 0 0 1px #DDE5EC, var(--chp-ombre);
}

.chp-boutons-fpc {
	gap: 0.75rem;
	padding-bottom: 0.4rem !important;
	padding-top: 0.4rem !important;
}

.chp-boutons-fpc .wp-block-button__link::before {
	background: currentColor;
	content: "";
	display: inline-block;
	height: 1.05em;
	margin-right: 0.45em;
	-webkit-mask: var(--chp-picto-document) center / contain no-repeat;
	mask: var(--chp-picto-document) center / contain no-repeat;
	vertical-align: -0.15em;
	width: 1.05em;
}

.chp-boutons-fpc .wp-block-button__link::after {
	content: "\2197";
	margin-left: 0.4em;
}

.chp-note {
	color: var(--chp-gris-texte);
	font-size: 0.9rem;
}

/* Encart « Sélection FPC » dans la carte Formation de l'accueil */
.chp-rejoindre__alerte {
	background: rgba(148, 193, 31, 0.12);
	border-left: 4px solid var(--chp-jaune);
	border-radius: 0 8px 8px 0;
	font-size: 0.95rem;
	padding: 0.65rem 0.9rem;
}

/* Lien signalé « Nouveau » dans le menu */
.chp-menu-nouveau .wp-block-navigation-item__label::after {
	background: var(--chp-jaune);
	border-radius: 999px;
	color: var(--chp-marine);
	content: "Nouveau";
	font-size: 0.68rem;
	font-weight: 700;
	margin-left: 0.5em;
	padding: 0.1em 0.5em;
	vertical-align: 0.1em;
}

/* ==========================================================================
   « Le Centre Hospitalier de Perpignan recrute » + chiffres-clés (accueil)
   ========================================================================== */

.chp-cles {
	background: var(--chp-blanc);
	padding-bottom: clamp(2.5rem, 5vw, 4.5rem);
	padding-top: clamp(2.5rem, 5vw, 4.5rem);
}

.chp-section.chp-cles > .chp-cles__titre {
	font-size: clamp(1.6rem, 3.4vw, 2.4rem);
	margin-bottom: 2rem;
	padding-bottom: 0;
	text-align: center;
}

.chp-cles__accent {
	color: var(--chp-jaune);
	display: inline-block;
	position: relative;
}

/* Coup de pinceau bleu sous « recrute » */
.chp-cles__accent::after {
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 140 20'%3E%3Cpath d='M3 12c30-8 85-10 134-3' fill='none' stroke='%231A8FD0' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
	bottom: -0.55em;
	content: "";
	height: 0.45em;
	left: -3%;
	position: absolute;
	transform-origin: left;
	width: 106%;
}

/* Le trait générique des titres de section est remplacé par le pinceau */
.chp-section.chp-cles > .chp-cles__titre::after {
	display: none;
}

.chp-js .chp-cles.chp-section--anim .chp-cles__accent::after {
	clip-path: inset(0 100% 0 0);
	transition: clip-path 0.9s cubic-bezier(0.3, 0.7, 0.2, 1) 0.2s;
}

.chp-js .chp-cles.is-vue .chp-cles__accent::after {
	clip-path: inset(0 0 0 0);
}

.chp-cles__texte {
	color: var(--chp-gris-texte);
	line-height: 1.7;
	text-align: justify;
	hyphens: auto;
}

.chp-cles__texte strong {
	color: var(--chp-marine);
}

.chp-cles__sous-titre {
	color: var(--chp-marine);
	font-size: clamp(1.6rem, 3vw, 2.2rem);
	margin: clamp(2rem, 4vw, 3rem) auto 1.5rem;
	padding-bottom: 0.7rem;
	position: relative;
	text-align: center;
	width: fit-content;
}

/* Vague verte sous « Chiffres-clés » (remplace le trait générique des titres) */
.chp-section.chp-cles > .chp-cles__sous-titre::after,
.chp-js .chp-section--anim.chp-cles > .chp-cles__sous-titre::after {
	border-radius: 0;
	width: auto;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 8'%3E%3Cpath d='M0 4c3 0 3-3 6-3s3 3 6 3 3-3 6-3 3 3 6 3' fill='none' stroke='%2394C11F' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") 0 0 / 24px 100% repeat-x;
	bottom: 0;
	content: "";
	height: 0.55rem;
	left: -0.5rem;
	position: absolute;
	right: -0.5rem;
	transform-origin: left;
}

.chp-cles__grille {
	display: grid;
	gap: clamp(1rem, 3vw, 2rem);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
	text-align: center;
}

.chp-cles__grille > * {
	margin-block: 0 !important;
}

.chp-cles__item {
	border-radius: 16px;
	padding: 0.75rem 0.5rem 1rem;
	transition: background-color 0.25s ease, transform 0.25s ease;
}

.chp-cles__item:hover {
	background: var(--chp-fond);
	transform: translateY(-3px);
}

.chp-cles .chp-chiffre {
	color: var(--chp-marine);
	font-size: clamp(2.6rem, 6vw, 4.2rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.05;
	margin: 0;
}

.chp-cles__item:nth-child(even) .chp-chiffre {
	color: #1A8FD0;
}

.chp-cles__libelle {
	color: var(--chp-gris-texte);
	font-size: 1.1rem;
	margin: 0.4rem 0 0;
}

/* Page « Chiffres clés » : même grille dans le contenu */
.wp-block-post-content .chp-cles__grille {
	margin: 1.5rem 0;
}

.wp-block-post-content .chp-cles__item .chp-chiffre {
	color: var(--chp-marine);
	font-size: clamp(2.4rem, 5vw, 3.4rem);
	font-weight: 800;
	line-height: 1.05;
	margin: 0;
}

.wp-block-post-content .chp-cles__item:nth-child(even) .chp-chiffre {
	color: #1A8FD0;
}

/* Bandeau final : « Suivez-nous » seul, centré */
.chp-soutenir__grille--seul {
	display: flex !important;
	justify-content: center;
	text-align: center;
}

.chp-soutenir__grille--seul .chp-soutenir__bloc {
	align-items: center;
	max-width: 40rem;
}

.chp-soutenir__grille--seul .chp-soutenir__titre {
	text-align: center;
}

.chp-soutenir__grille--seul .chp-reseaux,
.chp-soutenir__grille--seul .wp-block-social-links {
	justify-content: center !important;
}

@media (prefers-reduced-motion: reduce) {
	.chp-cles__item,
	.chp-cles__accent::after,
	.wp-block-post-content .wp-block-details.is-style-chp-volet > summary::after {
		transition: none !important;
	}
}

/* ---------- Tableau des traitements (page Données personnelles) ---------- */

.chp-tableau-rgpd table {
	border-collapse: collapse;
	font-size: 0.92rem;
	width: 100%;
}

.chp-tableau-rgpd th {
	background: var(--chp-marine);
	color: var(--chp-blanc);
	text-align: left;
}

.chp-tableau-rgpd th,
.chp-tableau-rgpd td {
	border: 1px solid #DDE5EC;
	padding: 0.6rem 0.75rem;
	vertical-align: top;
}

.chp-tableau-rgpd tbody tr:nth-child(even) td {
	background: #F6F9FB;
}

.chp-tableau-rgpd td:first-child {
	color: var(--chp-marine);
	font-weight: 700;
}

/* Sur mobile : une carte par traitement, chaque cellule précédée de son intitulé */
@media (max-width: 781px) {
	.chp-tableau-rgpd thead {
		clip: rect(0 0 0 0);
		height: 1px;
		overflow: hidden;
		position: absolute;
		width: 1px;
	}

	.chp-tableau-rgpd tr {
		border: 1px solid #DDE5EC;
		border-radius: 10px;
		display: block;
		margin-bottom: 0.9rem;
		overflow: hidden;
	}

	.chp-tableau-rgpd td {
		border: 0;
		border-top: 1px solid #EEF2F6;
		display: block;
	}

	.chp-tableau-rgpd td:first-child {
		background: var(--chp-marine) !important;
		border-top: 0;
		color: var(--chp-blanc);
	}

	.chp-tableau-rgpd td:nth-child(2)::before { content: "Données : "; font-weight: 700; }
	.chp-tableau-rgpd td:nth-child(3)::before { content: "Pourquoi : "; font-weight: 700; }
	.chp-tableau-rgpd td:nth-child(4)::before { content: "Base légale : "; font-weight: 700; }
	.chp-tableau-rgpd td:nth-child(5)::before { content: "Durée : "; font-weight: 700; }
}

/* ---------- Plan du site ([chp_plan_du_site]) ---------- */

.chp-plan__sommaire ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	list-style: none;
	margin: 0 0 2rem;
	padding: 0;
}

.chp-plan__sommaire a {
	border: 1px solid rgba(2, 48, 89, 0.18);
	border-radius: 999px;
	color: var(--chp-marine);
	display: inline-block;
	font-size: 0.9rem;
	font-weight: 700;
	padding: 0.4rem 0.9rem;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.chp-plan__sommaire a:hover,
.chp-plan__sommaire a:focus-visible {
	background: var(--chp-marine);
	color: var(--chp-blanc);
}

/* Le plan occupe toute la largeur utile, au-delà de la colonne de lecture */
.chp-plan {
	left: 50%;
	position: relative;
	translate: -50% 0;
	width: min(75rem, calc(100vw - 2.5rem));
}

.chp-plan__grille {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 24rem), 1fr));
	align-items: start;
}

.chp-plan__rubrique {
	background: var(--chp-blanc);
	border: 1px solid rgba(2, 48, 89, 0.1);
	border-top: 4px solid var(--chp-turquoise);
	border-radius: 14px;
	box-shadow: var(--chp-ombre);
	padding: 1.25rem 1.4rem 1.4rem;
	scroll-margin-top: 7rem;
}

.chp-plan__rubrique:nth-child(5n+2) { border-top-color: var(--chp-vert); }
.chp-plan__rubrique:nth-child(5n+3) { border-top-color: var(--chp-jaune); }
.chp-plan__rubrique:nth-child(5n+4) { border-top-color: var(--chp-marine); }
.chp-plan__rubrique:nth-child(5n+5) { border-top-color: #E8705F; }

.chp-plan__titre {
	font-size: 1.35rem;
	margin: 0 0 0.75rem;
}

.chp-plan__titre a {
	color: var(--chp-marine);
	text-decoration: none;
}

.chp-plan__titre a:hover {
	text-decoration: underline;
}

.chp-plan__liste,
.chp-plan__liste ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.chp-plan__liste li {
	line-height: 1.4;
	margin: 0.3rem 0;
}

.chp-plan__liste > li > a {
	font-weight: 700;
}

.chp-plan__liste a {
	color: var(--chp-marine);
	text-decoration-color: rgba(2, 48, 89, 0.3);
	text-underline-offset: 0.18em;
}

.chp-plan__liste a:hover {
	color: var(--chp-turquoise-web);
	text-decoration-color: currentColor;
}

.chp-plan__liste ul {
	border-left: 2px solid rgba(25, 133, 126, 0.25);
	font-size: 0.93rem;
	margin: 0.3rem 0 0.5rem 0.3rem;
	padding-left: 0.9rem;
}

.chp-plan__liste ul a {
	font-weight: 400;
}

.chp-plan__annuaire > a::before {
	content: "\2630\00a0";
	color: var(--chp-turquoise-web);
}

.chp-plan__compte {
	color: var(--chp-gris-texte);
	font-size: 0.85rem;
}

@media print {
	.chp-plan__sommaire { display: none; }
	.chp-plan__rubrique { box-shadow: none; break-inside: avoid; }
}

/* ---------- Apparition au défilement ---------- */

.chp-revele {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity 0.6s ease var(--chp-delai, 0ms), transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1) var(--chp-delai, 0ms);
}

.chp-revele.is-visible {
	opacity: 1;
	transform: none;
}

/* Une fois apparue, la carte retrouve ses effets de survol normaux */
.chp-revele.is-visible:hover {
	transition-delay: 0ms;
}

/* ---------- Retour en haut ---------- */

.chp-haut {
	background: var(--chp-marine);
	border-radius: 50%;
	bottom: 1.25rem;
	box-shadow: var(--chp-ombre-forte);
	height: 3rem;
	opacity: 0;
	position: fixed;
	right: 1.25rem;
	transform: translateY(12px);
	transition: opacity var(--chp-transition), transform var(--chp-transition), visibility var(--chp-transition);
	visibility: hidden;
	width: 3rem;
	z-index: 40;
}

.chp-haut::before {
	background-color: var(--chp-blanc);
	content: "";
	inset: 0.85rem;
	-webkit-mask: var(--chp-picto-fleche) center / contain no-repeat;
	mask: var(--chp-picto-fleche) center / contain no-repeat;
	position: absolute;
	transform: rotate(-90deg);
}

.chp-haut.is-visible {
	opacity: 1;
	transform: none;
	visibility: visible;
}

.chp-haut:hover {
	background: var(--chp-turquoise-web);
}

.chp-haut:focus-visible {
	outline-color: var(--chp-jaune);
}

/* ---------- Barre d'actions mobile ---------- */

.chp-barre-mobile {
	display: none;
}

@media (max-width: 781px) {
	.chp-barre-mobile {
		background: var(--chp-marine);
		bottom: 0;
		box-shadow: 0 -4px 16px rgba(2, 48, 89, 0.2);
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		left: 0;
		margin: 0 !important;
		padding-bottom: env(safe-area-inset-bottom);
		position: fixed;
		right: 0;
		z-index: 45;
	}

	.chp-barre-mobile p {
		margin: 0 !important;
	}

	.chp-barre-mobile a {
		color: var(--chp-blanc);
		display: block;
		font-size: 0.85rem;
		font-weight: 600;
		line-height: 1.2;
		padding: 0.8rem 0.25rem;
		text-align: center;
		text-decoration: none;
	}

	.chp-barre-mobile p + p a {
		border-left: 1px solid rgba(255, 255, 255, 0.15);
	}

	.chp-barre-mobile__urgence a {
		background: var(--chp-rouge);
		color: var(--chp-marine);
	}

	body {
		padding-bottom: 3.25rem;
	}

	.chp-haut {
		bottom: 4.5rem;
	}
}

/* ---------- Divers ---------- */

.chp-logo-defaut img {
	height: auto;
	width: 210px;
}

@media (min-width: 1280px) and (max-width: 1399px) {
	.chp-entete .wp-block-site-logo img {
		width: 180px !important;
		height: auto;
	}

	.chp-entete__actions .wp-block-button__link {
		padding-left: 1rem;
		padding-right: 1rem;
	}
}

@media (max-width: 600px) {
	.chp-logo-defaut img {
		width: 150px;
	}
}

.chp-section--une {
	padding-top: var(--wp--preset--spacing--50);
}

.chp-carrousel .chp-diapo {
	border-radius: 16px;
}

@media print {
	.chp-haut,
	.chp-barre-mobile,
	.chp-outils__boutons,
	.chp-sommaire {
		display: none !important;
	}

	.chp-revele {
		opacity: 1 !important;
		transform: none !important;
	}

	body {
		padding-bottom: 0 !important;
	}
}

@media print {
	.chp-entete,
	.chp-pied,
	.chp-alerte,
	.chp-recherche,
	.chp-sous-pages {
		display: none !important;
	}

	.chp-bandeau-titre::after {
		display: none;
	}

	a[href^="http"]::after {
		content: " (" attr(href) ")";
		font-size: 0.85em;
	}
}

/* ==========================================================================
   v1.7 — Réseaux sociaux (pied de page, Contact, Communication et presse)
   Icônes monochromes aux couleurs de la charte ; libellé lu par les lecteurs d'écran.
   ========================================================================== */
.wp-block-social-links.chp-reseaux {
	gap: 0.6rem;
	margin: 0.5rem 0 1rem;
	padding: 0;
}

.wp-block-social-links.chp-reseaux .wp-social-link {
	background: var(--chp-marine) !important;
	border-radius: 50%;
	color: var(--chp-blanc) !important;
	transition: background-color 0.15s ease, transform 0.15s ease;
}

.wp-block-social-links.chp-reseaux .wp-social-link a {
	align-items: center;
	display: flex;
	height: 2.75rem;
	justify-content: center;
	padding: 0;
	width: 2.75rem;
}

.wp-block-social-links.chp-reseaux .wp-social-link svg {
	fill: currentColor;
	height: 1.3rem;
	width: 1.3rem;
}

.wp-block-social-links.chp-reseaux .wp-social-link:hover {
	background: var(--chp-turquoise-web) !important;
	transform: translateY(-2px);
}

.wp-block-social-links.chp-reseaux a:focus-visible {
	border-radius: 50%;
	outline: 3px solid var(--chp-turquoise-web);
	outline-offset: 3px;
}

/* Dans le pied de page (fond marine) */
.chp-pied .chp-pied__suivre {
	font-weight: 700;
	margin-bottom: 0;
	margin-top: 1.25rem;
}

.chp-pied .wp-block-social-links.chp-reseaux .wp-social-link {
	background: rgba(255, 255, 255, 0.12) !important;
}

.chp-pied .wp-block-social-links.chp-reseaux .wp-social-link:hover {
	background: var(--chp-jaune) !important;
	color: var(--chp-marine) !important;
}

.chp-pied .wp-block-social-links.chp-reseaux a:focus-visible {
	outline-color: var(--chp-jaune);
}

@media (prefers-reduced-motion: reduce) {
	.wp-block-social-links.chp-reseaux .wp-social-link {
		transition: none;
	}

	.wp-block-social-links.chp-reseaux .wp-social-link:hover {
		transform: none;
	}
}

/* ==========================================================================
   v1.9 — Accès direct (accueil, sous le carrousel)
   Pictogrammes de l'ancien site, rangée centrée, apparition en cascade,
   halo et rebond du pictogramme au survol. Toute la vignette est cliquable.
   ========================================================================== */
.chp-acces-direct {
	overflow: hidden;
	padding-bottom: clamp(2rem, 4vw, 3.25rem);
	padding-top: clamp(2rem, 4vw, 3.25rem);
}

.chp-acces-direct__titre {
	color: var(--chp-marine);
	font-size: clamp(1.6rem, 3vw, 2.3rem);
	letter-spacing: 0.04em;
	margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
	text-align: center;
	text-transform: uppercase;
}

.chp-section.chp-acces-direct > .chp-acces-direct__titre::after {
	left: 50%;
	transform: translateX(-50%);
}

.chp-acces-direct__liste {
	display: grid;
	gap: 0.5rem;
	grid-template-columns: repeat(3, minmax(0, 11rem));
	justify-content: center;
	margin-left: auto !important;
	margin-right: auto !important;
}

@media (min-width: 1100px) {
	.chp-acces-direct__liste {
		gap: 1rem;
		grid-template-columns: repeat(6, minmax(0, 12.5rem));
	}
}

.chp-acces-direct__liste > .chp-ad {
	align-items: center;
	border-radius: 14px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	margin: 0 !important;
	padding: 1.25rem 0.75rem 1.1rem;
	position: relative;
	text-align: center;
	transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1.2), box-shadow 0.35s ease, background-color 0.35s ease;
}

/* Halo derrière le pictogramme */
.chp-ad a::before {
	background: radial-gradient(circle, rgba(148, 193, 31, 0.22) 0 55%, rgba(148, 193, 31, 0) 70%);
	border-radius: 50%;
	content: "";
	height: 6.5rem;
	left: 50%;
	pointer-events: none;
	position: absolute;
	top: 0.2rem;
	transform: translateX(-50%) scale(0.3);
	opacity: 0;
	transition: transform 0.45s cubic-bezier(0.2, 0.8, 0.2, 1.3), opacity 0.3s ease;
	width: 6.5rem;
	z-index: 0;
}

/* Pictogramme */
.chp-ad::before {
	background: var(--chp-ad-img) center / contain no-repeat;
	content: "";
	display: block;
	height: 4.5rem;
	position: relative;
	transform-origin: 50% 80%;
	width: 4.5rem;
	z-index: 1;
}

.chp-ad--ecran { --chp-ad-img: url("../images/acces-direct/ecran.png"); }
.chp-ad--microscope { --chp-ad-img: url("../images/acces-direct/microscope.png"); }
.chp-ad--maison { --chp-ad-img: url("../images/acces-direct/maison.png"); }
.chp-ad--document { --chp-ad-img: url("../images/acces-direct/document.png"); }
.chp-ad--familles { --chp-ad-img: url("../images/acces-direct/familles.png"); }
.chp-ad--diplome { --chp-ad-img: url("../images/acces-direct/diplome.png"); }

/* Filet sous le pictogramme */
.chp-ad::after {
	background: #DADADA;
	border-radius: 3px;
	content: "";
	height: 7px;
	margin: 1rem 0 0.8rem;
	order: 1;
	transition: width 0.35s cubic-bezier(0.2, 0.8, 0.2, 1.2), background 0.35s ease;
	width: 3rem;
}

.chp-ad a {
	color: var(--chp-gris-texte);
	font-size: 0.95rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	line-height: 1.35;
	order: 2;
	text-decoration: none;
	text-transform: uppercase;
	transition: color 0.25s ease;
}

/* Toute la vignette est cliquable */
.chp-ad a::after {
	border-radius: 14px;
	content: "";
	inset: 0;
	position: absolute;
	z-index: 2;
}

/* Survol et focus clavier */
.chp-ad:hover,
.chp-ad:focus-within {
	background: var(--chp-blanc);
	box-shadow: 0 14px 30px rgba(2, 48, 89, 0.12), 0 2px 6px rgba(2, 48, 89, 0.06);
	transform: translateY(-6px);
}

.chp-ad:hover a::before,
.chp-ad:focus-within a::before {
	opacity: 1;
	transform: translateX(-50%) scale(1);
}

.chp-ad:hover::before,
.chp-ad:focus-within::before {
	animation: chp-ad-rebond 0.6s cubic-bezier(0.3, 0.7, 0.3, 1.4);
}

.chp-ad:hover::after,
.chp-ad:focus-within::after {
	background: linear-gradient(90deg, var(--chp-turquoise) 0%, var(--chp-jaune) 100%);
	width: 5rem;
}

.chp-ad:hover a,
.chp-ad:focus-within a {
	color: var(--chp-marine);
}

.chp-ad a:focus-visible {
	outline: none;
}

.chp-ad a:focus-visible::after {
	outline: 3px solid var(--chp-turquoise-web);
	outline-offset: 2px;
}

@keyframes chp-ad-rebond {
	0% { transform: scale(1) rotate(0); }
	35% { transform: scale(1.14) rotate(-5deg); }
	65% { transform: scale(0.97) rotate(3deg); }
	100% { transform: scale(1) rotate(0); }
}

/* Apparition en cascade quand la rangée arrive à l'écran (classe posée par chp-site.js) */
.chp-js .chp-acces-direct__liste:not(.is-visible) > .chp-ad {
	opacity: 0;
	transform: translateY(24px) scale(0.92);
}

.chp-js .chp-acces-direct__liste.is-visible > .chp-ad {
	animation: chp-ad-entree 0.7s cubic-bezier(0.2, 0.8, 0.2, 1.15) backwards;
}

.chp-js .chp-acces-direct__liste.is-visible > .chp-ad:nth-child(2) { animation-delay: 0.08s; }
.chp-js .chp-acces-direct__liste.is-visible > .chp-ad:nth-child(3) { animation-delay: 0.16s; }
.chp-js .chp-acces-direct__liste.is-visible > .chp-ad:nth-child(4) { animation-delay: 0.24s; }
.chp-js .chp-acces-direct__liste.is-visible > .chp-ad:nth-child(5) { animation-delay: 0.32s; }
.chp-js .chp-acces-direct__liste.is-visible > .chp-ad:nth-child(6) { animation-delay: 0.4s; }

@keyframes chp-ad-entree {
	from {
		opacity: 0;
		transform: translateY(24px) scale(0.92);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

/* Mobile : trois vignettes par ligne, plus compactes */
@media (max-width: 599px) {
	.chp-acces-direct__liste {
		gap: 0.25rem;
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.chp-acces-direct__liste > .chp-ad {
		padding: 0.85rem 0.25rem;
	}

	.chp-ad::before {
		height: 3.25rem;
		width: 3.25rem;
	}

	.chp-ad a::before {
		height: 4.75rem;
		top: 0.1rem;
		width: 4.75rem;
	}

	.chp-ad::after {
		height: 5px;
		margin: 0.7rem 0 0.55rem;
		width: 2rem;
	}

	.chp-ad a {
		font-size: 0.74rem;
		hyphens: auto;
		letter-spacing: 0.01em;
	}
}

@media (prefers-reduced-motion: reduce) {
	.chp-acces-direct__liste > .chp-ad,
	.chp-ad::after,
	.chp-ad a::before {
		transition: none;
	}

	.chp-ad:hover,
	.chp-ad:focus-within {
		transform: none;
	}

	.chp-ad:hover::before,
	.chp-ad:focus-within::before,
	.chp-js .chp-acces-direct__liste.is-visible > .chp-ad {
		animation: none;
	}

	.chp-js .chp-acces-direct__liste:not(.is-visible) > .chp-ad {
		opacity: 1;
		transform: none;
	}
}

/* ==========================================================================
   v1.10 — Mes démarches (accueil, sous « Accès direct »)
   Liste à filets comme l'ancien site ; bouton « Toutes les démarches » posé
   au centre du dernier filet. Survol : fond, chevron qui glisse, flèche finale.
   ========================================================================== */
.chp-mes-demarches {
	padding-bottom: clamp(2.5rem, 5vw, 3.75rem);
	padding-top: clamp(1rem, 3vw, 2rem);
}

.chp-mes-demarches > .chp-mes-demarches__titre,
.chp-mes-demarches > .chp-mes-demarches__liste,
.chp-mes-demarches > .chp-mes-demarches__tout {
	max-width: var(--wp--style--global--wide-size, 1200px) !important;
}

.chp-mes-demarches__titre {
	color: var(--chp-marine);
	font-size: clamp(1.6rem, 3vw, 2.3rem);
	letter-spacing: 0.04em;
	margin-bottom: clamp(1rem, 2.5vw, 1.75rem);
	text-transform: uppercase;
}

ul.chp-mes-demarches__liste {
	list-style: none;
	margin-bottom: 0;
	padding: 0;
}

.chp-mes-demarches__liste > li {
	border-bottom: 1px solid #D9DEE3;
	margin: 0;
	position: relative;
}

/* Le dernier filet est porté par le bouton */
.chp-mes-demarches__liste > li:last-child {
	border-bottom: 0;
}

.chp-mes-demarches__liste a {
	align-items: center;
	color: var(--chp-marine);
	display: flex;
	font-size: clamp(1rem, 1.6vw, 1.15rem);
	gap: 0.9rem;
	padding: 1.15rem 3rem 1.15rem 0.6rem;
	position: relative;
	text-decoration: none;
	transition: background-color 0.25s ease, padding 0.3s cubic-bezier(0.2, 0.8, 0.2, 1.2), color 0.25s ease;
}

/* Chevron de tête */
.chp-mes-demarches__liste a::before {
	border-right: 2px solid var(--chp-rouge);
	border-top: 2px solid var(--chp-rouge);
	content: "";
	flex: 0 0 auto;
	height: 0.5rem;
	transform: rotate(45deg);
	transition: transform 0.3s ease, border-color 0.25s ease;
	width: 0.5rem;
}

/* Flèche de fin, visible au survol */
.chp-mes-demarches__liste a::after {
	background: var(--chp-turquoise-web);
	content: "";
	height: 1.25rem;
	opacity: 0;
	position: absolute;
	right: 1rem;
	top: 50%;
	transform: translate(-0.75rem, -50%);
	transition: opacity 0.25s ease, transform 0.3s ease;
	width: 1.25rem;
	-webkit-mask: var(--chp-picto-fleche) center / contain no-repeat;
	mask: var(--chp-picto-fleche) center / contain no-repeat;
}

.chp-mes-demarches__liste a:hover,
.chp-mes-demarches__liste a:focus-visible {
	background: var(--chp-fond);
	color: var(--chp-turquoise-web);
	padding-left: 1.25rem;
}

.chp-mes-demarches__liste a:hover::before,
.chp-mes-demarches__liste a:focus-visible::before {
	border-color: var(--chp-turquoise-web);
	transform: rotate(45deg) translate(2px, -2px);
}

.chp-mes-demarches__liste a:hover::after,
.chp-mes-demarches__liste a:focus-visible::after {
	opacity: 1;
	transform: translate(0, -50%);
}

.chp-mes-demarches__liste a:focus-visible {
	outline-offset: -3px;
}

/* Bouton centré sur le dernier filet */
.chp-mes-demarches__tout {
	margin-top: 0.75rem !important;
	position: relative;
}

.chp-mes-demarches__tout::before {
	background: #D9DEE3;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	right: 0;
	top: 50%;
}

.chp-mes-demarches__tout .wp-block-button {
	position: relative;
}

.chp-mes-demarches__tout .wp-block-button__link {
	box-shadow: 0 0 0 0.75rem var(--chp-blanc);
	letter-spacing: 0.05em;
	padding: 0.85rem 1.75rem;
	text-transform: uppercase;
	transition: background-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.chp-mes-demarches__tout .wp-block-button__link:hover,
.chp-mes-demarches__tout .wp-block-button__link:focus-visible {
	transform: translateY(-2px);
}

/* Apparition en cascade (classe posée par chp-site.js) */
.chp-js .chp-mes-demarches__liste:not(.is-visible) > li {
	opacity: 0;
	transform: translateX(-16px);
}

.chp-js .chp-mes-demarches__liste.is-visible > li {
	animation: chp-dem-entree 0.55s cubic-bezier(0.2, 0.8, 0.2, 1) backwards;
}

.chp-js .chp-mes-demarches__liste.is-visible > li:nth-child(2) { animation-delay: 0.06s; }
.chp-js .chp-mes-demarches__liste.is-visible > li:nth-child(3) { animation-delay: 0.12s; }
.chp-js .chp-mes-demarches__liste.is-visible > li:nth-child(4) { animation-delay: 0.18s; }
.chp-js .chp-mes-demarches__liste.is-visible > li:nth-child(5) { animation-delay: 0.24s; }
.chp-js .chp-mes-demarches__liste.is-visible > li:nth-child(6) { animation-delay: 0.3s; }
.chp-js .chp-mes-demarches__liste.is-visible > li:nth-child(n+7) { animation-delay: 0.36s; }

@keyframes chp-dem-entree {
	from {
		opacity: 0;
		transform: translateX(-16px);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.chp-mes-demarches__liste a,
	.chp-mes-demarches__liste a::before,
	.chp-mes-demarches__liste a::after,
	.chp-mes-demarches__tout .wp-block-button__link {
		transition: none;
	}

	.chp-js .chp-mes-demarches__liste.is-visible > li {
		animation: none;
	}

	.chp-js .chp-mes-demarches__liste:not(.is-visible) > li {
		opacity: 1;
		transform: none;
	}
}

.chp-mes-demarches__tout .wp-block-button,
.chp-mes-demarches__tout .wp-block-button__link {
	flex: 0 0 auto !important;
	width: auto !important;
}

@media (max-width: 599px) {
	.chp-mes-demarches__tout .wp-block-button__link {
		font-size: 0.85rem;
		padding: 0.75rem 1.25rem;
	}

	.chp-mes-demarches__liste a {
		padding-right: 1rem;
	}
}

/* ==========================================================================
   v1.11 — Héros d'accueil et carrousel : lisibilité et effets
   ========================================================================== */

/* ---------- Héros : apparition du texte au chargement ---------- */
@media (prefers-reduced-motion: no-preference) {
	.chp-hero :is(.chp-surtitre, h1, .is-style-chp-chapo, .chp-recherche, .chp-profils__titre, .chp-profils, .chp-numeros) {
		animation: chp-hero-entree 0.8s cubic-bezier(0.2, 0.8, 0.2, 1) backwards;
	}

	.chp-hero h1 { animation-delay: 0.08s; }
	.chp-hero .is-style-chp-chapo { animation-delay: 0.18s; }
	.chp-hero .chp-recherche { animation-delay: 0.28s; }
	.chp-hero .chp-profils__titre { animation-delay: 0.36s; }
	.chp-hero .chp-profils { animation-delay: 0.42s; }
	.chp-hero .chp-numeros { animation-delay: 0.3s; }
}

@keyframes chp-hero-entree {
	from {
		opacity: 0;
		transform: translateY(22px);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

/* Filet de couleur sous le titre */
.chp-hero h1::after {
	background: linear-gradient(90deg, var(--chp-turquoise) 0 55%, var(--chp-jaune) 55% 100%);
	border-radius: 3px;
	content: "";
	display: block;
	height: 5px;
	margin-top: 0.9rem;
	width: 4.5rem;
}

.chp-profils .wp-block-button__link {
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.chp-profils .wp-block-button__link:hover {
	transform: translateY(-2px);
}

/* ---------- Héros avec photo de fond (Groupe > Styles > Image d'arrière-plan,
   ou classe chp-hero--photo) : voile bleu, texte blanc, toujours lisible ---------- */
.chp-hero:is([style*="background-image"], .chp-hero--photo) {
	align-items: center;
	background-position: center;
	background-size: cover;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: clamp(32rem, 72vh, 46rem);
}

.chp-hero:is([style*="background-image"], .chp-hero--photo)::before {
	background:
		linear-gradient(90deg, rgba(2, 48, 89, 0.94) 0%, rgba(2, 48, 89, 0.82) 38%, rgba(2, 48, 89, 0.35) 72%, rgba(2, 48, 89, 0.12) 100%),
		linear-gradient(0deg, rgba(2, 48, 89, 0.55) 0%, rgba(2, 48, 89, 0) 35%);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 0;
}

.chp-hero:is([style*="background-image"], .chp-hero--photo) > * {
	position: relative;
	width: 100%;
	z-index: 1;
}

.chp-hero:is([style*="background-image"], .chp-hero--photo) :is(h1, .is-style-chp-chapo, .chp-profils__titre, .chp-recherche__label, p) {
	color: var(--chp-blanc);
}

.chp-hero:is([style*="background-image"], .chp-hero--photo) h1 {
	max-width: 20ch;
	text-shadow: 0 2px 18px rgba(0, 0, 0, 0.25);
}

.chp-hero:is([style*="background-image"], .chp-hero--photo) .is-style-chp-chapo {
	color: rgba(255, 255, 255, 0.92);
	max-width: 46ch;
}

.chp-hero:is([style*="background-image"], .chp-hero--photo) .chp-surtitre {
	color: var(--chp-jaune);
}

.chp-hero:is([style*="background-image"], .chp-hero--photo) .chp-recherche {
	max-width: 46rem;
}

.chp-hero:is([style*="background-image"], .chp-hero--photo) .chp-recherche input[type="search"] {
	border: 0;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
}

.chp-hero:is([style*="background-image"], .chp-hero--photo) .chp-recherche button[type="submit"] {
	background: var(--chp-jaune);
	color: var(--chp-marine);
	font-weight: 800;
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.chp-hero:is([style*="background-image"], .chp-hero--photo) .chp-recherche button[type="submit"]:hover {
	background: var(--chp-blanc);
	transform: translateY(-2px);
}

.chp-hero:is([style*="background-image"], .chp-hero--photo) .chp-profils .wp-block-button__link {
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	background: rgba(255, 255, 255, 0.14) !important;
	border: 1.5px solid rgba(255, 255, 255, 0.7) !important;
	color: var(--chp-blanc) !important;
}

.chp-hero:is([style*="background-image"], .chp-hero--photo) .chp-profils .wp-block-button__link:hover,
.chp-hero:is([style*="background-image"], .chp-hero--photo) .chp-profils .wp-block-button__link:focus-visible {
	background: var(--chp-blanc) !important;
	border-color: var(--chp-blanc) !important;
	color: var(--chp-marine) !important;
}

.chp-hero:is([style*="background-image"], .chp-hero--photo) a:focus-visible,
.chp-hero:is([style*="background-image"], .chp-hero--photo) button:focus-visible {
	outline-color: var(--chp-jaune);
}

@media (max-width: 781px) {
	.chp-hero:is([style*="background-image"], .chp-hero--photo) {
		min-height: 0;
	}

	.chp-hero:is([style*="background-image"], .chp-hero--photo)::before {
		background: linear-gradient(180deg, rgba(2, 48, 89, 0.9) 0%, rgba(2, 48, 89, 0.82) 60%, rgba(2, 48, 89, 0.7) 100%);
	}
}

/* Accueil : le héros touche l'en-tête */
.wp-site-blocks > main.chp-accueil,
.wp-site-blocks > .chp-accueil {
	margin-block-start: 0;
}

/* ==========================================================================
   v1.12 — Accueil : orientation, démarches + infos pratiques,
   recrutement et formation, soutenir et suivre
   ========================================================================== */

/* ---------- Besoin de soins ? (bandeau bleu) ---------- */
.chp-orientation {
	background:
		radial-gradient(circle at 95% 10%, rgba(25, 133, 126, 0.45) 0 12rem, transparent 12.05rem),
		radial-gradient(circle at 3% 105%, rgba(148, 193, 31, 0.18) 0 10rem, transparent 10.05rem),
		var(--chp-marine);
	color: var(--chp-blanc);
	overflow: hidden;
	padding-bottom: clamp(2.5rem, 5vw, 4rem);
	padding-top: clamp(2.5rem, 5vw, 4rem);
}

.chp-orientation :is(h2, h3, p) {
	color: var(--chp-blanc);
}

.chp-orientation .chp-surtitre {
	color: var(--chp-jaune);
}

.chp-orientation__tete {
	margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
}

.chp-orientation__tete h2 {
	font-size: clamp(1.75rem, 3vw, 2.4rem);
	margin-bottom: 0.4rem;
	margin-top: 0.4rem;
}

.chp-section.chp-orientation .chp-orientation__tete .wp-block-heading::after {
	display: none;
}

.chp-orientation__intro {
	color: rgba(255, 255, 255, 0.85) !important;
	max-width: 60ch;
}

.chp-orientation__grille {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
}

.chp-orientation__carte {
	background: rgba(255, 255, 255, 0.07);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 16px;
	margin: 0 !important;
	padding: 1.5rem 1.4rem 1.4rem;
	position: relative;
	transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1.2), background-color 0.3s ease, border-color 0.3s ease;
}

.chp-orientation__carte::before {
	background: var(--chp-jaune);
	border-radius: 16px 16px 0 0;
	content: "";
	height: 5px;
	left: -1px;
	position: absolute;
	right: -1px;
	top: -1px;
}

.chp-orientation__carte--vital {
	background: var(--chp-rouge);
	border-color: var(--chp-rouge);
}

.chp-orientation__carte--vital::before {
	background: var(--chp-blanc);
}

.chp-orientation__carte--vital :is(h3, p, a) {
	color: var(--chp-marine) !important;
}

.chp-orientation__carte--urgences::before { background: var(--chp-turquoise); }
.chp-orientation__carte--garde::before { background: var(--chp-vert); }

.chp-orientation__carte:hover {
	background-color: rgba(255, 255, 255, 0.12);
	transform: translateY(-4px);
}

.chp-orientation__carte--vital:hover {
	background-color: #F48A80;
}

.chp-orientation__numero {
	font-size: clamp(1.6rem, 2.6vw, 2.2rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	line-height: 1.1;
	margin: 0 0 0.6rem;
}

.chp-orientation__numero span {
	font-size: 0.55em;
	font-weight: 600;
	opacity: 0.85;
}

.chp-orientation__numero a {
	text-decoration: none;
}

.chp-orientation__carte h3 {
	font-size: 1.15rem;
	margin: 0 0 0.4rem;
}

.chp-orientation__carte p:not(.chp-orientation__numero) {
	color: rgba(255, 255, 255, 0.88);
	font-size: 0.95rem;
	line-height: 1.5;
	margin: 0;
}

.chp-orientation__carte a {
	color: inherit;
	font-weight: 700;
}

.chp-orientation a:focus-visible {
	outline-color: var(--chp-jaune);
}

.chp-orientation__carte--vital a:focus-visible {
	outline-color: var(--chp-marine);
}

/* ---------- Mes démarches + carte « Venir au CHP » ---------- */
.chp-demarches-infos {
	align-items: flex-start !important;
	gap: clamp(1.5rem, 4vw, 3.5rem) !important;
}

.chp-mes-demarches--colonnes .chp-mes-demarches__liste a {
	padding-bottom: 1rem;
	padding-top: 1rem;
}

.chp-infos {
	background: var(--chp-fond);
	border-radius: 18px;
	margin-top: 0.5rem;
	padding: clamp(1.4rem, 3vw, 2rem);
	position: relative;
}

.chp-infos::before {
	background: linear-gradient(90deg, var(--chp-turquoise) 0 50%, var(--chp-jaune) 50% 100%);
	border-radius: 18px 18px 0 0;
	content: "";
	height: 5px;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}

.chp-infos__titre {
	color: var(--chp-marine);
	font-size: 1.25rem;
	font-weight: 800;
	margin: 0 0 0.9rem;
}

.chp-infos__titre--second {
	border-top: 1px solid #D9DEE3;
	margin-top: 1.5rem;
	padding-top: 1.25rem;
}

.chp-infos .chp-icone {
	margin: 0 0 0.6rem;
}

.chp-infos .is-style-chp-liens-fleches {
	margin: 1rem 0;
}

.chp-infos__itineraire .wp-block-button__link {
	border-radius: 999px;
}

.chp-infos__trouver {
	gap: 0.5rem !important;
}

.chp-infos__trouver .wp-block-button__link {
	border-radius: 999px;
	font-size: 0.92rem;
	padding: 0.55rem 1.1rem !important;
}

/* ---------- Recrutement et formation ---------- */
.chp-rejoindre {
	padding-bottom: clamp(2.5rem, 5vw, 4rem);
	padding-top: clamp(2.5rem, 5vw, 4rem);
}

.chp-rejoindre__grille {
	display: grid;
	gap: clamp(1rem, 2.5vw, 1.75rem);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr));
}

.chp-rejoindre__carte {
	border-radius: 20px;
	color: var(--chp-blanc);
	margin: 0 !important;
	overflow: hidden;
	padding: clamp(1.75rem, 4vw, 2.75rem);
	position: relative;
	transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1.2), box-shadow 0.35s ease;
}

.chp-rejoindre__carte--emploi {
	background:
		radial-gradient(circle at 105% -5%, rgba(148, 193, 31, 0.35) 0 9rem, transparent 9.05rem),
		radial-gradient(circle at 90% 110%, rgba(102, 204, 153, 0.25) 0 7rem, transparent 7.05rem),
		linear-gradient(135deg, var(--chp-marine) 0%, #0B4A80 100%);
}

.chp-rejoindre__carte--formation {
	background:
		radial-gradient(circle at 105% -5%, rgba(255, 255, 255, 0.16) 0 9rem, transparent 9.05rem),
		radial-gradient(circle at 92% 112%, rgba(148, 193, 31, 0.35) 0 7rem, transparent 7.05rem),
		linear-gradient(135deg, var(--chp-turquoise-web) 0%, #0F5F5A 100%);
}

.chp-rejoindre__carte:hover {
	box-shadow: 0 20px 40px rgba(2, 48, 89, 0.22);
	transform: translateY(-5px);
}

.chp-rejoindre__carte :is(h3, p, a) {
	color: var(--chp-blanc);
}

.chp-rejoindre__carte .chp-surtitre {
	color: var(--chp-jaune);
}

.chp-rejoindre__carte--formation .chp-surtitre {
	color: #D9F08A;
}

.chp-rejoindre__carte h3 {
	font-size: clamp(1.6rem, 2.8vw, 2.2rem);
	margin: 0.4rem 0 0.75rem;
}

.chp-rejoindre__carte p:not(.chp-surtitre) {
	color: rgba(255, 255, 255, 0.9);
	max-width: 48ch;
}

.chp-rejoindre__carte .wp-block-button__link {
	background: var(--chp-blanc) !important;
	border: 0;
	border-radius: 999px;
	color: var(--chp-marine) !important;
	font-weight: 700;
	transition: transform 0.2s ease, background-color 0.2s ease;
}

.chp-rejoindre__carte .wp-block-button__link:hover {
	background: var(--chp-jaune) !important;
	transform: translateY(-2px);
}

.chp-rejoindre__carte .is-style-chp-liens-fleches {
	margin-top: 1.25rem;
}

.chp-rejoindre__carte .is-style-chp-liens-fleches li::before {
	background-color: var(--chp-jaune) !important;
}

.chp-rejoindre__carte a:focus-visible {
	outline-color: var(--chp-jaune);
}

/* ---------- Soutenir l'hôpital et nous suivre ---------- */
.chp-soutenir {
	background: var(--chp-fond);
	padding-bottom: clamp(2rem, 4vw, 3rem);
	padding-top: clamp(2rem, 4vw, 3rem);
}

.chp-soutenir__grille {
	display: grid;
	gap: clamp(1rem, 3vw, 2rem);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr));
}

.chp-soutenir__bloc {
	align-items: flex-start;
	background: var(--chp-blanc);
	border-radius: 16px;
	box-shadow: var(--chp-ombre);
	display: flex;
	flex-direction: column;
	margin: 0 !important;
	padding: 1.5rem 1.75rem;
}

.chp-soutenir__bloc > p {
	margin: 0 0 0.75rem;
}

.chp-soutenir__titre {
	color: var(--chp-marine);
	font-size: 1.3rem;
	font-weight: 800;
	margin-bottom: 0.4rem !important;
}

.chp-soutenir__bloc--don .chp-soutenir__titre::before {
	background: var(--chp-rouge);
	content: "";
	display: inline-block;
	height: 1.1rem;
	margin-right: 0.55rem;
	-webkit-mask: var(--chp-picto-coeur) center / contain no-repeat;
	mask: var(--chp-picto-coeur) center / contain no-repeat;
	vertical-align: -0.1rem;
	width: 1.1rem;
}

.chp-soutenir__bloc .wp-block-button__link {
	border-radius: 999px;
}

.chp-soutenir .wp-block-social-links.chp-reseaux {
	margin-bottom: 0;
}

/* Apparition au défilement (mécanisme chp-revele de chp-site.js) */
@media (max-width: 781px) {
	.chp-infos {
		margin-top: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.chp-orientation__carte,
	.chp-rejoindre__carte,
	.chp-rejoindre__carte .wp-block-button__link {
		transition: none;
	}

	.chp-orientation__carte:hover,
	.chp-rejoindre__carte:hover {
		transform: none;
	}
}

.chp-infos {
	overflow: hidden;
}

.chp-infos::before {
	border-radius: 0;
}

.chp-orientation__carte--garde .chp-orientation__numero {
	font-size: clamp(1.3rem, 2vw, 1.65rem);
	padding-top: 0.2rem;
}

.chp-infos {
	border-radius: 4px 4px 18px 18px;
}

@media (prefers-reduced-motion: reduce) {
	.chp-profils .wp-block-button__link {
		transition: none;
	}

	.chp-profils .wp-block-button__link:hover {
		transform: none;
	}
}

/* ==========================================================================
   v1.14 — Grand carrousel d'accueil (pattern chp/accueil-slider)
   Diapositives pleine largeur (bienvenue puis « À la une »), voile bleu sur
   les photos, recherche et profils fixes au-dessus de toutes les diapositives.
   Sans JavaScript : diapositives empilées puis recherche.
   ========================================================================== */
.chp-carrousel--hero {
	background: var(--chp-marine);
	margin-top: 0 !important;
	overflow: hidden;
	position: relative;
}

.chp-carrousel--hero::after {
	background: linear-gradient(90deg,
		var(--chp-marine) 0 20%,
		var(--chp-turquoise) 20% 40%,
		var(--chp-vert) 40% 60%,
		var(--chp-jaune) 60% 80%,
		var(--chp-rouge) 80% 100%);
	bottom: 0;
	content: "";
	height: 5px;
	left: 0;
	position: absolute;
	right: 0;
	z-index: 4;
}

.chp-carrousel--hero .chp-carrousel__piste {
	border-radius: 0 !important;
	gap: 0;
	margin: 0 !important;
}

.chp-carrousel--hero .chp-diapo {
	align-items: flex-start;
	border-radius: 0 !important;
	min-height: clamp(36rem, 82vh, 50rem) !important;
	padding: clamp(3rem, 9vh, 6rem) 0 16rem;
}

.chp-carrousel--hero .chp-diapo .wp-block-cover__inner-container {
	margin: 0 auto !important;
	max-width: var(--wp--style--global--wide-size, 1200px);
	padding: 0 var(--wp--style--root--padding-right, 1.5rem) 0 var(--wp--style--root--padding-left, 1.5rem);
	width: 100%;
}

.chp-carrousel--hero .chp-diapo .wp-block-cover__inner-container > * {
	max-width: 46rem;
}

.chp-carrousel--hero .chp-diapo .chp-surtitre {
	color: var(--chp-jaune);
	letter-spacing: 0.08em;
}

.chp-carrousel--hero .chp-diapo :is(h1, h2) {
	color: var(--chp-blanc);
	font-size: clamp(2.2rem, 1.2rem + 3.4vw, 3.8rem);
	letter-spacing: -0.01em;
	line-height: 1.08;
	margin: 0.5rem 0 0;
	max-width: 20ch;
	text-shadow: 0 2px 18px rgba(0, 0, 0, 0.25);
}

.chp-carrousel--hero .chp-diapo :is(h1, h2)::after {
	background: linear-gradient(90deg, var(--chp-turquoise) 0 55%, var(--chp-jaune) 55% 100%);
	border-radius: 3px;
	content: "";
	display: block;
	height: 5px;
	margin-top: 0.9rem;
	width: 4.5rem;
}

.chp-carrousel--hero .chp-diapo .is-style-chp-chapo {
	color: rgba(255, 255, 255, 0.92);
	font-size: clamp(1.05rem, 0.95rem + 0.5vw, 1.3rem);
	margin-top: 1rem;
	max-width: 46ch;
}

.chp-carrousel--hero .chp-diapo .wp-element-button {
	background: var(--chp-blanc);
	border: 0;
	border-radius: 999px;
	color: var(--chp-marine);
	font-weight: 700;
	padding: 0.8rem 1.6rem;
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.chp-carrousel--hero .chp-diapo .wp-element-button:hover {
	background: var(--chp-jaune);
	color: var(--chp-marine);
	transform: translateY(-2px);
}

/* Voile : photo assombrie à gauche et en bas (zone de la recherche) */
.chp-carrousel--hero .chp-diapo .wp-block-cover__image-background + .wp-block-cover__background {
	background:
		linear-gradient(0deg, rgba(2, 48, 89, 0.85) 0%, rgba(2, 48, 89, 0) 45%),
		linear-gradient(90deg, rgba(2, 48, 89, 0.94) 0%, rgba(2, 48, 89, 0.8) 38%, rgba(2, 48, 89, 0.3) 72%, rgba(2, 48, 89, 0.1) 100%) !important;
	opacity: 1 !important;
}

/* Diapositive sans photo propre : transparente sur la photo de fond du carrousel,
   avec le même voile bleu (foncé à gauche et en bas pour la lisibilité) */
.chp-carrousel--hero {
	background-color: var(--chp-marine);
	background-position: 50% 55%;
	background-size: cover;
}

.chp-carrousel--hero .chp-diapo,
.chp-carrousel--hero .chp-diapo.has-background-dim {
	background: transparent !important;
}

.chp-carrousel--hero .chp-diapo:not(:has(.wp-block-cover__image-background)) .wp-block-cover__background {
	background:
		linear-gradient(0deg, rgba(2, 48, 89, 0.85) 0%, rgba(2, 48, 89, 0) 45%),
		linear-gradient(90deg, rgba(2, 48, 89, 0.94) 0%, rgba(2, 48, 89, 0.84) 40%, rgba(2, 48, 89, 0.35) 72%, rgba(2, 48, 89, 0.12) 100%) !important;
	opacity: 1 !important;
}

/* Diapositive avec sa propre photo : même voile (quel que soit l'ordre image / voile) */
.chp-carrousel--hero .chp-diapo:has(.wp-block-cover__image-background) .wp-block-cover__background {
	background:
		linear-gradient(0deg, rgba(2, 48, 89, 0.85) 0%, rgba(2, 48, 89, 0) 45%),
		linear-gradient(90deg, rgba(2, 48, 89, 0.94) 0%, rgba(2, 48, 89, 0.84) 40%, rgba(2, 48, 89, 0.35) 72%, rgba(2, 48, 89, 0.12) 100%) !important;
	opacity: 1 !important;
	z-index: 1;
}

@media (max-width: 781px) {
	.chp-carrousel--hero .chp-diapo .wp-block-cover__background {
		background: linear-gradient(180deg, rgba(2, 48, 89, 0.88) 0%, rgba(2, 48, 89, 0.8) 100%) !important;
	}
}

/* Recherche et profils, fixes sur toutes les diapositives */
.chp-hero-slider__bas {
	padding-bottom: clamp(2rem, 5vh, 3.25rem);
	padding-top: 1.5rem;
	position: relative;
	z-index: 3;
}

.chp-hero-slider__recherche {
	max-width: var(--wp--style--global--wide-size, 1200px) !important;
}

.chp-hero-slider__recherche > * {
	max-width: 46rem;
}

.chp-hero-slider__bas :is(.chp-recherche__label, .chp-profils__titre) {
	color: var(--chp-blanc);
}

.chp-hero-slider__bas .chp-recherche {
	margin-top: 0;
}

.chp-hero-slider__bas .chp-recherche input[type="search"] {
	border: 0;
	border-radius: 10px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
	font-size: var(--wp--preset--font-size--large);
	min-height: 3.75rem;
}

.chp-hero-slider__bas .chp-recherche button[type="submit"] {
	background: var(--chp-jaune);
	border-radius: 10px;
	color: var(--chp-marine);
	font-weight: 800;
	min-height: 3.75rem;
	padding-left: 2rem;
	padding-right: 2rem;
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.chp-hero-slider__bas .chp-recherche button[type="submit"]:hover {
	background: var(--chp-blanc);
	transform: translateY(-2px);
}

.chp-hero-slider__bas .chp-profils .wp-block-button__link {
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	background: rgba(255, 255, 255, 0.14) !important;
	border: 1.5px solid rgba(255, 255, 255, 0.7) !important;
	color: var(--chp-blanc) !important;
}

.chp-hero-slider__bas .chp-profils .wp-block-button__link:hover,
.chp-hero-slider__bas .chp-profils .wp-block-button__link:focus-visible {
	background: var(--chp-blanc) !important;
	border-color: var(--chp-blanc) !important;
	color: var(--chp-marine) !important;
}

.chp-carrousel--hero :is(a, button, input):focus-visible {
	outline-color: var(--chp-jaune);
}

/* Avec JavaScript (ordinateur) : recherche posée sur le bas des diapositives */
@media (min-width: 782px) {
	.chp-carrousel--hero.is-actif {
		display: grid;
	}

	.chp-carrousel--hero.is-actif > .chp-carrousel__piste,
	.chp-carrousel--hero.is-actif > .chp-hero-slider__bas {
		grid-area: 1 / 1;
	}

	.chp-carrousel--hero.is-actif > .chp-hero-slider__bas {
		align-self: end;
		pointer-events: none;
	}

	.chp-carrousel--hero.is-actif > .chp-hero-slider__bas :is(.chp-recherche, .chp-profils__titre, .chp-profils .wp-block-button) {
		pointer-events: auto;
	}

	.chp-carrousel--hero .chp-carrousel__commandes {
		z-index: 5;
		bottom: clamp(2rem, 5vh, 3.25rem);
		right: max(1.5rem, calc((100% - var(--wp--style--global--wide-size, 1200px)) / 2));
	}
}

/* Mobile : diapositives puis recherche sur fond marine */
@media (max-width: 781px) {
	.chp-carrousel--hero.is-actif {
		display: flex;
		flex-direction: column;
	}

	.chp-carrousel--hero .chp-diapo {
		min-height: 24rem !important;
		padding: 2.5rem 0 2rem;
	}

	/* Commandes sous les diapositives, centrées */
	.chp-carrousel--hero .chp-carrousel__commandes {
		align-self: center;
		background: transparent;
		margin: 0.25rem 0 0;
		order: 2;
		position: static;
		transform: none;
	}

	.chp-carrousel--hero .chp-hero-slider__bas {
		order: 3;
		padding-top: 1rem;
	}

	.chp-hero-slider__bas {
		background: var(--chp-marine);
		padding-bottom: 2.25rem;
	}
}

/* Entrée du texte sur la diapositive affichée */
@media (prefers-reduced-motion: no-preference) {
	.chp-carrousel--hero.is-actif .chp-diapo.is-active .wp-block-cover__inner-container > * {
		animation: chp-hero-entree 0.8s cubic-bezier(0.2, 0.8, 0.2, 1) backwards;
	}

	.chp-carrousel--hero.is-actif .chp-diapo.is-active .wp-block-cover__inner-container > :nth-child(2) { animation-delay: 0.08s; }
	.chp-carrousel--hero.is-actif .chp-diapo.is-active .wp-block-cover__inner-container > :nth-child(3) { animation-delay: 0.18s; }
	.chp-carrousel--hero.is-actif .chp-diapo.is-active .wp-block-cover__inner-container > :nth-child(n+4) { animation-delay: 0.28s; }

	.chp-hero-slider__bas {
		animation: chp-hero-entree 0.8s cubic-bezier(0.2, 0.8, 0.2, 1) 0.3s backwards;
	}
}

@media (prefers-reduced-motion: reduce) {
	.chp-carrousel--hero .chp-diapo .wp-element-button,
	.chp-hero-slider__bas .chp-recherche button[type="submit"] {
		transition: none;
	}
}

.chp-carrousel--hero.has-background {
	padding: 0 !important;
}

@media (max-width: 781px) {
	.chp-carrousel--hero .chp-carrousel__commandes {
		align-self: stretch;
		background: rgba(2, 48, 89, 0.88);
		border-radius: 0;
		justify-content: center;
		margin: 0;
		inset: auto !important;
		padding: 0.6rem;
		position: relative;
		transform: none !important;
		z-index: 3;
	}
}

.chp-carrousel--hero > * {
	margin-block-start: 0 !important;
}

/* ==========================================================================
   v1.17 — En-tête collant et compact sans clignotement, sous-menus stables
   ========================================================================== */

/* L'en-tête colle en haut de l'écran : la règle sticky est portée par la partie
   de modèle <header> (parent direct de .chp-entete, sinon il défile avec la page). */
.wp-site-blocks > header.wp-block-template-part:has(.chp-entete),
.wp-site-blocks > .wp-block-template-part:has(> .chp-entete) {
	position: sticky;
	top: 0;
	z-index: 60;
}

.admin-bar .wp-site-blocks > .wp-block-template-part:has(> .chp-entete) {
	top: 32px;
}

@media (max-width: 782px) {
	.admin-bar .wp-site-blocks > .wp-block-template-part:has(> .chp-entete) {
		top: 46px;
	}
}

@media (max-width: 600px) {
	.admin-bar .wp-site-blocks > .wp-block-template-part:has(> .chp-entete) {
		top: 0;
	}
}

.chp-entete {
	position: relative;
	top: auto;
}

/* Mode compact (au-delà de 140 px de défilement, retour sous 20 px : voir chp-site.js) :
   la barre urgences / standard se replie, l'en-tête s'affine. */
.chp-defile .chp-barre-haute {
	display: none;
}

/* Pont invisible entre une rubrique et son panneau : le pointeur ne « tombe » plus
   dans l'espace entre les deux (le panneau ne se ferme et ne se rouvre plus). */
@media (min-width: 1280px) {
	.chp-entete .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container::before {
		content: "";
		height: 14px;
		left: 0;
		position: absolute;
		right: 0;
		top: -14px;
	}
}

/* Menu plein écran : pas de défilement de la page derrière */
html:has(.chp-entete .wp-block-navigation__responsive-container.is-menu-open) {
	overflow: hidden;
}

/* Le bandeau cookies s'efface tant que le menu plein écran est ouvert */
html:has(.chp-entete .wp-block-navigation__responsive-container.is-menu-open) .chp-cookies {
	display: none !important;
}

.chp-pied__postal {
	display: inline-block;
	font-size: 0.85em;
	margin-top: 0.3rem;
	opacity: 0.85;
}

/* ==========================================================================
   v1.19 — Annuaire des services : liste « Tous nos services… » et annuaire filtrable
   ========================================================================== */
.chp-choix-service {
	margin: 1rem 0 0;
	max-width: 46rem;
}

.chp-choix-service__label {
	display: block;
	font-weight: 700;
	margin-bottom: 0.45rem;
}

.chp-choix-service__champ {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.chp-choix-service select {
	-webkit-appearance: none;
	appearance: none;
	background-color: var(--chp-blanc);
	background-image: linear-gradient(45deg, transparent 50%, var(--chp-marine) 50%), linear-gradient(135deg, var(--chp-marine) 50%, transparent 50%);
	background-position: calc(100% - 1.35rem) 55%, calc(100% - 1rem) 55%;
	background-repeat: no-repeat;
	background-size: 0.4rem 0.4rem, 0.4rem 0.4rem;
	border: 2px solid var(--chp-marine);
	border-radius: 10px;
	color: var(--chp-marine);
	cursor: pointer;
	flex: 1 1 18rem;
	font: inherit;
	min-height: 3.25rem;
	padding: 0.5rem 2.75rem 0.5rem 1rem;
}

.chp-choix-service select:focus-visible {
	border-color: var(--chp-turquoise-web);
	outline: 3px solid var(--chp-turquoise-web);
	outline-offset: 2px;
}

.chp-choix-service .wp-element-button {
	border-radius: 10px;
	min-height: 3.25rem;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}

/* Carte « Venir au CHP » de l'accueil : version compacte */
.chp-infos .chp-choix-service {
	margin-bottom: 0.75rem;
}

.chp-infos .chp-choix-service select,
.chp-infos .chp-choix-service .wp-element-button {
	min-height: 2.9rem;
}

/* ---------- Annuaire ---------- */
.chp-annuaire__outils {
	background: var(--chp-fond);
	border-radius: 16px;
	margin-bottom: 1.25rem;
	padding: clamp(1rem, 3vw, 1.5rem);
}

.chp-annuaire__label {
	display: block;
	font-weight: 700;
	margin-bottom: 0.45rem;
}

.chp-annuaire__champ {
	position: relative;
}

/* Loupe dans le champ */
.chp-annuaire__champ::before {
	background: var(--chp-turquoise-web);
	content: "";
	height: 1.25rem;
	left: 1rem;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='m15.5 15.5 5 5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='m15.5 15.5 5 5'/%3E%3C/svg%3E") center / contain no-repeat;
	pointer-events: none;
	position: absolute;
	top: 1rem;
	width: 1.25rem;
	z-index: 1;
}

.chp-annuaire__filtre {
	background: var(--chp-blanc);
	border: 2px solid var(--chp-marine);
	border-radius: 12px;
	color: var(--chp-marine);
	font: inherit;
	font-size: 1.05rem;
	min-height: 3.25rem;
	padding: 0.5rem 3rem 0.5rem 2.9rem;
	transition: border-color 0.2s ease, box-shadow 0.25s ease;
	width: 100%;
}

.chp-annuaire__filtre::-webkit-search-cancel-button {
	-webkit-appearance: none;
	appearance: none;
}

.chp-annuaire__filtre:focus {
	box-shadow: 0 0 0 4px rgba(25, 133, 126, 0.18), 0 10px 26px rgba(2, 48, 89, 0.1);
}

.chp-annuaire__champ:has([aria-expanded="true"]) .chp-annuaire__filtre {
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}

.chp-annuaire__effacer {
	background: var(--chp-fond);
	border: 0;
	border-radius: 50%;
	cursor: pointer;
	height: 2rem;
	position: absolute;
	right: 0.65rem;
	top: 0.65rem;
	transition: background-color 0.2s ease, transform 0.2s ease;
	width: 2rem;
}

.chp-annuaire__effacer::before,
.chp-annuaire__effacer::after {
	background: var(--chp-marine);
	border-radius: 2px;
	content: "";
	height: 2px;
	left: 0.55rem;
	position: absolute;
	top: calc(50% - 1px);
	width: 0.9rem;
}

.chp-annuaire__effacer::before { transform: rotate(45deg); }
.chp-annuaire__effacer::after { transform: rotate(-45deg); }

.chp-annuaire__effacer:hover,
.chp-annuaire__effacer:focus-visible {
	background: #DDE7EE;
	transform: rotate(90deg);
}

/* Liste de suggestions */
.chp-annuaire__suggestions {
	animation: chp-sugg-ouvre 0.18s ease-out;
	background: var(--chp-blanc);
	border: 2px solid var(--chp-turquoise-web);
	border-radius: 0 0 12px 12px;
	border-top: 0;
	box-shadow: 0 18px 40px rgba(2, 48, 89, 0.18);
	left: 0;
	list-style: none;
	margin: 0;
	max-height: min(24rem, 60vh);
	overflow-y: auto;
	padding: 0.35rem;
	position: absolute;
	right: 0;
	top: 100%;
	z-index: 30;
}

.chp-annuaire__sugg {
	animation: chp-sugg-item 0.22s ease-out both;
	animation-delay: calc(var(--chp-rang, 0) * 28ms);
	border-radius: 8px;
	cursor: pointer;
	display: grid;
	gap: 0.1rem;
	padding: 0.55rem 0.75rem 0.55rem 2.1rem;
	position: relative;
}

.chp-annuaire__sugg::before {
	color: var(--chp-turquoise-web);
	content: "\2192";
	left: 0.75rem;
	opacity: 0;
	position: absolute;
	top: 0.55rem;
	transform: translateX(-4px);
	transition: opacity 0.15s ease, transform 0.15s ease;
}

.chp-annuaire__sugg[aria-selected="true"] {
	background: #E8F3F2;
}

.chp-annuaire__sugg[aria-selected="true"]::before {
	opacity: 1;
	transform: none;
}

.chp-annuaire__sugg-titre {
	color: var(--chp-marine);
	font-weight: 700;
	line-height: 1.3;
}

.chp-annuaire__sugg-meta {
	color: var(--chp-gris-texte);
	font-size: 0.82rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.chp-annuaire mark {
	background: linear-gradient(transparent 55%, rgba(148, 193, 31, 0.45) 55%);
	color: inherit;
	padding: 0;
}

.chp-annuaire__aide {
	color: var(--chp-gris-texte);
	font-size: 0.82rem;
	margin: 0.45rem 0 0;
}

@keyframes chp-sugg-ouvre {
	from { opacity: 0; transform: translateY(-6px); }
	to { opacity: 1; transform: none; }
}

@keyframes chp-sugg-item {
	from { opacity: 0; transform: translateX(-6px); }
	to { opacity: 1; transform: none; }
}

/* Cartes qui réapparaissent après un filtrage : entrée en cascade */
.chp-annuaire__item.is-entree {
	animation: chp-carte-entree 0.38s cubic-bezier(0.2, 0.7, 0.2, 1) both;
	animation-delay: calc(var(--chp-rang, 0) * 32ms);
}

@keyframes chp-carte-entree {
	from { opacity: 0; transform: translateY(12px) scale(0.98); }
	to { opacity: 1; transform: none; }
}

.chp-annuaire__compte {
	transition: opacity 0.2s ease;
}

.chp-annuaire__compte.is-maj {
	opacity: 0.45;
}

.chp-annuaire.is-filtre .chp-annuaire__compte {
	color: var(--chp-marine);
	font-weight: 700;
}

.chp-annuaire__domaine {
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}

.chp-annuaire__domaine:active {
	transform: scale(0.96);
}

.chp-annuaire__vide-titre {
	color: var(--chp-marine);
	font-weight: 700;
	margin-top: 0;
}

.chp-annuaire__reinit {
	background: var(--chp-marine);
	border: 0;
	border-radius: 999px;
	color: var(--chp-blanc);
	cursor: pointer;
	font: inherit;
	font-weight: 700;
	padding: 0.5rem 1.1rem;
}

.chp-annuaire__reinit:hover,
.chp-annuaire__reinit:focus-visible {
	background: var(--chp-turquoise-web);
}

@media (prefers-reduced-motion: reduce) {
	.chp-annuaire__suggestions,
	.chp-annuaire__sugg,
	.chp-annuaire__item.is-entree {
		animation: none;
	}

	.chp-annuaire__effacer:hover,
	.chp-annuaire__effacer:focus-visible {
		transform: none;
	}
}

.chp-annuaire__filtre:focus-visible {
	border-color: var(--chp-turquoise-web);
	outline: 3px solid var(--chp-turquoise-web);
	outline-offset: 2px;
}

.chp-annuaire__domaines {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin-top: 0.9rem;
}

.chp-annuaire__domaine {
	background: var(--chp-blanc);
	border: 1.5px solid rgba(2, 48, 89, 0.25);
	border-radius: 999px;
	color: var(--chp-marine);
	cursor: pointer;
	font: inherit;
	font-size: 0.9rem;
	font-weight: 600;
	padding: 0.4rem 0.95rem;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.chp-annuaire__domaine:hover {
	border-color: var(--chp-marine);
}

.chp-annuaire__domaine[aria-pressed="true"] {
	background: var(--chp-marine);
	border-color: var(--chp-marine);
	color: var(--chp-blanc);
}

.chp-annuaire__domaine:focus-visible {
	outline: 3px solid var(--chp-turquoise-web);
	outline-offset: 2px;
}

.chp-annuaire__compte {
	color: var(--chp-gris-texte);
	font-size: 0.9rem;
	margin: 0.8rem 0 0;
}

/* Index A–Z, collant sous l'en-tête */
.chp-annuaire__lettres {
	background: var(--chp-blanc);
	border-bottom: 1px solid #D9DEE3;
	margin-bottom: 0.5rem;
	padding: 0.5rem 0;
	position: sticky;
	top: var(--chp-hauteur-entete, 4.1rem);
	z-index: 5;
}

.chp-annuaire__lettres ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.chp-annuaire__lettres a {
	align-items: center;
	border-radius: 8px;
	color: var(--chp-marine);
	display: inline-flex;
	font-weight: 700;
	height: 2.25rem;
	justify-content: center;
	text-decoration: none;
	width: 2.25rem;
}

.chp-annuaire__lettres a:hover,
.chp-annuaire__lettres a:focus-visible {
	background: var(--chp-marine);
	color: var(--chp-blanc);
}

.chp-annuaire__groupe {
	scroll-margin-top: 10rem;
}

.chp-annuaire__lettre {
	border-bottom: 3px solid var(--chp-jaune);
	color: var(--chp-marine);
	display: inline-block;
	font-size: 1.5rem;
	margin: 1.5rem 0 0.75rem;
	padding-bottom: 0.15rem;
}

.chp-annuaire__liste {
	display: grid;
	gap: 0.75rem;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 19rem), 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.chp-annuaire__item {
	min-height: 100%;
	background: var(--chp-blanc);
	border: 1px solid rgba(2, 48, 89, 0.1);
	border-left: 4px solid var(--chp-turquoise);
	border-radius: 12px;
	box-shadow: var(--chp-ombre);
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	padding: 0.9rem 1rem 1rem 1.1rem;
	position: relative;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.chp-annuaire__item:hover,
.chp-annuaire__item:focus-within {
	border-left-color: var(--chp-jaune);
	box-shadow: 0 10px 24px rgba(2, 48, 89, 0.12);
	transform: translateY(-2px);
}

.chp-annuaire__lien {
	color: var(--chp-marine);
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none;
}

/* Toute la carte mène à la fiche (le téléphone reste cliquable au-dessus) */
.chp-annuaire__lien::after {
	content: "";
	inset: 0;
	position: absolute;
}

.chp-annuaire__lien:hover {
	text-decoration: underline;
}

.chp-annuaire__lien:focus-visible {
	outline: none;
}

.chp-annuaire__lien:focus-visible::after {
	border-radius: 12px;
	outline: 3px solid var(--chp-turquoise-web);
	outline-offset: 2px;
}

.chp-annuaire__domaines-item {
	color: var(--chp-turquoise-web);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.chp-annuaire__infos {
	display: flex;
	flex-wrap: wrap;
	font-size: 0.9rem;
	gap: 0.25rem 1rem;
}

.chp-annuaire__tel {
	font-weight: 700;
	position: relative;
	z-index: 1;
}

.chp-annuaire__lieu {
	color: var(--chp-gris-texte);
	font-size: 0.9rem;
	line-height: 1.45;
	margin: 0;
}

.chp-annuaire__lieu-texte::before {
	content: "Lieu : ";
	color: var(--chp-marine);
	font-weight: 700;
}

/* Liens au-dessus du lien « carte entière » */
.chp-annuaire__situer,
.chp-annuaire__decouvrir,
.chp-annuaire__praticien,
.chp-annuaire__service,
.chp-infos__situer {
	position: relative;
	z-index: 1;
}

.chp-annuaire__praticien,
.chp-annuaire__service {
	color: var(--chp-marine);
	text-decoration-color: rgba(2, 48, 89, 0.35);
	text-underline-offset: 0.18em;
}

.chp-annuaire__praticien:hover,
.chp-annuaire__service:hover {
	color: var(--chp-turquoise-web);
	text-decoration-color: currentColor;
}

.chp-annuaire__fonction {
	color: var(--chp-gris-texte);
	font-size: 0.9rem;
	margin: 0;
}

.chp-annuaire__services {
	display: grid;
	gap: 0.2rem;
	list-style: none;
	margin: 0.15rem 0 0;
	padding: 0;
}

.chp-annuaire__situer,
.chp-infos__situer {
	color: var(--chp-turquoise-web);
	font-size: 0.85rem;
	font-weight: 700;
	white-space: nowrap;
}

.chp-annuaire__situer::before,
.chp-infos__situer::before {
	content: "\2316\00a0";
	font-weight: 400;
}

.chp-annuaire__resp {
	display: grid;
	gap: 0.35rem;
	font-size: 0.88rem;
	margin: 0.2rem 0 0;
}

.chp-annuaire__resp div {
	display: grid;
	gap: 0.05rem;
}

.chp-annuaire__resp dt {
	color: var(--chp-gris-texte);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.chp-annuaire__resp dd {
	color: var(--chp-marine);
	margin: 0;
}

.chp-annuaire__decouvrir {
	align-self: flex-start;
	border: 2px solid var(--chp-marine);
	border-radius: 999px;
	color: var(--chp-marine);
	font-size: 0.9rem;
	font-weight: 700;
	margin-top: auto;
	padding: 0.4rem 1rem;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.chp-annuaire__decouvrir::after {
	content: " \2192";
}

.chp-annuaire__decouvrir:hover,
.chp-annuaire__decouvrir:focus-visible {
	background: var(--chp-marine);
	color: var(--chp-blanc);
}

.chp-annuaire__decouvrir:focus-visible {
	outline: 3px solid var(--chp-turquoise-web);
	outline-offset: 2px;
}

.chp-infos__bouton--second {
	margin-top: 0.5rem;
}

.chp-annuaire__vide {
	animation: chp-carte-entree 0.3s ease-out both;
	background: var(--chp-fond);
	border-left: 4px solid var(--chp-jaune);
	border-radius: 12px;
	padding: 1.25rem 1.4rem;
}

@media (max-width: 781px) {
	.chp-annuaire__lettres {
		position: static;
	}
}

@media (prefers-reduced-motion: reduce) {
	.chp-annuaire__item,
	.chp-annuaire__domaine {
		transition: none;
	}

	.chp-annuaire__item:hover,
	.chp-annuaire__item:focus-within {
		transform: none;
	}
}

.chp-choix-service select {
	flex: 1 1 0;
	min-width: 12rem;
	width: auto;
}

@media (max-width: 600px) {
	/* Domaines : une ligne qui défile horizontalement */
	.chp-annuaire__domaines {
		flex-wrap: nowrap;
		margin-left: calc(-1 * clamp(1rem, 3vw, 1.5rem));
		margin-right: calc(-1 * clamp(1rem, 3vw, 1.5rem));
		overflow-x: auto;
		padding: 0.15rem clamp(1rem, 3vw, 1.5rem) 0.4rem;
		scrollbar-width: thin;
	}

	.chp-annuaire__domaine {
		flex: 0 0 auto;
		white-space: nowrap;
	}

	.chp-choix-service select {
		flex-basis: 100%;
	}

	.chp-choix-service .wp-element-button {
		flex: 1 1 100%;
	}
}

/* ---------- Pictogrammes (générés par build_css.py) ----------
   Usage : ajouter la classe chp-picto--<nom> (vignette ronde, classe chp-acces)
   ou chp-icone--<nom> (pictogramme plein foncé, classe chp-icone).
   Noms : rdv, service, lieu, emploi, hospitalisation, visite, telephone, urgence, praticien, patient, recherche, horaires, document, courriel, info, coeur, parking, fleche, enfant, senior, prevention, droits, livre, bebe
   ------------------------------------------------------------------ */

:root {
	--chp-picto-rdv: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M7 2h2v2h6V2h2v2h2a2 2 0 0 1 2 2v13a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2V2zm12 8H5v9h14v-9zM7 12h3v3H7v-3z'/%3E%3C/svg%3E");
	--chp-picto-service: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M4 3h16v18H4V3zm7 3v2.5H8.5v3H11V14h2v-2.5h2.5v-3H13V6h-2zM10 16v5h4v-5h-4zM2 21h20v2H2v-2z'/%3E%3C/svg%3E");
	--chp-picto-lieu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M12 2a7 7 0 0 0-7 7c0 5 7 13 7 13s7-8 7-13a7 7 0 0 0-7-7zm0 4a3 3 0 1 1 0 6 3 3 0 0 1 0-6z'/%3E%3C/svg%3E");
	--chp-picto-emploi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M9 3h6a2 2 0 0 1 2 2v2h3a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h3V5a2 2 0 0 1 2-2zm0 2v2h6V5H9z'/%3E%3C/svg%3E");
	--chp-picto-hospitalisation: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M2 5h2v8h7V8h8a3 3 0 0 1 3 3v9h-2v-3H4v3H2V5zm5 2a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5z'/%3E%3C/svg%3E");
	--chp-picto-visite: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M9 4a3 3 0 1 1 0 6 3 3 0 0 1 0-6zm7 1a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5zM3 19c0-3.3 2.7-6 6-6s6 2.7 6 6v1H3v-1zm13.5-5c2.5 0 4.5 2 4.5 4.5V20h-4.6v-1c0-1.9-.7-3.6-1.9-4.9.6-.1 1.3-.1 2-.1z'/%3E%3C/svg%3E");
	--chp-picto-telephone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M6.6 10.8a15 15 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25c1.1.37 2.3.57 3.6.57a1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1L6.6 10.8z'/%3E%3C/svg%3E");
	--chp-picto-urgence: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M12 2a10 10 0 1 1 0 20 10 10 0 0 1 0-20zm-1.5 5v3.5H7v3h3.5V17h3v-3.5H17v-3h-3.5V7h-3z'/%3E%3C/svg%3E");
	--chp-picto-praticien: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M12 3a4 4 0 1 1 0 8 4 4 0 0 1 0-8zM4 20c0-3.9 3.6-7 8-7s8 3.1 8 7v1H4v-1zm7-5v1.5H9.5v2H11V20h2v-1.5h1.5v-2H13V15h-2z'/%3E%3C/svg%3E");
	--chp-picto-patient: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M12 3a4 4 0 1 1 0 8 4 4 0 0 1 0-8zM4 20c0-3.9 3.6-7 8-7s8 3.1 8 7v1H4v-1z'/%3E%3C/svg%3E");
	--chp-picto-recherche: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M10 3a7 7 0 0 1 5.6 11.2l5.1 5.1-1.4 1.4-5.1-5.1A7 7 0 1 1 10 3zm0 2a5 5 0 1 0 0 10 5 5 0 0 0 0-10z'/%3E%3C/svg%3E");
	--chp-picto-horaires: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M12 2a10 10 0 1 1 0 20 10 10 0 0 1 0-20zm0 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16zm-1 3h2v5.4l3.7 2.2-1 1.7L11 13.5V7z'/%3E%3C/svg%3E");
	--chp-picto-document: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M6 2h8l6 6v13a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1zm7 1.5V9h5.5L13 3.5zM8 12h8v2H8v-2zm0 4h8v2H8v-2z'/%3E%3C/svg%3E");
	--chp-picto-courriel: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M3 5h18a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1zm1.4 2L12 12.2 19.6 7H4.4z'/%3E%3C/svg%3E");
	--chp-picto-info: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M12 2a10 10 0 1 1 0 20 10 10 0 0 1 0-20zm-1 8v7h2v-7h-2zm0-3v2h2V7h-2z'/%3E%3C/svg%3E");
	--chp-picto-coeur: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M12 21s-8-5.3-8-11a4.5 4.5 0 0 1 8-2.8A4.5 4.5 0 0 1 20 10c0 5.7-8 11-8 11z'/%3E%3C/svg%3E");
	--chp-picto-parking: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M5 3h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2zm4 4v10h2.2v-3.4H13a3.3 3.3 0 0 0 0-6.6H9zm2.2 2H13a1.3 1.3 0 0 1 0 2.6h-1.8V9z'/%3E%3C/svg%3E");
	--chp-picto-fleche: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M13 5l7 7-7 7-1.4-1.4 4.6-4.6H4v-2h12.2l-4.6-4.6L13 5z'/%3E%3C/svg%3E");
	--chp-picto-enfant: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M12 1.5a3 3 0 1 1 0 6 3 3 0 0 1 0-6zM7 9h10l-1.5 7H14v6.5h-1.6V17h-.8v5.5H10V16H8.5L7 9z'/%3E%3C/svg%3E");
	--chp-picto-senior: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M9.5 1.5a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5zM7.5 8h4l2.3 5.2-1.7.8-1.1-2.3V15l2 7.5h-1.9L9.4 17l-1 5.5H6.5l1-7.5v-3.3L6 14l-1.6-1 3.1-5zM16 12.5c1.4 0 2.5 1.1 2.5 2.5v7.5H17V15a1 1 0 0 0-2 0v.5h-1.5V15c0-1.4 1.1-2.5 2.5-2.5z'/%3E%3C/svg%3E");
	--chp-picto-prevention: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M12 1.8l8.5 3.2V11c0 5.4-3.6 10-8.5 11.6C7.1 21 3.5 16.4 3.5 11V5L12 1.8zM11 7v3.5H7.5v2.5H11v3.5h2V13h3.5v-2.5H13V7h-2z'/%3E%3C/svg%3E");
	--chp-picto-droits: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M11 2h2v2.4l5.6 1.6H20v1.8h-1.3L21.4 14A3.6 3.6 0 0 1 18 16.2 3.6 3.6 0 0 1 14.6 14l2.6-6.2H13V19h4v2.5H7V19h4V7.8H6.8L9.4 14A3.6 3.6 0 0 1 6 16.2 3.6 3.6 0 0 1 2.6 14l2.7-6.2H4V6h1.4L11 4.4V2zm7 8l-1.6 4h3.2L18 10zM6 10l-1.6 4h3.2L6 10z'/%3E%3C/svg%3E");
	--chp-picto-livre: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M3 4h6.5c1 0 1.9.4 2.5 1.1A3.3 3.3 0 0 1 14.5 4H21v15h-6.5c-1 0-1.8.5-2.5 1.5-.7-1-1.5-1.5-2.5-1.5H3V4zm2 2v11h4.5c.6 0 1.1.1 1.5.3V7.5c0-.8-.7-1.5-1.5-1.5H5zm14 0h-4.5c-.8 0-1.5.7-1.5 1.5v9.8c.4-.2.9-.3 1.5-.3H19V6z'/%3E%3C/svg%3E");
	--chp-picto-bebe: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M12 2.5a4 4 0 1 1 0 8 4 4 0 0 1 0-8zM10.5 6a.9.9 0 1 0 0 1.8.9.9 0 0 0 0-1.8zm3 0a.9.9 0 1 0 0 1.8.9.9 0 0 0 0-1.8zM6 12.5h12a3.5 3.5 0 0 1 0 7H6a3.5 3.5 0 0 1 0-7z'/%3E%3C/svg%3E");
}

.chp-acces, .chp-icone { --chp-picto: var(--chp-picto-info); }
.chp-picto--rdv, .chp-icone--rdv { --chp-picto: var(--chp-picto-rdv); }
.chp-picto--service, .chp-icone--service { --chp-picto: var(--chp-picto-service); }
.chp-picto--lieu, .chp-icone--lieu { --chp-picto: var(--chp-picto-lieu); }
.chp-picto--emploi, .chp-icone--emploi { --chp-picto: var(--chp-picto-emploi); }
.chp-picto--hospitalisation, .chp-icone--hospitalisation { --chp-picto: var(--chp-picto-hospitalisation); }
.chp-picto--visite, .chp-icone--visite { --chp-picto: var(--chp-picto-visite); }
.chp-picto--telephone, .chp-icone--telephone { --chp-picto: var(--chp-picto-telephone); }
.chp-picto--urgence, .chp-icone--urgence { --chp-picto: var(--chp-picto-urgence); }
.chp-picto--praticien, .chp-icone--praticien { --chp-picto: var(--chp-picto-praticien); }
.chp-picto--patient, .chp-icone--patient { --chp-picto: var(--chp-picto-patient); }
.chp-picto--recherche, .chp-icone--recherche { --chp-picto: var(--chp-picto-recherche); }
.chp-picto--horaires, .chp-icone--horaires { --chp-picto: var(--chp-picto-horaires); }
.chp-picto--document, .chp-icone--document { --chp-picto: var(--chp-picto-document); }
.chp-picto--courriel, .chp-icone--courriel { --chp-picto: var(--chp-picto-courriel); }
.chp-picto--info, .chp-icone--info { --chp-picto: var(--chp-picto-info); }
.chp-picto--coeur, .chp-icone--coeur { --chp-picto: var(--chp-picto-coeur); }
.chp-picto--parking, .chp-icone--parking { --chp-picto: var(--chp-picto-parking); }
.chp-picto--fleche, .chp-icone--fleche { --chp-picto: var(--chp-picto-fleche); }
.chp-picto--enfant, .chp-icone--enfant { --chp-picto: var(--chp-picto-enfant); }
.chp-picto--senior, .chp-icone--senior { --chp-picto: var(--chp-picto-senior); }
.chp-picto--prevention, .chp-icone--prevention { --chp-picto: var(--chp-picto-prevention); }
.chp-picto--droits, .chp-icone--droits { --chp-picto: var(--chp-picto-droits); }
.chp-picto--livre, .chp-icone--livre { --chp-picto: var(--chp-picto-livre); }
.chp-picto--bebe, .chp-icone--bebe { --chp-picto: var(--chp-picto-bebe); }
