/*
Theme Name: Latitude91
Theme URI: https://www.latitude91.fr
Author: Focus Point Agency
Description: Thème sur mesure de latitude91.fr — direction éditoriale « Signal », identité « Plein Cadre ». Média associatif de proximité en Essonne : à la une, Play & WebTV, webradio, fil des communes (QPV inclus), accessibilité (Aa+, contraste, lecture audio, FALC).
Version: 2.32.0
Requires at least: 6.4
Requires PHP: 8.1
License: Proprietary — © Latitude91
Text Domain: latitude91
*/

/* ════════
   TOKENS — charte Plein Cadre / direction Signal (validée client)
   ════════ */
:root{
  --bg:#0F0F10; --bg2:#171718; --bg3:#1D1D1E; --line:#26262B; --line2:#333338;
  --txt:#F2F0EB; --mut:#9AA3AD; --dim:#8A929C;
  /* Contour d'un contrôle (champ, bouton, pastille) : WCAG impose 3:1.
     --line et --line2 restent aux séparateurs décoratifs, qui n'ont pas de seuil. */
  --bord:#6A6A75;
  --red:#E3120B; --red2:#B00D07; --redsoft:#FF8A7E;
  --teal:#12A5B0; --gold:#F2A93B; --blue:#4C8DD6; --violet:#7C6FF0; --rose:#C4386E;
  --maxw:1180px;
  --f-title:'Lat91 Titre','Lat91 Titre Repli','Arial Black',system-ui,sans-serif;
  --f-body:'Lat91 Texte','Lat91 Texte Repli','Helvetica Neue',Arial,sans-serif;
  --f-mono:'Lat91 Mono','Lat91 Mono Repli','SFMono-Regular',Consolas,monospace;
  --fs:100%;
}
html{font-size:var(--fs);scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
*{margin:0;padding:0;box-sizing:border-box;}
body{background:var(--bg);color:var(--txt);font-family:var(--f-body);line-height:1.6;-webkit-font-smoothing:antialiased;}
body.hc,html[data-hc="1"] body{--bg:#000000;--bg2:#101012;--bg3:#17171A;--line:#3A3A42;--line2:#4A4A52;--bord:#8A8A96;--txt:#FFFFFF;--mut:#CDD5DD;--dim:#9AA3AD;}
img,svg{max-width:100%;height:auto;}
a{color:inherit;text-decoration:none;}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;}
:focus-visible{outline:2px solid var(--redsoft);outline-offset:2px;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.mono{font-family:var(--f-mono);letter-spacing:.14em;text-transform:uppercase;}
.eyebrow{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--mut);display:flex;align-items:center;gap:10px;}
.eyebrow::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--red);flex:none;}
.sect{padding-top:72px;padding-bottom:8px;}
#une,#communes,#play,#radio,#participer,#newsletter{scroll-margin-top:74px;}
.sect-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin:14px 0 28px;}
.sect-head h2{font-family:var(--f-title);font-weight:700;font-size:clamp(1.5rem,3.2vw,2.2rem);line-height:1.05;letter-spacing:-.01em;text-wrap:balance;}
.sect-head .more{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--redsoft);white-space:nowrap;padding-bottom:6px;}
.sect-head .more:hover{color:#fff;}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}

/* ═══ crochets de cadrage (signature Plein Cadre) ═══ */
.ckw{position:relative;}
.ck{position:absolute;width:14px;height:14px;border:0 solid var(--redsoft);opacity:0;transition:opacity .25s ease, transform .25s ease;transform:scale(1.35);pointer-events:none;z-index:3;}
.ck.tl{top:6px;left:6px;border-top-width:2.5px;border-left-width:2.5px;border-top-left-radius:3px;}
.ck.tr{top:6px;right:6px;border-top-width:2.5px;border-right-width:2.5px;border-top-right-radius:3px;}
.ck.bl{bottom:6px;left:6px;border-bottom-width:2.5px;border-left-width:2.5px;border-bottom-left-radius:3px;}
.ck.br{bottom:6px;right:6px;border-bottom-width:2.5px;border-right-width:2.5px;border-bottom-right-radius:3px;}
.ckw:hover .ck,.ckw:focus-within .ck{opacity:1;transform:scale(1);}
@media (prefers-reduced-motion:reduce){.ck{transition:none;}}

/* ═══ intro « mise au point » (une fois par session) ═══ */
#intro{position:fixed;inset:0;background:var(--bg);z-index:100;display:flex;align-items:center;justify-content:center;}
#intro .box{position:relative;width:220px;height:220px;display:flex;align-items:center;justify-content:center;}
#intro .ick{position:absolute;width:44px;height:44px;border:0 solid #fff;}
#intro .ick.tl{top:0;left:0;border-top-width:8px;border-left-width:8px;border-top-left-radius:8px;}
#intro .ick.tr{top:0;right:0;border-top-width:8px;border-right-width:8px;border-top-right-radius:8px;}
#intro .ick.bl{bottom:0;left:0;border-bottom-width:8px;border-left-width:8px;border-bottom-left-radius:8px;}
#intro .ick.br{bottom:0;right:0;border-bottom-width:8px;border-right-width:8px;border-bottom-right-radius:8px;}
#intro .i91{font-family:var(--f-title);font-weight:700;font-size:96px;color:var(--red);opacity:0;letter-spacing:-.02em;}
#intro .iword{position:absolute;bottom:-64px;left:50%;transform:translateX(-50%);font-family:var(--f-title);font-weight:700;font-size:28px;color:#fff;opacity:0;white-space:nowrap;}
#intro .iword span{color:var(--red);}
#intro .skip{position:absolute;bottom:28px;right:32px;padding:14px 10px;font-family:var(--f-mono);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);}
#intro .skip:hover{color:var(--mut);}

/* ═══ lien d'évitement ═══ */
.skip-link{position:fixed;top:-52px;left:16px;z-index:120;background:var(--red);color:#fff;font-weight:700;font-size:.85rem;padding:11px 18px;border-radius:0 0 10px 10px;transition:top .2s;}
.skip-link:focus{top:0;}

/* ═══ barre accessibilité ═══ */
.a11y{background:#000;border-bottom:1px solid var(--line);position:relative;z-index:60;}
body.hc .a11y,html[data-hc="1"] .a11y{background:#0A0A0C;}
.a11y .in{max-width:var(--maxw);margin:0 auto;padding:7px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px;}
.a11y .date{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);}
.a11y .tools{display:flex;gap:8px;flex-wrap:wrap;}
.a11y button{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);border:1px solid var(--line2);border-radius:99px;padding:4px 12px;transition:all .2s;}
.a11y button:hover{color:#fff;border-color:var(--mut);}
.a11y button[aria-pressed="true"]{background:var(--red);border-color:var(--red);color:#fff;font-weight:700;}

/* ═══ navigation ═══ */
.nav{position:sticky;top:0;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);z-index:50;transition:box-shadow .25s;}
.nav.scrolled{box-shadow:0 10px 34px rgba(0,0,0,.42);}
.nav .in{max-width:var(--maxw);margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:28px;}
/* ⚠ Le logo ne se comprime JAMAIS. Avec sept entrées de menu, le navigateur
   prenait sa place pour caser les liens : mesuré, le logotype tombait à
   55 px de large (le tiers de sa taille) entre 861 et 1013 px. */
.logo-svg{display:block;flex:0 0 auto;}
.logo-svg svg,.logo-svg img{height:30px;width:auto;display:block;}
/* Logo téléversé dans « Identité du site » : WordPress sort son propre balisage
   (.custom-logo-link), hors de .logo-svg. Sans bride, une grande image pousse
   toute la page vers le bas. */
.nav .custom-logo-link,.site-footer .custom-logo-link{display:block;line-height:0;flex:0 0 auto;}
.nav .custom-logo-link img,.nav img.custom-logo{height:30px!important;width:auto!important;
  max-width:220px;display:block;object-fit:contain;}
.site-footer .custom-logo-link img,.site-footer img.custom-logo{height:34px!important;
  width:auto!important;max-width:240px;display:block;object-fit:contain;}
.nav .links{display:flex;gap:22px;font-size:.82rem;color:var(--mut);font-weight:500;}
.nav .links a{padding:4px 0;border-bottom:2px solid transparent;transition:color .2s;white-space:nowrap;}
.nav .links a:hover{color:#fff;}
.nav .links a.on{color:#fff;font-weight:700;border-bottom-color:var(--red);}
.nav .live{margin-left:auto;display:flex;align-items:center;gap:8px;background:var(--bg3);border:1px solid var(--line2);border-radius:99px;padding:6px 14px;font-family:var(--f-mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;}
.nav .live i{width:8px;height:8px;border-radius:50%;background:var(--red);animation:pulse 1.6s ease-in-out infinite;}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.45;transform:scale(.8);}}
@media (prefers-reduced-motion:reduce){.nav .live i{animation:none;}}
.nav .live:hover{border-color:var(--red);}
.nav .lvshort{display:none;}
.burger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:42px;height:42px;border-radius:10px;border:1px solid var(--line2);flex:none;}
.burger span{display:block;width:18px;height:2px;background:var(--txt);border-radius:2px;transition:transform .25s,opacity .2s;}
.nav.menu-open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav.menu-open .burger span:nth-child(2){opacity:0;}
.nav.menu-open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.mmenu{display:none;background:var(--bg);border-top:1px solid var(--line);}
.mmenu a{display:flex;align-items:center;justify-content:space-between;padding:15px 24px;font-size:.95rem;font-weight:700;border-bottom:1px solid var(--line);}
.mmenu a::after{content:'→';color:var(--redsoft);font-family:var(--f-mono);font-weight:400;}
.mmenu a:last-child{border-bottom:none;}
@keyframes mdrop{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:none;}}
/* Sept entrées au lieu de cinq : entre 861 et 1020 px la barre passait à
   deux ou trois lignes. On resserre plutôt que de basculer en burger —
   beaucoup de portables sont dans cette fourchette. */
@media (max-width:1020px){
  .nav .in{gap:16px;}
  .nav .links{gap:14px;font-size:.78rem;}
  .nav .lvfull{display:none;}
  .nav .lvshort{display:inline;}
}
@media (max-width:860px){
  .nav .links{display:none;}
  .nav .in{gap:14px;}
  .burger{display:flex;}
  .nav.menu-open .mmenu{display:block;animation:mdrop .25s ease;}
}
@media (prefers-reduced-motion:reduce){.nav.menu-open .mmenu{animation:none;}.burger span{transition:none;}}

/* ═══ fil info ═══ */
.ticker{background:#0A0A0B;border-bottom:1px solid var(--line);}
.ticker .in{max-width:var(--maxw);margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:16px;height:38px;}
.ticker .tlab{font-family:var(--f-mono);font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:var(--redsoft);white-space:nowrap;display:flex;align-items:center;gap:8px;flex:none;}
.ticker .tlab::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--red);animation:pulse 1.6s infinite;}
.tk{flex:1;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);}
.tk-track{display:flex;width:max-content;animation:tkscroll 44s linear infinite;}
.tk:hover .tk-track,.tk:focus-within .tk-track{animation-play-state:paused;}
.tkset{display:flex;align-items:center;gap:26px;padding-right:26px;white-space:nowrap;}
.tkset a{font-size:.78rem;color:var(--mut);display:flex;align-items:center;gap:10px;}
.tkset a:hover{color:#fff;}
.tkset a b{color:var(--txt);font-weight:500;}
.tkset a:hover b{color:#fff;}
.tkset .th{font-family:var(--f-mono);font-size:.6rem;color:var(--redsoft);letter-spacing:.06em;}
.tkset .dot{color:var(--line2);}
@keyframes tkscroll{to{transform:translateX(-50%);}}
@media (prefers-reduced-motion:reduce){
  .tk-track{animation:none;}
  .tk{overflow-x:auto;-webkit-mask-image:none;mask-image:none;scrollbar-width:none;}
  .tkset[aria-hidden="true"]{display:none;}
}
@media (max-width:560px){.ticker .tlab span{display:none;}}

/* ═══ lecteur audio de page ═══ */
#pageaudio{position:fixed;left:50%;transform:translate(-50%,140%);bottom:18px;z-index:70;background:#000;border:1px solid var(--line2);border-radius:99px;display:flex;align-items:center;gap:14px;padding:10px 18px 10px 10px;box-shadow:0 12px 40px rgba(0,0,0,.6);transition:transform .35s ease;max-width:min(92vw,560px);}
#pageaudio.onair{transform:translate(-50%,0);}
#pageaudio .pl{width:34px;height:34px;border-radius:50%;background:var(--red);position:relative;flex:none;}
#pageaudio .pl::after{content:'';position:absolute;inset:0;margin:auto;width:0;height:0;border-left:11px solid #fff;border-top:7px solid transparent;border-bottom:7px solid transparent;transform:translateX(2px);}
#pageaudio .tt{font-size:.74rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#pageaudio .tm{font-family:var(--f-mono);font-size:.6rem;color:var(--mut);white-space:nowrap;}
#pageaudio .bar{width:120px;height:3px;background:var(--line2);border-radius:99px;overflow:hidden;flex:none;}
#pageaudio .bar i{display:block;height:100%;width:30%;background:var(--red);border-radius:99px;}

/* ═══ à la une ═══ */
.hero{padding-top:44px;padding-bottom:12px;}
.hero .grid{display:grid;grid-template-columns:1.6fr 1fr;gap:28px;align-items:start;}
.une{display:block;}
.une .img{aspect-ratio:16/8.4;border-radius:14px;position:relative;overflow:hidden;background:linear-gradient(120deg,#12A5B0,#0B3B4E);}
.une .img::after{content:'';position:absolute;inset:auto 0 0 0;height:46%;background:linear-gradient(180deg,transparent,rgba(6,6,7,.62));z-index:1;pointer-events:none;}
.une h1,.une .h1{font-family:var(--f-title);font-weight:700;font-size:clamp(1.7rem,3.9vw,2.85rem);line-height:1.06;letter-spacing:-.015em;margin-top:18px;text-wrap:balance;display:block;color:var(--txt);}
.une .chapo{color:var(--mut);font-size:.95rem;max-width:60ch;margin-top:10px;}
.une .meta{font-family:var(--f-mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin-top:12px;}
/* Les crochets de cadrage de la une descendent SOUS la dernière ligne.
   Les autres porteurs de crochets ont un rembourrage intérieur (.item 10px,
   .cardx 16px) qui les tient à distance du texte ; la une, elle, n'en a pas —
   ses crochets du bas tombaient donc en plein sur la ligne de date et de
   commune. Les 16 px qui précèdent le bouton « Lire l'article » laissent la
   place de les poser dessous, et le cadre respire mieux. */
.une .ck.bl,.une .ck.br{bottom:-12px;}
.une .ck.bl{left:-2px;}
.une .ck.br{right:-2px;}
.acts{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap;}
.act{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line2);border-radius:99px;padding:8px 16px;color:var(--txt);transition:all .2s;}
.act:hover{border-color:var(--mut);}
.act.hot{background:var(--red);border-color:var(--red);color:#fff;font-weight:700;}
.act.hot:hover{background:var(--red2);}
.pill{position:absolute;top:14px;left:14px;background:var(--red);color:#fff;font-family:var(--f-mono);font-size:.6rem;letter-spacing:.14em;padding:5px 12px;border-radius:99px;text-transform:uppercase;font-weight:700;z-index:2;}
.ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.une .img .ph,.item .im .ph,.cardx .im .ph{transition:transform .55s cubic-bezier(.2,.6,.2,1);}
.une:hover .img .ph{transform:scale(1.045);}
.item:hover .im .ph,.cardx:hover .im .ph{transform:scale(1.06);}
@media (prefers-reduced-motion:reduce){
  .une .img .ph,.item .im .ph,.cardx .im .ph{transition:none;}
  .une:hover .img .ph,.item:hover .im .ph,.cardx:hover .im .ph{transform:none;}
}
.pill.ghost{background:rgba(0,0,0,.5);font-weight:400;}
.stack{display:flex;flex-direction:column;gap:14px;}
.stack .st{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mut);}
.item{display:flex;gap:14px;align-items:center;background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:10px;transition:border-color .2s;}
.item:hover{border-color:var(--line2);}
.item .im{width:104px;aspect-ratio:16/10;border-radius:8px;flex:none;position:relative;overflow:hidden;background:linear-gradient(135deg,#26262B,#17171A);}
.item .im .pill{top:6px;left:6px;padding:3px 8px;font-size:.52rem;}
.item h3{font-size:.86rem;font-weight:700;line-height:1.3;}
.item p{font-family:var(--f-mono);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin-top:5px;}
.falc{display:none;background:#241A05;border:1px solid #5A4310;border-radius:10px;padding:12px 14px;margin-top:12px;font-size:.85rem;line-height:1.55;}
.falc .ft{font-family:var(--f-mono);font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:4px;}
body.falc-on .falc{display:block;}
@media (max-width:900px){.hero .grid{grid-template-columns:1fr;}}

/* ═══ bandeau direct ═══ */
.direct{background:#1A0503;border-top:1px solid #2E0B08;border-bottom:1px solid #2E0B08;margin-top:44px;}
.direct .in{max-width:var(--maxw);margin:0 auto;padding:12px 24px;display:flex;align-items:center;gap:16px;}
.direct .lb{background:var(--red);color:#fff;font-family:var(--f-mono);font-size:.6rem;letter-spacing:.16em;padding:5px 12px;border-radius:99px;text-transform:uppercase;font-weight:700;display:flex;align-items:center;gap:7px;white-space:nowrap;}
.direct .lb i{width:7px;height:7px;border-radius:50%;background:#fff;animation:pulse 1.6s infinite;}
.direct p{font-weight:700;font-size:.9rem;}
.direct .dv{font-family:var(--f-mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--redsoft);white-space:nowrap;margin-left:auto;}
.direct a.go{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--redsoft);white-space:nowrap;}
.direct a.go:hover{color:#fff;}
@media (max-width:700px){.direct p{font-size:.78rem;}.direct a.go{display:none;}}
@media (max-width:560px){.direct .dv{display:none;}}

/* ═══ play / webtv ═══ */
.player{display:block;width:100%;text-align:inherit;aspect-ratio:16/8.2;border-radius:16px;position:relative;overflow:hidden;background:linear-gradient(130deg,#0B3B4E 0%,#12A5B0 55%,#0B3B4E 100%);cursor:pointer;}
.player .pth{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.player iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.player.playing .pth,.player.playing .shade,.player.playing .big,.player.playing .info,.player.playing .pill{display:none;}
.player .shade{position:absolute;inset:0;background:linear-gradient(160deg,transparent 35%,rgba(0,0,0,.82));}
.player .big{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);width:76px;height:76px;border-radius:50%;background:rgba(0,0,0,.55);border:2px solid rgba(255,255,255,.85);display:flex;align-items:center;justify-content:center;transition:transform .2s,background .2s;}
.player .big::after{content:'';width:0;height:0;border-left:22px solid #fff;border-top:14px solid transparent;border-bottom:14px solid transparent;margin-left:6px;}
.player:hover .big{transform:translate(-50%,-50%) scale(1.07);background:var(--red);border-color:var(--red);}
.player .info{position:absolute;left:24px;right:24px;bottom:44px;}
.player .info .ft{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.2em;color:var(--redsoft);text-transform:uppercase;}
.player .info h3{font-family:var(--f-title);font-weight:700;font-size:clamp(1.1rem,2.4vw,1.7rem);line-height:1.12;margin-top:8px;max-width:30ch;}
.player .bar{position:absolute;left:24px;right:24px;bottom:22px;height:4px;background:rgba(255,255,255,.22);border-radius:99px;}
.player .bar i{display:block;width:62%;height:100%;background:var(--red);border-radius:99px;}
.embednote{font-family:var(--f-mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin-top:10px;}
.chgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:26px;}
.chx{border-radius:12px;padding:14px 14px 12px;color:#fff;min-height:86px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;transition:transform .2s;text-align:left;width:100%;border:2px solid transparent;cursor:pointer;}
.chx.on{border-color:#fff;}
.chx:hover{transform:translateY(-3px);}
@media (prefers-reduced-motion:reduce){.chx:hover,.player:hover .big{transform:none;}}
.chx b{font-family:var(--f-title);font-weight:700;font-size:.85rem;line-height:1.12;}
.chx span{font-family:var(--f-mono);font-size:.54rem;letter-spacing:.1em;text-transform:uppercase;opacity:.85;margin-top:4px;}
@media (max-width:900px){.chgrid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:560px){.chgrid{grid-template-columns:repeat(2,1fr);}}
.rail{display:flex;gap:14px;overflow-x:auto;padding:6px 2px 18px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--line2) transparent;}
.rv{flex:0 0 240px;scroll-snap-align:start;background:var(--bg2);border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:border-color .2s;cursor:pointer;text-align:left;padding:0;}
.rv:hover{border-color:var(--redsoft);}
.rv.hide{display:none;}
.rv .im{aspect-ratio:16/9;position:relative;background:linear-gradient(135deg,#1D1D1E,#2A2A30);overflow:hidden;display:block;}
.rv .im img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.rv .im .pb2{position:absolute;right:8px;bottom:8px;width:28px;height:28px;border-radius:50%;background:rgba(0,0,0,.68);display:flex;align-items:center;justify-content:center;z-index:2;}
.rv .im .pb2::after{content:'';border-left:9px solid #fff;border-top:6px solid transparent;border-bottom:6px solid transparent;margin-left:2px;}
.rv h3{font-size:.8rem;font-weight:700;line-height:1.3;padding:10px 12px 4px;}
.rv .sub{font-family:var(--f-mono);font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);padding:0 12px 12px;display:block;}

/* ═══ radio ═══ */
.radiocard{background:var(--bg2);border:1px solid var(--line);border-radius:18px;padding:28px;display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;}
.rbtn{width:84px;height:84px;border-radius:50%;background:var(--red);position:relative;flex:none;transition:transform .2s;}
.rbtn:hover{transform:scale(1.05);}
.rbtn::after{content:'';position:absolute;inset:0;margin:auto;width:0;height:0;border-left:26px solid #fff;border-top:16px solid transparent;border-bottom:16px solid transparent;transform:translateX(4px);}
.rbtn.playing::after{border:none;width:22px;height:26px;border-left:8px solid #fff;border-right:8px solid #fff;transform:none;}
.rnow .lbl{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--redsoft);}
.rnow h3{font-family:var(--f-title);font-weight:700;font-size:clamp(1.1rem,2.2vw,1.5rem);line-height:1.15;margin-top:6px;}
.rnow p{color:var(--mut);font-size:.85rem;margin-top:6px;}
.eq{display:flex;align-items:flex-end;gap:4px;height:56px;}
.eq i{width:5px;background:var(--line2);border-radius:99px;height:18%;}
.radiocard.playing .eq i{background:var(--red);}
.prog{margin-top:18px;background:var(--bg2);border:1px solid var(--line);border-radius:14px;overflow:hidden;}
.prog .row{display:flex;gap:18px;align-items:baseline;padding:13px 20px;border-bottom:1px dashed var(--line);font-size:.85rem;}
.prog .row:last-child{border-bottom:none;}
.prog .h{font-family:var(--f-mono);font-size:.68rem;color:var(--redsoft);letter-spacing:.08em;flex:none;width:56px;}
.prog .row.now{background:#1B0705;}
.prog .row b{font-weight:700;}
.prog .row span{color:var(--dim);font-size:.76rem;}
@media (max-width:820px){.radiocard{grid-template-columns:auto 1fr;}.eq{display:none;}}

/* ═══ le 91 en chiffres ═══ */
.figs{padding-top:64px;}
.figrow{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.fig{padding:30px 26px;border-left:1px solid var(--line);}
.fig:first-child{border-left:none;}
.fig b{font-family:var(--f-title);font-weight:700;font-size:clamp(1.9rem,3.6vw,2.7rem);letter-spacing:-.02em;line-height:1;display:block;font-variant-numeric:tabular-nums;}
.fig b em{font-style:normal;color:var(--redsoft);}
.fig > span{font-family:var(--f-mono);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mut);display:block;margin-top:10px;}
@media (max-width:820px){.figrow{grid-template-columns:1fr 1fr;}.fig{border-left:none;padding:22px 18px;}.fig:nth-child(even){border-left:1px solid var(--line);}.fig:nth-child(n+3){border-top:1px solid var(--line);}}

/* ═══ communes ═══ */
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px;}
.chip{font-family:var(--f-mono);font-size:.64rem;letter-spacing:.08em;border:1px solid var(--line2);border-radius:99px;padding:7px 15px;color:var(--mut);transition:all .2s;display:inline-block;}
.chip:hover{color:#fff;border-color:var(--mut);}
.chip.on{background:var(--red);border-color:var(--red);color:#fff;font-weight:700;}
.chip em{font-style:normal;color:var(--redsoft);font-size:.85em;}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.cardx{background:var(--bg2);border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:border-color .2s, opacity .3s, transform .3s;}
.cardx:hover{border-color:var(--line2);transform:translateY(-3px);}
@media (prefers-reduced-motion:reduce){.cardx:hover{transform:none;}}
.cardx.hide{display:none;}
.cardx .im{aspect-ratio:16/8.5;position:relative;overflow:hidden;background:linear-gradient(135deg,#26262B,#17171A);display:block;}
.cardx .tx{padding:14px 16px 16px;}
.cardx h3{font-size:.92rem;font-weight:700;line-height:1.32;}
.cardx .mt{font-family:var(--f-mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin-top:8px;}
.cardx .falc{margin:0 16px 16px;}
@media (max-width:900px){.cards{grid-template-columns:1fr 1fr;}}
@media (max-width:600px){.cards{grid-template-columns:1fr;}}

/* ═══ participer ═══ */
.part{margin:72px 0 0;}
.partbox{position:relative;background:var(--bg2);border-radius:20px;padding:56px 32px;text-align:center;}
.partbox .pck{position:absolute;width:34px;height:34px;border:0 solid var(--red);}
.partbox .pck.tl{top:18px;left:18px;border-top-width:5px;border-left-width:5px;border-top-left-radius:6px;}
.partbox .pck.tr{top:18px;right:18px;border-top-width:5px;border-right-width:5px;border-top-right-radius:6px;}
.partbox .pck.bl{bottom:18px;left:18px;border-bottom-width:5px;border-left-width:5px;border-bottom-left-radius:6px;}
.partbox .pck.br{bottom:18px;right:18px;border-bottom-width:5px;border-right-width:5px;border-bottom-right-radius:6px;}
.partbox h2{font-family:var(--f-title);font-weight:700;font-size:clamp(1.6rem,3.4vw,2.4rem);letter-spacing:-.01em;}
.partbox p{color:var(--mut);max-width:52ch;margin:14px auto 0;}
.partbox .acts{justify-content:center;margin-top:26px;}
.partmeans{display:flex;gap:26px;justify-content:center;margin-top:26px;flex-wrap:wrap;font-family:var(--f-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);}

/* ═══ la lettre du 91 ═══ */
.nl{margin-top:72px;}
.nlbox{background:var(--bg2);border:1px solid var(--line);border-radius:20px;padding:40px 36px;display:grid;grid-template-columns:1.2fr 1fr;gap:36px;align-items:center;position:relative;overflow:hidden;}
.nlbox::before{content:'91';position:absolute;right:-14px;bottom:-52px;font-family:var(--f-title);font-weight:700;font-size:13rem;line-height:1;color:var(--red);opacity:.07;pointer-events:none;}
.nlbox h2{font-family:var(--f-title);font-weight:700;font-size:clamp(1.3rem,2.6vw,1.9rem);line-height:1.12;letter-spacing:-.01em;margin-top:12px;text-wrap:balance;}
.nlbox .sub{color:var(--mut);font-size:.9rem;margin-top:10px;max-width:44ch;}
.nlform{position:relative;z-index:2;}
.nlrow{display:flex;gap:10px;}
.nlrow input{flex:1;min-width:0;background:var(--bg);border:1px solid var(--line2);border-radius:99px;padding:12px 20px;font-size:.9rem;color:var(--txt);font-family:var(--f-body);}
.nlrow input::placeholder{color:var(--dim);}
.nlrow input:focus{outline:2px solid var(--red);outline-offset:0;border-color:var(--red);}
.nlrow .act.hot{white-space:nowrap;padding:12px 22px;font-size:.7rem;}
.nlnote{font-family:var(--f-mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin-top:12px;}
.nlok{color:#7FD8A4;font-size:.85rem;font-weight:700;margin-top:12px;}
.nlerr{color:var(--redsoft);font-size:.82rem;margin-top:12px;}
.nlhp{position:absolute;left:-9999px;}
@media (max-width:820px){.nlbox{grid-template-columns:1fr;padding:32px 24px;gap:22px;}}
@media (max-width:480px){.nlrow{flex-direction:column;}.nlrow .act.hot{text-align:center;}}

/* ═══ retour en haut ═══ */
#totop{position:fixed;right:20px;bottom:20px;width:46px;height:46px;border-radius:50%;background:var(--bg3);border:1px solid var(--line2);color:var(--txt);font-size:1.05rem;z-index:65;opacity:0;pointer-events:none;transform:translateY(10px);transition:opacity .25s,transform .25s,border-color .2s;}
#totop.show{opacity:1;pointer-events:auto;transform:none;}
#totop:hover{border-color:var(--redsoft);color:var(--redsoft);}
@media (prefers-reduced-motion:reduce){#totop{transition:opacity .25s;transform:none;}}

/* ═══ footer ═══ */
footer.site-footer{margin-top:80px;border-top:1px solid var(--line);background:#0A0A0B;}
footer.site-footer .in{max-width:var(--maxw);margin:0 auto;padding:44px 24px 28px;}
footer.site-footer .cols{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap;}
footer.site-footer .bl h4{font-family:var(--f-mono);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);margin-bottom:12px;}
footer.site-footer .bl a{display:block;font-size:.8rem;color:var(--mut);padding:3px 0;}
footer.site-footer .bl a:hover{color:#fff;}
footer.site-footer .base{font-family:var(--f-mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-top:10px;}
footer.site-footer .cred{border-top:1px solid var(--line);margin-top:36px;padding-top:20px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-family:var(--f-mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);}
footer.site-footer .cred b{color:var(--mut);font-weight:700;}

/* ════════
   ARTICLE (single)
   ════════ */
#readbar{position:fixed;top:0;left:0;right:0;height:3px;z-index:110;pointer-events:none;}
#readbar i{display:block;height:100%;background:var(--red);transform:scaleX(0);transform-origin:0 50%;}
.crumb{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);padding:26px 0 0;}
.crumb a:hover{color:var(--redsoft);}
.crumb b{color:var(--redsoft);font-weight:400;}
.art{display:grid;grid-template-columns:1fr 300px;gap:44px;padding:18px 0 70px;align-items:start;}
@media (max-width:900px){.art{grid-template-columns:1fr;}}
.pillf{display:inline-block;background:var(--teal);color:#fff;font-family:var(--f-mono);font-size:.6rem;letter-spacing:.14em;padding:5px 12px;border-radius:99px;text-transform:uppercase;font-weight:700;margin-bottom:14px;}
.art h1{font-family:var(--f-title);font-weight:700;font-size:clamp(1.7rem,3.6vw,2.5rem);line-height:1.1;letter-spacing:-.012em;text-wrap:balance;}
.art .meta{font-family:var(--f-mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin-top:14px;}
.aud{margin:20px 0 6px;background:#000;border:1px solid var(--line2);border-radius:99px;display:flex;align-items:center;gap:12px;padding:9px 16px 9px 9px;max-width:520px;}
.aud .pl{width:34px;height:34px;border-radius:50%;background:var(--red);position:relative;flex:none;}
.aud .pl::after{content:'';position:absolute;inset:0;margin:auto;width:0;height:0;border-left:11px solid #fff;border-top:7px solid transparent;border-bottom:7px solid transparent;transform:translateX(2px);}
.aud.playing .pl::after{border:none;width:10px;height:12px;border-left:3.5px solid #fff;border-right:3.5px solid #fff;transform:none;}
.wave{flex:1;display:flex;align-items:center;gap:2.5px;height:20px;}
.wave i{width:3px;background:var(--line2);border-radius:99px;height:30%;}
.aud.playing .wave i{background:var(--red);animation:wv 1s ease-in-out infinite alternate;}
.aud.playing .wave i:nth-child(2n){animation-delay:.18s;}
.aud.playing .wave i:nth-child(3n){animation-delay:.32s;}
@keyframes wv{from{transform:scaleY(.5);}to{transform:scaleY(1.6);}}
@media (prefers-reduced-motion:reduce){.aud.playing .wave i{animation:none;}}
.aud .tm{font-family:var(--f-mono);font-size:.62rem;color:var(--mut);white-space:nowrap;}
.himg{aspect-ratio:16/8;border-radius:14px;margin-top:20px;position:relative;overflow:hidden;background:linear-gradient(120deg,#26262B,#0F0F10);}
.himg .hp{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.himg .cap{position:absolute;left:14px;bottom:12px;font-family:var(--f-mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.85);text-shadow:0 1px 8px rgba(0,0,0,.75);z-index:2;}
.body{margin-top:26px;max-width:64ch;}
.body p{margin-bottom:18px;font-size:1rem;color:#D9DCE0;}
body.hc .body p,html[data-hc="1"] .body p{color:#fff;}
.body .chapo,.body > p:first-child{font-weight:700;font-size:1.08rem;color:var(--txt);}
.body h2{font-family:var(--f-title);font-weight:700;font-size:1.3rem;margin:28px 0 12px;letter-spacing:-.01em;}
.body a{color:var(--redsoft);border-bottom:1px solid rgba(255,138,126,.35);}
.body a:hover{color:#fff;border-color:#fff;}
.body img{border-radius:12px;margin:6px 0 18px;}
.body ul,.body ol{margin:0 0 18px 22px;color:#D9DCE0;}
.body blockquote{position:relative;margin:30px 0;padding:22px 26px;}
.body blockquote p{font-family:var(--f-title);font-weight:700;font-size:1.15rem;line-height:1.4;margin:0;color:var(--txt);}
.body blockquote cite{font-family:var(--f-mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-top:12px;display:block;font-style:normal;}
.body blockquote::before,.body blockquote::after{content:'';position:absolute;width:16px;height:16px;border:0 solid var(--red);}
.body blockquote::before{top:0;left:0;border-top-width:3px;border-left-width:3px;border-top-left-radius:3px;}
.body blockquote::after{bottom:0;right:0;border-bottom-width:3px;border-right-width:3px;border-bottom-right-radius:3px;}
.artfalc{display:none;background:#241A05;border:1px solid #5A4310;border-radius:12px;padding:16px 18px;margin:22px 0;font-size:.95rem;}
.artfalc .ft{font-family:var(--f-mono);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:6px;}
body.falc-on .artfalc{display:block;}
aside .box{background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin-bottom:16px;}
aside .bt{font-family:var(--f-mono);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mut);margin-bottom:12px;}
.vid{aspect-ratio:16/9;border-radius:10px;position:relative;overflow:hidden;background:linear-gradient(120deg,#26262B,#0F0F10);display:block;cursor:pointer;width:100%;}
.vid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.vid .pb{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;background:rgba(0,0,0,.55);border:2px solid rgba(255,255,255,.85);z-index:2;}
.vid .pb::after{content:'';position:absolute;inset:0;margin:auto;width:0;height:0;border-left:14px solid #fff;border-top:9px solid transparent;border-bottom:9px solid transparent;transform:translateX(3px);}
.also a{display:block;font-size:.85rem;font-weight:700;line-height:1.35;padding:10px 0;border-top:1px dashed var(--line);}
.also a:first-of-type{border-top:none;}
.also a:hover{color:var(--redsoft);}
.also .m{font-family:var(--f-mono);font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);font-weight:400;margin-top:4px;display:block;}
.asidecta{display:inline-block;margin-top:12px;background:var(--red);color:#fff;font-weight:700;font-size:.78rem;border-radius:99px;padding:8px 16px;}
.asidenote{font-size:.82rem;color:var(--mut);}

/* ════════
   LISTES (commune, catégorie, archives, recherche)
   ════════ */
.listhead{padding:44px 0 8px;}
.listhead h1{font-family:var(--f-title);font-weight:700;font-size:clamp(1.7rem,3.6vw,2.6rem);letter-spacing:-.012em;line-height:1.06;text-wrap:balance;}
.listhead .desc{color:var(--mut);max-width:60ch;margin-top:12px;}
.qpvnote{font-family:var(--f-mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin:14px 0 24px;}
.qpvnote em{font-style:normal;color:var(--redsoft);}
.pagin{display:flex;gap:8px;justify-content:center;margin:40px 0 0;font-family:var(--f-mono);font-size:.7rem;}
.pagin a,.pagin span{border:1px solid var(--line2);border-radius:99px;padding:8px 15px;color:var(--mut);}
.pagin a:hover{color:#fff;border-color:var(--mut);}
.pagin .current{background:var(--red);border-color:var(--red);color:#fff;font-weight:700;}
.noresult{background:var(--bg2);border:1px dashed var(--line2);border-radius:14px;padding:40px 24px;text-align:center;color:var(--mut);margin-top:10px;}

/* ═══ 404 ═══ */
.p404{min-height:60vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:80px 24px;}
.p404 .big91{font-family:var(--f-title);font-weight:700;font-size:clamp(5rem,18vw,11rem);line-height:1;color:var(--red);letter-spacing:-.03em;}
.p404 h1{font-family:var(--f-title);font-weight:700;font-size:clamp(1.3rem,3vw,2rem);margin-top:10px;}
.p404 p{color:var(--mut);margin-top:12px;max-width:46ch;}

/* ═══ affinage mobile ═══ */
@media (max-width:560px){
  .wrap{padding:0 18px;}
  .a11y .date{display:none;}
  .a11y .in{justify-content:center;padding:7px 12px;}
  .nav .in{padding:12px 18px;}
  .nav .lvfull{display:none;}
  .nav .lvshort{display:inline;}
  .sect{padding-top:52px;padding-bottom:8px;}
  .hero{padding-top:30px;padding-bottom:8px;}
  .mmenu a{padding:14px 18px;}
  .player{aspect-ratio:16/9;border-radius:12px;}
  .radiocard{padding:20px;gap:18px;}
  .partbox{padding:40px 20px;}
  footer.site-footer .in{padding:36px 18px 24px;}
  footer.site-footer .cols{gap:24px;}
  #pageaudio{max-width:calc(100vw - 24px);}
  .art{gap:30px;padding-bottom:50px;}
  .himg{aspect-ratio:16/10;border-radius:12px;}
  .aud{max-width:100%;}
}

/* ════════
   ARCHIVES — le fonds historique conservé
   ════════ */
.archbox{background:var(--bg2);border:1px solid var(--line);border-radius:20px;padding:36px 32px;margin-top:28px;display:grid;grid-template-columns:1.5fr 1fr;gap:32px;align-items:center;position:relative;overflow:hidden;}
.archbox::before{content:'';position:absolute;right:-30px;top:-30px;width:200px;height:200px;border:3px solid var(--red);border-radius:50%;opacity:.06;pointer-events:none;}
.archbox h2{font-family:var(--f-title);font-weight:700;font-size:clamp(1.3rem,2.6vw,1.9rem);line-height:1.12;letter-spacing:-.01em;margin-top:12px;text-wrap:balance;}
.archbox .sub{color:var(--mut);font-size:.92rem;margin-top:10px;max-width:52ch;}
.archnote{border-left:2px solid var(--red);padding-left:18px;}
.archnote .mono{font-family:var(--f-mono);font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--redsoft);display:block;}
.archnote p{color:var(--mut);font-size:.82rem;margin-top:8px;}
@media (max-width:820px){.archbox{grid-template-columns:1fr;padding:28px 22px;gap:22px;}}

.archyears{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;}
.archyear{background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:22px 20px;display:block;transition:border-color .2s,transform .2s;}
.archyear:hover{border-color:var(--redsoft);transform:translateY(-3px);}
@media (prefers-reduced-motion:reduce){.archyear:hover{transform:none;}}
.archyear b{font-family:var(--f-title);font-weight:700;font-size:1.7rem;letter-spacing:-.02em;display:block;font-variant-numeric:tabular-nums;}
.archyear span{font-family:var(--f-mono);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);display:block;margin-top:6px;}

/* ── Recherche (2.6.0) ──────── */
.cherche{position:relative;}
.cherche summary{list-style:none;cursor:pointer;display:grid;place-items:center;width:34px;height:34px;border-radius:8px;color:var(--mut);transition:color .2s,background .2s;}
.cherche summary::-webkit-details-marker{display:none;}
.cherche summary:hover,.cherche[open] summary{color:#fff;background:rgba(255,255,255,.08);}
.cherche summary:focus-visible{outline:2px solid var(--red);outline-offset:2px;}
.chpop{position:absolute;right:0;top:calc(100% + 10px);background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:12px;width:min(340px,86vw);box-shadow:0 18px 40px rgba(0,0,0,.35);z-index:60;}
.chform{display:flex;gap:8px;}
.chform input[type="search"]{flex:1;min-width:0;padding:10px 12px;border:1px solid #D8CFC0;border-radius:8px;background:#fff;color:#141210;font:inherit;font-size:.9rem;}
.chform input[type="search"]:focus-visible{outline:2px solid var(--red);outline-offset:1px;}
.chform button{padding:10px 14px;border:0;border-radius:8px;background:var(--red);color:#fff;font-weight:700;font-size:.82rem;cursor:pointer;white-space:nowrap;}
.chform button:hover{filter:brightness(1.08);}
.mch{padding:12px 0 4px;}
@media (max-width:560px){.cherche summary{width:38px;height:38px;}}

/* ── Fil d'Ariane en liste (pages, archives, communes) ──────── */
.crumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:0 6px;margin:0;padding:0;}
.crumb ol li+li::before{content:"▸";margin-right:6px;color:var(--mut);}
.crumb ol a:hover{color:var(--redsoft);}
.crumb ol span[aria-current]{color:var(--redsoft);}

/* ── 404 utile ──────── */
.p404ch{max-width:420px;margin:26px auto 0;}
.p404derniers{margin-top:34px;text-align:left;max-width:520px;margin-left:auto;margin-right:auto;}
.p404derniers ul{list-style:none;margin:12px 0 0;padding:0;}
.p404derniers li{padding:8px 0;border-top:1px solid var(--line);}
.p404derniers a:hover{color:var(--redsoft);}

/* ── Impression : l'article, rien que l'article ──────── */
@media print{
  .a11y,.nav,.ticker,#intro,#pageaudio,#readbar,#totop,.nl,.site-footer,.dem,
  .acts,.cta-liste,.rangée-partage,.share,.art>aside,.pillf,.p404ch{display:none!important;}
  body{background:#fff!important;color:#000!important;font-size:11pt;}
  .wrap{max-width:100%;padding:0;}
  .art{display:block;max-width:100%;}
  .art h1{font-size:20pt;color:#000!important;}
  .art .body{color:#000;}
  .art .body a{color:#000;text-decoration:underline;}
  .art .body a[href^="http"]::after{content:" (" attr(href) ")";font-size:8.5pt;color:#444;}
  img{max-width:70%;page-break-inside:avoid;}
}

/* ── Partenaires : le bandeau défilant du pied de page ─
   Deux moitiés identiques dans la piste, animation jusqu'à -50 % : la boucle
   est invisible. Au survol, la bande s'arrête (on peut cliquer un logo) ;
   en mouvement réduit, elle devient une rangée fixe que l'on fait défiler
   au doigt. Les logos gardent leurs couleurs, posés sur une pastille
   blanche — aucun fond de partenaire ne peut jurer avec le pied de page. */
.pmarq{padding:26px 0 30px;border-bottom:1px solid var(--line2);margin-bottom:34px;}
.pmarq-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:18px;}
.pmarq-t{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--mut);}
.pmarq-tous{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--redsoft);white-space:nowrap;}
.pmarq-vp{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);}
.pmarq-piste{display:flex;width:max-content;animation:pmarq var(--pmd,32s) linear infinite;}
.pmarq-vp:hover .pmarq-piste,
.pmarq-vp:focus-within .pmarq-piste{animation-play-state:paused;}
.pmarq-suite{display:flex;align-items:center;}
/* Toujours préfixé .pmarq : la classe .pl existe aussi sur les boutons
   audio (#pageaudio .pl, .aud .pl) — nue, elle les déformerait. */
.pmarq .pl{flex:none;display:flex;align-items:center;justify-content:center;height:64px;padding:10px 22px;margin-right:18px;background:#fff;border-radius:12px;transition:transform .2s;}
.pmarq .pl img{max-height:40px;width:auto;max-width:160px;object-fit:contain;display:block;}
.pmarq a.pl:hover{transform:translateY(-2px);}
@keyframes pmarq{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (prefers-reduced-motion:reduce){
	.pmarq-piste{animation:none;}
	.pmarq-vp{overflow-x:auto;-webkit-mask-image:none;mask-image:none;}
	.pmarq-suite[aria-hidden]{display:none;}
	.pmarq a.pl:hover{transform:none;}
}
@media (max-width:560px){
	.pmarq .pl{height:54px;padding:8px 16px;margin-right:12px;}
	.pmarq .pl img{max-height:32px;max-width:130px;}
}

/* ── Pages commune/quartier : bandeau photo de tête ─
   La photo du dernier article de la commune habille la page ; sans photo, le
   dégradé encre reprend la main. Le rapport (aspect-ratio) est réservé dans
   critique.css — ici, uniquement l'habillage. */
.comterr{position:relative;border-radius:18px;overflow:hidden;background:linear-gradient(135deg,#182430,#0B1119);margin-top:8px;}
.comterr .ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.comterr::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,12,18,.16) 0%,rgba(8,12,18,.55) 55%,rgba(8,12,18,.9) 100%);}
.comterr-in{position:absolute;left:0;right:0;bottom:0;padding:22px 26px;z-index:1;}
.comterr-in .eyebrow{color:rgba(255,255,255,.82);}
.comterr-in h1{font-family:var(--f-title);font-weight:700;font-size:clamp(1.7rem,3.6vw,2.7rem);line-height:1.04;letter-spacing:-.02em;color:#fff;margin:12px 0 0;text-wrap:balance;}
.comterr-n{position:absolute;top:14px;right:14px;z-index:1;font-family:var(--f-mono);font-size:.6rem;letter-spacing:1.2px;text-transform:uppercase;color:#fff;background:rgba(8,12,18,.55);border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:5px 12px;backdrop-filter:blur(4px);white-space:nowrap;}
@media (max-width:640px){.comterr-in{padding:16px 16px;}}
