/* ====== Refonte immersive (maquette validée par l'exploitant le 14/11/2026, maquettes/refonte-immersive/) ======
   La carte de nuit est la scène fixe plein écran de CHAQUE page. Tout le contenu vit dans UN panneau à quatre volets (Réserver, Trajets / Le trajet /
   Détails, Tarifs, Questions) : feuille qui glisse sur téléphone, panneau à gauche sur ordinateur. Un seul bouton or visible à la fois.
   Chargée après nuit-jetons.css (jetons, polices) et reservation.css (structure du formulaire) ; aucune ressource externe.
   Contrastes : texte principal --creme, secondaire --texte-2, légendes --texte-3 (6,1:1 et plus sur --nuit) ; l'or ne porte jamais un petit texte. */

:root{
  --feuille:var(--nuit);
  --tete:56px;      /* hauteur de l'en-tête */
  --pin:150px;      /* la feuille ne monte jamais plus haut : une bande de carte reste toujours visible */
  --demi:160px;     /* au repos, la feuille commence à --pin + --demi */
  --centre:181px;   /* ordonnée du centre du trajet dans la fenêtre de carte (téléphone) */
  --ftete:126px;    /* hauteur du haut de panneau (poignée, résumé, onglets) : marge des ancres */
  --panneau:480px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body.immersif{margin:0;background:var(--fond);color:var(--creme);font:400 15px/1.62 var(--f-ui);-webkit-font-smoothing:antialiased;overflow:hidden;height:100vh;height:100dvh}
.immersif a{color:var(--creme);text-decoration:underline;text-decoration-color:rgba(217,164,65,.7);text-decoration-thickness:1px;text-underline-offset:3px}
.immersif a:hover{text-decoration-color:var(--or-clair)}
.immersif button{font:inherit;color:inherit}
.immersif :focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:6px}
.immersif [tabindex="-1"]:focus-visible,.immersif .rz-t:focus-visible{outline:none}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.saut{position:fixed;z-index:30;left:12px;top:-60px;padding:10px 14px;border-radius:10px;background:var(--creme);color:var(--fond)!important;font-weight:700;text-decoration:none!important}
.saut:focus{top:12px}
.immersif [hidden]{display:none!important}

/* ---------- la scène : carte de nuit, image fixe d'abord, vue 3D en fondu par-dessus ---------- */
.scene{position:fixed;inset:0;z-index:0;overflow:hidden;background:var(--fond);transform:translate3d(0,var(--glisse,0px),0)}
.scene picture{display:contents}
.carte-img{position:absolute;left:0;top:calc(var(--centre) - 100vw * .8126);width:100%;height:auto;aspect-ratio:780/1418;display:block;max-width:none;opacity:1;transition:opacity .8s var(--courbe)}
.carte-img.entre{opacity:0}
.carte-gl{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity .9s var(--courbe);pointer-events:none}
.scene.actif .carte-gl{opacity:1}
.carte-tags{position:absolute;inset:0;overflow:hidden;pointer-events:none;opacity:0;transition:opacity .6s var(--courbe)}
.scene.actif .carte-tags{opacity:1}
.scene.actif .reperes{opacity:0!important}
/* étiquettes posées par le moteur 3D (mêmes règles que l'ancienne carte de l'accueil) */
.scene .tag{position:absolute;left:0;top:0;display:flex;flex-direction:column;align-items:center;opacity:0;visibility:hidden;transition:opacity .6s,visibility 0s linear .6s;will-change:transform}
.scene .tag.on{opacity:1;visibility:visible;transition:opacity .6s,visibility 0s}
.scene .tag .lb{padding:2px 6px;text-align:center;color:var(--creme);text-shadow:0 1px 10px rgba(5,10,20,.95),0 0 3px rgba(5,10,20,.9)}
.scene .tag .tn{display:block;font:600 13px/1.25 var(--f-ui);max-width:46vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.scene .tag .td{display:block;font:400 11.5px/1.3 var(--f-ui);color:var(--texte-2)}
.scene .tag i{display:block;width:1px;height:12px;background:linear-gradient(rgba(244,239,229,.5),rgba(244,239,229,0))}
.scene .tag.sel .tn,.scene .tag.hub .tn{color:var(--or-clair)}
.scene .geo{position:absolute;left:0;top:0;font:500 11px/1.2 var(--f-ui);letter-spacing:.02em;color:rgba(244,239,229,.72);white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .5s,visibility 0s linear .5s;will-change:transform;text-shadow:0 0 3px rgba(5,10,20,.95),0 1px 9px rgba(5,10,20,.9)}
.scene .geo.on{opacity:1;visibility:visible;transition:opacity .5s,visibility 0s}
.scene .geo.cap{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.16em}
.scene .geo.big{font-size:12px}.scene .geo.sm{font-size:10.5px}
.scene .shield{position:absolute;left:0;top:0;padding:1px 5px;border-radius:3px;font:700 9.5px/1.35 var(--f-ui);color:#fff;background:#A4182C;box-shadow:0 0 0 1px rgba(255,255,255,.6);white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .5s,visibility 0s linear .5s}
.scene .shield.p{background:#3A4A63;font-weight:600}
.scene .shield.on{opacity:1;visibility:visible;transition:opacity .5s,visibility 0s}
/* repères de l'image fixe : départ et arrivée, sobres */
.reperes{position:absolute;inset:0;pointer-events:none;opacity:var(--rep,1);transition:opacity .5s var(--courbe)}
.reperes.sans{opacity:0}
.rep{position:absolute;left:0;top:0;display:flex;flex-direction:column;align-items:center;transform:translate(-50%,calc(-100% - 9px))}
.rep b{padding:4px 10px;border:1px solid rgba(111,132,176,.5);border-radius:999px;background:var(--voile);font:600 12.5px/1.25 var(--f-ui);color:var(--creme);white-space:nowrap}
.rep i{display:block;width:1px;height:13px;background:linear-gradient(rgba(244,239,229,.7),rgba(244,239,229,0))}
.rep-a{flex-direction:column-reverse;transform:translate(-50%,9px)}
.rep-a i{background:linear-gradient(rgba(244,239,229,0),rgba(244,239,229,.7))}
.rep-b b{color:var(--or-clair);border-color:rgba(217,164,65,.55)}
.carte-survol{position:fixed;z-index:6;left:50%;top:calc(var(--tete) + 8px);transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:5px 5px 5px 14px;border:1px solid var(--trait-fort);border-radius:999px;background:var(--voile);font:500 12.5px/1.2 var(--f-ui);white-space:nowrap}
.carte-survol button{min-height:var(--cible);padding:0 16px;border:1px solid var(--trait-fort);border-radius:999px;background:transparent;font:600 12.5px var(--f-ui);cursor:pointer}

/* ---------- en-tête : la marque, la langue et l'assistant, posés sur la carte ---------- */
.tete{position:fixed;z-index:6;top:0;left:0;right:0;height:calc(var(--tete) + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 6px 0 16px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.tete::before{content:"";position:absolute;z-index:-1;inset:0 0 -34px;pointer-events:none;background:linear-gradient(180deg,rgba(5,10,20,.92) 0,rgba(5,10,20,.74) 55%,rgba(5,10,20,0) 100%)}
.immersif .marque{display:inline-flex;align-items:center;gap:10px;min-height:var(--cible);min-width:0;color:var(--creme);text-decoration:none;font:600 20px/1 var(--f-titre);letter-spacing:.005em;white-space:nowrap}
.mono{flex:none;display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--or);border-radius:50%;font:italic 500 18px/1 var(--f-titre);color:var(--or-clair);padding-bottom:1px}
.tete-d{display:flex;align-items:center;flex:none}
.langues{display:none}
.immersif .langues a,.langues-m nav a{display:grid;place-items:center;min-width:var(--cible);height:var(--cible);font:600 12.5px/1 var(--f-ui);letter-spacing:.1em;color:var(--texte-2);text-decoration:none}
.immersif .langues a[aria-current],.langues-m nav a[aria-current]{color:var(--creme)}
.langues a[aria-current] span,.langues-m nav a[aria-current] span{padding-bottom:4px;border-bottom:1px solid var(--or)}
.langues-m{position:relative}
.langues-m summary{display:flex;align-items:center;gap:6px;min-width:var(--cible);height:var(--cible);padding:0 8px;list-style:none;cursor:pointer;font:600 12.5px/1 var(--f-ui);letter-spacing:.1em;color:var(--creme)}
.langues-m summary::-webkit-details-marker{display:none}
.langues-m summary svg{width:18px;height:18px;color:var(--texte-2)}
.langues-m nav{position:absolute;right:0;top:calc(100% + 4px);display:grid;grid-template-columns:repeat(2,var(--cible));gap:2px;padding:6px;border:1px solid var(--trait-fort);border-radius:14px;background:var(--nuit-2);box-shadow:var(--ombre-flottant)}
.t-chat{position:relative;display:grid;place-items:center;width:var(--cible);height:var(--cible);padding:0;border:0;background:none;color:var(--texte-2);cursor:pointer}
.t-chat svg{width:21px;height:21px}
.t-chat:hover{color:var(--creme)}
.t-chat .dot{position:absolute;right:10px;top:11px;width:6px;height:6px;border-radius:50%;background:var(--or)}

/* ---------- le panneau (téléphone : feuille qui glisse sur la carte) ---------- */
.defile{position:fixed;z-index:4;inset:var(--pin) 0 0 0;border-radius:22px 22px 0 0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:none;pointer-events:none;-webkit-overflow-scrolling:touch}
.defile::-webkit-scrollbar{display:none}
.defile::before{content:"";display:block;height:var(--demi)}
.feuille{position:relative;display:block;pointer-events:auto;min-height:100%;padding-bottom:110px;border-top:1px solid rgba(111,132,176,.4);border-radius:22px 22px 0 0;background:var(--feuille);box-shadow:0 -14px 44px rgba(0,0,0,.5)}
.f-tete{position:sticky;top:0;z-index:5;border-radius:22px 22px 0 0;background:var(--feuille)}
.f-poignee{position:relative;display:block;width:100%;height:18px;padding:0;border:0;background:none;cursor:pointer}
.f-poignee::before{content:"";position:absolute;left:50%;top:8px;width:38px;height:3px;margin-left:-19px;border-radius:3px;background:var(--trait-fort)}
.f-poignee::after{content:"";position:absolute;inset:-14px 30% -10px}
.f-trajet{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 10px;margin:0;padding:2px 20px 10px}
.ft-ab{grid-column:1;display:flex;align-items:baseline;gap:7px;min-width:0;font:600 21px/1.15 var(--f-titre);color:var(--creme);white-space:nowrap}
.ft-ab b{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis}
.ft-ab i{flex:none;font-style:normal;font-family:var(--f-ui);font-size:13px;color:var(--or-clair);transform:translateY(-2px)}
.ft-info{grid-column:1;font:500 12.5px/1.4 var(--f-ui);color:var(--texte-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ft-droite{grid-column:2;grid-row:1/3;display:flex;align-items:center;gap:8px}
.ft-prix{font:500 12px/1.1 var(--f-ui);color:var(--texte-2);text-align:right;white-space:nowrap}
.ft-prix b{display:block;margin-top:2px;font:700 23px/1 var(--f-ui);color:var(--or-clair);font-variant-numeric:tabular-nums lining-nums;letter-spacing:-.01em}
.f-tete>.voir{position:absolute;right:14px;top:-56px;background:var(--voile)}
.voir{flex:none;display:inline-grid;place-items:center;width:var(--cible);height:var(--cible);padding:0;border:1px solid var(--trait-fort);border-radius:50%;background:transparent;cursor:pointer}
.voir svg{width:14px;height:14px;color:var(--or-clair);margin-left:2px}
.voir:hover{border-color:var(--or)}
.onglets{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--trait);border-bottom:1px solid var(--trait)}
.immersif .onglets a{position:relative;display:grid;place-items:center;min-height:46px;padding:0 4px;font:600 13px/1.1 var(--f-ui);color:var(--texte-2);text-decoration:none;text-align:center}
.immersif .onglets a[aria-selected="true"]{color:var(--creme)}
.onglets a[aria-selected="true"]::after{content:"";position:absolute;left:50%;bottom:-1px;width:28px;height:2px;margin-left:-14px;background:var(--or)}
.immersif .onglets a:hover{color:var(--creme)}

/* les volets : un seul affiché quand le script tourne ; sans script, les quatre l'un sous l'autre (texte toujours lisible) */
.volet{padding:20px 20px 8px;scroll-margin-top:var(--ftete)}
.js .volet:not(.actif){display:none}
/* volet demandé par l'adresse (#tarifs, #faq...) : affiché dès le premier rendu, sans saut (assets/scene-tete.js) */
html[data-v="v-reserver"]:has(#v-reserver) .volet:not(#v-reserver),html[data-v="trajets"]:has(#trajets) .volet:not(#trajets),html[data-v="infos"]:has(#infos) .volet:not(#infos),
html[data-v="tarifs"]:has(#tarifs) .volet:not(#tarifs),html[data-v="faq"]:has(#faq) .volet:not(#faq){display:none}
html[data-v="v-reserver"] #v-reserver,html[data-v="trajets"] #trajets,html[data-v="infos"] #infos,html[data-v="tarifs"] #tarifs,html[data-v="faq"] #faq{display:block}
#reserver{scroll-margin-top:var(--ftete)}
/* ouverture d'un volet : seuls les blocs à l'écran sont mis en page (les blocs plus bas le sont en arrivant à l'écran) ; gestes plus rapides au téléphone */
.pied,.intro-txt,.volet .maillage,.veh,.ph-large,.ph-lieu,.faq-corps{content-visibility:auto;contain-intrinsic-size:auto 480px}
.volet>:first-child{margin-top:0}
.fil{margin:0 0 10px;font:500 12.5px/1.5 var(--f-ui);color:var(--texte-3)}
.immersif .fil a{color:var(--texte-2)}
.sur{display:block;margin:32px 0 8px;font:600 11.5px/1.3 var(--f-ui);letter-spacing:.16em;text-transform:uppercase;color:var(--texte-3)}
.immersif h1,.immersif h2,.immersif h3{margin:0;font-family:var(--f-titre);font-weight:500;color:var(--creme);text-wrap:balance}
.immersif h1{font-size:31px;line-height:1.06;letter-spacing:-.012em}
.volet .sur+h1,.volet .sur+h2{margin-top:0}
.chapeau{margin:8px 0 0;font-size:14.5px;line-height:1.5;color:var(--texte-2)}
.volet h2,.pied h2{margin-top:32px;font-size:27px;font-weight:600;line-height:1.1;letter-spacing:-.005em}
.volet h3{margin-top:24px;font:700 15px/1.35 var(--f-ui);color:var(--creme)}
.volet p,.volet li{color:var(--texte-2)}
.volet p{margin:10px 0 0}
.volet p b,.volet li b,.volet p strong{font-weight:600;color:var(--creme)}
.volet ul:not([class]),.volet ol:not([class]){margin:12px 0 0;padding:0;list-style:none}
.volet ul:not([class])>li,.volet ol:not([class])>li,.liste>li{position:relative;padding:9px 0 9px 22px;border-top:1px solid var(--trait)}
.volet ul:not([class])>li:last-child,.liste>li:last-child{border-bottom:1px solid var(--trait)}
.volet ul:not([class])>li::before,.liste>li::before{content:"";position:absolute;left:0;top:21px;width:11px;height:1px;background:var(--or)}
.volet ol:not([class]){counter-reset:n}
.volet ol:not([class])>li{counter-increment:n}
.volet ol:not([class])>li::before{content:counter(n);position:absolute;left:0;top:9px;font:600 12.5px/1.6 var(--f-ui);color:var(--or-clair);font-variant-numeric:tabular-nums}
.liste{list-style:none;margin:12px 0 0;padding:0}
.note,.volet .note{font-size:13px;line-height:1.5;color:var(--texte-3)}
.filet{height:1px;margin:30px 0 0;border:0;background:var(--trait)}
.lien-p{font-weight:600}
.immersif .lien-p a{display:inline-flex;align-items:center;min-height:var(--cible)}
.intro-txt p:first-child{margin-top:12px}
/* dans le volet Réserver, le kicker de l'accueil n'est utile que sur ordinateur (la feuille rappelle déjà le trajet) */
@media (max-width:899.98px){#v-reserver>.sur:first-child{display:none}#v-reserver>.sur:first-child+h1,#v-reserver>.sur:first-child+h2{margin-top:0}}
.v-titre{margin-top:0!important}

/* prix d'un trajet : trois valeurs en ligne */
.trio{display:grid;grid-template-columns:repeat(3,1fr);margin:16px 0 0;padding:0;list-style:none;border-top:1px solid var(--trait);border-bottom:1px solid var(--trait)}
.trio li{padding:12px 0 12px 14px;border-left:1px solid var(--trait);font:600 11.5px/1.3 var(--f-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--texte-3)}
.trio li:first-child{padding-left:0;border-left:0}
.trio b{display:block;margin-top:4px;font:700 24px/1 var(--f-ui);letter-spacing:-.01em;text-transform:none;color:var(--or-clair);font-variant-numeric:tabular-nums lining-nums}
.trio small{display:block;margin-top:5px;font:500 12px/1.3 var(--f-ui);letter-spacing:0;text-transform:none;color:var(--texte-2)}
.prix-l{margin:16px 0 0;padding:0;list-style:none;border-bottom:1px solid var(--trait)}
.prix-l li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:11px 0;border-top:1px solid var(--trait);font:500 14px/1.35 var(--f-ui);color:var(--texte-2)}
.volet .prix-l b{font:700 20px/1 var(--f-ui);color:var(--or-clair);font-variant-numeric:tabular-nums lining-nums;white-space:nowrap}

/* destinations : chaque ligne commande la carte */
.dest{list-style:none;margin:16px 0 0;padding:0;border-bottom:1px solid var(--trait)}
.dest>li{border-top:1px solid var(--trait)}
.volet .d-h{margin:0;font:inherit}
.d-btn{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 12px;width:100%;min-height:68px;padding:12px 0 12px 16px;border:0;background:none;text-align:left;cursor:pointer}
.d-btn::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:2px;background:var(--trait);transition:background .2s}
.d-btn[aria-pressed="true"]::before{background:var(--or)}
.d-n{grid-column:1;font:600 22px/1.12 var(--f-titre);color:var(--creme)}
.d-m{grid-column:1;font:500 12.5px/1.4 var(--f-ui);color:var(--texte-2)}
.d-p{grid-column:2;grid-row:1/3;font:500 12px/1.1 var(--f-ui);color:var(--texte-2);text-align:right;white-space:nowrap}
.d-p b{display:block;margin-top:2px;font:700 22px/1 var(--f-ui);color:var(--or-clair);font-variant-numeric:tabular-nums lining-nums}
.d-p.devis{max-width:9.5em;white-space:normal;font-size:12px;line-height:1.35}
.d-plus{padding:0 0 14px 16px}
.js .dest>li:not(.on) .d-plus{display:none}
.d-plus ol{margin:0;padding:0;list-style:none;counter-reset:e}
.volet .d-plus ol li{position:relative;padding:5px 0 5px 26px;border:0;font-size:13.5px;line-height:1.45;color:var(--texte-2);counter-increment:e}
.volet .d-plus ol li::before{content:counter(e);position:absolute;left:0;top:5px;width:18px;font:600 12px/1.6 var(--f-ui);color:var(--or-clair);font-variant-numeric:tabular-nums;background:none;height:auto}
.d-plus p{margin:6px 0 0;font-size:13.5px}
.immersif .d-plus a{display:inline-flex;align-items:center;min-height:var(--cible)}
.d-tag{display:inline-block;margin-bottom:6px;font:600 11.5px/1.3 var(--f-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--texte-3)}
.maillage{margin:12px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:0 18px}
.volet .maillage li{padding:0;border:0}
.volet .maillage li::before{content:none}
.immersif .maillage a{display:inline-flex;align-items:center;min-height:var(--cible);font-size:13.5px;color:var(--texte-2)}
.immersif .maillage a:hover{color:var(--creme)}

/* tableaux (prix de l'accueil et tableaux des pages) */
.tablo{margin:16px -20px 0;padding:0 20px;overflow-x:auto;scrollbar-width:thin}
.volet table{width:100%;border-collapse:collapse;font:500 14px/1.35 var(--f-ui);font-variant-numeric:tabular-nums lining-nums}
.volet th,.volet td{padding:12px 6px 12px 2px;border-bottom:1px solid var(--trait);text-align:right;vertical-align:baseline;color:var(--creme)}
.volet th:first-child,.volet td:first-child{padding-left:0;text-align:left;color:var(--texte-2);font-weight:500}
.volet thead th{padding-top:0;font:600 11.5px/1.35 var(--f-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--texte-3);vertical-align:bottom}
.volet thead th small{display:block;margin-top:2px;font:500 11.5px/1.3 var(--f-ui);letter-spacing:0;text-transform:none;color:var(--texte-3)}
.volet td a{color:var(--creme)}
table.prix th,table.prix td{white-space:nowrap}
table.prix thead th small{white-space:normal;max-width:8.5em;margin-left:auto;font-size:11px}
.volet table.prix tbody th{position:relative;padding-left:12px;font-weight:600;color:var(--creme);white-space:normal}
table.prix tbody th::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:2px;background:transparent;transition:background .2s}
table.prix tr.courant th::before{background:var(--or)}
table.prix tr.courant{background:linear-gradient(90deg,rgba(217,164,65,.13),rgba(217,164,65,.04))}
table.prix td{font-size:15px;font-weight:600}
table.prix td b{font-weight:600}
.l-btn{display:inline-flex;align-items:center;min-height:var(--cible);margin:-12px 0;padding:0;border:0;background:none;font:600 13.5px/1.3 var(--f-ui);color:var(--creme);text-align:left;cursor:pointer;text-decoration:underline;text-decoration-color:rgba(217,164,65,.7);text-underline-offset:3px}
.sd{font-size:12.5px;color:var(--texte-2)}

/* véhicules : leurs VRAIES photos, bord à bord, sans cadre ; puis le texte */
.veh{margin:16px 0 0;padding:0;list-style:none}
.volet .veh>li{padding:0;margin:0 0 26px;border:0}
.volet .veh>li::before{content:none}
.v-ph,.ph-large,.ph-lieu{position:relative;margin:0 -20px;overflow:hidden;background:var(--fond)}
.v-ph img,.ph-large img,.ph-lieu img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.v-ph::after,.ph-large::after{content:"";position:absolute;inset:auto 0 0;height:44%;pointer-events:none;background:linear-gradient(180deg,rgba(10,23,48,0),var(--feuille))}
.v-t{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;align-items:baseline;margin-top:-34px;padding-top:2px}
.v-badge{grid-column:1/-1;justify-self:start;margin-bottom:4px;padding:2px 9px;border:1px solid rgba(217,164,65,.6);border-radius:999px;font:600 11px/1.5 var(--f-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--or-clair)}
.volet .v-n{grid-column:1;margin:0;font:600 25px/1.1 var(--f-titre)}
.v-n small{margin-left:8px;font:500 12.5px/1 var(--f-ui);color:var(--texte-2)}
.volet .v-c{grid-column:1;margin:4px 0 0;font-size:13.5px;line-height:1.45}
.v-c svg{width:15px;height:15px;margin:0 5px -2px 0;color:var(--texte-3)}
.volet .v-p{grid-column:2;grid-row:1/3;align-self:center;margin:0;font:500 12px/1.25 var(--f-ui);color:var(--texte-2);text-align:right;max-width:10.5em}
.v-p b{display:block;margin-top:2px;font:700 22px/1 var(--f-ui);color:var(--or-clair);font-variant-numeric:tabular-nums lining-nums}
.ph-large{margin-top:16px}
.ph-lieu{margin-top:28px}
.ph-lieu img{aspect-ratio:16/9}
.ph-lieu figcaption{padding:8px 20px 0;font-size:12px;line-height:1.45;color:var(--texte-3)}
.immersif .ph-lieu figcaption a{color:var(--texte-2)}
.deux{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;margin:14px 0 0;padding:0;list-style:none}
.volet .deux li{padding:12px 0;border-top:1px solid var(--trait);font-size:13px;line-height:1.45}
.volet .deux li::before{content:none}
.deux b{display:block;margin-bottom:2px;font:600 14px/1.3 var(--f-ui);color:var(--creme)}
.confiance li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;align-items:start}
.confiance svg{width:20px;height:20px;margin-top:1px;color:var(--or-clair)}
.ic4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:26px 0 0;padding:0;list-style:none}
.volet .ic4 li{padding:0;border:0;text-align:center;font:500 12px/1.3 var(--f-ui);color:var(--texte-2)}
.volet .ic4 li::before{content:none}
.ic4 svg{display:block;width:26px;height:26px;margin:0 auto 6px;color:var(--or-clair)}
.pas{margin:14px 0 0;padding:0;list-style:none;counter-reset:p}
.volet .pas li{position:relative;padding:11px 0 11px 44px;border-top:1px solid var(--trait);counter-increment:p}
.volet .pas li::before{content:counter(p);position:absolute;left:0;top:9px;width:auto;height:auto;background:none;font:italic 500 30px/1 var(--f-titre);color:var(--or-clair)}
.volet .pas h3{margin:0;font:600 14.5px/1.3 var(--f-ui);color:var(--creme)}
.volet .pas p{margin:2px 0 0;font-size:13.5px;line-height:1.45}

/* questions */
.faq{margin:14px 0 0;border-bottom:1px solid var(--trait)}
.faq details{border-top:1px solid var(--trait)}
.faq summary{position:relative;display:flex;align-items:center;min-height:56px;padding:10px 34px 10px 0;font:600 15px/1.35 var(--f-ui);color:var(--creme);cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:6px;top:50%;width:9px;height:9px;margin-top:-7px;border-right:1.5px solid var(--or-clair);border-bottom:1.5px solid var(--or-clair);transform:rotate(45deg);transition:transform .2s var(--courbe)}
.faq details[open] summary::after{transform:rotate(-135deg);margin-top:-2px}
.faq details p{margin:0;padding:0 0 16px}
.faq-corps p b:first-child{display:block;margin-bottom:2px}
.fin{margin-top:8px}
.fin-l{display:flex;flex-wrap:wrap;gap:4px 22px}
.immersif .fin-l a{display:inline-flex;align-items:center;min-height:var(--cible);font-weight:600}
.chat-l{margin:18px 0 0}
.lien-chat{display:inline-flex;align-items:center;gap:10px;min-height:var(--cible);padding:0 18px 0 14px;border:1px solid var(--trait-fort);border-radius:999px;background:transparent;font:600 14px var(--f-ui);color:var(--creme);cursor:pointer}
.lien-chat svg{width:19px;height:19px;color:var(--or-clair)}
.lien-chat:hover{border-color:var(--or)}

/* ---------- pied du panneau : tous les liens de l'ancien pied de page ---------- */
.pied{margin:30px 20px 0;padding:18px 0 0;border-top:1px solid var(--trait);font-size:12.5px;line-height:1.55;color:var(--texte-3)}
.pied p{margin:0 0 8px}
.p-marque{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.immersif .p-marque a{font:600 19px/1.2 var(--f-titre);color:var(--creme);text-decoration:none}
.p-marque small{font-size:12px;color:var(--texte-3)}
.p-cols{display:grid;gap:6px 24px;margin:14px 0 12px}
.p-cols h3{margin:10px 0 2px;font:700 11.5px/1.3 var(--f-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--texte-3)}
.p-cols div{display:flex;flex-wrap:wrap;gap:0 16px}
.p-cols h3{flex:0 0 100%}
.immersif .p-cols a{display:inline-flex;align-items:center;min-height:var(--cible);font-size:13px;color:var(--texte-2)}
.immersif .p-cols a:hover{color:var(--creme)}
.pied .legal,.pied .c-carte{font-size:12px}
.immersif .pied .c-carte a{color:var(--texte-2)}

/* ---------- l'action : un seul bouton or ---------- */
.action{position:fixed;z-index:7;left:0;right:0;bottom:0;padding:22px 16px calc(14px + env(safe-area-inset-bottom,0px));background:linear-gradient(180deg,rgba(10,23,48,0) 0,var(--feuille) 34%);pointer-events:none}
body[data-onglet="v-reserver"] .action{display:none}   /* dans le volet Réserver, le bouton or est celui de l'étape du formulaire */
.immersif .btn-or{pointer-events:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:54px;padding:10px 20px;border:0;border-radius:14px;background:var(--or);color:var(--sur-or);font:700 15.5px/1.2 var(--f-ui);text-align:left;text-decoration:none;cursor:pointer;transition:background .2s}
.immersif .btn-or:hover{background:var(--or-clair)}
.immersif .btn-or:focus-visible{outline:2px solid var(--creme);outline-offset:3px;border-radius:14px}
.btn-or[aria-disabled="true"]{opacity:.55;cursor:default}
.btn-or .a-p{font:700 15.5px/1.2 var(--f-ui);white-space:nowrap;font-variant-numeric:tabular-nums lining-nums}
.btn-or .a-p:empty::after{content:"→";font-weight:500}

/* ---------- le VRAI formulaire, habillé pour le panneau (assets/reservation.js inchangé) ---------- */
.feuille .rz,.feuille .rz:not([data-e="1"]){--ch:var(--or);--ch2:var(--or-clair);--cr:var(--fond);margin:4px 0 0;padding:0;background:none;color:var(--creme);border:0;border-radius:0;box-shadow:none;width:auto;max-width:none}
.rz-et{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:0 0 16px;padding:14px 0 0;list-style:none}
.rz:not([data-e="1"]) .rz-et{display:grid}
.feuille .rz-et li{position:static;min-height:30px;padding:9px 0 0;border-top:2px solid var(--trait);font:600 11.5px/1.2 var(--f-ui);letter-spacing:.03em;text-align:left;color:var(--texte-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.feuille .rz-et li i{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.feuille .rz-et li::after{content:none}
.feuille .rz-et li.fait{border-color:rgba(217,164,65,.5);color:var(--texte-2)}
.feuille .rz-et li.on{border-color:var(--or);color:var(--creme);font-weight:700}
.rz-t{font:600 25px/1.1 var(--f-titre);color:var(--creme);margin:0 0 12px}
.rz-tg{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 10px;padding:0;background:none;border:0;border-radius:0}
.rz-tg label{position:relative;display:block}
.rz-tg span{display:grid;place-items:center;min-height:var(--cible);padding:8px;border:1px solid var(--trait-fort);border-radius:12px;font:600 13.5px/1.2 var(--f-ui);color:var(--texte-2);transition:background .18s,border-color .18s,color .18s}
.rz-tg input:checked+span{border-color:var(--or);background:rgba(217,164,65,.12);color:var(--creme)}
.rz-tg input:focus-visible+span{outline:2px solid var(--focus);outline-offset:2px}
.rz-c,.rz .rz-voy{min-height:60px;margin-bottom:10px;padding:8px 14px 7px;background:rgba(244,239,229,.035);border:1px solid var(--trait-fort);border-radius:12px;column-gap:12px}
.rz-c:focus-within{border-color:var(--or-clair);box-shadow:0 0 0 2px rgba(242,199,110,.22);outline:0}
.rz-c>svg{width:20px;height:20px;color:var(--or-clair)}
.rz-c .l{font:500 12px/1.4 var(--f-ui);color:var(--texte-3)}
.rz-c input{height:26px;font:500 16px/1.3 var(--f-ui);color:var(--creme);color-scheme:dark}
.rz-c input::placeholder{color:var(--texte-3);opacity:1;font-weight:400}
.rz-c input[aria-invalid=true]{color:var(--alerte)}
.rz-c:has(input[aria-invalid=true]){border-color:var(--alerte)}
.rz-tz{color:var(--texte-2);font-weight:600}
.rz-adr{position:relative;margin:0 0 10px}
.rz-adr .rz-c{margin:0;padding-right:62px}
.rz-adr .rz-c:first-child{border-radius:12px 12px 0 0}
.rz-adr .rz-c+.rz-c{margin-top:-1px;border-radius:0 0 12px 12px}
.rz-swap{right:8px;width:var(--cible);height:var(--cible);border:1px solid var(--trait-fort);background:var(--feuille);color:var(--creme);box-shadow:none}
.rz-swap:hover{border-color:var(--or)}
.rz-rac{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.rz-rac button{flex:0 1 auto;min-height:var(--cible);padding:0 15px;border:1px solid var(--trait-fort);border-radius:999px;background:transparent;color:var(--creme);font:600 13px/1.2 var(--f-ui);white-space:nowrap}
.rz-rac button:hover{color:var(--creme);border-color:var(--or)}
.rz-dh .rz-c{grid-template-columns:20px minmax(0,1fr)}   /* date et heure l'une sous l'autre : « heure de Paris » reste lisible en entier */
.rz-aide{margin:-4px 2px 12px;font-size:13px;line-height:1.45;color:var(--texte-2)}
.rz-voy summary{min-height:44px;padding:0;grid-template-columns:20px minmax(0,1fr) 16px}
.rz-voy summary>svg:first-child{width:20px;height:20px;color:var(--or-clair)}
.rz-voy summary .ch{color:var(--texte-2)}
.rz-voy-t{font:500 16px/1.3 var(--f-ui);color:var(--creme)}
.rz-sp{padding:10px 0 4px;border-top:1px solid var(--trait)}
.rz-sp>span{font-size:14.5px;color:var(--texte-2)}
.rz-stp output{color:var(--creme);font:700 16px var(--f-ui)}
.rz-stp button{width:var(--cible);height:var(--cible);border:1px solid var(--trait-fort);background:transparent;color:var(--creme);font:500 20px/1 var(--f-ui)}
.rz-voymax{padding:8px 0 4px;color:var(--texte-2)}
.rz-bag{gap:6px 10px;padding:10px 14px 12px;background:rgba(244,239,229,.035);border:1px solid var(--trait-fort);border-radius:12px}
.rz-bag:has([aria-invalid=true]){border-color:var(--alerte)}
.rz-bag-t{color:var(--texte-3);font-size:12px}
.rz-bag-t svg{width:20px;height:20px;color:var(--or-clair)}
.rz-bq>span{font-size:12.5px;color:var(--texte-2)}
.rz-bq select{height:var(--cible);background:var(--fond);color:var(--creme);border:1px solid var(--trait-fort);border-radius:10px;font-weight:600;color-scheme:dark}
.rz-bq select:focus{border-color:var(--or-clair);box-shadow:0 0 0 2px rgba(242,199,110,.22)}
.rz-bq select[aria-invalid=true]{border-color:var(--alerte);color:var(--alerte)}
.rz-err{margin:0 0 12px;padding:10px 12px;border:1px solid var(--alerte);border-radius:12px;font-size:13.5px;font-weight:600;color:var(--alerte)}
/* le bouton de l'étape reste à portée de pouce : collé au bas du panneau pendant toute l'étape (comme le bouton or de la maquette) */
.rz-envoi{position:sticky;bottom:0;z-index:4;margin:14px -20px 0;padding:18px 20px calc(14px + env(safe-area-inset-bottom,0px));background:linear-gradient(180deg,rgba(10,23,48,0) 0,var(--feuille) 34%)}
.feuille .rz-btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:54px;padding:10px 20px;border:0;border-radius:14px;background:var(--or);color:var(--sur-or);font:700 15.5px/1.2 var(--f-ui);box-shadow:none;transition:background .2s}
.feuille .rz-btn:hover{filter:none;background:var(--or-clair)}
.feuille .rz-btn:focus-visible{outline:2px solid var(--creme);outline-offset:3px}
.feuille .rz-btn.rz-ghost,.rz-btn2{background:transparent;color:var(--creme);border:1px solid var(--trait-fort)}
.feuille .rz button:focus-visible,.feuille .rz summary:focus-visible{outline:2px solid var(--focus)}
.rz-lien,.rz-rap .rz-lien,.rz-ret-l{color:var(--creme);min-height:var(--cible);text-decoration-color:rgba(217,164,65,.7)}
.rz-ok{background:transparent;border:1px solid var(--ok);border-radius:12px;color:var(--creme)}
.feuille .rz-note,.feuille .rz:not([data-e="1"]) .rz-note,.feuille .rz .rz-carte .rz-note,.feuille .rz:not([data-e="1"]) .rz-carte .rz-note{color:var(--texte-3)}
.rz-ferme,.rz-pause{background:transparent;border:1px solid var(--attention);border-radius:12px;color:var(--creme);font-weight:600}
.rz-rap-t p{color:var(--texte-2)}
.rz-info,.rz-calc,.rz-ecarte{color:var(--texte-2)}
.rz-car{grid-template-columns:96px minmax(0,1fr) auto;background:rgba(244,239,229,.035);color:var(--creme);border:1px solid var(--trait-fort);border-radius:14px;padding:10px 12px 10px 10px}
.rz-car:hover{border-color:var(--or)}
.rz-car.on{background:rgba(217,164,65,.1);border-color:var(--or);outline:1px solid var(--or)}
.rz-car.on:after{top:6px;left:6px;right:auto;background:var(--or);color:var(--sur-or)}
.rz-car img{height:64px;border-radius:8px;background:var(--fond)}
.rz-car-n{font:600 21px/1.1 var(--f-titre)}
.rz-cap{color:var(--texte-2)}
.rz-prix b{font:700 22px/1.1 var(--f-ui);letter-spacing:-.01em;color:var(--or-clair)}
.rz-prix small,.rz-bar-p small{font-size:12px;color:var(--texte-2)}
.rz-devis{color:var(--creme)}
.rz-bar{bottom:0;margin:14px -20px 0;padding:16px 20px calc(14px + env(safe-area-inset-bottom,0px));background:var(--feuille);border:0;border-top:1px solid var(--trait);border-radius:0;box-shadow:0 -14px 24px rgba(10,23,48,.85)}
.rz-bar-t b{color:var(--creme)}.rz-bar-t p{color:var(--texte-2)}
.rz-bar-p b{font:700 28px/1 var(--f-ui);letter-spacing:-.02em;color:var(--or-clair)}
.rz-bar-p b.rz-bar-d{font-size:16px;font-weight:700;letter-spacing:0;color:var(--creme)}
.feuille .rz-carte{margin-top:12px;padding:0;background:none;color:var(--creme);border:0;border-radius:0}
.rz-carte>.rz-btn[type=submit]{position:sticky;bottom:14px;z-index:4;box-shadow:0 0 0 14px var(--feuille),0 -18px 20px 8px var(--feuille)}
.rz-f>span{color:var(--texte-2);font-size:12.5px;font-weight:600}
.rz-f input,.feuille .rz select,.feuille .rz textarea{background:var(--fond);color:var(--creme);border:1px solid var(--trait-fort);border-radius:12px;font-family:var(--f-ui)}
.rz-f input::placeholder,.feuille .rz textarea::placeholder{color:var(--texte-3);opacity:1}
.rz-f input:focus,.feuille .rz select:focus,.feuille .rz textarea:focus{border-color:var(--or-clair);box-shadow:0 0 0 2px rgba(242,199,110,.22);outline:0}
.rz-f input[aria-invalid=true]{border-color:var(--alerte)}
.rz-aide-f{color:var(--texte-3)}
.rz-rec dt{color:var(--texte-2)}.rz-rec dd{color:var(--creme)}
.rz-rec .rz-rec-p{border-top:1px solid var(--trait)}
dd.rz-rec-p{font:700 26px/1 var(--f-ui);letter-spacing:-.02em;color:var(--or-clair)}
.rz-det summary{color:var(--creme);min-height:var(--cible);display:flex;align-items:center}
.rz-cgvbloc{background:var(--fond);border:1px solid var(--trait);border-radius:14px;color:var(--creme)}
.rz-cgv-ess{background:var(--nuit-2);border-radius:12px;color:var(--creme)}
.rz-cgv-ess h3,.rz-cgv-texte h3{font:700 15px/1.3 var(--f-ui);color:var(--creme)}
.rz-cgv-titre{color:var(--texte-2);font-size:12.5px}
.rz-cgv-texte{background:var(--fond);border:1px solid var(--trait);border-radius:12px;color:var(--texte-2);font-size:12.5px}
.rz-cgv-texte h4{color:var(--creme);font-size:12.5px}
.rz-cgv-version{color:var(--texte-3);font-size:12px}
.feuille .rz input[type=checkbox],.feuille .rz input[type=radio]{accent-color:var(--or)}
.rz-cgv input[type=checkbox],.feuille .rz label input[type=checkbox]{width:24px;height:24px;flex:none}
.rz-echeance{color:var(--texte-2)}
.rz-act .rz-sec{color:var(--creme)}
.rz-suivi{background:var(--voile);-webkit-backdrop-filter:none;backdrop-filter:none}
.rz-suivi-box{background:var(--nuit);color:var(--creme);border:1px solid var(--trait-fort);border-radius:22px;box-shadow:var(--ombre-flottant)}
.rz-suivi-box h3{font:600 25px/1.1 var(--f-titre);color:var(--creme)}
.rz-suivi-sub,.rz-suivi-plus{color:var(--texte-2)}
.rz-suivi-pts li::before{color:var(--ok)}
.rz-suivi-box .rz-ghost{color:var(--creme);border-color:var(--trait-fort)}
.rz-reprise{background:var(--nuit-2);border:1px solid var(--trait-fort);border-radius:14px}
.rz-reprise button{border:1px solid var(--trait-fort);border-radius:12px;color:var(--creme)}
.rz-reprise .rz-reprise-oui{background:var(--or);color:var(--sur-or);border-color:var(--or)}
/* l'avant du formulaire (rassurance, étapes) ne concerne que l'étape 1 */
#v-reserver:has(.rz:not([data-e="1"])) .avant,#v-reserver:has(.rz:not([data-e="1"])) .chapeau{display:none}
/* suggestions d'adresse et assistant : leurs styles sont injectés par script après cette feuille, d'où le préfixe « body » */
body .adr ul{background:var(--nuit-2);border:1px solid var(--trait-fort);border-radius:12px;box-shadow:var(--ombre-flottant)}
body .adr li{min-height:var(--cible);color:var(--creme);border-radius:6px}
body .adr li:hover,body .adr li.on{background:var(--nuit-3)}
body .adr li small{color:var(--texte-2)}
body .adr input.ok{background:none}
body .vchat{background:var(--fond);color:var(--creme);border:1px solid var(--trait-fort);border-radius:22px;box-shadow:var(--ombre-flottant);font-family:var(--f-ui);z-index:40}
body .vchat header{background:var(--nuit);border-bottom:1px solid var(--trait);color:var(--creme)}
body .vchat header small{color:var(--texte-2)}
body .vchat header button{min-width:var(--cible);min-height:var(--cible);color:var(--creme)}
body .vchat .msgs,body .vchat .chips{background:var(--fond)}
body .vchat .bot{background:var(--nuit-2);border-color:var(--trait);color:var(--creme)}
body .vchat .me{background:var(--nuit-3);color:var(--creme)}
body .vchat .m a{color:var(--creme);text-decoration:underline;text-decoration-color:var(--or)}
body .vchat .chips button{min-height:36px;padding:6px 12px;border:1px solid var(--trait-fort);border-radius:999px;background:transparent;color:var(--creme);font-size:12.5px;font-weight:600}
body .vchat .chips button.agent{background:var(--creme);border-color:var(--creme);color:var(--fond)}
body .vchat form{background:var(--nuit);border-top:1px solid var(--trait)}
body .vchat input,body .vchat textarea,body .vchat .ag-form textarea{background:var(--fond);color:var(--creme);border:1px solid var(--trait-fort);border-radius:12px;font-size:16px}
body .vchat input::placeholder,body .vchat textarea::placeholder{color:var(--texte-3);opacity:1}
body .vchat form button{min-height:var(--cible);border-radius:12px;background:var(--or);color:var(--sur-or);font-weight:700}
body .vchat .act a{min-height:36px;display:inline-flex;align-items:center;background:var(--or);color:var(--sur-or);text-decoration:none;border:1px solid var(--or)}
body .vchat .act a.wa{background:transparent;border-color:var(--trait-fort);color:var(--creme)}
body .vchat .bot.ag{background:var(--nuit-2);border-color:var(--or)}
body .vchat .bot.ag small,body .vchat .ag-mk{color:var(--texte-2);font-size:12px}
body .vchat .ag-err{color:var(--alerte);font-size:12.5px}
body .vbulle{background:var(--nuit-2);color:var(--creme);border:1px solid var(--trait-fort);box-shadow:var(--ombre-flottant);z-index:39}
body .vbulle b{color:var(--creme)}
body .vbulle .x{min-width:var(--cible);min-height:var(--cible);color:var(--texte-2)}
@media (max-width:899.98px){
  body .vbulle{bottom:92px}
  /* téléphone : fenêtre FLOTTANTE (pas de plein écran, choix de l'exploitant) posée au-dessus du clavier quand il est ouvert,
     hauteur bornée à la partie VISIBLE de l'écran (variables --kb et --vvh posées par assistant.js) : rien n'est coupé en haut */
  body .vchat{left:12px;right:12px;width:auto;bottom:max(92px,calc(var(--kb,0px) + 10px));max-height:min(560px,calc(var(--vvh,100dvh) - 104px));z-index:40}
  body .vchat.clavier{bottom:calc(var(--kb,0px) + 10px);max-height:calc(var(--vvh,100dvh) - 20px - env(safe-area-inset-top,0px))}
}

/* sur ordinateur seulement */
.legende,.arrivees,.credits-carte{display:none}
@media (max-width:380px){
  .immersif h1{font-size:29px}
  .immersif .marque{font-size:18px}
  .ft-ab{font-size:19px}
  .immersif .onglets a{font-size:12px}
  .volet{padding-left:16px;padding-right:16px}
  .tablo{margin:16px -16px 0;padding:0 16px}
  .v-ph,.ph-large,.ph-lieu{margin-left:-16px;margin-right:-16px}
  .rz-envoi,.rz-bar{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}
  .pied{margin-left:16px;margin-right:16px}
  .deux{grid-template-columns:1fr}
}

/* ---------- ordinateur : la carte en plein écran, le panneau à gauche, la légende sur la carte ---------- */
@media (min-width:900px){
  :root{--tete:84px;--ftete:56px}
  .tete{padding:0 32px 0 36px}
  .tete::before{inset:0 0 -60px;background:linear-gradient(180deg,rgba(5,10,20,.8) 0,rgba(5,10,20,0) 100%)}
  .immersif .marque{font-size:23px}
  .mono{width:34px;height:34px;font-size:20px}
  .langues{display:flex}
  .langues-m{display:none}
  .scene{transform:none}
  .carte-img{top:0;width:calc(100% + 460px);height:100%;aspect-ratio:auto;object-fit:cover}
  .scene::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(5,10,20,.55) 0,rgba(5,10,20,.2) 44%,rgba(5,10,20,0) 60%),linear-gradient(0deg,rgba(5,10,20,.7) 0,rgba(5,10,20,0) 22%)}
  .defile{inset:var(--tete) auto 28px 28px;width:var(--panneau);pointer-events:auto;border:1px solid rgba(111,132,176,.34);border-radius:22px;background:rgba(9,19,40,.94);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 24px 60px rgba(0,0,0,.55);scrollbar-width:thin;scrollbar-color:var(--trait) transparent}
  .defile::before{display:none}
  .feuille{min-height:0;padding-bottom:118px;border:0;border-radius:0;background:none;box-shadow:none}
  .f-tete{border-radius:0;background:#0A1429}
  .f-poignee,.f-trajet{display:none}
  .onglets{border-top:0}
  .immersif .onglets a{min-height:54px;font-size:13.5px}
  .volet{padding:28px 30px 8px}
  .tablo{margin:16px 0 0;padding:0}
  .v-ph,.ph-large,.ph-lieu{margin-left:-30px;margin-right:-30px}
  .ph-lieu figcaption{padding:8px 30px 0}
  .rz-envoi,.rz-bar{margin-left:-30px;margin-right:-30px;padding-left:30px;padding-right:30px;background:linear-gradient(180deg,rgba(10,20,41,0) 0,#0A1429 34%)}
  .rz-bar{background:#0A1429;box-shadow:0 -14px 24px rgba(10,20,41,.85)}
  .rz-carte>.rz-btn[type=submit]{box-shadow:0 0 0 14px #0A1429,0 -18px 20px 8px #0A1429}
  .pied{margin:30px 30px 0}
  .immersif h1{font-size:40px}
  .chapeau{font-size:15.5px}
  .sur{letter-spacing:.18em}
  .v-ph::after,.ph-large::after{background:linear-gradient(180deg,rgba(10,20,41,0),rgba(9,19,40,.94))}
  .action{left:29px;right:auto;bottom:29px;width:calc(var(--panneau) - 2px);padding:26px 30px 22px;border-radius:0 0 21px 21px;background:linear-gradient(180deg,rgba(10,20,41,0) 0,#0A1429 36%)}
  .carte-survol{left:calc(50% + 254px);top:calc(var(--tete) + 4px)}
  body .vchat,body .vbulle{bottom:28px}

  .legende::before{content:"";position:absolute;z-index:-1;inset:-70px -160px -80px -80px;pointer-events:none;background:radial-gradient(closest-side,rgba(5,10,20,.78),rgba(5,10,20,.5) 55%,rgba(5,10,20,0))}
  .legende{display:block;position:fixed;z-index:3;left:calc(28px + var(--panneau) + 44px);top:calc(var(--tete) + 14px);max-width:calc(100vw - var(--panneau) - 150px)}
  .lg-sur{margin:0 0 10px;font:600 11.5px/1.3 var(--f-ui);letter-spacing:.18em;text-transform:uppercase;color:var(--texte-2);text-shadow:0 1px 10px rgba(5,10,20,.9)}
  .lg-ab{margin:0;font:500 clamp(38px,3.5vw,54px)/1.04 var(--f-titre);letter-spacing:-.012em;color:var(--creme);text-shadow:0 2px 24px rgba(5,10,20,.85)}
  .lg-ab span{display:block}
  .lg-ab i{display:block;width:44px;height:1px;margin:12px 0 10px 3px;background:var(--or)}
  .lg-bas{display:flex;align-items:center;gap:18px;margin:18px 0 0}
  .lg-info{margin:0;font:500 14px/1.4 var(--f-ui);color:var(--texte-2);text-shadow:0 1px 10px rgba(5,10,20,.95)}
  .lg-prix{margin:0;padding-left:18px;border-left:1px solid rgba(111,132,176,.6);font:500 12.5px/1.2 var(--f-ui);color:var(--texte-2);text-shadow:0 1px 10px rgba(5,10,20,.95)}
  .lg-info[hidden]+.lg-prix{padding-left:0;border-left:0}
  .lg-prix b{display:block;margin-top:3px;font:700 30px/1 var(--f-ui);letter-spacing:-.015em;color:var(--or-clair);font-variant-numeric:tabular-nums lining-nums}
  .lg-prix.devis{max-width:24em;font-size:13.5px;line-height:1.45}
  .legende .voir{width:auto;height:var(--cible);padding:0 18px 0 14px;display:inline-flex;gap:8px;border-radius:999px;background:var(--voile);font:600 13px var(--f-ui)}
  .arrivees{display:flex;flex-wrap:wrap;align-items:center;gap:8px;position:fixed;z-index:3;left:calc(28px + var(--panneau) + 44px);right:44px;bottom:66px;margin:0}
  .arrivees span{flex:0 0 100%;margin-bottom:2px;font:600 11.5px/1.3 var(--f-ui);letter-spacing:.18em;text-transform:uppercase;color:var(--texte-2);text-shadow:0 1px 10px rgba(5,10,20,.95)}
  .puce{flex:none;min-height:var(--cible);padding:0 15px;border:1px solid var(--trait-fort);border-radius:999px;background:var(--voile);color:var(--creme);font:600 13px/1 var(--f-ui);white-space:nowrap;cursor:pointer}
  .puce:hover{border-color:var(--or)}
  .puce[aria-pressed="true"]{border-color:var(--or);background:rgba(48,37,16,.92)}
  .credits-carte{display:block;position:fixed;z-index:3;right:44px;bottom:18px;left:calc(28px + var(--panneau) + 44px);margin:0;font:400 11.5px/1.5 var(--f-ui);color:var(--texte-2);text-shadow:0 1px 6px rgba(5,10,20,.95)}
  .immersif .credits-carte a{color:var(--texte-2)}
  .pied .c-carte{display:none}
}
@media (min-width:900px) and (max-height:700px){.lg-ab{font-size:36px}}

/* passage d'un écran à l'autre : la carte reste en place, le panneau change (navigateurs compatibles) */
@view-transition{navigation:auto}
.scene{view-transition-name:scene}
.defile{view-transition-name:panneau}
.tete{view-transition-name:tete}
.action{view-transition-name:action}
::view-transition-group(scene){animation-duration:.7s}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}
}
