/* Conseils Habitat. Un seul jeu de jetons, des surfaces blanches, le marine et le bleu là où ils servent. Rien ne bouge au survol. */

:root {
	--ch-marine: #0b2d56;
	--ch-bleu: #165fa8;
	--ch-bleu-fonce: #0f4a85;
	--ch-bleu-clair: #7da5cf;
	--ch-bleu-pale: #e8f0f9;
	--ch-pierre: #d5dce6;
	--ch-papier: #f7f8fa;
	--ch-blanc: #fff;
	--ch-graphite: #344054;
	--ch-gris: #667085;
	--ch-ambre-pale: #fff4e5;
	--ch-ambre: #7a4a00;

	--ch-titres: Manrope, "Helvetica Neue", Arial, sans-serif;
	--ch-texte: "Source Sans 3", "Helvetica Neue", Arial, sans-serif;

	--ch-largeur: 1240px;
	--ch-lecture: 740px;
	--ch-marge: 40px;
	--ch-section: 88px;

	--ch-h1: clamp(34px, 3.4vw + 6px, 52px);
	--ch-h2: clamp(26px, 2vw + 8px, 36px);
	--ch-h3: 22px;

	--ch-rayon: 10px;
	--ch-rayon-bouton: 8px;
	--ch-bouton-h: 48px;
	--ch-cible: 32px;
}

@media (max-width: 1100px) {
	:root { --ch-marge: 32px; --ch-section: 72px; }
}

@media (max-width: 640px) {
	:root { --ch-marge: 20px; --ch-section: 56px; --ch-cible: 44px; }
}

@media (pointer: coarse) {
	:root { --ch-cible: 44px; }
}

@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; scroll-behavior: auto !important; }
}

/* Base */
html { scroll-padding-top: 24px; }

body {
	-webkit-font-smoothing: antialiased;
	overflow-wrap: break-word;
	color: var(--ch-marine);
}

h1, h2, h3, h4 { text-wrap: balance; }

p, li { text-wrap: pretty; }

:focus-visible {
	outline: 3px solid var(--ch-bleu);
	outline-offset: 3px;
	border-radius: 4px;
}

.ch-visuel-cache {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

.skip-link.screen-reader-text:focus {
	background: var(--ch-blanc);
	color: var(--ch-bleu);
	font-weight: 700;
}

/* WordPress ajoute un espace entre les blocs de premier niveau. */
.wp-site-blocks > * { margin-block: 0; }

.wp-site-blocks {
	display: flex;
	flex-direction: column;
	min-height: 100dvh;
}

.wp-site-blocks > main { flex: 1 0 auto; }

main > * { margin-block: 0; }

/* Conteneurs */
.ch-enveloppe,
.ch-section,
.ch-page,
.ch-entete__interieur,
.ch-pied__interieur,
.ch-pied__bas {
	box-sizing: border-box;
	width: 100%;
	max-width: calc(var(--ch-largeur) + 2 * var(--ch-marge));
	margin-inline: auto;
	padding-inline: var(--ch-marge);
}

.ch-section { padding-block: var(--ch-section) 0; }

.ch-section > h2,
.ch-section__tete h2 {
	margin: 0;
	font-size: var(--ch-h2);
}

.ch-section__tete {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: baseline;
	gap: 8px 32px;
	margin-bottom: 28px;
}

.ch-section__tete p {
	margin: 8px 0 0;
	max-width: 46em;
	color: var(--ch-graphite);
}

/* La dernière section de l'accueil garde son souffle avant le pied de page. */
.ch-accueil > .ch-section:last-child { padding-bottom: var(--ch-section); }

/* Une bande pleine largeur en papier, pour alterner les sections. */
.ch-bande {
	margin-top: var(--ch-section);
	padding-bottom: var(--ch-section);
	background: var(--ch-papier);
	border-block: 1px solid var(--ch-pierre);
}

.ch-bande + .ch-section { padding-top: var(--ch-section); }

/* Boutons */
.ch-bouton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	box-sizing: border-box;
	min-height: var(--ch-bouton-h);
	padding: 0 22px;
	border: 1.5px solid var(--ch-bleu);
	border-radius: var(--ch-rayon-bouton);
	background: var(--ch-bleu);
	color: var(--ch-blanc);
	font-family: var(--ch-titres);
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color .15s linear, border-color .15s linear, color .15s linear;
}

.ch-bouton:hover,
.ch-bouton:focus-visible {
	background: var(--ch-marine);
	border-color: var(--ch-marine);
	color: var(--ch-blanc);
}

.ch-bouton--secondaire {
	background: var(--ch-blanc);
	border-color: var(--ch-marine);
	color: var(--ch-marine);
}

.ch-bouton--secondaire:hover,
.ch-bouton--secondaire:focus-visible {
	background: var(--ch-papier);
	border-color: var(--ch-marine);
	color: var(--ch-marine);
}

/* Sur le marine : blanc plein. */
.ch-bouton--clair {
	background: var(--ch-blanc);
	border-color: var(--ch-blanc);
	color: var(--ch-marine);
}

.ch-bouton--clair:hover,
.ch-bouton--clair:focus-visible {
	background: var(--ch-bleu-pale);
	border-color: var(--ch-bleu-pale);
	color: var(--ch-marine);
}

.ch-lien-fort {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font-family: var(--ch-titres);
	font-size: 16px;
	font-weight: 600;
	color: var(--ch-bleu);
	text-decoration: underline;
	text-decoration-thickness: 1.5px;
	text-underline-offset: 5px;
}

.ch-lien-fort:hover { color: var(--ch-marine); }

/* En-tête */
.ch-entete {
	position: relative;
	z-index: 40;
	background: var(--ch-blanc);
	border-bottom: 1px solid var(--ch-pierre);
}

.ch-entete__interieur {
	display: flex;
	align-items: center;
	gap: 32px;
	min-height: 76px;
}

.ch-entete__logo { display: flex; flex: none; align-items: center; min-height: 44px; }

.ch-entete__logo img { display: block; width: auto; height: 42px; }

.ch-menu { margin-left: auto; }

.ch-menu ul {
	display: flex;
	align-items: center;
	gap: 28px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ch-menu a:not(.ch-bouton) {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font-family: var(--ch-titres);
	font-size: 15px;
	font-weight: 600;
	color: var(--ch-marine);
	text-decoration: none;
	white-space: nowrap;
	border-bottom: 2px solid transparent;
}

.ch-menu a:not(.ch-bouton):hover { color: var(--ch-bleu); }

.ch-menu a[aria-current="page"] { color: var(--ch-bleu); border-bottom-color: var(--ch-bleu); }

.ch-menu .ch-bouton { min-height: 42px; padding: 0 16px; font-size: 15px; }

.ch-entete__actions { display: flex; gap: 8px; }

.ch-entete__bouton {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 42px;
	padding: 0 14px;
	border: 1px solid var(--ch-pierre);
	border-radius: var(--ch-rayon-bouton);
	background: var(--ch-blanc);
	color: var(--ch-marine);
	font-family: var(--ch-titres);
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	transition: border-color .15s linear, background-color .15s linear;
}

.ch-entete__bouton:hover { border-color: var(--ch-marine); }

.ch-entete__bouton[aria-expanded="true"] { background: var(--ch-papier); border-color: var(--ch-marine); }

.ch-entete__menu { display: none; }

.ch-entete__recherche {
	border-top: 1px solid var(--ch-pierre);
	background: var(--ch-papier);
}

.ch-entete__formulaire {
	box-sizing: border-box;
	display: flex;
	gap: 10px;
	max-width: calc(var(--ch-largeur) + 2 * var(--ch-marge));
	margin: 0 auto;
	padding: 16px var(--ch-marge);
}

.ch-entete__formulaire input { flex: 1; }

@media (max-width: 1180px) {
	.ch-entete--js .ch-entete__menu { display: inline-flex; }

	.ch-entete__actions { margin-left: auto; }

	.ch-entete--js .ch-menu {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		box-sizing: border-box;
		max-height: calc(100dvh - 72px);
		overflow-y: auto;
		margin: 0;
		padding: 4px var(--ch-marge) 20px;
		background: var(--ch-blanc);
		border-bottom: 1px solid var(--ch-pierre);
	}

	.ch-entete--js.est-ouvert .ch-menu { display: block; }

	.ch-menu ul { flex-direction: column; align-items: stretch; gap: 0; }

	.ch-menu li + li { border-top: 1px solid var(--ch-pierre); }

	.ch-menu a:not(.ch-bouton) { display: flex; min-height: 52px; font-size: 17px; border-bottom: 0; }

	.ch-menu a[aria-current="page"] { text-decoration: underline; text-underline-offset: 6px; }

	.ch-menu li.ch-menu__service { padding-top: 16px; border-top: 0; }

	.ch-menu .ch-bouton { display: flex; min-height: var(--ch-bouton-h); }
}

@media (max-width: 640px) {
	.ch-entete__interieur { min-height: 64px; gap: 12px; }

	.ch-entete__logo img { height: 34px; }

	.ch-entete__bouton { padding: 0 11px; }

	.ch-entete__chercher span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }

	.ch-entete__formulaire { flex-direction: column; }
}

/* Champs de recherche */
input[type="search"] {
	box-sizing: border-box;
	min-width: 0;
	min-height: var(--ch-bouton-h);
	padding: 0 16px;
	border: 1.5px solid var(--ch-gris);
	border-radius: var(--ch-rayon-bouton);
	background: var(--ch-blanc);
	color: var(--ch-marine);
	font: inherit;
	font-size: 18px;
}

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

input[type="search"]:hover { border-color: var(--ch-marine); }

.ch-recherche { max-width: var(--ch-lecture); margin-bottom: 32px; }

.ch-recherche label {
	display: block;
	margin-bottom: 8px;
	font-family: var(--ch-titres);
	font-size: 16px;
	font-weight: 600;
}

.ch-recherche__ligne { display: flex; gap: 10px; }

.ch-recherche__ligne input { flex: 1; }

@media (max-width: 480px) {
	.ch-recherche__ligne { flex-direction: column; }
}

/* Fil d'Ariane */
.ch-fil ol {
	display: flex;
	flex-wrap: wrap;
	margin: 0 0 16px;
	padding: 0;
	list-style: none;
	font-size: 15px;
}

.ch-fil li { display: flex; align-items: center; }

.ch-fil li + li::before {
	content: "/";
	margin-inline: 10px;
	color: var(--ch-gris);
}

.ch-fil a {
	display: inline-flex;
	align-items: center;
	min-height: var(--ch-cible);
	color: var(--ch-graphite);
	text-decoration: none;
}

.ch-fil a:hover { color: var(--ch-bleu); text-decoration: underline; text-underline-offset: 3px; }

/* Pages simples */
.ch-page { padding-block: 36px var(--ch-section); }

.ch-page__titre,
.ch-page h1.wp-block-post-title,
.ch-page h1.wp-block-heading {
	max-width: 22em;
	margin: 0;
	font-size: var(--ch-h1);
	line-height: 1.12;
}

.ch-chapeau {
	max-width: 40em;
	margin: 16px 0 0;
	font-size: 21px;
	line-height: 1.55;
	color: var(--ch-graphite);
}

.ch-texte { max-width: var(--ch-lecture); margin-top: 32px; }

.ch-texte > :first-child { margin-top: 0; }

.ch-texte h2 { margin: 48px 0 12px; font-size: 28px; }

.ch-texte h3 { margin: 32px 0 10px; font-size: var(--ch-h3); }

/* Haut d'un guide */
.ch-guide > * { margin-block: 0; }

.ch-guide__tete {
	position: relative;
	padding-block: 36px 32px;
}

/* Les filets s'arrêtent aux marges du contenu, pas au bord du conteneur. */
.ch-guide__tete::after,
.ch-pied__bas::before {
	content: "";
	position: absolute;
	left: var(--ch-marge);
	right: var(--ch-marge);
	border-top: 1px solid var(--ch-pierre);
}

.ch-guide__tete::after { bottom: 0; }

.ch-pied__bas::before { top: 0; border-top-color: rgba(255, 255, 255, .16); }

.ch-guide__tete h1 {
	max-width: 24em;
	margin: 0;
	font-size: var(--ch-h1);
	line-height: 1.12;
}

.ch-signature {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 12px;
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
	font-size: 16px;
	color: var(--ch-graphite);
}

.ch-signature li { margin: 0; }

.ch-signature li:not(:last-child)::after {
	content: "·";
	margin-left: 12px;
	color: var(--ch-gris);
}

.ch-signature strong { font-weight: 600; color: var(--ch-marine); }

.ch-signature a { color: var(--ch-marine); text-underline-offset: 3px; }

.ch-signature a:hover { color: var(--ch-bleu); }

/* Deux colonnes : le plan, puis le texte. */
.ch-guide__corps {
	display: grid;
	grid-template-columns: 240px minmax(0, var(--ch-lecture));
	gap: 64px;
	padding-block: 40px 0;
}

.ch-guide__texte { min-width: 0; }

.ch-lecture { padding-block: 40px 0; }

.ch-lecture > * { max-width: var(--ch-lecture); }

/* En bref : la réponse d'abord. */
.ch-en-bref {
	margin: 0 0 28px;
	padding: 24px 28px;
	border: 1px solid var(--ch-pierre);
	border-left: 4px solid var(--ch-bleu);
	border-radius: var(--ch-rayon);
	background: var(--ch-papier);
}

.ch-en-bref__titre {
	margin: 0 0 6px;
	font-family: var(--ch-titres);
	font-size: 17px;
	font-weight: 700;
}

.ch-en-bref p { margin: 0; font-size: 19px; line-height: 1.6; }

.ch-guide__tete .ch-en-bref { max-width: var(--ch-lecture); margin: 24px 0 0; }

.ch-portee {
	margin: 0 0 32px;
	font-size: 16px;
	color: var(--ch-graphite);
}

.ch-portee strong { color: var(--ch-marine); font-weight: 600; }

/* Plan du guide */
.ch-sommaire {
	position: sticky;
	top: 32px;
	max-height: calc(100dvh - 64px);
	overflow-y: auto;
	scrollbar-width: thin;
}

.ch-sommaire__titre {
	margin: 0 0 10px;
	font-family: var(--ch-titres);
	font-size: 15px;
	font-weight: 700;
}

.ch-sommaire ul,
.ch-sommaire-plie ul {
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 15px;
	line-height: 1.35;
}

.ch-sommaire a,
.ch-sommaire-plie a {
	display: flex;
	align-items: center;
	min-height: var(--ch-cible);
	padding: 4px 0;
	color: var(--ch-graphite);
	text-decoration: none;
}

.ch-sommaire a { padding: 4px 8px 4px 14px; border-left: 2px solid var(--ch-pierre); }

.ch-sommaire a:hover,
.ch-sommaire-plie a:hover { color: var(--ch-bleu); }

.ch-sommaire a[aria-current] { border-left-color: var(--ch-bleu); color: var(--ch-marine); font-weight: 600; }

.ch-sommaire-plie {
	display: none;
	margin-bottom: 28px;
	padding: 4px 20px;
	border: 1px solid var(--ch-pierre);
	border-radius: var(--ch-rayon);
}

.ch-sommaire-plie summary {
	padding: 12px 0;
	font-family: var(--ch-titres);
	font-weight: 700;
	cursor: pointer;
}

.ch-sommaire-plie[open] ul { padding-bottom: 12px; }

@media (max-width: 1000px) {
	.ch-guide__corps { grid-template-columns: minmax(0, 1fr); gap: 0; padding-top: 28px; }

	.ch-sommaire { display: none; }

	.ch-sommaire-plie { display: block; }
}

/* Corps de l'article */
.ch-article > * { margin-block: 0 22px; }

.ch-article > :first-child { margin-top: 0; }

.ch-article h2 {
	margin-block: 56px 16px;
	font-size: clamp(25px, 1.4vw + 12px, 31px);
	line-height: 1.2;
	scroll-margin-top: 24px;
}

.ch-article h3 { margin-block: 36px 10px; font-size: var(--ch-h3); line-height: 1.3; }

.ch-article h4 { margin-block: 28px 8px; font-size: 18px; }

.ch-article ul,
.ch-article ol { padding-left: 1.6em; }

.ch-article li { margin-bottom: 8px; }

.ch-article li::marker { color: var(--ch-bleu); }

.ch-article a { text-underline-offset: 3px; }

.ch-article blockquote {
	margin-inline: 0;
	padding: 4px 0 4px 20px;
	border-left: 3px solid var(--ch-pierre);
	color: var(--ch-graphite);
}

/* Tableaux de comparaison */
.ch-article .wp-block-table,
.ch-tableau {
	margin-inline: 0;
	overflow-x: auto;
}

.ch-tableau { margin-block: 0 32px; }

.ch-tableau figcaption { margin: 12px 0 0; }

.ch-article .wp-block-table table,
.ch-tableau table {
	width: 100%;
	border: 1px solid var(--ch-pierre);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: var(--ch-rayon);
	overflow: hidden;
	font-size: 17px;
	line-height: 1.45;
	background: var(--ch-blanc);
}

.ch-article .wp-block-table th,
.ch-article .wp-block-table td,
.ch-tableau th,
.ch-tableau td {
	padding: 12px 14px;
	border: 0;
	border-right: 1px solid var(--ch-pierre);
	border-bottom: 1px solid var(--ch-pierre);
	text-align: left;
	vertical-align: top;
}

.ch-article .wp-block-table tr > :last-child,
.ch-tableau tr > :last-child { border-right: 0; }

.ch-article .wp-block-table tbody tr:last-child td,
.ch-tableau tbody tr:last-child td { border-bottom: 0; }

.ch-article .wp-block-table th,
.ch-article .wp-block-table .ch-tableau-tete td,
.ch-tableau th {
	background: var(--ch-papier);
	font-family: var(--ch-titres);
	font-size: 15px;
	font-weight: 700;
	color: var(--ch-marine);
}

.ch-article .wp-block-table thead { border-bottom: 0; }

@media screen and (max-width: 760px) {
	.ch-article .wp-block-table { overflow: visible; }

	.ch-article .wp-block-table thead,
	.ch-article .wp-block-table .ch-tableau-tete { display: none; }

	.ch-article .wp-block-table table,
	.ch-article .wp-block-table tbody,
	.ch-article .wp-block-table tr,
	.ch-article .wp-block-table td { display: block; }

	.ch-article .wp-block-table table { border: 0; background: none; overflow: visible; }

	.ch-article .wp-block-table tr {
		margin-bottom: 12px;
		border: 1px solid var(--ch-pierre);
		border-radius: var(--ch-rayon);
		background: var(--ch-blanc);
		overflow: hidden;
	}

	.ch-article .wp-block-table td,
	.ch-article .wp-block-table tbody tr:last-child td { border-right: 0; border-bottom: 1px solid var(--ch-pierre); }

	.ch-article .wp-block-table td:last-child { border-bottom: 0; }

	.ch-article .wp-block-table td:first-child { background: var(--ch-papier); font-weight: 600; }

	.ch-article .wp-block-table td[data-titre]:not([data-titre=""])::before {
		content: attr(data-titre);
		display: block;
		margin-bottom: 2px;
		font-size: 14px;
		font-weight: 600;
		color: var(--ch-gris);
	}
}

/* Mise en garde de sécurité */
.ch-article .ch-attention {
	padding: 18px 22px;
	border: 1px solid #f0c98a;
	border-radius: var(--ch-rayon);
	background: var(--ch-ambre-pale);
}

/* Sources */
.ch-sources {
	margin-top: 56px;
	padding-top: 28px;
	border-top: 1px solid var(--ch-pierre);
	font-size: 16px;
	color: var(--ch-graphite);
}

.ch-sources h2 { margin: 0 0 12px; font-size: 20px; }

.ch-sources ol { margin: 0; padding-left: 1.4em; }

.ch-sources li { margin-bottom: 6px; }

.ch-sources a { color: var(--ch-marine); text-underline-offset: 3px; }

.ch-guide__fin { padding-block: 0 var(--ch-section); }

.ch-suite { padding-top: var(--ch-section); }

.ch-suite h2 { margin: 0 0 24px; font-size: var(--ch-h2); }

/* Cartes */
.ch-grille {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
	gap: 20px;
}

.ch-carte {
	position: relative;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	padding: 24px;
	border: 1px solid var(--ch-pierre);
	border-radius: var(--ch-rayon);
	background: var(--ch-blanc);
	transition: border-color .15s linear;
}

.ch-carte:hover,
.ch-carte:focus-within { border-color: var(--ch-bleu); }

.ch-carte__photo {
	display: block;
	width: calc(100% + 48px);
	max-width: none;
	height: auto;
	margin: -24px -24px 20px;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	border-radius: var(--ch-rayon) var(--ch-rayon) 0 0;
}

.ch-carte__genre {
	order: -1;
	margin: 0 0 10px;
	font-size: 15px;
	font-weight: 600;
	color: var(--ch-gris);
}

.ch-carte__titre {
	margin: 0;
	font-size: 20px;
	line-height: 1.3;
	letter-spacing: -0.01em;
}

.ch-carte__titre a { color: var(--ch-marine); text-decoration: none; }

.ch-carte__titre a:hover { color: var(--ch-bleu); }

/* Toute la carte est cliquable. */
.ch-carte__titre a::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
}

.ch-carte__resume {
	flex: 1;
	margin: 10px 0 0;
	font-size: 17px;
	line-height: 1.55;
	color: var(--ch-graphite);
}

.ch-carte__pied {
	margin: 16px 0 0;
	font-size: 15px;
	color: var(--ch-gris);
}

/* Accueil : première section */
.ch-une {
	padding-block: 72px 0;
}

.ch-une h1 {
	max-width: 17em;
	margin: 0;
	font-size: clamp(36px, 3.6vw + 8px, 56px);
	line-height: 1.08;
	letter-spacing: -0.025em;
}

.ch-une__appui {
	max-width: 36em;
	margin: 20px 0 0;
	font-size: 21px;
	line-height: 1.55;
	color: var(--ch-graphite);
}

.ch-une .ch-recherche { max-width: 760px; margin: 36px 0 0; }

.ch-une .ch-recherche label { font-size: 17px; }

.ch-une input[type="search"] { min-height: 58px; font-size: 19px; }

.ch-une .ch-recherche .ch-bouton { min-height: 58px; padding: 0 28px; }

.ch-une__depart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 24px;
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
	font-size: 17px;
}

.ch-une__depart li:first-child { color: var(--ch-graphite); }

.ch-une__depart a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font-weight: 600;
	color: var(--ch-bleu);
	text-underline-offset: 4px;
}

.ch-une__depart a:hover { color: var(--ch-marine); }

/* Sujets */
.ch-sujets-grille {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr));
	gap: 20px;
}

.ch-sujet {
	display: flex;
	flex-direction: column;
	padding: 28px;
	border: 1px solid var(--ch-pierre);
	border-radius: var(--ch-rayon);
	background: var(--ch-blanc);
}

.ch-sujet h3 { margin: 0; font-size: 24px; }

.ch-sujet h3 a { color: var(--ch-marine); text-decoration: none; }

.ch-sujet h3 a:hover { color: var(--ch-bleu); text-decoration: underline; text-underline-offset: 4px; }

.ch-sujet__texte { margin: 8px 0 0; color: var(--ch-graphite); }

.ch-sujet__compte { margin: 6px 0 0; font-size: 15px; color: var(--ch-gris); }

.ch-sujet ul {
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--ch-pierre);
}

.ch-sujet li { border-bottom: 1px solid var(--ch-pierre); }

.ch-sujet li a {
	display: flex;
	align-items: center;
	min-height: 48px;
	padding-block: 6px;
	color: var(--ch-marine);
	text-decoration: none;
	line-height: 1.35;
}

.ch-sujet li a:hover { color: var(--ch-bleu); text-decoration: underline; text-underline-offset: 3px; }

/* Questions fréquentes : une liste, pas des cartes. */
.ch-questions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 40px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ch-questions li { border-top: 1px solid var(--ch-pierre); }

.ch-questions a {
	display: flex;
	align-items: center;
	min-height: 64px;
	padding-block: 10px;
	font-family: var(--ch-titres);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--ch-marine);
	text-decoration: none;
}

.ch-questions a:hover { color: var(--ch-bleu); text-decoration: underline; text-underline-offset: 4px; }

@media (max-width: 760px) {
	.ch-questions { grid-template-columns: minmax(0, 1fr); }
}

/* Aides financières : statut et date de vérification */
.ch-aides {
	margin: 0;
	padding: 0;
	list-style: none;
	border: 1px solid var(--ch-pierre);
	border-radius: var(--ch-rayon);
	background: var(--ch-blanc);
}

.ch-aides li {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	align-items: center;
	gap: 8px 24px;
	padding: 18px 24px;
}

.ch-aides li + li { border-top: 1px solid var(--ch-pierre); }

.ch-aides__nom a {
	font-family: var(--ch-titres);
	font-size: 18px;
	font-weight: 700;
	color: var(--ch-marine);
	text-decoration: none;
}

.ch-aides__nom a:hover { color: var(--ch-bleu); text-decoration: underline; text-underline-offset: 4px; }

.ch-aides__nom span { display: block; font-size: 15px; color: var(--ch-gris); }

.ch-aides__date { font-size: 15px; color: var(--ch-gris); }

@media (max-width: 640px) {
	.ch-aides li { grid-template-columns: minmax(0, 1fr); }
}

.ch-statut {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 28px;
	padding: 0 10px;
	border-radius: 6px;
	font-family: var(--ch-titres);
	font-size: 14px;
	font-weight: 700;
	white-space: nowrap;
}

.ch-statut::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: currentColor;
}

.ch-statut--en-vigueur { background: var(--ch-bleu-pale); color: var(--ch-marine); }

.ch-statut--modifie { background: var(--ch-ambre-pale); color: var(--ch-ambre); }

.ch-statut--ferme { background: #eef0f3; color: var(--ch-graphite); }

/* Bandeau d'un programme */
.ch-aide-statut {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 16px;
	margin-top: 20px;
	font-size: 16px;
	color: var(--ch-graphite);
}

.ch-faits {
	display: grid;
	grid-template-columns: minmax(0, 200px) minmax(0, 1fr);
	margin: 0 0 32px;
	border: 1px solid var(--ch-pierre);
	border-radius: var(--ch-rayon);
	overflow: hidden;
}

.ch-faits dt,
.ch-faits dd {
	margin: 0;
	padding: 12px 16px;
	border-bottom: 1px solid var(--ch-pierre);
}

.ch-faits dt { background: var(--ch-papier); font-family: var(--ch-titres); font-size: 15px; font-weight: 700; }

.ch-faits dt:last-of-type,
.ch-faits dd:last-of-type { border-bottom: 0; }

@media (max-width: 560px) {
	.ch-faits { grid-template-columns: minmax(0, 1fr); }

	.ch-faits dt { border-bottom: 0; padding-bottom: 2px; }
}

/* Outil en vedette sur l'accueil */
.ch-outil-vedette {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 20px 40px;
	padding: 32px;
	border: 1px solid var(--ch-pierre);
	border-left: 4px solid var(--ch-bleu);
	border-radius: var(--ch-rayon);
	background: var(--ch-papier);
}

.ch-outil-vedette > div { max-width: 44em; }

.ch-outil-vedette__etiquette { margin: 0 0 6px; font-size: 15px; font-weight: 600; color: var(--ch-graphite); }

.ch-outil-vedette h2 { margin: 0; font-size: 26px; }

.ch-outil-vedette p:last-child { margin: 8px 0 0; color: var(--ch-graphite); }

/* Notre méthode */
.ch-methode {
	display: grid;
	grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
	gap: 32px 64px;
}

.ch-methode h2 { margin: 0; font-size: var(--ch-h2); }

.ch-methode__intro p { margin: 12px 0 20px; color: var(--ch-graphite); }

.ch-methode dl { margin: 0; }

.ch-methode__point { padding-block: 20px; border-top: 1px solid var(--ch-pierre); }

.ch-methode__point:first-child { padding-top: 0; border-top: 0; }

.ch-methode dt { font-family: var(--ch-titres); font-size: 19px; font-weight: 700; }

.ch-methode dd { margin: 4px 0 0; color: var(--ch-graphite); }

@media (max-width: 900px) {
	.ch-methode { grid-template-columns: minmax(0, 1fr); }
}

/* Service de mise en relation : à part, en marine. */
.ch-service {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	align-items: center;
	gap: 24px 56px;
	padding: clamp(28px, 4vw, 48px);
	border-radius: var(--ch-rayon);
	background: var(--ch-marine);
	color: var(--ch-blanc);
}

.ch-service__etiquette {
	margin: 0 0 8px;
	font-size: 15px;
	font-weight: 600;
	color: var(--ch-bleu-clair);
}

.ch-service h2 { margin: 0; font-size: var(--ch-h2); color: var(--ch-blanc); }

.ch-service p { margin: 12px 0 0; color: #dbe4ef; }

.ch-service ol { margin: 0; padding-left: 1.3em; color: #dbe4ef; }

.ch-service li { margin-bottom: 8px; }

.ch-service__actions { margin-top: 24px; }

@media (max-width: 900px) {
	.ch-service { grid-template-columns: minmax(0, 1fr); }
}

.ch-guide__fin .ch-service { margin-top: var(--ch-section); }

/* Pages de sujet */
.ch-hub__intro { max-width: var(--ch-lecture); margin-top: 16px; font-size: 20px; color: var(--ch-graphite); }

.ch-hub__intro > * { margin: 0 0 12px; }

.ch-hub .ch-bloc { margin-top: 64px; }

.ch-bloc > h2 { margin: 0 0 24px; font-size: var(--ch-h2); }

.ch-bloc__groupe + .ch-bloc__groupe { margin-top: 40px; }

.ch-bloc__groupe h3 { margin: 0 0 16px; font-size: 20px; color: var(--ch-graphite); }

/* Listes et filtres */
.ch-liste__tete { max-width: 46em; margin-bottom: 28px; }

.ch-liste__tete h1 { margin: 0; font-size: var(--ch-h1); line-height: 1.12; }

.ch-liste__tete p { margin: 12px 0 0; font-size: 20px; color: var(--ch-graphite); }

.ch-filtres {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	margin-bottom: 28px;
}

.ch-filtres__groupe { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }

.ch-filtres__groupe > span { margin-right: 4px; font-size: 15px; font-weight: 600; color: var(--ch-graphite); }

.ch-filtres a {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 0 14px;
	border: 1px solid var(--ch-pierre);
	border-radius: var(--ch-rayon-bouton);
	font-size: 16px;
	color: var(--ch-marine);
	text-decoration: none;
}

.ch-filtres a:hover { border-color: var(--ch-marine); }

.ch-filtres a[aria-current="true"] { background: var(--ch-marine); border-color: var(--ch-marine); color: var(--ch-blanc); }

.ch-vide { color: var(--ch-graphite); }

.ch-pagination ul { display: flex; gap: 8px; margin: 32px 0 0; padding: 0; list-style: none; }

.ch-pagination a,
.ch-pagination span {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 0 12px;
	border: 1px solid var(--ch-pierre);
	border-radius: var(--ch-rayon-bouton);
	text-decoration: none;
}

.ch-pagination .current { background: var(--ch-marine); color: var(--ch-blanc); border-color: var(--ch-marine); }

/* Personne */
.ch-personne__tete { display: flex; gap: 28px; align-items: center; }

.ch-personne__tete img { width: 120px; height: 120px; border-radius: 50%; object-fit: cover; }

.ch-personne__titres { margin: 8px 0 0; color: var(--ch-graphite); }

/* 404 */
.ch-perdu .ch-recherche { margin-top: 32px; }

/* Haut de page */
.ch-haut {
	position: fixed;
	right: 24px;
	bottom: calc(24px + env(safe-area-inset-bottom, 0px));
	z-index: 20;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 44px;
	padding: 0 16px;
	border: 1px solid var(--ch-pierre);
	border-radius: var(--ch-rayon-bouton);
	background: var(--ch-blanc);
	color: var(--ch-marine);
	font-family: var(--ch-titres);
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
}

.ch-haut:hover { border-color: var(--ch-marine); }

.ch-haut[hidden] { display: none; }

@media (max-width: 640px) {
	.ch-haut { right: 16px; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); width: 44px; padding: 0; justify-content: center; }

	.ch-haut__texte { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
}

.wp-block-post-title:focus { outline: none; }

/* Pied de page, en marine */
.ch-pied {
	margin-top: auto;
	background: var(--ch-marine);
	color: #dbe4ef;
	font-size: 16px;
}

.ch-pied__interieur {
	display: grid;
	grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
	gap: 40px 64px;
	padding-block: 56px 40px;
}

.ch-pied__marque img { display: block; width: auto; height: 46px; }

.ch-pied__promesse {
	margin: 16px 0 0;
	font-family: var(--ch-titres);
	font-size: 17px;
	font-weight: 600;
	color: var(--ch-blanc);
}

.ch-pied__colonnes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }

.ch-pied__titre {
	margin: 0 0 8px;
	font-family: var(--ch-titres);
	font-size: 15px;
	font-weight: 700;
	color: var(--ch-blanc);
}

.ch-pied__liens ul { margin: 0; padding: 0; list-style: none; }

.ch-pied__liens a,
.ch-pied__legal a {
	display: inline-flex;
	align-items: center;
	min-height: var(--ch-cible);
	color: #dbe4ef;
	text-decoration: none;
}

.ch-pied__liens a:hover,
.ch-pied__legal a:hover { color: var(--ch-blanc); text-decoration: underline; text-underline-offset: 3px; }

.ch-pied__bas {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 4px 24px;
	position: relative;
	padding-block: 16px;
	font-size: 15px;
}

.ch-pied__bas p { margin: 0; display: flex; align-items: center; }

.ch-pied__legal { gap: 0 24px; flex-wrap: wrap; }

@media (max-width: 1000px) {
	.ch-pied__interieur { grid-template-columns: minmax(0, 1fr); }

	.ch-pied__colonnes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Témoins : une barre discrète, jamais une fenêtre qui bloque. */
.ch-temoins {
	position: fixed;
	z-index: 30;
	left: 24px;
	bottom: calc(24px + env(safe-area-inset-bottom));
	box-sizing: border-box;
	display: flex;
	align-items: center;
	gap: 16px;
	max-width: calc(100vw - 48px);
	padding: 10px 10px 10px 20px;
	border: 1px solid var(--ch-pierre);
	border-radius: var(--ch-rayon);
	background: var(--ch-blanc);
	color: var(--ch-marine);
	font-size: 16px;
	line-height: 1.35;
}

.ch-temoins[hidden] { display: none; }

.ch-temoins p { margin: 0; }

.ch-temoins__actions { display: flex; flex: none; gap: 6px; }

.ch-temoins .ch-bouton { min-height: 40px; padding: 0 14px; font-size: 15px; }

@media (max-width: 640px) {
	.ch-temoins { left: 16px; right: 16px; bottom: calc(16px + env(safe-area-inset-bottom)); flex-wrap: wrap; max-width: none; }
}

/* Une vraie zone de toucher pour les liens seuls sur leur ligne. */
@media (max-width: 640px), (pointer: coarse) {
	.ch-lien-seul > a,
	.ch-lien-seul > strong > a { display: inline-flex; align-items: center; min-height: 44px; }
}

@media print {
	.ch-entete, .ch-pied, .ch-sommaire, .ch-sommaire-plie, .ch-suite, .ch-service, .ch-haut, .ch-temoins, .ch-fil { display: none; }

	.ch-guide__corps { display: block; }
}

/* Outil : comparer des soumissions */
.ch-lecture > .ch-comparateur { max-width: none; }

.ch-comparateur__note {
	max-width: var(--ch-lecture);
	margin: 0 0 24px;
	font-size: 16px;
	color: var(--ch-graphite);
}

.ch-soumissions {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
	gap: 20px;
}

.ch-soumission {
	padding: 24px;
	border: 1px solid var(--ch-pierre);
	border-radius: var(--ch-rayon);
	background: var(--ch-blanc);
}

.ch-soumission[hidden] { display: none; }

.ch-soumission h3 { margin: 0 0 8px; font-size: 22px; }

.ch-groupe { margin: 16px 0 0; padding: 0; border: 0; }

.ch-groupe legend {
	padding: 0;
	margin-bottom: 4px;
	font-family: var(--ch-titres);
	font-size: 15px;
	font-weight: 700;
	color: var(--ch-graphite);
}

.ch-champ { margin-top: 10px; }

.ch-champ label { display: block; margin-bottom: 4px; font-size: 16px; }

.ch-champ input,
.ch-champ select,
.ch-champ textarea {
	box-sizing: border-box;
	width: 100%;
	min-height: 44px;
	padding: 8px 12px;
	border: 1.5px solid var(--ch-gris);
	border-radius: var(--ch-rayon-bouton);
	background: var(--ch-blanc);
	color: var(--ch-marine);
	font: inherit;
	font-size: 17px;
}

.ch-champ input:hover,
.ch-champ select:hover,
.ch-champ textarea:hover { border-color: var(--ch-marine); }

.ch-champ textarea { line-height: 1.5; resize: vertical; }

.ch-comparateur__actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 20px 0 0; }

.ch-comparateur__actions .ch-bouton[hidden] { display: none; }

.ch-resultat {
	margin-top: 48px;
	padding-top: 32px;
	border-top: 1px solid var(--ch-pierre);
}

.ch-resultat h2 { margin: 0 0 20px; font-size: var(--ch-h2); }

.ch-resultat h3 { margin: 36px 0 12px; font-size: 22px; }

.ch-resultat .ch-tableau th[scope="row"] { background: var(--ch-blanc); font-family: var(--ch-texte); font-size: 16px; font-weight: 600; }

.ch-resultat .ch-groupe-ligne th { background: var(--ch-papier); }

.ch-tableau td.ch-manque { background: var(--ch-ambre-pale); color: var(--ch-ambre); font-weight: 600; }

.ch-tableau td.ch-exclu { font-weight: 600; }

.ch-tableau td.ch-sans-objet { color: var(--ch-gris); }

.ch-liste-points { max-width: var(--ch-lecture); margin: 0; padding-left: 1.3em; }

.ch-liste-points li { margin-bottom: 8px; }

.ch-questions-envoi {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
	gap: 20px;
}

.ch-envoi {
	padding: 20px 24px;
	border: 1px solid var(--ch-pierre);
	border-radius: var(--ch-rayon);
}

.ch-envoi h4 { margin: 0 0 8px; font-size: 18px; }

.ch-envoi ol { margin: 0 0 16px; padding-left: 1.3em; font-size: 16px; }

.ch-envoi li { margin-bottom: 6px; }

@media print {
	.ch-soumissions, .ch-comparateur__note, .ch-comparateur__actions, .ch-pas-imprime { display: none !important; }

	.ch-resultat { margin: 0; padding: 0; border: 0; }
}

/* Signaler une erreur */
.ch-signaler {
	max-width: var(--ch-lecture);
	margin-top: 40px;
	padding: 4px 20px;
	border: 1px solid var(--ch-pierre);
	border-radius: var(--ch-rayon);
}

.ch-signaler summary {
	display: flex;
	align-items: center;
	min-height: 44px;
	font-family: var(--ch-titres);
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
}

.ch-signaler form { padding-bottom: 16px; }

.ch-signaler__piege { position: absolute; left: -9999px; }

.ch-signaler__merci { margin: 12px 0; font-weight: 600; }

/* Photos */
.ch-une--photo {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	align-items: center;
	gap: 48px;
}

.ch-une__visuel { margin: 0; }

.ch-une__photo {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	object-position: 60% 50%;
	border-radius: var(--ch-rayon);
}

@media (max-width: 900px) {
	.ch-une--photo { grid-template-columns: minmax(0, 1fr); gap: 32px; }

	.ch-une__photo { aspect-ratio: 16 / 10; }
}

/* Haut d'un guide avec photo : le texte à gauche, la photo à droite. */
.ch-guide__tete:has(.wp-block-post-featured-image) {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	align-items: center;
	gap: 32px 56px;
}

.ch-guide__tete > .ch-guide__tete-texte { margin: 0; }

.ch-guide__tete .wp-block-post-featured-image {
	margin: 0;
	overflow: hidden;
	border-radius: var(--ch-rayon);
}

.ch-guide__tete .wp-block-post-featured-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media (max-width: 1000px) {
	.ch-guide__tete:has(.wp-block-post-featured-image) { grid-template-columns: minmax(0, 1fr); }

	.ch-guide__tete .wp-block-post-featured-image { aspect-ratio: 16 / 9 !important; }
}
