@import url("/guide/referentiel/composants.css");
@import '../agents/styles.css';
@font-face{font-family:Cormorant;src:url('../fonts/cormorant-italic.woff2') format('woff2');font-weight:400 800;font-style:italic;font-display:swap}
/* Fiches géographiques « Où · Quoi · Quand » — livraison design du 30/09/2026.
   Valeurs reprises des maquettes (ou-quoi-quand/*.dc.html) ; les unités cqi se rapportent à .fiche. */
.fiche{--ink:#0b0c0d;--night:#0F1C24;--deep:#193342;--saffron:#F6A72D;--saffron-dark:#B26A00;--muted:#556d76;--text2:#50626b;--text3:#33434b;--line:#D5DCDD;--line2:#E3E7E9;--mist:#E9EDF1;--paper:#F5F6F2;--avoid:#93A3AD;--gut:clamp(24px,4.2cqi,64px);--serif:Cormorant,'Cormorant Garamond',Georgia,serif;
  container-type:inline-size;position:relative;background:#FFF;color:var(--ink);font-family:Poppins,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
.fiche *{box-sizing:border-box}
.fiche h1,.fiche h2,.fiche h3,.fiche p,.fiche dl,.fiche dd,.fiche figure,.fiche ol,.fiche ul{margin:0}
.fiche ol,.fiche ul{padding:0;list-style:none}
.fiche img{display:block}
.fiche a{color:inherit;text-decoration:none}
.fiche a:hover{color:var(--saffron-dark)}
.fiche button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-align:left}
.fiche :focus-visible{outline:2px solid var(--saffron);outline-offset:3px}
.fiche section[id]{scroll-margin-top:116px}
/* Entrée des textes du héros : un glissement sans transparence (contrôle du 03/10) ; un texte d’abord invisible n’est
   pas compté par Chrome comme élément principal (LCP) et retardait la mesure jusqu’à la bascule vers la page vivante. */
@keyframes fiche-rise{from{transform:translateY(16px)}to{transform:none}}

/* Titres de section */
.fiche-overline{font:600 11px/1.4 Poppins,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--saffron-dark)}
.fiche-dark .fiche-overline{color:var(--saffron)}
.fiche-h2{font:700 clamp(34px,3.8cqi,56px)/.98 var(--serif);letter-spacing:-.03em;margin-top:10px}
.fiche-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 24px;margin-bottom:clamp(24px,3cqi,40px)}
.fiche-intro{font-size:13.5px;line-height:1.7;color:var(--text2);max-width:440px}
.fiche-dark .fiche-intro{color:rgba(255,255,255,.8)}
.fiche-link{font-size:12.5px;font-weight:600;border-bottom:1px solid currentColor;padding-bottom:3px}
.fiche-block{padding:clamp(56px,7cqi,104px) var(--gut)}
.fiche-block.is-compact{padding:clamp(40px,5cqi,72px) var(--gut)}
.fiche-paper{background:var(--paper);border-top:1px solid var(--line)}
.fiche-dark{background:var(--night);color:#FFF}

/* Fil d’Ariane */
.fiche-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:11.5px;color:rgba(255,255,255,.7);margin-bottom:clamp(16px,2cqi,28px)}
.fiche-crumbs a{color:rgba(255,255,255,.7)}
.fiche-crumbs a:hover{color:#FFF}
.fiche-crumbs [aria-hidden]{opacity:.45}
.fiche-crumbs [aria-current]{color:rgba(255,255,255,.92);font-weight:500}
.fiche-crumbs.is-light{color:#66737B}
.fiche-crumbs.is-light a{color:#66737B}
.fiche-crumbs.is-light a:hover{color:var(--ink)}
.fiche-crumbs.is-light [aria-hidden]{opacity:.5}
.fiche-crumbs.is-light [aria-current]{color:var(--text3)}

/* Boutons */
.fiche .fiche-add{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 22px;font:600 13px/1.2 Poppins,sans-serif;background:var(--night);color:#FFF;border:1px solid var(--night)}
.fiche .fiche-add svg{width:18px;height:18px}
.fiche .fiche-add.is-saved,.fiche .fiche-add[aria-pressed="true"]{background:var(--saffron);border-color:var(--saffron);color:var(--ink)}
.fiche .fiche-add.is-saved svg path,.fiche .fiche-add[aria-pressed="true"] svg path{fill:var(--ink)}
.fiche .fiche-add.on-dark{background:#FFF;color:var(--ink);border-color:#FFF}
.fiche .fiche-add[disabled]{opacity:.5;cursor:default}
.fiche-ghost{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:14px 22px;font:600 13px/1.2 Poppins,sans-serif;color:#FFF;border:1px solid rgba(255,255,255,.6);backdrop-filter:blur(6px)}
.fiche-ghost:hover{background:rgba(255,255,255,.12);color:#FFF}
.fiche-outline{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:14px 22px;font:600 13px/1.2 Poppins,sans-serif;border:1px solid var(--ink)}
.fiche-outline:hover{background:var(--ink);color:#FFF}
.fiche .fiche-photos{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;font:600 11.5px/1.2 Poppins,sans-serif;background:rgba(255,255,255,.94);color:var(--ink)}
.fiche .fiche-photos:hover{background:#FFF}

/* Héros plein cadre (région) */
/* Le héros grandit avec son texte : jamais de titre sous la navigation transparente (108 px). */
.fiche-hero{position:relative;min-height:clamp(560px,78vh,860px);display:flex;background:#1d2a31;overflow:hidden;color:#FFF}
.fiche-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* Haut du voile plus dense : logo, menu et boutons de la navigation transparente restent lisibles sur toute photo. */
.fiche-hero-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,12,13,.62) 0,rgba(11,12,13,.3) 130px,rgba(11,12,13,0) 260px,rgba(11,12,13,.12) 55%,rgba(11,12,13,.72) 100%)}
.fiche-hero-inner{position:relative;z-index:1;flex:1 1 auto;padding:calc(108px + clamp(32px,4cqi,56px)) var(--gut) clamp(28px,3.4cqi,52px);display:flex;align-items:flex-end;align-content:flex-end;justify-content:space-between;gap:24px 40px;flex-wrap:wrap}
.fiche-hero-copy{max-width:900px;animation:fiche-rise .6s ease both}
.fiche-kicker{font:600 11.5px/1.4 Poppins,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--saffron);margin-bottom:14px}
.fiche-h1{font:700 clamp(52px,7cqi,116px)/.9 var(--serif);letter-spacing:-.04em;text-wrap:balance;text-shadow:0 2px 40px rgba(0,0,0,.25)}
.fiche-chapo{font:italic 700 clamp(20px,2cqi,28px)/1.25 var(--serif);max-width:640px;margin-top:18px}
.fiche-hero-actions{display:flex;flex-direction:column;gap:10px;align-items:stretch;animation:fiche-rise .7s .1s ease both}
.fiche-hero-actions .fiche-photos{align-self:flex-end}

/* Héros clair (ville) */
.fiche-hero-split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);min-height:clamp(560px,76vh,800px);background:var(--paper);border-bottom:1px solid var(--line)}
.fiche-hero-split-copy{display:flex;flex-direction:column;justify-content:space-between;gap:36px;padding:clamp(24px,3cqi,44px) var(--gut) clamp(28px,3.4cqi,48px)}
.fiche-hero-split .fiche-kicker{color:var(--saffron-dark);font-size:11px;letter-spacing:.2em}
.fiche-hero-split .fiche-h1{font-size:clamp(48px,6.2cqi,100px);text-shadow:none}
.fiche-hero-split .fiche-chapo{font-size:clamp(22px,2cqi,30px);color:var(--deep);max-width:520px}
/* Ville : fil d’Ariane en haut, surtitre, titre et chapô en bas (maquette Djanet) ; légende de la scène sur la photo. */
.fiche-hero-split-title{display:flex;flex-direction:column;gap:16px;animation:fiche-rise .6s ease both}
.fiche-hero-split-title .fiche-kicker{margin-bottom:0}
.fiche-hero-split-title .fiche-chapo{margin-top:0}
.fiche-hero-figure figcaption{position:absolute;left:18px;right:18px;bottom:14px;z-index:1;font-size:11px;line-height:1.5;color:rgba(255,255,255,.9);text-shadow:0 1px 6px rgba(0,0,0,.6)}
.fiche-hero-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:14px 24px;border-top:1px solid var(--ink);padding-top:16px}
.fiche-hero-figure{position:relative;min-height:100%;overflow:hidden;background:#1d2a31}
.fiche-hero-figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fiche-hero-figure .fiche-photos{position:absolute;right:16px;bottom:16px}
.fiche-hero-figure:has(.fiche-photos) figcaption{right:190px}

/* Héros sombre (lieu) */
.fiche-hero-place{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.7fr);min-height:clamp(560px,76vh,800px);background:var(--night);color:#FFF}
.fiche-hero-place-figure{position:relative;overflow:hidden;min-height:100%}
.fiche-hero-place-figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fiche-hero-place-figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,12,13,0) 45%,rgba(11,12,13,.75) 100%)}
.fiche-hero-place-title{position:absolute;left:var(--gut);right:var(--gut);bottom:clamp(24px,3cqi,44px);z-index:1;animation:fiche-rise .6s ease both}
/* Lieu : chapô sous le titre, sur la photo (maquette Essendilène). */
.fiche-hero-place-title .fiche-chapo{max-width:560px;color:rgba(255,255,255,.95)}
.fiche-hero-place .fiche-h1{font-size:clamp(44px,5.2cqi,88px);line-height:.92;letter-spacing:-.035em}
.fiche-hero-place-figure .fiche-photos{position:absolute;right:16px;top:16px;z-index:1}
.fiche-hero-aside{padding:clamp(24px,3cqi,44px) clamp(22px,2.8cqi,40px);border-left:1px solid rgba(255,255,255,.14);display:flex;flex-direction:column;gap:22px;justify-content:center}
.fiche-hero-aside .fiche-crumbs{margin:0}
.fiche-hero-situ{font:italic 700 clamp(20px,1.9cqi,26px)/1.3 var(--serif)}
.fiche-rows{display:grid}
.fiche-rows>div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;padding:12px 0;border-top:1px solid rgba(255,255,255,.14)}
.fiche-rows>div:last-child{border-bottom:1px solid rgba(255,255,255,.3)}
.fiche-rows dt{font:600 10.5px/1.5 Poppins,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.65)}
.fiche-rows dd b{display:block;font-size:14px}
.fiche-rows dd span{display:block;font-size:12px;color:rgba(255,255,255,.7);margin-top:2px}

/* Repères (barre et héros clair) */
.fiche-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));padding:0 var(--gut);border-bottom:1px solid var(--line);background:#FFF}
.fiche-facts>div{padding:18px 20px 18px 0;display:flex;flex-direction:column;gap:4px}
.fiche-facts>div:not(:last-child){border-right:1px solid var(--mist);margin-right:20px}
.fiche-facts>div:has(+ .fiche-facts-add){border-right:0;margin-right:0}
.fiche-fact-k{font:600 10.5px/1.4 Poppins,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.fiche-fact-v{font-size:14px;font-weight:600;line-height:1.3}
.fiche-fact-s{font-size:12px;color:var(--text2)}
.fiche-hero-facts>div{display:flex;flex-direction:column;gap:4px}

/* Navigation d’ancres collante */
/* Bandeau « L’essentiel » (livraison du 30/09, 23 h) : encre, une ligne de 60 px, repères safran, boutons à droite. */
.fiche-essentiel{background:#0F1C24;color:#FFF}
.fiche-essentiel-in{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:16px clamp(20px,3cqi,48px);padding:12px var(--gut);min-height:60px;overflow-x:auto;scrollbar-width:none}
.fiche-essentiel-in::-webkit-scrollbar{display:none}
/* Les repères ne rétrécissent pas : en largeur étroite, tout le bandeau glisse (la maquette les laissait passer sous les boutons). */
.fiche-essentiel-facts{display:flex;flex-wrap:nowrap;align-items:center;gap:0 clamp(18px,2.6cqi,40px);flex:none}
.fiche .fiche-essentiel-fact{display:flex;align-items:baseline;gap:8px;white-space:nowrap;padding-right:clamp(18px,2.6cqi,40px);border-right:1px solid rgba(255,255,255,.16);color:#FFF;text-decoration:none}
.fiche .fiche-essentiel-fact:last-child{border-right-color:transparent}
.fiche a.fiche-essentiel-fact:hover{color:var(--saffron)}
.fiche-essentiel-fact span{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--saffron)}
.fiche-essentiel-fact b{font-size:13px;font-weight:600}
.fiche-essentiel-fact i{font-style:normal;font-size:10px;color:var(--saffron)}
.fiche-essentiel-actions{display:flex;flex-wrap:nowrap;gap:8px;flex:none}
.fiche .fiche-essentiel-add{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:8px 16px;background:#FFF;color:#0b0c0d;border:1px solid #FFF;font:600 12px/1.2 Poppins,sans-serif;white-space:nowrap;cursor:pointer;transition:background .2s}
.fiche .fiche-essentiel-add svg{width:16px;height:16px;flex:none}
.fiche .fiche-essentiel-add.is-saved,.fiche .fiche-essentiel-add[aria-pressed="true"]{background:var(--saffron);border-color:var(--saffron);color:#0b0c0d}
.fiche .fiche-essentiel-add.is-saved svg path,.fiche .fiche-essentiel-add[aria-pressed="true"] svg path{fill:var(--saffron)}
.fiche .fiche-essentiel-add[disabled]{opacity:.5;cursor:default}
.fiche a.fiche-essentiel-more{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:1px solid rgba(255,255,255,.55);color:#FFF;font-size:12px;font-weight:600;white-space:nowrap;text-decoration:none;transition:background .2s}
.fiche a.fiche-essentiel-more:hover{background:rgba(255,255,255,.12);color:#FFF}
/* Largeurs intermédiaires : repères plus serrés, pour que les boutons restent dans l’écran. */
.fiche-essentiel-tab{display:none}
/* Mobile (retour de Mehdi du 01/10) : barre d’action fixée en bas, sur une ligne ; l’encoche au-dessus déplie
   les repères sur deux lignes (le premier pleine largeur quand ils sont trois) et les replie. */
@media (max-width:720px){
  /* La barre fixe (67 px) ne cache pas l’élément qui reçoit le focus clavier : le défilement le garde au-dessus d’elle. */
  html:has(.fiche-essentiel.has-actions){scroll-padding-bottom:calc(80px + env(safe-area-inset-bottom))}
  body:has(.fiche-essentiel.has-actions) .guide-footer{padding-bottom:calc(112px + env(safe-area-inset-bottom))}
  .fiche-essentiel.has-actions{position:fixed;left:0;right:0;bottom:0;z-index:60;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -12px 32px rgba(11,12,13,.22)}
  .fiche .fiche-essentiel-tab{position:absolute;left:50%;bottom:100%;transform:translateX(-50%);display:inline-flex;align-items:center;gap:8px;height:26px;padding:0 16px;border:0;border-radius:12px 12px 0 0;background:#0F1C24;color:var(--saffron);font:600 9.5px/1 Poppins,sans-serif;letter-spacing:.16em;text-transform:uppercase;cursor:pointer}
  .fiche-essentiel-tab svg{width:11px;height:8px;transition:transform .25s}
  .fiche-essentiel.is-open .fiche-essentiel-tab svg{transform:rotate(180deg)}
  .fiche-essentiel.has-actions .fiche-essentiel-in{flex-direction:column;align-items:stretch;gap:0;padding:10px 16px;min-height:0;overflow:visible}
  .fiche-essentiel.has-actions .fiche-essentiel-facts{display:none}
  .fiche-essentiel.has-actions.is-open .fiche-essentiel-facts{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:12px 16px;padding:6px 0 14px;margin-bottom:10px;border-bottom:1px solid rgba(255,255,255,.14);animation:fiche-essentiel-up .25s ease both}
  .fiche .fiche-essentiel.has-actions .fiche-essentiel-fact{flex-direction:column;align-items:flex-start;gap:4px;padding:0;border:0;white-space:normal;min-width:0}
  .fiche-essentiel.has-actions .fiche-essentiel-fact:first-child:nth-last-child(odd){grid-column:1/-1}
  .fiche-essentiel.has-actions .fiche-essentiel-fact b{font-size:13px;line-height:1.35}
  .fiche-essentiel.has-actions .fiche-essentiel-actions{flex-wrap:wrap}
  .fiche .fiche-essentiel.has-actions .fiche-essentiel-add{flex:1 1 auto;justify-content:center;min-height:46px}
  .fiche .fiche-essentiel.has-actions a.fiche-essentiel-more{display:none}
  .fiche .fiche-essentiel.has-actions.is-open a.fiche-essentiel-more{display:inline-flex;order:-1;flex-basis:100%;justify-content:center;margin-bottom:8px}
  .fiche-essentiel:not(.has-actions) .fiche-essentiel-in{overflow-x:auto}
}
@keyframes fiche-essentiel-up{from{opacity:0;transform:translateY(8px)}}
@media (min-width:721px) and (max-width:1180px){.fiche-essentiel-facts{gap:0 14px}.fiche .fiche-essentiel-fact{padding-right:14px}.fiche-essentiel-in{gap:12px 20px}}
.fiche-anchor-nav{position:sticky;top:var(--fiche-nav,108px);z-index:40;display:flex;align-items:center;gap:0 clamp(14px,2cqi,26px);padding:0 var(--gut);background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none;font-size:12.5px;font-weight:500;white-space:nowrap}
.fiche-anchor-nav::-webkit-scrollbar{display:none}
.fiche-anchor-nav a{display:flex;align-items:center;height:44px;border-bottom:2px solid transparent;color:var(--text2);transition:color .2s,border-color .2s;flex:0 0 auto}
.fiche-anchor-nav a:hover{color:var(--ink)}
.fiche-anchor-nav a[aria-current="true"]{border-bottom-color:var(--saffron);color:var(--ink)}

/* Récit */
.fiche-recit{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:clamp(32px,5cqi,88px);align-items:start}
.fiche-recit-copy{display:flex;flex-direction:column;gap:22px;max-width:640px}
.fiche-recit-copy h2{font:700 clamp(38px,4.4cqi,64px)/.96 var(--serif);letter-spacing:-.035em}
/* Libellé « Récit » en h2 (livraison du 30/09, 23 h) : même apparence que le surtitre, pas celle du titre du récit. */
.fiche-recit-copy h2.fiche-overline{font:600 11px/1.4 Poppins,sans-serif;letter-spacing:.18em;text-transform:uppercase}
.fiche-lead{font:500 clamp(20px,1.6cqi,23px)/1.45 var(--serif);color:var(--deep)}
.fiche-body{font-size:15.5px;line-height:1.85;color:#1d2a31}
.fiche-points{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:18px 28px;margin-top:8px}
.fiche-points>div{border-top:2px solid var(--ink);padding-top:14px}
.fiche-points h3{font-size:13px;font-weight:600;margin-bottom:6px}
.fiche-points p{font-size:13.5px;line-height:1.75;color:var(--text3)}
.fiche-recit-figure{position:sticky;top:132px}
/* height:auto : sans lui, l’attribut height des vues l’emporte sur aspect-ratio (vignettes étirées à 360 px). */
.fiche-recit-figure img{width:100%;height:auto;aspect-ratio:3/2;max-height:560px;object-fit:cover}
.fiche .fiche-recit-open,.fiche .fiche-recit-thumbs button{display:block;width:100%;padding:0;cursor:zoom-in;overflow:hidden}
.fiche-recit-thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}
.fiche-recit-thumbs img{aspect-ratio:4/3;max-height:none;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.fiche-recit-thumbs button:hover img{transform:scale(1.04)}
.fiche .fiche-recit-all{display:inline-flex;gap:6px;margin-top:12px;font-size:12.5px;font-weight:600;border-bottom:1px solid currentColor;padding-bottom:3px}
.fiche-recit-figure figcaption{font-size:12px;color:var(--muted);margin-top:10px;line-height:1.5}
.fiche-timeline{display:grid;gap:14px;margin-top:10px}
.fiche-timeline li{display:grid;grid-template-columns:90px minmax(0,1fr);gap:14px;padding-top:12px;border-top:1px solid var(--line)}
.fiche-timeline b{font-size:12.5px;color:var(--saffron-dark)}
.fiche-timeline h3{font-size:14px;font-weight:600}
.fiche-timeline p{font-size:13.5px;line-height:1.7;color:var(--text3)}

/* Cartes géographiques et rangées défilables */
.fiche-geo{position:relative;display:block;min-height:320px;overflow:hidden;background:#1d2a31;color:#FFF}
.fiche-geo.is-big{min-height:440px}
.fiche-geo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
a.fiche-geo:hover img{transform:scale(1.03)}
.fiche a.fiche-geo,.fiche a.fiche-geo:hover,.fiche .fiche-spot-photo,.fiche .fiche-spot-photo:hover,.fiche a.fiche-ghost,.fiche a.fiche-ghost:hover,.fiche a.fiche-button,.fiche a.fiche-button:hover{color:#FFF}
.fiche .fiche-dark a:not(.fiche-chip):hover,.fiche-dark a.fiche-link{color:#FFF}
.fiche-geo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,12,13,0) 40%,rgba(11,12,13,.72) 100%)}
.fiche-geo.is-flat{background:linear-gradient(160deg,#193342,#0F1C24)}
.fiche-geo.is-flat::after{display:none}
.fiche-geo-text{position:absolute;left:20px;right:20px;bottom:20px;z-index:1;display:flex;flex-direction:column;gap:6px}
.fiche-geo-dist{font:600 10.5px/1.4 Poppins,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--saffron)}
.fiche-geo-title{font:700 clamp(28px,2.4cqi,34px)/.98 var(--serif);letter-spacing:-.025em}
.fiche-geo.is-big .fiche-geo-title{font-size:clamp(40px,4.4cqi,64px)}
.fiche-geo-title small{font:600 13px/1 Poppins,sans-serif;color:var(--saffron);margin-left:6px}
.fiche-geo-x{font-size:13px;line-height:1.6;color:rgba(255,255,255,.9);max-width:60ch}
.fiche-row{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gut);scrollbar-width:none;margin:14px calc(-1 * var(--gut)) 0;padding:0 var(--gut) 4px;-webkit-overflow-scrolling:touch}
.fiche-row::-webkit-scrollbar{display:none}
.fiche-row>*{flex:0 0 clamp(260px,31%,360px);scroll-snap-align:start}
.fiche-row.is-savoir>*{flex-basis:clamp(280px,31%,360px)}

/* À vivre */
.fiche-vivre{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px}
.fiche-vivre+.fiche-row{margin-top:20px}
.fiche-exp{display:flex;flex-direction:column;gap:14px;padding:clamp(22px,2.6cqi,32px);min-height:300px;background:var(--paper);border:1px solid var(--line2);position:relative;overflow:hidden}
.fiche-exp.is-dark{background:var(--night);border-color:var(--night);color:#FFF}
.fiche-exp .fiche-overline{font-size:10.5px}
.fiche-exp h3{font:700 clamp(28px,2.6cqi,38px)/1 var(--serif);letter-spacing:-.02em}
.fiche-exp p{font-size:13.5px;line-height:1.7;color:var(--text3)}
.fiche-exp.is-dark p{color:rgba(255,255,255,.85)}
.fiche-exp-foot{margin-top:auto;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.fiche-chip{display:inline-flex;padding:5px 9px;font-size:11.5px;font-weight:600;border:1px solid var(--line);background:#FFF;color:var(--ink)}
.fiche-exp.is-dark .fiche-chip{background:transparent;border-color:rgba(255,255,255,.35);color:#FFF}
.fiche-feature{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);background:#0b1016;color:#FFF;min-height:300px}
.fiche-feature-figure{position:relative;min-height:260px;overflow:hidden}
.fiche-feature-figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fiche-feature .fiche-exp{background:transparent;border:0;color:#FFF}
.fiche-feature .fiche-exp p{color:rgba(255,255,255,.85)}
.fiche-feature .fiche-chip{background:transparent;border-color:rgba(255,255,255,.35);color:#FFF}
.fiche-activites{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:0 28px;margin-top:clamp(28px,3cqi,44px)}
.fiche-activites>div{border-top:1px solid var(--line);padding:16px 0}
.fiche-activites h3{font-size:14px;font-weight:600;margin-bottom:6px}
.fiche-activites p{font-size:13.5px;line-height:1.7;color:var(--text3)}

/* À voir */
.fiche-spots{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:clamp(18px,2.4cqi,32px)}
.fiche-spot-photo{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:var(--mist);color:#FFF}
.fiche-spot-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.fiche-spot-photo:hover img{transform:scale(1.03)}
.fiche-spot-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,12,13,0) 45%,rgba(11,12,13,.7) 100%)}
.fiche-spot-photo:hover{color:#FFF}
.fiche-spot-photo span{position:absolute;left:18px;right:18px;bottom:18px;z-index:1;display:flex;flex-direction:column;gap:6px}
.fiche-spot-photo small{font:600 10.5px/1.4 Poppins,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--saffron)}
.fiche-spot-photo strong{font:700 clamp(28px,2.4cqi,36px)/1 var(--serif);letter-spacing:-.02em}
.fiche-spot-copy{padding-top:14px;display:flex;flex-direction:column;gap:10px}
.fiche-spot-copy p{font-size:13.5px;line-height:1.7;color:var(--text3)}
.fiche-spot-copy .fiche-where{font-size:12px;color:var(--muted)}
.fiche-spot-copy .fiche-link{align-self:flex-start}
.fiche-list{display:grid}
.fiche-list>li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:18px 28px;padding:22px 0;border-top:1px solid var(--ink)}
.fiche-list small{display:block;font:600 10.5px/1.4 Poppins,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.fiche-list h3{font:700 clamp(28px,2.6cqi,38px)/1 var(--serif);letter-spacing:-.02em}
.fiche-list p{font-size:14px;line-height:1.8;color:var(--text3)}
.fiche-list .fiche-link{display:inline-block;margin-top:12px}
/* Image d’un point fort : bornée en grand écran (elle suivait la largeur de la colonne, jusqu’à 775 px). */
.fiche-list-img{width:100%;max-width:440px;aspect-ratio:3/2;object-fit:cover;margin-bottom:14px;background:var(--mist)}
.fiche-spots-wrap.has-list{margin-top:clamp(32px,4cqi,56px)}
.fiche-dans{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:clamp(28px,4cqi,64px);align-items:start}
.fiche-dans-head{position:sticky;top:132px}

/* Quand partir */
.fiche-quand{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:clamp(32px,5cqi,80px);align-items:start}
.fiche-quand-title{font:italic 700 clamp(46px,5.6cqi,86px)/.95 var(--serif);color:var(--saffron);letter-spacing:-.03em;margin:10px 0 14px}
.fiche-band{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:5px;margin-top:24px}
.fiche-band>div{display:grid;grid-template-rows:48px auto 8px;gap:8px;align-items:end}
.fiche-band i{display:block;height:48px;border:1.5px solid;box-sizing:border-box}
.fiche-band i[data-s="f"]{background:var(--saffron);border-color:var(--saffron)}
.fiche-band i[data-s="p"]{background:transparent;border-color:var(--saffron)}
.fiche-band i[data-s="e"]{background:var(--avoid);border-color:var(--avoid)}
.fiche-band b{font-size:11.5px;font-weight:600;text-align:center;color:rgba(255,255,255,.7)}
.fiche-band b[data-s="f"]{color:#FFF}
.fiche-band em{display:block;height:8px;position:relative}
.fiche-band em.is-now::after{content:"";position:absolute;left:50%;top:0;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:6px solid #FFF}
.fiche-legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:18px;font-size:11.5px;color:rgba(255,255,255,.85)}
.fiche-legend span{display:inline-flex;align-items:center;gap:7px}
.fiche-legend i{display:inline-block;width:14px;height:10px;border:1.5px solid var(--saffron);box-sizing:border-box}
.fiche-legend i[data-s="f"]{background:var(--saffron)}
.fiche-legend i[data-s="e"]{background:var(--avoid);border-color:var(--avoid)}
.fiche-legend i.is-now{width:0;height:0;border:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:6px solid #FFF}
.fiche-quand-copy{display:flex;flex-direction:column;gap:18px;font-size:14px;line-height:1.8;color:rgba(255,255,255,.88)}
.fiche-event{border:1px solid rgba(255,255,255,.3);padding:18px 20px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 18px;align-items:start}
.fiche-event b{font:italic 700 34px/1 var(--serif);color:var(--saffron);grid-row:1/3}
.fiche-event strong{font-size:13px}
.fiche-event p{font-size:12.5px;line-height:1.6;color:rgba(255,255,255,.8)}
.fiche-source{font-size:11.5px;color:rgba(255,255,255,.6)}

/* À savoir */
.fiche-savoir{display:flex;flex-direction:column;gap:16px;padding:clamp(20px,2.4cqi,28px);background:#FFF;color:var(--ink);border:1px solid var(--line);min-height:250px}
.fiche-savoir.is-own{background:var(--night);color:#FFF;border-color:var(--night)}
.fiche-savoir-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.fiche-picto{width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--line2);background:var(--paper);color:var(--saffron-dark);flex:0 0 auto}
.fiche-savoir.is-own .fiche-picto{border-color:rgba(246,167,45,.55);background:rgba(255,255,255,.04);color:var(--saffron)}
.fiche-scope{font:600 10.5px/1.4 Poppins,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-align:right}
.fiche-scope span{color:var(--saffron)}
a.fiche-scope:hover{color:var(--saffron-dark)}
.fiche-savoir.is-own .fiche-scope{color:var(--saffron)}
.fiche-savoir h3{font:700 clamp(24px,2.2cqi,28px)/1 var(--serif)}
.fiche-savoir p{font-size:13.5px;line-height:1.75;color:var(--text3)}
.fiche-savoir.is-own p{color:rgba(255,255,255,.88)}
.fiche-savoir footer{margin-top:auto;padding-top:12px;border-top:1px solid var(--mist);font-size:11.5px;color:var(--muted)}
.fiche-savoir.is-own footer{border-top-color:rgba(255,255,255,.18);color:rgba(255,255,255,.65)}
.fiche-faq{margin-top:clamp(28px,3cqi,44px);display:grid;max-width:880px}
.fiche-faq details{border-top:1px solid var(--line);padding:14px 0}
.fiche-faq summary{cursor:pointer;font-weight:600;font-size:14px}
.fiche-faq p{font-size:13.5px;line-height:1.75;color:var(--text3);margin-top:10px}

/* Y aller */
.fiche-yaller{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:clamp(32px,5cqi,80px);align-items:center}
.fiche-yaller-rows{display:grid;margin-top:26px}
.fiche-yaller-rows>div{padding:16px 0;border-top:1px solid var(--line)}
.fiche-yaller-rows>div:first-child{border-top-color:var(--ink)}
.fiche-yaller-rows h3{font-size:13px;font-weight:600;margin-bottom:6px}
.fiche-yaller-rows p{font-size:13.5px;line-height:1.75;color:var(--text3)}
.fiche-trace{border:1px solid var(--line);padding:14px;background:#FFF;max-width:560px;margin-left:auto;width:100%}
.fiche-trace header{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted);margin-bottom:6px}
.fiche-trace header b{color:var(--saffron-dark);letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.fiche-trace svg{display:block;width:100%;height:auto}
.fiche-trace .dz{fill:var(--paper);stroke:var(--avoid);stroke-width:1;vector-effect:non-scaling-stroke}
.fiche-trace .route{fill:none;stroke:var(--saffron);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:6 5;vector-effect:non-scaling-stroke}
.fiche-trace text{font:600 12px Poppins,sans-serif;fill:var(--ink);paint-order:stroke;stroke:#FFF;stroke-width:3px}
.fiche-trace text.is-context{font-weight:500;font-size:11px;fill:var(--muted)}
.fiche-trace figcaption{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:6px}

/* Voyages */
.fiche-trip{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));border:1px solid var(--line)}
.fiche-trip+.fiche-trip{margin-top:20px}
.fiche-trip-figure{position:relative;display:block;min-height:340px;overflow:hidden;background:var(--mist)}
.fiche-trip-figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fiche-badge{position:absolute;left:18px;top:18px;z-index:1;padding:6px 11px;background:var(--saffron);color:var(--ink);font-size:12px;font-weight:600}
.fiche-trip-copy{padding:clamp(24px,3cqi,40px);display:flex;flex-direction:column;gap:14px}
.fiche-trip-copy h3{font:700 clamp(36px,3.6cqi,52px)/1 var(--serif);letter-spacing:-.03em}
.fiche-trip-copy>p{font-size:13.5px;line-height:1.75;color:var(--text3)}
.fiche-days{display:grid}
.fiche-days>div{display:grid;grid-template-columns:minmax(0,90px) minmax(0,1fr);gap:14px;padding:9px 0;border-bottom:1px solid var(--mist);font-size:13px;line-height:1.55;color:var(--text3)}
.fiche-days b{color:#556d76;font-weight:600}
.fiche-days>div.is-here b{color:var(--ink)}
.fiche-trip-foot{margin-top:auto;display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding-top:14px}
.fiche-trip-foot small{flex:1 1 200px;font-size:12.5px;color:var(--muted)}
.fiche-trip-foot strong{font-size:14px}
.fiche-button{display:inline-flex;align-items:center;min-height:44px;padding:10px 16px;background:var(--night);color:#FFF;font-size:12.5px;font-weight:600}
.fiche-button:hover{background:var(--deep);color:#FFF}
.fiche-ideas{margin-top:clamp(28px,3cqi,44px)}
.fiche-ideas h3{font:700 clamp(26px,2.4cqi,34px)/1 var(--serif);margin-bottom:12px}
.fiche-ideas>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:0 28px}
.fiche-idea{border-top:1px solid var(--line);padding:16px 0;display:flex;flex-direction:column;gap:8px}
.fiche-idea small{font:600 10.5px/1.4 Poppins,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--saffron-dark)}
.fiche-idea strong{font-size:14.5px}
.fiche-idea p{font-size:13px;line-height:1.7;color:var(--text3)}
.fiche-idea .fiche-link{align-self:flex-start}

.fiche-facts>.fiche-facts-add{display:none;grid-column:1/-1}
/* Mobile (bascule de la maquette : 720 px, comme l’accueil) */
@media (max-width:720px){
  .fiche{--gut:20px}
  .fiche-hero{min-height:640px}
  .fiche-h1{font-size:clamp(44px,12.5vw,60px)}
  .fiche-hero-actions{position:absolute;top:calc(var(--fiche-nav,108px) + 14px);right:var(--gut);animation:none}
  .fiche-hero-actions>:not(.fiche-photos){display:none}
  .fiche-facts>div{border-right:0!important;margin-right:0!important;padding-right:0}
  .fiche-facts>.fiche-facts-add{display:block;padding:6px 0 18px}
  .fiche-facts-add .fiche-add{width:100%;min-height:50px}
  .fiche-hero-split,.fiche-hero-place,.fiche-dans,.fiche-list>li,.fiche-feature{grid-template-columns:minmax(0,1fr)}
  .fiche-hero-figure{min-height:340px}
  .fiche-hero-place-figure{min-height:460px}
  .fiche-hero-aside{border-left:0}
  .fiche-recit-figure,.fiche-dans-head{position:static}
  /* Vues du Récit en carrousel (demande de Mehdi du 30/09) : toutes à la même taille, une vue et la moitié de la
     suivante, à faire défiler au doigt. La légende de la première vue reste dans son texte alternatif. */
  .fiche-recit-media{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gut);scrollbar-width:none;margin:0 calc(-1 * var(--gut));padding:0 var(--gut);-webkit-overflow-scrolling:touch}
  .fiche-recit-media::-webkit-scrollbar{display:none}
  .fiche-recit-thumbs{display:contents}
  .fiche .fiche-recit-media button,.fiche-recit-media>img{flex:0 0 64%;width:auto;scroll-snap-align:start}
  .fiche .fiche-recit-media>:only-child{flex-basis:100%}
  .fiche-recit-media img{aspect-ratio:4/5;max-height:none;height:auto}
  .fiche-recit-figure figcaption{display:none}
  .fiche-geo.is-big{min-height:360px}
  .fiche-row>*{flex-basis:280px}
  .fiche-row.is-savoir>*{flex-basis:300px}
  .fiche-trace{margin:0}
  .fiche-trace text{font-size:22px;stroke-width:5px}
  .fiche-trace text.is-context{font-size:20px}
}

/* ==========================================================================================================
   Gabarits région, ville et lieu (geo/fiche.js) — reproduits à l’identique des maquettes du 30/09 (23 h) :
   région ← Tassili.dc.html, ville ← Djanet.dc.html, lieu ← Essendilene.dc.html (décision « Maquette partout », 1er/10).
   Classes geo-* propres à ces gabarits : les pages Sahara et Découvertes, qui chargent aussi ce fichier, n’en
   dépendent pas. Valeurs reprises des styles en ligne des maquettes ; cqi rapportés à .fiche ; mobile ≤ 720 px.
   ========================================================================================================== */
.geo-h1{font-family:var(--serif);font-weight:700;line-height:.86;letter-spacing:-.05em;margin:0;overflow-wrap:break-word}
.geo-kicker{font:600 11.5px/1.4 Poppins,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--saffron)}
.geo-chapo{font-family:var(--serif);font-style:italic;font-weight:700;text-wrap:pretty}
.fiche .geo-open{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;cursor:zoom-in}
.geo-h2{font:700 clamp(34px,3.8cqi,56px)/.98 var(--serif);letter-spacing:-.03em;text-wrap:balance}
.geo-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 24px;margin-bottom:clamp(24px,3cqi,40px)}
.geo-head.is-tight{margin-bottom:clamp(20px,2.4cqi,32px)}
.geo-head-t,.geo-head-col{display:flex;flex-direction:column;gap:8px}
.geo-head-col{margin-bottom:clamp(24px,3cqi,40px)}
.geo-head-side{display:flex;flex-direction:column;gap:10px;align-items:flex-start;max-width:440px}
.geo-intro{font-size:13.5px;line-height:1.7;color:var(--text2);max-width:420px}
.fiche .geo-link{display:inline-flex;gap:6px;width:max-content;max-width:100%;font-size:12.5px;font-weight:600;border-bottom:1px solid currentColor;padding-bottom:1px}

/* Héros plein cadre (région, Tassili) : il grandit avec son texte, jamais de titre sous la navigation transparente. */
.geo-hero{position:relative;min-height:clamp(560px,78vh,860px);display:flex;flex-direction:column;justify-content:flex-end;background:#1d2a31;overflow:hidden;color:#FFF}
.geo-hero>img,.geo-hero .geo-open img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* Haut du voile plus dense que la maquette : la navigation transparente reste lisible sur toute photo. */
.geo-hero-veil{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(11,12,13,.62) 0,rgba(11,12,13,.3) 130px,rgba(11,12,13,0) 260px,rgba(11,12,13,.12) 55%,rgba(11,12,13,.72) 100%)}
.geo-hero-in{position:relative;z-index:1;padding:calc(108px + clamp(32px,4cqi,56px)) var(--gut) clamp(28px,3.4cqi,52px);pointer-events:none}
.geo-hero-in a{pointer-events:auto}
.geo-hero-copy{display:flex;flex-direction:column;gap:14px;animation:fiche-rise .6s ease both}
.geo-hero .geo-h1{font-size:clamp(72px,12cqi,176px);text-shadow:0 2px 40px rgba(0,0,0,.25)}
.geo-hero .geo-chapo{font-size:clamp(22px,2.2cqi,32px);line-height:1.15;max-width:640px;color:rgba(255,255,255,.96)}

/* Héros clair partagé (ville, Djanet) */
.geo-vhero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);min-height:clamp(560px,76vh,800px);background:var(--paper);border-bottom:1px solid var(--line)}
.geo-vhero-copy{padding:clamp(24px,3cqi,44px) var(--gut) clamp(28px,3.4cqi,48px);display:flex;flex-direction:column;justify-content:space-between;gap:36px;min-width:0}
.geo-vhero-crumbs{display:flex;flex-direction:column;gap:14px}
.geo-vhero .fiche-crumbs{margin:0;white-space:nowrap}
.geo-vhero-title{display:flex;flex-direction:column;gap:16px;animation:fiche-rise .6s ease both}
.geo-vhero .geo-kicker{font-size:11px;color:var(--saffron-dark)}
.geo-vhero .geo-h1{font-size:clamp(64px,9.6cqi,140px)}
.geo-vhero .geo-chapo{font-size:clamp(22px,2cqi,30px);line-height:1.2;color:var(--deep);max-width:520px}
.geo-vhero-figure{position:relative;min-height:100%;background:#1d2a31;overflow:hidden}
.geo-vhero-figure>img,.geo-vhero-figure .geo-open img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.geo-vhero-figure figcaption{position:absolute;left:18px;right:18px;bottom:14px;z-index:1;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:11px;line-height:1.5;color:rgba(255,255,255,.9);text-shadow:0 1px 6px rgba(0,0,0,.6);pointer-events:none}

/* Héros sombre partagé (lieu, Essendilène) */
.geo-lhero{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.7fr);min-height:clamp(560px,76vh,800px);background:var(--night);color:#FFF}
.geo-lhero-figure{position:relative;min-height:100%;background:#1d2a31;overflow:hidden}
.geo-lhero-figure>img,.geo-lhero-figure .geo-open img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.geo-lhero-veil{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(11,12,13,0) 45%,rgba(11,12,13,.75) 100%)}
.geo-lhero-title{position:absolute;left:var(--gut);right:var(--gut);bottom:clamp(24px,3cqi,44px);display:flex;flex-direction:column;gap:12px;animation:fiche-rise .6s ease both;pointer-events:none}
.geo-lhero .geo-h1{font-size:clamp(52px,7.4cqi,112px);line-height:.88;letter-spacing:-.045em;text-shadow:0 2px 40px rgba(0,0,0,.35);text-wrap:balance}
.geo-lhero .geo-chapo{font-size:clamp(20px,1.9cqi,28px);line-height:1.2;max-width:560px;color:rgba(255,255,255,.95)}
.geo-lhero-aside{padding:clamp(24px,3cqi,44px) clamp(22px,2.8cqi,40px);display:flex;flex-direction:column;justify-content:center;gap:32px;border-left:1px solid rgba(255,255,255,.14);min-width:0}
.geo-lhero-aside>div{display:flex;flex-direction:column;gap:16px}
.geo-lhero .fiche-crumbs{margin:0}
.geo-lhero-situ{font:italic 700 clamp(20px,1.9cqi,26px)/1.2 var(--serif);color:#FFF;text-wrap:pretty}

/* Barre d’ancres : « Voir mes envies » (liste d’envies) à droite, masqué tant que la liste est vide ; il remplace
   l’ancien compteur du voyage. C’est un bouton (il ouvre le panier) : il reprend la forme des liens de la barre. */
.fiche .fiche-anchor-nav .geo-count{margin-left:auto;display:flex;align-items:center;flex:0 0 auto;gap:8px;height:44px;padding:0;border:0;border-bottom:2px solid transparent;background:none;color:var(--ink);font:inherit;font-weight:600;white-space:nowrap;cursor:pointer}
.fiche-anchor-nav .geo-count[hidden]{display:none}
.geo-count svg{width:14px;height:14px}
.geo-count svg path{fill:var(--saffron)}

/* Récit */
.geo-recit{padding:clamp(56px,7cqi,112px) var(--gut) clamp(48px,6cqi,96px)}
.geo-recit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:clamp(32px,5cqi,88px);align-items:start}
.geo-recit-copy{display:flex;flex-direction:column;gap:22px;max-width:640px;min-width:0}
.geo-recit-h2{font:700 clamp(38px,4.4cqi,64px)/.96 var(--serif);letter-spacing:-.035em;text-wrap:balance}
.geo-lead{font-family:var(--serif);font-weight:500;font-size:clamp(20px,1.6cqi,23px);line-height:1.45;color:var(--deep);text-wrap:pretty}
.geo-body{font-size:15.5px;line-height:1.85;color:#1d2a31;text-wrap:pretty}
.geo-points{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:20px 28px;padding-top:8px}
.geo-points>div{padding-top:14px;border-top:2px solid var(--ink);display:flex;flex-direction:column;gap:6px}
.geo-points h3{font:600 13px/1.5 Poppins,sans-serif}
.geo-points p{font-size:13.5px;line-height:1.75;color:var(--text3)}
.geo-recit-figure{display:flex;flex-direction:column;gap:10px;position:sticky;top:132px;min-width:0}
.fiche .geo-recit-open{display:block;width:100%;padding:0;cursor:zoom-in}
.geo-recit-figure img{width:100%;height:auto;aspect-ratio:3/2;max-height:560px;object-fit:cover}
.geo-recit-figure figcaption{display:flex;justify-content:space-between;gap:12px;font-size:12px;line-height:1.5;color:var(--muted)}

/* Dans : région (grande carte et rangée), ville (tête collante et liste à filets) */
.geo-dans-r{padding:clamp(48px,6cqi,96px) var(--gut);background:var(--paper);border-top:1px solid var(--line)}
.geo-tile .fiche-geo-title{text-wrap:balance}
.geo-dans-v{padding:clamp(48px,6cqi,96px) var(--gut);background:var(--paper);border-top:1px solid var(--line)}
.geo-dans-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:clamp(28px,4cqi,72px);align-items:start}
.geo-dans-head{display:flex;flex-direction:column;gap:14px;position:sticky;top:132px}
.geo-dans-list{display:flex;flex-direction:column;min-width:0}
.geo-dans-list>article{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:14px 32px;padding:clamp(22px,2.4cqi,32px) 0;border-top:1px solid var(--ink)}
.geo-dans-list>article>div{display:flex;flex-direction:column;gap:8px;min-width:0}
.geo-dans-list h3{font:700 clamp(28px,2.6cqi,38px)/1 var(--serif);letter-spacing:-.025em;text-wrap:balance}
.geo-dans-list p{font-size:14px;line-height:1.8;color:var(--text3);text-wrap:pretty;max-width:60ch}
.geo-dans-end{border-top:1px solid var(--ink)}

/* À vivre : photo propre au sujet au-dessus du texte ; sans photo, une carte de texte. */
.geo-vivre{padding:clamp(56px,7cqi,112px) var(--gut) clamp(24px,3cqi,48px)}
.geo-vivre-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:20px}
.geo-xcard{position:relative;min-height:380px;display:flex;flex-direction:column;overflow:hidden;min-width:0}
.geo-xcard-copy{position:relative;padding:clamp(24px,3cqi,40px);display:flex;flex:1;flex-direction:column;gap:14px;min-width:0;overflow:hidden}
.fiche .geo-xcard-img{display:block;flex:none;aspect-ratio:3/2;background:var(--night);overflow:hidden}
.geo-xcard-img img{display:block;width:100%;height:100%;object-fit:cover}
.geo-xcard.is-dark{background:var(--night);color:#FFF}
.geo-xcard.is-light{background:#FFF6E6;border:1px solid #F1DDB6}
.geo-xcard-letter{position:absolute;right:-6%;top:-14%;font:italic 700 clamp(200px,26cqi,360px)/1 var(--serif);color:rgba(246,167,45,.09);pointer-events:none;user-select:none}
.geo-xcard-top{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px}
.geo-xcard-k{font:600 11px/1.4 Poppins,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--saffron-dark)}
.geo-xcard.is-dark .geo-xcard-k,.geo-xfeature .geo-xcard-k{color:var(--saffron)}
.geo-xcard-t{position:relative;font:700 clamp(38px,3.8cqi,56px)/.96 var(--serif);letter-spacing:-.03em}
.geo-xcard-t span{font:600 14px/1 Poppins,sans-serif;color:var(--saffron-dark)}
.fiche .geo-xcard.is-dark .geo-xcard-t a,.fiche .geo-xfeature .geo-xcard-t a{color:#FFF}
.fiche .geo-xcard.is-dark .geo-xcard-t a:hover,.fiche .geo-xfeature .geo-xcard-t a:hover{color:var(--saffron)}
.geo-xcard.is-dark .geo-xcard-t span,.geo-xfeature .geo-xcard-t span{color:var(--saffron)}
.geo-xcard-x{position:relative;font-size:14.5px;line-height:1.75;color:var(--text3);max-width:52ch}
.geo-xcard.is-dark .geo-xcard-x{color:rgba(255,255,255,.9)}
.geo-xcard-chips{position:relative;margin-top:auto;display:flex;flex-wrap:wrap;gap:8px}
.geo-chip{padding:6px 11px;border:1px solid #D9C7A3;font-size:12px;font-weight:600;line-height:1.4;white-space:nowrap}
.geo-xcard.is-dark .geo-chip,.geo-xfeature .geo-chip{border-color:rgba(255,255,255,.35)}
.geo-chip.is-note{background:var(--saffron);border-color:var(--saffron);color:var(--ink)}
.geo-xfeature{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));background:#0b1016;color:#FFF;min-height:300px}
.fiche .geo-xfeature-img{position:relative;display:block;min-height:260px;background:#1d2a31;overflow:hidden}
.geo-xfeature-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.geo-xfeature-copy{padding:clamp(24px,3cqi,40px);display:flex;flex-direction:column;gap:14px;min-width:0}
.geo-xfeature .geo-xcard-t{font-size:clamp(34px,3.4cqi,50px)}
.geo-xfeature .geo-xcard-x{color:rgba(255,255,255,.9);max-width:56ch}
/* Marque-page 44 × 44 (fond safran clair une fois gardé ; icône pleine) */
.fiche .geo-mark{flex:none;width:44px;height:44px;display:grid;place-items:center;padding:0;border:1px solid var(--line);background:#FFF;color:var(--ink);cursor:pointer;text-align:center}
.fiche .geo-mark svg{width:16px;height:16px}
.fiche .geo-mark[aria-pressed="true"]{background:#FFF6E6}
.fiche .geo-mark[aria-pressed="true"] svg path,.fiche .geo-tiroir-add[aria-pressed="true"] svg path{fill:var(--saffron)}
.fiche .geo-xcard.is-light .geo-mark{border-color:#D9C7A3}
.fiche .geo-xcard.is-dark .geo-mark{background:transparent;border-color:rgba(255,255,255,.35);color:#FFF}

/* À voir : cartes 4/5 (région), lignes (ville), liste compacte (lieu) */
.geo-voir{padding:clamp(48px,6cqi,96px) var(--gut)}
.geo-act{font:600 10.5px/1.4 Poppins,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--saffron-dark)}
.geo-where{font-size:12.5px;color:var(--text2)}
.geo-tags{display:flex;flex-wrap:wrap;gap:6px}
.geo-tag{padding:4px 9px;background:var(--mist);font-size:12px;font-weight:600;line-height:1.4;white-space:nowrap}
.geo-spots{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:clamp(18px,2.4cqi,32px)}
.geo-spot{display:flex;flex-direction:column;gap:14px;min-width:0}
.fiche .geo-spot-photo,.fiche a.geo-spot-photo:hover{position:relative;display:block;width:100%;aspect-ratio:4/5;overflow:hidden;background:#1d2a31;color:#FFF}
.geo-spot-photo img,.geo-row-photo img,.geo-mini-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.geo-spot-photo:hover img,.geo-row-photo:hover img{transform:scale(1.04)}
.geo-spot-photo.is-flat,.geo-row-photo.is-flat,.geo-mini-img.is-flat{background:linear-gradient(160deg,#193342,#0F1C24)}
.geo-spot-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,12,13,0) 45%,rgba(11,12,13,.7) 100%)}
.geo-spot-cap{position:absolute;left:18px;right:18px;bottom:18px;display:flex;flex-direction:column;gap:6px;color:#FFF;text-align:left}
.geo-spot-cap .geo-act{color:var(--saffron)}
.geo-spot-t{font:700 clamp(28px,2.4cqi,36px)/1 var(--serif);letter-spacing:-.02em;text-wrap:balance}
.geo-spot-foot{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.geo-spot-copy{display:flex;flex-direction:column;gap:8px;min-width:0}
.geo-spot-copy p,.geo-row-copy p{font-size:13.5px;line-height:1.7;color:var(--text3)}
.fiche .geo-spot-open{margin-top:2px}
.geo-rows{display:flex;flex-direction:column;border-top:1px solid var(--ink)}
.geo-row{display:grid;grid-template-columns:220px minmax(0,1fr) auto;gap:16px 28px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);min-width:0}
.fiche .geo-row-photo{position:relative;display:block;width:100%;aspect-ratio:4/3;overflow:hidden;background:#1d2a31}
.geo-row-copy{min-width:0;display:flex;flex-direction:column;gap:8px}
.fiche .geo-row-t{font:700 clamp(26px,2.4cqi,34px)/1 var(--serif);letter-spacing:-.02em;text-wrap:balance;color:var(--ink)}
.fiche a.geo-row-t:hover{color:var(--saffron-dark)}
.geo-row-copy p{max-width:62ch}
.geo-row-btns{display:flex;gap:8px;align-self:center}
.fiche .geo-icon{flex:none;width:44px;height:44px;display:grid;place-items:center;padding:0;border:1px solid var(--line);color:var(--ink);cursor:pointer}
.geo-voir-l{padding:clamp(40px,5cqi,72px) var(--gut);border-top:1px solid var(--line)}
.geo-voir-l-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:clamp(24px,4cqi,72px);align-items:start}
.geo-voir-l-head{display:flex;flex-direction:column;gap:12px}
.geo-voir-l-head .geo-intro{max-width:300px}
.geo-minis{display:flex;flex-direction:column;border-top:1px solid var(--ink)}
.fiche .geo-mini{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:12px 24px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);min-width:0}
.geo-mini-img{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--mist)}
.geo-mini-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.geo-mini-t{font:700 clamp(24px,2.2cqi,30px)/1 var(--serif);color:var(--ink)}
/* Entrée sans vignette (pas d’image, ou image déjà montrée dans la page) : le texte reste dans sa colonne. */
.geo-row.is-sans .geo-row-copy,.geo-mini.is-sans .geo-mini-copy{grid-column:2}
/* Point fort dans la liste compacte : son texte sous le titre (la maquette n’a que le titre et « Dans … »). */
.geo-mini-x{margin-top:4px;font-size:12.5px;line-height:1.6;color:var(--text3);max-width:62ch}
.geo-mini-go{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);font-size:14px;font-weight:600;color:var(--saffron-dark);justify-self:end}

/* Quand partir : sombre (région, Tassili) et claire (ville, Djanet) */
.geo-quand-d{padding:clamp(56px,7cqi,104px) var(--gut);background:var(--night);color:#FFF}
.geo-quand-d .fiche-overline{color:var(--saffron)}
.geo-quand-d-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:clamp(32px,5cqi,96px);align-items:start}
.geo-quand-d-left{display:flex;flex-direction:column;gap:22px;min-width:0}
.geo-quand-d-h2{font:italic 700 clamp(48px,6cqi,92px)/.92 var(--serif);letter-spacing:-.03em;color:var(--saffron)}
.geo-quand-d-right{display:flex;flex-direction:column;gap:18px;padding-top:clamp(0px,4cqi,58px);min-width:0}
.geo-quand-d-right>p{font-size:15px;line-height:1.85;color:rgba(255,255,255,.95);max-width:60ch}
.fiche .geo-quand-d .geo-link{color:#FFF}
.geo-band{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:5px;padding-top:6px}
.geo-band>div{display:flex;flex-direction:column;gap:8px;min-width:0}
.geo-band-well{height:48px;display:flex;align-items:flex-end}
.geo-band i{display:block;width:100%;height:48px;border:1.5px solid var(--saffron);box-sizing:border-box}
.geo-band i[data-s="f"]{background:var(--saffron)}
.geo-band i[data-s="e"]{background:var(--avoid);border-color:var(--avoid)}
.geo-band b{font-size:11.5px;font-weight:600;text-align:center;color:rgba(255,255,255,.7)}
.geo-band b[data-s="f"]{color:#FFF}
.geo-band em{display:flex;justify-content:center;height:8px}
.geo-band em.is-now::after{content:"";width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:6px solid #FFF}
.geo-legend{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:11.5px;color:rgba(255,255,255,.85)}
.geo-legend span{display:inline-flex;gap:6px;align-items:center}
.geo-legend i{display:inline-block;width:14px;height:10px;box-sizing:border-box}
.geo-legend i[data-s="f"]{background:var(--saffron)}
.geo-legend i[data-s="p"]{border:1.5px solid var(--saffron)}
.geo-legend i[data-s="e"]{background:var(--avoid)}
.geo-legend i.is-now{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:6px solid #FFF}
.geo-event{display:flex;gap:16px;align-items:flex-start;padding:18px 20px;border:1px solid rgba(255,255,255,.3)}
.geo-event>b{font:italic 700 34px/1 var(--serif);color:var(--saffron);flex:none}
.geo-event>div{display:flex;flex-direction:column;gap:4px}
.geo-event strong{font-size:13.5px;font-weight:600}
.geo-event span{font-size:13px;line-height:1.6;color:rgba(255,255,255,.85)}
.geo-source{font-size:11.5px;color:rgba(255,255,255,.7)}
.geo-quand-l{padding:clamp(40px,5cqi,72px) var(--gut);background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.geo-quand-l-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:clamp(24px,4cqi,72px);align-items:center}
.geo-quand-l-left{display:flex;flex-direction:column;gap:10px}
.geo-quand-l-h2{font:italic 700 clamp(40px,4.4cqi,64px)/.95 var(--serif);letter-spacing:-.03em}
.geo-quand-l-right{display:flex;flex-direction:column;gap:14px;min-width:0}
.geo-quand-l-right>p{font-size:14px;line-height:1.75;color:#1d2a31;max-width:66ch}
.geo-band.is-light{gap:4px;padding-top:0}
.geo-band.is-light>div{gap:6px}
.geo-band.is-light .geo-band-well,.geo-band.is-light i{height:28px}
.geo-band.is-light b{font-size:11px;color:var(--muted)}
.geo-band.is-light b[data-s="f"]{color:var(--ink)}
.geo-callout{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;padding:10px 14px;border:1px solid #D9C7A3;background:#FFF6E6;width:max-content;max-width:100%}
.geo-callout b{font:italic 700 22px/1.1 var(--serif);color:var(--saffron-dark)}
.geo-callout span{font-size:12.5px;line-height:1.5;color:#6B4000}

/* À savoir : cartes propres (sombres) et héritées (claires), carte de saison d’un lieu */
.geo-savoir{padding:clamp(56px,7cqi,104px) var(--gut);background:var(--paper);border-top:1px solid var(--line2)}
.geo-savoir .geo-intro{max-width:460px}
.geo-srow{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gut);scrollbar-width:none;margin:0 calc(-1 * var(--gut));padding:0 var(--gut) 4px;-webkit-overflow-scrolling:touch}
.geo-srow::-webkit-scrollbar{display:none}
.geo-srow>*{flex:0 0 clamp(280px,31%,360px);scroll-snap-align:start;display:flex}
.geo-scard{flex:1;display:flex;flex-direction:column;gap:16px;padding:clamp(20px,2.4cqi,28px);background:#FFF;color:var(--ink);border:1px solid var(--line);min-height:250px;min-width:0}
.geo-scard.is-own{background:var(--night);color:#FFF;border-color:var(--night)}
.geo-scard-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.geo-scard.is-own .fiche-picto{border-color:rgba(246,167,45,.55);background:rgba(255,255,255,.04);color:var(--saffron)}
.fiche .geo-scope{display:inline-flex;align-items:center;gap:6px;padding-top:4px;font:600 10.5px/1.4 Poppins,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.geo-scope i{font-style:normal;color:var(--saffron)}
.fiche a.geo-scope:hover{color:var(--saffron-dark)}
.fiche .geo-scard.is-own .geo-scope{color:var(--saffron)}
.geo-scard-body{display:flex;flex-direction:column;gap:8px}
.geo-scard h3{font:700 clamp(24px,2.2cqi,28px)/1 var(--serif);letter-spacing:-.02em;text-wrap:balance}
.geo-scard p{font-size:13.5px;line-height:1.75;color:var(--text3)}
.geo-scard.is-own p{color:rgba(255,255,255,.88)}
.geo-scard footer{margin-top:auto;padding-top:12px;border-top:1px solid var(--mist);font-size:11.5px;line-height:1.5;color:var(--muted)}
.geo-scard.is-own footer{border-top-color:rgba(255,255,255,.18);color:rgba(255,255,255,.65)}
.fiche .geo-saison{margin-bottom:14px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:14px 28px;align-items:center;padding:clamp(18px,2.2cqi,28px);background:#FFF;border:1px solid var(--line);color:var(--ink)}
.fiche a.geo-saison:hover{border-color:var(--ink);color:var(--ink)}
.geo-saison-k{display:flex;flex-direction:column;gap:4px}
.geo-saison-k>span:first-child{font:600 10.5px/1.4 Poppins,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.geo-saison-v{font:italic 700 clamp(30px,3cqi,40px)/1 var(--serif);color:var(--ink)}
.geo-saison-v i{font:normal 600 12px/1 Poppins,sans-serif;color:var(--saffron-dark)}
.geo-saison-band{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:3px;align-items:end;height:22px}
.geo-saison-band i{display:block;height:22px;border:1px solid var(--saffron);box-sizing:border-box}
.geo-saison-band i[data-s="f"]{background:var(--saffron)}
.geo-saison-band i[data-s="e"]{background:var(--avoid);border-color:var(--avoid)}

/* Y aller et « Le Tracé » (noms en HTML sur la carte, comme la maquette) */
.geo-yaller{padding:clamp(56px,7cqi,104px) var(--gut)}
.geo-yaller-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:clamp(32px,5cqi,88px);align-items:center}
.geo-yaller-left{display:flex;flex-direction:column;gap:22px;min-width:0}
.geo-yrows{display:flex;flex-direction:column}
.geo-yrows>div{padding:18px 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.geo-yrows>div:first-child{border-top-color:var(--ink)}
.geo-yrows h3{font:600 14px/1.5 Poppins,sans-serif}
.geo-yrows p{font-size:14px;line-height:1.75;color:var(--text3)}
.geo-trace{border:1px solid var(--line);padding:14px;display:flex;flex-direction:column;gap:10px;background:#FFF;width:100%;max-width:560px;margin:0 0 0 auto}
.geo-trace-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.geo-trace-head>span:first-child{font:600 11px/1.4 Poppins,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--saffron-dark)}
.geo-trace-head>span:last-child{font-size:11px;color:var(--muted)}
.geo-trace-map{position:relative}
.geo-trace svg{display:block;width:100%;height:auto}
.geo-trace .dz{fill:var(--paper);stroke:var(--avoid);stroke-width:1;vector-effect:non-scaling-stroke}
.geo-trace .route{fill:none;stroke:var(--saffron);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:6 5;vector-effect:non-scaling-stroke}
.geo-trace circle{stroke-width:1.5;vector-effect:non-scaling-stroke}
.geo-trace-lbl{position:absolute;font:600 12px/1 Poppins,sans-serif;color:var(--ink);white-space:nowrap;pointer-events:none;text-shadow:0 0 3px #FFF,0 0 3px #FFF}
.geo-trace-lbl.is-ctx{font-size:11px;font-weight:500;color:var(--muted)}
.geo-trace figcaption{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--muted)}

/* Vu dans la série */
.geo-serie{padding:clamp(56px,7cqi,104px) var(--gut)}
.geo-serie-box{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));border:1px solid var(--line)}
.geo-serie-figure{position:relative;min-height:360px;background:#1d2a31}
.geo-serie-figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.geo-serie-figure figcaption{position:absolute;left:14px;bottom:12px;font-size:10.5px;color:rgba(255,255,255,.85);text-shadow:0 1px 6px rgba(0,0,0,.6)}
.geo-serie-copy{padding:clamp(24px,3.4cqi,48px);display:flex;flex-direction:column;gap:16px;justify-content:center}
.geo-serie-h2{font:700 clamp(30px,3cqi,44px)/1 var(--serif);letter-spacing:-.03em;text-wrap:balance}
.geo-serie-seqs>div{display:grid;grid-template-columns:minmax(0,1fr);gap:4px 14px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.geo-serie-seqs>div:first-child{border-top:1px solid var(--line)}
.geo-serie-seqs b{font-weight:600}
.geo-serie-seqs span{color:var(--text3)}
/* Un lieu filmé dont la page est ouverte est un lien : il se voit, comme les maillons du fil (lot 2). */
.geo-serie-seqs a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:rgba(11,12,13,.38);text-underline-offset:3px}
.geo-serie-seqs a:hover,.geo-serie-seqs a:focus-visible{color:var(--saffron-dark);text-decoration-color:currentColor}
/* Le nom du lieu est le sujet de la ligne : il prend la piste souple, la situation une piste étroite à droite.
   La grille se décide par LISTE et non par ligne, sinon deux lignes voisines n'ont pas les mêmes colonnes. */
.geo-serie-seqs:has(span)>div{grid-template-columns:minmax(0,1fr) minmax(0,150px)}
.geo-serie-seqs span{text-align:right}
@media(max-width:640px){.geo-serie-seqs:has(span)>div{grid-template-columns:minmax(0,1fr)}.geo-serie-seqs span{text-align:left}}
.geo-serie-note{font-size:13.5px;line-height:1.7;color:var(--text2)}
.fiche a.geo-serie-cta{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:12px 18px;border:1px solid var(--ink);font-size:13px;font-weight:600}
.fiche a.geo-serie-cta:hover{background:var(--ink);color:#FFF}

/* Voyages : carte large, badge des jours, tableau des jours, pied agence / prix / bouton */
.geo-voyages{padding:clamp(56px,7cqi,104px) var(--gut)}
.geo-trip{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));background:#FFF;border:1px solid var(--line)}
.geo-trip+.geo-trip{margin-top:20px}
.geo-trip-img{position:relative;min-height:340px;background:#1d2a31}
.geo-trip-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.geo-trip-badge{position:absolute;left:18px;top:18px;padding:6px 11px;background:var(--saffron);color:var(--ink);font-size:12px;font-weight:600;white-space:nowrap}
.geo-trip-copy{padding:clamp(24px,3.4cqi,48px);display:flex;flex-direction:column;gap:14px;min-width:0}
.geo-trip-k{font:600 11px/1.4 Poppins,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--saffron-dark)}
.geo-trip-t{font:700 clamp(36px,3.6cqi,52px)/.96 var(--serif);letter-spacing:-.03em}
.geo-trip-t span{font:600 14px/1 Poppins,sans-serif;color:var(--saffron-dark)}
.geo-trip-x{font-size:14px;line-height:1.75;color:var(--text3);max-width:60ch}
.geo-trip-days{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.geo-trip-days>div{display:grid;grid-template-columns:minmax(0,90px) minmax(0,1fr);gap:14px;padding:9px 0;border-bottom:1px solid var(--mist);font-size:13px;line-height:1.5}
.geo-trip-days b{font-weight:600;color:var(--muted)}
.geo-trip-days .is-here b{color:var(--ink)}
.geo-trip-days span{color:var(--text3)}
.geo-trip-foot{margin-top:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding-top:12px}
.geo-trip-foot>span{font-size:12.5px;color:var(--muted);flex:1 1 200px}
.geo-trip-foot>div{display:flex;align-items:center;gap:12px}
.geo-trip-foot b{font-size:14px;font-weight:600}
.fiche a.geo-trip-btn{display:inline-flex;align-items:center;flex:none;white-space:nowrap;min-height:44px;padding:10px 16px;background:var(--night);color:#FFF;font-size:12.5px;font-weight:600}
.fiche a.geo-trip-btn:hover{background:var(--deep);color:#FFF}

/* Autour */
.geo-autour{padding:clamp(56px,7cqi,104px) var(--gut) clamp(64px,8cqi,120px)}
.fiche-row.geo-tiles.is-flush{margin-top:0}
.geo-autour.is-ailleurs .fiche-geo{min-height:300px}
/* Série, Voyages, Autour : sans marge haute derrière une section blanche qui a déjà la sienne (maquettes). */
.geo-serie.is-suite,.geo-voyages.is-suite,.geo-autour.is-suite{padding-top:0}

/* Tiroir des haltes (région et ville) : à droite en bureau, en bas en mobile */
.geo-tiroir{position:fixed;inset:0;z-index:1100;background:rgba(11,12,13,.42);display:flex;justify-content:flex-end;align-items:stretch}
.geo-tiroir-aside{width:480px;max-width:100%;height:100%;max-height:100%;background:#FFF;color:var(--ink);overflow:auto;box-shadow:-24px 0 60px -30px rgba(11,12,13,.55);animation:geo-slidein .3s cubic-bezier(.2,.7,.2,1)}
@keyframes geo-slidein{from{transform:translateX(40px);opacity:0}to{transform:none;opacity:1}}
.geo-tiroir-head{position:sticky;top:0;z-index:2;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 22px;border-bottom:1px solid var(--line)}
.geo-tiroir-head>span{font:600 11px/1.4 Poppins,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--saffron-dark)}
.geo-tiroir-img{position:relative;aspect-ratio:16/10;background:#1d2a31}
.geo-tiroir-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.geo-tiroir-body{padding:22px 22px 32px;display:flex;flex-direction:column;gap:16px}
.geo-tiroir-crumb{font-size:12px;color:var(--text2)}
.geo-tiroir-body h3{font:700 38px/.98 var(--serif);letter-spacing:-.025em;text-wrap:balance}
.geo-tiroir .geo-tag{padding:4px 10px}
.geo-tiroir-q{font-size:14.5px;line-height:1.8;color:#1d2a31}
/* Lot 5.4 : les voyages qui passent par le lieu, sous sa description. */
.geo-tiroir-routes{display:flex;flex-direction:column;gap:6px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.geo-tiroir-routes>span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.geo-tiroir-routes>a{font-size:14px;font-weight:500;color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:rgba(11,12,13,.38);text-underline-offset:3px}
.geo-tiroir-routes>a:hover,.geo-tiroir-routes>a:focus-visible{color:var(--saffron-dark);text-decoration-color:currentColor}
.geo-tiroir-part{padding-top:12px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.geo-tiroir-part.is-quand{gap:4px}
.geo-tiroir-part>span:first-child{font:600 11px/1.4 Poppins,sans-serif;letter-spacing:.14em;text-transform:uppercase}
.geo-tiroir-part.is-quand>span:last-child{font-size:14px}
.geo-tiroir-ctx{display:flex;flex-direction:column;gap:2px}
.geo-tiroir-ctx b{font-size:13px;font-weight:600}
.geo-tiroir-ctx span{font-size:12px;color:var(--text2)}
.geo-tiroir-aut{display:flex;flex-direction:column;gap:3px}
.geo-tiroir-aut b{font:700 22px/1.05 var(--serif)}
.geo-tiroir-aut span{font-size:13px;line-height:1.65;color:var(--text3)}
.geo-tiroir-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px}
.fiche .geo-tiroir-add{display:inline-flex;align-items:center;gap:10px;min-height:50px;padding:12px 20px;background:var(--night);color:#FFF;border:1px solid var(--night);font-size:13px;font-weight:600;cursor:pointer}
.fiche .geo-tiroir-add svg{width:16px;height:16px}
.fiche .geo-tiroir-add[aria-pressed="true"]{background:var(--saffron);border-color:var(--saffron);color:var(--ink)}

/* Mobile (mode « Mobile » des maquettes, 390 px ; bascule à 720 px, comme l’accueil) */
@media (max-width:720px){
  .geo-hero{min-height:640px}
  .geo-vhero,.geo-lhero{grid-template-columns:minmax(0,1fr);min-height:0}
  .geo-vhero-figure{min-height:340px}
  .geo-lhero-figure{min-height:460px}
  .geo-recit-figure,.geo-dans-head{position:static}
  .geo-dans-grid,.geo-dans-list>article,.geo-voir-l-grid,.fiche .geo-mini,.geo-quand-l-grid,.fiche .geo-saison,.geo-row{grid-template-columns:minmax(0,1fr)}
  .fiche .geo-row-photo{aspect-ratio:16/9}
  .geo-row-btns{align-self:flex-start}
  .geo-row.is-sans .geo-row-copy,.geo-mini.is-sans .geo-mini-copy{grid-column:auto}
  .geo-srow>*{flex-basis:300px}
  .geo-trace{margin:0}
  .geo-chip,.geo-tag{white-space:normal}
  .geo-tiroir{justify-content:center;align-items:flex-end}
  .geo-tiroir-aside{width:390px;height:86%;animation-name:fiche-rise}
}
/* ---- Ville, gabarit du handoff Djanet (01/10) ---- */
/* Navigation transparente : « Mon espace » et « Mon voyage » prennent la couleur de la barre (blancs sur la photo comme
   le menu, encre une fois la barre claire) ; même règle que les découvertes (decouverte.css). */
[data-da-nav] .member-header-controls{--member-ink:currentColor}
[data-da-nav] .member-header-button:hover{background:color-mix(in srgb,currentColor 14%,transparent)}
[data-da-nav] .member-header-count{color:#102733}
/* À voir (nouvelle ville) : carrousel de lieux secondaires, cartes carrées (cinq visibles en ordinateur), puis le lien
   vers la liste des lieux de la ville. */
.vv-mini{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gut);scrollbar-width:none;margin:clamp(24px,3cqi,40px) calc(-1 * var(--gut)) 0;padding:0 var(--gut) 4px}
.vv-mini::-webkit-scrollbar{display:none}
.vv-mini>div{flex:0 0 calc((100cqi - 2 * var(--gut) - 4 * 12px) / 5);scroll-snap-align:start}
.fiche .vv-mini-card{position:relative;display:block;width:100%;aspect-ratio:1/1;overflow:hidden;background:#1d2a31;color:#FFF;text-align:left}
.vv-mini-card.is-flat{background:linear-gradient(160deg,#193342,#0F1C24)}
.vv-mini-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.vv-mini-card:hover img{transform:scale(1.04)}
.vv-mini-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,12,13,0) 45%,rgba(11,12,13,.75) 100%)}
.vv-mini-t{position:absolute;left:14px;right:14px;bottom:12px;font:700 clamp(20px,1.8cqi,24px)/1 var(--serif);letter-spacing:-.02em;text-wrap:balance}
.fiche a.vv-tous{display:inline-flex;align-items:center;gap:10px;margin-top:clamp(20px,2.4cqi,32px);min-height:48px;padding:12px 18px;border:1px solid var(--ink);font-size:13px;font-weight:600;color:var(--ink)}
.fiche a.vv-tous:hover{background:var(--ink);color:#FFF}
@media (max-width:720px){.vv-mini>div{flex-basis:42%}}
/* Le Tracé (nouvelle ville) : carte zoomée sur la région, points cliquables, petite fiche et appel au Composer. */
.vv-zoom-map{position:relative;aspect-ratio:5/4;overflow:hidden}
.vv-zoom-map svg{position:absolute;inset:0;width:100%;height:100%}
.vv-zoom .vv-sea{fill:#E6EDF2}
.vv-zoom .vv-land{fill:#F5F6F2;stroke:#93A3AD;stroke-width:1;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.vv-zoom-sea{position:absolute;left:50%;top:7%;transform:translateX(-50%);font:italic 700 15px var(--serif);color:#7E93A0;letter-spacing:.02em;pointer-events:none}
.fiche .vv-zoom-pt{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:6px;padding:4px;cursor:pointer}
.vv-zoom-pt i{display:block;width:12px;height:12px;border-radius:50%;background:#FFF;border:1.5px solid var(--avoid)}
.vv-zoom-pt.is-own i{background:var(--saffron);border-color:var(--ink)}
.vv-zoom-pt.is-here i{width:16px;height:16px}
.vv-zoom-pt span{font:600 12px/1 Poppins,sans-serif;color:var(--ink);white-space:nowrap;text-shadow:0 0 3px #FFF,0 0 3px #FFF,0 0 3px #FFF}
.vv-zoom-pt:not(.is-own) span{color:var(--muted);font-weight:500;font-size:11px}
.vv-zoom-pt[aria-pressed="true"] i{box-shadow:0 0 0 4px rgba(246,167,45,.35)}
.vv-zoom-pt:hover span{color:var(--saffron-dark)}
.vv-zoom-info{border-top:1px solid var(--line);padding-top:12px;min-height:88px}
.vv-zoom-card{display:flex;flex-direction:column;gap:6px}
.vv-zoom-card b{font:700 24px/1 var(--serif);letter-spacing:-.02em}
.vv-zoom-card p{font-size:13px;line-height:1.6;color:var(--text3)}
.fiche a.vv-zoom-cta{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 16px;background:var(--night);color:#FFF;font-size:12.5px;font-weight:600}
.fiche a.vv-zoom-cta:hover{background:var(--deep);color:#FFF}
/* Voyages (nouvelle ville) : une ligne qu’on fait glisser ; trois cartes et le début de la quatrième, 82 % en mobile. */
.vv-trips{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gut);scrollbar-width:none;margin:0 calc(-1 * var(--gut));padding:0 var(--gut) 4px;-webkit-overflow-scrolling:touch}
.vv-trips::-webkit-scrollbar{display:none}
.vv-trips>div{flex:0 0 calc((100cqi - 2 * var(--gut) - 3 * 14px) / 3.25);scroll-snap-align:start;display:flex}
.vv-trip{display:flex;flex-direction:column;width:100%;background:#FFF;border:1px solid var(--line)}
.fiche .vv-trip-img{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:#1d2a31}
.vv-trip-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.vv-trip-img:hover img{transform:scale(1.03)}
.vv-trip-copy{display:flex;flex-direction:column;gap:10px;padding:20px 20px 22px;flex:1}
.vv-trip-t{font:700 clamp(28px,2.6cqi,36px)/.98 var(--serif);letter-spacing:-.025em}
.vv-trip-x{font-size:13.5px;line-height:1.7;color:var(--text3)}
.fiche a.vv-trip-btn{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 16px;background:var(--night);color:#FFF;font-size:12.5px;font-weight:600}
.fiche a.vv-trip-btn:hover{background:var(--deep);color:#FFF}
@media (max-width:720px){.vv-trips>div{flex-basis:82%}}
/* À vivre (nouvelle ville) : ordinateur = grande carte + cartes hautes image en fond, nom seul ; mobile = carrousel. */
.vv-vivre .geo-xfeature{margin-bottom:14px}
.vv-xtiles{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gut);scrollbar-width:none;margin:0 calc(-1 * var(--gut));padding:0 var(--gut) 4px;-webkit-overflow-scrolling:touch}
.vv-xtiles::-webkit-scrollbar{display:none}
/* Trois cartes entières et le début de la quatrième : (largeur utile − 3 écarts) / 3,25. */
.vv-xtiles>.vv-xtile{flex:0 0 calc((100cqi - 2 * var(--gut) - 3 * 14px) / 3.25);scroll-snap-align:start}
.fiche a.vv-xtile,.fiche button.vv-xtile{position:relative;display:block;min-height:440px;overflow:hidden;background:#1d2a31;color:#FFF}
.vv-xtile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.vv-xtile:hover img{transform:scale(1.03)}
.vv-xtile.is-flat{background:linear-gradient(160deg,#193342,#0F1C24)}
.vv-xtile-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,12,13,0) 45%,rgba(11,12,13,.75) 100%)}
.vv-xtile-t{position:absolute;left:20px;right:20px;bottom:20px;font:700 clamp(28px,2.4cqi,34px)/.98 var(--serif);letter-spacing:-.025em;text-wrap:balance}
.vv-xtile-t span{font:600 13px Poppins,sans-serif;color:var(--saffron)}
.vv-xcards{display:none}
@media (max-width:720px){
  .vv-vivre-desk{display:none}
  .vv-xcards{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gut);scrollbar-width:none;margin:0 calc(-1 * var(--gut));padding:0 var(--gut) 4px}
  .vv-xcards::-webkit-scrollbar{display:none}
  .vv-xcard{flex:0 0 82%;scroll-snap-align:start;display:flex;flex-direction:column;background:#0b1016;color:#FFF}
  .fiche .vv-xcard-img{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:#1d2a31}
  .vv-xcard-img.is-flat{background:linear-gradient(160deg,#193342,#0F1C24)}
  .vv-xcard-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .vv-xcard-copy{display:flex;flex-direction:column;gap:10px;padding:20px 18px 22px;flex:1}
  .vv-xcard-copy .geo-xcard-k{color:var(--saffron)}
  .vv-xcard-t{font:700 28px/.98 var(--serif);letter-spacing:-.025em}
  .fiche .vv-xcard-t a{color:#FFF}
  .vv-xcard-t span{font:600 13px Poppins,sans-serif;color:var(--saffron)}
  .vv-xcard-x{font-size:13.5px;line-height:1.65;color:rgba(255,255,255,.88)}
  .vv-xcard .geo-xcard-chips{margin-top:auto}
  .vv-xcard .geo-chip{border-color:rgba(255,255,255,.35);color:#FFF;background:transparent}
}
/* Autour : les cartes de la rangée (sous la grande carte) n’ont pas de description, seulement surtitre et titre. */
.geo-autour.is-v2 .fiche-row .fiche-geo-x{display:none}
/* Mobile : « À voir » en liste, vignette à gauche (un peu plus de 40 %), sans le bouton › (la ligne s’ouvre au clic). */
@media (max-width:720px){
  .fiche.is-v2 .vv-voir .geo-row{grid-template-columns:42% minmax(0,1fr);gap:0 14px;align-items:start;padding:16px 0}
  .fiche.is-v2 .vv-voir .geo-row-photo{aspect-ratio:4/5;height:100%;min-height:150px}
  .fiche.is-v2 .vv-voir .geo-row-btns{display:none}
  .fiche.is-v2 .vv-voir .geo-row-copy{gap:6px}
  .fiche.is-v2 .vv-voir .geo-row-t{font-size:23px}
  .fiche.is-v2 .vv-voir .geo-row-copy p{font-size:13px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
}
/* Mobile et tablette : ni les points du Récit (filet noir) ni sa photo ne s’affichent. */
@media (max-width:1000px){.fiche.is-v2 .geo-points,.fiche.is-v2 .geo-recit-figure{display:none}}
.fiche .geo-tiroir-go,.geo-tiroir .geo-tiroir-go{display:inline-flex;align-items:center;gap:10px;min-height:50px;padding:12px 20px;border:1px solid var(--ink);font-size:13px;font-weight:600;color:var(--ink)}
.geo-tiroir .geo-tiroir-go:hover{background:var(--ink);color:#FFF}
/* Image du Récit d’une ville : plus basse en mobile et en tablette ; en ordinateur, carrousel de photos dessous. */
.fiche-ville .vv-thumbs{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.fiche-ville .vv-thumbs::-webkit-scrollbar{display:none}
.fiche .vv-thumbs button{flex:0 0 calc(33.333% - 6px);scroll-snap-align:start;cursor:zoom-in}
.fiche .vv-thumbs img{width:100%;aspect-ratio:4/3;max-height:none;object-fit:cover}
@media (max-width:1000px){.fiche-ville .geo-recit-figure img{aspect-ratio:16/10;max-height:300px}.fiche-ville .vv-thumbs{display:none}}
@media (max-width:720px){.fiche-ville .geo-recit-figure img{max-height:220px}}
/* Héros plein cadre : diaporama, voile, fil d’Ariane en haut, titre en bas à gauche, indicateurs en bas à droite. */
.vv-hero{position:relative;min-height:max(420px,calc(100svh - 64px));display:flex;flex-direction:column;justify-content:space-between;background:#1d2a31;color:#FFF;overflow:hidden}
.vv-slides{position:absolute;inset:0}
.vv-slides picture{display:contents}
/* Héros à pleine hauteur : page lieu à toutes les tailles, ville en mobile (barre d’action cachée sur le héros). */
.fiche.is-lv2 .vv-hero{min-height:max(420px,100svh)}
@media (max-width:720px){
  .vv-hero{min-height:max(420px,100svh)}
  /* Téléphone : pas de zoom lent (il agrandissait encore la photo) ; la version portrait est déjà centrée. */
  .vv-slides .vv-slide.is-on{transform:none}
  .vv-slides .vv-slide{transition:opacity 1.6s ease}
}
@media (max-width:720px) and (orientation:portrait){.vv-slide[data-portrait]{object-position:50% 50% !important}}
.vv-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1);transition:opacity 1.6s ease,transform 6.5s linear;will-change:opacity,transform}
.vv-slide.is-on{opacity:1;transform:scale(1.06)}
.vv-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,12,13,.55) 0%,rgba(11,12,13,0) 30%,rgba(11,12,13,0) 45%,rgba(11,12,13,.78) 100%)}
.vv-crumbs{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:calc(108px + clamp(14px,2cqi,28px)) var(--gut) 0;white-space:nowrap;font-size:11.5px;color:rgba(255,255,255,.72)}
/* Un maillon dont la page est fermée est un mot du chemin, pas un lien : il n'a aucune règle propre et prenait
   donc l'allure du lien. On marque le lien au lieu d'affaiblir le muet, dont le contraste est déjà bas. */
.fiche .vv-crumbs a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:rgba(255,255,255,.45);text-underline-offset:3px}
.fiche .vv-crumbs a:hover{text-decoration-color:currentColor}
.fiche .vv-crumbs a:hover{color:#FFF}
.vv-crumbs [aria-hidden]{opacity:.5}
.vv-crumbs [aria-current]{color:#FFF;font-weight:500}
.vv-crumbs.is-ligne{flex-wrap:nowrap;overflow:hidden}
.vv-crumbs [hidden]{display:none}
.fiche .vv-crumbs-more{padding:0 2px;margin:0;border:0;background:none;color:inherit;font:inherit;line-height:1;cursor:pointer}
.fiche .vv-crumbs-more:hover,.fiche .vv-crumbs-more:focus-visible{color:#FFF;text-decoration:underline}
.vv-crumbs.is-ligne>*{flex-shrink:0}
.vv-crumbs.is-serre [aria-current]{flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.vv-hero-foot{position:relative;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 40px;padding:0 var(--gut) clamp(32px,4.2cqi,64px)}
.vv-hero-copy{display:flex;flex-direction:column;gap:16px;max-width:720px;animation:fiche-rise .6s ease both}
.vv-kicker{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--saffron)}
.vv-h1{font:700 clamp(64px,9.6cqi,140px)/.86 var(--serif);letter-spacing:-.05em;color:#FFF}
.vv-chapo{font:italic 700 clamp(22px,2cqi,30px)/1.2 var(--serif);color:#FFF;max-width:560px;text-wrap:pretty}
.vv-dots{display:flex;gap:8px;padding-bottom:8px}
.fiche .vv-dots button{width:18px;height:3px;border:0;padding:0;background:rgba(255,255,255,.45);cursor:pointer;transition:width .4s,background .4s}
.fiche .vv-dots button[aria-pressed="true"]{width:36px;background:var(--saffron)}
/* À voir : la ville (découvertes, en grille) puis ses haltes (lignes à vignette, tiroir). */
.vv-voir{padding:clamp(56px,7cqi,104px) var(--gut);background:var(--paper);border-top:1px solid var(--line)}
.vv-voir .geo-head{margin-bottom:clamp(28px,3.4cqi,48px)}
.vv-voir .geo-intro{max-width:440px}
.vv-blocs{display:flex;flex-direction:column;gap:clamp(36px,4.4cqi,64px)}
.vv-bloc-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--ink)}
.vv-bloc-head h3{font:600 11px/1.4 Poppins,system-ui,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--ink)}
.vv-bloc-head span{font-size:12px;color:#66737B}
.vv-dans{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:0 clamp(24px,3cqi,48px)}
.vv-dans article{display:flex;flex-direction:column;gap:10px;padding:clamp(20px,2.2cqi,28px) 0;border-bottom:1px solid var(--line);min-width:0}
.vv-lvl{font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.vv-dans h4{margin:0;font:700 clamp(26px,2.4cqi,34px)/1 var(--serif);letter-spacing:-.025em;text-wrap:balance}
.vv-dans p{margin:0;font-size:14px;line-height:1.75;color:var(--text3);text-wrap:pretty;max-width:60ch}
.geo-rows.is-v2{border-top:0}
/* Ligne sans photo de même sujet : le texte prend la largeur de la vignette (ordinateur et mobile). */
.fiche.is-v2 .vv-voir .geo-row.is-sans .geo-row-copy{grid-column:1 / span 2}
/* Quand partir : fond clair, frise de douze barres (hautes pour les mois favorables). */
.vv-quand{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(40px,5cqi,72px) var(--gut)}
.vv-quand-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:clamp(24px,4cqi,72px);align-items:center}
.vv-quand-left{display:flex;flex-direction:column;gap:10px}
.vv-quand-h2{font:italic 700 clamp(40px,4.4cqi,64px)/.95 var(--serif);letter-spacing:-.03em}
.vv-quand-own{font-size:13.5px;line-height:1.7;color:var(--text2);max-width:38ch}
.vv-quand-right{display:flex;flex-direction:column;gap:14px;min-width:0}
.vv-band{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px}
.vv-band>div{display:flex;flex-direction:column;gap:6px}
.vv-well{height:28px;display:flex;align-items:flex-end}
.vv-well i{display:block;width:100%;height:16px;border:1.5px solid var(--saffron);background:transparent}
.vv-well i.is-own{height:28px}
.vv-well i[data-s="f"]{background:var(--saffron)}
.vv-well i[data-s="e"]{background:var(--avoid);border-color:var(--avoid)}
.vv-band b{font-size:11px;font-weight:600;text-align:center;color:var(--muted)}
.vv-band b[data-s="f"]{color:var(--ink)}
.vv-quand-text{font-size:14px;line-height:1.75;color:#1d2a31;max-width:66ch}
@media (max-width:720px){.vv-quand-grid{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){.vv-slide{transition:none}}
@media (prefers-reduced-motion:reduce){.fiche *{animation:none!important;transition:none!important}}


/* Ville, Autour : trois cartes entières et une demi-carte sur ordinateur. */
.geo-around-controls{display:none}
@media(min-width:1100px){
  .fiche-ville .geo-autour .fiche-row.geo-tiles{margin-inline:0;padding-inline:0;scroll-padding-inline:0;cursor:grab}
  .fiche-ville .geo-autour .fiche-row.geo-tiles>*{flex-basis:calc((100% - 42px) / 3.5)}
  .fiche-ville .geo-autour .fiche-row.geo-tiles .fiche-geo{min-height:360px}
  .fiche-ville .geo-autour .fiche-row.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
  .geo-around-controls{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}
  .geo-around-controls[hidden]{display:none}
  .geo-around-arrow{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);cursor:pointer;transition:color .2s,border-color .2s}
  .geo-around-arrow svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
  .geo-around-arrow:hover:not(:disabled){color:var(--saffron-dark);border-color:var(--saffron)}
  .geo-around-arrow:focus-visible{outline:2px solid var(--saffron);outline-offset:3px}
  .geo-around-arrow:disabled{opacity:.3;cursor:default}
}

/* Navigation du guide : l’en-tête se retire, les ancres restent collées à sa base visible. */
/* Transformée seulement quand elle est retirée : une nav transformée contiendrait le menu mobile plein écran
   (position fixe) et le couperait à sa hauteur. */
[data-da-nav][data-scroll-header]{transform:none;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
[data-da-nav][data-scroll-header][data-scroll-hidden]{transform:translateY(calc(-1 * var(--site-nav-shift,0px)))}
.fiche-anchor-nav{transition:top .45s cubic-bezier(.2,.7,.2,1)}
@media (prefers-reduced-motion:reduce){[data-da-nav][data-scroll-header],.fiche-anchor-nav{transition:none}}
.fiche-anchor-nav{background:#f5f6f2;backdrop-filter:none}

[data-scroll-header-host]{pointer-events:none}
[data-scroll-header]{pointer-events:auto}

/* Barre mobile : fond clair cassé, encoche au chevron seul. */
@media(max-width:720px){
  .fiche-essentiel.has-actions{background:#f5f6f2;color:#101e26;border-top:1px solid #d5dcdd;box-shadow:0 -4px 18px rgba(16,30,38,.06)}
  .fiche .fiche-essentiel-tab{justify-content:center;width:44px;height:28px;padding:0;background:#f5f6f2;color:#64727a;border:1px solid #d5dcdd;border-bottom:0;border-radius:9px 9px 0 0}
  .fiche-essentiel-tab::before{content:'';position:absolute;inset:-8px 0 0}
  .fiche-essentiel-tab:focus-visible{outline:2px solid var(--saffron-dark);outline-offset:2px}
  .fiche .fiche-essentiel.has-actions .fiche-essentiel-fact{color:#101e26}
  .fiche-essentiel.has-actions .fiche-essentiel-fact span,.fiche-essentiel.has-actions .fiche-essentiel-fact i{color:#64727a}
  .fiche-essentiel.has-actions.is-open .fiche-essentiel-facts{border-bottom-color:#d5dcdd}
  .fiche .fiche-essentiel.has-actions .fiche-essentiel-add{background:#fff;border-color:#d5dcdd;color:#101e26;font-weight:500}
  .fiche .fiche-essentiel.has-actions .fiche-essentiel-add:hover{background:#eef0eb}
  .fiche .fiche-essentiel.has-actions .fiche-essentiel-add[aria-pressed="true"]{background:#e7ece6;border-color:#bccabc;color:#243b30}
  .fiche .fiche-essentiel.has-actions .fiche-essentiel-add[aria-pressed="true"] svg path{fill:currentColor}
  .fiche .fiche-essentiel.has-actions a.fiche-essentiel-more{border-color:#d5dcdd;color:#101e26;background:transparent}
  .fiche .fiche-essentiel.has-actions a.fiche-essentiel-more:hover{background:#eef0eb;color:#101e26}
}

/* ---- Lieu, gabarit du handoff Essendilène (02/10) : héros plein cadre et encart, « Où », « Photo à venir ». ---- */
.fiche.is-lv2 .vv-h1{font-size:clamp(56px,8.4cqi,124px);line-height:.88;letter-spacing:-.045em}
.fiche.is-lv2 .vv-hero-copy .vv-dots{padding:6px 0 0}
.lv-situe{flex:0 1 380px;min-width:0;display:flex;flex-direction:column;gap:14px;padding:clamp(20px,2.2cqi,30px);background:rgba(15,28,36,.62);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.16);animation:fiche-rise .7s .1s ease both}
.fiche .lv-situe-k{font-size:10.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.fiche .lv-situe-x{font:italic 700 clamp(20px,1.7cqi,24px)/1.22 var(--serif);color:#FFF;text-wrap:pretty}
/* Cadre « Photo à venir » : dégradé encre, mention discrète (jamais une image d’un autre lieu). */
.lv-avenir{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(160deg,#193342,#0F1C24)}
.lv-avenir span{font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.72)}
/* Récit : vignettes sous la photo (ordinateur), photo gardée en mobile, sans vignettes. */
.fiche-poi .vv-thumbs{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.fiche-poi .vv-thumbs::-webkit-scrollbar{display:none}
@media (max-width:1000px){.fiche-poi .vv-thumbs{display:none}}
/* À voir : la flèche est toujours là (fiche de la halte, sinon liste des lieux de la ville). */
.fiche .geo-voir-l.is-lv2 .geo-mini{color:inherit;text-decoration:none}
.fiche button.geo-mini{width:100%;margin:0;border:0;border-bottom:1px solid var(--line);background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}
.geo-voir-l.is-ville{background:var(--paper)}
/* Ville : les lieux en plus sous la liste de droite, en carrousel de petits carrés de 150 px, puis le bouton
   (retours de Mehdi du 03/10). */
.geo-voir-l.is-ville .geo-voir-l-grid{grid-template-areas:"tete liste" ". cote";row-gap:24px}
.geo-voir-l.is-ville .geo-voir-l-head{grid-area:tete}
.geo-voir-l.is-ville .geo-minis{grid-area:liste}
.geo-voir-l-side{grid-area:cote;display:flex;flex-direction:column;align-items:flex-start;gap:16px;min-width:0}
.geo-voir-l-side .vv-mini{width:100%;margin:0;padding:0 0 4px;gap:10px;scroll-padding-inline:0}
.geo-voir-l-side .vv-mini>div{flex:0 0 150px}
.geo-voir-l-side .vv-mini-t{font-size:17px;left:10px;right:10px;bottom:9px}
.fiche .geo-voir-l-side a.vv-tous{margin-top:0}
@media (max-width:1000px){
  .geo-voir-l-grid{grid-template-columns:minmax(0,1fr)}
  .geo-voir-l.is-ville .geo-voir-l-grid{grid-template-areas:"tete" "liste" "cote"}
}
@media (max-width:720px){.geo-voir-l-side .vv-mini>div{flex-basis:38%}}

.fiche .geo-voir-l.is-lv2 .geo-mini:hover .geo-mini-go{background:var(--ink);border-color:var(--ink);color:#FFF}
.fiche .geo-voir-l.is-lv2 .geo-mini:hover .geo-mini-img img{transform:scale(1.04)}
/* Où : section sombre, échelle des lieux à points reliés, deux cartes-photo. */
.lv-ou{scroll-margin-top:116px;background:#0F1C24;color:#FFF;padding:clamp(56px,7cqi,104px) var(--gut)}
.lv-ou-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.5fr);gap:clamp(28px,4cqi,72px);align-items:start}
.lv-ou-left{display:flex;flex-direction:column;gap:22px}
.fiche .lv-ou .fiche-overline{color:var(--saffron)}
.fiche .lv-ou-h2{font:700 clamp(34px,3.8cqi,56px)/.98 var(--serif);letter-spacing:-.03em;color:#FFF;text-wrap:balance}
.fiche .lv-ou-p{font-size:14px;line-height:1.75;color:rgba(255,255,255,.85);max-width:40ch}
.fiche .lv-echelle{display:flex;flex-direction:column;margin:4px 0 0;padding:0;list-style:none}
.lv-echelle li{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr);gap:14px;align-items:start;padding-bottom:14px}
.lv-echelle li:last-child{padding-bottom:0}
.lv-echelle li::before{content:'';position:absolute;left:8.5px;top:18px;bottom:-2px;width:1px;background:rgba(255,255,255,.35)}
.lv-echelle li:last-child::before{display:none}
.lv-echelle i{justify-self:center;width:8px;height:8px;margin-top:9px;border-radius:50%;border:1.5px solid rgba(255,255,255,.7);background:transparent}
.lv-echelle li.is-here i{width:12px;height:12px;margin-top:8px;border-color:var(--saffron);background:var(--saffron)}
.fiche .lv-echelle a{font:700 22px/1.05 var(--serif);color:#FFF;text-decoration:none}
.fiche .lv-echelle a span{font:600 12px Poppins,sans-serif;color:var(--saffron)}
.fiche .lv-echelle a:hover{color:var(--saffron)}
.lv-echelle-n{font:700 22px/1.05 var(--serif);color:#FFF}
.lv-echelle b{font:700 28px/1.02 var(--serif);color:#FFF}
.geo-trip-img .lv-avenir{z-index:0}
@media (max-width:1000px){
  .lv-ou-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:720px){
  .vv-hero-foot:has(.lv-situe){flex-direction:column;align-items:stretch}
  .lv-situe{flex:0 0 auto}
  .fiche .geo-voir-l.is-lv2 .geo-mini{grid-template-columns:110px minmax(0,1fr);align-items:start}
  .fiche .geo-voir-l.is-lv2 .geo-mini-go{display:none}
  .fiche .geo-voir-l.is-lv2 .geo-mini-x{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
}

/* ---- Lieu, « hand off page POI » (02/10) : Où à carte navigable, Le Tracé du voyage. ---- */
.lv-ou-right{display:flex;flex-direction:column;gap:16px;min-width:0}
.lv-map{position:relative;aspect-ratio:16/10;overflow:hidden;background:#0B151C;border:1px solid rgba(255,255,255,.14);touch-action:pan-y;user-select:none;cursor:grab}
.lv-map.is-drag{cursor:grabbing}
.lv-map>svg{position:absolute;inset:0;width:100%;height:100%}
.lv-map-t{position:absolute;left:12px;top:10px;font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.6);pointer-events:none}
.lv-map-wrap{position:relative;min-width:0}
.lv-map-help{position:absolute;left:12px;bottom:10px;font-size:10.5px;color:rgba(255,255,255,.55);pointer-events:none}
.lv-map-zoom{position:absolute;right:10px;top:10px;z-index:4;display:flex;flex-direction:column;gap:6px}
.fiche .lv-map-zoom button{width:36px;height:36px;display:grid;place-items:center;padding:0;background:rgba(15,28,36,.9);border:1px solid rgba(255,255,255,.22);color:#FFF;font-size:18px;line-height:1;cursor:pointer}
.fiche .lv-map-zoom button:hover{color:var(--saffron);border-color:var(--saffron)}
.fiche .lv-pt,.fiche .lv-stop{position:absolute;display:flex;align-items:center;gap:6px;padding:4px;margin:0;border:0;background:none;color:#FFF;cursor:pointer;transform:translate(-10px,-50%)}
.fiche .lv-pt:hover,.fiche .lv-stop:hover{color:var(--saffron)}
.lv-pt i,.lv-stop i{display:block;flex:none;width:12px;height:12px;border-radius:50%;background:var(--saffron);border:1.5px solid #0B151C;transition:box-shadow .4s}
.lv-pt.is-here i{width:16px;height:16px}
.lv-pt[aria-pressed="true"] i,.lv-stop[aria-pressed="true"] i{box-shadow:0 0 0 4px rgba(246,167,45,.35)}
.lv-pt span,.lv-stop span{font-size:12px;font-weight:600;line-height:1;white-space:nowrap;text-shadow:0 0 4px #0B151C,0 0 4px #0B151C,0 0 4px #0B151C}
.lv-pt.is-muet span{display:none}
/* Lieux secondaires : petits points clairs, nom au survol ; la petite fenêtre s’ouvre au clic. */
.fiche .lv-pt.is-sec{z-index:0}
.lv-pt.is-sec i{width:8px;height:8px;background:#E9EDF1;border:1.5px solid #0B151C;opacity:.85}
.lv-pt.is-sec span{display:none;font-size:11px;font-weight:500;color:rgba(255,255,255,.9)}
.lv-pt.is-sec:hover span,.lv-pt.is-sec:focus-visible span,.lv-pt.is-sec[aria-pressed="true"] span{display:block}
.lv-pt.is-sec[aria-pressed="true"] i{background:var(--saffron);box-shadow:0 0 0 4px rgba(246,167,45,.3)}
.lv-pop{position:absolute;z-index:3;width:min(260px,72%);transform:translate(-50%,calc(-100% - 14px));display:flex;flex-direction:column;gap:6px;padding:14px 16px 16px;background:#0F1C24;border:1px solid rgba(255,255,255,.22);box-shadow:0 18px 40px -18px rgba(0,0,0,.7);color:#FFF;cursor:default}
.lv-pop.is-dessous{transform:translate(-50%,14px)}
.lv-pop[hidden]{display:none}
.lv-pop b{font:700 21px/1 var(--serif);letter-spacing:-.02em;padding-right:24px}
.fiche .lv-pop p{font-size:12.5px;line-height:1.55;color:rgba(255,255,255,.82);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.fiche .lv-pop a,.fiche .lv-pop button[data-pop-b]{display:inline-flex;gap:6px;width:max-content;font-size:12.5px;font-weight:600;color:var(--saffron);border-bottom:1px solid currentColor;padding-bottom:1px;text-decoration:none}
.fiche .lv-pop button[data-pop-b]{background:none;border:0;border-bottom:1px solid currentColor;font-family:inherit;cursor:pointer;padding:0 0 1px}
.fiche .lv-pop button[data-pop-b][hidden]{display:none}
.fiche .lv-pop a:hover{color:#FFF}
.fiche .lv-pop-x{position:absolute;top:4px;right:4px;width:32px;height:32px;padding:0;border:0;background:none;color:rgba(255,255,255,.7);font-size:20px;line-height:1;cursor:pointer}
.fiche .lv-pop-x:hover{color:#FFF}
.fiche .lv-pt.is-w{flex-direction:row-reverse;transform:translate(calc(-100% + 10px),-50%)}
.fiche .lv-pt.is-s{flex-direction:column;gap:10px;transform:translate(-50%,-12px)}
.fiche .lv-pt.is-n{flex-direction:column-reverse;transform:translate(-50%,calc(-100% + 10px))}
.lv-map-info{min-height:84px}
.lv-map-card{display:flex;flex-direction:column;gap:6px}
.lv-map-card[hidden]{display:none}
.lv-map-k{font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--saffron);line-height:1.4}
.lv-map-card b{font:700 24px/1 var(--serif);letter-spacing:-.02em;color:#FFF}
.fiche .lv-map-card p{font-size:13px;line-height:1.6;color:rgba(255,255,255,.82);max-width:56ch}
.fiche .lv-map-card a{display:inline-flex;gap:6px;width:max-content;max-width:100%;font-size:12.5px;font-weight:600;color:var(--saffron);border-bottom:1px solid currentColor;padding-bottom:1px;text-decoration:none}
.fiche .lv-map-card a:hover{color:#FFF}
.fiche a.lv-map-cta{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 16px;background:var(--saffron);color:#0b0c0d;font-size:12.5px;font-weight:600;text-decoration:none}
.fiche a.lv-map-cta:hover{background:#FFF;color:#0b0c0d}
.lv-ou-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px;border-top:1px solid rgba(255,255,255,.14);padding-top:16px}
.fiche .lv-ou-card{display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:14px;align-items:center;padding:8px;min-height:44px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:#FFF;text-decoration:none}
.fiche .lv-ou-card:hover{background:rgba(255,255,255,.09);color:#FFF}
.lv-ou-img{position:relative;display:block;width:88px;aspect-ratio:4/3;overflow:hidden;background:#1d2a31}
.lv-ou-img.is-flat{background:linear-gradient(160deg,#193342,#0F1C24)}
.lv-ou-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lv-ou-text{display:flex;flex-direction:column;gap:3px;min-width:0}
.lv-ou-k{font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--saffron)}
.lv-ou-t{font:700 22px/1 var(--serif);letter-spacing:-.02em}
.lv-ou-go{font-size:13px;font-weight:600;color:var(--saffron);padding-right:6px}
/* Les voyages : composant circuit « Le Tracé ». */
.geo-voyages.is-lv2{border-top:1px solid var(--line);padding:clamp(56px,7cqi,104px) var(--gut) clamp(64px,8cqi,120px)}
.geo-voyages.is-lv2 .lv-trip+.lv-trip{margin-top:24px}
.lv-trip{display:grid;grid-template-columns:340px minmax(0,1fr);background:#FFF;border:1px solid var(--line)}
.lv-trace{position:relative;aspect-ratio:5/8;background:#0F1C24;overflow:hidden;user-select:none}
.lv-trace-svg,.lv-inset svg{position:absolute;inset:0;width:100%;height:100%}
.lv-land{fill:#15262F;stroke:rgba(255,255,255,.28);stroke-width:1;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.lv-leg-sourd{fill:none;stroke:rgba(246,167,45,.28);stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-linecap:round}
.lv-leg{fill:none;stroke:var(--saffron);stroke-width:2.5;vector-effect:non-scaling-stroke;stroke-linecap:round;transition:stroke-dashoffset 1.6s cubic-bezier(.2,.7,.2,1)}
.lv-leg-vol{fill:none;stroke:#15262F;stroke-width:3.5;vector-effect:non-scaling-stroke;stroke-dasharray:6 7}
.lv-trace-zone{fill:none;stroke:rgba(255,255,255,.55);stroke-width:1;vector-effect:non-scaling-stroke}
.lv-trace-lien{fill:none;stroke:rgba(255,255,255,.4);stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:2 3}
@media (prefers-reduced-motion:reduce){.lv-leg{transition:none}}
.lv-stop i{width:7px;height:7px;border-color:#0F1C24}
.lv-stop.is-ici i{border-color:#FFF}
.lv-trace>.lv-stop:first-of-type i{width:14px;height:14px}
.lv-inset .lv-stop i{width:12px;height:12px}
.lv-inset .lv-stop.is-ici i{width:14px;height:14px}
.lv-stop span{text-shadow:0 0 4px #0F1C24,0 0 4px #0F1C24,0 0 4px #0F1C24}
.fiche .lv-stop{transform:translate(-50%,-50%)}
.fiche .lv-stop.is-e{transform:translate(-11px,-50%)}
.fiche .lv-stop.is-w{flex-direction:row-reverse;transform:translate(calc(-100% + 11px),-50%)}
.fiche .lv-stop.is-s{flex-direction:column;gap:4px;transform:translate(-50%,-11px)}
.fiche .lv-stop.is-sl{flex-direction:column;align-items:flex-start;gap:4px;transform:translate(-11px,-11px)}
.fiche .lv-stop.is-n{flex-direction:column-reverse;gap:4px;transform:translate(-50%,calc(-100% + 11px))}
.lv-trace-head{position:absolute;right:14px;top:12px;width:170px;display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right;pointer-events:none}
.lv-trace-k{font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--saffron);white-space:nowrap}
.lv-trace-j{font-size:12px;line-height:1.4;color:rgba(255,255,255,.85)}
.lv-trace-leg{display:flex;flex-direction:column;align-items:flex-end;gap:4px;margin-top:8px;font-size:10.5px;color:rgba(255,255,255,.7)}
.lv-trace-leg>span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.lv-trace-leg i{display:block;width:22px;border-top:2px solid var(--saffron)}
.lv-trace-leg i.is-vol{border-top-style:dashed}
.lv-inset{position:absolute;left:10px;bottom:10px;width:56%;aspect-ratio:5/4;background:#0B151C;border:1px solid rgba(255,255,255,.55);overflow:hidden}
.lv-inset-t{position:absolute;left:8px;top:6px;max-width:60%;font-size:9.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6);pointer-events:none}
.lv-trip-copy{padding:clamp(24px,3.2cqi,44px);display:flex;flex-direction:column;gap:14px;min-width:0}
.lv-trip-k{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--saffron-dark)}
.fiche a.lv-trip-t{font:700 clamp(36px,3.6cqi,52px)/.96 var(--serif);letter-spacing:-.03em;color:var(--ink);text-decoration:none}
.fiche a.lv-trip-t:hover{color:var(--saffron-dark)}
.lv-trip-t span{font:600 14px Poppins,sans-serif;color:var(--saffron-dark)}
.fiche .lv-trip-x{font-size:14px;line-height:1.75;color:var(--text3);max-width:60ch}
.lv-tabs{display:flex;gap:6px;flex-wrap:wrap;padding-top:4px}
.fiche .lv-tabs button{display:inline-flex;align-items:center;gap:5px;min-height:36px;padding:0 12px;border:1px solid var(--line);background:transparent;color:var(--text3);font:600 12.5px Poppins,sans-serif;cursor:pointer;transition:background .25s,border-color .25s}
.fiche .lv-tabs button:hover{border-color:var(--saffron)}
.fiche .lv-tabs button[aria-selected="true"]{background:var(--saffron);border-color:var(--saffron);color:#0b0c0d}
.lv-tabs i{display:block;width:6px;height:6px;border-radius:50%;background:var(--saffron)}
.lv-tabs [aria-selected="true"] i{background:#0b0c0d}
.lv-day{display:flex;flex-direction:column;gap:8px;padding:16px 18px;background:#F5F6F2;border-left:2px solid var(--saffron);min-height:128px}
.lv-day[hidden]{display:none}
.lv-day-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px}
.lv-day-h b{font:700 24px/1 var(--serif);letter-spacing:-.02em}
.lv-day-h span{font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--saffron-dark);white-space:nowrap}
.fiche .lv-day p{font-size:13px;line-height:1.65;color:var(--text3)}
.lv-day small{font-size:12px;color:var(--muted)}
.lv-trip-foot{margin-top:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;border-top:1px solid var(--mist)}
.lv-trip-foot>span{display:flex;flex-direction:column;gap:2px;flex:1 1 180px}
.lv-trip-foot>span>span{font-size:12.5px;color:var(--muted)}
.lv-trip-foot b{font-size:14px;font-weight:600}
.lv-trip-foot>div{display:flex;flex-wrap:wrap;gap:10px}
.fiche .lv-trip-add{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;min-height:44px;padding:10px 16px;border:1px solid #0F1C24;background:transparent;color:#0b0c0d;font:600 12.5px Poppins,sans-serif;cursor:pointer;transition:background .25s}
.fiche .lv-trip-add:hover{border-color:var(--saffron)}
.fiche .lv-trip-add[aria-pressed="true"]{background:#FFF6E6;border-color:var(--saffron)}
.fiche a.lv-trip-go{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;min-height:44px;padding:10px 16px;background:#0F1C24;color:#FFF;font-size:12.5px;font-weight:600;text-decoration:none}
.fiche a.lv-trip-go:hover{background:#193342;color:#FFF}
@media (max-width:1000px){
  .lv-trip{grid-template-columns:minmax(0,1fr)}
  .lv-trace{aspect-ratio:4/5}
  .lv-inset{width:58%}
}
.geo-voir-plus{display:none}
.geo-recit-texte{display:flex;flex-direction:column;gap:22px;min-width:0}
@media (max-width:720px){
  /* Trois lignes du chapô (20 px × 1,45) ; le reste sous un fondu jusqu’à « Voir plus ». */
  .geo-recit-texte{overflow:hidden;transition:max-height .45s cubic-bezier(.2,.7,.2,1)}
  .geo-recit-texte:not(.is-ouvert){max-height:87px;-webkit-mask-image:linear-gradient(180deg,#000 45%,transparent);mask-image:linear-gradient(180deg,#000 45%,transparent)}
  .fiche .geo-voir-plus{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;min-height:44px;margin:-4px 0 0;padding:0;border:0;background:none;color:var(--ink);font:600 13px/1 Poppins,sans-serif;cursor:pointer}
  .fiche .geo-voir-plus[hidden]{display:none}
  .geo-voir-plus span{border-bottom:1px solid currentColor;padding-bottom:2px}
  .geo-voir-plus svg{color:var(--saffron-dark);transition:transform .3s}
  .geo-voir-plus[aria-expanded="true"] svg{transform:rotate(180deg)}
  .fiche .geo-voir-plus:focus-visible{outline:2px solid var(--saffron);outline-offset:4px}
  .fiche.is-lv2 .vv-chapo{display:none}
  .fiche-essentiel.has-actions{transition:transform .35s cubic-bezier(.2,.7,.2,1)}
  /* Sur le héros, la barre attend sous l’écran (translation seule : rien n’en dépasse). Elle reste dans l’ordre du
     clavier : le focus la fait monter (liste d’envies, I6 : « Garder » atteint par Tab sur téléphone). */
  .fiche-essentiel.has-actions.is-sur-heros:not(:focus-within){transform:translateY(calc(100% + 30px))}
  .lv-map-ctrl{display:flex;flex-direction:column;gap:8px;margin-top:10px}
  /* Jours du voyage : une ligne qu’on fait glisser, cibles tactiles de 48 × 44 px (retour de Mehdi du 03/10). */
  .lv-tabs{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;margin:0 calc(-1 * clamp(24px,3.2cqi,44px));padding:4px clamp(24px,3.2cqi,44px);scroll-padding-inline:clamp(24px,3.2cqi,44px)}
  .lv-tabs::-webkit-scrollbar{display:none}
  .fiche .lv-tabs button{flex:0 0 auto;min-width:48px;min-height:44px;padding:0 14px;justify-content:center;font-size:13.5px;scroll-snap-align:start}
  .lv-map-zoom{position:static;flex-direction:row}
  .fiche .lv-map-zoom button{width:44px;height:44px}
  .lv-map-help{position:static}
}
/* Voyages, gabarits étape 3 (révision 3a) : un voyage venu d’un autre niveau porte son origine (libellé) à la place de la pastille des jours ici ; la case d’appel prend les places restantes de la rangée en bureau (is-places-N), une carte de plus en fin de carrousel en mobile. */
.vv-trip.is-origine{position:relative}
.vv-trip-o{position:absolute;left:18px;top:18px;z-index:1;max-width:calc(100% - 36px);padding:6px 11px;background:#FFF;color:var(--ink);font-size:12px;font-weight:600;line-height:1.4;pointer-events:none}
.vv-trips>div.is-places-2{flex-basis:calc(2 * (100cqi - 2 * var(--gut) - 3 * 14px) / 3.25 + 14px)}
.vv-trips>div.is-places-3{flex-basis:calc(3 * (100cqi - 2 * var(--gut) - 3 * 14px) / 3.25 + 28px)}
.fiche a.vv-trip-appel{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:28px;width:100%;min-height:220px;padding:clamp(24px,2.6cqi,36px);background:var(--paper);border:1px dashed var(--avoid);color:var(--ink)}
.vv-trip-appel-t{font:700 clamp(28px,2.6cqi,36px)/.98 var(--serif);letter-spacing:-.025em;max-width:18ch;text-wrap:balance}
.vv-trip-appel-go{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--night);color:#FFF;font-size:16px}
.fiche a.vv-trip-appel:hover{border-color:var(--ink);color:var(--ink)}
.fiche a.vv-trip-appel:hover .vv-trip-appel-go{background:var(--deep)}
@media (max-width:720px){.vv-trips>div.is-places-2,.vv-trips>div.is-places-3{flex-basis:82%}}
/* Le Tracé, gabarits étape 3 (révision 3b) : décor calculé (geo/gabarits/decor.js, figure .is-calcule). La mer seulement là où elle est ; les pays voisins en terre, d’un seul aplat, sans trait entre eux ni nom (leur trait, de leur couleur, couvre l’écart de simplification sous le contour de l’Algérie, seul tracé). Chaque pastille est posée sur sa position (le bouton ne garde qu’elle) ; son nom se place autour d’elle, à la place calculée par le moteur ; un point gris qui cède sa place garde son nom pour les lecteurs d’écran (is-muet). */
.vv-zoom .vv-voisins{fill:#F5F6F2;stroke:#F5F6F2;stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.vv-zoom.is-calcule .vv-zoom-pt span{position:absolute}
.vv-zoom.is-calcule .vv-zoom-pt.is-est span{left:calc(100% + 2px);top:50%;transform:translateY(-50%)}
.vv-zoom.is-calcule .vv-zoom-pt.is-ouest span{right:calc(100% + 2px);top:50%;transform:translateY(-50%)}
.vv-zoom.is-calcule .vv-zoom-pt.is-nord span{bottom:100%;left:50%;transform:translateX(-50%)}
.vv-zoom.is-calcule .vv-zoom-pt.is-sud span{top:100%;left:50%;transform:translateX(-50%)}
.vv-zoom.is-calcule .vv-zoom-pt.is-nord-est span{bottom:100%;left:4px}
.vv-zoom.is-calcule .vv-zoom-pt.is-nord-ouest span{bottom:100%;right:4px}
.vv-zoom.is-calcule .vv-zoom-pt.is-sud-est span{top:100%;left:4px}
.vv-zoom.is-calcule .vv-zoom-pt.is-sud-ouest span{top:100%;right:4px}
.vv-zoom.is-calcule .vv-zoom-pt.is-muet span{left:50%;top:50%;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
/* Autour, gabarits étape 3 (révision 3d) : un site venu d’un autre niveau porte son origine (libellé) sur l’image ; la case d’appel prend les places restantes de la rangée en bureau (is-places-N : la rangée garde la largeur de celle du pilote et défile comme elle), une carte de plus en fin de carrousel en mobile. */
.fiche-geo-o{position:absolute;left:20px;top:20px;z-index:1;max-width:calc(100% - 40px);padding:6px 11px;background:#FFF;color:var(--ink);font:600 12px/1.4 Poppins,sans-serif;pointer-events:none}
@media (min-width:721px){.geo-autour .fiche-row.geo-tiles>div.is-places-2{flex-basis:calc(2 * clamp(260px,31%,360px) + 14px)}.geo-autour .fiche-row.geo-tiles>div.is-places-3{flex-basis:calc(3 * clamp(260px,31%,360px) + 28px)}.geo-autour .fiche-row.geo-tiles>div.is-places-4{flex-basis:calc(4 * clamp(260px,31%,360px) + 42px)}.geo-autour .fiche-row.geo-tiles>div.is-places-5{flex-basis:calc(5 * clamp(260px,31%,360px) + 56px)}}
@media (min-width:1100px){.fiche-ville .geo-autour .fiche-row.geo-tiles>div.is-places-2{flex-basis:calc(2 * (100% - 42px) / 3.5 + 14px)}.fiche-ville .geo-autour .fiche-row.geo-tiles>div.is-places-3{flex-basis:calc(3 * (100% - 42px) / 3.5 + 28px)}.fiche-ville .geo-autour .fiche-row.geo-tiles>div.is-places-4{flex-basis:calc(4 * (100% - 42px) / 3.5 + 42px)}.fiche-ville .geo-autour .fiche-row.geo-tiles>div.is-places-5{flex-basis:calc(5 * (100% - 42px) / 3.5 + 56px)}}
.fiche a.fiche-geo-appel{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:28px;width:100%;height:100%;min-height:320px;padding:clamp(24px,2.6cqi,36px);background:var(--paper);border:1px dashed var(--avoid);color:var(--ink)}
.fiche-geo-appel-t{font:700 clamp(28px,2.6cqi,36px)/.98 var(--serif);letter-spacing:-.025em;max-width:18ch;text-wrap:balance}
.fiche-geo-appel-go{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--night);color:#FFF;font-size:16px}
.fiche a.fiche-geo-appel:hover{border-color:var(--ink);color:var(--ink)}
.fiche a.fiche-geo-appel:hover .fiche-geo-appel-go{background:var(--deep)}
@media (min-width:1100px){.fiche-ville .geo-autour .fiche-row.geo-tiles a.fiche-geo-appel{min-height:360px}}
/* À vivre, gabarits étape 3 (révision 3e) : une expérience venue d’un autre niveau porte son origine (libellé) sur l’image, en vedette, en tuile et en carte du carrousel ; la case d’appel prend les places restantes de la rangée des tuiles en bureau (is-places-N : la largeur de ses tuiles et de leurs écarts), une carte de plus en fin de carrousel en mobile, à la place de la vedette si la liste est vide. */
.geo-xfeature.is-origine,.vv-xcard.is-origine{position:relative}
.geo-xfeature-o,.vv-xtile-o,.vv-xcard-o{position:absolute;left:18px;top:18px;z-index:1;max-width:calc(100% - 36px);padding:6px 11px;background:#FFF;color:var(--ink);font:600 12px/1.4 Poppins,sans-serif;pointer-events:none}
.vv-xtiles>.is-appel{flex:0 0 calc((100cqi - 2 * var(--gut) - 3 * 14px) / 3.25);scroll-snap-align:start;display:flex}
.vv-xtiles>.is-places-2{flex-basis:calc(2 * (100cqi - 2 * var(--gut) - 3 * 14px) / 3.25 + 14px)}
.vv-xtiles>.is-places-3{flex-basis:calc(3 * (100cqi - 2 * var(--gut) - 3 * 14px) / 3.25 + 28px)}
.fiche a.geo-xfeature-appel,.fiche a.vv-xtile-appel,.fiche a.vv-xcard-appel{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:28px;width:100%;padding:clamp(24px,2.6cqi,36px);background:var(--paper);border:1px dashed var(--avoid);color:var(--ink)}
.fiche a.geo-xfeature-appel{min-height:300px;margin-bottom:14px}
.fiche a.vv-xtile-appel{min-height:440px}
.fiche a.vv-xcard-appel{min-height:320px;padding:24px 18px}
.geo-xfeature-appel-t,.vv-xtile-appel-t,.vv-xcard-appel-t{font:700 clamp(28px,2.6cqi,36px)/.98 var(--serif);letter-spacing:-.025em;max-width:18ch;text-wrap:balance}
.geo-xfeature-appel-go,.vv-xtile-appel-go,.vv-xcard-appel-go{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--night);color:#FFF;font-size:16px}
.fiche a.geo-xfeature-appel:hover,.fiche a.vv-xtile-appel:hover,.fiche a.vv-xcard-appel:hover{border-color:var(--ink);color:var(--ink)}
.fiche a.geo-xfeature-appel:hover .geo-xfeature-appel-go,.fiche a.vv-xtile-appel:hover .vv-xtile-appel-go,.fiche a.vv-xcard-appel:hover .vv-xcard-appel-go{background:var(--deep)}
@media (max-width:720px){.vv-xcards>.is-appel{flex:0 0 82%;scroll-snap-align:start;display:flex}}
/* À voir, gabarits étape 3 (révision 3f) : un lieu venu d’un autre niveau porte son origine (libellé) sur l’image de son carré ; la case d’appel, le lien « Découvrir tous les lieux » devenu case d’appel de la rangée, prend les places restantes de la rangée des carrés (is-places-N : la largeur de ses carrés et de leur écart), à leur hauteur. */
.vv-mini-o{position:absolute;left:8px;top:8px;z-index:1;max-width:calc(100% - 16px);padding:4px 8px;background:#FFF;color:var(--ink);font:600 11px/1.35 Poppins,sans-serif;pointer-events:none}
.geo-voir-l-side .vv-mini>div.is-appel{display:flex}
.geo-voir-l-side .vv-mini>div.is-places-2{flex-basis:310px}
.fiche a.vv-mini-appel{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:10px;width:100%;aspect-ratio:1/1;padding:14px;background:var(--paper);border:1px dashed var(--avoid);color:var(--ink)}
.fiche .vv-mini>div.is-places-2 a.vv-mini-appel{aspect-ratio:31/15}
.vv-mini-appel-t{font:700 19px/1 var(--serif);letter-spacing:-.02em;max-width:18ch;text-wrap:balance}
.vv-mini-appel-go{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--night);color:#FFF;font-size:15px}
.fiche a.vv-mini-appel:hover{border-color:var(--ink);color:var(--ink)}
.fiche a.vv-mini-appel:hover .vv-mini-appel-go{background:var(--deep)}
@media (max-width:720px){.geo-voir-l-side .vv-mini>div.is-places-2{flex-basis:calc(76% + 10px)}.fiche a.vv-mini-appel{padding:12px}.vv-mini-appel-t{font-size:17px}}
