/* ============================================
   01 TRANSFERT AÉROPORT — v2 Premium
   Inspired by Welcome Pickups / Blacklane UX
   ============================================ */
:root {
    --white:#fff; --black:#000; --dark:#0a0a0a; --dark2:#111; --dark3:#1a1a1a;
    --border:rgba(255,255,255,.1); --border2:rgba(255,255,255,.15);
    --t1:#fff; --t2:rgba(255,255,255,.7); --t3:rgba(255,255,255,.4);
    --accent:#276ef1; --accent2:#1a5cd4; --accentA:rgba(39,110,241,.15);
    --green:#25d366; --green2:#128c7e; --gold:#f59e0b;
    --r:12px; --font:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:var(--font);color:var(--t1);background:var(--dark);line-height:1.6;overflow-x:hidden}
a{color:inherit;text-decoration:none}
.container{max-width:1140px;margin:0 auto;padding:0 20px}

/* ============= TOP BAR ============= */
.topbar{background:var(--accent);color:var(--white);font-size:12px;padding:6px 0;font-weight:500}
.topbar-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}
.topbar-badge{background:rgba(0,0,0,.2);padding:2px 8px;border-radius:4px;font-weight:700;font-size:11px;margin-right:6px}
.topbar-right{display:flex;gap:14px;align-items:center}
.topbar-right a{color:rgba(255,255,255,.9);transition:color .2s}
.topbar-right a:hover{color:var(--white)}
.lang-switch{background:rgba(255,255,255,.15);padding:2px 8px;border-radius:4px;font-weight:700;font-size:11px}

/* ============= NAVBAR ============= */
.navbar{position:sticky;top:0;z-index:100;background:rgba(10,10,10,.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);padding:12px 0}
.nav-container{display:flex;align-items:center;justify-content:space-between}
.logo{display:flex;align-items:center;gap:8px}
.logo-icon{font-size:24px;font-weight:900;color:var(--accent)}
.logo-label{font-size:13px;font-weight:700;color:var(--t2)}
.nav-links{display:flex;list-style:none;gap:24px}
.nav-links a{font-size:13px;font-weight:500;color:var(--t2);transition:color .2s}
.nav-links a:hover{color:var(--white)}
.nav-wa{display:flex;align-items:center;gap:5px;padding:7px 14px;background:var(--green);color:var(--white);font-size:12px;font-weight:600;border-radius:99px;transition:background .2s}
.nav-wa:hover{background:var(--green2)}
.menu-btn{display:none;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:4px}
.menu-btn span{width:20px;height:2px;background:var(--white);transition:.2s}

/* ============= HERO ============= */
.hero{position:relative;min-height:100vh;background:url('../img/paris-bg.jpg') center/cover no-repeat fixed}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,0,0,.7) 0%,rgba(0,0,0,.5) 50%,rgba(0,0,0,.65) 100%)}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr 420px;gap:48px;align-items:center;min-height:100vh;padding:100px 0 60px}

/* Hero message */
.hero-msg{color:var(--white)}
.hero-tag{display:inline-block;padding:6px 14px;background:var(--accentA);border:1px solid rgba(39,110,241,.25);color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-radius:99px;margin-bottom:20px}
.hero h1{font-size:clamp(30px,4.5vw,52px);font-weight:900;letter-spacing:-.03em;line-height:1.08;margin-bottom:14px;text-shadow:0 2px 20px rgba(0,0,0,.4)}
.grad{background:linear-gradient(135deg,var(--accent),#818cf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-tagline{font-size:16px;color:var(--t2);margin-bottom:24px}

/* Hero prices */
.hero-prices{display:flex;gap:20px;margin-bottom:8px}
.hp{text-align:center}
.hp-price{display:block;font-size:32px;font-weight:900;line-height:1}
.hp-price small{font-size:16px;color:var(--t2)}
.hp-label{font-size:11px;color:var(--t3);text-transform:uppercase;letter-spacing:.04em}
.hp-sep{width:1px;background:var(--border2);margin:4px 0}
.hp-note{font-size:12px;color:var(--t3);margin-bottom:20px}

/* Social proof */
.social-proof{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sp-stars{display:flex;gap:2px}
.sp-text{font-size:12px;color:var(--t2);font-weight:500}
.sp-sep{color:var(--t3);font-size:12px}

/* ============= BOOKING CARD ============= */
.booking-card{background:rgba(10,10,10,.9);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--border2);border-radius:20px;padding:24px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.form-head{font-size:16px;font-weight:700;text-align:center;margin-bottom:16px}
.form-step{display:none}.form-step.active{display:block;animation:fadeIn .25s}

/* Pills */
.route-pills,.pay-pills{display:flex;gap:6px;margin-bottom:14px}
.pill{flex:1;cursor:pointer}.pill input{display:none}
.pill span{display:block;text-align:center;padding:9px 8px;font-size:12px;font-weight:600;color:var(--t2);background:rgba(255,255,255,.05);border:1px solid var(--border);border-radius:8px;transition:.2s}
.pill.active span,.pill:has(input:checked) span{color:var(--white);background:var(--accent);border-color:var(--accent)}
.pill.small span{padding:7px 6px;font-size:11px;border-radius:6px}

/* Form fields */
.fg{margin-bottom:10px}
.fg label{display:block;font-size:11px;font-weight:600;color:var(--t2);margin-bottom:3px;letter-spacing:.02em}
.opt{color:var(--t3);font-weight:400}
.fg input,.fg select,.fg textarea{width:100%;padding:9px 12px;background:rgba(255,255,255,.06);border:1px solid var(--border);border-radius:7px;color:var(--white);font-size:13px;font-family:var(--font);outline:none;transition:border .2s}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accentA)}
.fg input::placeholder,.fg textarea::placeholder{color:var(--t3)}
.fg select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px}
.fg textarea{resize:vertical;min-height:44px}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:8px}

/* Instant price */
.instant-price{display:flex;justify-content:space-between;align-items:center;background:rgba(39,110,241,.08);border:1px solid rgba(39,110,241,.2);border-radius:10px;padding:12px 16px;margin:14px 0 14px}
.ip-label{font-size:12px;color:var(--t2);font-weight:500}
.ip-amount{font-size:26px;font-weight:900;color:var(--accent)}

/* Recap box */
.recap-box{background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:8px;padding:12px;margin:12px 0;font-size:12px}
.rc-line{display:flex;justify-content:space-between;padding:3px 0;color:var(--t2)}
.rc-line span:last-child{font-weight:600;color:var(--t1)}
.rc-total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);margin-top:6px;padding-top:8px;font-weight:600}
.rc-amount{font-size:20px;font-weight:900;color:var(--accent)}

/* Card fields */
.secure-note{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--green);margin:4px 0 10px}

/* Checkbox */
.check-label{display:flex;align-items:flex-start;gap:6px;font-size:11px;color:var(--t3);cursor:pointer;margin-bottom:14px}
.check-label input{margin-top:2px;accent-color:var(--accent)}
.check-label a{color:var(--accent);text-decoration:underline}

/* Buttons */
.btn-main{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:12px 20px;background:var(--accent);color:var(--white);font-size:14px;font-weight:700;font-family:var(--font);border:none;border-radius:10px;cursor:pointer;transition:.2s}
.btn-main:hover{background:var(--accent2);box-shadow:0 4px 20px var(--accentA)}
.btn-back{display:flex;align-items:center;gap:4px;background:none;border:none;color:var(--t2);font-size:13px;font-weight:500;font-family:var(--font);cursor:pointer}
.btn-back:hover{color:var(--white)}
.btn-outline{display:inline-flex;align-items:center;gap:6px;padding:12px 20px;background:transparent;color:var(--white);border:1px solid var(--border2);font-size:14px;font-weight:600;font-family:var(--font);border-radius:10px;cursor:pointer;transition:.2s}
.btn-outline:hover{border-color:var(--white);background:rgba(255,255,255,.05)}
.btn-wa{display:inline-flex;align-items:center;gap:6px;padding:12px 20px;background:var(--green);color:var(--white);font-size:14px;font-weight:600;font-family:var(--font);border:none;border-radius:10px;cursor:pointer;transition:.2s}
.btn-wa:hover{background:var(--green2)}
.form-btns{display:flex;justify-content:space-between;align-items:center;gap:8px}
.form-trust{text-align:center;font-size:11px;color:var(--t3);margin-top:10px;display:flex;align-items:center;justify-content:center;gap:4px}

/* Spinner */
.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:var(--white);border-radius:50%;animation:spin .6s linear infinite}
.hidden{display:none!important}

/* ============= USP BAR ============= */
.usp-bar{background:var(--dark2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:20px 0}
.usp-grid{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.usp{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--t2)}
.usp svg{color:var(--accent);flex-shrink:0}

/* ============= SECTIONS ============= */
.section{padding:80px 0}
.dark-section{background:var(--dark2)}
.sh{text-align:center;margin-bottom:48px}
.stag{display:inline-block;padding:5px 14px;background:var(--accentA);color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;border-radius:99px;margin-bottom:12px}
.sh h2{font-size:32px;font-weight:800;letter-spacing:-.02em;margin-bottom:8px}
.sh p{font-size:15px;color:var(--t2);max-width:480px;margin:0 auto}

/* ============= COMPARE TABLE ============= */
.table-wrap{overflow-x:auto;margin-bottom:20px;border-radius:var(--r);border:1px solid var(--border)}
.compare-table{width:100%;border-collapse:collapse;font-size:13px}
.compare-table th{background:var(--dark2);padding:12px 14px;text-align:left;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--t2);border-bottom:1px solid var(--border)}
.compare-table td{padding:12px 14px;border-bottom:1px solid var(--border);color:var(--t2)}
.compare-table td small{display:block;font-size:11px;color:var(--t3)}
.compare-table tr:last-child td{border-bottom:none}
.highlight-row{background:rgba(39,110,241,.06)}
.highlight-row td{color:var(--white);font-weight:600}
.check-yes{color:var(--green);font-weight:700;font-size:12px}
.check-no{color:var(--t3);font-size:12px}
.compare-note{text-align:center;padding:16px 20px;background:rgba(39,110,241,.06);border:1px solid rgba(39,110,241,.15);border-radius:10px;font-size:14px;color:var(--t2)}
.compare-note strong{color:var(--white)}

/* ============= FEATURES ============= */
.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.feat{background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:14px;padding:24px 20px;transition:transform .2s,box-shadow .2s}
.feat:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.3)}
.feat-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--accentA);border-radius:10px;color:var(--accent);margin-bottom:14px}
.feat h3{font-size:15px;font-weight:700;margin-bottom:6px}
.feat p{font-size:13px;color:var(--t2);line-height:1.5}

/* ============= FAQ ============= */
.faq-list{max-width:720px;margin:0 auto}
.faq-item{background:var(--dark3);border:1px solid var(--border);border-radius:10px;margin-bottom:8px;overflow:hidden}
.faq-item summary{padding:16px 20px;font-size:14px;font-weight:600;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between}
.faq-item summary::after{content:'+';font-size:20px;color:var(--accent);font-weight:300;transition:transform .2s}
.faq-item[open] summary::after{content:'-'}
.faq-item p{padding:0 20px 16px;font-size:13px;color:var(--t2);line-height:1.6}
.faq-item p strong{color:var(--white)}

/* ============= CTA SECTION ============= */
.cta-section{background:linear-gradient(135deg,var(--accent),#4f46e5);padding:60px 0;text-align:center}
.cta-inner h2{font-size:28px;font-weight:800;margin-bottom:8px}
.cta-inner p{font-size:15px;color:rgba(255,255,255,.8);margin-bottom:24px}
.cta-btns{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.cta-btns .btn-main{width:auto;padding:14px 28px;background:var(--white);color:var(--accent);font-weight:800}
.cta-btns .btn-main:hover{box-shadow:0 4px 20px rgba(0,0,0,.3)}
.cta-btns .btn-wa{border:1px solid rgba(255,255,255,.3)}

/* ============= FOOTER ============= */
.footer{background:var(--black);border-top:1px solid var(--border);padding:40px 0 20px}
.ft-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;margin-bottom:28px}
.ft-brand p{font-size:13px;color:var(--t3);margin-top:10px;line-height:1.5}
.ft-col{display:flex;flex-direction:column;gap:6px}
.ft-col h4{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--t2);margin-bottom:4px}
.ft-col a{font-size:13px;color:var(--t3);transition:color .2s}
.ft-col a:hover{color:var(--white)}
.ft-bot{border-top:1px solid var(--border);padding-top:16px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}
.ft-legal{display:flex;gap:16px}
.ft-legal a{font-size:12px;color:var(--t3);transition:color .2s}
.ft-legal a:hover{color:var(--white)}
.ft-bot p{font-size:11px;color:var(--t3)}

/* ============= MODALS ============= */
.modal{display:none;position:fixed;inset:0;z-index:9999;align-items:center;justify-content:center;padding:20px}
.modal.active{display:flex;animation:fadeIn .2s}
.modal-bg{position:absolute;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(6px)}
.modal-box{position:relative;background:var(--dark3);border:1px solid var(--border);border-radius:16px;padding:28px;max-width:540px;width:100%;max-height:80vh;overflow-y:auto}
.modal-x{position:absolute;top:10px;right:10px;width:30px;height:30px;background:rgba(255,255,255,.06);border:none;border-radius:50%;color:var(--t2);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.modal-x:hover{color:var(--white)}
.modal-box h2{font-size:18px;font-weight:800;margin-bottom:14px}
.mb h3{font-size:13px;font-weight:700;margin-top:14px;margin-bottom:3px}
.mb p{font-size:12px;color:var(--t2);line-height:1.6}

/* Confirm */
.confirm-box{text-align:center;max-width:420px}
.confirm-icon{width:56px;height:56px;margin:0 auto 10px;background:rgba(37,211,102,.1);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--green)}
.confirm-box h2{color:var(--green)}
.confirm-box>p{color:var(--t2);font-size:13px;margin-bottom:14px}
.confirm-details{text-align:left;background:rgba(255,255,255,.03);border-radius:8px;padding:14px;margin-bottom:16px;font-size:12px;line-height:1.7;color:var(--t2)}
.confirm-btns{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}

/* ============= WA FLOAT ============= */
.wa-float{position:fixed;bottom:20px;right:20px;width:54px;height:54px;background:var(--green);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--white);box-shadow:0 4px 20px rgba(37,211,102,.4);z-index:999;transition:transform .2s;animation:pulse 2s infinite}
.wa-float:hover{transform:scale(1.1)}

/* ============= ANIMATIONS ============= */
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes pulse{0%,100%{box-shadow:0 4px 20px rgba(37,211,102,.4)}50%{box-shadow:0 4px 30px rgba(37,211,102,.6)}}

/* ============= RESPONSIVE ============= */
@media(max-width:1024px){
    .hero-grid{grid-template-columns:1fr;text-align:center;padding:100px 0 40px}
    .hero-msg{order:1}
    .booking-card{order:2;max-width:460px;margin:0 auto}
    .hero-prices{justify-content:center}
    .social-proof{justify-content:center}
    .features-grid{grid-template-columns:1fr 1fr}
    .ft-top{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
    .topbar-left{display:none}
    .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:rgba(10,10,10,.98);flex-direction:column;padding:16px 20px;border-bottom:1px solid var(--border)}
    .nav-links.open{display:flex}
    .nav-links a{padding:12px 0;font-size:15px}
    .menu-btn{display:flex}
    .hero{background-attachment:scroll}
    .hero-grid{padding:80px 0 30px;gap:24px}
    .hero h1{font-size:26px}
    .hero-tagline{font-size:14px}
    .hero-prices{gap:12px}
    .hp-price{font-size:24px}
    .usp-grid{flex-direction:column;align-items:center;gap:10px}
    .features-grid{grid-template-columns:1fr}
    .ft-top{grid-template-columns:1fr}
    .ft-bot{flex-direction:column;text-align:center}
    .ft-legal{justify-content:center}
    .cta-btns{flex-direction:column;align-items:center}
    .confirm-btns{flex-direction:column}
    .compare-table{font-size:12px}
    .compare-table th,.compare-table td{padding:8px 10px}
}
@media(max-width:480px){
    .booking-card{padding:16px;border-radius:14px}
    .fr{grid-template-columns:1fr}
    .hero h1{font-size:22px}
}

::selection{background:var(--accent);color:var(--white)}
::-webkit-scrollbar{width:6px}
::-webkit-scrollbar-track{background:var(--dark)}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:3px}
