/* od-base.css — chrome du site (en-tête, menu, drap mobile, pied), formulaire de recherche, 404. Agent 1, 23/10/2026.
   Les jetons (couleurs, polices, .od-bande, .od-leg, .od-num, .od-btn, Tracé) vivent dans od-tokens.css : ne rien y redéfinir. */
body.od-site{margin:0}
.od-evitement:focus{position:fixed;left:12px;top:12px;width:auto;height:auto;clip:auto;z-index:300;background:#fff;color:var(--od-encre);padding:12px 16px;border-radius:var(--od-r);box-shadow:0 0 0 2px var(--od-bleu)}
/* ── en-tête ── */
.odh{position:sticky;top:0;z-index:60;background:#fff;border-bottom:1px solid var(--od-celadon);height:76px;transition:height .2s ease,background .2s ease}
.odh.est-reduit{height:60px;background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.odh-in{max-width:calc(var(--od-w) + 2*var(--od-g));margin:0 auto;padding:0 var(--od-g);height:100%;display:flex;align-items:center;gap:32px;box-sizing:border-box}
.odh-logo{display:block;flex:none;line-height:0;text-decoration:none}
.odh-logo .od-logo{height:44px;width:auto;display:block;transition:height .2s ease}
.odh.est-reduit .odh-logo .od-logo{height:36px}
.odh-nav{flex:1;display:flex;justify-content:center}
.odh-nav ul{display:flex;gap:30px;margin:0;padding:0;list-style:none}
.odh-nav a{position:relative;display:flex;align-items:center;min-height:44px;font:500 15px/1 var(--od-texte);color:var(--od-encre)!important;text-decoration:none;padding:0 2px;text-decoration:underline 2px transparent;text-underline-offset:10px;transition:text-decoration-color .18s ease,color .18s ease}
.odh-nav a:hover{text-decoration-color:var(--od-celadon);color:var(--od-bleu)!important}
.odh-nav a[aria-current]{text-decoration-color:transparent}
.odh-s{position:absolute;left:50%;bottom:2px;transform:translateX(-50%)}
.odh-cta{flex:none;font-size:15px;padding:0 18px;margin-left:auto}
.odh-pt{width:9px;height:9px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.4);transition:transform .18s ease;flex:none}
.odh-cta:hover .odh-pt,.odh-drap-cta:hover .odh-pt,.odx-appel-btn:hover .odh-pt{transform:translateX(2px)}
.odh-cta-court{display:none}
.odh-menu{display:none;min-height:44px;padding:0 4px;background:none;border:0;font:600 15px/1 var(--od-texte);color:var(--od-encre);cursor:pointer}
.odh-drap{position:fixed;inset:0;z-index:200;background:#fff;display:flex;flex-direction:column;padding:0 var(--od-g) 24px;overflow-y:auto;transform:translateY(-100%);transition:transform .35s cubic-bezier(.4,0,.2,1);overscroll-behavior:contain}
.odh-drap[hidden]{display:none}
.odh-drap.est-ouvert{transform:none}
.odh-drap-haut{display:flex;align-items:center;justify-content:space-between;height:60px;flex:none;position:relative;z-index:1}
.odh-drap-liste{list-style:none;margin:28px 0 28px;padding:0;position:relative;z-index:1}
.odh-drap-liste a{display:flex;align-items:baseline;gap:18px;min-height:56px;padding:6px 0;font:400 34px/1.2 var(--od-titre);color:var(--od-encre)!important;text-decoration:none;border-bottom:1px solid var(--od-eau)}
.odh-drap-liste a[aria-current]{color:var(--od-bleu)!important}
.odh-drap-liste .od-num{font-size:20px;min-width:30px}
.odh-drap-cta{margin-top:auto;width:100%;justify-content:center;min-height:52px;position:relative;z-index:1}
.odh-fili{position:absolute;right:-30px;top:70px;height:78%;width:auto;pointer-events:none}
.odh-fili path{fill:none;stroke:var(--od-celadon);stroke-width:3;stroke-linecap:round;opacity:.55}
body.odh-lock{overflow:hidden}
@media (max-width:1100px){
  .odh,.odh.est-reduit{height:60px}
  .odh-in{gap:12px}
  .odh-logo .od-logo,.odh.est-reduit .odh-logo .od-logo{height:32px}
  .od-logo-sous{display:none}
  .odh-nav{display:none}
  .odh-cta{margin-left:auto;padding:0 14px;min-height:44px}
  .odh-cta-long{display:none}.odh-cta-court{display:inline}
  .odh-menu{display:block}
}
@media (max-width:360px){.odh-in{gap:6px}.odh-logo .od-logo{height:28px}}
/* ── formulaire de recherche (accueil, 404, articles) ── */
.od-rech{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;background:#fff;border:1px solid var(--od-celadon);border-radius:var(--od-rc);padding:18px;box-shadow:0 12px 32px rgba(14,42,44,.07)}
.od-rech-c{display:flex;flex-direction:column;gap:6px;min-width:0}
.od-rech label{font:600 12px/1.2 var(--od-texte);letter-spacing:.12em;text-transform:uppercase;color:var(--od-lichen)}
.od-rech select,.od-rech input[type=text]{width:100%;box-sizing:border-box;height:48px;padding:0 14px;border:1px solid var(--od-celadon);border-radius:var(--od-r);background:#fff;color:var(--od-encre);font:400 16px/1 var(--od-texte);-webkit-appearance:none;appearance:none}
.od-rech select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%231D5E58' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;text-overflow:ellipsis}
.od-rech input::placeholder{color:var(--od-lichen);opacity:1}
.od-rech select:focus,.od-rech input:focus{outline:3px solid var(--od-bleu);outline-offset:1px;border-color:var(--od-bleu)}
.od-rech .od-btn{height:48px;min-height:48px;padding:0 26px}
@media (max-width:680px){.od-rech{grid-template-columns:1fr;padding:16px}.od-rech .od-btn{width:100%;justify-content:center}}
/* ── pied de page ── */
.odf{background:var(--od-eau);color:var(--od-encre);font-size:15px;line-height:1.5}
.odf-trait{position:relative;height:28px;max-width:calc(var(--od-w) + 2*var(--od-g));margin:0 auto;padding:0 var(--od-g);box-sizing:border-box}
.odf-trait svg{position:absolute;left:var(--od-g);top:10px;width:calc(100% - 2*var(--od-g) - 6px);height:18px;overflow:visible}
.odf-trait path{fill:none;stroke:var(--od-sarcelle);stroke-width:1.6;stroke-linecap:round;vector-effect:non-scaling-stroke}
.odf-trait i{position:absolute;top:13px;right:var(--od-g);width:12px;height:12px;border-radius:50%;background:var(--od-bleu);box-shadow:0 0 0 3px var(--od-eau)}
.odf-in{max-width:calc(var(--od-w) + 2*var(--od-g));margin:0 auto;padding:6px var(--od-g) 24px;display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:32px;box-sizing:border-box}
.odf-marque p{margin:12px 0 0;max-width:360px;color:var(--od-encre)}
.odf-marque .od-logo{height:44px}
.odf-col summary{list-style:none;cursor:default;font:600 12px/1.2 var(--od-texte);letter-spacing:.14em;text-transform:uppercase;color:var(--od-sarcelle);margin:0 0 10px;pointer-events:none}
.odf-col summary::-webkit-details-marker{display:none}
.odf-col ul{list-style:none;margin:0;padding:0}
.odf-col li{margin:0}
.odf-col a{display:inline-block;padding:3px 0;color:var(--od-encre)!important;text-decoration:underline 1px transparent;text-underline-offset:4px;transition:text-decoration-color .18s}
.odf-col a:hover{text-decoration-color:var(--od-sarcelle)}
.odf-bas{border-top:1px solid var(--od-celadon)}
.odf-bas-in{max-width:calc(var(--od-w) + 2*var(--od-g));margin:0 auto;padding:14px var(--od-g);box-sizing:border-box;display:flex;justify-content:space-between;gap:24px;font-size:13px;line-height:1.5;color:var(--od-lichen)}
.odf-bas p{margin:0}
@media (max-width:760px){
  .odf-in{grid-template-columns:1fr;gap:0;padding-bottom:12px}
  .odf-marque{padding-bottom:14px}
  .odf-col{border-top:1px solid var(--od-celadon)}
  .odf-col summary{pointer-events:auto;cursor:pointer;display:flex;justify-content:space-between;align-items:center;min-height:48px;margin:0}
  .odf-col summary::after{content:"+";font:400 22px/1 var(--od-titre);color:var(--od-bleu)}
  .odf-col[open] summary::after{content:"–"}
  .odf-col ul{padding-bottom:10px}
  .odf-col a{padding:8px 0}
  .odf-bas-in{flex-direction:column;gap:6px}
}
/* ── 404 : le trait s'interrompt ── */
.od-404{background:#fff;padding:64px 0}
.od-404-in{max-width:calc(var(--od-w) + 2*var(--od-g));margin:0 auto;padding:0 var(--od-g);box-sizing:border-box;display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center}
.od-404 h1{font-size:56px;line-height:60px;margin:18px 0 16px}
.od-404-chapo{font-size:20px;line-height:1.5;color:var(--od-lichen);margin:0 0 28px}
.od-404-liens{margin:24px 0 0;display:flex;gap:12px;flex-wrap:wrap}
.od-404-vis{display:flex;justify-content:center}
.od-404-vis .od-trace{height:480px;width:auto}
.od-trace-coupe .od-trace-ligne{stroke-dasharray:1000;stroke-dashoffset:540}
.od-trace-coupe .od-trace-onde,.od-trace-coupe .od-station{display:none}
.od-trace-coupe .od-station[data-n="1"],.od-trace-coupe .od-station[data-n="2"],.od-trace-coupe .od-station[data-n="3"]{display:block}
@media (max-width:860px){.od-404{padding:40px 0}.od-404-in{grid-template-columns:1fr;gap:28px}.od-404 h1{font-size:36px;line-height:40px}.od-404-vis .od-trace{height:260px}}
.od-trace-mini .od-trace-onde,.od-trace-mini .od-trace-paroi{display:none}
.od-trace-mini .od-trace-ligne{stroke-width:5}.od-trace-mini .od-station-halo{display:none}.od-trace-mini .od-station-pt{r:7;stroke-width:3}
.od-trace-mini .od-station:not(.est-actif) .od-station-pt{fill:var(--od-celadon)}
.od-trace-mini .od-station.est-actif .od-station-pt{r:12;fill:var(--od-bleu)}
@media (prefers-reduced-motion:reduce){.odh,.odh-drap,.odh-logo .od-logo{transition:none}.odh-nav a,.odf-col a,.odh-pt{transition:none}}

.od-site .od-btn{box-sizing:border-box}
@media (max-width:640px){.odh-fili{top:auto;bottom:96px;height:50%;right:-50px;opacity:.7}}
