/* ==========================================================================
   Portail-Habitat.fr - charte « Magazine » (V1.5)
   Chargé en dernier. Une seule palette pour tout le site :
   bleu canard (#0F4C4E) + corail/terre cuite (#C4532F) + jaune (#F6C23E),
   fond crème. Le vert n'est plus utilisé (sauf « bonne réponse » des quiz).
   ========================================================================== */

:root {
	--mag-nuit: #0B3638;      /* pied de page */
	--mag: #0F4C4E;           /* bleu canard : titres, liens, bandeaux */
	--mag-moyen: #2E6E6F;
	--mag-clair: #D9ECEA;
	--mag-pale: #EEF5F4;
	--corail: #EE8A62;        /* décor : pastilles, puces, filets */
	--terre: #C4532F;         /* boutons d'action (texte blanc lisible) */
	--terre-fonce: #A9432A;
	--jaune: #F6C23E;
	--creme: #FAF8F4;

	--bleu: var(--mag);
	--bleu-marine: var(--mag);
	--bleu-clair: var(--mag-clair);
	--cta: var(--terre);
	--fond-page: var(--creme);
}

/* Toutes les rubriques partagent la même couleur */
body, body[class], .rubrique, .rubrique[class] {
	--categorie: #0F4C4E;
	--categorie-clair: #D9ECEA;
}
body[class*="design-"] { --accent-fonce: #0B3638; --fond-doux: #EEF5F4; }

body.fond-gris { background-color: var(--creme); }

/* En-tête : liseré bleu canard / corail, rubrique active en bleu canard */
.tricolore span:first-child { background-color: var(--mag); }
.tricolore span:nth-child(3) { background-color: var(--corail); }
.menu .liste-menu a.actif, .menu .liste-menu a.actif:hover { background-color: var(--mag); color: #fff; }
.etiquette { background-color: var(--terre); }

/* Boutons */
.btn.jaune:hover, .accordeon .bandeau-accordeon .btn:hover { background-color: var(--terre-fonce); }
body.design-3 .btn { background: var(--terre); }
body.design-3 .btn:hover { background: var(--terre-fonce); }
body.design-3 .btn.blanc.contour { background: transparent; color: var(--mag); box-shadow: inset 0 0 0 2px var(--mag); }
body.design-3 .btn.blanc.contour:hover { background: var(--mag); color: #fff; }

/* Liens dans les encadrés */
.bloc-aide a:not(.btn) { color: var(--mag); }
.admin-flottant a.af-modifier:hover { background: var(--mag); }

/* Étiquettes sur bandeau foncé : corail, texte bleu nuit */
.hero-categorie .etiquette, .hero-mairie .etiquette { background-color: var(--corail); color: var(--mag-nuit); }
body.design-3 .hero-categorie .etiquette { background-color: var(--corail); color: var(--mag-nuit); }
.entete .btn { background-color: var(--terre); color: #fff; }
.entete .btn:hover { background-color: var(--terre-fonce); }

/* Accueil : bloc « Numéros utiles » aux couleurs du site */
body.accueil .canicule { --canicule-fond: var(--mag-pale); --canicule-bord: var(--mag-clair); --canicule-texte: var(--mag); }
body.accueil .canicule .btn-canicule { background-color: var(--terre); }
body.accueil .canicule .btn-canicule:hover { background-color: var(--terre-fonce); }

/* ==========================================================================
   Lettre d'information : formulaire commun + encart dans les fiches
   ========================================================================== */
.visuellement-cache { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.form-lettre { display: flex; gap: .5rem; max-width: 30rem; }
.form-lettre input[type="email"] { flex: 1 1 auto; min-width: 0; height: 3rem; padding: 0 1rem; border: 1px solid #C9D6D4; border-radius: .5rem; background: #fff; font: inherit; font-size: 1rem; color: #191919; }
.form-lettre input[type="email"]::placeholder { color: #8A9594; font-style: normal; }
.form-lettre input[type="email"]:focus-visible, .form-lettre button:focus-visible { outline: 3px solid var(--corail); outline-offset: 1px; }
.form-lettre button { flex: 0 0 auto; height: 3rem; padding: 0 1.2rem; border: 0; border-radius: .5rem; background: var(--terre); color: #fff; font: inherit; font-size: 1rem; font-weight: 700; cursor: pointer; }
.form-lettre button:hover { background: var(--terre-fonce); }
.message-formulaire { margin: 0 0 .75rem; padding: .6rem .9rem; border-radius: .5rem; font-size: .95rem; font-weight: 600; }
.message-formulaire.ok { background: #E3F2EF; color: #0B3638; }
.message-formulaire.erreur { background: #FDECEB; color: #8E1F14; }
@media (max-width: 480px) { .form-lettre { flex-direction: column; } .form-lettre button { width: 100%; } }

body .encart-lettre { margin: 2.75rem 0 3rem; display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.1rem; padding: 1.6rem 1.75rem; background: var(--mag-pale); border: 1px solid var(--mag-clair); border-left: 6px solid var(--corail); border-radius: 1rem; }
body .encart-lettre p.el-sur { margin: 0; font-size: .78rem; font-weight: 700; line-height: 1.4; text-transform: uppercase; letter-spacing: .08em; color: #A9441F; }
body .encart-lettre p.el-titre { margin: .35rem 0 0; font-size: 1.3rem; font-weight: 800; line-height: 1.3; color: var(--mag); }
body .encart-lettre p.el-desc { margin: .5rem 0 0; font-size: 1rem; line-height: 1.5; color: #3B4747; }
body .encart-lettre p.el-mention { margin: .5rem 0 0; font-size: .82rem; line-height: 1.4; color: #566363; }
body .encart-lettre p.el-mention a { color: var(--mag); text-decoration: underline; }
body .encart-lettre .form-lettre { max-width: 34rem; }
@media (max-width: 760px) { body .encart-lettre { padding: 1.35rem 1.25rem; } }

/* ==========================================================================
   Pieds de page allégés (?pied=1 à 10)
   ========================================================================== */
:where(.pied-v) * { color: inherit; }
:where(.pied-v) { color: #1B2626; }
.pied.pied-v { padding-top: 0; margin-top: 5rem; font-size: 1rem; line-height: 1.5; }
.pied-v .btn:not(.contour) { color: #fff; }
.pied-v a { color: inherit; text-decoration: none; }
.pied-v a:hover { text-decoration: underline; }
.pied-v .btn, .pied-v .btn:hover { text-decoration: none; }
.pied-v p { margin: 0; }
.pied-v .pv-logo { display: inline-block; }
.pied-v .pv-logo img { display: block; width: 163px; height: auto; }
.pied-v ul { list-style: none; padding: 0; margin: 0; }
.pied-v li + li { margin-top: .45rem; }
.pied-v .pv-titre { margin: 0 0 .9rem; font-size: .8rem; font-weight: 700; line-height: 1.4; text-transform: uppercase; letter-spacing: .08em; }
.pied-v .pv-petit { margin: 0 0 .9rem; font-size: .95rem; }
.pied-v .pv-mention { margin-top: .6rem; font-size: .85rem; opacity: .85; }
.pied-v .pv-lettre-titre { margin: 0 0 .75rem; font-size: 1.15rem; font-weight: 700; }
.pied-v .pv-bas { font-size: .875rem; }
.pied-v .pv-deux-colonnes { columns: 2; column-gap: 2rem; }
.pied-v .pv-deux-colonnes li { break-inside: avoid; margin: 0 0 .45rem; }
.pied-v .form-lettre input[type="email"] { border-color: #C9D6D4; }

/* 1 - Minimal centré */
.pied.pied-v1 { padding: 3.5rem 0 2rem; border-top: 1px solid #E3DED5; text-align: center; }
.pied-v1 .pv-texte { max-width: 36rem; margin: .9rem auto 0; color: #4A5555; }
.pied-v1 .pv-rubriques { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem 1.5rem; margin-top: 1.75rem; font-weight: 600; color: var(--mag); }
.pied-v1 .pv-lettre { max-width: 34rem; margin: 2.25rem auto 0; padding: 1.5rem; background: #fff; border: 1px solid #E3DED5; border-radius: 1rem; }
.pied-v1 .pv-lettre-titre { color: var(--mag); }
.pied-v1 .form-lettre { margin: 0 auto; }
.pied-v1 .pv-bas { margin-top: 2.25rem; color: #5E6868; }

/* 2 - Bande bleu canard, 3 colonnes */
.pied-v2 .pv-corps { padding: 3.5rem 0; background: var(--mag); color: #fff; }
.pied-v2 .pv-grille { display: grid; grid-template-columns: 1.1fr 1.4fr 1.2fr; gap: 3rem; }
.pied-v2 .pv-texte { margin-top: 1.25rem; color: #D9ECEA; font-size: .95rem; }
.pied-v2 .pv-maj { margin-top: 1rem; font-size: .85rem; color: #F4B08C; font-weight: 600; }
.pied-v2 .pv-titre { color: #F4B08C; }
.pied-v2 .pv-petit, .pied-v2 .pv-mention { color: #D9ECEA; }
.pied-v2 .form-lettre input[type="email"] { border-color: transparent; }
.pied-v2 .pv-barre { padding: 1rem 0; background: var(--mag-nuit); color: #BFD8D5; font-size: .85rem; }
.pied-v2 .pv-barre .section { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 2rem; }

/* 3 - Deux étages */
.pied-v3 .pv-etage-lettre { padding: 2.25rem 0; background: var(--mag-pale); border-top: 1px solid var(--mag-clair); }
.pied-v3 .pv-etage-lettre .section { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.25rem 3rem; }
.pied-v3 .pv-etage-lettre .form-lettre { flex: 0 1 30rem; }
.pied-v3 .pv-lettre-titre { color: var(--mag); margin: 0; }
.pied-v3 .pv-mention { margin-top: .3rem; }
.pied-v3 .pv-etage-liens { padding: 2.5rem 0 0; background: var(--mag-nuit); color: #fff; }
.pied-v3 .pv-etage-liens > .section:first-child { display: flex; align-items: center; gap: 1.5rem 3rem; flex-wrap: wrap; }
.pied-v3 .pv-rubriques { display: flex; flex-wrap: wrap; gap: .5rem 1.6rem; font-weight: 600; }
.pied-v3 .pv-bas { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 2rem; margin-top: 2rem; padding: 1.25rem 1.875rem 1.5rem; border-top: 1px solid rgba(255,255,255,.15); color: #BFD8D5; }

/* 4 - Colonnes de l'admin, version aérée */
.pied.pied-v4 { padding-top: 3.5rem; background: #fff; border-top: 1px solid #E3DED5; }
.pied-v4 .pv-grille { display: grid; grid-template-columns: 1.3fr repeat(4, minmax(0, 1fr)); gap: 2rem; }
.pied-v4 .pv-texte { margin-top: 1rem; font-size: .92rem; color: #4A5555; }
.pied-v4 .pv-titre { color: var(--mag); }
.pied-v4 .pv-col a { font-size: .92rem; color: #3B4747; }
.pied-v4 .pv-lettre-ligne { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2rem; margin-top: 2.5rem; padding-top: 1.75rem; padding-bottom: 1.75rem; border-top: 1px solid #EEE; }
.pied-v4 .pv-lettre-ligne .pv-lettre-titre { margin: 0; color: var(--mag); font-size: 1.05rem; }
.pied-v4 .pv-lettre-ligne .form-lettre { flex: 0 1 30rem; }
.pied-v4 .pv-bas { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 2rem; padding-top: 1.25rem; padding-bottom: 2rem; border-top: 1px solid #EEE; color: #5E6868; }

/* 5 - Carte lettre posée sur le pied */
.pied.pied-v5 { margin-top: 6rem; }
.pied-v5 .pv-carte-lettre { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1.1fr; gap: 1.5rem 2.5rem; align-items: center; margin-bottom: -3.5rem; padding: 1.75rem 2rem; background: #fff; border-left: 6px solid var(--corail); border-radius: 1rem; box-shadow: 0 12px 30px rgba(11,54,56,.14); }
.pied-v5 .pv-lettre-titre { color: var(--mag); font-size: 1.35rem; margin-bottom: .4rem; }
.pied-v5 .pv-petit { margin: 0; color: #3B4747; }
.pied-v5 .pv-mention { color: #566363; }
.pied-v5 .pv-corps { padding: 5.5rem 0 0; background: var(--mag-nuit); color: #fff; }
.pied-v5 .pv-corps > .section:first-child { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem; }
.pied-v5 .pv-corps nav { display: flex; flex-wrap: wrap; gap: .5rem 1.75rem; font-weight: 600; }
.pied-v5 .pv-bas { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 2rem; margin-top: 2rem; padding-top: 1.25rem; padding-bottom: 1.5rem; border-top: 1px solid rgba(255,255,255,.15); color: #BFD8D5; }

/* 6 - Journal officiel */
.pied.pied-v6 { padding: 2.5rem 0 2rem; background: #fff; border-top: 4px solid var(--mag); }
.pied-v6 .pv-entete { display: flex; align-items: center; gap: 1rem 2.5rem; flex-wrap: wrap; padding-bottom: 1.5rem; }
.pied-v6 .pv-texte { flex: 1 1 24rem; font-size: .95rem; color: #333; }
.pied-v6 .pv-texte strong { color: var(--mag); font-weight: 700; }
.pied-v6 .pv-ligne, .pied-v6 .pv-lettre-ligne { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .5rem; padding: .9rem 0; border-top: 1px solid #E5E5E5; font-size: .95rem; }
.pied-v6 .pv-ligne a { color: var(--mag); }
.pied-v6 .pv-libelle { display: inline-block; min-width: 7.5rem; font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: #666; }
.pied-v6 .pv-lettre-ligne .form-lettre { flex: 0 1 28rem; }
.pied-v6 .pv-bas { padding-top: .9rem; border-top: 1px solid #E5E5E5; color: #666; }

/* 7 - Grille nuit compacte */
.pied.pied-v7 { padding-top: 3rem; background: var(--mag-nuit); color: #fff; }
.pied-v7 .pv-grille { display: grid; grid-template-columns: 1.2fr 1.4fr .9fr 1.5fr; gap: 2.5rem; }
.pied-v7 .pv-texte { margin-top: 1rem; font-size: .92rem; color: #BFD8D5; }
.pied-v7 .pv-titre { color: #F4B08C; }
.pied-v7 .pv-col a { font-size: .95rem; color: #E6F1EF; }
.pied-v7 .pv-mention { color: #BFD8D5; }
.pied-v7 .form-lettre { flex-direction: column; }
.pied-v7 .form-lettre input[type="email"] { border-color: transparent; }
.pied-v7 .pv-bas { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 2rem; margin-top: 2.5rem; padding-top: 1.1rem; padding-bottom: 1.5rem; border-top: 1px solid rgba(255,255,255,.14); color: #9FC0BC; }

/* 8 - Trois portes */
.pied.pied-v8 { padding-bottom: 2rem; }
.pied-v8 .pv-portes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.pied-v8 .pv-porte { padding: 1.6rem; background: #fff; border: 1px solid #E3DED5; border-radius: 1rem; }
.pied-v8 .pv-porte:first-child { background: var(--mag); border-color: var(--mag); color: #fff; }
.pied-v8 .pv-titre { margin-bottom: .5rem; font-size: 1.15rem; text-transform: none; letter-spacing: 0; color: var(--mag); }
.pied-v8 .pv-porte:first-child .pv-titre { color: #fff; }
.pied-v8 .pv-porte:first-child .pv-petit { color: #D9ECEA; }
.pied-v8 .pv-petit { color: #3B4747; }
.pied-v8 .pv-porte .form-lettre input[type="email"] { border-color: transparent; }
.pied-v8 .pv-porte .btn { font-size: 1rem; }
.pied-v8 .pv-porte .btn.contour { color: var(--mag); box-shadow: inset 0 0 0 2px var(--mag); background: transparent; }
.pied-v8 .pv-porte .btn.contour:hover { background: var(--mag); color: #fff; }
.pied-v8 .pv-bas { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.75rem; margin-top: 2rem; color: #5E6868; }
.pied-v8 .pv-bas .pv-logo img { width: 120px; }

/* 9 - Éditorial */
.pied.pied-v9 { padding-top: 4rem; background: var(--mag); color: #fff; }
.pied-v9 .pv-edito { display: grid; grid-template-columns: 1.2fr 1fr; gap: 2rem 4rem; align-items: center; }
.pied-v9 .pv-phrase { font-family: "Source Serif 4", Georgia, serif; font-size: clamp(1.6rem, 2.6vw, 2.2rem); line-height: 1.3; font-weight: 600; }
.pied-v9 .pv-maj { margin-top: 1rem; font-size: .95rem; color: #F6C23E; font-weight: 600; }
.pied-v9 .pv-mention { color: #D9ECEA; }
.pied-v9 .form-lettre input[type="email"] { border-color: transparent; }
.pied-v9 .pv-bas { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2rem; margin-top: 3rem; padding-top: 1.5rem; padding-bottom: 2rem; border-top: 1px solid rgba(255,255,255,.18); color: #BFD8D5; }
.pied-v9 .pv-bas .pv-logo img { width: 120px; }

/* 10 - Ultra-compact */
.pied.pied-v10 { padding-top: 1.5rem; background: var(--mag-nuit); color: #fff; }
.pied-v10 .pv-bande { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 2rem; }
.pied-v10 .pv-bande .pv-logo img { width: 110px; }
.pied-v10 nav { display: flex; flex-wrap: wrap; gap: .4rem 1.4rem; font-size: .95rem; }
.pied-v10 .pv-mini-lettre { display: flex; align-items: center; gap: .75rem; margin-left: auto; }
.pied-v10 .pv-mini-lettre > span { font-weight: 700; font-size: .9rem; white-space: nowrap; }
.pied-v10 .form-lettre { max-width: 22rem; }
.pied-v10 .form-lettre input[type="email"], .pied-v10 .form-lettre button { height: 2.6rem; border-color: transparent; }
.pied-v10 .pv-bas { margin-top: 1.25rem; padding-top: 1rem; padding-bottom: 1.25rem; border-top: 1px solid rgba(255,255,255,.14); color: #9FC0BC; font-size: .8rem; }

@media (max-width: 1000px) {
	.pied-v2 .pv-grille, .pied-v7 .pv-grille { grid-template-columns: 1fr 1fr; }
	.pied-v4 .pv-grille { grid-template-columns: 1fr 1fr; }
	.pied-v4 .pv-col-marque { grid-column: 1 / -1; }
	.pied-v2 .pv-col-marque, .pied-v7 .pv-col-marque { grid-column: 1 / -1; }
	.pied-v8 .pv-portes { grid-template-columns: 1fr; }
	.pied-v9 .pv-edito, .pied-v5 .pv-carte-lettre { grid-template-columns: 1fr; }
	.pied-v10 .pv-mini-lettre { margin-left: 0; flex-wrap: wrap; }
}
@media (max-width: 640px) {
	.pied-v2 .pv-grille, .pied-v7 .pv-grille, .pied-v4 .pv-grille { grid-template-columns: 1fr; gap: 2rem; }
	.pied-v5 .pv-carte-lettre { padding: 1.4rem 1.25rem; }
	.pied-v6 .pv-libelle { display: block; min-width: 0; width: 100%; }
	.pied-v3 .pv-bas { padding-left: 1.25rem; padding-right: 1.25rem; }
}

/* ==========================================================================
   Espace mairie / partenaires
   ========================================================================== */
.hero-mairie h1 em { color: var(--jaune); }
.hero-mairie .panneau-mairie { padding-bottom: 4.5rem; }
.hero-mairie .chapo { max-width: 42rem; }
.liste-partenaires { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; max-width: 60rem; margin: 2rem auto 0; padding: 0; list-style: none; }
.liste-partenaires li { padding: .5rem 1rem; background: #fff; border: 1px solid var(--mag-clair); border-radius: 999px; font-size: 1rem; font-weight: 600; color: var(--mag); }
.atout .icone-atout:has(svg) { display: inline-flex; align-items: center; justify-content: center; width: 3.25rem; height: 3.25rem; border-radius: .9rem; background: var(--mag-pale); color: var(--mag); font-size: 0; }
.atout .icone-atout svg { display: block; }
.atout p a { color: var(--mag); text-decoration: underline; }
.pourquoi + .pourquoi { padding-top: 4.5rem; }

/* Textes de loi : références en bleu canard */
.bloc-loi { background: #F3F7F6; }
.bloc-loi .loi-ref, .citation-officielle figcaption { color: var(--mag) !important; text-decoration-color: #B9D6D3 !important; }
body .encart-lettre p.el-titre { font-family: var(--police-titres, inherit); }

/* Les pictogrammes SVG prennent la couleur de leur conteneur (la règle globale * { color } les forçait en noir) */
svg * { color: inherit; }

/* ==========================================================================
   Menu CL (2e menu, affiché seulement si isFooterFunction()) et bascule admin
   ========================================================================== */
.barre-menu .menu-cl { order: 2; }
.barre-menu.collee .menu-cl { order: 1; }
.barre-menu .ombre-menu { order: 3; }
.menu-cl { background: var(--mag-pale); border-top: 1px solid var(--mag-clair); border-bottom: 1px solid var(--mag-clair); }
.menu-cl ul { display: flex; flex-wrap: wrap; justify-content: center; gap: .3rem 1.5rem; list-style: none; margin: 0; padding: .45rem 0; }
.menu-cl a { display: inline-block; padding: .3rem .8rem; border-radius: 999px; font-size: .95rem; font-weight: 600; color: var(--mag); text-decoration: none; }
.menu-cl a:hover, .menu-cl a.actif { background: var(--mag); color: #fff; }
.admin-flottant .af-cl { margin: 0; padding: .35rem .6rem; background: #fff; border-radius: .5rem; font-size: .85rem; }
.admin-flottant .af-cl label { display: flex; align-items: center; gap: .4rem; margin: 0; color: #1B2626; font-weight: 600; cursor: pointer; }
.admin-flottant .af-cl.actif { background: var(--jaune); }

/* Encart d'appel au simulateur (fiches, accueil, espace mairie) */
.encart-simulateur { display: flex; align-items: center; justify-content: space-between; gap: 1.2rem 2rem; flex-wrap: wrap; background: linear-gradient(120deg, var(--mag) 0%, var(--mag-nuit) 100%); color: #fff; border-radius: 1.1rem; padding: clamp(1.1rem, 3vw, 1.8rem) clamp(1.1rem, 3vw, 2.2rem); margin: 1.5rem 0; position: relative; overflow: hidden; }
.encart-simulateur * { color: inherit; }
.encart-simulateur::after { content: ""; position: absolute; right: -60px; top: -60px; width: 220px; height: 220px; border-radius: 50%; background: rgba(255, 255, 255, .06); pointer-events: none; }
.encart-simulateur-texte { flex: 1 1 380px; position: relative; z-index: 1; }
.encart-simulateur .etiquette { display: inline-block; background: rgba(255, 255, 255, .14); color: #fff; border-radius: 999px; padding: .2rem .7rem; font-size: .8rem; font-weight: 600; margin-bottom: .5rem; }
.encart-simulateur h2 { color: #fff; margin: 0 0 .4rem; font-size: clamp(1.25rem, 2.4vw, 1.6rem); line-height: 1.25; }
.encart-simulateur p { margin: 0; color: rgba(255, 255, 255, .88); }
.encart-simulateur .btn { position: relative; z-index: 1; background: var(--terre); color: #fff; }
.encart-simulateur .btn:hover { background: var(--terre-fonce); }


/* Entête : simulateur d'aides à côté de l'espace mairie */
.entete-actions { display: flex; align-items: center; gap: .6rem; flex-wrap: nowrap; }
.entete .btn.btn-simulateur { background: #fff; color: var(--mag); box-shadow: inset 0 0 0 2px var(--mag); display: inline-flex; align-items: center; gap: .45rem; }
.entete .btn.btn-simulateur:hover { background: var(--mag); color: #fff; }
.entete .btn.btn-simulateur * { color: inherit; }
.btn-simulateur-court { display: none; }
@media (max-width: 760px) {
	.entete-actions { gap: .4rem; }
	.entete-actions .btn { padding-left: .8rem; padding-right: .8rem; font-size: .88rem; }
	.btn-simulateur-long { display: none; }
	.btn-simulateur-court { display: inline; }
}
@media (max-width: 420px) {
	.entete .btn.btn-simulateur svg { display: none; }
}
/* Page simulateur */
.sa-page { max-width: 62rem; margin: 0 auto; }
.sa-section { padding-top: 1rem; }
/* Simulateur d'aides : en-tête simple sur fond blanc, le simulateur juste en dessous */
body.simulateur { background-color: #fff; }
.sa-entete { background: #fff; padding: 2.2rem 0 0; }
.sa-entete .etiquette { display: inline-block; }
.sa-entete .sa-page h1 { margin: .9rem 0 0; color: var(--mag-nuit, #0B3638); font-size: clamp(1.8rem, 3.6vw, 2.6rem); line-height: 1.2; }
.sa-entete .sa-page h1 em { color: var(--terre, #C4532F); font-style: normal; line-height: inherit; }
body.simulateur .sa-section { background: #fff; padding-top: 1.4rem; }
.sa-hero .numeros-urgence .numero-urgence strong { font-size: 2rem; }
.simulateur .hero-categorie h1 em { color: var(--jaune); }
.hp11-simulateur { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; margin: 1rem 0 0; }
.hp11-simulateur span { color: inherit; opacity: .85; font-size: .95rem; }
.hp11-encart-simulateur .encart-simulateur { margin: 2rem 0 .5rem; }
.bandeau-simulateur .encart-simulateur { margin: 1rem 0 2.5rem; }

/* Accessibilité (contrôle Lighthouse, octobre 2026) : boutons à contour lisibles, liens du texte soulignés */
body.design-3 .btn.contour:not(.blanc) { background: transparent; color: var(--mag); box-shadow: inset 0 0 0 2px var(--mag); }
body.design-3 .btn.contour:not(.blanc):hover, body.design-3 .btn.contour:not(.blanc):focus-visible { background: var(--mag); color: #fff; }
.carte-article p a:not(.btn), .carte-article li a:not(.btn), .tableau-simple td a:not(.btn), .faq .question-corps a:not(.btn) { text-decoration: underline; text-underline-offset: 2px; }
html body.simulateur .sa-entete .etiquette { background: var(--corail, #EE8A62); color: var(--mag-nuit, #0B3638); }
.el-mention a { text-decoration: underline; text-underline-offset: 2px; }
body.design-3 .btn.blanc:not(.contour) { background: #fff; color: var(--mag); box-shadow: inset 0 0 0 2px var(--mag); }
body.design-3 .btn.blanc:not(.contour):hover, body.design-3 .btn.blanc:not(.contour):focus-visible { background: var(--mag); color: #fff; }
.exemple-chiffre .ligne-exemple.vert span, .exemple-chiffre .ligne-exemple.total span:last-child, .tableau-prix .rangee span.mini { color: #146B46; }
.case a, label a { text-decoration: underline; text-underline-offset: 2px; }
.tableau-defilant:focus-visible { outline: 2px solid var(--mag); outline-offset: 2px; }


body .bloc-aide .etiquette { background-color: #146B46; }
.outil-case, .retract-case { padding: .2rem 0; }
.outil-case input[type="checkbox"], .outil-case input[type="radio"], .retract-case input[type="checkbox"] { flex: 0 0 auto; width: 1.25rem; height: 1.25rem; margin-top: .1rem; }
.tableau-simple th a:not(.btn) { text-decoration: underline; text-underline-offset: 2px; }
