/* ═══════════════════════════════════════════════════
   NDF VTC — Design Noir & Or Luxe
   Or identique dark ET light : #BF9B30
   ═══════════════════════════════════════════════ */
:root {
  --gold:     #BF9B30;
  --gold-lt:  #D4AE4A;
  --gold-dk:  #9E7E22;
  --gold-rgb: 191,155,48;
  --fh: 'Raleway', sans-serif;
  --fb: 'DM Sans', sans-serif;
  --fi: 'Cormorant Garamond', serif;
  --r: 3px;
  --t: .3s cubic-bezier(.4,0,.2,1);
}
html[data-theme="dark"], :root {
  --bg:  #080806; --bg2: #0F0F0C; --bg3: #161612;
  --bg4: #1E1D19; --bg5: #262520;
  --bd:  rgba(191,155,48,.11); --bd2: rgba(191,155,48,.22);
  --tx:  #F0EDE3; --tx2: #9A9282; --tx3: #5A5448;
}
html[data-theme="light"] {
  --bg:  #F8F5EE; --bg2: #F0EBE0; --bg3: #E8E1D4;
  --bg4: #DDD6C6; --bg5: #D2C9B6;
  --bd:  rgba(168,134,58,.14); --bd2: rgba(168,134,58,.28);
  --tx:  #18160E; --tx2: #5C5444; --tx3: #9A9080;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
html{overflow-x:hidden;max-width:100%}
body{font-family:var(--fb);font-weight:300;background:var(--bg);color:var(--tx);line-height:1.75;overflow-x:hidden;max-width:100vw;transition:background .45s,color .45s}
a{color:var(--gold);text-decoration:none;transition:color var(--t)}
a:hover{color:var(--gold-lt)}
img{max-width:100%;display:block}
ul{list-style:none}
button{cursor:pointer;font-family:var(--fb);border:none;background:none}
input,textarea,select{font-family:var(--fb)}

.wrap{max-width:1180px;margin:0 auto;padding:0 2rem}
section{padding:6rem 0}

h1,h2,h3,h4{font-family:var(--fh);font-weight:800;line-height:1.15;color:var(--tx)}
h1{font-size:clamp(2.1rem,5vw,3.8rem)}
h2{font-size:clamp(1.7rem,3.5vw,2.6rem)}
h3{font-size:clamp(.92rem,2vw,1.2rem)}

.ol{display:block;font-family:var(--fh);font-weight:700;font-size:.52rem;letter-spacing:5px;text-transform:uppercase;color:var(--gold);margin-bottom:.65rem}
.gl{display:block;width:36px;height:1px;background:linear-gradient(90deg,var(--gold),transparent);margin:.85rem auto 0}
.sh{text-align:center;margin-bottom:3.5rem}
.sh h2{margin-bottom:.6rem}
.sh p{color:var(--tx2);font-size:.97rem;max-width:520px;margin:.75rem auto 0}

/* ── BOUTONS ── */
.btn{display:inline-flex;align-items:center;gap:.42rem;font-family:var(--fh);font-weight:700;font-size:.54rem;letter-spacing:3px;text-transform:uppercase;padding:.88rem 2rem;border-radius:var(--r);border:1px solid transparent;transition:all var(--t);white-space:nowrap;cursor:pointer;text-decoration:none}
.btn-g{background:linear-gradient(135deg,var(--gold-dk) 0%,var(--gold) 50%,var(--gold-lt) 100%);color:#050503;border-color:var(--gold);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}
.btn-g:hover{background:linear-gradient(135deg,var(--gold) 0%,var(--gold-lt) 100%);color:#050503;transform:translateY(-2px);box-shadow:0 8px 28px rgba(var(--gold-rgb),.45)}
.btn-o{background:transparent;color:var(--gold);border-color:var(--gold)}
.btn-o:hover{background:var(--gold);color:#050503;transform:translateY(-2px)}
.btn-dk{background:transparent;color:var(--tx2);border-color:var(--bd2)}
.btn-dk:hover{border-color:var(--gold);color:var(--gold)}
.btn-sm{padding:.52rem 1.2rem;font-size:.5rem}
.btn-lg{padding:1.08rem 2.5rem;font-size:.58rem}

/* ══ HEADER ══ */
/* Barre supérieure */
.hdr-top{background:rgba(0,0,0,.35);border-bottom:1px solid rgba(var(--gold-rgb),.12);padding:.28rem 0;display:block}
html[data-theme="light"] .hdr-top{background:rgba(248,245,238,.7)}
.hdr-top-in{display:flex;align-items:center;justify-content:space-between}
.hdr-services{display:flex;gap:1.5rem;align-items:center}
.hdr-services span{font-family:var(--fh);font-weight:600;font-size:.42rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--tx3);white-space:nowrap}
.hdr-tel{font-family:var(--fh);font-weight:700;font-size:.5rem;letter-spacing:1px;color:var(--gold);text-decoration:none;transition:opacity var(--t)}
.hdr-tel:hover{opacity:.75}
@media(max-width:860px){.hdr-top{display:none}}

/* Header principal */
#hdr{position:fixed;top:0;left:0;right:0;z-index:1000;transition:all .45s;background:rgba(8,8,6,.78);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
#hdr.stuck{background:rgba(8,8,6,.97);box-shadow:0 2px 24px rgba(0,0,0,.55);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
#hdr.stuck .hdr-top{display:none}
html[data-theme="light"] #hdr{background:rgba(248,245,238,.88)!important}
html[data-theme="light"] #hdr.stuck{background:rgba(248,245,238,.97)!important;box-shadow:0 2px 20px rgba(0,0,0,.1)}



/* Logo */
.logo{display:flex;align-items:center;gap:.9rem;text-decoration:none;flex-shrink:0}
.logo-svg svg{width:100px;height:36px;display:block;transition:opacity var(--t)}
.logo:hover .logo-svg svg{opacity:.75}
.logo-img{width:90px;height:auto;display:block;transition:opacity var(--t);filter:brightness(1.1)}
html[data-theme="light"] .logo-img{filter:brightness(.85)}
.logo:hover .logo-img{opacity:.8}
.logo-nm{display:flex;flex-direction:column;line-height:1}
.logo-tx{font-family:var(--fh);font-weight:900;font-size:1.18rem;letter-spacing:4px;text-transform:uppercase;color:var(--tx)}
.logo-tx em{color:var(--gold);font-style:normal}
.logo-sub{font-family:var(--fb);font-weight:300;font-size:.44rem;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-top:.15rem}

/* Navigation */
.snav{display:flex;align-items:center;gap:.1rem;flex:1;justify-content:center}
.snav a{font-family:var(--fh);font-weight:700;font-size:.52rem;letter-spacing:1.8px;text-transform:uppercase;color:var(--tx2);padding:.45rem .85rem;border-radius:3px;transition:all var(--t);text-decoration:none;white-space:nowrap}
.snav a:hover,.snav a.on{color:var(--gold);background:rgba(var(--gold-rgb),.08)}

.hdr-r{display:flex;align-items:center;gap:.7rem;flex-shrink:0}
#btn-th{width:34px;height:34px;border-radius:50%;border:1px solid var(--bd2);background:var(--bg3);color:var(--tx2);display:flex;align-items:center;justify-content:center;font-size:.86rem;transition:all var(--t)}
#btn-th:hover{border-color:var(--gold);color:var(--gold)}

.ham{display:none;flex-direction:column;gap:5px;padding:.4rem;z-index:1002}
.ham span{display:block;width:22px;height:1.5px;background:var(--tx);border-radius:1px;transition:all var(--t)}
.ham.open span:nth-child(1){transform:rotate(45deg) translate(4.5px,4.5px)}
.ham.open span:nth-child(2){opacity:0}
.ham.open span:nth-child(3){transform:rotate(-45deg) translate(4.5px,-4.5px)}

#mnav{display:none;position:fixed;inset:0;z-index:990;background:var(--bg);flex-direction:column;align-items:center;justify-content:center;gap:2rem}
#mnav.open{display:flex}
#mnav a{font-family:var(--fh);font-weight:700;font-size:1.05rem;letter-spacing:3px;text-transform:uppercase;color:var(--tx2);transition:color var(--t);text-decoration:none}
#mnav a:hover{color:var(--gold)}

/* ══ HERO — Booking first ══ */
.hero{min-height:100svh;display:flex;align-items:stretch;position:relative;overflow:hidden;padding-top:60px}
.hbg{position:absolute;inset:0;z-index:0;background:var(--bg)}
.hbg-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.22;filter:grayscale(.3)}
.hbg-overlay{position:absolute;inset:0;background:radial-gradient(ellipse 80% 70% at 70% 50%,rgba(var(--gold-rgb),.045) 0%,transparent 65%)}
html[data-theme="dark"] .hbg::after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 79px,rgba(191,155,48,.015) 80px),repeating-linear-gradient(90deg,transparent,transparent 79px,rgba(191,155,48,.015) 80px)}

.hin{position:relative;z-index:1;display:grid;grid-template-columns:460px 1fr;gap:4rem;align-items:center;max-width:1180px;margin:0 auto;padding:3rem 2rem 4rem;width:100%}

/* ─ Colonne gauche : formulaire ─ */
.hform-col{display:flex;flex-direction:column}
.hform-card{background:var(--bg2);border:1px solid rgba(var(--gold-rgb),.25);border-top:2px solid var(--gold);border-radius:6px;padding:1.8rem;box-shadow:0 20px 60px rgba(0,0,0,.55);animation:fU .55s .1s both}
html[data-theme="light"] .hform-card{box-shadow:0 8px 30px rgba(0,0,0,.12)}
.hform-head{margin-bottom:1.2rem}
.hform-head h2{font-size:1.08rem;margin-bottom:.2rem}
.hform-head p{font-size:.72rem;color:var(--tx3)}

.hf-tabs{display:flex;gap:.35rem;margin-bottom:1.2rem}
.hft{font-family:var(--fh);font-weight:700;font-size:.46rem;letter-spacing:1.5px;text-transform:uppercase;padding:.42rem .75rem;border-radius:3px;border:1px solid rgba(var(--gold-rgb),.2);background:var(--bg3);color:var(--tx3);transition:all var(--t);cursor:pointer;flex:1;text-align:center}
.hft.on{background:linear-gradient(135deg,var(--gold-dk),var(--gold));border-color:var(--gold);color:#050503}
.hft:hover:not(.on){border-color:rgba(var(--gold-rgb),.4);color:var(--tx2)}

.hf-field{margin-bottom:.75rem}
.hf-row2{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-bottom:.75rem}

.hf-contact-quick{text-align:center;padding-top:.85rem;border-top:1px solid var(--bd);margin-top:.8rem;font-size:.72rem;color:var(--tx3)}
.hf-contact-quick a{color:var(--gold);font-weight:700;text-decoration:none;margin-left:.3rem}

/* ─ Colonne droite : texte ─ */
.ht{animation:fU .6s .2s both}
.ht .ol{animation:none}
.ht h1{margin-bottom:1.2rem;font-size:clamp(2.5rem,4.5vw,3.8rem)}
.ht h1 .ac{background:linear-gradient(135deg,var(--gold) 0%,var(--gold-lt) 50%,var(--gold) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.ht p{font-size:.95rem;color:var(--tx2);max-width:430px;margin-bottom:2rem;line-height:1.82}

/* Mini flotte dans hero */
.hero-fleet-mini{display:flex;flex-direction:column;gap:.6rem;margin-bottom:2rem}
.hfm-item{display:flex;align-items:center;gap:.9rem;padding:.65rem 1rem;background:rgba(var(--gold-rgb),.055);border:1px solid rgba(var(--gold-rgb),.15);border-radius:4px;transition:all var(--t)}
.hfm-item:hover{background:rgba(var(--gold-rgb),.1);border-color:rgba(var(--gold-rgb),.3)}
.hfm-ico{font-size:1.5rem;flex-shrink:0}
.hfm-nm{font-family:var(--fh);font-weight:700;font-size:.78rem;color:var(--tx);display:block}
.hfm-pr{font-size:.68rem;color:var(--gold);display:block;margin-top:.1rem}

.hstats{display:flex;gap:2rem;flex-wrap:wrap;padding-top:1.8rem;border-top:1px solid var(--bd)}
.sv{font-family:var(--fh);font-weight:900;font-size:1.75rem;color:var(--gold);display:block;line-height:1}
.sl{font-size:.62rem;color:var(--tx3);margin-top:.22rem;letter-spacing:.5px}

.sline{position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}

/* ── SERVICES ── */
.svc-sec{background:var(--bg2)}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.svc-card{background:var(--bg3);border:1px solid var(--bd);border-top:2px solid transparent;border-radius:var(--r);padding:2rem;transition:all var(--t)}
.svc-card:hover{border-top-color:var(--gold);transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,0,0,.22)}
.sc-ico{width:46px;height:46px;background:rgba(var(--gold-rgb),.08);border:1px solid rgba(var(--gold-rgb),.2);border-radius:var(--r);display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin-bottom:1.2rem;transition:all var(--t)}
.svc-card:hover .sc-ico{background:rgba(var(--gold-rgb),.16);border-color:var(--gold)}
.svc-card h3{font-size:.88rem;margin-bottom:.45rem}
.svc-card p{font-size:.82rem;color:var(--tx2);line-height:1.7;margin:0}
.sc-pr{font-family:var(--fh);font-weight:700;font-size:.74rem;color:var(--gold);margin-top:.85rem;display:block}

/* ── FLOTTE ── */
.fleet-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.fc{background:var(--bg2);border:1px solid var(--bd);border-radius:var(--r);overflow:hidden;transition:all var(--t)}
.fc:hover{border-color:var(--gold);transform:translateY(-5px);box-shadow:0 20px 50px rgba(0,0,0,.3)}
.fc-img{height:140px;background:linear-gradient(135deg,var(--bg3),var(--bg4));display:flex;align-items:center;justify-content:center;font-size:3.5rem;border-bottom:1px solid var(--bd);position:relative}
.fc-img::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at center,rgba(var(--gold-rgb),.07),transparent 70%)}
.fc-badge{position:absolute;top:.7rem;right:.7rem;background:linear-gradient(135deg,var(--gold-dk),var(--gold));color:#050503;font-family:var(--fh);font-weight:700;font-size:.44rem;letter-spacing:2px;text-transform:uppercase;padding:.24rem .58rem;border-radius:2px}
.fc-body{padding:1.3rem}
.fc-cat{font-family:var(--fh);font-weight:700;font-size:.52rem;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:.32rem}
.fc-body h3{font-size:.88rem;margin-bottom:.6rem}
.fc-models{display:flex;flex-direction:column;gap:.24rem;margin-bottom:.88rem;padding-bottom:.88rem;border-bottom:1px solid var(--bd)}
.fc-model{font-size:.74rem;color:var(--tx2);display:flex;align-items:center;gap:.35rem}
.fc-model::before{content:'›';color:var(--gold);font-size:.82rem;flex-shrink:0}
.fc-pax{font-family:var(--fh);font-weight:700;font-size:.7rem;color:var(--tx3)}
.fc-pax b{color:var(--gold)}

/* ── POURQUOI ── */
.why-sec{background:var(--bg2)}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.wi{text-align:center;padding:1.5rem 1rem}
.wi-ico{width:54px;height:54px;margin:0 auto 1.1rem;background:rgba(var(--gold-rgb),.07);border:1px solid rgba(var(--gold-rgb),.18);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.35rem;transition:all var(--t)}
.wi:hover .wi-ico{background:var(--gold);border-color:var(--gold)}
.wi h4{font-size:.86rem;margin-bottom:.34rem}
.wi p{font-size:.78rem;color:var(--tx2);margin:0}

/* ── TARIFS ── */
.pt-tabs{display:flex;gap:.5rem;margin-bottom:2rem;flex-wrap:wrap}
.ptab{font-family:var(--fh);font-weight:600;font-size:.53rem;letter-spacing:2px;text-transform:uppercase;padding:.62rem 1.4rem;border-radius:var(--r);border:1px solid var(--bd2);background:var(--bg3);color:var(--tx2);transition:all var(--t);cursor:pointer;text-align:center;line-height:1.3}
.ptab.on,.ptab:hover{background:linear-gradient(135deg,var(--gold-dk),var(--gold));border-color:var(--gold);color:#050503;box-shadow:0 4px 14px rgba(var(--gold-rgb),.3)}
.ppnl{display:none}
.ppnl.on{display:block}
.ptable{background:var(--bg2);border:1px solid var(--bd);border-radius:var(--r);overflow:hidden}
.pt-head{display:grid;grid-template-columns:1.6fr repeat(4,1fr);background:rgba(var(--gold-rgb),.07);border-bottom:1px solid var(--bd);padding:.8rem 1.5rem}
.pt-head span{font-family:var(--fh);font-weight:700;font-size:.5rem;letter-spacing:2px;text-transform:uppercase;color:var(--tx2)}
.pt-head span:first-child{color:var(--tx)}
.pt-row{display:grid;grid-template-columns:1.6fr repeat(4,1fr);padding:.88rem 1.5rem;border-bottom:1px solid var(--bd);align-items:center;transition:background var(--t)}
.pt-row:last-child{border-bottom:none}
.pt-row:hover{background:rgba(var(--gold-rgb),.04)}
.pt-dest{font-size:.84rem;color:var(--tx)}
.pt-v{font-family:var(--fh);font-weight:700;color:var(--gold);font-size:.88rem}
.pt-note{margin-top:.75rem;font-size:.74rem;color:var(--tx3);font-style:italic}

/* Tableau vols */
.airport-table{background:var(--bg2);border:1px solid var(--bd);border-radius:var(--r);overflow:hidden;max-width:680px;margin:0 auto}
.at-head{display:grid;grid-template-columns:1fr auto auto;background:rgba(var(--gold-rgb),.07);border-bottom:1px solid var(--bd);padding:.8rem 1.5rem;gap:1rem}
.at-head span{font-family:var(--fh);font-weight:700;font-size:.5rem;letter-spacing:2px;text-transform:uppercase;color:var(--tx2);text-align:right}
.at-head span:first-child{color:var(--tx);text-align:left}
.at-row{display:grid;grid-template-columns:1fr auto auto;padding:.88rem 1.5rem;border-bottom:1px solid var(--bd);align-items:center;gap:1rem;transition:background var(--t)}
.at-row:last-child{border-bottom:none}
.at-row:hover{background:rgba(var(--gold-rgb),.04)}
.at-dest{font-size:.84rem;color:var(--tx)}
.at-dir{font-size:.7rem;color:var(--tx3);display:flex;align-items:center;gap:.3rem}
.at-pr{font-family:var(--fh);font-weight:700;color:var(--gold);font-size:.88rem;text-align:right;min-width:60px}

/* ── TÉMOIGNAGES ── */
.testi-sec{background:var(--bg2)}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.tcard{background:var(--bg3);border:1px solid var(--bd);border-radius:var(--r);padding:2rem;transition:all var(--t)}
.tcard:hover{border-color:rgba(var(--gold-rgb),.3);transform:translateY(-3px)}
.t-stars{color:var(--gold);font-size:.88rem;letter-spacing:2px;margin-bottom:.85rem}
.t-txt{font-size:.86rem;color:var(--tx2);line-height:1.75;margin-bottom:1.4rem;font-family:var(--fi);font-style:italic}
.t-auth{display:flex;align-items:center;gap:.75rem}
.t-av{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--gold-lt));display:flex;align-items:center;justify-content:center;font-family:var(--fh);font-weight:800;font-size:.7rem;color:#050503;flex-shrink:0}
.t-nm{font-family:var(--fh);font-weight:700;font-size:.82rem;color:var(--tx);display:block}
.t-rl{font-size:.68rem;color:var(--tx3)}

/* ── BOOKING WIDGET ── */
.bk-sec{background:var(--bg);border-top:1px solid var(--bd);border-bottom:1px solid var(--bd)}
.bk-wrap{max-width:980px;margin:0 auto;background:var(--bg2);border:1px solid var(--bd2);border-top:2px solid var(--gold);border-radius:4px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.4)}
html[data-theme="light"] .bk-wrap{box-shadow:0 12px 40px rgba(0,0,0,.1)}

/* Steps */
.bk-steps{display:flex;align-items:center;background:var(--bg3);border-bottom:1px solid var(--bd);padding:1.1rem 2rem}
.bk-step{display:flex;flex-direction:column;align-items:center;gap:.26rem;flex-shrink:0}
.bk-step .sn{width:28px;height:28px;border-radius:50%;background:var(--bg5);border:1px solid rgba(var(--gold-rgb),.2);display:flex;align-items:center;justify-content:center;font-family:var(--fh);font-weight:700;font-size:.68rem;color:var(--tx3);transition:all .3s}
.bk-step .sl2{font-family:var(--fh);font-weight:600;font-size:.46rem;letter-spacing:2px;text-transform:uppercase;color:var(--tx3);white-space:nowrap}
.bk-step.on .sn{background:linear-gradient(135deg,var(--gold-dk),var(--gold));border-color:var(--gold);color:#050503;box-shadow:0 0 0 3px rgba(var(--gold-rgb),.2)}
.bk-step.on .sl2{color:var(--gold)}
.bk-step.dn .sn{background:rgba(var(--gold-rgb),.12);border-color:var(--gold);color:var(--gold)}
.bk-sep{flex:1;height:1px;background:rgba(var(--gold-rgb),.14);margin:0 .55rem;margin-bottom:.82rem}

.bk-body{padding:2rem}
.bk-pnl{display:none}.bk-pnl.on{display:block}
.bk-ph{margin-bottom:1.5rem}
.bk-ph h3{font-size:1rem;margin-bottom:.25rem}
.bk-ph p{font-size:.82rem;color:var(--tx2)}

.lbl{font-family:var(--fh);font-weight:600;font-size:.5rem;letter-spacing:2px;text-transform:uppercase;color:var(--tx2);display:block;margin-bottom:.3rem}
.inp{width:100%;background:var(--bg4);border:1px solid rgba(var(--gold-rgb),.18);border-radius:var(--r);padding:.75rem .95rem;color:var(--tx);font-family:var(--fb);font-size:.87rem;transition:border-color .3s,box-shadow .3s;appearance:none;-webkit-appearance:none;color-scheme:dark}
.inp option{background:#1a1916;color:#F0EDE3}
.inp option:checked,.inp option:hover{background:#BF9B30;color:#080806}
.inp:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(var(--gold-rgb),.1)}
.inp::placeholder{color:var(--tx3)}
.inp option{background:var(--bg4);color:var(--tx)}
.fg{display:flex;flex-direction:column;gap:.28rem;margin-bottom:1rem}
.crow{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.crow3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}

/* Tabs service */
.svc-tabs{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1.4rem}
.stab{font-family:var(--fh);font-weight:600;font-size:.5rem;letter-spacing:2px;text-transform:uppercase;padding:.46rem 1rem;border-radius:var(--r);border:1px solid rgba(var(--gold-rgb),.2);background:var(--bg3);color:var(--tx2);transition:all .3s;cursor:pointer}
.stab.on{background:linear-gradient(135deg,var(--gold-dk),var(--gold));border-color:var(--gold);color:#050503}

/* Compteurs */
.cnt{display:flex;align-items:center;border:1px solid rgba(var(--gold-rgb),.2);border-radius:var(--r);overflow:hidden;height:42px;background:var(--bg4)}
.cnt-b{width:42px;height:42px;background:var(--bg5);color:var(--tx2);font-size:1rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .3s;cursor:pointer;border:none}
.cnt-b:hover{background:var(--gold);color:#050503}
.cnt span{flex:1;text-align:center;font-family:var(--fh);font-weight:700;color:var(--tx)}

/* Distance badge */
.dist-badge{display:none;align-items:center;gap:1rem;background:rgba(var(--gold-rgb),.07);border:1px solid rgba(var(--gold-rgb),.2);border-radius:var(--r);padding:.75rem 1.1rem;margin-bottom:1rem}
.db-l{font-family:var(--fh);font-weight:600;font-size:.49rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--tx3);display:block}
.db-v{font-family:var(--fh);font-weight:800;color:var(--gold);font-size:.88rem}

/* Véhicules */
.vehs{display:flex;flex-direction:column;gap:.8rem;margin-bottom:1.4rem}
.vcard{display:grid;grid-template-columns:54px 1fr auto;gap:1rem;align-items:center;background:var(--bg3);border:1px solid rgba(var(--gold-rgb),.14);border-radius:var(--r);padding:.95rem 1.3rem;cursor:pointer;transition:all .3s}
.vcard:hover{border-color:rgba(var(--gold-rgb),.38)}
.vcard.sel{border-color:var(--gold);background:rgba(var(--gold-rgb),.05);box-shadow:0 0 0 1px rgba(var(--gold-rgb),.1)}
.v-ico{font-size:2.2rem;text-align:center}
.v-nm{font-family:var(--fh);font-weight:800;font-size:.88rem;margin-bottom:.12rem}
.v-cat{font-family:var(--fh);font-weight:700;font-size:.5rem;letter-spacing:2px;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:.32rem}
.v-models{font-size:.72rem;color:var(--tx3);line-height:1.6}
.v-pr-wrap{text-align:right;flex-shrink:0;min-width:80px}
.v-pr{font-family:var(--fh);font-weight:900;font-size:1.32rem;color:var(--gold);display:block}
.v-pr sub{font-size:.55rem;font-weight:400;color:var(--tx3);vertical-align:middle}
.v-sel{font-family:var(--fh);font-weight:700;font-size:.46rem;letter-spacing:2px;text-transform:uppercase;color:var(--tx3);margin-top:.2rem;display:block;text-align:right}
.vcard.sel .v-sel{color:var(--gold)}

/* Options */
.exts{display:flex;flex-direction:column;gap:.55rem;margin-bottom:1.4rem}
.ext{display:grid;grid-template-columns:18px 34px 1fr auto;align-items:center;gap:.8rem;background:var(--bg3);border:1px solid rgba(var(--gold-rgb),.11);border-radius:var(--r);padding:.82rem 1.1rem;cursor:pointer;transition:all .3s;user-select:none}
.ext:hover{border-color:rgba(var(--gold-rgb),.28)}.ext.on{border-color:rgba(var(--gold-rgb),.3);background:rgba(var(--gold-rgb),.05)}
.ck{width:18px;height:18px;border-radius:3px;border:1px solid rgba(var(--gold-rgb),.26);background:var(--bg5);display:flex;align-items:center;justify-content:center;transition:all .3s;flex-shrink:0}
.ck.on{background:var(--gold);border-color:var(--gold)}.ck.on::after{content:"✓";font-size:.56rem;color:#050503;font-weight:700}
.ext-ico{font-size:1.2rem;text-align:center}
.ext-nm{font-family:var(--fh);font-weight:700;font-size:.82rem;color:var(--tx);display:block}
.ext-ds{font-size:.71rem;color:var(--tx2)}
.ext-pr{font-family:var(--fh);font-weight:700;color:var(--gold);font-size:.8rem;white-space:nowrap}

/* Summary */
.psum{background:var(--bg3);border:1px solid var(--bd);border-radius:var(--r);padding:1rem 1.4rem;margin-bottom:1.4rem}
.psum-row{display:flex;justify-content:space-between;font-size:.85rem;color:var(--tx2);padding:.24rem 0;border-bottom:1px solid var(--bd)}
.psum-row:last-child{border-bottom:none}
.psum-tot{font-family:var(--fh);font-weight:800;font-size:1rem;color:var(--tx);padding-top:.46rem!important;margin-top:.08rem}
.psum-tot span:last-child{color:var(--gold);font-size:1.18rem}

/* Recap contact */
.recap-box{background:rgba(var(--gold-rgb),.06);border:1px solid rgba(var(--gold-rgb),.2);border-radius:var(--r);padding:1rem 1.35rem;margin-bottom:1.35rem}
.recap-t{font-family:var(--fh);font-weight:700;font-size:.52rem;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:.75rem}
.recap-r{display:flex;align-items:flex-start;gap:.46rem;font-size:.82rem;color:var(--tx2);margin-bottom:.34rem}
.recap-r b{color:var(--tx);min-width:95px;font-weight:500}

/* CGV */
.cgv-wrap{display:flex;align-items:flex-start;gap:.6rem;font-size:.82rem;color:var(--tx2);cursor:pointer;margin-bottom:1.3rem;line-height:1.55;user-select:none}
.cgv-ck{width:17px;height:17px;border-radius:3px;border:1px solid rgba(var(--gold-rgb),.24);background:var(--bg5);flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;transition:all .3s;margin-top:.1rem}
.cgv-inp:checked+.cgv-ck{background:var(--gold);border-color:var(--gold)}
.cgv-inp:checked+.cgv-ck::after{content:"✓";font-size:.56rem;color:#050503;font-weight:700}
.cgv-inp{display:none}

/* Modes paiement */
.pay-opts{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem;margin-bottom:1.35rem}
.pay-opt{display:flex;flex-direction:column;align-items:center;gap:.26rem;background:var(--bg3);border:1.5px solid rgba(var(--gold-rgb),.14);border-radius:var(--r);padding:.8rem;cursor:pointer;transition:all .3s;text-align:center}
.pay-opt:has(input:checked){border-color:var(--gold);background:rgba(var(--gold-rgb),.06)}
.pay-opt input{display:none}
.pay-ico{font-size:1.35rem}
.pay-opt strong{font-family:var(--fh);font-weight:700;font-size:.73rem;color:var(--tx)}
.pay-opt span{font-size:.65rem;color:var(--tx3)}

.nav-btns{display:flex;justify-content:space-between;align-items:center;margin-top:1.4rem;padding-top:1.4rem;border-top:1px solid var(--bd)}
.nav-btns.end{justify-content:flex-end}

/* Confirmation */
.conf-done{text-align:center;padding:2.5rem 1rem}
.conf-ico{font-size:3rem;margin-bottom:1rem;display:block}
.conf-done h3{margin-bottom:.6rem;font-size:1.3rem}
.conf-done p{color:var(--tx2);max-width:420px;margin:0 auto 1.4rem;font-size:.9rem}
.conf-ref{display:inline-block;background:rgba(var(--gold-rgb),.1);border:1px solid rgba(var(--gold-rgb),.24);border-radius:var(--r);padding:.42rem 1.1rem;font-family:var(--fh);font-weight:700;font-size:.84rem;color:var(--gold);margin-bottom:1.4rem}
.conf-det{background:var(--bg3);border:1px solid var(--bd);border-radius:var(--r);padding:1.1rem 1.4rem;max-width:400px;margin:0 auto;text-align:left;font-size:.82rem;color:var(--tx2);line-height:1.9}
.conf-det b{color:var(--tx);font-weight:500}

/* Autocomplete */
.ac-wrap{position:relative}
.ac-sug{position:absolute;top:100%;left:0;right:0;z-index:200;background:var(--bg4);border:1px solid rgba(var(--gold-rgb),.25);border-top:none;border-radius:0 0 var(--r) var(--r);display:none;max-height:160px;overflow-y:auto}
.ac-it{padding:.52rem .9rem;font-size:.83rem;color:var(--tx2);cursor:pointer;transition:background .2s;border-bottom:1px solid var(--bd)}
.ac-it:hover{background:rgba(var(--gold-rgb),.1);color:var(--gold)}

/* ── CTA BAND ── */
.cta-band{background:linear-gradient(135deg,var(--bg3),var(--bg2));border-top:1px solid var(--bd);border-bottom:1px solid var(--bd);padding:4.5rem 0;text-align:center;position:relative;overflow:hidden}
.cta-band::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 100% at 50% 0%,rgba(var(--gold-rgb),.06),transparent);pointer-events:none}
.cta-band h2{margin-bottom:.85rem;position:relative}
.cta-band p{color:var(--tx2);margin-bottom:2rem;position:relative;font-family:var(--fi);font-style:italic;font-size:1.08rem}

/* ── CONTACT ── */
.ct-sec{background:var(--bg2)}
.ct-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:4rem;align-items:start}
.ci-item{display:flex;align-items:flex-start;gap:.85rem;margin-bottom:1.7rem}
.ci-ico{width:42px;height:42px;background:rgba(var(--gold-rgb),.08);border:1px solid rgba(var(--gold-rgb),.2);border-radius:var(--r);display:flex;align-items:center;justify-content:center;font-size:.95rem;flex-shrink:0;color:var(--gold)}
.ci-lbl{font-family:var(--fh);font-weight:700;font-size:.5rem;letter-spacing:2px;text-transform:uppercase;color:var(--tx3);display:block;margin-bottom:.14rem}
.ci-val{font-size:.9rem;color:var(--tx);text-decoration:none;transition:color var(--t)}
a.ci-val:hover{color:var(--gold)}
.ct-urg{background:rgba(var(--gold-rgb),.07);border:1px solid rgba(var(--gold-rgb),.2);border-radius:var(--r);padding:1.5rem;margin-top:.5rem}
.ct-urg strong{font-family:var(--fh);font-weight:700;font-size:.88rem;display:block;margin-bottom:.36rem}
.ct-urg p{font-size:.82rem;color:var(--tx2);margin-bottom:1rem}
.ct-form-wrap{background:var(--bg3);border:1px solid var(--bd);border-top:2px solid var(--gold);border-radius:var(--r);padding:2.25rem}
.form-ok{display:none;text-align:center;padding:1.5rem}
.form-ok.show{display:block}
.form-ok .ico{font-size:2.5rem;margin-bottom:.75rem;display:block}

/* ── FOOTER ── */
.site-footer{background:#050503;border-top:1px solid var(--bd2);padding:4.5rem 0 2rem}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem}
.fb-brand p{font-size:.82rem;color:var(--tx2);margin-top:.9rem;max-width:250px;line-height:1.75}
.fc-col h4{font-family:var(--fh);font-weight:700;font-size:.5rem;letter-spacing:3px;text-transform:uppercase;color:var(--tx3);margin-bottom:1.2rem}
.fc-col ul li{margin-bottom:.5rem}
.fc-col ul li a{font-size:.82rem;color:var(--tx2);text-decoration:none;transition:color var(--t)}
.fc-col ul li a:hover{color:var(--gold)}
.fc-col ul li span{font-size:.82rem;color:var(--tx3)}
.foot-bottom{padding-top:2rem;border-top:1px solid var(--bd);display:flex;justify-content:space-between;align-items:center}
.foot-copy{font-size:.74rem;color:var(--tx3)}
.foot-links{display:flex;gap:1.5rem}
.foot-links a{font-size:.74rem;color:var(--tx3);text-decoration:none;transition:color var(--t)}
.foot-links a:hover{color:var(--gold)}

/* ── FLOTTANTS ── */
#btn-top{position:fixed;bottom:1.75rem;right:1.75rem;z-index:900;width:42px;height:42px;border-radius:50%;background:var(--bg3);border:1px solid var(--bd2);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 18px rgba(0,0,0,.4);font-size:.9rem;color:var(--tx2);transition:all var(--t);cursor:pointer;opacity:0;pointer-events:none}
#btn-top.show{opacity:1;pointer-events:auto}
#btn-top:hover{background:var(--gold);border-color:var(--gold);color:#050503;transform:scale(1.1)}
#btn-wa{position:fixed;bottom:5.5rem;right:1.75rem;z-index:900;width:48px;height:48px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(37,211,102,.4);transition:all var(--t)}
#btn-wa svg{width:26px;height:26px;fill:#fff}
#btn-wa:hover{background:#1db954;transform:scale(1.1);box-shadow:0 6px 28px rgba(37,211,102,.5)}

/* ── SEO BLOCK ── */
.seo-block{background:var(--bg3);border-top:1px solid var(--bd);padding:3rem 0}
.seo-cols{display:grid;grid-template-columns:1fr 1fr;gap:3rem;max-width:900px;margin:0 auto}
.seo-cols h2{font-size:.92rem;margin-bottom:.6rem;font-weight:700}
.seo-cols p{font-size:.79rem;color:var(--tx2);line-height:1.85;margin-bottom:.7rem}

/* ── ANIMATIONS ── */
.rv{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}
.rv.in{opacity:1;transform:none}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}.d4{transition-delay:.32s}
@keyframes fU{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes fR{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes sca{0%{transform:translateX(-50%) scaleY(0);transform-origin:top}50%{transform:translateX(-50%) scaleY(1);transform-origin:top}51%{transform:translateX(-50%) scaleY(1);transform-origin:bottom}100%{transform:translateX(-50%) scaleY(0);transform-origin:bottom}}

/* ══ RESPONSIVE ══ */
@media(max-width:1100px){
  .hin{grid-template-columns:400px 1fr;gap:2.5rem}
  .fleet-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:1024px){
  .hin{grid-template-columns:1fr;gap:2.5rem;padding-top:2rem;max-width:680px}
  .hform-col{order:1;width:100%}
  .ht{order:2;text-align:center}
  .ht h1{font-size:2.5rem}
  .ht p{max-width:100%;margin-left:auto;margin-right:auto}
  .ht .ol{display:block}
  .hero-fleet-mini{flex-direction:row;flex-wrap:wrap;justify-content:center}
  .hfm-item{flex:1;min-width:160px;max-width:220px}
  .hstats{justify-content:center}
  .ct-grid{grid-template-columns:1fr;gap:2.5rem}
  .fleet-grid{grid-template-columns:repeat(2,1fr)}
  .svc-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .why-grid{grid-template-columns:repeat(2,1fr)}
  .seo-cols{grid-template-columns:1fr;gap:2rem}
  .bk-wrap{margin:0}
}
@media(max-width:768px){
  /* Header */
  .snav{display:none}
  .ham{display:flex}
  .hdr-r .btn-g{display:none}
  /* Bouton thème : toujours visible en mobile */
  #btn-th{width:30px;height:30px;flex-shrink:0}
  /* Menu mobile : fond opaque couvrant tout l'écran */
  #mnav{padding:2rem 1.5rem}
  .hdr-top{display:none}
  #hdr.stuck .hi{padding:.5rem 1.2rem}

  /* Logo */
  .logo-img{width:130px;max-height:48px}

  /* Sections */
  section{padding:3.5rem 0}
  .hero{padding-top:50px;min-height:auto}
  .hin{padding:2rem 1.2rem 2.5rem;max-width:100%}

  /* Grilles */
  .svc-grid{grid-template-columns:1fr}
  .testi-grid{grid-template-columns:1fr}
  .fleet-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .foot-bottom{flex-direction:column;gap:.75rem;text-align:center}
  .foot-links{justify-content:center}

  /* Tableau tarifs */
  .tarif-table th,.tarif-table td{padding:.8rem 1rem;font-size:.8rem}
  .tarif-table .tarif-price{font-size:1.1rem}

  /* Formulaires */
  .crow,.crow3{grid-template-columns:1fr}
  .hf-row2{grid-template-columns:1fr}
  .logo-sub{display:none}

  /* Booking steps */
  .bk-steps{padding:.75rem 1rem;overflow-x:auto}
  .bk-step .sl2{display:none}
  .bk-sep{margin:0 .25rem;flex:0 0 20px}
  .pay-opts{grid-template-columns:1fr}
  .vcard{grid-template-columns:42px 1fr;gap:.75rem}
  .v-pr-wrap{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center}
  .bk-body{padding:1.4rem}
  .nav-btns{flex-direction:column;gap:.75rem}
  .nav-btns .btn{width:100%;justify-content:center}

  /* Tarifs page */
  .pt-head,.pt-row{font-size:.78rem;padding:.7rem .9rem}

  /* CTA */
  .cta-band .cta-btns{flex-direction:column;align-items:center}
}
@media(max-width:480px){
  .wrap{padding:0 1rem}
  h1{font-size:1.85rem}
  h2{font-size:1.45rem}
  .logo-img{width:110px;max-height:42px}
  #hdr.stuck .logo-img{max-height:36px;width:95px}
  .hf-tabs{flex-wrap:wrap}
  .hft{flex:1;min-width:80px;font-size:.4rem}
  .hstats{gap:1rem;justify-content:space-around}
  .sv{font-size:1.4rem}
  .hero-fleet-mini{gap:.4rem}
  .hfm-item{min-width:100%;max-width:100%}
  .bk-steps{gap:.1rem}
  .bk-step .sn{width:24px;height:24px;font-size:.6rem}
  .tcard{padding:1.4rem}
  .svc-card{padding:1.4rem}
  .footer-grid{gap:2rem}

  /* Plugin Chauffeur — overrides style dans hero */
  .chauffeur-hero-widget{padding:0}
  .chauffeur-hero-widget .chauffeur_booking_form{max-width:100%!important}
}

/* Sélection texte */
::selection{background:rgba(var(--gold-rgb),.25);color:var(--tx)}

/* Scrollbar */
::-webkit-scrollbar{width:5px;height:5px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:rgba(var(--gold-rgb),.3);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:var(--gold)}
/* ── IMAGES VOITURES FLOTTE ── */
.fc-car-img {
  width: 100%;
  height: 140px;
  object-fit: cover;
  display: block;
  border-radius: 0;
  transition: transform .45s ease;
}
.fc:hover .fc-car-img {
  transform: scale(1.04);
}
.fc-img {
  overflow: hidden;
  height: 140px;
}

/* Flotte 3 colonnes (Classe Affaire supprimée) */
.fleet-grid {
  grid-template-columns: repeat(3, 1fr) !important;
}

@media(max-width:768px) {
  .fleet-grid {
    grid-template-columns: 1fr !important;
  }
}
@media(max-width:1024px) and (min-width:769px) {
  .fleet-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1.2rem;
  }
}

/* ══════════════════════════════════════════
   PAGES VÉHICULE — vehicle-layout.php
══════════════════════════════════════════ */

/* Hero */
.vp-hero {
  background: linear-gradient(135deg, var(--bg2), var(--bg3));
  border-bottom: 1px solid var(--bd);
  padding: 8rem 0 3rem;
  text-align: center;
}
.vp-hero h1 { margin: .4rem 0 .8rem; }
.vp-breadcrumb {
  display: flex; gap: .5rem; align-items: center;
  justify-content: center; flex-wrap: wrap;
  font-size: .78rem; color: var(--tx3);
}
.vp-breadcrumb a { color: var(--tx2); text-decoration: none; transition: color var(--t); }
.vp-breadcrumb a:hover { color: var(--gold); }
.vp-breadcrumb span:not(.vp-breadcrumb a+span) { color: var(--tx3); font-size: .7rem; }

/* Layout 2 colonnes */
.vp-main { padding: 4.5rem 0 6rem; }
.vp-grid {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 3rem;
  align-items: start;
}

/* Image véhicule */
.vp-img-wrap {
  position: relative;
  border-radius: 4px;
  overflow: hidden;
  border: 1px solid var(--bd2);
  margin-bottom: 2.5rem;
  background: var(--bg3);
}
.vp-img {
  width: 100%; height: 300px;
  object-fit: cover; display: block;
  transition: transform .5s ease;
}
.vp-img-wrap:hover .vp-img { transform: scale(1.03); }
.vp-img-placeholder {
  height: 300px; display: flex; align-items: center; justify-content: center;
  font-size: 5rem;
  background: radial-gradient(circle at center, rgba(191,155,48,.07), transparent 70%);
}
.vp-badge {
  position: absolute; top: 1rem; right: 1rem;
  background: linear-gradient(135deg, var(--gold-dk), var(--gold));
  color: #050503;
  font-family: var(--fh); font-weight: 700; font-size: .48rem;
  letter-spacing: 2.5px; text-transform: uppercase;
  padding: .34rem .9rem; border-radius: 20px;
  box-shadow: 0 4px 18px rgba(var(--gold-rgb), .5);
}

/* Description */
.vp-desc { margin-bottom: 2rem; }
.vp-desc h2 {
  font-size: 1.15rem; margin-bottom: .75rem;
  padding-bottom: .65rem;
  border-bottom: 1px solid var(--bd);
}
.vp-desc h2::after {
  content: '';
  display: block; width: 32px; height: 2px;
  background: var(--gold); margin-top: .5rem;
}
.vp-desc p { color: var(--tx2); line-height: 1.8; font-size: .92rem; }

/* Modèles */
.vp-models-wrap { margin-bottom: 2rem; }
.vp-section-title {
  font-size: .52rem; letter-spacing: 3px; text-transform: uppercase;
  color: var(--tx3); font-weight: 700; margin-bottom: .85rem;
}
.vp-models-list { display: flex; flex-wrap: wrap; gap: .5rem; }
.vp-model-tag {
  background: var(--bg3); border: 1px solid var(--bd2);
  border-radius: 20px; padding: .3rem .9rem;
  font-size: .78rem; color: var(--tx2);
  transition: all var(--t);
}
.vp-model-tag:hover { border-color: var(--gold); color: var(--gold); }

/* Onglets */
.vp-tabs-wrap { margin-top: 2rem; }
.vp-tabs {
  display: flex; gap: .4rem; flex-wrap: wrap;
  border-bottom: 1px solid var(--bd);
  margin-bottom: 1.5rem; padding-bottom: .4rem;
}
.vtab {
  font-family: var(--fh); font-weight: 600; font-size: .5rem;
  letter-spacing: 1.5px; text-transform: uppercase;
  padding: .52rem 1.1rem; border-radius: var(--r) var(--r) 0 0;
  border: 1px solid transparent; color: var(--tx3);
  background: transparent; transition: all var(--t); cursor: pointer;
}
.vtab.on {
  color: var(--gold); border-color: var(--bd);
  border-bottom-color: var(--bg);
  background: var(--bg);
}
.vtab:hover:not(.on) { color: var(--tx); }
.vtab-pnl { display: none; }
.vtab-pnl.on { display: block; }

/* Table spécifications */
.vp-table {
  width: 100%; border-collapse: collapse;
  background: var(--bg2); border-radius: var(--r); overflow: hidden;
  border: 1px solid var(--bd);
}
.vp-table tr { border-bottom: 1px solid var(--bd); }
.vp-table tr:last-child { border-bottom: none; }
.vp-table tr:hover td { background: rgba(var(--gold-rgb), .04); }
.vp-table td {
  padding: .72rem 1rem; font-size: .82rem;
  border-right: 1px solid var(--bd); width: 33.33%;
}
.vp-table td:last-child { border-right: none; }
.spec-lbl { color: var(--tx2); display: block; font-size: .75rem; }
.spec-val { color: var(--tx); font-weight: 500; font-size: .82rem; }

/* Extras */
.vp-extras-list { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
.vp-extra-item {
  display: flex; align-items: center; gap: .6rem;
  background: var(--bg2); border: 1px solid var(--bd);
  border-radius: var(--r); padding: .65rem .9rem;
  font-size: .82rem; color: var(--tx2);
  transition: all var(--t);
}
.vp-extra-item:hover { border-color: rgba(var(--gold-rgb), .3); color: var(--tx); }
.vp-extra-ck {
  color: var(--gold); font-weight: 700; font-size: .7rem; flex-shrink: 0;
}

/* Info block */
.vp-info-block {
  background: var(--bg2); border: 1px solid var(--bd);
  border-radius: var(--r); padding: 1.5rem;
}
.vp-info-block p {
  font-size: .84rem; color: var(--tx2);
  padding: .5rem 0; border-bottom: 1px solid var(--bd);
  line-height: 1.7;
}
.vp-info-block p:last-child { border-bottom: none; }
.vp-info-block strong { color: var(--tx); }

/* ── COLONNE DROITE ── */
.vp-right { position: sticky; top: 100px; }

.vp-booking-card {
  background: var(--bg2);
  border: 1px solid rgba(191,155,48,.22);
  border-top: 2px solid var(--gold);
  border-radius: 4px;
  padding: 1.6rem;
  box-shadow: 0 16px 50px rgba(0,0,0,.4);
  margin-bottom: 1.5rem;
}
html[data-theme="light"] .vp-booking-card { box-shadow: 0 8px 30px rgba(0,0,0,.1); }

.vp-booking-head { margin-bottom: 1.2rem; }
.vp-booking-head h3 { font-size: .95rem; margin-bottom: .2rem; }
.vp-booking-head p { font-size: .74rem; color: var(--tx3); }

.vp-svc-tabs {
  display: flex; gap: .35rem; flex-wrap: wrap; margin-bottom: 1.1rem;
}
.vstab {
  font-family: var(--fh); font-weight: 600; font-size: .47rem;
  letter-spacing: 1.5px; text-transform: uppercase;
  padding: .4rem .82rem; border-radius: var(--r);
  border: 1px solid rgba(var(--gold-rgb), .18);
  background: var(--bg3); color: var(--tx3);
  transition: all var(--t); cursor: pointer; flex: 1;
  text-align: center;
}
.vstab.on {
  background: linear-gradient(135deg, var(--gold-dk), var(--gold));
  border-color: var(--gold); color: #050503;
}
.vstab:hover:not(.on) { border-color: rgba(var(--gold-rgb),.35); color: var(--tx2); }

.vp-form-field { margin-bottom: .75rem; }
.vp-row-2 { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; }

.vp-form-ok {
  text-align: center; padding: 1.5rem;
  font-family: var(--fh);
}
.vp-form-ok strong { color: var(--tx); font-size: 1rem; display: block; margin-bottom: .4rem; }
.vp-form-ok p { color: var(--tx2); font-size: .82rem; }

/* Contact rapide */
.vp-quick-contact {
  display: grid; grid-template-columns: 1fr 1fr; gap: .55rem;
  margin-top: 1rem; padding-top: 1rem;
  border-top: 1px solid var(--bd);
}
.vp-qc-btn {
  display: flex; align-items: center; justify-content: center; gap: .4rem;
  padding: .55rem .7rem; border-radius: var(--r);
  border: 1px solid var(--bd2); background: var(--bg3);
  color: var(--tx2); font-family: var(--fh); font-weight: 700;
  font-size: .5rem; letter-spacing: 1px; text-transform: uppercase;
  transition: all var(--t); text-decoration: none;
}
.vp-qc-btn:hover { border-color: var(--gold); color: var(--gold); }
.vp-wa:hover { background: #25D366; border-color: #25D366; color: #fff; }

/* Tarification */
.vp-pricing-card {
  background: var(--bg2); border: 1px solid var(--bd);
  border-radius: 4px; padding: 1.4rem; overflow: hidden;
}
.vp-pricing-card h3 {
  font-size: .52rem; letter-spacing: 3px; text-transform: uppercase;
  color: var(--tx3); font-weight: 700; margin-bottom: 1rem;
  padding-bottom: .65rem; border-bottom: 1px solid var(--bd);
}
.vp-pricing-row {
  display: flex; justify-content: space-between; align-items: flex-start;
  gap: 1rem; padding: .85rem 0;
  border-bottom: 1px solid var(--bd); transition: background var(--t);
}
.vp-pricing-row:last-child { border-bottom: none; }
.vp-pricing-row:hover { background: rgba(var(--gold-rgb),.04); margin: 0 -.8rem; padding: .85rem .8rem; }
.vp-pr-left { flex: 1; }
.vp-pr-label { font-family: var(--fh); font-weight: 700; font-size: .8rem; color: var(--tx); display: block; margin-bottom: .18rem; }
.vp-pr-desc { font-size: .72rem; color: var(--tx2); display: block; margin-bottom: .1rem; }
.vp-pr-note { font-size: .65rem; color: var(--tx3); display: block; font-style: italic; }
.vp-pr-price { font-family: var(--fh); font-weight: 900; font-size: 1.05rem; color: var(--gold); flex-shrink: 0; white-space: nowrap; }

/* CTA bas */
.vp-cta {
  text-align: center; margin-top: 4.5rem;
  padding: 3.5rem 2rem;
  background: linear-gradient(135deg, var(--bg3), var(--bg2));
  border: 1px solid var(--bd); border-radius: 4px;
  position: relative; overflow: hidden;
}
.vp-cta::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse 60% 80% at 50% 0%, rgba(var(--gold-rgb),.06), transparent);
  pointer-events: none;
}
.vp-cta h2 { font-size: 1.5rem; position: relative; margin-bottom: .6rem; }
.vp-cta p { color: var(--tx2); position: relative; font-family: var(--fi); font-style: italic; }

/* Responsive */
@media(max-width:900px) {
  .vp-grid { grid-template-columns: 1fr; }
  .vp-right { position: static; }
  .vp-img { height: 220px; }
  .vp-img-placeholder { height: 220px; }
  .vp-main { padding: 2.5rem 0 4rem; }
}
@media(max-width:600px) {
  .vp-grid { display: block; }
  .vp-left { width: 100%; overflow: hidden; }
  .vp-right { width: 100%; margin-top: 2rem; }
  .vp-extras-list { grid-template-columns: 1fr; }
  .vp-quick-contact { grid-template-columns: 1fr; }
  .vp-table td { padding: .55rem .7rem; }
  .vp-row-2 { grid-template-columns: 1fr; }
  .vp-main { padding: 2rem 0 3rem; }
  .vp-booking-card { padding: 1.2rem; }
  .hform-card { padding: 1.2rem; }
  .hf-tabs { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .hft { flex: 0 0 auto; }
  .vp-img { height: 180px; }
  .vp-img-placeholder { height: 180px; font-size: 3.5rem; }
  .vp-tabs { flex-wrap: wrap; gap: .4rem; }
  .vtab { font-size: .42rem; padding: .5rem .75rem; }
  .vp-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .vp-pricing-row { flex-wrap: wrap; }
  .vp-pr-price { width: 100%; text-align: left; margin-top: .3rem; }
}

/* ── LOGO PNG — FOND TRANSPARENT ── */
.logo {
  display: flex;
  align-items: center;
  gap: .65rem;
  text-decoration: none;
  flex-shrink: 0;
}
.logo-img {
  width: 160px;
  height: auto;
  max-height: 56px;
  object-fit: contain;
  display: block;
  flex-shrink: 0;
  transition: opacity var(--t);
  /* Le logo PNG a fond transparent — visible en dark par défaut (or/rouge sur fond sombre) */
}
html[data-theme="light"] .logo-img {
  /* En mode clair : assombrir légèrement l'or pour contraste sur fond clair */
  filter: brightness(.75) saturate(1.2);
}
.logo:hover .logo-img { opacity: .82; }

/* Footer logo */
.footer-logo-img { width: 100px; height: auto; max-height: 40px; object-fit: contain; opacity: .88; }
html[data-theme="light"] .footer-logo-img { filter: brightness(.75) saturate(1.2); }

/* Header sticky : logo réduit */
#hdr.stuck .logo-img { max-height: 42px; width: 130px; }

/* ── PLACEHOLDER VÉHICULE SANS IMAGE ── */
.fc-no-img {
  width: 100%;
  height: 140px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(circle at center, rgba(191,155,48,.07), transparent 70%);
}
.fc-no-img svg {
  width: 70%;
  max-width: 200px;
  opacity: .65;
  transition: opacity var(--t);
}
.fc:hover .fc-no-img svg { opacity: .9; }

/* ── PLACEHOLDER HERO CARD SANS IMAGE ── */
.hc-no-img {
  width: 100%;
  height: 90px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(circle at center, rgba(191,155,48,.06), transparent 70%);
  margin-bottom: .75rem;
  border-radius: 3px;
}
.hc-no-img svg {
  width: 75%;
  max-width: 260px;
  opacity: .6;
}

/* ── LOGO SOUS-TITRE ── */
.logo-sub {
  font-family: var(--fb);
  font-weight: 300;
  font-size: .48rem;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--gold);
  line-height: 1;
  white-space: nowrap;
}

/* Mobile logo */
@media(max-width:480px) {
  .logo-img { width: 120px; max-height: 44px; }
  #hdr.stuck .logo-img { width: 100px; max-height: 36px; }
}


/* ── .hi barre principale header ── */
.hi{display:flex;align-items:center;justify-content:space-between;max-width:1156px;margin:0 auto;padding:.85rem 2rem;gap:1.2rem}
#hdr.stuck .hi{padding:.65rem 2rem}
html[data-theme="light"] .hi{}


/* ══ LIGHT MODE COMPLET ══ */
html[data-theme="light"] .hdr-top{background:rgba(248,245,238,.95);border-bottom:1px solid rgba(var(--gold-rgb),.18)}
html[data-theme="light"] .hdr-services span{color:var(--tx2)}
html[data-theme="light"] .snav a{color:var(--tx2)}
html[data-theme="light"] .snav a:hover,html[data-theme="light"] .snav a.on{color:var(--gold);background:rgba(var(--gold-rgb),.1)}
html[data-theme="light"] #btn-th{background:#e8e1d4;border-color:rgba(var(--gold-rgb),.3)}
html[data-theme="light"] .hform-card{background:#fff!important;box-shadow:0 8px 32px rgba(0,0,0,.1)}
html[data-theme="light"] .hfm-item{background:rgba(var(--gold-rgb),.07)}
html[data-theme="light"] .hft:not(.on){background:#f0ebe0;color:var(--tx2)}
html[data-theme="light"] .inp{background:#fff!important;border-color:rgba(var(--gold-rgb),.22)!important;color:var(--tx)!important}
html[data-theme="light"] .svc-card{background:#fff;box-shadow:0 2px 16px rgba(0,0,0,.06)}
html[data-theme="light"] .sc-ico{background:rgba(var(--gold-rgb),.1)}
html[data-theme="light"] .fc{background:#fff;box-shadow:0 2px 16px rgba(0,0,0,.06)}
html[data-theme="light"] .fc-img{background:linear-gradient(135deg,#f0ebe0,#e8e1d4)}
html[data-theme="light"] .tarif-table{background:#fff;box-shadow:0 2px 16px rgba(0,0,0,.06)}
html[data-theme="light"] .tarif-table thead tr{background:#f0ebe0}
html[data-theme="light"] .tcard{background:#fff;box-shadow:0 2px 16px rgba(0,0,0,.06)}
html[data-theme="light"] .bk-wrap{background:#fff!important}
html[data-theme="light"] .bk-steps{background:#f0ebe0}
html[data-theme="light"] .vcard,html[data-theme="light"] .ext,html[data-theme="light"] .psum,html[data-theme="light"] .pay-opt{background:#f0ebe0!important}
html[data-theme="light"] .ct-form-wrap{background:#fff!important}
html[data-theme="light"] .ci-ico{background:rgba(var(--gold-rgb),.1)}
html[data-theme="light"] .site-footer{background:#0f0f0c!important}
html[data-theme="light"] .site-footer ul li a{color:#9a9282}
html[data-theme="light"] .site-footer ul li a:hover{color:var(--gold)}


/* ══════════════════════════════════════════════════
   RESPONSIVE v5.2 — TABLET + MOBILE UNIQUEMENT
   Desktop (>768px) : 100% INCHANGÉ
   Tablet  (≤768px) : même breakpoint que le menu hamburger
   Mobile  (≤480px) : même breakpoint que .wrap padding
══════════════════════════════════════════════════ */

/* ─── Classes de base (toutes tailles — desktop inclus) ─── */
.rsv-trust    { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; text-align:center; }
.svc-cta-grid { display:grid; grid-template-columns:1fr 1fr; gap:.8rem; }
.vp-table-wrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; border-radius:4px; }

/* Nouvelles sections front-page — DESKTOP = inchangé */
.fp-about-grid  { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; max-width:1100px; margin:0 auto; padding:0 2rem; }
.fp-about-stats { display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; }
.fp-tarifs-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.fp-avis-grid   { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.fp-contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:start; }

/* tp-desktop / tp-mobile / tpc-* : définis dans template-tarifs.php <style> */
/* Desktop : tableau visible, cartes cachées */
.tp-desktop { display:block; }
.tp-mobile  { display:none !important; }


/* ═══════════════════════════════════════════
   TABLETTE ≤ 768px  (même seuil que le menu)
═══════════════════════════════════════════ */
@media(max-width:768px){

  /* ── Nouvelles sections accueil ── */
  .fp-about-grid  { grid-template-columns:1fr; gap:2rem; padding:0 1.2rem; }
  .fp-tarifs-grid { grid-template-columns:1fr 1fr; gap:1rem; }
  .fp-avis-grid   { grid-template-columns:1fr; gap:1rem; }
  .fp-contact-grid{ grid-template-columns:1fr; gap:1.5rem; }

  /* ── Page tarifs : tableau → cartes 2 colonnes ── */
  .tp-desktop { display:none !important; }
  .tp-mobile  { display:block; }
  .tp-cards   { flex-direction:row; flex-wrap:wrap; max-width:100%; gap:1rem; }
  .tpc-card   { flex:1 1 calc(50% - .5rem); min-width:220px; }

  /* ── Page réservation : trust 4→2 ── */
  .rsv-trust  { grid-template-columns:1fr 1fr; gap:1rem; }

  /* ── Page services : sidebar → dessous ── */
  .svc-page-grid  { grid-template-columns:1fr; }
  .svc-page-right { position:static; margin-top:2rem; }
}


/* ═══════════════════════════════════════════
   MOBILE ≤ 480px  (même seuil que .wrap)
═══════════════════════════════════════════ */
@media(max-width:480px){

  /* ── Nouvelles sections accueil ── */
  .fp-about-grid  { grid-template-columns:1fr; gap:1.5rem; padding:0 1rem; }
  .fp-about-stats { grid-template-columns:1fr 1fr; gap:.6rem; }
  .fp-tarifs-grid { grid-template-columns:1fr; gap:.85rem; }
  .fp-avis-grid   { grid-template-columns:1fr; }
  .fp-contact-grid{ grid-template-columns:1fr; gap:1rem; padding:0 1rem; }

  /* ── Page tarifs : cartes 1 colonne ── */
  .tp-cards { flex-direction:column; gap:.85rem; }
  .tpc-card { flex:none; width:100%; }
  .tpc-ico  { font-size:1.6rem; }
  .tpc-name { font-size:.95rem; }

  /* ── Page réservation : trust 2×2 compact ── */
  .rsv-trust { grid-template-columns:1fr 1fr; gap:.6rem; }

  /* ── Page services ── */
  .svc-cta-grid { grid-template-columns:1fr; }

  /* ── Page véhicule ── */
  .vp-extras-list   { grid-template-columns:1fr; }
  .vp-quick-contact { grid-template-columns:1fr; }
  .vp-row-2         { grid-template-columns:1fr; }
  .vp-table         { min-width:0; width:100%; }
  .vp-table-wrap    { overflow-x:auto; -webkit-overflow-scrolling:touch; }
}

/* ═══════════════════════════════════════════════════════════
   HERO BOOKING FORM — Formulaire actif multi-onglets
   (front-page.php)
═══════════════════════════════════════════════════════════ */

/* Onglets */
.hf-tabs{display:flex;gap:4px;background:rgba(0,0,0,.25);border:1px solid var(--bd);border-radius:5px;padding:4px;margin-bottom:1.2rem}
.hft{flex:1;padding:.5rem .25rem;font-family:var(--fh);font-size:.47rem;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--tx2);background:none;border:none;border-radius:3px;cursor:pointer;transition:all .2s}
.hft.on{background:var(--gold);color:var(--bg)}
.hft:not(.on):hover{color:var(--gold-lt);background:rgba(191,155,48,.1)}

/* Formulaires */
.hf-form{}
.hf-field{display:flex;flex-direction:column;gap:.45rem;margin-bottom:.9rem}
.hf-field label{font-family:var(--fh);font-size:.46rem;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:rgba(240,237,227,.45)}
.hf-req{color:var(--gold)}
.hf-row2{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-bottom:.9rem}
@media(max-width:420px){.hf-row2{grid-template-columns:1fr}}

/* Sélecteurs heure */
.hf-time-row{display:flex;align-items:center;gap:.4rem}
.hf-time-row .hf-sel-wrap,.hf-sel-wrap{position:relative;flex:1}
.hf-sel-wrap select,.hf-sel-wrap .inp{width:100%;padding-right:1.6rem;appearance:none;-webkit-appearance:none;cursor:pointer}
.hf-sel-wrap::after{content:'▾';position:absolute;right:8px;top:50%;transform:translateY(-50%);color:var(--gold);pointer-events:none;font-size:11px}
.hf-tsep{color:var(--gold);font-weight:700;font-size:1.1rem;flex-shrink:0}

/* CTA */
.hf-btn{width:100%;justify-content:center;font-size:.56rem;padding:.95rem;margin-top:.25rem}

/* Tel rapide */
.hf-tel{text-align:center;margin-top:.85rem;font-size:.72rem;color:var(--tx2)}
.hf-tel a{color:var(--gold);font-family:var(--fh);font-weight:700}

/* jQuery UI datepicker override — design NDF VTC */
.ui-datepicker{background:var(--bg3) !important;border:1px solid var(--bd2) !important;border-radius:4px !important;font-family:var(--fb) !important;font-size:.82rem !important;box-shadow:0 16px 40px rgba(0,0,0,.5) !important;z-index:99999 !important}
.ui-datepicker-header{background:var(--bg4) !important;border:none !important;border-bottom:1px solid var(--bd) !important;border-radius:4px 4px 0 0 !important;padding:.5rem !important}
.ui-datepicker-title{color:var(--tx) !important;font-family:var(--fh) !important;font-weight:700 !important;font-size:.75rem !important;letter-spacing:.5px}
.ui-datepicker-prev,.ui-datepicker-next{top:.4rem !important;cursor:pointer}
.ui-datepicker-prev:hover,.ui-datepicker-next:hover{background:rgba(191,155,48,.15) !important;border-color:var(--gold) !important;border-radius:3px !important}
.ui-datepicker-calendar th{color:var(--tx3) !important;font-family:var(--fh) !important;font-size:.5rem !important;letter-spacing:.5px !important;font-weight:700 !important;padding:.4rem !important}
.ui-datepicker-calendar td a,.ui-datepicker-calendar td span{color:var(--tx2) !important;background:transparent !important;border:none !important;border-radius:3px !important;padding:.3rem .4rem !important;transition:.15s !important}
.ui-datepicker-calendar td a:hover{background:rgba(191,155,48,.15) !important;color:var(--gold) !important}
.ui-datepicker-calendar .ui-datepicker-today a{border:1px solid var(--bd2) !important;color:var(--tx) !important}
.ui-datepicker-calendar .ui-state-active,.ui-datepicker-calendar .ui-state-highlight{background:var(--gold) !important;color:var(--bg) !important;border-radius:3px !important}
.ui-datepicker-calendar .ui-datepicker-other-month a{opacity:.3}


/* ══ CONTACT FORM 7 — Style NDF VTC ══════════════════════════════════════════ */
.wpcf7-form { display: flex; flex-direction: column; gap: .9rem; }
.wpcf7-form p { margin: 0; }
.wpcf7-form label { display: block; font-family: var(--fh); font-weight: 700; font-size: .72rem; letter-spacing: .5px; text-transform: uppercase; color: var(--tx3); margin-bottom: .35rem; }
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form select,
.wpcf7-form textarea {
  width: 100%;
  background: var(--bg3);
  border: 1px solid var(--bd);
  border-radius: var(--r);
  padding: .75rem .95rem;
  color: var(--tx);
  font-family: var(--fb);
  font-size: .875rem;
  outline: none;
  transition: border-color .3s, box-shadow .3s;
  appearance: none;
}
.wpcf7-form input:focus,
.wpcf7-form textarea:focus,
.wpcf7-form select:focus {
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(var(--gold-rgb),.12);
}
.wpcf7-form textarea { resize: vertical; min-height: 130px; }
.wpcf7-form input[type="submit"] {
  width: 100%;
  background: linear-gradient(135deg, var(--gold-dk) 0%, var(--gold) 50%, var(--gold-lt) 100%);
  color: #050503;
  border: 1px solid var(--gold);
  border-radius: var(--r);
  padding: .9rem 2rem;
  font-family: var(--fh);
  font-weight: 700;
  font-size: .54rem;
  letter-spacing: 3px;
  text-transform: uppercase;
  cursor: pointer;
  transition: all var(--t);
  margin-top: .5rem;
}
.wpcf7-form input[type="submit"]:hover {
  background: linear-gradient(135deg, var(--gold) 0%, var(--gold-lt) 100%);
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(var(--gold-rgb),.4);
}
.wpcf7-response-output {
  border-radius: var(--r) !important;
  padding: .75rem 1rem !important;
  font-size: .82rem !important;
  margin: .5rem 0 0 !important;
}
.wpcf7-mail-sent-ok { background: rgba(39,174,96,.1) !important; border-color: rgba(39,174,96,.4) !important; color: #27ae60 !important; }
.wpcf7-mail-sent-ng,
.wpcf7-aborted,
.wpcf7-spam-blocked { background: rgba(220,53,69,.08) !important; border-color: rgba(220,53,69,.3) !important; color: #e74c3c !important; }
.wpcf7-not-valid-tip { color: #e74c3c; font-size: .75rem; margin-top: .25rem; display: block; }
.wpcf7-not-valid { border-color: #e74c3c !important; }

/* Light theme CF7 */
html[data-theme="light"] .wpcf7-form input[type="text"],
html[data-theme="light"] .wpcf7-form input[type="email"],
html[data-theme="light"] .wpcf7-form input[type="tel"],
html[data-theme="light"] .wpcf7-form textarea,
html[data-theme="light"] .wpcf7-form select { background: #fff; border-color: rgba(var(--gold-rgb),.25); }

/* ══ HOMEPAGE CONTACT FORM CARD ══════════════════════════════════════════════ */
.fp-contact-form-card {
  background: var(--bg2);
  border: 1px solid var(--bd);
  border-top: 3px solid var(--gold);
  border-radius: var(--r);
  padding: 2rem;
}
.fp-contact-form-title { font-family: var(--fh); font-size: 1.1rem; font-weight: 800; margin-bottom: .3rem; }
.fp-contact-form-sub   { font-size: .78rem; color: var(--tx3); margin-bottom: 1.5rem; }
.fp-ct-field { margin-bottom: .85rem; }
.fp-ct-btn   { width: 100%; justify-content: center; margin-top: .5rem; }
.fp-ct-success {
  text-align: center; padding: 1.5rem;
  background: rgba(39,174,96,.08);
  border: 1px solid rgba(39,174,96,.25);
  border-radius: var(--r);
}
.fp-ct-success span { font-size: 2rem; display: block; margin-bottom: .5rem; }
.fp-ct-success strong { font-family: var(--fh); font-size: 1rem; display: block; margin-bottom: .3rem; }
.fp-ct-success p { font-size: .8rem; color: var(--tx2); margin: 0; }
html[data-theme="light"] .fp-contact-form-card { background: #fff; box-shadow: 0 8px 30px rgba(0,0,0,.08); }

/* ══ PAGE CONTACT — card form ════════════════════════════════════════════════ */
.ct-form-card .wpcf7-form { gap: .8rem; }

/* ── Tarifs — Sur devis badge ── */
.tp-price-devis {
  font-family: var(--fh);
  font-weight: 700;
  font-size: .82rem;
  color: var(--gold);
  letter-spacing: .5px;
}

/* ══ RESPONSIVE COMPLET — iPhone 11/12/13/14 + Android + Tablettes ══════════ */

/* ── Input font-size fix iOS (prevent auto-zoom on focus) ── */
input[type="text"], input[type="email"], input[type="tel"],
input[type="date"], input[type="number"], select, textarea {
  font-size: 16px;
}

/* ── Booking wrap full-width on mobile ── */
@media(max-width:768px) {
  .bk-wrap { border-radius: 0; border-left: none; border-right: none; margin: 0; }
  #hdr.stuck .hi { padding: .5rem 1rem; }
}

/* ── iPhone 11 (414px) + iPhone 12/13/14 (390px) ── */
@media(max-width:430px) {
  .wrap { padding: 0 .85rem; }
  h1 { font-size: 1.7rem; }
  h2 { font-size: 1.35rem; }

  /* Header */
  .hi { padding: .75rem 1rem; }
  .logo-img { width: 100px; max-height: 38px; }
  #btn-th { width: 28px; height: 28px; }

  /* Hero form tabs */
  .hf-tabs { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; gap: 0; }
  .hft { flex: 0 0 auto; min-width: 70px; font-size: .38rem; padding: .6rem .5rem; white-space: nowrap; }
  .hform-card { padding: 1.2rem 1rem; }
  .hf-row2 { grid-template-columns: 1fr; gap: .75rem; }

  /* Fleet mini hero */
  .hero-fleet-mini { gap: .25rem; }
  .hfm-item { min-width: 100%; max-width: 100%; }
  .hfm-pr { font-size: .7rem; }

  /* Fleet cards */
  .fleet-grid { grid-template-columns: 1fr; gap: 1rem; }
  .fc { border-radius: 6px; }

  /* Stats */
  .hstats { gap: .75rem; }
  .sv { font-size: 1.3rem; }

  /* Booking steps */
  .bk-steps { padding: .5rem .75rem; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .bk-step .sl2 { display: none; }
  .bk-sep { margin: 0 .2rem; flex: 0 0 15px; }

  /* Vehicle cards in booking */
  .ndfvtc-vehicle-card { flex-direction: column; }
  .ndfvtc-vehicle-img { width: 100%; height: 150px; }

  /* Tarifs */
  .tp-table { font-size: .75rem; }
  .tp-price em { font-size: 1.1rem; }

  /* Services grid */
  .svc-grid { grid-template-columns: 1fr; }
  .svc-card { padding: 1.2rem; }

  /* Contact grid */
  .ct-contact-grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .ct-form-row { grid-template-columns: 1fr; }
}

/* ── iPhone SE / très petits (≤ 375px) ── */
@media(max-width:375px) {
  .wrap { padding: 0 .75rem; }
  h1 { font-size: 1.55rem; }
  .hft { min-width: 60px; font-size: .35rem; }
  .bk-step .sn { width: 22px; height: 22px; font-size: .55rem; }
}

/* ── Tablette portrait (481px – 768px) ── */
@media(min-width:481px) and (max-width:768px) {
  .fleet-grid { grid-template-columns: repeat(2, 1fr); }
  .svc-grid { grid-template-columns: repeat(2, 1fr); }
  .ct-form-row { grid-template-columns: 1fr 1fr; }
  .hfm-item { flex: 1; min-width: 100px; max-width: 160px; }
}

/* ── Date input natif iOS dark mode ── */
input[type="date"] {
  color-scheme: dark;
  -webkit-appearance: none;
  background: var(--bg3, #1a1a16);
  border: 1px solid rgba(191,155,48,.2);
  border-radius: 4px;
  color: var(--tx, #F0EDE3);
  padding: .75rem .95rem;
  width: 100%;
}
input[type="date"]:focus {
  outline: none;
  border-color: var(--gold, #BF9B30);
  box-shadow: 0 0 0 3px rgba(191,155,48,.12);
}
/* Light theme */
html[data-theme="light"] input[type="date"] {
  background: #fff;
  color: #18160E;
  border-color: rgba(168,134,58,.25);
}

/* ══ PAGE SERVICES — layout complet ══════════════════════════════════════════ */
/* Base desktop */
.svc-page-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 4rem;
  align-items: start;
}
.svc-page-right { position: sticky; top: 100px; }
.rg-2 { grid-template-columns: repeat(2, 1fr) !important; }

/* Tablette ≤ 900px */
@media(max-width: 900px) {
  .svc-page-grid {
    display: block !important;
  }
  .svc-page-right {
    position: static !important;
    margin-top: 2rem;
  }
  .rg-2 { grid-template-columns: repeat(2, 1fr) !important; }
}

/* Mobile ≤ 600px */
@media(max-width: 600px) {
  .svc-page-grid {
    display: block !important;
  }
  .svc-page-right {
    position: static !important;
    margin-top: 1.5rem;
  }
  .rg-2 { grid-template-columns: 1fr !important; }
  .svc-cta-grid { grid-template-columns: 1fr !important; }
}

/* Vehicle hero mobile fix */
@media(max-width:480px){
  .vp-hero { padding: 2.5rem 0 1.5rem; }
  .vp-hero h1 { font-size: 1.8rem; }
  .vp-breadcrumb { flex-wrap: wrap; gap: .3rem; }
}
