/* ====== Nuit Luxe : habillage sombre éditorial (chargé en dernier) ======
   Une seule photo forte par écran, le reste en graphisme : typographie géante, verre dépoli, tracés dorés. */
:root{--bg:#050c1a;--bg2:#08142a;--ivoire:#f3eee3;--mute:#a9b5ca;--verre:rgba(255,255,255,.045);--ligne:rgba(255,255,255,.1);--glow:rgba(217,164,65,.20)}
body{background:var(--bg);color:var(--ivoire)}
section{background:transparent}
.creme{background:linear-gradient(180deg,rgba(255,255,255,.015),rgba(255,255,255,.04))}
h2{color:var(--ivoire);font-size:clamp(34px,4.8vw,62px);letter-spacing:-.025em;line-height:1.05}
h2 em{font-style:normal;color:var(--or2)}
.sub{color:var(--mute);font-size:18px}
.muted{color:var(--mute)}
.kicker{letter-spacing:.2em}

/* halo doré discret derrière les grandes sections */
#trajets:before,#tarifs:before,#faq:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(55% 45% at 85% 0%,var(--glow),transparent 70%)}
#trajets>.wrap,#tarifs>.wrap,#faq>.wrap{position:relative}

/* bandeau de confiance */
.trust{background:rgba(255,255,255,.035);border-block:1px solid var(--ligne)}

/* ---- trajets : plus de photo répétée, un tracé doré et un prix géant ---- */
.routes{gap:22px}
.route{background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02));border:1px solid var(--ligne);box-shadow:none;border-radius:28px;overflow:hidden;transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .35s,box-shadow .35s}
.route .ph{display:none}
.route:before{content:"";display:block;height:128px;background:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 120' fill='none'%3E%3Cpath d='M20 92C90 92 100 30 190 38S300 100 380 28' stroke='%23d9a441' stroke-width='2.2' stroke-linecap='round' stroke-dasharray='2 9' opacity='.55'/%3E%3Cpath d='M20 92C90 92 100 30 190 38S300 100 380 28' stroke='%23f2c76e' stroke-width='2.4' stroke-linecap='round'/%3E%3Ccircle cx='20' cy='92' r='6' fill='%23f2c76e'/%3E%3Ccircle cx='380' cy='28' r='8' fill='%23f2c76e'/%3E%3Ccircle cx='380' cy='28' r='15' stroke='%23f2c76e' opacity='.35'/%3E%3C/svg%3E") center/88% no-repeat,
  radial-gradient(70% 90% at 50% 0%,rgba(217,164,65,.14),transparent 70%)}
.route .tag{top:18px;left:18px}
.route h3{color:#fff;font-size:24px}
.route .meta,.route .from{color:var(--mute)}
.route .from b{font-size:58px;line-height:1;color:var(--or2);display:block;margin-top:6px}
.route .in{padding:6px 26px 28px}
@media (hover:hover) and (pointer:fine){.route:hover{transform:translateY(-8px);border-color:rgba(242,199,110,.55);box-shadow:0 30px 70px rgba(0,0,0,.45),0 0 0 1px rgba(242,199,110,.2)}}

/* ---- étapes ---- */
.step{background:var(--verre);border:1px solid var(--ligne);border-radius:26px;padding:32px}
.step:before{background:transparent;border:1px solid var(--or);color:var(--or2);width:54px;height:54px;font-size:24px}
.step h3{color:#fff}
.step p{color:var(--mute)}

/* ---- véhicules : photos réellement différentes, verre dépoli ---- */
.car{background:var(--verre);border:1px solid var(--ligne);border-radius:28px;padding:0;overflow:hidden;color:var(--mute)}
.car.top{border-color:rgba(242,199,110,.6);box-shadow:0 0 0 1px rgba(242,199,110,.2),0 24px 60px rgba(217,164,65,.14)}
.car h3{color:#fff}
.car .p{color:var(--mute)}.car .p b{color:var(--or2)}
.car ul{color:var(--mute)}
.car li{border-top:1px solid var(--ligne)}
@media (hover:hover) and (pointer:fine){.car{transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .35s}.car:hover{transform:translateY(-6px);border-color:rgba(242,199,110,.5)}}

/* ---- autres blocs ---- */
.split .ph{border:1px solid var(--ligne);box-shadow:0 30px 80px rgba(0,0,0,.45)}
.checks li{color:var(--ivoire)}
.tablewrap{border:1px solid var(--ligne);box-shadow:none;border-radius:24px}
table.tarifs{background:transparent}
table.tarifs th,table.tarifs td{border-bottom:1px solid var(--ligne);color:var(--ivoire)}
table.tarifs th{background:rgba(255,255,255,.06);color:#fff}
table.tarifs th small{color:var(--mute)}
table.tarifs td b{color:var(--or2)}
table.tarifs tr:hover td{background:rgba(255,255,255,.04)}
.eng{background:var(--verre)!important;border-color:var(--ligne)!important;color:var(--mute)!important}
.eng b{color:#fff!important}
details{background:var(--verre);border-color:var(--ligne);border-radius:18px}
details summary{color:#fff}
details p{color:var(--mute)}
.driver,.review{background:var(--verre);border-color:var(--ligne);color:var(--mute)}
.final:after{background:linear-gradient(180deg,rgba(5,12,26,.88),rgba(5,12,26,.7)),radial-gradient(60% 80% at 50% 100%,rgba(217,164,65,.25),transparent 70%)}
.final h2{font-size:clamp(36px,5vw,66px)}

/* pages de contenu (guides, trajets, mentions) */
.article h2{color:var(--ivoire)}
.article p,.article li{color:#d5dcea}
.article a{color:var(--or2)}
.fil a{color:var(--or2)}

/* trois catégories : grille à trois colonnes (Van XL supprimé) */
@media (min-width:981px){.cars{grid-template-columns:repeat(3,1fr);gap:24px}}
.car .cph{aspect-ratio:16/10}
.eng span{color:var(--mute)!important}

/* boutons secondaires a style inline (autres trajets) : texte clair sur fond sombre */
a.btn.ghost[style]{color:var(--ivoire)!important;border-color:rgba(255,255,255,.28)!important;background:var(--verre)}

/* bandeau des lieux desservis : défilement lent, décoratif */
.ticker{overflow:hidden;border-block:1px solid var(--ligne);padding:24px 0;background:linear-gradient(90deg,var(--bg) 0,transparent 9%,transparent 91%,var(--bg) 100%),rgba(255,255,255,.015)}
.ticker-in{display:flex;width:max-content;animation:ticker 60s linear infinite;will-change:transform}
.ticker span{font-family:"Playfair Display",Georgia,serif;font-size:clamp(30px,4.2vw,56px);line-height:1.1;white-space:nowrap;padding:0 26px;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.32)}
.ticker span.sep{color:var(--or);-webkit-text-stroke:0;padding:0 6px;font-size:.5em;align-self:center}
@keyframes ticker{to{transform:translate3d(-50%,0,0)}}
@media (prefers-reduced-motion:reduce){.ticker-in{animation:none}}
@media (max-width:640px){.ticker{padding:18px 0}.ticker-in{animation-duration:45s}}
