:root{
  /* Jetons de 08_docs/design.md (§2), thème clair décidé le 2026-10-10 : papier pour la lecture, blanc pour les surfaces
     de données, nuit réservée aux blocs sombres (bloc final, cartes sombres). La rampe des cartes ne change pas. */
  --papier:#f4efe4; --blanc:#fff; --encre:#16221f; --encre-2:#4e5d57; --legende:#5c6763; --filet:#e3dccb; --filet-2:#cfc5ae;
  --ambre:#9c5923; --ambre-nuit:#e9a55b; --ambre-fond:#f5e6d2; --ambre-fond-nuit:#2b2418;
  --rouge:#b2432b; --rouge-fond:#fbeee9; --rouge-filet:#f0cfc4;
  --vert:#397352; --vert-nuit:#7cc59b; --jaune:#8a6a10;
  --nuit:#0d1a1b; --nuit-2:#13262a;
  /* Noms historiques (2026-10-02), conservés pour les règles qui suivent : ils pointent vers les jetons ci-dessus. */
  --fond:var(--papier); --fond-2:var(--blanc); --texte:var(--encre); --texte-2:var(--encre-2); --ligne:var(--filet);
  --f-titre:"Literata", Georgia, "Times New Roman", serif;
  --f-texte:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --f-chiffre:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
  --pas:clamp(1rem,3vw,2rem);
  color-scheme:light;
}
html{background:var(--fond)}
body{margin:0;background:var(--fond);color:var(--texte);font:400 1.0625rem/1.55 var(--f-texte)}
a{color:var(--ambre)}
a:focus-visible{outline:2px solid var(--ambre);outline-offset:3px}
main{max-width:52rem;margin:0 auto;padding:1.5rem var(--pas) 3rem}
.ariane{font-size:.85rem;color:var(--texte-2);margin:0 0 1rem}
.ariane a{color:var(--texte-2)}
h1{font:400 clamp(2rem,4.5vw,3.25rem)/1.08 var(--f-titre);letter-spacing:-.015em;margin:0 0 .8rem;text-wrap:balance}
h2{font:400 clamp(1.7rem,3.2vw,2.35rem)/1.12 var(--f-titre);letter-spacing:-.01em;margin:2.8rem 0 .8rem;text-wrap:balance}
h3{font:500 1.35rem/1.3 var(--f-titre);margin:1.8rem 0 .5rem;text-wrap:balance}
p{margin:.6rem 0}
.chapo{font-size:1.15rem;line-height:1.5;color:var(--texte-2);max-width:42rem}
.meta{font-size:.85rem;color:var(--texte-2)}
.defile{overflow-x:auto;margin:1rem 0}
.defile table{min-width:36rem}
th[scope=row]{min-width:10rem}
table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}
th,td{padding:.5rem .6rem;border-bottom:1px solid var(--ligne);text-align:right;vertical-align:top}
thead th{font:500 .78rem/1.3 var(--f-texte);color:var(--texte-2);text-transform:uppercase;letter-spacing:.04em}
th[scope=row],thead th:first-child{text-align:left;font-weight:500}
td{font-family:var(--f-chiffre);font-size:.95rem}
dl{margin:0} dt{font-weight:600;margin-top:1rem} dd{margin:.2rem 0 0}
.v{display:inline-block;font:500 .78rem/1.2 var(--f-texte);padding:.18rem .45rem;border-radius:4px;white-space:nowrap}
.v.ok{background:color-mix(in srgb,var(--vert) 16%,transparent);color:var(--vert)}
.v.moy{background:color-mix(in srgb,var(--jaune) 18%,transparent);color:var(--jaune)}
.v.non{background:color-mix(in srgb,var(--rouge) 15%,transparent);color:var(--rouge)}
.v.neu{background:var(--neutre-fond);color:var(--texte-2)}
.encart{background:var(--fond-2);border:1px solid var(--ligne);border-radius:6px;padding:1rem 1.2rem;margin:1rem 0}
@media (max-width:640px){th,td{padding:.45rem .4rem}}

/* Page commune : réponse brève, tuiles de chiffres, cartes de plantes, détails repliés */
.bref{font-size:1.1rem;line-height:1.55;max-width:44rem;border-left:3px solid var(--ambre);padding-left:1rem;margin:1rem 0 0}
.tuiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.8rem;margin:1rem 0}
.tuile{background:var(--fond-2);border:1px solid var(--ligne);border-radius:8px;padding:.9rem 1rem;min-width:0}
.tuile p{margin:0}
.t-titre{font:500 .82rem/1.3 var(--f-texte);color:var(--texte-2)}
.t-val{display:flex;flex-wrap:wrap;align-items:baseline;gap:.45rem;margin:.35rem 0 .2rem!important;font-family:var(--f-chiffre);font-variant-numeric:tabular-nums}
.t-auj{font-size:1.15rem;color:var(--texte-2)}
.t-fl{color:var(--texte-2)}
.t-val strong{font-size:1.7rem;font-weight:500;color:var(--texte)}
.t-val small{font-size:.8rem;color:var(--texte-2)}
.t-sous{font-size:.78rem;color:var(--legende)}
details.plus{margin:1rem 0;border:1px solid var(--ligne);border-radius:8px;padding:.2rem 1rem}
details.plus summary{cursor:pointer;padding:.6rem 0;font-weight:500;color:var(--ambre)}
.cartes{display:grid;grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr));gap:1rem;margin:.8rem 0}
.carte{background:var(--fond-2);border:1px solid var(--ligne);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.carte img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;max-width:100%}
.sans-photo{height:3.2rem}
.sans-photo{display:grid;place-items:center;font:400 1.6rem/1 var(--f-titre);color:var(--ambre);background:var(--ambre-fond)}
.c-corps{padding:.8rem 1rem 1rem}
.carte h4{margin:0;font:500 1.05rem/1.25 var(--f-titre)}
.latin{margin:.1rem 0 .5rem!important;font-style:italic;font-size:.85rem;color:var(--texte-2)}
.carte ul{margin:0;padding-left:1.1rem;font-size:.9rem}
.badge{display:inline-block;margin:.6rem .3rem 0 0!important;font:500 .75rem/1.2 var(--f-texte);padding:.25rem .5rem;border-radius:4px}
.badge.ok{background:color-mix(in srgb,var(--vert) 16%,transparent);color:var(--vert)}
.badge.moy{background:color-mix(in srgb,var(--jaune) 18%,transparent);color:var(--jaune)}
dl.surv dt{font-weight:600;margin-top:.9rem}

/* Encadré des règles : visible et lisible (demande d'Alexandre du 2026-10-02) */
.rappel{margin:.8rem 0 0;font-size:.95rem}
.rappel a{display:inline-block;padding:.6rem .9rem;border:1px solid var(--filet-2);border-radius:10px;background:var(--blanc);color:var(--texte);text-decoration:none}
.rappel a:hover{border-color:var(--encre)}
.encart-regles{margin:2.6rem 0 1.5rem;padding:1.2rem 1.3rem 1.4rem;border:2px solid var(--ambre);border-radius:10px;background:var(--ambre-fond)}
.encart-regles h2{margin-top:0}
.regles{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem}
.regle{background:var(--fond);border:1px solid var(--ligne);border-radius:8px;padding:1rem 1.1rem;min-width:0}
.regle h3{margin:0 0 .5rem;font:500 1.15rem/1.3 var(--f-titre)}
.regle p{margin:.5rem 0 0;font-size:.95rem}
.regle .badge{margin:0!important;font-size:.88rem;padding:.35rem .6rem}
.badge.non{background:color-mix(in srgb,var(--rouge) 18%,transparent);color:var(--rouge)}
.badge.neu{background:var(--neutre-fond);color:var(--texte-2)}
.nationales{margin:.4rem 0 0;padding-left:1.2rem}
.nationales li{margin:.3rem 0}
.credit{margin:0!important;padding:.25rem .6rem;font-size:.7rem;line-height:1.3;color:var(--legende);background:var(--fond)}
.credit a{color:var(--legende)}
.chaleur{margin:.5rem 0 0!important;font-size:.8rem;line-height:1.4;color:var(--legende)}
.liste-communes{columns:14rem;column-gap:1.5rem;padding-left:0;list-style:none;margin:.5rem 0 1rem;font-size:.92rem}
.liste-communes li{break-inside:avoid;padding:.12rem 0}
.plage{font-size:.75rem;color:var(--legende);white-space:nowrap}
.plante-tete{display:grid;grid-template-columns:minmax(0,18rem) minmax(0,1fr);gap:1.4rem;align-items:start;margin-top:.5rem}
.plante-photo{margin:0;border:1px solid var(--ligne);border-radius:8px;overflow:hidden}
.plante-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.plante-tete .bref p{margin:.3rem 0}
dl.fiche dt{font-weight:600;margin-top:.9rem}
dl.fiche dd{margin:.2rem 0 0}
dl.fiche dd ul{margin:.2rem 0 0;padding-left:1.2rem}
dl.fiche dd li{margin:.15rem 0}
details.detail-sources{margin-top:.3rem;font-size:.85rem;color:var(--texte-2)}
details.detail-sources summary{cursor:pointer;color:var(--ambre)}
a.bouton{display:inline-block;margin-top:.4rem;padding:.7rem 1.1rem;min-height:2.75rem;box-sizing:border-box;border:1px solid var(--encre);border-radius:10px;background:var(--encre);color:var(--papier);font-weight:500;text-decoration:none}
a.bouton:hover{background:var(--nuit-2);border-color:var(--nuit-2)}
@media (max-width:640px){.plante-tete{grid-template-columns:1fr}}
.c-fiche{margin:.6rem 0 0;font-size:.9rem}
/* Récit du climat des pages commune (2026-10-03) : chapitres texte + graphique, graphiques SVG de graphiques_climat.py */
.chapitre{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:1.6rem;align-items:center;margin:2rem 0;padding-top:1.6rem;border-top:1px solid var(--ligne)}
.chapitre.sans-graphe{grid-template-columns:minmax(0,1fr)}
.ch-texte h3{margin:0 0 .6rem;font:500 1.6rem/1.2 var(--f-titre);text-wrap:balance}
.ch-texte p{margin:.45rem 0;line-height:1.7}
.ch-lien{font-weight:500;text-decoration:none}
.ch-lien::after{content:" ↓"}
.g-groupe{margin:1.4rem 0 .6rem;font:500 .78rem/1 var(--f-chiffre);letter-spacing:.14em;text-transform:uppercase;color:var(--ambre)}
.graphes{display:grid;grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));gap:.9rem;margin-bottom:1rem}
.graphe{margin:0;background:var(--fond-2);border:1px solid var(--ligne);border-radius:8px;padding:.85rem 1rem .5rem;min-width:0}
.graphe figcaption{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.35rem}
.g-titre{font-size:.85rem;color:var(--texte-2)}
.g-val{font-family:var(--f-chiffre);font-variant-numeric:tabular-nums}
.g-val .t-auj{color:var(--texte-2);font-size:1.05rem}
.g-val strong{font-size:1.45rem;font-weight:500;color:var(--texte)}
.g-val small{font-size:.8rem;color:var(--texte-2)}
.g-sous{font-size:.78rem;color:var(--legende)}
.graphe svg{display:block;width:100%;height:auto;overflow:visible}
.g-grille{stroke:var(--ligne);stroke-width:1}
.g-axe{fill:var(--legende);font:400 10.5px var(--f-chiffre)}
.g-bande{fill:var(--ambre);fill-opacity:.16}
.g-france{fill:none;stroke:var(--texte-2);stroke-width:1.5;stroke-dasharray:4 4}
.g-ligne{fill:none;stroke:var(--ambre);stroke-width:2;stroke-linejoin:round}
.g-point circle{fill:var(--ambre);stroke:var(--fond-2);stroke-width:2}
.g-point .g-cible{fill:transparent;stroke:none}
.g-legende{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;margin:.8rem 0 0;font:400 .78rem/1.4 var(--f-chiffre);color:var(--legende)}
.g-legende span::before{content:"";display:inline-block;vertical-align:middle;margin-right:.45rem;width:1.4rem;height:.6rem}
.g-leg-lieu::before{border-top:2px solid var(--ambre);height:0!important}
.g-leg-bande::before{background:var(--ambre);opacity:.25;border-radius:2px}
.g-leg-france::before{border-top:1.5px dashed var(--texte-2);height:0!important}
@media (max-width:760px){.chapitre{grid-template-columns:1fr}}
/* Pages département (2026-10-03) */
.carte-bloc{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:1.6rem;align-items:start}
.carte-dep{display:block;width:100%;height:auto}
.carte-dep circle{stroke:var(--fond);stroke-width:.6}
.carte-dep a:hover circle{stroke:var(--texte);stroke-width:1.5}
.carte-dep .contour{fill:var(--fond-2);stroke:var(--texte-2);stroke-opacity:.45;stroke-width:1;stroke-linejoin:round}
.carte-dep text{font:500 13px var(--f-texte);fill:var(--texte);paint-order:stroke;stroke:var(--fond);stroke-width:3.5px;stroke-linejoin:round;pointer-events:none}
.echelle-dep span{display:block;height:10px;border-radius:3px}
.echelle-dep p{display:flex;justify-content:space-between;margin:.3rem 0 0;font:400 .78rem/1 var(--f-chiffre);color:var(--legende)}
.echelle-dep b{font-weight:400}
.top-dep{list-style:none;padding:0;margin:.4rem 0}
.top-dep li{margin:.55rem 0;line-height:1.55}
.top-val{font:500 1rem var(--f-chiffre);color:var(--rouge)}
.villes-dep{padding-left:1.1rem}
.villes-dep li{margin:.5rem 0;line-height:1.6}
.filtre{box-sizing:border-box;width:min(22rem,100%);margin-top:.3rem;padding:.6rem .9rem;background:var(--fond-2);color:var(--texte);border:1px solid var(--ligne);border-radius:6px;font:inherit}
@media (max-width:760px){.carte-bloc{grid-template-columns:1fr}}
/* Réglementation (2026-10-03) : une page par question */
.rg-apercu{margin:0 0 1rem;padding:.5rem .8rem;border:1px dashed var(--rouge);border-radius:6px;color:var(--rouge);font-size:.9rem}
.rg-dates{display:flex;flex-wrap:wrap;gap:.3rem 1.2rem;margin:0 0 1.2rem;font-size:.85rem;color:var(--texte-2)}
.rg-reponse{margin:1rem 0 1.6rem;padding:1.1rem 1.3rem 1.2rem;border-left:4px solid var(--ambre);background:var(--ambre-fond);border-radius:0 8px 8px 0}
.rg-reponse p{margin:0;font-size:1.15rem;line-height:1.6;max-width:44rem}
.rg-reponse .rg-etiquette{margin:0 0 .4rem;font:600 .75rem/1 var(--f-chiffre);letter-spacing:.12em;text-transform:uppercase;color:var(--ambre)}
.rg-deux{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;align-items:start}
.rg-bloc{background:var(--fond-2);border:1px solid var(--ligne);border-radius:8px;padding:1rem 1.2rem;min-width:0}
.rg-bloc h2{margin:0 0 .5rem;font-size:1.3rem;font-weight:500}
.rg-risque{border-color:color-mix(in srgb,var(--rouge) 45%,var(--ligne))}
.rg-risque h2{color:var(--rouge)}
.rg-risque ul{margin:0;padding-left:1.1rem}
.rg-risque li{margin:.45rem 0;line-height:1.55}
.rg-risque li.rg-ref{list-style:none;margin-left:-1.1rem;font-size:.82rem;color:var(--legende)}
.rg-etapes{counter-reset:etape;list-style:none;padding:0;margin:.6rem 0}
.rg-etapes li{counter-increment:etape;position:relative;padding:.1rem 0 .1rem 2.6rem;margin:.9rem 0;line-height:1.6;max-width:44rem}
.rg-etapes li::before{content:counter(etape);position:absolute;left:0;top:0;width:1.8rem;height:1.8rem;border-radius:50%;display:grid;place-items:center;background:var(--ambre-fond);border:1px solid var(--ambre);color:var(--ambre);font:500 .9rem/1 var(--f-chiffre)}
.rg-liste li,.rg-ouvert li{margin:.45rem 0;line-height:1.6;max-width:44rem}
.rg-local{list-style:none;padding:0;margin:.8rem 0;display:grid;gap:.6rem}
.rg-local li{display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:.8rem;align-items:start;padding:.7rem .9rem;background:var(--fond-2);border:1px solid var(--ligne);border-radius:8px}
.rg-autorite{font:500 .72rem/1.2 var(--f-chiffre);letter-spacing:.08em;text-transform:uppercase;color:var(--ambre);padding-top:.2rem}
.rg-local p{margin:0}
.rg-objet{font-weight:500}
.rg-table td{font-family:var(--f-texte);text-align:left}
.rg-table th[scope=row]{font-weight:500}
.rg-table td:nth-child(3){white-space:nowrap}
.rg-table td:nth-child(4){font-size:.85rem;min-width:14rem}
.rg-plantes{display:flex;flex-wrap:wrap;gap:.5rem}
.rg-plantes a{padding:.3rem .7rem;border:1px solid var(--ligne);border-radius:99px;text-decoration:none;font-size:.92rem}
.rg-plantes a:hover{border-color:var(--ambre)}
.rg-ouvert{margin-top:2.4rem;padding:.4rem 1.2rem .8rem;border:1px dashed var(--ligne);border-radius:8px}
.rg-ouvert h2{margin-top:.8rem;font-size:1.25rem;font-weight:500}
.rg-textes{padding-left:1.1rem}
.rg-textes li{margin:.3rem 0}
.rg-voisines li{margin:.35rem 0}
.rg-sommaire{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.2rem 0 .4rem}
.rg-sommaire a{padding:.4rem .8rem;border:1px solid var(--ligne);border-radius:99px;text-decoration:none;font-size:.9rem;color:var(--texte)}
.rg-sommaire a:hover{border-color:var(--ambre)}
.rg-cartes{display:grid;grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));gap:1rem}
.rg-carte{display:flex;flex-direction:column;padding:1rem 1.15rem;background:var(--fond-2);border:1px solid var(--ligne);border-radius:8px;color:var(--texte);text-decoration:none;min-width:0}
.rg-carte:hover{border-color:var(--ambre)}
.rg-carte h3{margin:0 0 .5rem;font:500 1.12rem/1.3 var(--f-titre);color:var(--ambre);text-wrap:balance}
.rg-carte p{margin:0;font-size:.93rem;line-height:1.55;color:var(--texte-2)}
.rg-carte .rg-marques{margin-top:auto;padding-top:.5rem}
.rg-encart h2{margin-top:.2rem}
.rg-carte .badge{margin:.3rem .3rem 0 0!important}
@media (max-width:760px){.rg-deux{grid-template-columns:1fr}.rg-local li{grid-template-columns:1fr;gap:.2rem}}
/* Solutions (2026-10-03) */
.so-grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1rem}
.so-carte{display:flex;flex-direction:column;padding:1rem 1.15rem;background:var(--fond-2);border:1px solid var(--ligne);border-radius:8px;min-width:0}
.so-carte h3{margin:0 0 .5rem;font:500 1.12rem/1.3 var(--f-titre)}
.so-carte p{margin:0;font-size:.95rem;line-height:1.6;color:var(--texte-2)}
.so-lien{margin-top:auto;padding-top:.7rem;font-weight:500;text-decoration:none}
.so-lien::after{content:" →"}
.so-groupes{padding-left:1.1rem}
.so-groupes li{margin:.35rem 0}
.encart h2{margin-top:.2rem;font-size:1.4rem;font-weight:500}
/* Catalogue des plantes (2026-10-03) : filtres et cartes avec photo */
.pl-filtres{display:grid;gap:1rem;margin:1.4rem 0 .6rem;padding:1.1rem 1.2rem;background:var(--fond-2);border:1px solid var(--ligne);border-radius:10px}
.pl-etape{border:0;margin:0;padding:0;min-width:0}
.pl-etape legend{display:flex;align-items:center;gap:.6rem;padding:0;margin-bottom:.55rem;font:500 1.05rem/1.3 var(--f-titre)}
.pl-num{display:grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:50%;border:1px solid var(--ambre);background:var(--ambre-fond);color:var(--ambre);font:500 .85rem/1 var(--f-chiffre)}
.pl-etape .meta{margin:.4rem 0 0}
.pl-puces{display:flex;flex-wrap:wrap;gap:.5rem}
.pl-puce{position:relative;cursor:pointer}
.pl-puce input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.pl-puce span{display:inline-block;padding:.4rem .85rem;border:1px solid var(--ligne);border-radius:99px;font-size:.9rem;color:var(--texte);background:var(--fond)}
.pl-puce input:checked+span{border-color:var(--ambre);background:var(--ambre-fond);color:var(--ambre)}
.pl-puce input:focus-visible+span{outline:2px solid var(--ambre);outline-offset:2px}
.pl-bilan{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.8rem;border-top:1px solid var(--ligne)}
.pl-bilan p{margin:0;font-size:1rem}
.pl-bilan strong{font:500 1.5rem/1 var(--f-chiffre);color:var(--ambre)}
.pl-raz{padding:.4rem .8rem;background:none;border:1px solid var(--ligne);border-radius:6px;color:var(--texte-2);font:inherit;font-size:.88rem;cursor:pointer}
.pl-raz:hover{border-color:var(--texte-2);color:var(--texte)}
.pl-limite{max-width:46rem;margin:.4rem 0 1rem}
.pl-vide{padding:1rem 1.2rem;border:1px dashed var(--ligne);border-radius:8px}
.pl-n{font:400 .9rem var(--f-chiffre);color:var(--texte-2);margin-left:.3rem}
.pl-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(11.5rem,1fr));gap:.9rem}
.pl-carte{display:flex;flex-direction:column;background:var(--fond-2);border:1px solid var(--ligne);border-radius:8px;overflow:hidden;color:var(--texte);text-decoration:none;min-width:0}
.pl-carte:hover{border-color:var(--ambre)}
.pl-carte img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;max-width:100%;background:var(--fond)}
.pl-carte .sans-photo{aspect-ratio:4/3;height:auto}
.pl-corps{display:flex;flex-direction:column;gap:.15rem;padding:.65rem .8rem .8rem}
.pl-nom{font:500 1rem/1.25 var(--f-titre);color:var(--ambre)}
.pl-carte .latin{margin:0!important;font-size:.8rem}
.pl-reperes{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.35rem}
.pl-reperes span{font-size:.75rem;padding:.12rem .4rem;border-radius:4px;background:var(--fond);color:var(--texte-2)}
.pl-carte[hidden],.pl-groupe[hidden]{display:none!important}
/* Climat de la France (2026-10-03) */
.cl-niveaux{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:1.2rem 0 .4rem;background:var(--ligne);border:1px solid var(--ligne);border-radius:8px;overflow:hidden}
.cl-niveaux div{display:flex;flex-direction:column;gap:.2rem;padding:.9rem 1rem;background:var(--fond-2);min-width:0}
.cl-niveaux .cl-cle{background:var(--ambre-fond)}
.cl-n{font:500 .75rem/1 var(--f-chiffre);letter-spacing:.1em;text-transform:uppercase;color:var(--texte-2)}
.cl-niveaux strong{font:500 1.9rem/1.1 var(--f-chiffre);font-variant-numeric:tabular-nums;color:var(--texte)}
.cl-niveaux .cl-cle strong{color:var(--ambre)}
.cl-niveaux small{font-size:.78rem;color:var(--texte-2)}
.cl-carte{margin:.8rem 0;padding:1rem;background:var(--fond-2);border:1px solid var(--ligne);border-radius:8px}
.cl-carte canvas{display:block;width:100%;max-width:34rem;height:auto;margin:.8rem auto;image-rendering:pixelated}
.cl-boutons{display:flex;flex-wrap:wrap;gap:.5rem}
.cl-boutons button{padding:.4rem .9rem;border:1px solid var(--ligne);border-radius:99px;background:var(--fond);color:var(--texte);font:inherit;font-size:.9rem;cursor:pointer}
.cl-boutons button[aria-pressed="true"]{border-color:var(--ambre);background:var(--ambre-fond);color:var(--ambre)}
.cl-legende{max-width:22rem;margin:0 auto}
.cl-degrade{display:block;height:10px;border-radius:3px}
.cl-legende p{display:flex;justify-content:space-between;margin:.3rem 0 0;font:400 .78rem/1 var(--f-chiffre);color:var(--legende)}
.cl-classements{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.4rem}
.cl-classements h3{margin-top:.6rem}
.cl-lien-graphe{text-decoration:none;color:inherit;display:block;min-width:0}
.cl-lien-graphe:hover .graphe{border-color:var(--ambre)}
@media (max-width:760px){.cl-niveaux{grid-template-columns:repeat(2,minmax(0,1fr))}.cl-classements{grid-template-columns:1fr}}
/* Arrêtés préfectoraux (2026-10-03) */
.arretes{margin-top:1.4rem}
.arretes h3{margin:0 0 .6rem}
.arrete{padding:.8rem 1rem;margin:.6rem 0;background:var(--fond);border:1px solid var(--ligne);border-radius:8px}
.arrete h4{margin:0 0 .4rem;font:500 1rem/1.3 var(--f-titre);color:var(--ambre)}
.arrete p{margin:.35rem 0;font-size:.93rem}
.arrete details ul{margin:.4rem 0;padding-left:1.1rem;color:var(--texte)}
.arrete details li{margin:.3rem 0;line-height:1.5}
/* Solutions par commune (2026-10-03) */
.so-avant{border-color:color-mix(in srgb,var(--ambre) 45%,var(--ligne))}
.so-avant .badge{margin:.3rem .3rem 0 0!important}
/* Ce qui a déjà changé (lot 2 de l'audit, 2026-10-06) : bandes du réchauffement et jours à 30 °C année par année */
.deja{margin:1.8rem 0 1rem;padding-top:1.6rem;border-top:1px solid var(--ligne)}
.deja h3{margin:0 0 .6rem;font:500 1.6rem/1.2 var(--f-titre)}
.deja>p{max-width:46rem;line-height:1.7}
.bandes-fig{margin:1.1rem 0 .3rem}
.bandes-fig svg{display:block;width:100%;height:4.5rem;border-radius:4px}
.bandes-fig figcaption{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:.4rem;font:400 .78rem/1.3 var(--f-chiffre);color:var(--legende)}
.bandes-cle{text-align:center}
.bandes-cle i{display:inline-block;width:.75rem;height:.75rem;border-radius:2px;vertical-align:-1px;margin:0 .35rem 0 .8rem}
.b-froid{background:#2c6884}.b-chaude{background:#b23a2b}
.histo{margin:1.2rem 0 .6rem}
.h-barre{fill:var(--ambre);fill-opacity:.85}
@media (max-width:640px){.bandes-cle{display:none}.bandes-fig svg{height:3.2rem}}
/* Page « La France à +2,7 °C » (lot 2 de l'audit, 2026-10-06) : colonne de lecture, figures larges, chapitres numérotés */
.constat>p,.constat section>p,.constat section>ul{max-width:40rem}
.constat section{margin-top:3rem}
.ct-surtitre{margin:1.4rem 0 .6rem;font:500 .78rem/1 var(--f-chiffre);letter-spacing:.14em;text-transform:uppercase;color:var(--ambre)}
.constat h1{font-size:clamp(2.2rem,6vw,3.6rem);line-height:1.05}
.ct-chapo{font-size:1.18rem;line-height:1.6;color:var(--texte)}
.constat h2{display:flex;align-items:baseline;gap:.8rem}
.ct-num{flex:none;font:500 .9rem/1 var(--f-chiffre);color:var(--ambre);border:1px solid var(--ambre);border-radius:50%;width:2rem;height:2rem;display:grid;place-items:center;transform:translateY(-.15rem)}
.constat section p{line-height:1.75}
.ct-figure{margin:1.6rem 0}
.ct-figure .cl-carte{margin:0}
.ct-legende-titre{margin:0 0 .7rem!important;font:500 .9rem/1.3 var(--f-texte);color:var(--texte-2)}
.ct-bandes svg{height:6rem}
.ct-note{margin:2rem 0 0;max-width:40rem;padding:1.1rem 1.3rem;border-left:3px solid var(--ambre);background:var(--fond-2);border-radius:0 8px 8px 0}
.ct-note p{margin:.4rem 0;line-height:1.7}
.ct-etiquette{margin:0 0 .4rem!important;font:500 .72rem/1 var(--f-chiffre);letter-spacing:.12em;text-transform:uppercase;color:var(--ambre)}
.ct-signature{text-align:right;font-style:italic;color:var(--texte-2)}
.ct-vide{border-left-style:dashed;color:var(--texte-2)}
.ct-villes td,.ct-villes th{font-family:var(--f-texte);text-align:left}
.ct-boutons{display:flex;flex-wrap:wrap;gap:.6rem}
/* Code couleur par rubrique (lot 3 de l'audit, 2026-10-06). Ambre : le constat, les chiffres du climat. Vert : ce que l'on
   peut faire (gestes, plantes). Neutre : la réglementation, contrainte à connaître qui n'a pas besoin de la couleur de l'alerte.
   Les liens courants prennent la couleur du texte, soulignés ; l'ambre reste aux boutons (a.bouton), une action par écran. */
:root{--accent:var(--ambre);--accent-fond:var(--ambre-fond);--neutre:var(--encre-2);--neutre-fond:#ece6d8;--souligne:color-mix(in srgb,var(--texte) 38%,transparent)}
.zone-constat{--accent:var(--ambre);--accent-fond:var(--ambre-fond)}
.zone-solutions{--accent:var(--vert);--accent-fond:color-mix(in srgb,var(--vert) 11%,var(--fond))}
.zone-regles{--accent:var(--neutre);--accent-fond:var(--neutre-fond)}
a{color:var(--texte);text-decoration-color:var(--souligne);text-decoration-thickness:1px;text-underline-offset:.2em}
a:hover{text-decoration-color:var(--accent)}
.ariane a,.meta a{color:inherit}
details.plus summary,details.detail-sources summary{color:var(--accent)}
.rg-carte h3,.pl-nom,.arrete h4,.so-carte h3,.carte h4 a{color:var(--accent)}
.rg-carte:hover,.pl-carte:hover,.rg-plantes a:hover,.rg-sommaire a:hover,.cl-lien-graphe:hover .graphe{border-color:var(--accent)}
.rg-reponse{border-left-color:var(--accent);background:var(--accent-fond)}
.rg-reponse .rg-etiquette,.rg-autorite{color:var(--accent)}
.rg-etapes li::before{background:var(--accent-fond);border-color:var(--accent);color:var(--accent)}
.pl-num{border-color:var(--accent);background:var(--accent-fond);color:var(--accent)}
.pl-puce input:checked+span{border-color:var(--accent);background:var(--accent-fond);color:var(--accent)}
.pl-puce input:focus-visible+span{outline-color:var(--accent)}
.pl-bilan strong{color:var(--accent)}
.so-avant{border-color:color-mix(in srgb,var(--accent) 45%,var(--ligne))}
.so-lien{color:var(--accent)}
.zone-solutions .badge.moy,.zone-regles .badge.moy{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}
/* Pages commune : le constat, puis ce que l'on peut faire, puis les règles (encadré sobre, sans fond ni cadre ambre) */
.faire{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--ligne)}
.faire-surtitre{color:var(--vert)!important;margin-top:0!important}
.faire section h2{margin-top:1rem}
.encart-regles{margin:3rem 0 1.5rem;padding:2rem 0 0;border:0;border-top:1px solid var(--ligne);border-radius:0;background:none}
.vigilance{margin:3rem 0 1.5rem;padding-top:2rem;border-top:1px solid var(--ligne)}
.vigilance h2{margin-top:0}
/* Fiches longues : moins de cadres. « Qui est concerné », « Ce que vous risquez », « À éviter » deviennent des colonnes
   ouvertes sous un filet ; restent encadrés la réponse courte (filet à gauche) et l'invitation vers la commune. */
.rg-deux{gap:2.2rem}
.rg-bloc{background:none;border:0;border-top:2px solid var(--ligne);border-radius:0;padding:1rem 0 0;margin-top:2.4rem}
.rg-deux>.rg-bloc{margin-top:0}
.rg-risque{border-top-color:color-mix(in srgb,var(--rouge) 70%,var(--ligne))}
.inconnu{color:var(--texte-2);font-style:italic}
.regle{background:var(--fond-2)}
.rappel a{border-color:var(--ligne);background:var(--fond-2)}
/* Photos : même étalonnage léger pour des sources disparates ; crédit en légende discrète (licences CC BY et CC BY-SA) */
.carte img,.pl-carte img,.plante-photo img{filter:saturate(.92) contrast(1.03)}
/* Cartes de plantes : le lien vers la fiche en bas de carte, aligné d'une carte à l'autre */
.carte .c-corps{flex:1;display:flex;flex-direction:column;align-items:flex-start}
.carte .c-fiche{margin-top:auto;padding-top:.6rem}
/* Au téléphone, deux cartes par rangée : la page commune perd plusieurs écrans de photos */
@media (max-width:560px){.cartes{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.carte .c-corps{padding:.55rem .65rem .75rem}.carte h4{font-size:.95rem}.carte .latin,.carte ul,.carte .chaleur,.carte .c-fiche{font-size:.8rem}.carte .badge{font-size:.72rem}}
.credit{background:none!important;padding:.3rem 1rem 0!important;font-size:.64rem!important;opacity:.8}
/* Page commune, refonte du 2026-10-10 (design.md §6) : ouverture sombre avec les bandes de la maille, puis constat sur blanc,
   « Ce que vous pouvez faire » sur papier, règles sur blanc. main.commune est pleine largeur ; chaque bande recentre une colonne. */
main.commune{max-width:none;padding:0}
.cm-col{max-width:52rem;margin:0 auto;padding:0 var(--pas)}
.cm-col.large{max-width:72rem}
.cm-col.large>h1,.cm-col.large>.bref{max-width:52rem}
.cm-ouverture{background:var(--encre);color:var(--papier);padding:1.5rem 0 2.5rem}
.cm-ouverture .ariane,.cm-ouverture .ariane a{color:#a7b6ae}
.cm-ouverture h1{color:var(--papier)}
.cm-ouverture .bref{border-left-color:var(--ambre-nuit);color:#e8eee7}
.cm-ouverture .rappel a{background:none;border-color:#3f5550;color:var(--papier)}
.cm-ouverture .rappel a:hover{border-color:var(--ambre-nuit)}
.cm-ouverture a{color:var(--papier)}
.cm-bandes{margin:2rem 0 .3rem}
.cm-bandes svg{height:7.5rem;border-radius:6px}
.cm-bandes figcaption{color:#d8d3c6}
.cm-bandes-note{color:#d8d3c6;max-width:60rem}
.cm-bande{padding:1.5rem 0 3rem}
.cm-bande.blanc{background:var(--blanc)}
.cm-bande .faire,.cm-bande .encart-regles,.cm-bande .vigilance{margin-top:0;padding-top:0;border-top:0}
.cm-bande.blanc .regle{background:var(--papier)}
.cm-bande.blanc .tuile,.cm-bande.blanc .graphe,.cm-bande.blanc .encart,.cm-bande.blanc .arrete{background:var(--blanc)}
/* Chapitres du récit : le graphique sans boîte, le chiffre en grand (design.md : les chiffres doivent marquer) */
.chapitre .graphe{background:none;border:0;padding:0}
.chapitre .g-val .t-auj{font-size:1.4rem}
.chapitre .g-val strong{font-size:2.4rem;letter-spacing:-.02em}
.chapitre .g-titre{font:500 .78rem/1.4 var(--f-chiffre);letter-spacing:.12em;text-transform:uppercase;color:var(--encre-2)}
.cm-bande .deja{border-top:0;padding-top:0;margin-top:.5rem}
/* Photos réelles (lot « photos » du 2026-10-10) : ouverture des pages département sur photo, cartes et fiches Solutions */
.cm-photo{min-height:24rem;display:flex;align-items:flex-end;padding:0;overflow:hidden}
.cm-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.82}
.cm-photo{position:relative}
.cm-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,34,31,.05) 0%,rgba(22,34,31,.55) 45%,rgba(22,34,31,.94) 100%)}
.cm-photo .cm-col{position:relative;z-index:1;width:100%;padding-top:1.5rem;padding-bottom:1.8rem}
.cm-photo .ariane,.cm-photo .ariane a{color:#d8d3c6}
.cm-photo-legende{margin:.4rem 0 0;font:400 .78rem/1.4 var(--f-chiffre);color:#d8d3c6}
.rg-carte img{display:block;width:calc(100% + 2.3rem);max-width:none;margin:-1rem -1.15rem .8rem;aspect-ratio:16/10;height:auto;object-fit:cover;border-radius:8px 8px 0 0}
.so-photo{margin:1.4rem 0 .4rem}
.so-photo img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:12px}
.so-photo figcaption{margin-top:.4rem;font:400 .78rem/1.4 var(--f-chiffre);color:var(--legende)}
.credit-photo{margin-top:2rem;font-size:.8rem;color:var(--legende)}
.credit-photo a{color:inherit}
@media (max-width:640px){.cm-photo{min-height:18rem}}
/* Page du constat, refonte du 2026-10-10 : ouverture sur photo, chiffre repère par chapitre, photos réelles, cartes sans boîte */
.cm-ouverture .chapo,.cm-ouverture .ct-chapo{color:#d8d3c6}
.cm-ouverture .ct-surtitre{color:var(--ambre-nuit)}
.ct-repere{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem 1rem;margin:.4rem 0 1.2rem}
.ct-repere b{font:500 clamp(2.6rem,5vw,3.75rem)/1 var(--f-chiffre);letter-spacing:-.03em;color:var(--rouge);font-variant-numeric:tabular-nums}
.ct-repere span{max-width:28rem;font-size:.95rem;line-height:1.4;color:var(--encre-2)}
.ct-photo{margin:1.4rem 0 1.8rem}
.ct-photo img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:12px}
.ct-photo figcaption{margin-top:.45rem;font:400 .78rem/1.4 var(--f-chiffre);color:var(--legende)}
.ct-photo figcaption a{color:inherit}
.constat .cm-bande{padding:1rem 0 2.2rem}
.constat .cm-bande section{margin-top:1.2rem}
.constat .ct-figure .cl-carte{background:none;border:0;padding:0}
.constat .cl-carte canvas{max-width:40rem}
.constat .ct-note{margin-top:1.6rem}
/* Composants partagés avec l'accueil (déplacés d'accueil.css le 2026-10-10) : sur-titre, titre h3, flèche, lignes de questions */
.ac-sur{margin:0;font:500 .78rem/1.3 var(--f-chiffre);letter-spacing:.14em;text-transform:uppercase;color:var(--encre-2)}
.ac-sur.ambre{color:var(--ambre)}.ac-sur.vert{color:var(--vert)}.ac-sur.rouge{color:var(--rouge)}
.ac-h3{margin:0;font:500 clamp(1.3rem,1.9vw,1.65rem)/1.2 var(--f-titre);text-wrap:balance}
.ac-fleche{display:inline-flex;align-items:center;gap:.6rem;font-weight:600;color:var(--ambre);text-decoration:none;white-space:nowrap}
.ac-fleche.vert{color:var(--vert)}
.ac-fleche:hover{text-decoration:underline}
.ac-fleche svg{flex:none}
.ac-questions{display:flex;flex-direction:column}
.ac-questions a{display:flex;justify-content:space-between;gap:1.5rem;padding:1.4rem 0;border-top:1px solid var(--filet);text-decoration:none;color:inherit}
.ac-questions a:last-child{border-bottom:1px solid var(--filet)}
.ac-questions span{display:block}
.ac-questions .q{font:500 1.375rem/1.25 var(--f-titre)}
.ac-questions .r{margin-top:.35rem;font-size:.92rem;line-height:1.5;color:var(--encre-2)}
.ac-questions svg{flex:none;margin-top:.35rem;color:var(--ambre)}
.ac-questions a:hover .q{text-decoration:underline;text-underline-offset:.15em}
/* Page « Que faire » (/solutions/), refonte éditoriale du 2026-10-10 */
.so-quatre{list-style:none;margin:1rem 0 0;padding:0}
.so-quatre li{display:grid;grid-template-columns:4.5rem minmax(0,1fr);gap:1rem;align-items:start;padding:1.2rem 0;border-top:1px solid var(--filet)}
.so-quatre li:last-child{border-bottom:1px solid var(--filet)}
.so-quatre b{font:400 3.75rem/1 var(--f-chiffre);letter-spacing:-.03em;color:var(--vert)}
.so-quatre h3{margin:0 0 .35rem;font-size:1.35rem}
.so-quatre p{margin:0 0 .5rem;color:var(--encre-2)}
.so-quatre .so-lien{margin:0;padding:0}
.so-menace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:3rem;align-items:start;padding-top:.5rem;padding-bottom:1rem}
.so-menace-texte{display:flex;flex-direction:column;gap:.6rem}
.so-menace .ct-repere{margin:.2rem 0 0}
.so-menace .ct-repere b{font-size:clamp(2.8rem,5.5vw,4.5rem)}
.so-repere-2 b{font-size:clamp(2rem,3.5vw,2.75rem)!important;color:var(--ambre)!important}
.so-source{margin:0;font:400 .78rem/1.5 var(--f-chiffre);color:var(--legende)}
.so-preuve{margin:1rem 0 0;font:400 1.15rem/1.5 var(--f-titre);max-width:30rem}
.so-menace-gestes img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:14px;margin-bottom:1rem}
.so-menace-gestes .ac-sur{margin-bottom:.2rem}
.so-chiffres{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin:1.5rem 0}
.so-chiffres a{display:block;text-decoration:none;color:inherit;border-top:2px solid var(--encre);padding-top:.8rem}
.so-chiffres b{display:block;font:500 3.5rem/1 var(--f-chiffre);letter-spacing:-.03em;color:var(--vert)}
.so-chiffres span{display:block;margin-top:.5rem;font-size:1rem;line-height:1.4;color:var(--encre-2)}
.so-chiffres a:hover span{text-decoration:underline}
@media (max-width:900px){.so-menace{grid-template-columns:1fr;gap:1.5rem}.so-chiffres{grid-template-columns:1fr;gap:1rem}.so-quatre li{grid-template-columns:3rem minmax(0,1fr)}.so-quatre b{font-size:2.75rem}}
/* Impression : fiches de réglementation, solutions, constat, pages commune */
@media print{
  :root{--papier:#fff;--blanc:#fff;--encre:#111;--encre-2:#444;--legende:#444;--filet:#bbb;--ambre:#8a4b00;--ambre-fond:#fff;--rouge:#9b2a14;--rouge-fond:#fff;--vert:#1d5e3c;--neutre:#333;--neutre-fond:#fff;--accent-fond:#fff}
  html,body{background:#fff!important;color:#111}
  .cm-ouverture{background:#fff;color:#111;min-height:0}.cm-photo>img,.cm-photo::after{display:none}.cm-photo .ariane,.cm-photo .ariane a{color:#444}.cm-ouverture h1,.cm-ouverture .bref,.cm-ouverture a,.cm-bandes figcaption,.cm-bandes-note{color:#111}.cm-bande{padding:0}
  .gc-entete,.gc-pied,.gc-cherche,.rappel,details.plus,.cl-boutons,.pl-filtres,.bandes-cle,.ct-boutons,a.bouton,.rg-sommaire{display:none!important}
  main{max-width:none;padding:0}
  a{color:#111;text-decoration:none}
  .rg-textes a[href^="http"]::after{content:" (" attr(href) ")";font-size:.8em;color:#444;word-break:break-all}
  .regle,.rg-bloc,.encart,.tuile,.graphe,.carte,.rg-carte,.so-carte,.rg-local li,figure{break-inside:avoid;background:#fff!important;border-color:#bbb!important}
  h2,h3{break-after:avoid}
  .carte img,.pl-carte img{filter:none}
}

/* ---------- Composants partagés par l'accueil, la réglementation et les plantes (2026-10-10) : recherche de commune et bloc final sombre ---------- */
:root{--ac-pas:clamp(1rem,3.4vw,3rem)}
.ac-h2{margin:.5rem 0 0;font:400 clamp(2.1rem,3.3vw,2.75rem)/1.12 var(--f-titre);letter-spacing:-.01em;text-wrap:balance}
.ac-cherche{position:relative;width:100%;max-width:34rem}
.ac-cherche .gc-cherche-champ{height:auto;padding:.5rem .5rem .5rem 1.25rem;border:1px solid var(--filet-2);border-radius:14px;box-shadow:0 8px 30px rgba(22,34,31,.08)}
.ac-cherche input{font-size:1.0625rem;padding:.6rem 0}
.ac-cherche button{flex:none;border:0;border-radius:10px;background:var(--encre);color:var(--papier);font:600 .95rem/1 var(--f-texte);padding:.95rem 1.25rem;cursor:pointer;min-height:2.75rem}
.ac-cherche button:hover{background:var(--nuit-2)}
.ac-cherche .gc-liste{border-radius:14px}
.ac-vous{padding:0 var(--ac-pas) clamp(3rem,6vw,5rem)}
.ac-vous-in{max-width:90rem;margin:0 auto;padding:clamp(2rem,5vw,4rem);border-radius:24px;background:linear-gradient(135deg,var(--ambre-fond-nuit) 0%,var(--nuit-2) 70%);border:1px solid #5a4424;color:var(--papier);display:flex;flex-direction:column;gap:1.5rem;align-items:flex-start}
.ac-vous .ac-sur{color:var(--ambre-nuit)}
.ac-vous .ac-h2{font-size:clamp(2rem,3.9vw,3.5rem);line-height:1.06;max-width:54rem}
.ac-vous>div>p{margin:0;font-size:1.0625rem;line-height:1.55;color:#d8d3c6;max-width:40rem}
.ac-vous .ac-cherche{max-width:40rem}
.ac-vous .ac-cherche .gc-cherche-champ{background:var(--nuit);border-color:#3a5054;box-shadow:none}
.ac-vous .ac-cherche input{color:#e8eee7}
.ac-vous .ac-cherche input::placeholder{color:#a7b6ae}
.ac-vous .ac-cherche .gc-cherche-champ svg{color:#a7b6ae}
.ac-vous .ac-cherche button{background:var(--ambre-nuit);color:var(--nuit)}
.ac-vous .ac-cherche button:hover{background:#f0b875}
.ac-vous .gc-liste{background:var(--nuit-2);border-color:#3a5054}
.ac-vous .gc-liste a{color:#e8eee7}
.ac-vous .gc-liste a:hover,.ac-vous .gc-liste a[aria-selected="true"]{background:var(--nuit)}
.ac-villes{display:flex;gap:.5rem;flex-wrap:wrap}
.ac-villes a{font:400 .82rem/1 var(--f-chiffre);padding:.6rem .9rem;border-radius:99px;border:1px solid #3f5550;color:#d8d3c6;text-decoration:none;min-height:2.5rem;box-sizing:border-box;display:inline-flex;align-items:center}
.ac-villes a:hover{border-color:var(--ambre-nuit);color:var(--papier)}
@media (max-width:600px){.ac-cherche .gc-cherche-champ{flex-wrap:wrap;padding:.5rem}.ac-cherche input{flex:1 1 10rem;padding:.6rem .5rem}.ac-cherche button{width:100%}}
/* Catalogue des plantes en bandes (2026-10-10) */
.pl-reperes-bloc{padding-top:1.5rem}
.pl-reperes-bloc .so-menace{padding-top:0}
.ct-repere.vert b{color:var(--vert)}
.cm-photo-legende.sombre{color:var(--legende)}
.commune .pl-filtres{margin:0;padding:1.4rem 0 1rem;background:none;border:0;border-top:1px solid var(--filet);border-radius:0}
.commune .pl-limite{margin:1rem 0 0;padding-bottom:1.5rem;border-bottom:1px solid var(--filet)}
.commune .pl-vide{margin-top:1rem}
.pl-tete{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem 3rem;align-items:end;margin:.5rem 0 1.5rem}
.pl-tete h2{margin:0}
.pl-tete p{margin:0;font:400 1.0625rem/1.55 var(--f-texte);color:var(--encre-2);max-width:34rem}
.pl-tete .pl-n{font-size:1.1rem;color:var(--vert)}
.commune .pl-carte{background:var(--blanc)}
.cm-bande.blanc .pl-carte{background:var(--papier)}
@media (max-width:900px){.pl-tete{grid-template-columns:1fr}}
.commune .ac-vous{margin-top:3rem}
@media print{.ac-vous{display:none}}
.pl-reperes-bloc .ct-repere b{font-size:clamp(2.2rem,4vw,3.4rem)}
/* Fiche plante (2026-10-10) : ouverture sur photo, compte de communes en grand, quatre repères */
.plante .pl-latin{margin:0 0 .6rem;font-style:italic;color:#d8d3c6}
.plante .cm-ouverture:not(.cm-photo) .pl-latin{color:var(--encre-2)}
.plante .pl-bref p{margin:.3rem 0}
.plante .cm-photo-legende a{color:inherit}
.pl-photo-seule{margin:1.5rem 0 0;max-width:40rem;border:1px solid var(--filet);border-radius:8px;overflow:hidden}
.pl-photo-seule img{display:block;width:100%;height:auto}
.pl-ou .ct-repere b{font-size:clamp(1.9rem,3.1vw,2.6rem);white-space:normal;line-height:1.1}
.pl-ou .ct-repere .fl{font-weight:300;color:var(--legende);margin:0 .1em}
.pl-compte.vert b{color:var(--vert)}
.pl-compte.encre b{color:var(--encre)}
.pl-ou .so-preuve{max-width:34rem}
.pl-ou .so-menace-texte .bouton{margin-top:.5rem}
.pl-quatre{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 2rem;margin:.6rem 0 1rem}
.pl-quatre>div{border-top:2px solid var(--encre);padding-top:.8rem;min-width:0}
.pl-quatre .pl-rt{display:block;font:500 .72rem/1.2 var(--f-chiffre);letter-spacing:.1em;text-transform:uppercase;color:var(--legende)}
.pl-quatre b{display:block;margin-top:.35rem;font:500 clamp(1.5rem,2.6vw,2.1rem)/1.1 var(--f-chiffre);letter-spacing:-.02em;color:var(--encre);overflow-wrap:anywhere}
.pl-quatre b.inconnu{font-size:1.1rem;font-weight:400;color:var(--legende);font-style:italic}
.pl-quatre .pl-rn{display:block;margin-top:.3rem;font-size:.9rem;line-height:1.4;color:var(--encre-2)}
.plante .cm-col>section{margin-top:2.2rem}
.plante .cm-col>section:first-child{margin-top:2rem}
@media (max-width:600px){.pl-quatre{grid-template-columns:1fr 1fr;gap:1.2rem 1rem}.pl-ou .ct-repere b{font-size:1.7rem}}
/* Le climat de la France (2026-10-10) : ouverture avec la carte, chapitres en bandes, graphiques sans boîte */
.cl-ouv{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:2.5rem;align-items:center}
.cl-ouv-carte{margin:0;max-width:30rem;justify-self:end}
.cl-ouv-carte img{display:block;width:100%;height:auto}
.cl-ouv-carte figcaption{margin-top:.5rem;font:400 .78rem/1.4 var(--f-chiffre);color:#d8d3c6}
a.bouton.clair{background:var(--ambre-nuit);color:var(--nuit)}
a.bouton.clair:hover{background:#f0b875}
.cl-h2{margin:.3rem 0 1.4rem;max-width:40rem}
.cl-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(14.5rem,1fr));gap:2rem 2rem}
.cl-grille .graphe{background:none;border:0;border-top:2px solid var(--encre);border-radius:0;padding:.9rem 0 0}
.cl-grille .g-titre{font:500 .74rem/1.4 var(--f-chiffre);letter-spacing:.12em;text-transform:uppercase;color:var(--encre-2)}
.cl-grille .g-val .t-auj{font-size:1.4rem}
.cl-grille .g-val strong{font-size:2.4rem;letter-spacing:-.02em}
.cl-grille .g-point circle{stroke:var(--blanc)}
.cm-bande:not(.blanc) .cl-grille .g-point circle{stroke:var(--papier)}
.cl-lien-graphe:hover .graphe{border-color:var(--ambre)}
.climat-fr .cm-col.large>.g-legende{margin-top:1.5rem}
@media (max-width:900px){.cl-ouv{grid-template-columns:1fr}.cl-ouv-carte{justify-self:start;max-width:22rem}}
/* Fiche réglementation (2026-10-10) : ouverture sombre, réponse en grand, amende maximale en chiffre repère */
.commune .rg-dates{color:#d8d3c6;margin:0}
.rg-ouv .rg-reponse-grande{margin:.4rem 0 0;font:400 clamp(1.25rem,2vw,1.5rem)/1.5 var(--f-titre);max-width:36rem}
.rg-ouv .ct-repere{margin:.2rem 0 .6rem}
.rg-risque-liste{margin:0;padding-left:1.1rem}
.rg-risque-liste li{margin:.45rem 0;line-height:1.5;font-size:.95rem}
.rg-risque-liste li.rg-ref{list-style:none;margin-left:-1.1rem;font-size:.82rem;color:var(--legende)}
.commune .cm-col>section{margin-top:2.2rem}
/* Fiche réglementation : arrêtés par département (2026-10-10) */
.rg-arretes details.plus{margin:.5rem 0;padding:.1rem 1rem}
.rg-arretes details.plus summary{color:var(--encre);font-weight:500}
.rg-arretes details.plus p{margin:.35rem 0;font-size:.93rem}
.rg-arretes .detail-sources ul{margin:.4rem 0 .6rem;padding-left:1.1rem}
.rg-arretes .detail-sources li{margin:.3rem 0;line-height:1.5;font-size:.9rem}
.rg-dep-liste{margin:.8rem 0 0;line-height:1.7}
.rg-deps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.2rem;align-items:start}
.rg-deps details.plus{margin:.3rem 0}
@media (max-width:700px){.rg-deps{grid-template-columns:1fr}}
.commune .cm-col>*:first-child{margin-top:2rem}
/* Fiche plante : carte de l'hiver (2026-10-10) */
.pl-carte-fig{margin:0 0 1.5rem;max-width:26rem}
.pl-carte-fig img{display:block;width:100%;height:auto}
.pl-carte-fig img[hidden]{display:none}
.pl-niveaux{margin:.6rem 0 .4rem;justify-content:flex-start}
.pl-carte-legende{display:flex;flex-wrap:wrap;gap:.3rem 1rem;font:400 .78rem/1.5 var(--f-chiffre);color:var(--legende)}
.pl-carte-legende span::before{content:"";display:inline-block;width:.7rem;height:.7rem;border-radius:50%;margin-right:.35rem;vertical-align:-.05em}
.pl-carte-legende .sd::before{background:#397352}.pl-carte-legende .dg::before{background:#9fd3b4}.pl-carte-legende .k::before{background:#b2432b}.pl-carte-legende .nd::before{background:#d9d2bf}
.pl-compte.rouge b{color:var(--rouge)}
.pl-ou .so-repere-2 b{font-size:clamp(1.5rem,2.4vw,2rem)}
@media print{.pl-niveaux{display:none}}
