/* Carnets de route — affichage plein écran */
@font-face{ font-family:'CDR Serif'; src:url(../assets/fonts/instrument-serif-latin-400-normal.woff2) format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face{ font-family:'CDR Serif'; src:url(../assets/fonts/instrument-serif-latin-400-italic.woff2) format('woff2'); font-weight:400; font-style:italic; font-display:swap; }
@font-face{ font-family:'CDR Sans'; src:url(../assets/fonts/manrope-latin-400-normal.woff2) format('woff2'); font-weight:400; font-display:swap; }
@font-face{ font-family:'CDR Sans'; src:url(../assets/fonts/manrope-latin-500-normal.woff2) format('woff2'); font-weight:500; font-display:swap; }
@font-face{ font-family:'CDR Sans'; src:url(../assets/fonts/manrope-latin-600-normal.woff2) format('woff2'); font-weight:600; font-display:swap; }
@font-face{ font-family:'CDR Sans'; src:url(../assets/fonts/manrope-latin-700-normal.woff2) format('woff2'); font-weight:700; font-display:swap; }

:root{
  --cdr-ink:#0b0d11; --cdr-mapbg:#10141b; --cdr-paper:#f4efe6; --cdr-muted:rgba(244,239,230,.7); --cdr-line:rgba(244,239,230,.2);
  --cdr-accent:#f2b36b;
  --cdr-serif:'CDR Serif', Georgia, 'Times New Roman', serif;
  --cdr-sans:'CDR Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --cdr-top:env(safe-area-inset-top,0px); --cdr-bottom:env(safe-area-inset-bottom,0px);
}
html{ background:var(--cdr-ink) !important; margin:0 !important; padding:0 !important; scroll-padding-top:var(--cdr-top); }
body.cdr-body{ margin:0 !important; padding:0 !important; background:var(--cdr-ink) !important; color:var(--cdr-paper); font-family:var(--cdr-sans); font-size:16px; line-height:1.55; -webkit-font-smoothing:antialiased; }
.cdr, .cdr *, .cdr *::before, .cdr *::after{ box-sizing:border-box; }
.cdr{ padding-top:var(--cdr-top); padding-bottom:var(--cdr-bottom); background:var(--cdr-ink); }
.cdr a{ color:inherit; }
.cdr :focus-visible{ outline:2px solid var(--cdr-accent); outline-offset:3px; }
.cdr h1, .cdr h2{ font-family:var(--cdr-serif); font-weight:400; color:var(--cdr-paper); margin:0; padding:0; text-transform:none; letter-spacing:-.015em; }
.cdr p{ margin:0; padding:0; }
.cdr em{ font-style:italic; color:var(--cdr-accent); }
.cdr button{ font-family:inherit; }

/* Scène */
.cdr-journey{ position:relative; }
.cdr-stage{ touch-action:none; overscroll-behavior:none; position:sticky; top:var(--cdr-top); height:100vh; height:100svh; overflow:hidden; background:var(--cdr-mapbg); }

/* Carte */
.cdr-map{ position:absolute; inset:0; width:100%; height:100%; display:block; }
.cdr-map .grat{ stroke:rgba(244,239,230,.05); stroke-width:1; fill:none; vector-effect:non-scaling-stroke; }
.cdr-map .land{ fill:rgba(244,239,230,.025); stroke:rgba(244,239,230,.16); stroke-width:1; vector-effect:non-scaling-stroke; stroke-linejoin:round; }
.cdr-map .state{ fill:none; stroke:rgba(244,239,230,.11); stroke-width:1; vector-effect:non-scaling-stroke; stroke-linejoin:round; }
.cdr-map .land.detail{ fill:rgba(244,239,230,.06); stroke:rgba(244,239,230,.38); }
.cdr-map .dline{ fill:none; stroke:rgba(244,239,230,.3); stroke-width:1; vector-effect:non-scaling-stroke; }
.cdr-map .lake{ fill:rgba(120,160,200,.16); stroke:rgba(150,190,230,.28); stroke-width:1; vector-effect:non-scaling-stroke; }
.cdr-map .slabel{ fill:rgba(244,239,230,.2); font-family:var(--cdr-sans); font-size:11px; font-weight:700; letter-spacing:.28em; text-anchor:middle; }
.cdr-map .ghost{ fill:none; stroke:rgba(244,239,230,.22); stroke-linecap:round; }
.cdr-map .leg{ fill:none; stroke:var(--cdr-accent); stroke-linecap:round; filter:drop-shadow(0 0 6px rgba(242,179,107,.45)); }
.cdr-map .pin .hit{ fill:transparent; }
.cdr-map .pin .halo{ fill:var(--cdr-accent); opacity:0; }
.cdr-map .pin .dot{ fill:var(--cdr-mapbg); stroke:var(--cdr-accent); stroke-width:2.2; }
.cdr-map .pin text{ font-family:var(--cdr-sans); fill:var(--cdr-paper); opacity:0; }
.cdr-map .pin .pname{ font-size:15px; font-weight:700; }
.cdr-map .pin .pdate{ font-size:12px; fill:var(--cdr-muted); font-weight:500; }
.cdr-map .pin.todo .dot{ stroke:rgba(244,239,230,.4); }
.cdr-map .pin.current .halo{ opacity:.22; }
.cdr-map .pin.current text{ opacity:1; }
.cdr-map.ov .pin text{ opacity:0 !important; }
.cdr-map.ov .pin.done, .cdr-map.ov .pin.current{ cursor:pointer; }
.cdr-map .car{ fill:#fff; filter:drop-shadow(0 0 8px rgba(255,220,170,.9)); }

/* Photos */
.cdr-shot{ position:absolute; inset:0; display:none; will-change:clip-path; touch-action:pan-y; }
.cdr-shot__bg{ position:absolute; inset:-8%; background-size:cover; background-position:center; filter:blur(38px) brightness(.55) saturate(1.1); display:none; }
.cdr-shot.contain .cdr-shot__bg{ display:block; }
.cdr-shot__frame{ position:absolute; will-change:transform; }
.cdr-shot__frame img, .cdr-shot__frame canvas{ position:absolute; inset:0; width:100%; height:100%; display:block; max-width:none; margin:0; border:0; border-radius:0; box-shadow:none; }
.cdr-shot__frame img{ object-fit:cover; user-select:none; -webkit-user-drag:none; }
.cdr-shot.contain .cdr-shot__frame{ box-shadow:0 30px 90px rgba(0,0,0,.55); }
.cdr-scrim{ position:absolute; inset:0; pointer-events:none; opacity:0;
  background:
    linear-gradient(90deg, rgba(8,10,14,.6) 0%, rgba(8,10,14,.28) 36%, rgba(8,10,14,0) 60%),
    linear-gradient(180deg, rgba(8,10,14,.35) 0%, rgba(8,10,14,0) 20%, rgba(8,10,14,0) 45%, rgba(8,10,14,.8) 100%); }
.cdr-jumpfade{ position:absolute; inset:0; background:var(--cdr-mapbg); opacity:0; pointer-events:none; transition:opacity .28s ease; z-index:20; }

/* Textes */
.cdr-overlay{ position:absolute; inset:0; pointer-events:none; }
.cdr-overlay a, .cdr-overlay button{ pointer-events:auto; }
.cdr-intro, .cdr-end{ position:absolute; left:clamp(22px, 6vw, 96px); right:clamp(22px, 6vw, 96px); top:50%; transform:translateY(-50%); max-width:760px; }
.cdr-end{ opacity:0; }
.cdr-back{ display:inline-block; margin-bottom:26px; font-size:13.5px; font-weight:600; color:var(--cdr-muted) !important; text-decoration:none; border-bottom:1px solid var(--cdr-line); padding-bottom:2px; }
.cdr-back:hover{ color:var(--cdr-paper) !important; border-color:var(--cdr-paper); }
.cdr-kicker{ display:flex; flex-wrap:wrap; gap:6px 14px; align-items:center; font-size:13px; font-weight:600; letter-spacing:.02em; color:var(--cdr-muted); margin:0 0 14px !important; }
.cdr-dot{ width:5px; height:5px; border-radius:50%; background:var(--cdr-accent); flex:none; }
.cdr-intro h1, .cdr-end h2{ font-size:clamp(52px, 8.6vw, 132px); line-height:.9; letter-spacing:-.02em; margin:0 0 22px; text-shadow:0 2px 40px rgba(0,0,0,.5); }
.cdr-lede{ font-size:clamp(16px, 1.4vw, 19px); color:var(--cdr-muted); max-width:44ch; }
.cdr-stats{ display:flex; gap:clamp(18px, 3vw, 40px); margin-top:28px; }
.cdr-stats div{ display:flex; flex-direction:column; }
.cdr-stats b{ font-family:var(--cdr-serif); font-weight:400; font-size:clamp(34px, 4vw, 52px); line-height:1; }
.cdr-stats span{ font-size:12.5px; color:var(--cdr-muted); font-weight:600; margin-top:4px; }
.cdr-cue{ position:absolute; left:50%; bottom:calc(26px + var(--cdr-bottom)); transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:10px; font-size:12.5px; color:var(--cdr-muted); letter-spacing:.04em; }
.cdr-cue__bar{ width:1px; height:44px; background:linear-gradient(var(--cdr-paper), transparent); animation:cdr-cue 2.2s ease-in-out infinite; transform-origin:top; }
@keyframes cdr-cue{ 0%{ transform:scaleY(0); opacity:1 } 60%{ transform:scaleY(1); opacity:1 } 100%{ transform:scaleY(1); opacity:0 } }

.cdr-travel{ position:absolute; left:clamp(22px, 5vw, 80px); top:clamp(26px, 7vh, 80px); max-width:min(520px, 80vw); opacity:0; }
.cdr-travel__step{ font-size:12.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--cdr-accent); margin:0 0 8px !important; }
.cdr-travel__date{ font-family:var(--cdr-serif); font-size:clamp(38px, 5.2vw, 72px); line-height:.95; margin:0 0 10px !important; letter-spacing:-.015em; }
.cdr-travel__place{ font-size:clamp(15px, 1.3vw, 18px); font-weight:600; margin:0 0 4px !important; }
.cdr-travel__dist{ font-size:13.5px; color:var(--cdr-muted); }

.cdr-copy{ position:absolute; left:clamp(22px, 6vw, 96px); right:clamp(22px, 6vw, 96px); bottom:clamp(40px, 10vh, 110px); max-width:640px; opacity:0; visibility:hidden; }
.cdr-copy h2{ font-size:clamp(42px, 7vw, 100px); line-height:.95; margin:0 0 18px; text-wrap:balance; text-shadow:0 2px 30px rgba(0,0,0,.4); }
.cdr-copy p{ font-size:clamp(16px, 1.35vw, 19px); margin:0 0 8px !important; max-width:46ch; color:rgba(244,239,230,.92); text-shadow:0 1px 14px rgba(0,0,0,.55); }
.cdr-copy [data-at]{ opacity:0; }
.cdr-actions{ display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.cdr-cta{ display:inline-flex; align-items:center; gap:12px; padding:13px 22px 13px 24px; border-radius:999px; background:var(--cdr-paper); color:var(--cdr-ink) !important; text-decoration:none !important; font-weight:700; font-size:15px; box-shadow:0 10px 40px rgba(0,0,0,.3); transition:transform .25s, background .25s; }
.cdr-cta:hover{ transform:translateY(-2px); background:#fff; }
.cdr-cta svg{ width:18px; height:18px; transition:transform .25s; }
.cdr-cta:hover svg{ transform:translateX(3px); }

/* Navigation */
.cdr-rail{ display:none; position:absolute; right:clamp(12px, 2vw, 28px); top:50%; transform:translateY(-50%); flex-direction:column; gap:12px; z-index:5; }
.cdr-rail button{ display:flex; align-items:center; justify-content:flex-end; gap:10px; background:none; border:0; padding:3px 0; margin:0; cursor:pointer; color:var(--cdr-paper); font:inherit; box-shadow:none; }
.cdr-rail__lbl{ font-size:12.5px; font-weight:600; opacity:0; transform:translateX(6px); transition:opacity .3s, transform .3s; text-shadow:0 1px 10px rgba(0,0,0,.7); white-space:nowrap; }
.cdr-rail__pip{ width:8px; height:8px; border-radius:50%; border:1.5px solid rgba(244,239,230,.7); transition:background .3s, transform .3s; flex:none; }
.cdr-rail button.done .cdr-rail__pip{ background:rgba(244,239,230,.55); border-color:transparent; }
.cdr-rail button[aria-current="true"] .cdr-rail__pip{ background:var(--cdr-accent); border-color:var(--cdr-accent); transform:scale(1.35); }
.cdr-rail button[aria-current="true"] .cdr-rail__lbl, .cdr-rail button:hover .cdr-rail__lbl, .cdr-rail button:focus-visible .cdr-rail__lbl{ opacity:1; transform:none; }
.cdr-close{ position:absolute; top:clamp(16px, 3vh, 28px); right:clamp(12px, 2vw, 28px); width:40px; height:40px; border-radius:50%; display:grid; place-items:center; background:rgba(11,13,17,.55); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); border:1px solid rgba(244,239,230,.2); color:var(--cdr-paper) !important; z-index:6; }
.cdr-close svg{ width:18px; height:18px; }
.cdr-close:hover{ border-color:var(--cdr-paper); }
.cdr-ov-btn{ position:absolute; right:clamp(16px, 3vw, 40px); bottom:calc(clamp(18px, 4vh, 40px) + var(--cdr-bottom)); display:inline-flex; align-items:center; gap:10px; padding:11px 18px 11px 14px; border-radius:999px; border:1px solid rgba(244,239,230,.25); background:rgba(11,13,17,.72); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); color:var(--cdr-paper); font-size:14px; font-weight:700; cursor:pointer; opacity:0; visibility:hidden; transition:opacity .3s, visibility .3s, border-color .2s; z-index:6; }
.cdr-ov-btn.on{ opacity:1; visibility:visible; }
.cdr-ov-btn:hover{ border-color:var(--cdr-paper); }
.cdr-ov-btn svg{ width:20px; height:20px; }
.cdr-ov-note{ position:absolute; left:50%; bottom:calc(clamp(18px, 4vh, 40px) + 118px + var(--cdr-bottom)); transform:translateX(-50%); font-size:13px; color:var(--cdr-muted); background:rgba(11,13,17,.6); padding:6px 12px; border-radius:999px; opacity:0; pointer-events:none; transition:opacity .3s; white-space:nowrap; }
.cdr-pan-hint{ position:absolute; left:50%; top:calc(56px + var(--cdr-top)); transform:translateX(-50%); display:flex; align-items:center; gap:8px; padding:8px 14px; border-radius:999px; border:0; background:rgba(10,12,16,.5); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); color:var(--cdr-paper); font-size:13px; font-weight:600; white-space:nowrap; opacity:0; pointer-events:none !important; }
.cdr-pan-hint.ask{ pointer-events:auto !important; cursor:pointer; background:var(--cdr-accent); color:#1a1206; }
.cdr-pan-hint svg{ width:18px; height:18px; animation:cdr-sway 1.8s ease-in-out infinite; }
@keyframes cdr-sway{ 25%{ transform:translateX(-4px); } 75%{ transform:translateX(4px); } }

/* Fin : cartes vers les récits */
.cdr-outro{ padding:clamp(80px, 13vh, 150px) clamp(22px, 6vw, 96px) calc(clamp(60px, 10vh, 120px) + var(--cdr-bottom)); background:linear-gradient(180deg, var(--cdr-mapbg), var(--cdr-ink)); }
.cdr-outro h2{ font-size:clamp(40px, 6vw, 84px); line-height:.95; margin:0 0 40px; }
.cdr-cards{ display:grid; grid-template-columns:repeat(auto-fill, minmax(200px, 1fr)); gap:16px; max-width:1400px; }
.cdr-card{ position:relative; display:block; aspect-ratio:3/4; border-radius:16px; overflow:hidden; text-decoration:none !important; isolation:isolate; color:var(--cdr-paper) !important; }
.cdr-card__bg{ position:absolute; inset:0; background-size:cover; background-position:center; transition:transform .8s cubic-bezier(.2,.7,.2,1); z-index:-1; }
.cdr-card::after{ content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,0) 38%, rgba(0,0,0,.78)); z-index:-1; }
a.cdr-card:hover .cdr-card__bg{ transform:scale(1.06); }
.cdr-card__t{ position:absolute; left:16px; right:16px; bottom:16px; }
.cdr-card__t small{ display:block; font-size:12px; color:var(--cdr-muted); font-weight:600; margin-bottom:4px; }
.cdr-card__t strong{ display:block; font-family:var(--cdr-serif); font-weight:400; font-size:clamp(22px, 1.9vw, 28px); line-height:1.02; }
.cdr-card__t span{ display:inline-block; margin-top:10px; font-size:13px; font-weight:700; border-bottom:1px solid currentColor; }
.cdr-outro__actions{ display:flex; flex-wrap:wrap; gap:12px; margin-top:44px; }
.cdr-again{ display:inline-block; background:none; border:1px solid var(--cdr-line); color:var(--cdr-paper) !important; padding:12px 20px; border-radius:999px; font-size:15px; font-weight:600; cursor:pointer; text-decoration:none !important; }
.cdr-again:hover{ border-color:var(--cdr-paper); }

/* Mobile et écrans verticaux */
@media (max-width: 820px), (orientation: portrait){
  .cdr-rail{ display:flex; top:calc(10px + var(--cdr-top)); left:14px; right:62px; transform:none; flex-direction:row; gap:4px; }
  .cdr-rail button{ flex:1; padding:8px 0; justify-content:stretch; }
  .cdr-rail__lbl{ display:none; }
  .cdr-rail__pip{ width:100%; height:3px; border-radius:2px; border:0; background:rgba(244,239,230,.25); }
  .cdr-rail button.done .cdr-rail__pip{ background:rgba(244,239,230,.7); }
  .cdr-rail button[aria-current="true"] .cdr-rail__pip{ background:var(--cdr-accent); transform:none; }
  .cdr-close{ top:calc(4px + var(--cdr-top)); right:10px; width:36px; height:36px; }
  .cdr-travel{ top:calc(52px + var(--cdr-top)); }
  .cdr-copy{ bottom:clamp(30px, 6vh, 70px); }
  .cdr-scrim{ background:linear-gradient(180deg, rgba(8,10,14,.45) 0%, rgba(8,10,14,0) 18%, rgba(8,10,14,.2) 45%, rgba(8,10,14,.88) 100%); }
  .cdr-intro, .cdr-end{ top:auto; bottom:calc(96px + var(--cdr-bottom)); transform:none; }
  .cdr-intro h1, .cdr-end h2{ font-size:clamp(46px, 13vw, 72px); }
  .cdr-stats{ margin-top:20px; }
  .cdr-cards{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px; }
}
@media (prefers-reduced-motion: reduce){
  .cdr-cue__bar, .cdr-pan-hint svg{ animation:none; }
  .cdr-card__bg, .cdr-cta, .cdr-cta svg, .cdr-ov-btn, .cdr-ov-note, .cdr-jumpfade{ transition:none; }
}
.cdr-next{ display:inline-flex; align-items:center; gap:10px; padding:13px 20px 13px 22px; border-radius:999px; border:0; background:var(--cdr-accent); color:#1a1206; font-weight:700; font-size:15px; cursor:pointer; box-shadow:0 10px 40px rgba(0,0,0,.3); transition:transform .25s, filter .25s; }
.cdr-next:hover{ transform:translateY(-2px); filter:brightness(1.07); }
.cdr-next svg{ width:18px; height:18px; transition:transform .25s; }
.cdr-next:hover svg{ transform:translateY(2px); }
.cdr-map.ov .pin{ cursor:pointer; }
.cdr-map.ov .pin:hover .halo{ opacity:.35; }
.cdr-map.ov .pin:hover .dot{ fill:var(--cdr-accent); }
.cdr-tip{ position:absolute; left:0; top:0; display:flex; flex-direction:column; gap:1px; padding:8px 12px; border-radius:10px; background:rgba(11,13,17,.88); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); border:1px solid rgba(244,239,230,.18); pointer-events:none; opacity:0; white-space:nowrap; z-index:7; transition:opacity .15s; }
.cdr-tip small{ font-size:12px; color:var(--cdr-muted); font-weight:600; }
.cdr-tip strong{ font-size:15px; font-weight:700; }
.cdr-tip.on{ opacity:1; }
@media (prefers-reduced-motion: reduce){ .cdr-next, .cdr-next svg, .cdr-tip{ transition:none; } }

/* Ordinateur : navigation à la souris */
.cdr-start{ display:none; align-items:center; gap:10px; margin-top:30px; padding:14px 22px 14px 24px; border-radius:999px; border:0; background:var(--cdr-accent); color:#1a1206; font-weight:700; font-size:16px; cursor:pointer; box-shadow:0 10px 40px rgba(0,0,0,.3); transition:transform .25s, filter .25s; }
.cdr-start:hover{ transform:translateY(-2px); filter:brightness(1.07); }
.cdr-start svg{ width:18px; height:18px; }
.cdr-end__actions{ display:none; flex-wrap:wrap; gap:12px; align-items:center; margin-top:10px; }
.cdr-end__actions .cdr-start{ margin-top:0; }
html.cdr-click .cdr-start{ display:inline-flex; }
html.cdr-click .cdr-end__actions{ display:flex; }
html.cdr-click .cdr-cue{ display:none; }
html.cdr-click .cdr-map .pin{ cursor:pointer; }
html.cdr-click .cdr-map .pin:hover .halo{ opacity:.35; }
html.cdr-click .cdr-map .pin:hover .dot{ fill:var(--cdr-accent); }
html.cdr-click .cdr-keys{ display:block; }
html.cdr-click, html.cdr-click body{ overscroll-behavior:none; }
.cdr-keys{ display:none; position:absolute; left:50%; bottom:calc(22px + var(--cdr-bottom)); transform:translateX(-50%); font-size:12.5px; color:var(--cdr-muted); opacity:0; transition:opacity .4s; white-space:nowrap; }
.cdr-keys kbd{ font:inherit; font-weight:700; border:1px solid var(--cdr-line); border-radius:4px; padding:0 5px; }
html.cdr-click .cdr-next svg{ transform:rotate(-90deg); }
html.cdr-click .cdr-next:hover svg{ transform:rotate(-90deg) translateY(2px); }

/* Vue d'ensemble : étape précédente / suivante */
.cdr-ov-nav{ position:absolute; left:50%; bottom:calc(clamp(18px, 4vh, 40px) + 58px + var(--cdr-bottom)); transform:translateX(-50%); display:flex; gap:8px; opacity:0; visibility:hidden; transition:opacity .3s, visibility .3s; z-index:6; }
.cdr-ov-nav.on{ opacity:1; visibility:visible; }
.cdr-ov-nav button{ display:inline-flex; align-items:center; gap:8px; padding:11px 16px; border-radius:999px; border:1px solid rgba(244,239,230,.25); background:rgba(11,13,17,.72); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); color:var(--cdr-paper); font-size:14px; font-weight:700; cursor:pointer; white-space:nowrap; }
.cdr-ov-nav button[data-dir="1"]{ background:var(--cdr-accent); color:#1a1206; border-color:transparent; }
.cdr-ov-nav button:hover{ filter:brightness(1.08); }
.cdr-ov-nav button:disabled{ opacity:.35; cursor:default; }
.cdr-ov-nav svg{ width:17px; height:17px; }
@media (max-width: 520px){ .cdr-ov-nav button{ padding:10px 13px; font-size:13px; } }
@media (hover: none){ .cdr-keys{ bottom:auto; top:calc(100px + var(--cdr-top)); padding:6px 12px; border-radius:999px; background:rgba(11,13,17,.55); color:var(--cdr-paper); } }

/* Bouton « Vue d'ensemble » avec les autres boutons de la photo */
.cdr-ovgo{ display:inline-flex; align-items:center; gap:9px; padding:12px 18px; border-radius:999px; border:1px solid rgba(244,239,230,.35); background:rgba(11,13,17,.45); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); color:var(--cdr-paper); font-weight:700; font-size:15px; cursor:pointer; transition:border-color .2s, background .2s; }
.cdr-ovgo:hover{ border-color:var(--cdr-paper); background:rgba(11,13,17,.65); }
.cdr-ovgo svg{ width:18px; height:18px; }
/* Carte explorable */
.cdr-map.ov{ cursor:grab; }
.cdr-map.ov.dragging{ cursor:grabbing; }
.cdr-zoom{ position:absolute; right:clamp(16px, 3vw, 40px); bottom:calc(clamp(18px, 4vh, 40px) + var(--cdr-bottom)); display:flex; flex-direction:column; border-radius:12px; overflow:hidden; border:1px solid rgba(244,239,230,.25); background:rgba(11,13,17,.72); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); opacity:0; visibility:hidden; transition:opacity .3s, visibility .3s; z-index:6; }
.cdr-zoom.on{ opacity:1; visibility:visible; }
.cdr-zoom button{ width:44px; height:44px; display:grid; place-items:center; border:0; background:none; color:var(--cdr-paper); cursor:pointer; }
.cdr-zoom button + button{ border-top:1px solid rgba(244,239,230,.18); }
.cdr-zoom button:hover{ background:rgba(244,239,230,.1); }
.cdr-zoom svg{ width:18px; height:18px; }
@media (max-width: 520px){ .cdr-ovgo, .cdr-next, .cdr-cta{ padding:11px 15px; font-size:14px; } .cdr-ov-nav{ bottom:calc(20px + var(--cdr-bottom)); } .cdr-ov-note{ bottom:calc(80px + var(--cdr-bottom)); } .cdr-zoom{ bottom:calc(80px + var(--cdr-bottom)); } }
