/* Techniques de Pêche · DA « carnet de rivière »
   Papier de carte, isobathes, antenne de flotteur orange. Titres étroits (panneaux de bord de rivière), texte en serif. */

@font-face{font-family:"Archivo";src:url(../fonts/archivo.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url(../fonts/source-serif-4.woff2) format("woff2");font-weight:200 900;font-style:normal;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url(../fonts/source-serif-4-italic.woff2) format("woff2");font-weight:200 900;font-style:italic;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url(../fonts/jetbrains-mono-500.woff2) format("woff2");font-weight:500;font-display:swap}

:root{
  --nuit:#10242B; --nuit-2:#1A3640; --hydro:#1F6A86; --hydro-d:#16536A; --hydro-l:#D7E8EF;
  --roseau:#6E8B3D; --roseau-l:#E6EEDB;
  --bouchon:#EE5A24; --bouchon-d:#C2431A; --bouchon-l:#FCE4D9;
  --antenne:#F7D046; --antenne-l:#FBF0C4;
  --papier:#F2F4EF; --blanc:#FFFFFF; --fil:#DCE3DD; --fil-2:#C6D0C9; --vase:#55615B;
  --f-display:"Archivo","Arial Narrow",Arial,sans-serif;
  --f-body:"Source Serif 4",Georgia,"Times New Roman",serif;
  --f-mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;
  --gutter:clamp(16px,4vw,32px);
  --max:1200px; --prose:720px;
  --head-h:72px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--head-h) + 16px)}
body{margin:0;background:var(--papier);color:var(--nuit);font-family:var(--f-body);font-size:18px;line-height:1.65;font-optical-sizing:auto;text-rendering:optimizeLegibility}
img,svg{max-width:100%;height:auto}
a{color:var(--hydro-d);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--bouchon-d)}
:focus-visible{outline:3px solid var(--bouchon);outline-offset:2px}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-60px;background:var(--nuit);color:#fff;padding:10px 14px;z-index:100;font-family:var(--f-display)}
.skip:focus{top:12px;color:#fff}
.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
h1,h2,h3,h4{font-family:var(--f-display);color:var(--nuit);text-wrap:balance;line-height:1.08;margin:0}
h1{font-size:clamp(34px,5.6vw,58px);font-weight:850;font-stretch:72%;text-transform:uppercase;letter-spacing:.002em}
h2{font-size:clamp(26px,3.4vw,34px);font-weight:800;font-stretch:76%;text-transform:uppercase;letter-spacing:.004em}
h3{font-size:clamp(20px,2.4vw,23px);font-weight:720;font-stretch:88%}
.eyebrow{font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--hydro-d);margin:0 0 10px}
.num{font-family:var(--f-mono);font-size:.82em;font-variant-numeric:tabular-nums}

/* ---------- En-tête ---------- */
.site-head{position:sticky;top:0;z-index:50;background:var(--blanc);border-bottom:1px solid var(--fil);transition:box-shadow .2s}
.site-head.is-small{box-shadow:0 2px 16px rgba(16,36,43,.08)}
.site-head__in{max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter);height:var(--head-h);display:flex;align-items:center;gap:24px}
.brand{display:flex;align-items:center;gap:10px;color:var(--nuit);text-decoration:none;flex:none}
.brand:hover{color:var(--nuit)}
.brand__name{font-family:var(--f-display);font-weight:850;font-stretch:68%;text-transform:uppercase;font-size:22px;line-height:.9}
.brand__name small{display:block;font-family:var(--f-mono);font-weight:500;font-stretch:100%;font-size:9px;letter-spacing:.14em;color:var(--vase);margin-top:5px}
.logo-mark{color:var(--nuit)}
.nav{margin-left:auto;display:flex;align-items:center;gap:18px}
.nav .menu{list-style:none;margin:0;padding:0;display:flex;gap:4px}
.nav .menu>li{position:relative}
.nav .menu>li>a{display:block;padding:10px 12px;font-family:var(--f-display);font-stretch:85%;font-weight:650;font-size:16px;color:var(--nuit);text-decoration:none}
.nav .menu>li>a:hover,.nav .menu>li.current-menu-item>a,.nav .menu>li.current-menu-ancestor>a{color:var(--hydro-d);box-shadow:inset 0 -3px 0 var(--bouchon)}
.nav .sub-menu{list-style:none;margin:0;padding:10px;position:absolute;left:0;top:100%;min-width:280px;background:var(--blanc);border:1px solid var(--fil);box-shadow:0 12px 30px rgba(16,36,43,.12);display:none;columns:1}
.nav .menu>li:hover>.sub-menu,.nav .menu>li:focus-within>.sub-menu{display:block}
.nav .sub-menu a{display:block;padding:7px 10px;color:var(--nuit);text-decoration:none;font-family:var(--f-display);font-stretch:92%;font-size:15px}
.nav .sub-menu a:hover{background:var(--papier);color:var(--hydro-d)}
.nav__search input{width:170px;font:inherit;font-size:15px;padding:7px 10px;border:1px solid var(--fil-2);background:var(--papier);color:var(--nuit)}
.head-cta{flex:none;background:var(--bouchon-d);color:#fff;font-family:var(--f-display);font-stretch:88%;font-weight:700;font-size:15px;padding:9px 14px;text-decoration:none}
.head-cta:hover{background:var(--nuit);color:#fff}
.burger{display:none;margin-left:auto;align-items:center;gap:8px;background:none;border:1px solid var(--fil-2);padding:8px 12px;font:inherit;font-family:var(--f-display);font-weight:650;color:var(--nuit);cursor:pointer}
.burger__bars,.burger__bars::before,.burger__bars::after{display:block;width:18px;height:2px;background:currentColor;position:relative}
.burger__bars::before,.burger__bars::after{content:"";position:absolute;left:0}
.burger__bars::before{top:-6px}.burger__bars::after{top:6px}
@media (max-width:1080px){
  .nav__search{display:none}
}
@media (max-width:900px){
  :root{--head-h:62px}
  .burger{display:flex}
  .head-cta{order:2;font-size:13px;padding:7px 10px}
  .burger{order:3;margin-left:0}
  .brand{margin-right:auto}
  .nav{position:fixed;inset:var(--head-h) 0 0 0;background:var(--blanc);display:none;flex-direction:column;align-items:stretch;overflow-y:auto;padding:16px var(--gutter) 96px;margin:0}
  .nav.is-open{display:flex}
  .nav .menu{flex-direction:column;gap:0}
  .nav .menu>li{border-bottom:1px solid var(--fil)}
  .nav .menu>li>a{font-size:22px;padding:14px 0;font-stretch:76%;text-transform:uppercase;font-weight:800}
  .nav .sub-menu{position:static;display:block;border:0;box-shadow:none;padding:0 0 12px;min-width:0;columns:2;column-gap:12px}
  .nav .sub-menu a{padding:6px 0;font-size:16px}
  .nav__search{display:block;margin-top:16px}
  .nav__search input{width:100%;font-size:17px;padding:12px}
  body.nav-open{overflow:hidden}
}
@media (max-width:420px){.brand__name small{display:none}.head-cta{display:none}}

/* Barre basse mobile */
.dock{display:none}
@media (max-width:900px){
  .dock{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--nuit);padding-bottom:env(safe-area-inset-bottom,0px)}
  .dock a{flex:1;text-align:center;color:#fff;text-decoration:none;font-family:var(--f-display);font-stretch:85%;font-weight:650;font-size:15px;padding:13px 4px;border-right:1px solid rgba(255,255,255,.12)}
  .dock a:last-child{border-right:0;color:var(--antenne)}
  body{padding-bottom:56px}
}

/* ---------- Accueil ---------- */
.hero{position:relative;overflow:hidden;background:var(--nuit);color:#fff}
.hero__iso{position:absolute;right:-60px;bottom:-80px;width:min(760px,90vw);color:#6DB3CF;opacity:.2;pointer-events:none}
.hero__in{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:40px;align-items:center;padding-block:56px 64px}
@media (max-width:900px){.hero__in{grid-template-columns:minmax(0,1fr);padding-block:36px 40px}}
.hero__kicker{font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--antenne);margin:0 0 14px}
.hero h1{color:#fff;font-size:clamp(40px,6.4vw,74px);font-stretch:68%;line-height:.94}
.hero h1 em{font-style:normal;color:var(--bouchon)}
.hero__lede{font-size:19px;opacity:.9;max-width:52ch;margin:18px 0 22px}
.hero__btns{display:flex;flex-wrap:wrap;gap:10px;margin:0}
.btn{display:inline-block;font-family:var(--f-display);font-stretch:88%;font-weight:700;font-size:16px;padding:12px 18px;text-decoration:none;border:0;cursor:pointer}
.btn--hot{background:var(--bouchon-d);color:#fff}.btn--hot:hover{background:var(--bouchon);color:#fff}
.btn--ghost{border:1px solid rgba(255,255,255,.5);color:#fff}.btn--ghost:hover{background:#fff;color:var(--nuit)}
.home-body{padding-block:48px 24px}

/* ---------- Article ---------- */
.article__head{padding-block:28px 26px}
.article__head h1{max-width:24ch}
.chapo{font-size:21px;line-height:1.5;color:var(--nuit-2);max-width:62ch;margin:16px 0 0}
.byline{display:flex;flex-wrap:wrap;gap:6px 18px;font-family:var(--f-mono);font-size:12.5px;color:var(--vase);margin:18px 0 0}
.byline a{color:var(--vase)}
.crumbs ol{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-wrap:wrap;gap:4px;font-family:var(--f-display);font-stretch:92%;font-size:14px;color:var(--vase)}
.crumbs li+li::before{content:"/";margin-right:4px;color:var(--fil-2)}
.crumbs a{color:var(--vase);text-decoration:none}.crumbs a:hover{color:var(--hydro-d);text-decoration:underline}
.article__img{margin:0 auto 8px}
.article__img img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--fil)}
.article__img figcaption{font-family:var(--f-mono);font-size:11.5px;color:var(--vase);padding-top:6px}
.article__body{padding-block:24px 48px}
.article__body.has-toc{display:grid;grid-template-columns:230px minmax(0,var(--prose));gap:56px;justify-content:center}
@media (max-width:1023px){.article__body.has-toc{grid-template-columns:minmax(0,1fr);gap:8px}}
.toc{align-self:start;position:sticky;top:calc(var(--head-h) + 20px);font-family:var(--f-display);font-stretch:92%;font-size:15px}
.toc summary{font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--vase);cursor:pointer;margin-bottom:8px}
.toc ol{list-style:none;margin:0;padding:0;border-left:2px solid var(--fil)}
.toc li a{display:block;padding:5px 0 5px 12px;margin-left:-2px;border-left:2px solid transparent;color:var(--nuit-2);text-decoration:none;line-height:1.3}
.toc li a:hover,.toc li a.is-active{border-left-color:var(--bouchon);color:var(--hydro-d)}
@media (max-width:1023px){.toc{position:static;background:var(--blanc);border:1px solid var(--fil);padding:12px 16px}.toc details:not([open]) summary{margin:0}}

/* ---------- Texte courant ---------- */
.prose{max-width:var(--prose);margin-inline:auto;min-width:0}
.article__body.has-toc .prose{margin-inline:0}
.prose--wide{max-width:var(--max)}
.prose>*+*{margin-top:1.05em}
.prose p,.prose li{max-width:68ch}
.prose h2{margin-top:2.1em;padding-top:.3em}
.prose>h2:first-child{margin-top:0}
.prose h3{margin-top:1.7em}
.prose h2+*,.prose h3+*{margin-top:.6em}
.prose ul,.prose ol{padding-left:1.25em}
.prose li+li{margin-top:.35em}
.prose li::marker{color:var(--hydro)}
.prose strong{font-weight:650}
.prose blockquote{margin-inline:0;padding:4px 0 4px 18px;border-left:3px solid var(--hydro);font-style:italic}
.prose hr{border:0;border-top:1px solid var(--fil);margin-block:2em}
.prose figure{margin-inline:0}
.prose .wp-block-image img{display:block}
.prose .wp-block-image figcaption,.prose figcaption{font-family:var(--f-mono);font-size:12px;color:var(--vase);margin-top:6px}
.tdp-enbref{background:var(--blanc);border:1px solid var(--fil);border-left:6px solid var(--bouchon);padding:16px 20px}
.tdp-enbref>*{margin:0}
.tdp-enbref>*+*{margin-top:.6em}
.tdp-enbref p:first-child{font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--bouchon-d)}
.tdp-enbref ul{padding-left:1.1em}
.tdp-note{background:var(--antenne-l);padding:12px 16px;font-size:16.5px}
.tdp-note>*{margin:0}

/* Tableaux */
.wp-block-table,.table-scroll{overflow-x:auto;margin-inline:0}
.prose table,.tdp-table{width:100%;border-collapse:collapse;font-size:16px;background:var(--blanc);border:1px solid var(--fil)}
.prose th,.prose td,.tdp-table th,.tdp-table td{text-align:left;vertical-align:top;padding:10px 12px;border:0;border-bottom:1px solid var(--fil)}
.prose thead th,.tdp-table thead th{font-family:var(--f-mono);font-weight:500;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--vase);background:var(--papier);border-bottom:2px solid var(--fil-2)}
.prose tbody tr:last-child td{border-bottom:0}
.prose td:first-child{font-weight:600;font-family:var(--f-display);font-stretch:92%}
.wp-block-table figcaption{text-align:left}
@media (max-width:640px){.prose table{font-size:15px}.prose th,.prose td{padding:8px}}

/* Mention partenaire */
.aff-note{font-family:var(--f-mono);font-size:11.5px;line-height:1.5;color:var(--vase);border-top:1px dashed var(--fil-2);padding-top:8px;max-width:none!important}

/* ---------- Carte produit ---------- */
.pcard{background:var(--blanc);border:1px solid var(--fil);border-top:6px solid var(--hydro);padding:16px 18px;display:grid;gap:8px}
.pcard__top{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}
.pcard__type{font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--vase)}
.pcard__badge{background:var(--antenne);color:var(--nuit);font-family:var(--f-mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;padding:2px 8px}
.pcard__name{font-family:var(--f-display);font-weight:750;font-stretch:85%;font-size:23px;line-height:1.12;margin:0!important}
.pcard__why{margin:0!important;font-size:17px}
.pcard__specs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px 16px;margin:4px 0!important}
.pcard__specs div{border-top:1px solid var(--fil);padding-top:4px;min-width:0}
.pcard__specs dt{font-family:var(--f-mono);font-size:11px;color:var(--vase);text-transform:uppercase;letter-spacing:.06em}
.pcard__specs dd{margin:0;font-family:var(--f-display);font-stretch:92%;font-size:16px}
.pcard__limits{font-size:15.5px;color:var(--nuit-2);margin:0!important}
.pcard__foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:4px}
.pcard__aff{font-family:var(--f-mono);font-size:11px;color:var(--vase)}
.pcard__swap{font-size:14px;color:var(--bouchon-d);margin:0!important}
.btn-aff{display:inline-flex;align-items:center;justify-content:center;min-height:48px;background:var(--bouchon-d);color:#fff!important;font-family:var(--f-display);font-stretch:88%;font-weight:700;font-size:16px;padding:10px 18px;text-decoration:none}
.btn-aff::after{content:"";width:10px;height:10px;margin-left:10px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg) translate(-2px,2px)}
.btn-aff:hover{background:var(--nuit)}
.btn-aff--s{min-height:40px;font-size:14.5px;padding:8px 12px;white-space:nowrap}
.tdp-missing{background:var(--bouchon-l);padding:8px 12px}

/* Comparatif */
.ctable{overflow-x:auto}
.ctable__title{font-family:var(--f-display);font-weight:800;font-stretch:80%;text-transform:uppercase;font-size:20px;margin:0 0 8px!important}
.ctable table{min-width:640px}
.ctable td:first-child strong{display:block;font-family:var(--f-display);font-stretch:88%;font-size:17px}
.ctable__type{display:block;font-family:var(--f-mono);font-size:11px;color:var(--vase);text-transform:uppercase;margin-top:2px;font-weight:400}
.ctable__note{font-family:var(--f-mono);font-size:11.5px;color:var(--vase);margin-top:6px!important}
@media (max-width:700px){
  .ctable table{min-width:0;border:0;background:none}
  .ctable thead{display:none}
  .ctable tr{display:grid;gap:4px;background:var(--blanc);border:1px solid var(--fil);border-top:4px solid var(--hydro);padding:12px;margin-bottom:10px}
  .ctable td{border:0;padding:0}
  .ctable td[data-l]:not(:first-child)::before{content:attr(data-l) " : ";font-family:var(--f-mono);font-size:11px;text-transform:uppercase;color:var(--vase)}
  .ctable td:last-child{margin-top:6px}
}

/* Règle */
.rule{background:var(--hydro-l);border-left:6px solid var(--hydro);padding:14px 18px;display:grid;gap:6px}
.rule>*{margin:0!important;max-width:none}
.rule__head{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;font-family:var(--f-mono);font-size:12px}
.rule__tag{background:var(--hydro);color:#fff;padding:2px 8px;letter-spacing:.06em;text-transform:uppercase}
.rule__title{font-family:var(--f-display);font-weight:750;font-stretch:88%;font-size:19px}
.rule__foot{font-size:14px;color:var(--nuit-2)}

/* Fiche poisson */
.fiche{background:var(--blanc);border:1px solid var(--fil);border-top:6px solid var(--nuit)}
.fiche__name{font-family:var(--f-display);font-weight:850;font-stretch:72%;text-transform:uppercase;font-size:28px;margin:0!important;padding:12px 18px 6px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.fiche__name span{font-family:var(--f-mono);font-weight:500;font-stretch:100%;font-size:11px;letter-spacing:.1em;color:var(--vase);text-transform:uppercase}
.fiche dl{margin:0!important;display:grid}
.fiche dl div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;padding:9px 18px;border-top:1px solid var(--fil)}
.fiche dt{font-family:var(--f-mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--vase);padding-top:3px}
.fiche dd{margin:0;font-size:16.5px}
.fiche__foot{font-family:var(--f-mono);font-size:11px;color:var(--vase);padding:8px 18px 12px;margin:0!important;border-top:1px solid var(--fil)}
@media (max-width:560px){.fiche dl div{grid-template-columns:minmax(0,1fr);gap:2px}}

/* Toise */
.toise{background:var(--blanc);border:1px solid var(--fil);padding:14px 14px 10px;margin-inline:0}
.toise__scroll{overflow-x:auto}
.toise svg{display:block;min-width:600px;width:100%}
.toise figcaption{font-family:var(--f-mono);font-size:11.5px;color:var(--vase);margin-top:8px}
.t-rule{fill:var(--antenne)}.t-tick{stroke:var(--nuit);stroke-width:1}.t-num{font-family:var(--f-mono);font-size:11px;fill:var(--nuit);text-anchor:middle}
.t-mark{stroke:var(--bouchon);stroke-width:2;fill:var(--bouchon)}.t-mark--opt{stroke:#9AA7A0;fill:#9AA7A0}
.t-label{font-family:var(--f-display);font-weight:700;font-size:14px;fill:var(--nuit)}

/* Montages */
.montage{background:var(--blanc);border:1px solid var(--fil);margin-inline:0;padding:12px 14px}
.montage__draw{overflow-x:auto}
.montage svg{display:block;min-width:560px;width:100%}
.montage figcaption{font-size:16px;margin-top:8px;font-family:var(--f-body);color:var(--nuit)}
.montage figcaption strong{font-family:var(--f-display);font-stretch:88%}
.montage__specs{list-style:none;padding:0!important;margin:10px 0 0!important;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}
.montage__specs li{border-top:2px solid var(--antenne);padding-top:4px;margin:0!important}
.montage__specs span{display:block;font-family:var(--f-mono);font-size:11px;text-transform:uppercase;color:var(--vase)}
.montage__specs b{font-family:var(--f-display);font-stretch:92%;font-weight:650;font-size:16px}
.m-line{stroke:var(--nuit);stroke-width:2;fill:none}
.m-fluo{stroke:#6DB3CF;stroke-width:2;fill:none}
.m-steel{stroke:#7C8A84;stroke-width:3;fill:none;stroke-dasharray:7 3}
.m-braid{stroke:var(--roseau);stroke-width:3;fill:none}
.m-tube{stroke:#3C4E46;stroke-width:6;fill:none;stroke-linecap:round}
.m-fly{stroke:var(--antenne);stroke-width:6;stroke-linecap:round}
.m-leaderf{fill:#6DB3CF}
.m-water{stroke:var(--hydro);stroke-width:1.5;fill:none;opacity:.7}
.m-bottom{stroke:var(--vase);stroke-width:2;fill:none;stroke-dasharray:2 4}
.m-lead{stroke:var(--fil-2);stroke-width:1}
.m-dot{fill:var(--bouchon)}
.m-dim{stroke:var(--hydro);stroke-width:1.2}
.m-dimt{font-family:var(--f-mono);font-size:11px;fill:var(--hydro-d);text-anchor:middle}
.m-t{font-family:var(--f-display);font-weight:700;font-size:15px;fill:var(--nuit)}
.m-s{font-family:var(--f-mono);font-size:11px;fill:var(--vase)}
.m-ant1{fill:var(--bouchon)}.m-ant2{fill:var(--antenne)}
.m-floatb{fill:var(--nuit)}
.m-leadw{fill:#5D6A64}
.m-metal{fill:none;stroke:#7C8A84;stroke-width:2}.m-metalf{fill:#7C8A84}
.m-bead{fill:var(--bouchon)}
.m-stop{fill:var(--antenne);stroke:var(--nuit);stroke-width:1}
.m-hook{fill:none;stroke:#3C4E46;stroke-width:2.4;stroke-linecap:round}
.m-fish{fill:#B9C6BF;stroke:var(--nuit);stroke-width:1.2}
.m-eye{fill:var(--nuit)}
.m-soft{fill:var(--roseau);stroke:var(--nuit);stroke-width:1}
.m-boilie{fill:var(--antenne);stroke:var(--nuit);stroke-width:1}
.m-cage{fill:none;stroke:var(--nuit);stroke-width:2}
.m-ground{fill:#A88D63;stroke:none}
.m-worm{fill:none;stroke:#B45A5A;stroke-width:5;stroke-linecap:round}

/* Calendrier */
.tdp-cal{display:grid;gap:12px}
.tdp-cal>*{margin:0!important;max-width:none!important}
.tdp-cal__head{font-size:16px;color:var(--nuit-2)}
.tdp-cal__head .eyebrow{display:block;margin-bottom:4px}
.tdp-cal__chart{background:var(--blanc);border:1px solid var(--fil);padding:12px;overflow-x:auto}
.cal-svg{display:block;min-width:680px;width:100%}
.c-grid{stroke:var(--fil);stroke-width:1}
.c-month{font-family:var(--f-mono);font-size:11px;fill:var(--vase)}
.c-label{font-family:var(--f-display);font-weight:650;font-size:13.5px;fill:var(--nuit)}
.c-open{fill:var(--hydro)}.c-all{fill:var(--roseau)}.c-hatch{fill:#9AA7A0}
.c-in{font-family:var(--f-mono);font-size:10.5px;fill:#fff}
.c-note{font-family:var(--f-mono);font-size:10.5px;fill:var(--nuit);paint-order:stroke;stroke:var(--blanc);stroke-width:3px}
.c-today{stroke:var(--bouchon);stroke-width:2;stroke-dasharray:3 3}.c-today-t{font-family:var(--f-mono);font-size:10px;fill:var(--bouchon-d)}
.tdp-cal__legend{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:14px;color:var(--vase)}
.tdp-cal__legend i{display:inline-block;width:18px;height:10px;vertical-align:middle;margin-right:6px}
.k-open{background:var(--hydro)}.k-all{background:var(--roseau)}.k-hatch{background:repeating-linear-gradient(90deg,#9AA7A0 0 3px,transparent 3px 6px)}
.tdp-cal__warn{background:var(--antenne-l);padding:10px 14px;font-size:16px}

/* Mois */
.months{list-style:none;padding:0!important;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}
.months li{margin:0!important;background:var(--blanc);border:1px solid var(--fil);padding:10px 14px;display:grid;gap:2px}
.months li.is-now{border-color:var(--bouchon);box-shadow:inset 0 4px 0 var(--bouchon)}
.months__m{font-family:var(--f-display);font-weight:800;font-stretch:76%;text-transform:uppercase;font-size:18px}
.months__t{font-size:15.5px}

/* Guides (listes de liens) */
.guides__title{font-family:var(--f-display);font-weight:800;font-stretch:80%;text-transform:uppercase;font-size:20px;margin:0 0 8px!important}
.guides ul{list-style:none;padding:0!important;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.guides li{margin:0!important;max-width:none}
.guides a{display:grid;gap:4px;height:100%;background:var(--blanc);border:1px solid var(--fil);border-top:4px solid var(--hydro);padding:12px 14px;text-decoration:none;color:var(--nuit)}
.guides a:hover{border-top-color:var(--bouchon)}
.guides__name{font-family:var(--f-display);font-weight:750;font-stretch:86%;font-size:19px;line-height:1.15}
.guides__desc{font-size:15px;color:var(--vase);line-height:1.45}

/* Sélecteur */
.selector{background:var(--papier);color:var(--nuit);border-top:6px solid var(--bouchon);padding:18px;display:grid;gap:12px}
.selector__eyebrow{font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--vase);margin:0}
.selector fieldset{border:0;padding:0;margin:0;min-width:0}
.selector legend{font-family:var(--f-display);font-stretch:88%;font-weight:700;font-size:15px;margin-bottom:6px;padding:0}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{font-family:var(--f-display);font-stretch:90%;font-weight:600;font-size:15px;border:1px solid var(--fil-2);background:var(--blanc);color:var(--nuit);padding:7px 11px;cursor:pointer;min-height:40px}
.chip:hover{border-color:var(--nuit)}
.chip[aria-pressed="true"]{background:var(--nuit);border-color:var(--nuit);color:#fff}
.selector__out{border-top:1px dashed var(--vase);padding-top:12px;display:grid;gap:10px;font-size:16px}
.selector__out:empty{display:none}
.sel-specs{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:6px 14px}
.sel-specs li{font-family:var(--f-display);font-stretch:90%;font-size:15.5px;border-left:3px solid var(--hydro);padding-left:8px;line-height:1.3}
.sel-prods{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.sel-prods a{display:flex;justify-content:space-between;gap:10px;align-items:center;background:var(--blanc);border:1px solid var(--fil);padding:8px 10px;color:var(--nuit);text-decoration:none;font-size:15px}
.sel-prods a:hover{border-color:var(--bouchon)}
.sel-prods small{font-family:var(--f-mono);font-size:10.5px;color:var(--vase);text-transform:uppercase;display:block}
.sel-prods em{font-style:normal;font-family:var(--f-display);font-weight:700;color:var(--bouchon-d);white-space:nowrap;font-size:14px}
.sel-guide{font-family:var(--f-display);font-weight:700;font-stretch:90%}
.selector__note{font-family:var(--f-mono);font-size:10.5px;color:var(--vase);margin:0}
.hero .selector{box-shadow:0 20px 50px rgba(0,0,0,.25)}

/* Sources, suite */
.sources{margin-top:3em!important;border-top:1px solid var(--fil);padding-top:8px}
.sources h2{font-size:20px;margin-top:.6em!important}
.sources ul{font-size:15.5px}
.next{padding-block:8px 56px}
.next h2{font-size:24px;margin-bottom:12px}
.next__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.next__list a{display:grid;gap:6px;height:100%;background:var(--nuit);color:#fff;padding:14px 16px;text-decoration:none}
.next__list a:hover{background:var(--hydro-d)}
.next__hub{font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--antenne)}
.next__t{font-family:var(--f-display);font-stretch:86%;font-weight:700;font-size:19px;line-height:1.15}

/* Listes d'articles, recherche */
.post-list{list-style:none;padding:0!important;display:grid;gap:8px}
.post-list a{display:grid;gap:2px;background:var(--blanc);border:1px solid var(--fil);padding:12px 16px;text-decoration:none;color:var(--nuit)}
.post-list__t{font-family:var(--f-display);font-weight:750;font-stretch:86%;font-size:20px}
.post-list__d{font-size:15.5px;color:var(--vase)}
.searchform{display:flex;gap:8px;margin-top:18px;max-width:560px}
.searchform input{flex:1;min-width:0;font:inherit;font-size:17px;padding:10px 12px;border:1px solid var(--fil-2);background:var(--blanc);color:var(--nuit)}
.searchform button{font-family:var(--f-display);font-weight:700;background:var(--nuit);color:#fff;border:0;padding:10px 16px;cursor:pointer}
.nav-links{display:flex;gap:10px;margin-top:20px;font-family:var(--f-display)}

/* ---------- Pied de page ---------- */
.site-foot{background:var(--nuit);color:#D6E0DB;margin-top:24px}
.site-foot a{color:#fff;text-decoration:none}.site-foot a:hover{color:var(--antenne);text-decoration:underline}
.site-foot__in{max-width:var(--max);margin-inline:auto;padding:48px var(--gutter) 32px;display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:32px}
@media (max-width:900px){.site-foot__in{grid-template-columns:1fr 1fr}.foot-about{grid-column:1/-1}}
@media (max-width:520px){.site-foot__in{grid-template-columns:1fr}}
.brand--foot{color:#fff;margin:0 0 12px}.brand--foot .logo-mark{color:#fff}
.foot-about p{font-size:16px;margin:0 0 10px}
.foot-aff{font-family:var(--f-mono);font-size:11.5px!important;color:#9DB1A9}
.foot-col__t{font-family:var(--f-display);font-weight:800;font-stretch:76%;text-transform:uppercase;font-size:18px;color:#fff;margin:0 0 10px}
.foot-col ul{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:16px}
.site-foot__bar{max-width:var(--max);margin-inline:auto;padding:16px var(--gutter) 28px;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;gap:8px 20px;font-family:var(--f-mono);font-size:12px;align-items:center}
.foot-menu{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media print{.site-head,.dock,.site-foot,.toc,.next,.btn-aff{display:none!important}body{background:#fff}}
.tdp-todo{display:inline-block;background:var(--bouchon-l);border:1px dashed var(--bouchon-d);padding:2px 8px;font-family:var(--f-mono);font-size:13px}
.m-numc{fill:var(--bouchon-d)}.m-numt{font-family:var(--f-display);font-weight:800;font-size:12px;fill:#fff;text-anchor:middle}
