:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}body{margin:0}img{max-width:100%}[hidden]{display:none!important}
:root{color-scheme:only light}

/* Layout: travel-magazine pages on ivory; serif titles, hairline rules, one blue action colour, terracotta kept for editorial marks only. */
:root{
  --bg:#FAF8F3; --card:#FFFDFA; --ink:#112F45; --text:#334550; --muted:#55656F; --act:#006B8F; --act-ink:#FFFFFF;
  --terra:#A94F35; --terra-t:#A94F35; --sand:#EEE7DB; --line:#D8D1C5; --deep:#112F45;
  --serif:"Fraunces",Georgia,"Times New Roman",serif; --sans:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif; --r:8px;
}


*{box-sizing:border-box}
body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:17px;line-height:1.65}
.wrap{max-width:1140px;margin-inline:auto;padding-inline:20px}
h1,h2,h3{font-family:var(--serif);color:var(--ink);line-height:1.1;margin:0;font-weight:700;text-wrap:balance;letter-spacing:-.01em}
h1{font-size:clamp(38px,6.4vw,76px)} h2{font-size:clamp(28px,3.6vw,42px)} h3{font-size:22px}
p{margin:0} a{color:inherit} button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--terra);outline-offset:2px}
.kicker{font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--terra-t)}
.muted{color:var(--muted)} .small{font-size:14.5px}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--act);color:var(--act-ink);border:1px solid var(--act);border-radius:var(--r);padding:12px 20px;font-weight:700;text-decoration:none}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn.sm{padding:7px 12px;font-size:14.5px}
.linkb{background:none;border:0;padding:0;color:var(--act);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.tag{display:inline-block;font-size:12.5px;font-weight:700;border:1px solid var(--line);border-radius:999px;padding:2px 10px;background:var(--card)}
.tag.warn{border-color:var(--terra);color:var(--terra-t)}
/* header */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--bg);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:14px;padding-block:10px;flex-wrap:wrap}
.logo{font-family:var(--serif);font-weight:700;font-size:23px;color:var(--ink);text-decoration:none;letter-spacing:-.02em}
.logo i{font-style:italic;color:var(--terra-t)}
.nav{display:flex;gap:18px;flex-wrap:wrap;font-size:15px;font-weight:600;margin-inline-start:8px}
.nav a{text-decoration:none}.nav a:hover,.nav a[aria-current]{text-decoration:underline;text-decoration-color:var(--terra);text-decoration-thickness:2px;text-underline-offset:6px}
.tools{display:flex;gap:8px;align-items:center;margin-inline-start:auto;flex-wrap:wrap}
.tools input,.tools select{border:1px solid var(--line);background:var(--card);border-radius:var(--r);padding:7px 10px;font-size:14.5px;min-width:0}
.tools input{width:150px}
#menu{display:none}
@media (max-width:900px){#menu{display:inline-flex}.nav{display:none;order:9;flex-basis:100%;flex-direction:column;gap:10px;margin:6px 0}.nav.open{display:flex}.tools input{width:110px}}
/* generic */
section{padding-block:60px;border-top:1px solid var(--line)}
section.first{border-top:0}
.head{display:flex;flex-direction:column;gap:10px;margin-bottom:28px;max-width:62ch}
.g2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:36px 48px}
.g3{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}
.g2>*,.g3>*{min-width:0}
/* hero */
.hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:36px;align-items:center;padding-block:44px 52px}
.hero>*{min-width:0}
.hero .txt{display:flex;flex-direction:column;gap:18px}
.hero .lede{font-size:20px;max-width:46ch}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.timebox{border:1px solid var(--line);background:var(--card);border-radius:var(--r);padding:16px;display:flex;flex-direction:column;gap:10px}
.timebox b{font-family:var(--serif);font-size:19px;color:var(--ink)}
.pic{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;max-width:100%;background:#0b5a6b}
.pic svg,.pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pic .sky{position:absolute;inset:0;background:linear-gradient(180deg,#062635 0%,#0b5a6b 40%,#1b8f95 60%,#f2b84b 78%)}
.note-chip{position:absolute;inset-inline-start:12px;bottom:12px;background:rgba(6,38,53,.82);color:#fff;font-size:13px;font-weight:600;padding:5px 10px;border-radius:6px;max-width:calc(100% - 24px)}
.note-chip.tr{bottom:auto;top:12px}
.beam{transform-box:view-box;transform-origin:110px 209px;animation:beam 9s ease-in-out infinite alternate}
@keyframes beam{from{transform:rotate(-8deg)}to{transform:rotate(6deg)}}
@media (prefers-reduced-motion:reduce){.beam{animation:none}}
/* photo slots */
.slot{position:relative;aspect-ratio:3/2;max-width:100%;border-radius:var(--r);overflow:hidden;background:var(--sand);display:flex;align-items:center;justify-content:center;text-align:center;padding:10px}
.slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.slot .ph{font-size:12.5px;font-weight:600;color:var(--muted)}
.slot button{position:absolute;inset-inline-end:8px;bottom:8px;background:var(--ink);color:var(--bg);border:0;border-radius:6px;padding:5px 10px;font-size:13px;font-weight:700}
.slot.round{width:96px;aspect-ratio:1;border-radius:50%;flex:none}
.slot.round button{position:static}
/* envies */
.envies{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--line)}
.envies a{background:var(--card);padding:20px;text-decoration:none;display:flex;flex-direction:column;gap:4px;margin:0 -1px -1px 0;border:1px solid var(--line);min-width:0}
.envies a:hover{background:var(--sand)}
.envies b{font-family:var(--serif);font-size:21px;color:var(--ink)}
/* itineraries */
.itin{border-top:3px solid var(--ink);padding-top:16px;display:flex;flex-direction:column;gap:10px}
.itin .big{font-family:var(--serif);font-size:54px;line-height:1;color:var(--terra-t)}
.facts{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:15px;margin:0}
.facts dt{color:var(--muted)} .facts dd{margin:0;font-weight:600}
/* cards & lists */
.place{display:flex;flex-direction:column;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px}
.place h3 a{text-decoration:none}.place h3 a:hover{text-decoration:underline}
.meta{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.rows{display:flex;flex-direction:column}
.rows>a,.rows>div{display:grid;grid-template-columns:1fr auto;gap:4px 16px;padding-block:16px;border-top:1px solid var(--line);text-decoration:none;align-items:baseline}
.rows>a:hover b{text-decoration:underline}
.rows b{font-family:var(--serif);font-size:21px;color:var(--ink);font-weight:700}
.rows span{grid-column:1;color:var(--muted);font-size:15.5px}
.empty{border:1px dashed var(--line);border-radius:var(--r);padding:22px;background:var(--card);max-width:70ch}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}
.filters label{display:flex;flex-direction:column;gap:3px;font-size:13px;font-weight:700;color:var(--muted);max-width:100%;min-width:0}
.filters select,.form input,.form select,.form textarea{border:1px solid var(--line);background:var(--card);border-radius:var(--r);padding:9px 11px;min-width:0;max-width:100%}
.map{border:1px solid var(--line);border-radius:var(--r);background:var(--card);padding:8px}
.map svg{display:block;width:100%;height:auto;direction:ltr}
.map .pt{fill:var(--act)} .map .st{fill:var(--terra)} .map .num{fill:#fff;font:700 12px var(--sans)} .map .lb{fill:var(--text);font:600 11px var(--sans)}
.map .rt{fill:none;stroke:var(--terra);stroke-width:2;stroke-dasharray:5 4}
.map .land{fill:var(--sand);stroke:var(--ink);stroke-width:1.2;stroke-linejoin:round} .map .rail{fill:none;stroke:var(--terra);stroke-width:2.5;stroke-dasharray:6 4}
/* article */
.art{display:grid;grid-template-columns:minmax(0,1fr);gap:32px}
@media (min-width:980px){.art.has-toc{grid-template-columns:minmax(0,68ch) 240px;justify-content:space-between}.toc{position:sticky;top:90px;align-self:start}}
.art .body{display:flex;flex-direction:column;gap:20px;max-width:68ch}
.art .body h2{font-size:28px;margin-top:10px}
.intro{font-size:20px;color:var(--ink)}
.essentiel{background:var(--sand);border-radius:var(--r);padding:18px 20px}
.essentiel ul,.plain{margin:8px 0 0;padding-inline-start:1.2em;display:flex;flex-direction:column;gap:6px}
.toc{border-inline-start:2px solid var(--line);padding-inline-start:14px;display:flex;flex-direction:column;gap:8px;font-size:15px}
.toc button{background:none;border:0;padding:0;text-align:start;color:var(--muted)} .toc button:hover{color:var(--ink)}
details{border-top:1px solid var(--line);padding-block:12px} summary{font-weight:700;color:var(--ink);cursor:pointer}
.byline{font-size:14.5px;color:var(--muted);display:flex;gap:6px 14px;flex-wrap:wrap}
/* planner */
.form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.form label,.form fieldset{display:flex;flex-direction:column;gap:5px;font-size:14px;font-weight:700;min-width:0;border:0;padding:0;margin:0}
.form fieldset{grid-column:1/-1}
.checks{display:flex;gap:8px;flex-wrap:wrap}
.checks label{flex-direction:row;align-items:center;gap:6px;font-weight:600;border:1px solid var(--line);border-radius:999px;padding:5px 12px;background:var(--bg)}
.form textarea{min-height:130px}
.steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.steps li{display:grid;grid-template-columns:44px 1fr;gap:4px 12px;padding-block:16px;border-top:1px solid var(--line)}
.steps .n{font-family:var(--serif);font-size:30px;line-height:1;color:var(--terra-t);font-variant-numeric:tabular-nums}
.steps .leg{grid-column:2;font-size:14.5px;color:var(--muted)}
.day-h{font-family:var(--serif);font-size:24px;color:var(--ink);margin-top:18px}
.final{background:var(--ink);color:var(--bg);border-radius:var(--r);padding:clamp(24px,5vw,52px);display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.final h2{color:var(--bg)} .final .btn{background:var(--bg);color:var(--ink);border-color:var(--bg)}
.founder{display:flex;gap:16px;align-items:center}
.tel{font-family:var(--serif);font-size:24px;color:var(--ink);user-select:all;font-variant-numeric:tabular-nums}
#toast{position:fixed;inset-inline:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));max-width:420px;background:var(--ink);color:var(--bg);padding:10px 14px;border-radius:6px;z-index:30}
.pic .sky{background:linear-gradient(180deg,#062635 0%,#0b5a6b 45%,#1b8f95 68%,#f2b84b 84%)}
.envies{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));background:var(--card)}
.rows span:not(.tag){grid-column:1}
.rows .tag{grid-column:2;grid-row:1;justify-self:end;white-space:nowrap}
.rows>a,.rows>div{grid-template-columns:minmax(0,1fr) auto}
.itin .btn,.place .btn{align-self:flex-start}
/* === Direction artistique définitive : « La lumière du détroit » === */


body{font-size:17.5px;line-height:1.6}
.wrap{padding-inline:22px}
h1{font-size:clamp(40px,5.2vw + 14px,78px);font-weight:500;letter-spacing:-.02em;line-height:1.04}
h2{font-size:clamp(28px,2.4vw + 14px,42px);font-weight:500}
h3{font-weight:500}
.small{font-size:14px}
a,button,.btn{transition:color .18s,background-color .18s,border-color .18s,transform .18s}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
.btn{min-height:48px;border-radius:7px;padding:0 22px}
.btn.sm{min-height:40px;padding:0 14px}
.btn:hover{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.arrow{color:var(--act);font-weight:700;text-underline-offset:4px}
.arrow::after{content:"→";display:inline-block;margin-inline-start:8px;transition:transform .18s}
.arrow:hover::after{transform:translateX(4px)}
.top .wrap{min-height:80px;max-width:1340px}
.nav{gap:16px;font-size:14.5px}
.tools input{width:104px}
.nav{gap:14px}
.logo{display:flex;align-items:center;gap:9px}
.logo svg{width:30px;height:20px;flex:none}
.logo i{font-style:normal;color:var(--terra)}
@media (min-width:901px){.nav{margin-inline:auto}.tools{margin-inline-start:0}}
section{padding-block:72px}
.hero2{display:grid;gap:32px;padding-block:32px 28px;align-items:center}
@media (min-width:640px){.hero2{grid-template-columns:minmax(0,42fr) minmax(0,58fr);gap:clamp(24px,4vw,56px);padding-block:clamp(32px,5vw,56px) 40px}}
.hot{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:22px}
@media (min-width:520px){.hot{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1000px){.hot{grid-template-columns:repeat(6,minmax(0,1fr))}}
.hot a{background:var(--deep);color:#fff;border-radius:8px;padding:14px 16px;text-decoration:none;display:flex;flex-direction:column;gap:2px;font-weight:700;min-width:0;overflow-wrap:anywhere;hyphens:auto}
.hot a span{font-weight:400;font-size:13.5px;color:#D3DBE1}
.hot a:hover{background:var(--act);transform:translateY(-2px)}
.hot a.acc{background:#A94F35}
.hot a.acc span{color:#FBEDE6}
.hot a.acc:hover{background:#8C3F28}
.hero2 .txt{display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.hero2 .lede{font-size:19px;max-width:40ch}
figure{margin:0}
figcaption{font-size:13.5px;color:var(--muted);margin-top:8px}
.pic{border-radius:10px;aspect-ratio:4/3;background:var(--sand)}
@media (max-width:639px){.pic{aspect-ratio:16/10}}
section.qs{padding-block:0 56px;border-top:0}
.quick{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;align-items:end;border-block:1px solid var(--line);padding-block:20px}
.quick label{display:flex;flex-direction:column;gap:5px;font-size:13.5px;font-weight:700;color:var(--muted);min-width:0}
.quick select{min-height:48px;border:1px solid var(--line);border-radius:7px;background:var(--card);padding:0 12px;color:var(--text);font-size:16px;min-width:0;max-width:100%}
.ways{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:0 56px}
.ways a{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-block:18px;border-top:1px solid var(--line);text-decoration:none;font-family:var(--serif);font-size:24px;color:var(--ink)}
.ways a:hover{color:var(--act)}
.ways a::after{font-family:var(--sans);font-size:18px;color:var(--act)}
.quart{display:grid;gap:32px}
@media (min-width:900px){.quart{grid-template-columns:1.5fr 1fr}.quart>:first-child{grid-row:1/3}}
.quart article{display:flex;flex-direction:column;gap:10px;min-width:0;align-items:flex-start}
.quart .slot{width:100%;aspect-ratio:16/9}
.quart>:first-child .slot{aspect-ratio:4/3}
.feature{display:grid;gap:28px;align-items:center}
@media (min-width:900px){.feature{grid-template-columns:1.1fr 1fr;gap:56px}}
.feature>*{min-width:0}
.feature .txt{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.index{columns:2 300px;column-gap:56px}
.index a{display:flex;gap:16px;align-items:baseline;break-inside:avoid;padding-block:16px;border-top:1px solid var(--line);text-decoration:none}
.index small{width:8.5em;flex:none;font-size:13.5px;font-weight:700;color:var(--terra)}
.index b{font-family:var(--serif);font-size:22px;font-weight:500;color:var(--ink)}
.index a:hover b{color:var(--act)}
.place{background:none;border:0;padding:0;border-radius:0}
.slot{aspect-ratio:4/3;border-radius:8px}
.itin{border-top:0;padding-top:24px;background:radial-gradient(circle,var(--terra) 3px,transparent 3.5px) 0 0/22px 8px repeat-x}
.itin .big{font-weight:500}
.art .body{max-width:720px}
.rows b{font-weight:500}
.map a .pt{transition:fill .18s}
.map a.on .pt,.map a:hover .pt{fill:var(--terra)}
.rows a.on b,[data-pin].on h3 a{color:var(--act);text-decoration:underline}
.mapd{border:0;padding:0}
.mapd>summary{display:inline-flex;align-items:center;min-height:48px;padding:0 18px;border:1px solid var(--ink);border-radius:7px;margin-bottom:14px}
@media (min-width:900px){.mapd>summary{display:none}.steps2{grid-template-columns:1fr 1fr}}
.steps2{display:grid;gap:36px 56px;align-items:start}
.steps2>*{min-width:0}
.sub{border-top:1px solid var(--line);padding-block:20px;display:flex;flex-direction:column;gap:10px;align-items:flex-start;max-width:760px}
.sub details{width:100%}
.chipsx{display:flex;flex-wrap:wrap;gap:10px}
.lrow{display:flex;flex-direction:column;gap:6px;padding-block:18px;border-top:1px solid var(--line);align-items:flex-start}
.lrow h3{font-size:23px}
.lrow .price{font-weight:700;color:var(--ink)}
.band{background:var(--sand);border-radius:10px;padding:28px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.mini{list-style:none;padding:0;margin:0 0 16px}
.mini li{padding-block:10px;border-top:1px solid var(--line)}
.mini b{color:var(--ink)}
.me{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.me>div:last-child{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.inl{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.inl input{border:1px solid var(--line);background:var(--card);border-radius:7px;padding:6px 9px;font-size:14px;min-width:0;width:170px;max-width:100%}
.itin.who{background:var(--sand);border-radius:10px;padding:22px}
.util{background:var(--deep);color:#E6E0D4;font-size:13.5px}
.util .wrap{display:flex;justify-content:space-between;gap:4px 18px;flex-wrap:wrap;padding-block:8px;max-width:1340px}
.util b,.util a{color:#fff}
@media (max-width:900px){
  #menu{display:none}
  .tools{margin-inline-start:auto}
  .nav{display:flex;order:9;flex-basis:100%;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;gap:8px;margin:2px 0;padding-bottom:8px;scrollbar-width:thin}
  .nav a{flex:none;border:1px solid var(--line);border-radius:999px;padding:7px 15px;background:var(--card)}
  .nav a[aria-current]{background:var(--ink);color:var(--bg);border-color:var(--ink);text-decoration:none}
}
@media (max-width:520px){.tools a[data-h="proposer"]{display:none}.tools input{width:92px}}
.band .kicker,.essentiel .kicker,.itin.who .kicker{color:var(--ink)}
.crumbs{font-size:14px;color:var(--muted);padding-top:22px}
.crumbs a{color:var(--act)}
.crumbs+section.first{padding-top:28px}
.top{position:static}
.nav{scrollbar-width:none}.nav::-webkit-scrollbar{display:none}
@media (max-width:640px){
  .top .wrap{gap:10px;padding-block:10px;min-height:0}
  .tools{flex-basis:100%;margin-inline-start:0;flex-wrap:nowrap}
  .tools form{flex:1;min-width:0}.tools input{width:100%!important}
  .tools a[href="#proposer"],.tools a[data-h="proposer"]{display:none}
  .nav{margin:0}
}
.linkb,.arrow{display:inline-flex;align-items:center;min-height:36px}
.nav a{min-height:38px;display:inline-flex;align-items:center}
.fl a{display:inline-flex;align-items:center;min-height:36px}
.legal{color:#E6E0D4}
.legal a{color:#FFFFFF}
footer{background:var(--deep);color:#F3EFE7;border-top:0;font-size:15px}
footer .wrap{padding-block:56px 44px;gap:22px}
footer .fl a{color:#FFFFFF}
footer .muted{color:#C6D0D8}
footer .wrap{padding-block:36px;display:flex;flex-direction:column;gap:18px}
.legal{font-size:13.5px;line-height:1.6;color:var(--text);max-width:92ch}
.legal a{color:var(--ink);font-weight:700;text-decoration:underline;text-underline-offset:3px;display:inline-block;padding-block:4px}
.prose{display:flex;flex-direction:column;gap:16px;max-width:70ch}
.fl{display:flex;gap:8px 22px;flex-wrap:wrap}
.fl a{text-decoration:none;font-weight:600}.fl a:hover{text-decoration:underline}
@media print{header,footer,.noprint,.skip,.toast,nav.toc,#adm{display:none!important}body{background:#fff}main.wrap{max-width:none;padding:0}.g2{display:block}.map{break-inside:avoid}a{color:#000;text-decoration:none}.steps li{break-inside:avoid}}

.slot:not(:has(img)){display:none}
.skip{position:absolute;inset-inline-start:-999px;top:0;background:#112F45;color:#fff;padding:10px 14px;z-index:99}.skip:focus{inset-inline-start:8px;top:8px}

/* ---------- multilingue ---------- */
/* Polices : chaque langue charge seulement ce dont elle a besoin (voir build.py). */
:lang(ar){--serif:"Noto Naskh Arabic","Amiri","Times New Roman",serif;--sans:"Noto Sans Arabic","Segoe UI","Tahoma",system-ui,sans-serif}
:lang(ru){--serif:"PT Serif","Georgia","Times New Roman",serif}
:lang(ar) body{font-size:18px;line-height:1.8}
:lang(ar) h1,:lang(ar) h2,:lang(ar) h3{line-height:1.35;letter-spacing:0}
:lang(ar) .kicker,:lang(ar) .tag,:lang(ar) .lb{letter-spacing:0;text-transform:none}
[dir=rtl] .arrow::after{content:"←"}
[dir=rtl] .arrow:hover::after{transform:translateX(-4px)}
.map svg{direction:ltr}
.tel,[dir=ltr]{unicode-bidi:isolate}
/* Mots longs (allemand, russe) : coupure propre sur téléphone */
h1,h2,h3,.btn,.tag,.rows b,dt,dd,td,th,summary{overflow-wrap:anywhere;hyphens:auto}
.btn{white-space:normal;text-align:center}
/* Sélecteur de langue : liens HTML ordinaires, utilisables sans JavaScript */
.langs{position:relative}
.langs summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:var(--r);padding:6px 10px;font-size:14px;font-weight:700;background:var(--card);min-height:36px}
.langs summary::-webkit-details-marker{display:none}
.langs ul{position:absolute;inset-inline-end:0;top:calc(100% + 6px);z-index:30;list-style:none;margin:0;padding:6px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 12px 30px -12px rgba(17,47,69,.35);min-width:190px}
.langs li a,.langs li span{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:6px;text-decoration:none;color:var(--ink);font-size:15px}
.langs li a:hover,.langs li a:focus-visible{background:var(--sand)}
.langs li a[aria-current]{font-weight:800}
.langs li span{color:var(--muted)}
.langs small{color:var(--muted);font-weight:600}
:focus-visible{outline:3px solid var(--act);outline-offset:2px}
/* encadrés du planificateur */
.nocalc,.warnbox{margin-top:18px;padding:14px 16px;border-radius:12px;border:1px solid var(--line);background:rgba(17,47,69,.03)}
.warnbox{background:#FBF3E4;border-color:#E9CFA0;margin:0 0 16px}
.nocalc h3,.warnbox h3{font-size:17px}.nocalc li,.warnbox li{margin-top:6px}
.ret{margin-block:6px 4px;margin-inline-start:56px}
.tag.bad{border-color:#B3261E;color:#8C1D18}
.pdflang{background:#FBF3E4;border:1px solid #E9CFA0;border-radius:10px;padding:10px 12px}
/* tableaux comparatifs : tableau sur grand écran, fiches empilées sur téléphone */
.cmp-box{margin-top:8px}.cmp-wrap{overflow-x:auto;margin-top:14px}
table.cmp{width:100%;border-collapse:collapse;font-size:15px;background:var(--card)}
table.cmp th,table.cmp td{text-align:start;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--line)}
table.cmp thead th{font-size:13px;color:var(--muted);background:rgba(17,47,69,.04)}
table.cmp tbody th{font-family:var(--serif);font-size:16px;color:var(--ink)}
@media (max-width:720px){table.cmp thead{display:none}table.cmp,table.cmp tbody,table.cmp tr,table.cmp td,table.cmp tbody th{display:block;width:100%}
table.cmp tr{border:1px solid var(--line);border-radius:12px;margin:0 0 12px;padding:6px 0;background:var(--card)}
table.cmp td,table.cmp tbody th{border:0;padding:5px 14px}
table.cmp td[data-label]::before{content:attr(data-label);display:block;font-size:12px;font-weight:700;color:var(--muted)}
table.cmp tbody th{font-size:18px;padding-top:8px}}
/* impression d'un parcours */
@media print{.top,footer,.noprint,.skip,#toast,.crumbs,.langs{display:none!important}body{background:#fff;font-size:12pt}a{color:inherit;text-decoration:none}.map{break-inside:avoid}.steps li{break-inside:avoid}main{max-width:none}}
/* pied de page : contraste du texte légal sur fond sombre (corrigé) */
footer .legal{color:#E6E0D4}footer .legal a{color:#FFFFFF}

/* proposition de la langue choisie auparavant (aucune redirection automatique) */
.langbar{display:flex;gap:12px;align-items:center;justify-content:center;padding:8px 16px;background:var(--ink,#13293d);color:#fff;font-size:14px}
.langbar a{color:#fff;font-weight:700}.langbar button{background:none;border:0;color:#fff;font-size:20px;line-height:1;cursor:pointer;padding:0 6px}
@media print{.langbar{display:none}}
/* planificateur : étapes signalées et coût des étapes */
.planres li.warnstep,.steps li.warnstep{border-inline-start:3px solid #b8562b;padding-inline-start:8px}
p.warn,.small.warn{color:#8a3b14}
.tag.cout-gratuit{background:#e6f2ea;color:#1f5d34}.tag.cout-facultatif{background:#eef1e4;color:#4a5520}.tag.cout-payant{background:#f6eadf;color:#7a3d12}.tag.cout-inconnu{background:#efeaea;color:#5a4848}
/* hub Activités */
.hubgrid{align-items:start}
.hubcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;scroll-margin-top:90px}
.hubcard h3{margin-bottom:6px}
.hubrows{margin:14px 0 6px;display:flex;flex-direction:column;gap:12px}
.hubrow{display:flex;flex-direction:column;gap:4px;padding-top:10px;border-top:1px solid var(--line)}
.hubrow .meta{display:flex;flex-wrap:wrap;gap:6px}
.hublinks{margin-top:10px;line-height:1.8}
section[data-sec="categories"],section[data-sec="envies"],section[data-sec="composer"]{margin-top:28px}
.hubmini{margin-top:12px;line-height:1.9}.hubrows{padding:0}
h1,h2,h3,.rows b,.card b{overflow-wrap:break-word;hyphens:auto}
