

:root{--gold:#c5a059;--gold-l:#d4b472;--gold-dim:rgba(197,160,89,.12);--dark:#0c0f14;--navy:#0d1b2a;--darker:#080a0d;--muted:#94a3b8;--soft:#e2e8f0;}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--dark);color:var(--soft);font-family:'Montserrat',sans-serif;overflow-x:hidden;}
.nav{display:flex;justify-content:space-between;align-items:center;background:rgba(5,6,10,.95);backdrop-filter:blur(20px);padding:0 52px;height:70px;position:fixed;width:100%;top:0;z-index:1000;border-bottom:1px solid rgba(197,160,89,.15);}
.nav-logo{display:inline-block;text-decoration:none;}
.nav-logo img{height:44px;width:auto;display:block;}
.nav-links{display:flex;gap:26px;list-style:none;}
.nav-links a{color:rgba(255,255,255,.75);text-decoration:none;font-size:.63rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;transition:color .3s;position:relative;}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--gold);transition:width .3s;}
.nav-links a:hover,.nav-links a.active{color:var(--gold);}
.nav-links a:hover::after,.nav-links a.active::after{width:100%;}
.lang-tabs{display:flex;gap:6px;}
.nav-burger{display:none;background:none;border:none;cursor:pointer;width:32px;height:24px;position:relative;z-index:1001;padding:0;}
.nav-burger span{display:block;position:absolute;left:0;width:100%;height:2px;background:var(--gold);transition:all .3s ease;}
.nav-burger span:nth-child(1){top:0;}
.nav-burger span:nth-child(2){top:11px;}
.nav-burger span:nth-child(3){top:22px;}
.nav-burger.open span:nth-child(1){top:11px;transform:rotate(45deg);}
.nav-burger.open span:nth-child(2){opacity:0;}
.nav-burger.open span:nth-child(3){top:11px;transform:rotate(-45deg);}
@media(max-width:768px){
  .nav-burger{display:block;}
  .nav-links{
    display:flex;position:fixed;top:70px;left:0;right:0;
    flex-direction:column;gap:0;background:rgba(5,6,10,.98);backdrop-filter:blur(20px);
    max-height:0;overflow:hidden;transition:max-height .35s ease;border-bottom:1px solid rgba(197,160,89,.15);
  }
  .nav-links.open{max-height:420px;}
  .nav-links li{width:100%;text-align:center;border-top:1px solid rgba(197,160,89,.08);}
  .nav-links a{display:block;padding:16px 0;}
}
.lang-btn{background:none;border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.6);padding:4px 10px;cursor:pointer;font-size:.65rem;font-family:'Montserrat',sans-serif;font-weight:700;letter-spacing:1.5px;transition:all .3s;}
.lang-btn.active,.lang-btn:hover{border-color:var(--gold);color:var(--gold);background:var(--gold-dim);}
.page-header{padding:110px 20px 50px;text-align:center;background:var(--navy);border-bottom:1px solid rgba(197,160,89,.15);position:relative;overflow:hidden;}
.page-header::before{content:'';position:absolute;inset:0;background:url('/images/img_paris.jpg') center/200px no-repeat;opacity:.04;filter:grayscale(1) brightness(3);}
.page-header-content{position:relative;z-index:1;}
.eyebrow{font-size:.6rem;letter-spacing:5px;text-transform:uppercase;color:var(--gold);margin-bottom:10px;display:block;font-weight:500;}
h1,h2{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:300;letter-spacing:3px;text-transform:uppercase;color:#fff;margin-bottom:6px;}
h2 em,h1 em{font-style:italic;color:var(--gold-l);}
.subline{width:42px;height:1px;background:var(--gold);margin:12px auto 0;}
.page-content{max-width:820px;margin:0 auto;padding:60px 20px 80px;}
.btn-gold{display:inline-block;background:var(--gold);color:#05060a;padding:14px 44px;text-decoration:none;font-weight:700;font-size:.7rem;letter-spacing:3px;text-transform:uppercase;transition:all .4s;cursor:pointer;border:none;font-family:'Montserrat',sans-serif;}
.btn-gold:hover{box-shadow:0 0 30px rgba(197,160,89,.45);transform:translateY(-1px);}
footer{padding:28px 52px;background:rgba(3,4,6,.98);border-top:1px solid rgba(197,160,89,.08);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;}
.f-logo{font-family:'Cormorant Garamond',serif;font-size:1.1rem;letter-spacing:5px;color:var(--gold);}
.f-copy{color:#7a8a9a;font-size:.65rem;}
.f-links{display:flex;gap:16px;flex-wrap:wrap;}
.f-links a{color:#8a9aaa;text-decoration:none;font-size:.62rem;letter-spacing:1.5px;text-transform:uppercase;transition:color .3s;}
.f-links a:hover{color:var(--gold);}
.wa{position:fixed;bottom:26px;right:26px;z-index:900;background:#25D366;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;animation:wap 3s infinite;transition:opacity .25s ease,transform .25s ease,visibility 0s linear .25s;}
.wa.wa-hidden{opacity:0;transform:scale(.7);pointer-events:none;visibility:hidden;animation:none;}
@keyframes wap{0%,100%{box-shadow:0 6px 20px rgba(37,211,102,.35)}50%{box-shadow:0 6px 30px rgba(37,211,102,.55),0 0 0 7px rgba(37,211,102,.07)}}
.wa svg{width:23px;height:23px;fill:#fff;}
@media(max-width:768px){.nav{padding:0 16px;}footer{flex-direction:column;text-align:center;padding-bottom:24px;}}

#particles{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.4;}
.hero{position:relative;height:100vh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:1;}
.hero-bg{position:absolute;inset:0;background:url('/images/img_chauffeur.jpg') center/cover no-repeat;animation:bgd 24s ease-in-out infinite alternate;}
@keyframes bgd{0%{transform:scale(1.04)}100%{transform:scale(1.1) translateX(-2%)}}
.hero-ov{position:absolute;inset:0;background:linear-gradient(160deg,rgba(4,5,9,.84) 0%,rgba(10,13,18,.5) 50%,rgba(4,5,9,.92) 100%);}
.hero-lines{position:absolute;inset:0;pointer-events:none;overflow:hidden;}
.hero-lines span{position:absolute;background:linear-gradient(to bottom,transparent,var(--gold),transparent);width:1px;animation:ld linear infinite;}
.hero-lines span:nth-child(1){left:8%;height:140px;animation-duration:4s;}
.hero-lines span:nth-child(2){right:8%;height:110px;animation-duration:5s;animation-delay:1.5s;}
.hero-lines span:nth-child(3){left:24%;height:90px;animation-duration:6s;animation-delay:2.5s;}
.hero-lines span:nth-child(4){right:21%;height:125px;animation-duration:4.5s;animation-delay:.8s;}
@keyframes ld{0%{top:-200px;opacity:0}5%{opacity:1}90%{opacity:.4}100%{top:110vh;opacity:0}}
.bracket{position:absolute;width:26px;height:26px;pointer-events:none;z-index:2;opacity:.5;}
.bracket.tl{top:82px;left:22px;border-top:1px solid var(--gold);border-left:1px solid var(--gold);}
.bracket.tr{top:82px;right:22px;border-top:1px solid var(--gold);border-right:1px solid var(--gold);}
.bracket.bl{bottom:22px;left:22px;border-bottom:1px solid var(--gold);border-left:1px solid var(--gold);}
.bracket.br{bottom:22px;right:22px;border-bottom:1px solid var(--gold);border-right:1px solid var(--gold);}
.hero-content{position:relative;z-index:3;text-align:center;padding:0 20px;animation:hin 1.4s cubic-bezier(.16,1,.3,1) .3s both;}
@keyframes hin{from{opacity:0;transform:translateY(46px)}to{opacity:1;transform:translateY(0)}}
.hero-eye{font-size:.68rem;letter-spacing:5px;text-transform:uppercase;color:var(--gold);margin-bottom:18px;font-weight:500;}
.hero-title{font-family:'Cormorant Garamond',serif;font-size:clamp(4rem,10vw,8.5rem);font-weight:300;line-height:.9;letter-spacing:4px;color:#fff;text-shadow:0 4px 40px rgba(0,0,0,.8);}
.hero-title em{font-style:italic;color:var(--gold-l);}
.hero-tag{font-size:clamp(.78rem,1.4vw,.9rem);font-weight:400;color:rgba(255,255,255,.82);letter-spacing:5px;text-transform:uppercase;margin:22px 0 42px;text-shadow:0 2px 12px rgba(0,0,0,.6);}
.hero-ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.btn-ghost{display:inline-block;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.45);padding:14px 44px;text-decoration:none;font-weight:500;font-size:.7rem;letter-spacing:3px;text-transform:uppercase;transition:all .4s;}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-1px);}
.scroll-hint{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:5px;animation:bob 2.5s infinite;}
@keyframes bob{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(7px)}}
.scroll-hint span{font-size:.56rem;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.5);}
.scroll-line{width:1px;height:32px;background:linear-gradient(to bottom,var(--gold),transparent);}
.stats{background:var(--darker);border-top:1px solid rgba(197,160,89,.12);border-bottom:1px solid rgba(197,160,89,.12);padding:38px 20px;position:relative;z-index:1;}
.stats-inner{max-width:900px;margin:0 auto;display:flex;justify-content:space-around;flex-wrap:wrap;gap:24px;}
.s-item{text-align:center;opacity:0;transform:translateY(14px);transition:all .6s ease;}
.s-item.on{opacity:1;transform:none;}
.s-num{font-family:'Cormorant Garamond',serif;font-size:3.5rem;font-weight:300;color:var(--gold);line-height:1;display:block;}
.s-lbl{font-size:.58rem;letter-spacing:3px;text-transform:uppercase;color:var(--muted);margin-top:6px;display:block;}
.sec{padding:70px 20px;max-width:1260px;margin:0 auto;text-align:center;position:relative;z-index:1;}
.sec-eyebrow{font-size:.6rem;letter-spacing:5px;text-transform:uppercase;color:var(--gold);margin-bottom:10px;display:block;font-weight:500;}
.sec h2{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:300;letter-spacing:3px;text-transform:uppercase;color:#fff;margin-bottom:6px;}
.subline{width:40px;height:1px;background:var(--gold);margin:12px auto 38px;}
.grid{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;}
.card{background:#0e1117;width:272px;overflow:hidden;border:1px solid rgba(197,160,89,.1);text-align:left;transition:all .45s cubic-bezier(.16,1,.3,1);opacity:0;transform:translateY(32px);position:relative;}
.card.on{opacity:1;transform:translateY(0);}
.card:nth-child(2){transition-delay:.1s}.card:nth-child(3){transition-delay:.2s}.card:nth-child(4){transition-delay:.3s}
.card::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .4s;z-index:2;}
.card:hover{transform:translateY(-10px);border-color:rgba(197,160,89,.4);box-shadow:0 20px 48px rgba(0,0,0,.65);}.card:hover::after{transform:scaleX(1);}
.card-img{overflow:hidden;height:185px;}.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease;}.card:hover .card-img img{transform:scale(1.08);}
.badge{position:absolute;top:12px;right:12px;background:rgba(4,5,8,.9);border:1px solid rgba(197,160,89,.25);color:var(--gold);font-size:.54rem;letter-spacing:2px;text-transform:uppercase;padding:3px 8px;backdrop-filter:blur(8px);}
.card-body{padding:20px;}.card-ico{font-size:1.1rem;margin-bottom:7px;display:block;}
.card-body h3{margin:0 0 7px;font-size:.68rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--gold);}
.card-body p{color:var(--muted);line-height:1.8;font-size:.79rem;font-weight:300;}
.why{background:var(--navy);padding:70px 20px;text-align:center;border-top:1px solid rgba(197,160,89,.08);position:relative;z-index:1;}
.why::before{content:'';position:absolute;inset:0;background:url('/images/img_paris.jpg') center/240px no-repeat;opacity:.022;filter:grayscale(1) brightness(3);pointer-events:none;}
.why-grid{max-width:1040px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:38px 22px;position:relative;}
.why-item{opacity:0;transform:translateY(18px);transition:all .5s ease;}.why-item.on{opacity:1;transform:none;}
.why-ico{font-size:1.9rem;margin-bottom:13px;display:block;}
.why-item h4{font-size:.66rem;letter-spacing:2px;text-transform:uppercase;color:#fff;font-weight:700;margin-bottom:8px;}
.why-item p{font-size:.79rem;color:var(--muted);font-weight:300;line-height:1.8;}
.banner{position:relative;padding:100px 20px;text-align:center;overflow:hidden;z-index:1;}
.banner-bg{position:absolute;inset:0;background:url('/images/img_gare.jpg') center/cover no-repeat;animation:bgd 28s ease-in-out infinite alternate;}
.banner-ov{position:absolute;inset:0;background:linear-gradient(135deg,rgba(4,5,9,.96),rgba(13,27,42,.93));}
.banner-content{position:relative;z-index:2;max-width:740px;margin:0 auto;}
.banner-content blockquote{font-family:'Cormorant Garamond',serif;font-size:clamp(1.35rem,2.6vw,1.9rem);color:var(--soft);line-height:1.75;font-weight:300;font-style:italic;quotes:none;}
.banner-content blockquote strong{color:var(--gold-l);font-style:normal;font-weight:600;}
.banner-cta{margin-top:36px;}
#reservation{background:var(--darker);padding:70px 20px;border-top:1px solid rgba(197,160,89,.1);border-bottom:1px solid rgba(197,160,89,.1);position:relative;z-index:1;}
#reservation::before{content:'';position:absolute;inset:0;background:url('/images/img_paris.jpg') center/220px no-repeat;opacity:.02;filter:grayscale(1) brightness(3);pointer-events:none;}
.bk{max-width:880px;margin:0 auto;position:relative;}
.bk-eye{font-size:.6rem;letter-spacing:5px;text-transform:uppercase;color:var(--gold);margin-bottom:10px;display:block;font-weight:500;text-align:center;}
.bk h2{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:300;letter-spacing:3px;text-transform:uppercase;color:#fff;margin-bottom:6px;text-align:center;}
.steps-bar{display:flex;justify-content:center;align-items:center;margin-bottom:34px;}
.sd{display:flex;flex-direction:column;align-items:center;gap:5px;}
.sd .dot{width:30px;height:30px;border-radius:50%;border:1px solid rgba(197,160,89,.2);display:flex;align-items:center;justify-content:center;font-size:.62rem;font-weight:700;color:rgba(255,255,255,.3);transition:all .4s;}
.sd.active .dot{border-color:var(--gold);color:var(--gold);box-shadow:0 0 12px rgba(197,160,89,.2);}.sd.done .dot{background:var(--gold);border-color:var(--gold);color:#05060a;}
.sd span{font-size:.52rem;letter-spacing:2px;text-transform:uppercase;color:var(--muted);}.sd.active span,.sd.done span{color:var(--gold);}
.sc{width:44px;height:1px;background:rgba(197,160,89,.12);margin:0 3px;margin-bottom:20px;transition:background .4s;}.sc.done{background:rgba(197,160,89,.4);}
.bstep{display:none;animation:sin .3s ease both;}.bstep.active{display:block;}
@keyframes sin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.v-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:13px;margin-bottom:20px;}
.vc{border:1px solid rgba(197,160,89,.1);padding:20px 18px;cursor:pointer;transition:all .3s;background:#0c0f14;position:relative;}
.vc:hover{border-color:rgba(197,160,89,.35);background:#0f1318;}.vc.sel{border-color:var(--gold);background:rgba(197,160,89,.06);}
.vc.sel::after{content:'✓';position:absolute;top:10px;right:11px;color:var(--gold);font-size:.76rem;font-weight:700;}
.v-ico{font-size:1.6rem;margin-bottom:9px;display:block;}
.vc h4{font-size:.68rem;letter-spacing:2px;text-transform:uppercase;color:#fff;font-weight:700;margin-bottom:4px;}
.v-cap{font-size:.65rem;color:var(--gold);font-weight:500;margin-bottom:6px;}
.vc p{font-size:.74rem;color:var(--muted);font-weight:300;line-height:1.7;}
.v-price{margin-top:10px;padding-top:10px;border-top:1px solid rgba(197,160,89,.1);font-size:.63rem;color:var(--muted);}
.v-price strong{color:var(--gold);font-size:.8rem;}
.r-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:11px;margin-bottom:20px;}
.rc{border:1px solid rgba(197,160,89,.1);padding:15px 12px;cursor:pointer;transition:all .3s;text-align:center;background:#0c0f14;}
.rc:hover,.rc.sel{border-color:var(--gold);background:rgba(197,160,89,.05);}
.r-ico{font-size:1.4rem;margin-bottom:7px;display:block;}
.rc h4{font-size:.61rem;letter-spacing:1.8px;text-transform:uppercase;color:#fff;font-weight:600;}
.dest-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:9px;margin-bottom:18px;}
.dc{border:1px solid rgba(197,160,89,.1);padding:12px 11px;cursor:pointer;transition:all .3s;background:#0c0f14;position:relative;}
.dc:hover,.dc.sel{border-color:var(--gold);background:rgba(197,160,89,.05);}.dc.sel::after{content:'✓';position:absolute;top:7px;right:8px;color:var(--gold);font-size:.65rem;}
.dc h4{font-size:.62rem;letter-spacing:1.5px;text-transform:uppercase;color:#fff;font-weight:600;margin-bottom:2px;}
.dc .dd{font-size:.63rem;color:var(--muted);}
.pbox{background:linear-gradient(135deg,rgba(197,160,89,.08),rgba(197,160,89,.03));border:1px solid rgba(197,160,89,.2);padding:22px 26px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:13px;}
.plbl{font-size:.57rem;letter-spacing:3px;text-transform:uppercase;color:var(--muted);}
.pamount{font-family:'Cormorant Garamond',serif;font-size:2.7rem;font-weight:300;color:var(--gold);line-height:1;display:block;margin-top:3px;}
.pnote{font-size:.65rem;color:var(--muted);line-height:1.7;font-weight:300;max-width:260px;}
.pnote strong{color:var(--soft);}
.fg{display:flex;flex-direction:column;gap:5px;}
.fg.full{grid-column:1/-1;}
.fg label{font-size:.57rem;letter-spacing:2.5px;text-transform:uppercase;color:var(--muted);font-weight:500;}
.fg input,.fg select,.fg textarea{background:#090c10;border:1px solid rgba(197,160,89,.15);color:#fff;padding:10px 13px;font-family:'Montserrat',sans-serif;font-size:.79rem;font-weight:300;outline:none;transition:border-color .3s;-webkit-appearance:none;}
.fg input::placeholder,.fg textarea::placeholder{color:rgba(255,255,255,.2);}.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--gold);}
.fg select option{background:#090c10;}.fg textarea{resize:vertical;min-height:76px;}
.fg input.invalid{border-color:#c0392b;}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-bottom:18px;}
.snav{display:flex;justify-content:space-between;align-items:center;margin-top:7px;flex-wrap:wrap;gap:9px;}
.bprev{background:none;border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.6);padding:11px 26px;cursor:pointer;font-size:.63rem;font-family:'Montserrat',sans-serif;font-weight:500;letter-spacing:2px;text-transform:uppercase;transition:all .3s;}
.bprev:hover{border-color:var(--gold);color:var(--gold);}
.bnext{background:var(--gold);color:#05060a;border:none;padding:13px 38px;cursor:pointer;font-size:.66rem;font-family:'Montserrat',sans-serif;font-weight:700;letter-spacing:3px;text-transform:uppercase;transition:all .4s;position:relative;overflow:hidden;}
.bnext::before{content:'';position:absolute;inset:0;background:rgba(255,255,255,.15);transform:translateX(-100%);transition:transform .4s;}
.bnext:hover::before{transform:translateX(0);}.bnext:hover{box-shadow:0 0 28px rgba(197,160,89,.4);}
.bnext:disabled{opacity:.3;cursor:not-allowed;}
.rcap-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;}
.rcap-row{display:flex;flex-direction:column;gap:2px;}.rl{font-size:.54rem;letter-spacing:2px;text-transform:uppercase;color:var(--muted);}.rv{font-size:.77rem;color:var(--soft);font-weight:300;}
.bk-suc{display:none;text-align:center;padding:44px 20px;animation:sin .5s ease both;}
.bk-suc .sico{font-size:2.6rem;margin-bottom:15px;display:block;}
.bk-suc h3{font-family:'Cormorant Garamond',serif;font-size:1.9rem;font-weight:300;color:var(--gold-l);margin-bottom:10px;}
.bk-suc p{color:var(--muted);font-size:.81rem;line-height:1.8;font-weight:300;max-width:400px;margin:0 auto 22px;}
#contact{background:var(--darker);padding:70px 20px;text-align:center;border-top:1px solid rgba(197,160,89,.08);position:relative;z-index:1;}
.ci{max-width:580px;margin:0 auto;}
.phone-link{font-family:'Cormorant Garamond',serif;color:#fff;font-size:clamp(2.2rem,5vw,3.5rem);text-decoration:none;font-weight:300;display:block;letter-spacing:4px;margin:34px 0 16px;transition:color .3s;}
.phone-link:hover{color:var(--gold);}
.mail-link{color:var(--gold);font-size:.8rem;text-decoration:none;letter-spacing:2px;text-transform:uppercase;border-bottom:1px solid rgba(197,160,89,.3);padding-bottom:3px;transition:all .3s;}
.mail-link:hover{border-color:#fff;color:#fff;}
.cnote{margin-top:32px;font-size:.62rem;letter-spacing:2px;color:var(--muted);text-transform:uppercase;}.cnote span{color:var(--gold);}
@media(max-width:768px){.hero-ctas{flex-direction:column;align-items:center;}.phone-link{font-size:2rem;letter-spacing:2px;}.card{width:84vw;max-width:360px;}.bracket{display:none;}.fgrid{grid-template-columns:1fr;}.sc{width:22px;}.pbox{flex-direction:column;}.rcap-grid{grid-template-columns:1fr;}}

/* ── PATCH V5 CORRECTIONS ── */

/* Resserrement sections */
.hero { min-height:90vh !important; }
section { padding:52px 0 !important; }
.stats-wrap { padding:16px 0 !important; }
.ban-inner { padding:32px 22px !important; }
.footer-inner { padding:24px 0 12px !important; }

/* Cards images visibles */
.card-img { 
  width:100%; 
  height:200px !important; 
  object-fit:cover !important; 
  border-radius:8px 8px 0 0 !important;
  display:block !important;
}
.s-card { overflow:hidden; }

/* Hero image visible */
.hero-bg {
  background-size:cover !important;
  background-position:center center !important;
  opacity:1 !important;
}

/* Why section bg */
.why-sec {
  background-size:cover !important;
  background-position:center !important;
}

/* Steps bar compact */
.steps-bar { margin-bottom:18px !important; }
.sd .dot { width:26px !important; height:26px !important; font-size:.62rem !important; }

/* Options module propre */
.opt-row { 
  display:flex; align-items:center; gap:12px; 
  padding:13px 16px; border:1px solid rgba(197,160,89,.2); 
  border-radius:8px; cursor:pointer; margin-bottom:8px;
  transition:border-color .2s;
}
.opt-row:hover { border-color:var(--gold); }
.opt-row input { accent-color:var(--gold); width:17px; height:17px; }
.opt-icon { font-size:1.2rem; }
.opt-txt { font-size:.8rem; letter-spacing:.5px; }

/* Recap box */
.recap-box { border:1px solid rgba(197,160,89,.2); border-radius:10px; margin-bottom:16px; overflow:hidden; }
.recap-header { background:rgba(13,27,42,.9); padding:11px 16px; font-size:.7rem; letter-spacing:3px; text-transform:uppercase; color:var(--gold); }
.rcap-row { display:flex; justify-content:space-between; padding:8px 16px; border-bottom:1px solid rgba(197,160,89,.07); font-size:.8rem; }
.rcap-row:last-child { border-bottom:none; }
.rl { color:var(--muted); }
.rv { color:#e8e0cc; text-align:right; }
.recap-total { display:flex; justify-content:space-between; align-items:center; padding:13px 16px; background:rgba(197,160,89,.07); border-top:1px solid rgba(197,160,89,.15); }
.rc-note { font-size:.72rem; color:var(--muted); line-height:1.7; margin-bottom:16px; }

/* Type grid */
.type-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; max-width:420px; margin:0 auto 4px; }
.type-ico { font-size:2rem; margin-bottom:6px; }
.type-sub { font-size:.7rem; color:var(--muted); margin-top:4px; }
#planned-fields { background:rgba(197,160,89,.05); border:1px solid rgba(197,160,89,.15); border-radius:8px; padding:16px; margin-top:16px; }

/* Opts list */
.opts-list { display:flex; flex-direction:column; gap:0; margin-bottom:4px; }

/* Addr status */
#addr-status { font-size:.73rem; color:var(--gold); margin-top:6px; min-height:18px; }
#addr-status.loading::before{
  content:'';display:inline-block;width:10px;height:10px;margin-right:6px;
  border:2px solid rgba(197,160,89,.3);border-top-color:var(--gold);border-radius:50%;
  animation:addrspin .7s linear infinite;vertical-align:middle;
}
@keyframes addrspin{to{transform:rotate(360deg);}}

/* Step label */
.step-label { font-size:.59rem; letter-spacing:3px; text-transform:uppercase; color:var(--muted); margin-bottom:14px; display:block; }
.step-label-sm { font-size:.57rem; letter-spacing:2px; text-transform:uppercase; color:var(--muted); margin:12px 0 8px; display:block; }

/* Respect des préférences d'accessibilité : réduction des animations */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
    scroll-behavior: auto !important;
  }
  .card, .s-item, .why-item {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* Suggestions d'adresses (autocomplétion) */
.addr-sugg{position:absolute;top:100%;left:0;right:0;z-index:50;background:#0c0f14;border:1px solid rgba(197,160,89,.3);border-top:none;max-height:220px;overflow-y:auto;display:none;}
.addr-sugg.open{display:block;}
.addr-sugg-item{padding:11px 13px;font-size:.74rem;color:rgba(255,255,255,.85);cursor:pointer;border-bottom:1px solid rgba(197,160,89,.08);transition:background .15s;}
.addr-sugg-item:last-child{border-bottom:none;}
.addr-sugg-item:hover,.addr-sugg-item:focus{background:rgba(197,160,89,.12);color:var(--gold);}
.addr-sugg-empty{padding:11px 13px;font-size:.7rem;color:var(--muted);}
#addr-status.err{color:#e8a39a;}

/* Type de voyage (Particulier / Professionnel) — vrais boutons radio HTML
   natifs (input type="radio"), pour une fiabilité totale de l'état coché
   (un clic sur le label active toujours la sélection, sans dépendre d'un
   gestionnaire JS qui pourrait échouer silencieusement). Le visuel reste
   une carte avec contraste fort au choix retenu. */
.triptype-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px;}
.triptype-card{
  margin:0;position:relative;display:flex;flex-direction:row;align-items:center;
  gap:8px;text-align:left;padding:10px 10px 10px 34px;border:2px solid rgba(197,160,89,.1);
  border-radius:8px;background:#0c0f14;cursor:pointer;transition:all .3s;
}
.triptype-card:hover{border-color:rgba(197,160,89,.35);}
/* Le vrai <input type="radio"> reste dans le DOM pour l'état/l'accessibilité
   (lecteurs d'écran, soumission de formulaire) mais est rendu invisible ---
   son rendu NATIF est masqué au lieu d'être seulement redimensionné en CSS,
   car sur certains navigateurs Android, le réglage système "taille du texte"
   ré-agrandit le contrôle natif malgré width/height/appearance:none, ce qui
   provoquait un rond énorme recouvrant le texte du bouton. L'indicateur
   visuel du rond est désormais un ::before sur la carte, avec une taille en
   pixels fixes non affectée par ce réglage système. */
.triptype-card input[type="radio"]{
  position:absolute;top:0;left:0;width:100%;height:100%;margin:0;padding:0;
  opacity:0;cursor:pointer;z-index:1;
}
.triptype-card::before{
  content:"";position:absolute;top:50%;left:10px;transform:translateY(-50%);
  width:16px;height:16px;box-sizing:border-box;border-radius:50%;
  border:2px solid rgba(197,160,89,.5);background:#1a1d22;
  transition:border-color .2s,background .2s;pointer-events:none;
}
.triptype-card:hover::before{border-color:var(--gold);}
.triptype-card.sel::before{
  border-color:var(--gold);
  background:radial-gradient(circle,var(--gold) 0%,var(--gold) 40%,#1a1d22 44%);
}
.triptype-card input[type="radio"]:focus-visible ~ *,
.triptype-card input[type="radio"]:focus-visible{outline:none;}
.triptype-card:has(input[type="radio"]:focus-visible){box-shadow:0 0 0 2px var(--gold);}
.triptype-card.sel{
  border-color:var(--gold);
  background:linear-gradient(135deg,rgba(197,160,89,.22),rgba(197,160,89,.1));
  box-shadow:0 0 0 1px var(--gold);
}
.triptype-card.sel #tt-private-txt,.triptype-card.sel #tt-business-txt{color:var(--gold-l);font-weight:600;}
.triptype-card.tt-pulse{animation:ttpulse .4s ease;}
@keyframes ttpulse{0%{transform:scale(1);}40%{transform:scale(1.02);}100%{transform:scale(1);}}

/* Accordéon FAQ : replié par défaut, ouvert seulement au clic */
.faq-item{border-bottom:1px solid rgba(197,160,89,.12);}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:16px 4px;cursor:pointer;font-size:.85rem;font-weight:600;color:#fff;}
.faq-q:hover{color:var(--gold);}
.faq-arr{color:var(--gold);font-size:1.1rem;font-weight:400;transition:transform .25s;flex-shrink:0;margin-left:12px;}
.faq-item.open .faq-arr{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.faq-a p{padding:0 4px 16px;font-size:.78rem;line-height:1.6;color:rgba(255,255,255,.75);}
.faq-item.open .faq-a{max-height:400px;}
