/* ═══════════════════════════════════════════════════════════════════════
   NemaususDriver — v23 : couche « maquette animée » (validée le 02/10).
   Chargée APRÈS nd-v20.css. Ne touche ni au module de réservation ni au
   moteur de devis. Utilise les variables existantes : marche en clair/foncé.
   ═══════════════════════════════════════════════════════════════════════ */
:root{--disp:'Bricolage Grotesque','Manrope',system-ui,sans-serif}

/* Titres : typographie de la maquette */
.hero h1,.sec h2,.nd-carte h2{font-family:var(--disp);font-weight:800;letter-spacing:-.035em}
.hero h1 em,.sec h2 em{font-style:normal;color:var(--or)}

/* Boutons dorés : reflet qui passe */
@keyframes ndShine{0%{background-position:-160% 0}100%{background-position:260% 0}}
.b-or{background-image:linear-gradient(110deg,var(--or) 0%,var(--or) 40%,#f7dc94 50%,var(--or) 60%,var(--or) 100%);background-size:220% 100%;animation:ndShine 4.5s ease-in-out infinite}
html[data-theme="light"] .b-or{background-image:none}

/* ─── Trajets populaires : vraies photos ─── */
.tp{padding:0;overflow:hidden;border-radius:20px}
.tp .tp-img{display:block;height:170px;overflow:hidden;position:relative;background:var(--noir3)}
.tp .tp-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.tp:hover .tp-img img{transform:scale(1.08)}
.tp .tp-img .tp-km{position:absolute;left:12px;top:12px;padding:6px 10px;border-radius:9px;background:rgba(11,11,13,.74);color:#f2eee4;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}
.tp .tp-d,.tp .tp-p,.tp .tp-k,.tp .tp-go{margin-inline:20px}
.tp .tp-d{margin-top:18px;font-family:var(--disp);font-size:18px;font-weight:700}
.tp .tp-p{font-family:var(--disp);font-weight:800;font-size:24px}
.tp .tp-go{margin-bottom:20px}
@media (max-width:1024px){.tp-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:560px){
 .tp-grid{grid-template-columns:minmax(0,1fr)!important}
 .tp{flex-direction:column!important;align-items:stretch!important;padding:0!important}
 .tp .tp-img{height:150px}
 .tp .tp-d{margin-top:14px}
 .tp .tp-p{margin-bottom:16px;font-size:22px}
 .tp .tp-k{order:0;width:auto}
}

/* ─── Bandeau défilant des destinations ─── */
@keyframes ndMarq{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.nd-marq{border-block:1px solid var(--ligne);padding:18px 0;overflow:hidden;background:var(--noir2)}
.nd-marq>div{display:flex;gap:44px;width:max-content;animation:ndMarq 38s linear infinite;font-family:var(--disp);font-weight:700;font-size:24px;color:var(--gris);white-space:nowrap}
.nd-marq i{font-style:normal;color:var(--or)}

/* ─── Carte du trajet en direct ─── */
@keyframes ndDraw{0%{stroke-dashoffset:620}100%{stroke-dashoffset:0}}
@keyframes ndPop{0%{opacity:0;transform:translateY(10px) scale(.97)}100%{opacity:1;transform:none}}
.nd-carte .wrap{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:center}
.nd-carte p.ld{color:var(--ivoire2);font-size:17px;line-height:1.65;margin:18px 0 22px}
.nd-chips{display:flex;flex-wrap:wrap;gap:10px}
.nd-chips button{min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--ligne);background:transparent;color:var(--ivoire);font:700 14px var(--sans);cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.nd-chips button.on{background:var(--or);border-color:var(--or);color:var(--noir)}
.nd-map{position:relative;border-radius:26px;overflow:hidden;background:var(--noir2);border:1px solid var(--ligne);height:420px}
.nd-map svg{display:block;width:100%;height:100%}
.nd-map .dr{stroke-dasharray:620;animation:ndDraw 1.6s cubic-bezier(.6,0,.2,1) both}
.nd-kpi{position:absolute;left:18px;right:18px;bottom:18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.nd-kpi div{padding:12px 14px;border-radius:14px;background:rgba(11,11,13,.86);border:1px solid rgba(255,255,255,.08);animation:ndPop .5s both;color:#f2eee4}
.nd-kpi small{display:block;font-size:10.5px;font-weight:800;letter-spacing:.08em;color:#a39d8f;text-transform:uppercase}
.nd-kpi b{font-family:var(--disp);font-size:22px;font-weight:800;font-variant-numeric:tabular-nums}
.nd-kpi .g{background:rgba(210,178,94,.16);border-color:rgba(210,178,94,.45)}.nd-kpi .g b{color:#f3cf74}
@media (max-width:960px){
 .nd-carte .wrap{grid-template-columns:minmax(0,1fr);gap:30px}
 .nd-map{height:330px}
 .nd-kpi{left:10px;right:10px;bottom:10px;gap:6px}.nd-kpi div{padding:9px}.nd-kpi b{font-size:16px}
}
@media (prefers-reduced-motion:reduce){.b-or,.nd-marq>div,.nd-map .dr,.nd-kpi div{animation:none}.tp:hover .tp-img img{transform:none}}
