/* Le Guide des communes — identité B « Média moderne » + visualisations C */
@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(/assets/fonts/archivo-var.woff2) format("woff2-variations"),url(/assets/fonts/archivo-var.woff2) format("woff2")}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sourceserif4-400.woff2) format("woff2")}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sourceserif4-600.woff2) format("woff2")}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sourceserif4-700.woff2) format("woff2")}
:root{
--bg:#fff;--grey:#EFF2F3;--ink:#121417;--ink2:#4A5458;--line:#D9DFE1;
--accent:#0A5566;--brand:#0A5566;--brand-deep:#063A45;--brand-soft:#E3EEF0;
--jaune:#FFCF33;--jaune-soft:#FFF5D1;--bar:#33434A;--bar-hl:#0A5566;--track:#E6EBEC;--focus:#0A5566;
--h1:#0A5566;--h2:#1A8196;--hb:#2C8FA2;--hf:#063A45;
--head:Archivo,"Arial Narrow",system-ui,sans-serif;--serif:"Source Serif 4",Georgia,serif;
/* alias (swipe.css) */
--paper:var(--grey);--surface:var(--bg);--line2:var(--grey);--ardoise:var(--accent);--ardoise-fg:#fff;--ardoise-soft:var(--brand-soft);
--ocre:var(--jaune);--ocre-soft:var(--jaune-soft);--ocre-text:var(--accent);--sans:var(--head);
--r-sm:3px;--r:6px;--r-btn:6px;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){
--bg:#0B1A1E;--grey:#13262B;--ink:#E8EFF1;--ink2:#A9BABF;--line:#263D43;
--accent:#8ED3E1;--brand-deep:#05262D;--brand-soft:#14323A;--jaune-soft:#3A3212;--bar:#C3CFD3;--bar-hl:#8ED3E1;--track:#1C3237;--focus:#FFCF33;
--h1:#073C47;--h2:#0E5E6E;--hb:#1B6E80;--hf:#04222A;--ardoise-fg:#0B1A1E}}
:root[data-theme=dark]{
--bg:#0B1A1E;--grey:#13262B;--ink:#E8EFF1;--ink2:#A9BABF;--line:#263D43;
--accent:#8ED3E1;--brand-deep:#05262D;--brand-soft:#14323A;--jaune-soft:#3A3212;--bar:#C3CFD3;--bar-hl:#8ED3E1;--track:#1C3237;--focus:#FFCF33;
--h1:#073C47;--h2:#0E5E6E;--hb:#1B6E80;--hf:#04222A;--ardoise-fg:#0B1A1E}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;color-scheme:light dark}
body{margin:0;background:var(--bg);color:var(--ink);font:400 18px/1.55 var(--serif);overflow-wrap:break-word;overflow-x:clip}
a{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:2px}
.w{max-width:720px;margin:0 auto;padding:0 16px}
.wl{max-width:1080px;margin:0 auto;padding:0 16px}
p{margin:0 0 12px}
h1,h2,h3{font-family:var(--head);color:var(--ink);text-wrap:balance}
h2{font-size:30px;line-height:1.06;font-weight:800;font-stretch:80%;letter-spacing:-.012em;margin:0 0 12px}
h3{font-size:22px;line-height:1.15;font-weight:800;font-stretch:85%;margin:26px 0 8px}
.meta{font:500 16px/1.4 var(--head);color:var(--ink2)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* En-tête */
.top{background:var(--bg);border-bottom:1px solid var(--line);position:relative;z-index:30}
.top .wl{display:flex;align-items:center;height:64px;gap:10px}
.brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--ink)}
.brand svg{width:40px;height:40px;flex:none}
.brand .t{display:flex;flex-direction:column;font-family:var(--head);line-height:1}
.brand .t small{font-size:13.5px;font-weight:600;color:var(--accent)}
.brand .t b{font-size:26px;font-weight:850;font-stretch:78%;letter-spacing:-.01em;margin-top:1px}
.brand .dk{display:none}
.tools{margin-left:auto;display:flex;gap:2px}
.ib{width:44px;height:44px;border:0;background:none;display:grid;place-items:center;color:var(--ink);border-radius:50%;cursor:pointer}
.ib:hover{background:var(--grey)}
.ib svg{width:24px;height:24px}
.drop{position:absolute;left:0;right:0;top:100%;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 14px 30px -18px rgba(6,58,69,.45);padding:14px 0 16px}
.drop[hidden]{display:none}
.mnu ul{list-style:none;margin:0;padding:0;display:grid;gap:0}
.mnu a{display:block;padding:12px 0;border-bottom:1px solid var(--line);font:700 18px/1.2 var(--head);color:var(--ink);text-decoration:none}
.rub{background:var(--brand-deep);--focus:#FFCF33}
.rub ul{list-style:none;margin:0 auto;padding:0 16px;max-width:1080px;display:flex;justify-content:space-between;gap:10px;height:48px;align-items:stretch;font:600 16px/1 var(--head);font-stretch:88%;white-space:nowrap;overflow-x:auto;scrollbar-width:none}
.rub li{display:flex}
.rub a{color:#DCEBEE;text-decoration:none;display:flex;align-items:center;border-bottom:3px solid transparent;padding-top:3px}
.rub a:hover{color:#fff}
.rub a[aria-current]{color:#fff;border-bottom-color:var(--jaune)}
/* Bandeau illustré */
.hero{position:relative;background:var(--h1);color:#fff;overflow:hidden;--focus:#FFCF33}
.hero svg.sky{position:absolute;left:0;right:0;bottom:0;width:100%;height:280px;display:block}
.hero .w,.hero .wl{position:relative;padding-top:16px;padding-bottom:128px;min-height:290px}
.hero.sm .w,.hero.sm .wl{padding-bottom:104px;min-height:250px}
.bc{font:500 15.5px/1.3 var(--head);color:#CFE3E8}
.bc ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px}
.bc li+li::before{content:"/";margin:0 6px 0 2px;color:#8FB9C2}
.bc a{color:#EAF4F6}
.kick{display:inline-block;margin:20px 0 0;background:var(--jaune);color:#121417;font:700 15.5px/1 var(--head);padding:7px 10px 6px;border-radius:3px}
.hero h1{color:#fff;font-weight:900;font-stretch:72%;font-size:var(--fs,76px);line-height:.92;letter-spacing:-.015em;margin:12px 0 0;text-shadow:0 2px 18px rgba(4,40,48,.4);hyphens:manual;overflow-wrap:break-word}
.hero .sub{font:400 19px/1.45 var(--serif);color:#EAF4F6;margin:14px 0 0;max-width:34ch}
/* Chapô et chiffres clés */
.chapo{font-size:20px;line-height:1.45;margin:20px 0 0}
.chapo b{font-weight:700}
.facts{margin:20px 0 0;border-top:3px solid var(--ink)}
.pop{padding:14px 0 16px;border-bottom:1px solid var(--line)}
.pop .row{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.big{font:900 58px/.95 var(--head);font-stretch:72%;letter-spacing:-.015em}
.pop .u{font:600 18px/1 var(--head)}
.sq{display:grid;grid-template-columns:repeat(25,1fr);gap:3px;margin:14px 0 8px;max-width:520px}
.sq i{aspect-ratio:1;background:var(--bar);border-radius:1.5px}
.sq i.hl{background:var(--accent)}
.lg{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font:500 15px/1.35 var(--head);color:var(--ink2)}
.kf{display:grid;grid-template-columns:1fr 1fr;margin:0}
.kf div{display:flex;flex-direction:column;padding:12px 12px 14px;border-bottom:1px solid var(--line);border-left:1px solid var(--line)}
.kf div:nth-child(odd){border-left:0;padding-left:0}
.kf div.full{grid-column:1/-1;border-left:0;padding-left:0}
.kf dt{font:500 15px/1.25 var(--head);color:var(--ink2);margin-top:5px;order:2}
.kf dd{margin:0;font:850 30px/1.05 var(--head);font-stretch:75%;letter-spacing:-.01em}
.kf dd.txt{font-size:22px;font-stretch:85%;line-height:1.15}
.kf dd a{color:var(--ink);text-decoration-color:var(--accent)}
/* Sections */
.s{padding:38px 0 0}
.rh{display:flex;align-items:center;gap:10px;font:800 16px/1 var(--head);color:var(--accent);margin:0 0 12px}
.rh::before{content:"";flex:none;width:12px;height:12px;background:var(--jaune);border-radius:2px;box-shadow:inset 0 0 0 1.5px #D9A90C}
.rh::after{content:"";flex:1;height:1px;background:var(--line)}
.lnk{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 0;border-bottom:1px solid var(--line);font:700 17px/1.25 var(--head);color:var(--ink);text-decoration:none}
.lnks{margin-top:16px;border-top:1px solid var(--line)}
.lnk svg{width:22px;height:22px;color:var(--accent);flex:none}
.lnk:hover{color:var(--accent)}
/* Mairie */
.mairie{display:grid;grid-template-columns:88px 1fr;gap:14px;align-items:start}
.portrait{width:88px;height:108px;border-radius:4px;background:linear-gradient(160deg,#0E6E82,#063A45);position:relative;overflow:hidden}
.portrait span{position:absolute;left:10px;bottom:8px;font:900 34px/1 var(--head);font-stretch:70%;color:var(--jaune)}
.portrait::before{content:"";position:absolute;right:-22px;top:-22px;width:70px;height:70px;border-radius:50%;background:rgba(255,255,255,.12)}
.mairie h2{font-size:27px}
.seats{display:flex;flex-wrap:wrap;gap:5px;margin:18px 0 10px;padding:0}
.seats i{width:13px;height:13px;border-radius:50%;background:var(--bar)}
.seats i.a{background:var(--accent)}
.seats i.m{background:var(--jaune);box-shadow:0 0 0 2px var(--ink)}
.key{display:flex;flex-wrap:wrap;gap:4px 16px;font:500 15.5px/1.4 var(--head);color:var(--ink2);margin:0;padding:0;list-style:none}
.key li{display:flex;align-items:center;gap:6px}
.key i{width:11px;height:11px;border-radius:50%;background:var(--bar)}
.key i.a{background:var(--accent)}.key i.m{background:var(--jaune);box-shadow:0 0 0 1.5px var(--ink)}
details{margin:14px 0 0}
summary{cursor:pointer;font:700 17px/1.3 var(--head);color:var(--accent);padding:10px 0}
/* Élections */
.lead-figs{display:flex;margin:16px 0 18px;background:var(--grey);border-radius:6px}
.lead-figs div{flex:1;padding:12px 14px}
.lead-figs div+div{border-left:1px solid var(--line)}
.lead-figs .v{display:block;font:850 34px/1 var(--head);font-stretch:75%}
.lead-figs .l{display:block;font:500 15px/1.3 var(--head);color:var(--ink2);margin-top:4px}
.round{margin:0 0 26px}
.round-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;border-bottom:2px solid var(--ink);padding-bottom:6px;margin-bottom:4px}
.round-h b{font:800 19px/1.2 var(--head)}
.round-h span{font:500 15px/1.2 var(--head);color:var(--ink2)}
.bars{list-style:none;margin:0;padding:0;font-family:var(--head)}
.bars li{padding:11px 0 12px;border-bottom:1px solid var(--line)}
.bars .r1{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.bars .nm{font-weight:600;font-size:17px;line-height:1.3}
.bars .pc{font-weight:850;font-stretch:80%;font-size:22px;white-space:nowrap}
.bars .r2{display:flex;align-items:center;gap:10px;margin-top:7px}
.tr{flex:1;height:9px;background:var(--track);border-radius:1px;position:relative}
.tr i{display:block;height:100%;background:var(--bar);border-radius:1px}
.tr::after{content:"";position:absolute;left:50%;top:-4px;bottom:-4px;width:2px;margin-left:-1px;background:var(--ink)}
.bars .vx{font-size:15px;color:var(--ink2);min-width:88px;text-align:right;font-variant-numeric:tabular-nums}
.nu{display:inline-block;font:700 13px/1 var(--head);letter-spacing:.02em;color:var(--ink2);background:var(--grey);padding:4px 6px 3px;border-radius:3px;margin-left:6px;vertical-align:2px}
.tete{display:inline-block;font:700 13.5px/1 var(--head);background:var(--jaune);color:#121417;padding:4px 7px 3px;border-radius:3px;margin-left:6px;vertical-align:2px}
.src{font:400 15.5px/1.45 var(--head);color:var(--ink2);margin:10px 0 0}
.card2{border-top:3px solid var(--ink);padding-top:16px;margin-top:10px}
.card2 h3{margin-top:0}
.note{font:500 16px/1.45 var(--head);color:var(--ink);background:var(--grey);border-left:4px solid var(--accent);border-radius:0 3px 3px 0;padding:11px 14px;margin:12px 0}
.nd{color:var(--ink2);font-style:italic;font-weight:400}
/* Participation (histogramme) */
.histo{display:flex;gap:10px;margin:8px 0 0}
.grp{flex:1;display:flex;flex-direction:column;min-width:0}
.grp .pair{display:flex;gap:4px;height:170px;padding-top:24px;align-items:flex-end;border-bottom:2px solid var(--ink)}
.col{flex:1;position:relative;background:var(--bar);border-radius:3px 3px 0 0;min-height:2px}
.col.hl{background:var(--bar-hl)}
.col span{position:absolute;left:50%;transform:translateX(-50%);top:-21px;font:700 14px/1 var(--head);white-space:nowrap;color:var(--ink)}
.grp .tt{display:flex;gap:4px;font:500 14px/1 var(--head);color:var(--ink2);margin-top:5px}
.grp .tt span{flex:1;text-align:center}
.grp .gl{font:700 15px/1.2 var(--head);text-align:center;margin-top:3px}
.grp .gl small{display:block;font-weight:500;color:var(--ink2);font-size:14px}
.callout{display:flex;gap:12px;align-items:center;background:var(--jaune-soft);border-radius:6px;padding:12px 14px;margin:16px 0 0;font:500 16.5px/1.4 var(--head)}
.callout b{font:900 28px/1 var(--head);font-stretch:75%;flex:none}
/* Agenda (flux) */
.feed{border-bottom:1px solid var(--line);padding:4px 0 14px}
.feed:empty,.feed[aria-busy]{min-height:0;padding:0;border:0}
.feed-t{font:800 16px/1 var(--head);color:var(--accent);margin:14px 0 2px}
.feed-l{list-style:none;margin:0;padding:0}
.feed-l li{display:grid;padding:10px 0;border-top:1px solid var(--line)}
.feed-l li:first-child{border-top:0}
.feed-l a{font:800 20px/1.2 var(--head);font-stretch:85%;color:var(--ink);text-decoration:none;order:2}
.feed-l a:hover{color:var(--accent);text-decoration:underline}
.feed-d{order:1;font:700 15px/1.3 var(--head);color:var(--accent);margin-bottom:3px}
.feed-m{order:3;display:block;font:500 15px/1.35 var(--head);color:var(--ink2);margin-top:3px}
.feed-v{display:inline-block;margin-top:8px;font:700 16px/1.3 var(--head)}
.feed-rien{margin-top:4px}
/* Test des valeurs */
.test{background:var(--jaune);margin-top:44px;padding:30px 0 34px;color:#121417;--focus:#121417}
.test .rh{color:#121417}
.test .rh::before{background:#121417;box-shadow:none}
.test .rh::after{background:rgba(18,20,23,.25)}
.test h2{color:#121417;font-size:40px;font-stretch:72%;line-height:1}
.test p{font-size:18px}
.demo{background:#fff;color:#121417;border-radius:10px;padding:18px 18px 16px;margin:18px 0;box-shadow:0 2px 0 rgba(18,20,23,.12),6px 6px 0 #121417;font:600 19px/1.38 var(--serif)}
.demo .q{display:block;font:600 15px/1 var(--head);color:#4A5458;margin-bottom:10px}
.demo .ch{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:16px;font:700 15px/1 var(--head);font-stretch:88%}
.demo .ch span{border:1.5px solid #121417;border-radius:6px;text-align:center;padding:11px 0}
.demo .ch span:first-child{background:#33434A;border-color:#33434A;color:#fff}
.demo .ch span:last-child{background:#0A5566;border-color:#0A5566;color:#fff}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:10px 22px;border-radius:6px;border:2px solid var(--ink);background:var(--ink);color:var(--bg);font:800 18px/1.15 var(--head);text-decoration:none;cursor:pointer}
.btn:hover{background:var(--brand-deep);border-color:var(--brand-deep);color:#fff}
.btn.sec{background:transparent;color:var(--ink)}
.btn.sec:hover{background:var(--grey);color:var(--ink)}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.test .btn{display:flex;width:100%;background:#121417;border-color:#121417;color:#fff}
.test .btn:hover{background:#063A45;border-color:#063A45}
.test .fine{font:500 15.5px/1.4 var(--head);text-align:center;margin:10px 0 0}
#barometre:empty{display:none}
/* Listes, puces, tableaux */
.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.chips a{display:block;background:var(--grey);color:var(--ink);border-radius:99px;padding:8px 14px;text-decoration:none;font:600 16px/1.2 var(--head)}
.chips a:hover{background:var(--brand);color:#fff}
.cols,.deps{columns:1;column-gap:28px;list-style:none;padding:0;margin:0;font:600 17px/1.3 var(--head)}
.cols li,.deps li{break-inside:avoid;padding:9px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:10px}
.cols a,.deps a{color:var(--ink);text-decoration:none}
.cols a:hover,.deps a:hover{color:var(--accent);text-decoration:underline}
.cols small,.deps small{font:500 15px/1.3 var(--head);color:var(--ink2);font-style:normal;white-space:nowrap}
.tw{overflow-x:auto;margin:0 0 12px}
table{border-collapse:collapse;width:100%;font:400 16px/1.35 var(--head);font-variant-numeric:tabular-nums}
th,td{text-align:left;padding:9px 10px 9px 0;border-bottom:1px solid var(--line);vertical-align:top}
thead th{font-weight:700;font-size:15px;color:var(--ink2);border-bottom:2px solid var(--ink)}
.kv{margin:0;border-top:3px solid var(--ink)}
.kv div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-bottom:1px solid var(--line);padding:11px 0}
.kv dt{font:500 16px/1.3 var(--head);color:var(--ink2)}
.kv dd{margin:0;text-align:right;font:800 19px/1.25 var(--head)}
.bloc{padding:34px 0 0}
.bloc ul{padding-left:1.2em}
.bloc li{margin:4px 0}
.lead{font-size:19px;line-height:1.5;color:var(--ink);margin:18px 0 0;max-width:62ch}
/* Recherche */
.sb{position:relative;max-width:600px}
.sb label{display:block;font:700 17px/1.3 var(--head);margin-bottom:8px}
.sb input,.fld{width:100%;min-height:54px;padding:12px 16px;font:500 18px var(--head);border:2px solid var(--ink);border-radius:6px;background:var(--bg);color:var(--ink)}
.sb input:focus,.fld:focus{outline:3px solid var(--jaune);outline-offset:1px}
.hero .sb{margin-top:22px}
.hero .sb label{color:#fff}
.hero .sb input{border-color:#fff;background:#fff;color:#121417}
#sug,.sug{position:absolute;left:0;right:0;top:100%;z-index:40;background:var(--bg);border:1px solid var(--line);border-radius:6px;margin:4px 0 0;padding:4px 0;list-style:none;max-height:340px;overflow:auto;box-shadow:0 12px 30px rgba(6,40,48,.25)}
#sug[hidden],.sug[hidden]{display:none}
#sug li a,.sug li a,.sug li{display:block;padding:11px 16px;text-decoration:none;color:var(--ink);cursor:pointer;font:600 17px/1.2 var(--head)}
#sug li a:hover,#sug li a.on,.sug li a:hover,.sug li a.on,.sug li:hover,.sug li.on{background:var(--brand-soft)}
#sug small,.sug small{color:var(--ink2);font-weight:500}
/* Accueil : carte des départements */
.tiles{display:grid;grid-template-columns:repeat(14,1fr);gap:3px;max-width:660px;margin:12px 0}
.tiles a,.tiles i{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font:700 10px/1 var(--head);border-radius:2px;text-decoration:none;font-style:normal}
.tiles a{background:var(--brand-soft);color:var(--ink)}
.tiles a:hover{background:var(--brand);color:#fff}
/* Publicité, carte */
.pub{min-height:100px;margin:30px 0 0;background:var(--grey);border-radius:4px;display:flex;align-items:center;justify-content:center;color:var(--ink2);font:500 14px/1 var(--head)}
.pub:before{content:"Publicité"}
#map{height:300px;border-radius:4px;border:1px solid var(--line);background:var(--grey)}
/* Pied de page */
footer{background:var(--brand-deep);color:#CFE3E8;padding:30px 0 42px;margin-top:48px;font-family:var(--head);--focus:#FFCF33}
footer.flush{margin-top:0}
footer .brand{color:#fff}
footer .brand .t small{color:#9FD0DA}
footer ul{list-style:none;margin:20px 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;font-size:16.5px}
footer a{color:#fff;text-decoration:none}
footer a:hover{text-decoration:underline}
footer p{font-size:15.5px;line-height:1.5;margin:0;color:#BBD6DC}
@media(min-width:700px){
.hero h1{font-size:calc(var(--fs,76px)*1.4)}
.hero .w,.hero .wl{padding-bottom:150px;min-height:360px}
.hero.sm .w,.hero.sm .wl{min-height:300px;padding-bottom:120px}
h2{font-size:34px}
.kf{grid-template-columns:repeat(4,1fr)}
.kf div,.kf div:nth-child(odd){border-left:1px solid var(--line);padding-left:12px}
.kf div:first-child{border-left:0;padding-left:0}
.kf div.full{grid-column:span 2}
.cols,.deps{columns:2}
.rub ul{gap:30px;justify-content:flex-start;font-stretch:100%}
.hero svg.sky{height:340px}
.hero .sun{transform:translateX(330px)}
.lead-figs .v{font-size:40px}
.mnu ul{grid-template-columns:repeat(3,1fr);column-gap:24px}
footer ul{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1000px){.cols,.deps{columns:3}.tiles a,.tiles i{font-size:12px}}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .brand .lt{display:none}:root:not([data-theme=light]) .brand .dk{display:block}}
:root[data-theme=dark] .brand .lt{display:none}:root[data-theme=dark] .brand .dk{display:block}
footer .brand .lt{display:none!important}footer .brand .dk{display:block!important}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
/* Baromètre : tendance, courbe, classements, duels, groupes (baro-vues.js) */
#tendance[hidden]{display:none}
.bv-ax{list-style:none;margin:8px 0 0;padding:0;font-family:var(--head)}
.bv-ax li{padding:12px 0 10px;border-bottom:1px solid var(--line)}
.bv-axn{font:700 16.5px/1.25 var(--head);margin:0 0 8px}
.bv-tr{position:relative;height:12px;background:var(--track);border-radius:2px}
.bv-tr::before{content:"";position:absolute;left:40%;right:40%;top:0;bottom:0;background:var(--grey)}
.bv-c{position:absolute;left:50%;top:-4px;bottom:-4px;width:2px;margin-left:-1px;background:var(--ink)}
.bv-mk{position:absolute;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--bg)}
.bv-mk1{background:var(--jaune);box-shadow:0 0 0 2px var(--ink)}
.bv-pl{display:flex;justify-content:space-between;gap:12px;font:500 14px/1.3 var(--head);color:var(--ink2);margin-top:6px}
.bv-pl span:last-child{text-align:right}
.bv-vs{margin:6px 0 0;font:500 15.5px/1.4 var(--head);display:flex;flex-wrap:wrap;gap:4px 16px}
.bv-v b{font-weight:850}
.bv-cb{display:grid;grid-template-columns:1fr;gap:10px;margin:8px 0 0}
.bv-cb figure{margin:0}
.bv-cb figcaption{font:600 15px/1.3 var(--head);display:flex;justify-content:space-between;gap:8px}
.bv-cb svg{width:100%;height:64px;display:block;background:var(--grey);border-radius:3px}
.bv-z{stroke:var(--ink2);stroke-width:1;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}
.bv-l{fill:none;stroke:var(--accent);stroke-width:2.5;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.bv-d{fill:var(--jaune);stroke:var(--ink);stroke-width:1.5;vector-effect:non-scaling-stroke}
.bv-ctl{display:grid;grid-template-columns:1fr;gap:12px;margin:8px 0 16px}
.bv-ctl label{display:block;font:700 16px/1.3 var(--head)}
.bv-ctl select{margin-top:6px;appearance:auto}
.bv-tab td small{color:var(--ink2);font-weight:500}
.bv-mini{display:block;position:relative;height:6px;background:var(--track);border-radius:2px;margin-top:6px;min-width:90px}
.bv-mini::after{content:"";position:absolute;left:50%;top:-3px;bottom:-3px;width:1px;background:var(--ink)}
.bv-mini i{position:absolute;top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:var(--accent)}
.bv-duo{display:grid;grid-template-columns:1fr;gap:14px;margin:8px 0 18px}
.bv-cds{display:grid;grid-template-columns:1fr;gap:10px;margin:0 0 6px}
.bv-cd{position:relative;padding:12px 14px 12px 40px;background:var(--grey);border-radius:6px;font:500 15.5px/1.45 var(--head)}
.bv-cd b{font-size:19px}
.bv-cd .bv-mk{left:20px;top:24px}
.bv-lk{margin:18px 0 0}
.bv-lk label{display:block;font:700 16px/1.3 var(--head);margin-bottom:6px}
.sw-acts{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 0}
.sw-st{font:500 15.5px/1.4 var(--head);color:var(--ink2);margin:8px 0 0}
@media(min-width:700px){.bv-cb{grid-template-columns:1fr 1fr}.bv-ctl{grid-template-columns:1fr 2fr 1.4fr}.bv-duo,.bv-cds{grid-template-columns:1fr 1fr}}
/* Page presse : générateur de module */
#presse-gen .bv-f,#presse-gen select{margin:0 0 14px}
.pg-l{display:block;font:700 16px/1.3 var(--head);margin:0 0 6px}
#presse-gen select.fld{appearance:auto}
.pg-code{min-height:150px;font:400 13.5px/1.45 ui-monospace,Consolas,monospace;resize:vertical}
.pg-acts{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:10px 0 4px}
#pg-prev iframe{display:block;background:var(--bg)}

/* Horaires de la mairie (SEO 07/11/2026) */
table.hor th{text-align:left;font-weight:600;padding:8px 14px 8px 0;white-space:nowrap;vertical-align:top}
table.hor td{padding:8px 0}
table.hor tr{border-bottom:1px solid var(--line,#D9DFE1)}
