/* ===== EAZYFLEET DESIGN SYSTEM ===== */
/* Self-hosted fonts — Manrope = body, Inter Tight = headings (subset: Latin + punctuation + € + ∞) */
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/manrope-400.woff2') format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/manrope-500.woff2') format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/manrope-600.woff2') format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/manrope-700.woff2') format('woff2')}
@font-face{font-family:'Inter Tight';font-style:normal;font-weight:300;font-display:swap;src:url('/assets/fonts/intertight-300.woff2') format('woff2')}
@font-face{font-family:'Inter Tight';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/intertight-400.woff2') format('woff2')}
@font-face{font-family:'Inter Tight';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/intertight-500.woff2') format('woff2')}
@font-face{font-family:'Inter Tight';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/intertight-600.woff2') format('woff2')}
@font-face{font-family:'Inter Tight';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/intertight-700.woff2') format('woff2')}
@font-face{font-family:'Inter Tight';font-style:normal;font-weight:800;font-display:swap;src:url('/assets/fonts/intertight-800.woff2') format('woff2')}
:root{
  --blue:#89b4e3;
  --blue-deep:#5f93cf;
  --blue-soft:#dce9f7;
  --black:#040403;
  --charcoal:#1c1c1c;
  --gray:#5f5e5a;
  --gray-text:#727272;
  --light:#f6f6f4;
  --line:#e7e6e1;
  --white:#fff;
  --radius:20px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Manrope',system-ui,-apple-system,sans-serif;background:var(--white);color:var(--black);-webkit-font-smoothing:antialiased;line-height:1.55}
h1,h2,h3,h4,h5,.head{font-family:'Inter Tight',sans-serif}
.mono{font-family:'Inter Tight',sans-serif;text-transform:uppercase;letter-spacing:.2em;font-size:16px;font-weight:500;color:var(--gray-text)}
.wrap{max-width:1240px;margin:0 auto;padding:0 28px}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.btn{display:inline-flex;align-items:center;gap:9px;font-family:'Inter Tight',sans-serif;font-weight:600;font-size:15px;padding:14px 26px;border-radius:0;border:1px solid transparent;cursor:pointer;transition:.18s;white-space:nowrap}
.btn svg{flex:none;transition:transform .2s}
.btn-primary{background:var(--black);color:var(--white)}
.btn-primary:hover{background:var(--blue);color:var(--black)}
.btn-primary:hover svg{transform:translateX(3px)}
.btn-ghost{background:transparent;color:var(--black);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--black)}
.btn-blue{background:var(--blue);color:var(--black)}
.btn-blue:hover{background:var(--blue-deep)}
.btn-lg{padding:16px 30px;font-size:16px}

/* reveal */
.rv{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.07s}.rv.d2{transition-delay:.14s}.rv.d3{transition-delay:.21s}.rv.d4{transition-delay:.28s}

/* LOGO */
.nav-beratung{display:none}
.logo-mark{display:inline-flex;align-items:center;line-height:0}
.logo-mark img{height:26px;width:auto;display:block}
footer .logo-mark img{height:30px}

/* NAV */
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.85);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:74px}
.nav-links{display:flex;gap:34px;align-items:center}
.nav-links a{font-family:'Inter Tight',sans-serif;font-size:15px;font-weight:500;color:var(--charcoal);position:relative}
.nav-links a:after{content:"";position:absolute;left:0;bottom:-5px;height:2px;width:0;background:var(--blue-deep);transition:.22s}
.nav-links a:hover:after,.nav-links a.active:after{width:100%}
.nav-links a.active{color:var(--blue-deep)}
.nav-cta{display:flex;gap:12px;align-items:center}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px}
.burger span{width:22px;height:2px;background:var(--black);transition:.2s}

/* FLOATING CAR STAGE (shared) */
.stage{position:relative;overflow:hidden;background:linear-gradient(165deg,#9ec1e8 0%,var(--blue) 60%,#7aa6da 100%)}
.stage:before{content:"";position:absolute;inset:0;background:radial-gradient(115% 78% at 50% 20%,rgba(255,255,255,.34),rgba(255,255,255,0) 58%)}
.stage .ground{position:absolute;left:50%;bottom:14%;width:72%;height:26px;background:radial-gradient(ellipse,rgba(8,18,38,.42),rgba(8,18,38,0) 70%);transform:translateX(-50%);filter:blur(3px);transition:.45s;z-index:1}
.stage img{position:absolute;left:50%;top:52%;width:92%;transform:translate(-50%,-50%);filter:drop-shadow(0 26px 18px rgba(8,18,38,.34));transition:transform .5s cubic-bezier(.2,.7,.2,1);z-index:2}

/* HERO */
.hero{position:relative;overflow:hidden;padding:60px 0 40px;background:radial-gradient(85% 135% at 80% 46%,#e4eaf2 0%,#edf1f6 46%,#ffffff 76%)}
.hero:before{content:"";position:absolute;top:-280px;right:-180px;width:760px;height:760px;border-radius:50%;background:radial-gradient(circle,rgba(137,180,227,.5),rgba(137,180,227,0) 62%);z-index:0}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.04fr 1fr;gap:48px;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:9px;margin-bottom:24px}
.eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px rgba(137,180,227,.28)}
h1{font-size:clamp(40px,5.2vw,64px);font-weight:300;line-height:1.04;letter-spacing:-.022em}
h1 b{font-weight:700}
h1 .hl{color:var(--blue-deep)}
.hero-sub{font-size:18px;color:var(--gray);margin:24px 0 32px;max-width:500px;line-height:1.6}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:30px}
.trust-row{display:flex;gap:26px;flex-wrap:wrap;align-items:center;padding-top:26px;border-top:1px solid var(--line)}
.trust-item{display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--charcoal);font-weight:600;font-family:'Inter Tight',sans-serif}
.trust-item svg{flex:none}
/* Hero: side-profile car bleeding right over a faint map, with a big soft shadow (reference style) */
.hero-stage{background:none;border-radius:0;box-shadow:none;overflow:hidden;height:clamp(400px,44vw,620px);margin-right:calc(-1 * ((100vw - min(100vw,1240px)) / 2 + 28px))}
.hero-stage:before{display:none}
.hero-map{position:absolute;inset:0;z-index:0;pointer-events:none}
.hero-map svg{position:absolute;top:4%;left:-4%;width:52%;height:82%}
.hero-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:82% 50%;transform:none;filter:none;animation:none;z-index:1;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 20%),linear-gradient(to bottom,transparent 0,#000 14%,#000 80%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0,#000 20%),linear-gradient(to bottom,transparent 0,#000 14%,#000 80%,transparent 100%);mask-composite:intersect}
@media(max-width:980px){
  .hero-stage{height:clamp(260px,52vw,380px);margin-right:0}
  .hero-stage img{object-position:80% 52%;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 12%),linear-gradient(to bottom,transparent 0,#000 12%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0,#000 12%),linear-gradient(to bottom,transparent 0,#000 12%);mask-composite:intersect}
  .hero-map svg{width:60%;left:0}
}
.hero-badge{position:absolute;left:22px;bottom:22px;z-index:3;background:rgba(255,255,255,.95);backdrop-filter:blur(6px);border-radius:15px;padding:14px 18px;box-shadow:0 10px 34px rgba(8,8,8,.16)}
.hero-badge .mono{display:block;margin-bottom:3px}
.hero-badge .price{font-family:'Inter Tight',sans-serif;font-size:24px;font-weight:700;letter-spacing:-.02em}
.hero-badge .price span{font-size:13px;font-weight:500;color:var(--gray)}

/* STRIP */
.strip{position:relative;overflow:hidden;padding:0;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(28,30,36,.62) 0%,rgba(9,10,13,.8) 100%);backdrop-filter:blur(16px) saturate(120%);-webkit-backdrop-filter:blur(16px) saturate(120%);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.strip-glow{position:absolute;width:520px;height:520px;border-radius:50%;pointer-events:none;z-index:0;background:radial-gradient(circle,rgba(137,180,227,.16) 0%,rgba(137,180,227,0) 70%);transform:translate(-50%,-50%);transition:opacity .3s;opacity:0;will-change:left,top}
.strip:hover .strip-glow{opacity:1}
.strip-in{position:relative;z-index:1;display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px;padding:14px 0}
.strip-item{display:flex;flex-direction:column;align-items:center;text-align:center;flex:1;min-width:140px;gap:5px;opacity:.6;transition:opacity .4s ease}
.strip-item:hover{opacity:1}
.strip-ic{color:#fff;display:inline-flex;align-items:center;justify-content:center}
.strip-ic svg{width:22px;height:22px}
.strip-item .n{font-family:'Inter Tight',sans-serif;font-size:clamp(19px,1.8vw,24px);font-weight:700;letter-spacing:-.02em;color:#fff;line-height:1}
.strip-item .n span{color:#fff}
.strip-item .l{font-size:10.5px;color:rgba(255,255,255,.72);text-transform:uppercase;letter-spacing:.09em}

/* SECTION SHELL */
section{padding:104px 0}
.sec-head{max-width:720px;margin-bottom:54px}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
h2{font-size:clamp(30px,3.6vw,46px);font-weight:300;line-height:1.08;letter-spacing:-.022em;margin-top:14px;text-wrap:balance}
h2 b{font-weight:700}
.sec-head p{font-size:18px;color:var(--gray);margin-top:18px;line-height:1.6;text-wrap:pretty}
/* Keep the "Alles inklusive" head on full lines (no awkward wrapping) */
.vdt-incl-sec .sec-head{max-width:none}
.vdt-incl-sec .sec-head p{max-width:660px;margin-left:auto;margin-right:auto}
@media(min-width:900px){.vdt-incl-sec .sec-head h2{white-space:nowrap}}

/* LEISTUNGEN boxes */
.incl{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.incl-card{border:1px solid var(--line);border-radius:var(--radius);padding:30px 26px;transition:.22s;background:var(--white)}
.incl-card:hover{border-color:var(--blue);box-shadow:0 16px 44px rgba(137,180,227,.2);transform:translateY(-4px)}
.incl-ic{width:48px;height:48px;border-radius:13px;background:var(--blue-soft);display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.incl-card h3{font-size:18px;font-weight:600;margin-bottom:9px}
.incl-card p{font-size:14.5px;color:var(--gray);line-height:1.56}

/* SYSTEM split + CLEAN COMPARISON TABLE */
.system-bg{background:var(--black);color:#fff}
.system-bg .mono{color:var(--blue)}
.system-bg h2{color:#fff}
/* Kundenstimmen / testimonials carousel (dark, blue accent) */
.tst{padding-top:clamp(64px,7vw,110px);padding-bottom:clamp(64px,7vw,110px);overflow:hidden}
.tst-top{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:clamp(38px,4vw,60px)}
.tst-head h2{font-size:clamp(30px,3.8vw,50px);line-height:1.06;letter-spacing:-.02em;margin-top:14px}
.tst-head h2 b{color:var(--blue);font-weight:700}
.tst-intro{max-width:400px;flex-shrink:0}
.tst-intro p{color:rgba(255,255,255,.62);line-height:1.62;font-size:15px}
.tst-nav{display:flex;gap:12px;margin-top:22px}
.tst-arrow{width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:transparent;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s}
.tst-arrow:hover{background:var(--blue);border-color:var(--blue);color:var(--black)}
.tst-arrow:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.tst-viewport{overflow:hidden}
.tst-track{display:flex;gap:26px;transition:transform .55s cubic-bezier(.4,0,.2,1);will-change:transform}
.tst-card{flex:0 0 min(560px,80vw);box-sizing:border-box;border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:clamp(28px,3vw,44px);background:rgba(255,255,255,.03);opacity:.4;transition:opacity .45s ease,border-color .45s ease,background .45s ease;display:flex;flex-direction:column;min-height:340px;cursor:pointer}
.tst-card.is-active{opacity:1;border-color:var(--blue);background:linear-gradient(180deg,rgba(137,180,227,.09),rgba(137,180,227,.02));box-shadow:0 0 0 1px var(--blue),0 0 34px rgba(137,180,227,.4),0 0 90px rgba(137,180,227,.22),0 40px 80px rgba(0,0,0,.55);cursor:default}
.tst-quote{font-size:clamp(18px,1.5vw,23px);line-height:1.5;color:rgba(255,255,255,.7);font-weight:400;flex:1}
.tst-card.is-active .tst-quote{color:#fff}
.tst-foot{display:flex;align-items:center;gap:14px;margin-top:32px}
.tst-avatar{width:46px;height:46px;border-radius:50%;background:var(--blue);color:var(--black);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;flex-shrink:0}
.tst-meta{display:flex;flex-direction:column}
.tst-name{color:#fff;font-weight:600;font-size:15px}
.tst-role{color:rgba(255,255,255,.5);font-size:12px;text-transform:uppercase;letter-spacing:.05em;margin-top:3px}
@media(max-width:760px){.tst-top{flex-direction:column;align-items:flex-start;gap:20px}.tst-intro{max-width:none}.tst-card{flex-basis:82vw;min-height:300px}}
@media(prefers-reduced-motion:reduce){.tst-track{transition:none}}
.system{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:center}
.system p.lead{font-size:18px;color:#bdbdbd;margin-top:18px;line-height:1.65;max-width:520px}
.system-list{list-style:none;margin-top:28px}
.system-list li{display:flex;gap:14px;padding:16px 0;border-top:1px solid #262626;font-size:15.5px;color:#e6e6e6;align-items:flex-start}
.system-list li:last-child{border-bottom:1px solid #262626}
.system-list .dot{width:24px;height:24px;border-radius:50%;background:var(--blue);flex:none;display:flex;align-items:center;justify-content:center;margin-top:1px}

.compare{position:relative;background:#0e0e0e;border:1px solid #242424;border-radius:var(--radius);padding:8px 8px 10px}
.compare-table{position:relative;z-index:1}
.compare-hl{position:absolute;z-index:0;top:8px;bottom:10px;border-radius:14px;background:linear-gradient(180deg,rgba(137,180,227,.22),rgba(137,180,227,.1));border:1px solid rgba(137,180,227,.4);box-shadow:0 0 0 1px rgba(137,180,227,.15)}
.crow{display:grid;grid-template-columns:1.5fr 1fr 1fr;align-items:center}
.crow>div{padding:16px 18px}
.crow-head>div{padding:18px 18px 14px}
.crow-head .ctitle{font-family:'Inter Tight',sans-serif;font-size:15px;font-weight:700;letter-spacing:-.01em}
.crow-head .ctitle.plus{color:var(--blue)}
.crow-head .ctitle.alt{color:#7d7d7d}
.crow-head .ctitle small{display:block;font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;margin-top:2px;color:inherit;opacity:.7}
.crow:not(.crow-head){border-top:1px solid #1f1f1f}
.cfeat{font-size:14.5px;color:#cfcfcf}
.cval{text-align:center;font-size:14.5px}
.cval.plus{color:#fff;font-weight:600;font-family:'Inter Tight',sans-serif}
.cval.alt{color:#7a7a7a}
.cval .ic{display:inline-flex;vertical-align:middle;margin-right:6px}

/* FLEET cards (fixed km) */
.fleet-bg{background:var(--light)}
.fleet-filter{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:34px}
.chip{font-family:'Inter Tight',sans-serif;font-size:14px;font-weight:500;padding:9px 18px;border-radius:100px;border:1px solid var(--line);background:var(--white);cursor:pointer;transition:.16s;color:var(--charcoal)}
.chip:hover{border-color:var(--black)}
.chip.active{background:var(--black);color:var(--white);border-color:var(--black)}
.fleet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.car-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.22s;display:flex;flex-direction:column}
.car-card:hover{box-shadow:0 20px 56px rgba(8,8,8,.1);transform:translateY(-5px);border-color:var(--blue)}
.car-stage{aspect-ratio:4/3}
.car-card:hover .car-stage img{transform:translate(-50%,-58%)}
.car-card:hover .car-stage .ground{width:64%;opacity:.7}
.car-tag{position:absolute;top:14px;left:14px;z-index:3;background:rgba(255,255,255,.94);backdrop-filter:blur(4px);font-family:'Inter Tight',sans-serif;font-size:11px;font-weight:600;padding:6px 12px;border-radius:100px;color:var(--charcoal);display:flex;align-items:center;gap:6px}
.car-tag .pulse{width:7px;height:7px;border-radius:50%;background:#3fa46a;box-shadow:0 0 0 0 rgba(63,164,106,.5);animation:pulse 2s infinite}
/* Sold-out state */
.car-tag.is-soldout,.fleet-grid .car-tag.is-soldout,.spot-card .car-tag.is-soldout{background:var(--charcoal);color:#fff;border-color:transparent;letter-spacing:.04em;box-shadow:0 4px 14px rgba(8,8,8,.18)}
.car-card.is-soldout .car-stage img{filter:grayscale(.4) opacity(.82)}
/* Exterior colour switcher (vehicle detail) */
.vdt-colors{margin:18px 0 22px;display:flex;flex-direction:column;gap:9px}
.vdt-colors-lbl{font-size:12px;color:var(--gray);font-family:'Inter Tight',sans-serif;text-transform:uppercase;letter-spacing:.06em;font-weight:600}
.vdt-swatches{display:flex;gap:9px}
.vdt-swatch{width:22px;height:22px;border-radius:50%;background:var(--sw);border:1px solid rgba(6,6,6,.2);display:inline-block}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(63,164,106,.5)}70%{box-shadow:0 0 0 7px rgba(63,164,106,0)}100%{box-shadow:0 0 0 0 rgba(63,164,106,0)}}
.car-body{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
.car-name{font-family:'Inter Tight',sans-serif;font-size:19px;font-weight:600;letter-spacing:-.01em}
.car-spec{font-size:13px;color:var(--gray);margin:5px 0 16px}
.car-incl{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}
.car-incl span{font-size:11.5px;font-weight:600;font-family:'Inter Tight',sans-serif;color:var(--blue-deep);background:var(--blue-soft);padding:5px 10px;border-radius:100px}
.km-fixed{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 15px;background:var(--light);border-radius:11px;margin-bottom:18px}
.km-fixed .kl{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gray)}
.km-fixed .kv{font-family:'Inter Tight',sans-serif;font-size:15px;font-weight:700}
.car-foot{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding-top:16px;border-top:1px solid var(--line)}
.price-block .from{font-size:11px;color:var(--gray);font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-family:'Inter Tight',sans-serif}
.price-block .rate{font-family:'Inter Tight',sans-serif;font-size:27px;font-weight:700;letter-spacing:-.02em;line-height:1.1}
.price-block .rate span{font-size:14px;font-weight:500;color:var(--gray)}
.price-block .vat{font-size:11px;color:var(--gray);margin-top:4px}
/* Collection section + cards — clean white, elevated cards, consistent side-profile cars */
.collection-section{background:var(--white);padding:92px 0 96px}
.collection-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:36px;flex-wrap:wrap}
.collection-head-text{max-width:640px}
.collection-head-text h1{font-size:clamp(30px,3.6vw,46px);font-weight:300;letter-spacing:-.022em;line-height:1.08;margin-top:12px}
.collection-head-text h1 b{font-weight:700}
.collection-head-text p{font-size:16px;color:var(--gray);margin-top:16px;line-height:1.6}
.collection-cta{flex:none;margin-bottom:4px}
@media(max-width:760px){.collection-head{gap:22px}.collection-cta{width:100%;justify-content:center}}
.fleet-grid .car-card{padding:16px 20px 22px;border-radius:22px;border:1px solid rgba(6,6,6,.07);box-shadow:0 4px 22px rgba(8,18,38,.05);overflow:visible;transition:.22s}
.fleet-grid .car-card:hover{box-shadow:0 24px 50px rgba(8,18,38,.13);transform:translateY(-4px);border-color:rgba(6,6,6,.12)}
.fleet-grid .car-stage{aspect-ratio:1200/680;background:transparent;overflow:visible;padding-top:8px}
.fleet-grid .car-stage:before{display:none}
.fleet-grid .car-stage .ground{display:none}
/* Ground-contact shadow is baked into the card PNGs (contour-derived, per car),
   so no generic silhouette drop-shadow here — it would double up and float. */
/* Absolutely positioned on purpose. As an in-flow child with height:100% inside
   an aspect-ratio box that also has padding, WebKit re-resolves the percentage
   against a container height that depends on this very child, and the image
   grows a little on every layout pass: the card appears to zoom in further and
   further as you scroll. Taking it out of flow breaks the cycle. Do not revert
   to position:static while the stage has both aspect-ratio and padding. */
.fleet-grid .car-stage img{position:absolute;inset:8px 0 0;transform:none;width:100%;height:auto;object-fit:contain;filter:none}
.fleet-grid .car-card:hover .car-stage img{transform:translateY(-4px)}
.fleet-grid .car-tag{background:#fff;border:1px solid rgba(6,6,6,.1);box-shadow:0 4px 14px rgba(8,8,8,.06);top:8px;left:8px}
.fleet-grid .car-body{padding:14px 0 0}

/* BIG CAR IMAGE SLIDER */
.car-slider{position:relative;margin:0 0 56px}
.car-slider-viewport{overflow:hidden;border-radius:var(--radius)}
.car-slider-track{display:flex;transition:transform .6s cubic-bezier(.2,.7,.2,1);will-change:transform}
.car-slide{flex:0 0 100%;min-width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 60px}
.car-slide img{width:auto;max-width:100%;max-height:400px;object-fit:contain}
.car-slide-cap{text-align:center;max-width:560px;margin-top:14px}
.car-slide-cap h3{font-family:'Inter Tight',sans-serif;font-size:23px;font-weight:600;letter-spacing:-.01em;margin-bottom:10px}
.car-slide-cap p{font-size:15px;color:var(--gray);line-height:1.6;margin-bottom:20px}
/* banner variant (Fahrzeuge hero) */
.veh-hero{padding:60px 0 48px;text-align:center;background:var(--white);border-bottom:1px solid var(--line);overflow:hidden}
.veh-hero-head{margin-bottom:8px}
.veh-hero .eyebrow{justify-content:center;margin-bottom:18px}
.veh-hero h1{font-size:clamp(32px,4.2vw,52px);max-width:900px;margin:0 auto}
.car-slider-banner{margin-top:24px}
.car-slider-banner .car-slide img{max-height:360px}
.veh-hero-sub{font-size:clamp(16px,1.35vw,19px);color:var(--gray);max-width:640px;margin:18px auto 0;line-height:1.6}
/* Featured-models banner moved below the collection */
.veh-featured{background:var(--light);padding:clamp(56px,6vw,84px) 0}
.veh-featured .sec-head{margin-bottom:34px}
.veh-featured .car-slider-banner{margin-top:0}
.car-slider-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:50px;height:50px;border-radius:50%;background:var(--white);border:1px solid var(--line);color:var(--black);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 10px 30px rgba(8,8,8,.12);transition:.18s}
.car-slider-arrow:hover{background:var(--black);color:var(--white);border-color:var(--black)}
.car-slider-arrow.prev{left:8px}
.car-slider-arrow.next{right:8px}
.car-slider-dots{display:flex;gap:9px;justify-content:center;margin-top:24px}
.car-slider-dots button{width:9px;height:9px;border-radius:50%;border:none;background:var(--line);cursor:pointer;padding:0;transition:.22s}
.car-slider-dots button:hover{background:var(--blue)}
.car-slider-dots button.active{background:var(--blue-deep);width:26px;border-radius:10px}

/* SPOTLIGHT (fahrzuege featured) */
.spot{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.spot-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--white);display:flex;flex-direction:column;transition:.22s}
.spot-card:hover{box-shadow:0 20px 56px rgba(8,8,8,.1);transform:translateY(-5px);border-color:var(--blue)}
.spot-card .car-stage{aspect-ratio:16/10}
.spot-card:hover .car-stage img{transform:translate(-50%,-58%)}
.spot-body{padding:24px;display:flex;flex-direction:column;flex:1}
.spot-body h3{font-family:'Inter Tight',sans-serif;font-size:21px;font-weight:600;letter-spacing:-.01em;margin-bottom:8px}
.spot-body p{font-size:14.5px;color:var(--gray);line-height:1.55;margin-bottom:20px}
.spot-body .btn{margin-top:auto}

/* STEPS */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.step{position:relative;border:1px solid var(--line);border-radius:var(--radius);padding:30px 26px;background:var(--white);transition:.2s}
.step:hover{border-color:var(--blue);box-shadow:0 14px 40px rgba(137,180,227,.16)}
.step .num{font-family:'Inter Tight',sans-serif;font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--blue-deep);display:block;margin-bottom:18px}
.step h3{font-size:19px;font-weight:600;margin-bottom:10px}
.step p{font-size:14.5px;color:var(--gray);line-height:1.6}

/* INKLUSIVE */
.inc-bg{background:var(--blue-soft)}
.inc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.inc-item{background:var(--white);border-radius:var(--radius);padding:28px 24px;border:1px solid rgba(95,147,207,.18)}
.inc-item .ic{width:46px;height:46px;border-radius:12px;background:var(--blue-soft);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.inc-item h4{font-size:17px;font-weight:600;margin-bottom:7px}
.inc-item p{font-size:14px;color:var(--gray);line-height:1.55}

/* MEMBERSHIP teaser */
.member{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center;background:var(--black);color:#fff;border-radius:28px;padding:56px}
.member .mono{color:var(--blue)}
.member h2{color:#fff;margin-top:12px}
.member p{color:#bdbdbd;font-size:17px;margin:18px 0 26px;line-height:1.6}
.member-list{list-style:none;display:grid;gap:13px;margin-bottom:30px}
.member-list li{display:flex;gap:12px;align-items:center;font-size:15px;color:#e6e6e6}
.member-list .dot{width:22px;height:22px;border-radius:50%;background:var(--blue);flex:none;display:flex;align-items:center;justify-content:center}
.member-vis{background:linear-gradient(165deg,#1c1c1c,#0c0c0c);border:1px solid #2a2a2a;border-radius:var(--radius);padding:34px}
.member-price{font-family:'Inter Tight',sans-serif;font-size:46px;font-weight:700;letter-spacing:-.02em;line-height:1}
.member-price span{font-size:16px;color:#9a9a9a;font-weight:500}
.member-tier{font-family:'Inter Tight',sans-serif;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--blue);margin-bottom:14px}
.member-feat{list-style:none;margin-top:24px;display:grid;gap:12px}
.member-feat li{display:flex;gap:11px;font-size:14.5px;color:#cfcfcf;align-items:center}

/* FAQ */
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;font-family:'Inter Tight',sans-serif;font-size:18px;font-weight:600;padding:24px 0;display:flex;justify-content:space-between;align-items:center;gap:20px;color:var(--black)}
.faq-q .ico{font-size:24px;font-weight:300;color:var(--blue-deep);transition:.2s;flex:none}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.faq-a p{font-size:15.5px;color:var(--gray);line-height:1.65;padding-bottom:24px;max-width:780px}
.faq-item.open .ico{transform:rotate(45deg)}

/* PAGE HERO (subpages) */
.page-hero{position:relative;overflow:hidden;padding:72px 0 64px;background:var(--light);border-bottom:1px solid var(--line)}
.page-hero:before{content:"";position:absolute;top:-200px;right:-120px;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(137,180,227,.45),rgba(137,180,227,0) 62%)}
.page-hero .wrap{position:relative;z-index:1}
.page-hero h1{font-size:clamp(34px,4.4vw,54px);max-width:840px}
.page-hero p{font-size:18px;color:var(--gray);margin-top:18px;max-width:620px;line-height:1.6}

/* CONTACT */
.contact-bg{background:var(--black);color:#fff}
.contact-bg .mono{color:var(--blue)}
.contact-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:64px;align-items:start}
.contact-bg h2{color:#fff}
.contact-lead{font-size:18px;color:#bdbdbd;margin:18px 0 32px;line-height:1.6;max-width:440px}
.contact-points{list-style:none}
.contact-points li{display:flex;gap:13px;align-items:center;padding:14px 0;border-top:1px solid #262626;font-size:15px;color:#e6e6e6}
.contact-points li:first-child{border-top:none}
.contact-points .ic{width:38px;height:38px;border-radius:10px;background:#161616;border:1px solid #2a2a2a;display:flex;align-items:center;justify-content:center;flex:none}
.contact-points small{display:block;color:#8a8a8a;font-size:12px;margin-top:2px}
.form{background:#111;border:1px solid #262626;border-radius:24px;padding:32px}
.form-row{margin-bottom:16px}
.form-row.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form label{display:block;font-family:'Inter Tight',sans-serif;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#9a9a9a;margin-bottom:8px;font-weight:600}
.form input,.form textarea,.form select{width:100%;background:#1a1a1a;border:1px solid #2e2e2e;border-radius:12px;padding:14px 15px;color:#fff;font-family:inherit;font-size:15px;transition:.18s}
.form input:focus,.form textarea:focus,.form select:focus{outline:none;border-color:var(--blue);background:#1d1d1d}
.form textarea{resize:vertical;min-height:120px}
.form .btn{width:100%;justify-content:center;margin-top:6px}
.form-note{font-size:12px;color:#7a7a7a;margin-top:14px;text-align:center}
.form-success{display:none;text-align:center;padding:30px 0}
.form-success.show{display:block}
.form-success .check{width:56px;height:56px;border-radius:50%;background:var(--blue);display:flex;align-items:center;justify-content:center;margin:0 auto 18px}
.form-success h3{font-family:'Inter Tight',sans-serif;font-size:22px;font-weight:600;margin-bottom:8px}
.form-success p{color:#bdbdbd;font-size:15px}

/* FINAL CTA */
.final{background:var(--blue);border-radius:28px;padding:72px 56px;text-align:center;position:relative;overflow:hidden}
.final .mono{display:block;margin-bottom:12px;color:rgba(8,8,8,.6)}
.final h2{color:var(--black)}
.final p{font-size:18px;color:rgba(8,8,8,.72);margin:18px auto 32px;max-width:540px}
.final .hero-cta{justify-content:center}

/* LEGAL */
.legal{max-width:820px;margin:0 auto;padding:72px 28px 96px}
.legal h1{font-size:36px;margin-bottom:28px}
.legal h2{font-size:22px;font-weight:700;margin:36px 0 12px}
.legal p,.legal li{font-size:15px;color:var(--gray);line-height:1.7;margin-bottom:10px}
.legal ul{padding-left:20px}

/* FOOTER */
footer{background:var(--black);color:#cfcfcf;padding:64px 0 32px}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;padding-bottom:48px;border-bottom:1px solid #333}
.foot-about{font-size:14px;color:#a8a8a8;line-height:1.6;max-width:280px;margin:18px 0}
.foot-col h5{font-family:'Inter Tight',sans-serif;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#fff;margin-bottom:16px;font-weight:600}
.foot-col a{display:block;font-size:14px;color:#b3b3b3;margin-bottom:11px;transition:.15s}
.foot-col a:hover{color:var(--blue)}
.foot-contact{font-size:14px;color:#b3b3b3;line-height:1.7}
.foot-social{display:flex;gap:10px;margin-top:18px}
.foot-social a{width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;transition:.18s}
.foot-social a:hover{background:var(--blue)}
.foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;padding-top:24px;font-size:13px;color:#8a8a8a}
.foot-bottom a{color:#8a8a8a}
.foot-bottom a:hover{color:var(--blue)}

@media(max-width:980px){
  .hero-grid,.system,.contact-grid,.member{grid-template-columns:1fr;gap:44px}
  .member{padding:40px 28px}
  .incl,.inc-grid{grid-template-columns:repeat(2,1fr)}
  .fleet-grid,.spot,.steps{grid-template-columns:repeat(2,1fr)}
  .foot-grid{grid-template-columns:1fr 1fr}
  .nav-links{position:fixed;inset:74px 0 auto 0;background:#fff;flex-direction:column;gap:0;border-bottom:1px solid var(--line);padding:8px 0;transform:translateY(-120%);transition:.28s;box-shadow:0 20px 40px rgba(0,0,0,.08)}
  .nav-links.open{transform:none}
  .nav-links a{padding:15px 28px;width:100%}
  .nav-links a:after{display:none}
  .burger{display:flex}
}
@media(max-width:620px){
  .wrap{padding:0 18px}
  section{padding:68px 0}
  .spot{grid-template-columns:1fr}
  .mono{font-size:13px}
  .car-slide{padding:16px 36px}
  .car-slide img{max-height:230px}
  .car-slider-arrow{width:40px;height:40px}
  .car-slider-arrow.prev{left:0}
  .car-slider-arrow.next{right:0}
  .incl,.inc-grid,.fleet-grid,.spot,.steps{grid-template-columns:1fr}
  .strip-item{min-width:130px}
  .form-row.two{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr;gap:28px}
  .nav-cta .btn-ghost{display:none}
  .nav-links .nav-beratung{display:block;color:var(--blue-deep);font-weight:600}
  .crow{grid-template-columns:1.3fr .85fr .85fr}
  .crow>div{padding:13px 10px}
  .final{padding:48px 24px}
}

/* ===================================================================
   SEO/GEO BUILD — nav dropdowns, breadcrumbs, data tables, article,
   inclusive-cost lists, related-link cluster.  (appended 2026-07)
   =================================================================== */

/* NAV DROPDOWNS */
.nav-group{position:relative;display:flex;align-items:center}
.nav-group-toggle{font-family:'Inter Tight',sans-serif;font-size:15px;font-weight:500;color:var(--charcoal);background:none;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:5px;padding:0;line-height:1}
.nav-caret{transition:transform .2s}
.nav-dropdown{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(6px);min-width:250px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 20px 50px rgba(8,18,38,.14);padding:10px;opacity:0;visibility:hidden;transition:.2s;z-index:60}
.nav-group:hover .nav-dropdown,.nav-group:focus-within .nav-dropdown{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.nav-group:hover .nav-caret,.nav-group:focus-within .nav-caret{transform:rotate(180deg)}
.nav-dropdown a{display:block;font-size:14.5px;font-weight:500;color:var(--charcoal);padding:11px 14px;border-radius:10px;transition:.15s}
.nav-dropdown a:after{display:none}
.nav-dropdown a:hover{background:var(--light);color:var(--blue-deep)}
.nav-dropdown a.active{color:var(--blue-deep);background:var(--blue-soft)}

/* BREADCRUMBS */
.breadcrumbs{padding-top:22px;padding-bottom:2px}
.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;color:var(--gray);font-family:'Inter Tight',sans-serif}
.breadcrumbs a{color:var(--gray);transition:.15s}
.breadcrumbs a:hover{color:var(--blue-deep)}
.breadcrumbs .bc-sep{margin-left:8px;color:var(--line)}
.breadcrumbs [aria-current="page"]{color:var(--charcoal);font-weight:600}

/* ARTICLE / PROSE (long-form SEO + ratgeber body) */
.article{max-width:820px;margin:0 auto}
.article-wide{max-width:960px;margin:0 auto}
.prose>*+*{margin-top:18px}
.prose h2{font-size:clamp(24px,3vw,34px);font-weight:700;line-height:1.15;letter-spacing:-.02em;margin-top:52px}
.prose h3{font-family:'Inter Tight',sans-serif;font-size:20px;font-weight:600;margin-top:34px}
.prose p,.prose li{font-size:16.5px;color:var(--charcoal);line-height:1.72}
.prose p{color:#33322f}
.prose ul,.prose ol{padding-left:22px}
.prose li{margin-top:8px}
.prose a{color:var(--blue-deep);font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.prose a:hover{color:var(--black)}
.prose .lede{font-size:19px;line-height:1.6;color:var(--charcoal);background:var(--light);border-left:3px solid var(--blue);padding:22px 26px;border-radius:0 14px 14px 0}
.prose .lede p{font-size:19px;color:var(--charcoal)}
.disclaimer{font-size:13px;color:var(--gray);line-height:1.6;border-top:1px solid var(--line);margin-top:44px;padding-top:20px}
.todo-confirm{background:#fff6d6;border:1px dashed #d9b23a;color:#7a5c00;font-size:13px;font-weight:600;border-radius:10px;padding:10px 14px;margin:18px 0}

/* SEMANTIC DATA / COMPARISON TABLE */
.data-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:26px 0;border:1px solid var(--line);border-radius:var(--radius)}
.data-table{width:100%;border-collapse:collapse;min-width:520px;font-size:15px;background:#fff}
.data-table caption{text-align:left;font-family:'Inter Tight',sans-serif;font-size:13px;font-weight:600;color:var(--gray);padding:16px 20px 0;caption-side:top}
.data-table th,.data-table td{padding:15px 20px;text-align:left;border-top:1px solid var(--line);vertical-align:top}
.data-table thead th{border-top:none;font-family:'Inter Tight',sans-serif;font-weight:700;font-size:14px;color:var(--charcoal);background:var(--light)}
.data-table tbody th{font-family:'Inter Tight',sans-serif;font-weight:600;color:var(--charcoal);width:34%}
.data-table td{color:var(--gray)}
.data-table .col-primary{background:rgba(137,180,227,.1)}
.data-table thead .col-primary{color:var(--blue-deep);background:rgba(137,180,227,.2)}
.data-table td.col-primary{color:var(--charcoal);font-weight:600}

/* INCLUSIVE-COST LIST */
.incl-table-wrap{margin:26px 0}
.incl-list{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:12px 26px}
.incl-list li{display:flex;align-items:flex-start;gap:11px;font-size:15.5px;color:var(--charcoal);line-height:1.5}
.incl-list .incl-ic{width:24px;height:24px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;margin-top:1px;margin-bottom:0}
.incl-list .incl-ic--yes{background:var(--blue-soft);color:var(--blue-deep)}
.incl-list .incl-ic--no{background:#f0efec;color:var(--gray)}
.incl-no{color:var(--gray)}
.incl-note{font-size:14px;color:var(--gray);margin-top:16px;font-style:italic}

/* RELATED-LINK CLUSTER */
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.related-card{border:1px solid var(--line);border-radius:var(--radius);padding:28px 26px;background:var(--white);transition:.22s;display:flex;flex-direction:column}
.related-card:hover{border-color:var(--blue);box-shadow:0 16px 44px rgba(137,180,227,.2);transform:translateY(-4px)}
.related-card h3{font-family:'Inter Tight',sans-serif;font-size:18px;font-weight:600;margin-bottom:9px;letter-spacing:-.01em}
.related-card p{font-size:14px;color:var(--gray);line-height:1.55;margin-bottom:18px}
.related-arrow{margin-top:auto;display:inline-flex;align-items:center;gap:7px;font-family:'Inter Tight',sans-serif;font-size:14px;font-weight:600;color:var(--blue-deep)}
.related-card:hover .related-arrow svg{transform:translateX(3px)}
.related-arrow svg{transition:transform .2s}

/* CTA row inside prose */
.inline-cta{display:flex;flex-wrap:wrap;gap:14px;margin:32px 0 8px}

@media(max-width:980px){
  .nav-group{width:100%;flex-direction:column;align-items:flex-start}
  .nav-group-toggle{padding:15px 28px;width:100%;justify-content:space-between}
  .nav-dropdown{position:static;transform:none;opacity:1;visibility:visible;box-shadow:none;border:none;border-radius:0;min-width:0;width:100%;padding:0 0 8px;display:none}
  .nav-group.open .nav-dropdown{display:block}
  .nav-group.open .nav-caret{transform:rotate(180deg)}
  .nav-dropdown a{padding:12px 40px}
  .related-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
  .incl-list{grid-template-columns:1fr}
  .related-grid{grid-template-columns:1fr}
  .prose p,.prose li{font-size:16px}
}

/* Footer contact block: keep address lines uniform (email/phone are <a> and
   must not inherit the .foot-col a block+margin — that caused a gap). */
.foot-contact a{display:inline;margin:0}
.foot-contact a:hover{color:var(--blue)}

/* Premium-Segment spot-card CTA: full-width button, text centred. */
.spot-body .btn{justify-content:center}

/* ===== Fahrzeuge: dropdown filters + dual card buttons ===== */
.fleet-filters{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:34px}
.fleet-select{width:100%;appearance:none;-webkit-appearance:none;font-family:'Inter Tight',sans-serif;font-size:15px;font-weight:500;color:var(--charcoal);background-color:var(--white);border:1px solid var(--line);border-radius:12px;padding:14px 44px 14px 20px;cursor:pointer;transition:.16s;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%23727272' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center}
.fleet-select:hover{border-color:var(--black)}
.fleet-select:focus{outline:none;border-color:var(--blue-deep);box-shadow:0 0 0 3px rgba(137,180,227,.25)}

/* dual buttons in the card foot */
.car-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.car-btns .car-btn{width:100%;justify-content:center;padding:12px 12px;font-size:13.5px;gap:6px}

.fleet-empty{text-align:center;color:var(--gray);font-size:15px;padding:30px 0}
.fleet-empty a{color:var(--blue-deep);font-weight:600;text-decoration:underline;text-underline-offset:3px}

@media(max-width:760px){
  .fleet-filters{grid-template-columns:1fr 1fr}
}
@media(max-width:420px){
  .fleet-filters{grid-template-columns:1fr}
}

/* ===== Fahrzeuge promo tiles (FINN-style: image + dark caption band) ===== */
.promo-section .sec-head{margin-bottom:36px}
.promo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.promo-card{display:flex;flex-direction:column;overflow:hidden;border-radius:16px;background:#111;transition:.24s;box-shadow:0 4px 22px rgba(8,18,38,.05)}
.promo-card:hover{transform:translateY(-5px);box-shadow:0 24px 50px rgba(8,18,38,.16)}
.promo-img{aspect-ratio:16/10;overflow:hidden;background:linear-gradient(165deg,#9ec1e8,#7aa6da)}
.promo-img img{width:100%;height:100%;object-fit:cover;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.promo-card:hover .promo-img img{transform:scale(1.045)}
.promo-cap{background:#111;color:#fff;padding:26px 26px 30px}
.promo-cap h3{font-family:'Inter Tight',sans-serif;font-size:22px;font-weight:800;line-height:1.18;letter-spacing:-.01em;color:#fff}
@media(max-width:980px){.promo-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.promo-grid{grid-template-columns:1fr}.promo-cap h3{font-size:20px}}

/* ===== Fahrzeuge SEO/GEO content layer: USP grid + find cluster ===== */
.usp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}
.usp-item{display:flex;gap:13px;align-items:flex-start;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;transition:.2s}
.usp-item:hover{border-color:var(--blue);box-shadow:0 12px 32px rgba(137,180,227,.16)}
.usp-ic{width:36px;height:36px;border-radius:10px;background:var(--blue-soft);color:var(--blue-deep);flex:none;display:flex;align-items:center;justify-content:center}
.usp-item h3{font-family:'Inter Tight',sans-serif;font-size:15.5px;font-weight:600;margin-bottom:3px}
.usp-item p{font-size:13.5px;color:var(--gray);line-height:1.5}

.find-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.find-col h3{font-family:'Inter Tight',sans-serif;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--gray);margin-bottom:10px;font-weight:600}
.find-col a{display:block;font-size:15px;color:var(--charcoal);padding:10px 0;border-bottom:1px solid var(--line);transition:.15s}
.find-col a:hover{color:var(--blue-deep);padding-left:5px}
@media(max-width:900px){.usp-grid{grid-template-columns:1fr 1fr}.find-grid{grid-template-columns:1fr 1fr;gap:22px 28px}}
@media(max-width:560px){.usp-grid{grid-template-columns:1fr}.find-grid{grid-template-columns:1fr}}

/* ===== "Warum Eazyfleet Firmenwagen-Abo?" section — full-width, tighter, justified, taller tiles ===== */
.warum-abo{padding-top:28px}                     /* reduce gap to the collection grid above */
.warum-abo .wrap{max-width:1440px}               /* fuller width for this section */
.warum-abo .sec-head{max-width:none;margin-bottom:32px}
@media(min-width:768px){.warum-abo .sec-head h2{white-space:nowrap}}  /* heading on one line */
.warum-abo .article{max-width:940px;margin:0 auto}
.warum-abo .prose p,.warum-abo .prose .lede p{text-align:justify}
.warum-abo .usp-grid{gap:20px;margin-top:44px}
.warum-abo .usp-item{padding:30px 30px;gap:16px}          /* clean: height follows content (grid keeps rows equal) */
.warum-abo .usp-ic{width:42px;height:42px;border-radius:12px}
.warum-abo .usp-ic svg{width:20px;height:20px}
.warum-abo .usp-item h3{font-size:17.5px;margin-bottom:5px}
.warum-abo .usp-item p{font-size:15px;line-height:1.55;text-align:justify;margin-top:2px}
@media(max-width:620px){.warum-abo .usp-item{padding:22px 22px}.warum-abo .prose p,.warum-abo .usp-item p{text-align:left}}

/* ===== Full-bleed image band (Fahrzeuge, between tiles & FAQ) ===== */
.image-band{padding:0}
.image-band img{width:100%;height:clamp(260px,32vw,460px);object-fit:cover;object-position:center;display:block}

/* ===== FAQ section: clean heading (one line on desktop) ===== */
.faq-section .wrap{max-width:920px}
.faq-section .sec-head{margin-bottom:40px}
.faq-section .sec-head h2{font-size:clamp(26px,2.9vw,36px);line-height:1.15;text-wrap:balance}
.nowrap{white-space:nowrap}

/* ===== Full-width image CTA band + glassmorphism text box ===== */
.cta-band{
  background:#14161a url("/assets/cars/fahrzeuge-footer-banner.png") center/cover no-repeat;
  display:flex;align-items:center;
  min-height:clamp(360px,34vw,520px);
  padding:56px 0;
}
.cta-band .wrap{width:100%}
.cta-glass{
  max-width:520px;
  background:rgba(14,16,20,.42);
  backdrop-filter:blur(16px) saturate(120%);
  -webkit-backdrop-filter:blur(16px) saturate(120%);
  border:1px solid rgba(255,255,255,.16);
  padding:44px 42px;
  text-align:left;
}
.cta-glass h2{color:#fff}
.cta-glass p{font-size:17px;color:rgba(255,255,255,.86);margin:16px 0 28px;line-height:1.6;max-width:none}
.cta-glass .hero-cta{margin-bottom:0}
@media(max-width:620px){.cta-band{min-height:0;padding:64px 0}.cta-glass{max-width:none;padding:30px 26px}}

/* ===== Top announcement bar ===== */
.announce{background:var(--black);color:#fff}
.announce-in{display:flex;align-items:center;justify-content:center;gap:9px;padding:10px 0;text-align:center;font-family:'Inter Tight',sans-serif;font-size:13.5px;font-weight:500;letter-spacing:.01em}
.announce-ic{flex:none;opacity:.85}
@media(max-width:620px){.announce-in{font-size:12px;padding:9px 16px;gap:7px}}

/* filter dropdowns: force LIGHT native popup + light options so the open
   dropdown matches the page (was rendering dark in OS dark-mode). */
.fleet-select{color-scheme:light}
.fleet-select option{background:#fff;color:var(--charcoal);font-weight:500}
.fleet-select option:checked{background:var(--blue-soft);color:var(--charcoal)}

/* ===== Custom filter dropdown (brand-styled, replaces native select) ===== */
.dd{position:relative}
.dd-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;font-family:'Inter Tight',sans-serif;font-size:15px;font-weight:500;color:var(--charcoal);background:var(--white);border:1px solid var(--line);border-radius:12px;padding:14px 18px;cursor:pointer;transition:.16s;text-align:left}
.dd-btn:hover{border-color:var(--black)}
.dd.open .dd-btn{border-color:var(--blue-deep);box-shadow:0 0 0 3px rgba(137,180,227,.25)}
.dd-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dd-caret{flex:none;color:var(--gray);transition:transform .2s}
.dd.open .dd-caret{transform:rotate(180deg)}
.dd-list{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:45;list-style:none;margin:0;padding:8px;background:var(--white);border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 44px rgba(8,18,38,.16);opacity:0;visibility:hidden;transform:translateY(6px);transition:.16s;max-height:300px;overflow:auto}
.dd.open .dd-list{opacity:1;visibility:visible;transform:none}
.dd-opt{display:flex;align-items:center;justify-content:space-between;gap:10px;font-family:'Inter Tight',sans-serif;font-size:14.5px;font-weight:500;color:var(--charcoal);padding:11px 14px;border-radius:8px;cursor:pointer;transition:.12s}
.dd-opt:hover{background:var(--light);color:var(--blue-deep)}
.dd-opt.is-selected{background:var(--blue-soft);color:var(--blue-deep)}
.dd-opt.is-selected::after{content:"✓";font-size:12px;font-weight:700}

/* ===== Vehicle detail page hero ===== */
.vdt-hero{background:var(--light);border-bottom:1px solid var(--line);padding:40px 0 56px;position:relative;overflow:hidden}
.vdt-grid{display:grid;grid-template-columns:1.42fr 1fr;gap:40px;align-items:center}
.vdt-stage{aspect-ratio:16/11;border-radius:var(--radius);box-shadow:0 30px 70px rgba(95,147,207,.3)}
.vdt-info{padding-left:clamp(0px,3.8vw,62px)}
.vdt-info h1{font-size:clamp(26px,3vw,38px);font-weight:300;line-height:1.1;letter-spacing:-.015em;margin-top:8px}
.vdt-info h1 b{font-weight:400}
.vdt-spec{font-family:'Inter Tight',sans-serif;color:var(--gray);font-size:15px;margin-top:12px}
.vdt-price{margin:22px 0 6px}
.vdt-price .from{display:block;font-family:'Inter Tight',sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--gray)}
.vdt-price .rate{font-family:'Inter Tight',sans-serif;font-size:38px;font-weight:700;letter-spacing:-.02em;line-height:1.1}
.vdt-price .rate span{font-size:15px;font-weight:500;color:var(--gray)}
/* Eazyfleet Flex / Plus price toggle (glassmorphism, on-brand) */
.ptg{display:inline-flex;gap:4px;align-items:center;padding:4px;margin-bottom:18px;border-radius:999px;background:rgba(20,26,36,.05);border:1px solid rgba(20,26,36,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.ptg-btn{font-family:'Manrope',sans-serif;font-size:13.5px;font-weight:600;letter-spacing:-.01em;color:var(--gray);background:none;border:0;border-radius:999px;padding:7px 16px;cursor:pointer;transition:color .2s,background .2s,box-shadow .2s;white-space:nowrap}
.ptg-btn:hover{color:var(--black)}
.ptc.is-plus [data-tier="plus"],.ptc.is-flex [data-tier="flex"]{background:var(--black);color:#fff;box-shadow:0 4px 14px rgba(8,8,8,.2)}
.ptc .pt-flex{display:none}
.ptc.is-flex .pt-plus{display:none}
.ptc.is-flex b.pt-flex{display:inline}
.ptc.is-flex p.pt-flex{display:block}
.ptc .pt-sub{font-size:13px;color:var(--gray);margin-top:8px;line-height:1.5}
/* page-wide tier-aware spans (spec strip, sticky bar): body.is-tier-flex flips them */
.tw-flex{display:none}
.is-tier-flex .tw-flex{display:inline}
.is-tier-flex .tw-plus{display:none}

/* ===== Beratung booking modal (Christopher Löhr) ===== */
.bkg-overlay{position:fixed;inset:0;z-index:200;background:rgba(4,4,3,.55);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto}
.bkg-overlay[hidden]{display:none}
.bkg-pane[hidden],.bkg-done[hidden]{display:none}
.bkg{position:relative;background:#fff;border-radius:24px;max-width:960px;width:100%;display:grid;grid-template-columns:290px 1fr;box-shadow:0 40px 120px rgba(4,4,3,.35);margin:auto}
.bkg-close{position:absolute;top:14px;right:14px;z-index:2;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--black);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.18s}
.bkg-close:hover{background:var(--black);color:#fff;border-color:var(--black)}
.bkg-side{border-right:1px solid var(--line);padding:30px 26px;display:flex;flex-direction:column}
.bkg-logo{height:22px;width:auto;align-self:flex-start;margin-bottom:26px}
.bkg-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:50% 22%;display:block;margin-bottom:14px;background:#e9eef5;box-shadow:0 3px 12px rgba(8,18,38,.16)}

/* ===== Global floating contact widget (every page) =====
   Avatar toggles two pop-out actions: tel: call + booking modal. */
.ber-fab{position:fixed;right:24px;bottom:24px;z-index:70;display:flex;flex-direction:column;align-items:flex-end;gap:10px;pointer-events:none}
.ber-fab-toggle{pointer-events:auto;display:block;padding:0;border:0;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent;animation:berFabIn .6s cubic-bezier(.2,.9,.25,1) .7s both}
.ber-fab-orb{position:relative;display:block;line-height:0;animation:berFabFloat 4.6s ease-in-out 1.4s infinite}
/* brand-blue halo, same idea as the .pulse availability dot but slower and wider */
.ber-fab-orb:after{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;box-shadow:0 0 0 0 rgba(95,147,207,.55);animation:berFabHalo 2.9s ease-out 1.6s infinite}
.ber-fab-img{width:84px;height:84px;border-radius:50%;object-fit:cover;border:3.5px solid #fff;background:#e9eef5;display:block;box-shadow:0 12px 34px rgba(8,18,38,.28);transition:transform .24s cubic-bezier(.2,.7,.2,1),box-shadow .24s ease}
.ber-fab-badge{position:absolute;top:-2px;right:-2px;width:30px;height:30px;border-radius:50%;background:var(--blue-deep);border:3px solid #fff;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 12px rgba(8,18,38,.26);z-index:2;transition:transform .22s cubic-bezier(.2,.7,.2,1)}
.ber-fab-badge-close{display:none}
.ber-fab.is-open .ber-fab-badge-open{display:none}
.ber-fab.is-open .ber-fab-badge-close{display:block}
.ber-fab.is-open .ber-fab-badge{transform:rotate(90deg)}
/* the two pop-out actions, stacked above the avatar */
.ber-fab-actions{display:flex;flex-direction:column;align-items:flex-end;gap:9px}
.ber-fab-action{pointer-events:auto;display:inline-flex;align-items:center;gap:11px;max-width:min(78vw,330px);padding:9px 14px 9px 10px;border:1px solid rgba(6,6,6,.07);border-radius:999px;background:#fff;color:var(--black);text-decoration:none;cursor:pointer;text-align:left;
  box-shadow:0 10px 28px rgba(8,18,38,.16);
  opacity:0;transform:translateY(10px) scale(.96);pointer-events:none;
  transition:opacity .22s ease,transform .26s cubic-bezier(.2,.8,.25,1),box-shadow .2s ease}
.ber-fab-action-ic{flex:none;width:36px;height:36px;border-radius:50%;background:var(--blue-deep);color:#fff;display:flex;align-items:center;justify-content:center}
.ber-fab-action:last-child .ber-fab-action-ic{background:var(--black)}
.ber-fab-action-tx{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.ber-fab-action-tx b{font-family:'Inter Tight',sans-serif;font-size:14.5px;font-weight:600;letter-spacing:-.008em;white-space:nowrap}
.ber-fab-action-tx small{font-size:12px;color:var(--gray);white-space:nowrap}
.ber-fab-action:hover{box-shadow:0 16px 36px rgba(8,18,38,.22);border-color:rgba(6,6,6,.14)}
/* reveal: pointer hover, keyboard focus, or the JS toggle (touch) */
.ber-fab:hover .ber-fab-action,.ber-fab:focus-within .ber-fab-action,.ber-fab.is-open .ber-fab-action{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
.ber-fab-actions .ber-fab-action:nth-child(1){transition-delay:.04s}
.ber-fab-actions .ber-fab-action:nth-child(2){transition-delay:0s}
.ber-fab:hover .ber-fab-actions .ber-fab-action:nth-child(1),.ber-fab.is-open .ber-fab-actions .ber-fab-action:nth-child(1){transition-delay:.06s}
.ber-fab-toggle:hover .ber-fab-img,.ber-fab-toggle:focus-visible .ber-fab-img{transform:scale(1.06);box-shadow:0 18px 42px rgba(8,18,38,.34)}
.ber-fab-toggle:active .ber-fab-img{transform:scale(.97)}
/* hold the avatar still while the menu is open / hovered */
.ber-fab:hover .ber-fab-orb,.ber-fab:focus-within .ber-fab-orb,.ber-fab.is-open .ber-fab-orb{animation-play-state:paused}
.ber-fab:hover .ber-fab-orb:after,.ber-fab.is-open .ber-fab-orb:after{animation-play-state:paused;box-shadow:none}
.ber-fab-toggle:focus-visible{outline:none}
.ber-fab-toggle:focus-visible .ber-fab-img{outline:3px solid var(--blue-deep);outline-offset:3px}
.ber-fab-action:focus-visible{outline:3px solid var(--blue-deep);outline-offset:2px}
@keyframes berFabIn{0%{opacity:0;transform:scale(.55) translateY(14px)}60%{opacity:1;transform:scale(1.06) translateY(0)}100%{opacity:1;transform:scale(1) translateY(0)}}
@keyframes berFabFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes berFabHalo{0%{box-shadow:0 0 0 0 rgba(95,147,207,.5)}70%{box-shadow:0 0 0 18px rgba(95,147,207,0)}100%{box-shadow:0 0 0 0 rgba(95,147,207,0)}}
/* clear the sticky action bar on vehicle detail pages */
body.has-actionbar .ber-fab{bottom:calc(24px + 76px)}
@media(max-width:900px){.ber-fab{right:18px;bottom:18px}.ber-fab-img{width:76px;height:76px}body.has-actionbar .ber-fab{bottom:calc(18px + 72px)}}
@media(max-width:560px){
  .ber-fab{right:15px;bottom:15px;gap:9px}
  .ber-fab-img{width:66px;height:66px}
  .ber-fab-badge{width:26px;height:26px;border-width:2.5px}
  .ber-fab-action{padding:8px 13px 8px 9px;gap:9px}
  .ber-fab-action-ic{width:32px;height:32px}
  .ber-fab-action-tx b{font-size:13.5px}
  .ber-fab-action-tx small{font-size:11.5px}
  body.has-actionbar .ber-fab{bottom:calc(15px + 68px)}
}
@media print{.ber-fab{display:none}}
@media(prefers-reduced-motion:reduce){
  .ber-fab-toggle{animation:none}
  .ber-fab-orb,.ber-fab-orb:after{animation:none}
  .ber-fab-img,.ber-fab-badge,.ber-fab-action{transition:none}
  .ber-fab-toggle:hover .ber-fab-img,.ber-fab-toggle:focus-visible .ber-fab-img,.ber-fab-toggle:active .ber-fab-img{transform:none}
  .ber-fab:hover .ber-fab-action,.ber-fab:focus-within .ber-fab-action,.ber-fab.is-open .ber-fab-action{transform:none}
}
.bkg-role{font-family:'Inter Tight',sans-serif;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--gray)}
.bkg-name{font-family:'Inter Tight',sans-serif;font-size:23px;font-weight:700;letter-spacing:-.01em;margin:4px 0 22px}
.bkg-steps{list-style:none;margin:0 0 auto;padding:0;display:grid;gap:16px}
.bkg-steps li{position:relative;padding-left:22px;font-size:13.5px;color:var(--gray)}
.bkg-steps li b{display:block;font-weight:600;color:var(--gray)}
.bkg-steps li:before{content:"";position:absolute;left:0;top:4px;width:11px;height:11px;border-radius:50%;border:2px solid var(--line);background:#fff}
.bkg-steps li.is-active b{color:var(--black)}
.bkg-steps li.is-active:before{border-color:var(--blue-deep);background:var(--blue)}
.bkg-steps li.is-done:before{border-color:var(--blue-deep);background:var(--blue-deep)}
.bkg-hint{font-size:12.5px;color:var(--gray);line-height:1.55;margin-top:24px}
.bkg-main{padding:30px 34px;min-height:480px;display:flex;flex-direction:column}
.bkg-main h4{font-family:'Inter Tight',sans-serif;font-size:20px;font-weight:700;letter-spacing:-.01em;margin-bottom:20px}
.bkg-grid{display:grid;grid-template-columns:1fr;gap:26px}
.bkg-grid.has-slots{grid-template-columns:1.35fr 1fr}
.bkg-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.bkg-cal-head strong{font-family:'Inter Tight',sans-serif;font-size:16px;font-weight:600}
.bkg-nav{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--black);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.18s}
.bkg-nav:hover:not(:disabled){background:var(--black);color:#fff;border-color:var(--black)}
.bkg-nav:disabled{opacity:.35;cursor:default}
.bkg-dow{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:6px}
.bkg-dow span{text-align:center;font-size:11.5px;font-weight:600;color:var(--gray)}
.bkg-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.bkg-day{aspect-ratio:1;border:none;background:none;border-radius:50%;font-family:'Manrope',sans-serif;font-size:13.5px;font-weight:600;color:var(--black);cursor:pointer;transition:.15s;display:flex;align-items:center;justify-content:center}
.bkg-day:hover:not(:disabled){background:var(--blue-soft, #eaf1fa);background:#eaf1fa}
.bkg-day:disabled{color:#c4c4c0;cursor:default;font-weight:400}
.bkg-day.is-selected{background:var(--blue-deep);color:#fff}
.bkg-day.is-empty{visibility:hidden}
.bkg-slots strong{display:block;font-family:'Inter Tight',sans-serif;font-size:14px;font-weight:600;margin-bottom:12px}
.bkg-slot-list{display:grid;gap:8px;max-height:320px;overflow-y:auto;padding-right:4px}
.bkg-slot-row{display:grid;grid-template-columns:1fr;gap:6px}
.bkg-slot-row.is-picked{grid-template-columns:1fr 1fr}
.bkg-slot{border:1px solid var(--line);background:#fff;border-radius:12px;padding:11px 10px;font-family:'Manrope',sans-serif;font-size:14px;font-weight:600;color:var(--blue-deep);cursor:pointer;text-align:center;transition:.15s}
.bkg-slot:hover{border-color:var(--blue-deep)}
.bkg-slot-row.is-picked .bkg-slot{background:#eef1f4;color:var(--gray);border-color:transparent;cursor:default}
.bkg-go{display:none;border:none;border-radius:12px;background:var(--black);color:#fff;font-family:'Manrope',sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:.18s}
.bkg-slot-row.is-picked .bkg-go{display:block}
.bkg-go:hover{background:var(--blue-deep)}
.bkg-summary{font-size:14px;color:var(--gray);margin:-8px 0 18px}
.bkg-summary b{color:var(--black)}
/* modal form = light variant of the dark .form card */
.bkg-form{background:none;border:0;border-radius:0;padding:0}
.bkg-form label{color:var(--gray)}
.bkg-form input,.bkg-form select{background:#f7f7f5;border:1px solid var(--line);color:var(--black)}
.bkg-form input:focus,.bkg-form select:focus{background:#fff;border-color:var(--blue-deep)}
.bkg-form .btn{width:auto;margin-top:0}
.bkg-form .btn-ghost{border-color:rgba(6,6,6,.25);color:var(--black)}
.bkg-form .form-note{color:var(--gray)}
.bkg-actions{display:flex;gap:12px;margin-top:6px}
.bkg-actions .btn-primary{flex:1;justify-content:center}
.bkg-done{align-items:center;justify-content:center;text-align:center;display:flex;flex-direction:column;flex:1}
.bkg-done .check{width:56px;height:56px;border-radius:50%;background:var(--blue);display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.bkg-done h3{font-family:'Inter Tight',sans-serif;font-size:24px;font-weight:700;margin-bottom:10px}
.bkg-done p{font-size:15px;color:var(--gray);max-width:360px;line-height:1.6}
@media(max-width:860px){
  .bkg{grid-template-columns:1fr;max-width:520px}
  .bkg-side{border-right:0;border-bottom:1px solid var(--line);padding:24px 22px 18px}
  .bkg-logo{margin-bottom:16px}
  .bkg-steps{display:none}
  .bkg-hint{margin-top:12px}
  .bkg-main{padding:22px;min-height:0}
  .bkg-grid.has-slots{grid-template-columns:1fr}
  .bkg-slot-list{max-height:240px}
}
.ptc .pt-save{font-size:13px;color:var(--blue-deep);margin-top:12px;line-height:1.55;max-width:440px}
.ptc .pt-save b{color:var(--black);font-weight:700}
.vdt-usp{list-style:none;display:grid;gap:10px;margin:20px 0 28px}
.vdt-usp li{display:flex;align-items:center;gap:10px;font-size:14.5px;color:var(--charcoal)}
.vdt-usp svg{flex:none;color:var(--blue-deep)}
@media(max-width:900px){.vdt-grid{grid-template-columns:1fr;gap:26px}.vdt-info{padding-left:0}}

/* ===== Vehicle detail hero gallery (carousel on blue stage) ===== */
.vdt-gallery{position:relative;margin:0;background:linear-gradient(165deg,#9ec1e8 0%,var(--blue) 60%,#7aa6da 100%);border-radius:var(--radius);box-shadow:0 30px 70px rgba(95,147,207,.3)}
.vdt-gallery .car-slider-viewport{border-radius:var(--radius)}
.vdt-gallery .car-slide{min-height:clamp(300px,32vw,440px);padding:26px 56px}
.vdt-gallery .car-slide img{max-height:300px}
.vdt-gallery .car-slider-dots{position:absolute;left:0;right:0;bottom:16px;margin:0}
.vdt-gallery .car-tag{z-index:4}

/* ===== Vehicle detail: equipment / configuration ===== */
/* Equipment tabs — glassy modern segmented control (rectangular / brand-square) */
.equip-tabs{display:inline-flex;flex-wrap:wrap;gap:5px;margin:20px 0 28px;padding:5px;
  background:linear-gradient(180deg,rgba(255,255,255,.66),rgba(255,255,255,.34));
  -webkit-backdrop-filter:blur(10px) saturate(1.3);backdrop-filter:blur(10px) saturate(1.3);
  border:1px solid rgba(255,255,255,.7);
  box-shadow:0 10px 28px rgba(20,30,50,.08),inset 0 1px 0 rgba(255,255,255,.9)}
.equip-tab{position:relative;border:1px solid transparent;background:transparent;
  font-family:'Inter Tight',sans-serif;font-size:14px;font-weight:600;letter-spacing:.01em;
  color:var(--gray);padding:12px 22px;cursor:pointer;white-space:nowrap;
  transition:color .22s,background .22s,box-shadow .22s,transform .22s cubic-bezier(.2,.7,.2,1)}
.equip-tab:hover:not(.is-active){color:var(--black);background:rgba(255,255,255,.5);border-color:rgba(255,255,255,.6)}
.equip-tab.is-active{
  background:linear-gradient(155deg,rgba(48,52,60,.94),rgba(9,11,15,.94));
  -webkit-backdrop-filter:blur(8px) saturate(1.5);backdrop-filter:blur(8px) saturate(1.5);
  color:#fff;border-color:rgba(255,255,255,.16);
  box-shadow:0 8px 22px rgba(8,12,22,.32),0 0 0 1px rgba(137,180,227,.10),inset 0 1px 0 rgba(255,255,255,.22),inset 0 -1px 0 rgba(0,0,0,.38)}
.equip-tab:focus-visible{outline:2px solid var(--blue-deep);outline-offset:3px;z-index:1}
.equip-panel{margin:0}
.equip-panel:focus-visible{outline:2px solid var(--blue-deep);outline-offset:4px}
.equip-panel[hidden]{display:none}
.equip-cols{list-style:none;margin:0;padding:0;columns:3;column-gap:44px}
.equip-cols li{break-inside:avoid;position:relative;padding:0 14px 15px 28px;font-size:15px;line-height:1.4;color:var(--charcoal)}
.equip-cols li:before{content:"";position:absolute;left:0;top:1px;width:17px;height:17px;border-radius:50%;background:var(--blue-soft)}
.equip-cols li:after{content:"";position:absolute;left:5px;top:6px;width:7px;height:4px;border-left:2px solid var(--blue-deep);border-bottom:2px solid var(--blue-deep);transform:rotate(-45deg)}
.equip-note{font-size:13.5px;color:var(--gray);line-height:1.6;border-top:1px solid var(--line);margin-top:34px;padding-top:18px}
.vdt-img-note{margin-top:16px;font-size:12.5px;color:var(--gray);line-height:1.5}
@media(max-width:820px){.equip-cols{columns:2;column-gap:32px}}
@media(max-width:560px){.equip-cols{columns:1}.equip-tabs{width:100%}.equip-tab{flex:1 1 auto;padding:12px 6px;font-size:12.5px;text-align:center}}

/* ===== Vehicle detail v2 (premium restructure) ===== */
/* hero watermark */
.vdt-hero .wrap{position:relative;z-index:1}
.vdt-watermark{position:absolute;top:46%;left:50%;transform:translate(-50%,-50%);font-family:'Inter Tight',sans-serif;font-weight:800;font-size:26vw;line-height:.8;color:rgba(137,180,227,.10);z-index:0;pointer-events:none;letter-spacing:-.03em;white-space:nowrap;text-transform:uppercase}
.vdt-trust{font-size:13px;color:var(--gray);margin-top:20px;max-width:460px;line-height:1.55}
.vdt-hero-note{font-size:11px;color:var(--gray);opacity:.85;margin-top:12px;max-width:460px;line-height:1.5}

/* quick-stat cards — icon left, label+value stacked right (compact) */
.vdt-statsec{padding:8px 0 8px}
.spec-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:-40px;position:relative;z-index:2}
.spec-stat{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:center;transition:.2s;box-shadow:0 6px 22px rgba(8,18,38,.05)}
.spec-stat:hover{border-color:var(--blue);box-shadow:0 16px 38px rgba(137,180,227,.16);transform:translateY(-3px)}
.spec-ic{grid-row:1 / span 2;width:52px;height:52px;border-radius:14px;background:var(--blue-soft);color:var(--blue-deep);display:flex;align-items:center;justify-content:center}
.spec-l{grid-column:2;align-self:end;font-size:13px;color:var(--gray)}
.spec-v{grid-column:2;align-self:start;font-family:'Inter Tight',sans-serif;font-size:20px;font-weight:700;letter-spacing:-.01em;color:var(--charcoal);line-height:1.15}
.spec-ic svg{width:26px;height:26px}

/* about + glance */
.vdt-aboutsec{padding:64px 0}
.vdt-about-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:48px;align-items:start}
.vdt-about-p{font-size:16.5px;color:#33322f;line-height:1.72;margin-top:16px}
.glance-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:28px}
.glance-card h3{font-family:'Inter Tight',sans-serif;font-size:17px;font-weight:600;margin-bottom:12px}
.glance-card dl>div{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-top:1px solid var(--line);font-size:14.5px}
.glance-card dl>div:first-of-type{border-top:none}
.glance-card dt{color:var(--gray)}
.glance-card dd{font-family:'Inter Tight',sans-serif;font-weight:600;color:var(--charcoal);text-align:right}
.glance-cta{width:100%;justify-content:center;margin-top:20px}

.vdt-subhead{font-family:'Inter Tight',sans-serif;font-size:20px;font-weight:600;margin-bottom:4px}

/* ecosystem cards (reuses .incl-card) */
.eco-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.vdt-incl{margin-top:48px}

/* feature deep-dive (renders only when real feature photos provided) */
.vdt-featuresec{padding:64px 0}
.vdt-feature-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:center}
.vdt-feature-grid.reverse .vdt-feature-media{order:-1}
.vdt-feature-media{border-radius:var(--radius);min-height:380px;background-size:cover;background-position:center;box-shadow:0 20px 50px rgba(8,18,38,.16)}

/* sticky action bar */
.vdt-actionbar{position:fixed;left:0;right:0;bottom:0;z-index:60;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line);box-shadow:0 -6px 24px rgba(8,18,38,.08);transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.vdt-actionbar.is-hidden{transform:translateY(110%)}
.vdt-actionbar-in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0}
.vdt-bar-model{display:block;font-size:12.5px;color:var(--gray)}
.vdt-bar-price strong{font-family:'Inter Tight',sans-serif;font-size:22px;font-weight:700;letter-spacing:-.01em}
.vdt-bar-price small{font-size:13px;font-weight:500;color:var(--gray);margin-left:4px}
.vdt-bar-cta{display:flex;gap:10px}
.vdt-bar-cta .btn{padding:11px 20px}

@media(max-width:900px){
  .vdt-about-grid,.vdt-feature-grid{grid-template-columns:1fr;gap:28px}
  .spec-stats{grid-template-columns:1fr 1fr;margin-top:24px}
  .eco-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  .vdt-bar-cta .btn:first-child{display:none}
  .vdt-actionbar-in{padding:10px 0}
}
@media(max-width:560px){.vdt-bar-model{display:none}.vdt-bar-cta .btn{flex:1;justify-content:center}.vdt-actionbar-in{gap:12px}}

/* ===== Homepage Premium-Segment spotlight → clean white card look (matches fleet cards) ===== */
.spot-card{padding:16px 20px 22px;border-radius:22px;border:1px solid rgba(6,6,6,.07);box-shadow:0 4px 22px rgba(8,18,38,.05);overflow:visible}
.spot-card:hover{box-shadow:0 24px 50px rgba(8,18,38,.13);transform:translateY(-4px);border-color:rgba(6,6,6,.12)}
.spot-card .car-stage{aspect-ratio:1200/680;background:transparent;overflow:visible;padding-top:6px}
.spot-card .car-stage:before{display:none}
.spot-card .car-stage .ground{display:none}
.spot-card .car-stage img{position:absolute;inset:6px 0 0;transform:none;width:100%;height:auto;object-fit:contain;filter:none}
.spot-card:hover .car-stage img{transform:translateY(-4px)}

/* Showcase carousel (Premium-Segment): big zoomed black-car photo on a light studio + info sheet */
.showcase{margin:0 0 40px}
.showcase .car-slider-viewport{border-radius:0;overflow:hidden;background:transparent}
.showcase .car-slide{padding:clamp(16px,2.4vw,34px) clamp(18px,3vw,42px) clamp(36px,4vw,58px);display:block;background:transparent}
.show-media{height:clamp(220px,27vw,380px);position:relative;z-index:2;display:flex;align-items:flex-end;justify-content:center;padding:0 clamp(24px,5vw,80px)}
.show-media img{width:auto;max-width:100%;max-height:100%;filter:drop-shadow(0 22px 16px rgba(10,20,40,.22));margin-bottom:clamp(-84px,-5vw,-48px);animation:carfloat 6s ease-in-out infinite}
.show-panel{position:relative;z-index:1;background:#fff;border:1px solid rgba(6,6,6,.05);border-radius:24px;box-shadow:0 16px 40px rgba(8,18,38,.10);padding:clamp(58px,6.5vw,96px) clamp(24px,3.4vw,46px) clamp(24px,3vw,38px)}
.show-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(22px,4vw,56px);align-items:center;margin-bottom:clamp(22px,2.6vw,30px)}
.show-head h3{font-family:'Inter Tight',sans-serif;font-size:clamp(25px,3.1vw,38px);font-weight:700;letter-spacing:-.02em;line-height:1.04;margin:0}
.show-price{display:block;margin-top:8px;font-size:15px;font-weight:600;color:var(--gray)}
.show-price-plus{display:block;margin-top:3px;font-size:13px;font-weight:500;color:var(--blue-deep)}
.show-desc{font-size:clamp(15px,1.1vw,17px);color:#4b4b49;line-height:1.6;max-width:54ch}
.show-bottom{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:clamp(18px,3vw,40px);flex-wrap:wrap;border-top:1px solid rgba(6,6,6,.08);padding-top:clamp(20px,2.4vw,26px)}
.show-specs{display:flex;flex-wrap:wrap}
.show-specs>div{padding:2px 22px}
.show-specs>div:first-child{padding-left:0}
.show-specs>div+div{border-left:1px solid rgba(6,6,6,.12)}
.show-specs b{display:block;font-family:'Inter Tight',sans-serif;font-size:clamp(19px,2.1vw,26px);font-weight:700;letter-spacing:-.01em;color:var(--black);line-height:1.1}
.show-specs span{display:block;margin-top:4px;font-size:12px;color:var(--gray)}
.show-cta{display:inline-flex;align-items:center;gap:9px;background:var(--black);color:#fff;border-radius:999px;padding:15px 26px;font-family:'Inter Tight',sans-serif;font-size:15px;font-weight:600;white-space:nowrap;transition:.2s}
.show-cta:hover{background:var(--blue-deep);transform:translateY(-1px)}
.show-cta svg{flex:none}
.showcase .car-slider-arrow{top:clamp(140px,16vw,215px);width:52px;height:52px}
.showcase .car-slider-arrow.prev{left:10px}
.showcase .car-slider-arrow.next{right:10px}
.showcase .car-slider-dots{margin-top:14px}
@keyframes carfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@media(prefers-reduced-motion:reduce){.show-media img{animation:none}}
@media(max-width:760px){
  .show-media{height:clamp(150px,42vw,230px);padding:0 20px}
  .show-media img{margin-bottom:clamp(-58px,-12vw,-38px)}
  .show-panel{padding-top:clamp(46px,13vw,72px)}
  .show-top{grid-template-columns:1fr;gap:12px;align-items:start;margin-bottom:20px}
  .show-desc{max-width:none}
  .show-bottom{flex-direction:column;align-items:stretch;gap:18px}
  .show-specs{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 12px}
  .show-specs>div,.show-specs>div:first-child{padding:0}
  .show-specs>div+div{border-left:0}
  .show-cta{justify-content:center}
  .showcase .car-slider-arrow{top:clamp(74px,22vw,118px);width:42px;height:42px}
}
.spot-card .car-tag{background:#fff;border:1px solid rgba(6,6,6,.1);box-shadow:0 4px 14px rgba(8,8,8,.06);top:8px;left:8px}
.spot-card .spot-body{padding:14px 4px 4px}

/* ===== Vehicle detail v2 — critique fixes ===== */
.vdt-about-p a{color:var(--blue-deep);font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.vdt-about-p a:hover{color:var(--black)}
.vdt-about-grid .sec-head{margin-bottom:18px}
.glance-card{box-shadow:0 10px 34px rgba(8,18,38,.08)}
/* keep the fixed action bar from covering the footer / legal links */
.has-actionbar{padding-bottom:76px}
@media(max-width:560px){.has-actionbar{padding-bottom:96px}}
/* Vehicle detail: tight vertical rhythm between sections (owner request) */
.has-actionbar section{padding-top:clamp(12px,1.6vw,22px);padding-bottom:clamp(12px,1.6vw,22px)}
.has-actionbar .vdt-hero{padding-top:32px;padding-bottom:36px}
.has-actionbar .vdt-statsec{padding-top:0;padding-bottom:clamp(32px,3.6vw,54px)}
.has-actionbar .spec-stats{margin-top:-24px}
.has-actionbar .vdt-presence{padding-top:0;padding-bottom:0}
.has-actionbar .cta-band{padding-top:40px;padding-bottom:40px}

/* ===== Vehicle detail deep-dive (gallery keeps its original blue stage) ===== */

.vdt-deep-specs{margin-top:26px;border-top:1px solid var(--line)}
.vdt-deep-specs>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:15px 0;border-bottom:1px solid var(--line)}
.vdt-deep-specs dt{color:var(--gray);font-size:15px}
.vdt-deep-specs dd{font-family:'Inter Tight',sans-serif;font-weight:700;font-size:19px;letter-spacing:-.01em;color:var(--charcoal)}

.vdt-feature-media{position:relative;overflow:hidden;display:flex;align-items:flex-end}
.vdt-feature-media.is-dummy{background:linear-gradient(150deg,#20242b,#0e1116)}
.vdt-deep-ph{position:absolute;top:50%;left:50%;transform:translate(-50%,-64%);display:flex;flex-direction:column;align-items:center;gap:8px;color:rgba(255,255,255,.5);font-family:'Inter Tight',sans-serif;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.vdt-deep-cap{position:relative;z-index:1;width:100%;padding:26px 28px;background:linear-gradient(to top,rgba(0,0,0,.82),rgba(0,0,0,0))}
.vdt-deep-cap h3{font-family:'Inter Tight',sans-serif;font-size:20px;font-weight:700;color:#fff;margin-bottom:6px}
.vdt-deep-cap p{font-size:14px;color:rgba(255,255,255,.82);line-height:1.5}

/* Photo-based galleries: transparent-cutout cars floating on a clean light stage */
.vdt-gallery.is-photo{background:radial-gradient(125% 120% at 50% 22%, #ffffff 0%, #eceef1 100%)}
.vdt-gallery.is-photo .car-slide{min-height:clamp(300px,30vw,440px);padding:20px 40px}
.vdt-gallery.is-photo .car-slide img{max-height:360px}

/* Interior deep-dive: intro + highlights, then two captioned interior photos */
.vdt-interior .sec-head{margin-bottom:22px}
.vdt-interior-lead{display:grid;grid-template-columns:1.05fr 1fr;gap:20px 48px;align-items:start;margin-bottom:38px}
.vdt-interior-lead .vdt-about-p{margin:0}
.vdt-interior-highlights{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:11px 26px}
.vdt-interior-highlights li{position:relative;padding-left:26px;font-size:15px;line-height:1.4;color:var(--charcoal)}
.vdt-interior-highlights li:before{content:"";position:absolute;left:0;top:2px;width:17px;height:17px;border-radius:50%;background:var(--blue-soft)}
.vdt-interior-highlights li:after{content:"";position:absolute;left:5px;top:6px;width:7px;height:4px;border-left:2px solid var(--blue-deep);border-bottom:2px solid var(--blue-deep);transform:rotate(-45deg)}
.vdt-interior-figs{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}
.vdt-ifig{position:relative;margin:0;border-radius:var(--radius);overflow:hidden;box-shadow:0 20px 50px rgba(8,18,38,.16)}
.vdt-ifig img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.vdt-ifig figcaption{position:absolute;left:0;right:0;bottom:0;padding:38px 24px 22px;background:linear-gradient(to top,rgba(0,0,0,.85),rgba(0,0,0,0));color:#fff}
.vdt-ifig figcaption b{display:block;font-family:'Inter Tight',sans-serif;font-size:18px;font-weight:700;letter-spacing:-.01em;margin-bottom:5px}
.vdt-ifig figcaption span{font-size:13.5px;color:rgba(255,255,255,.85);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:820px){
  .vdt-interior-lead{grid-template-columns:1fr;gap:18px;margin-bottom:26px}
  .vdt-interior-figs{grid-template-columns:1fr;gap:18px}
}
@media(max-width:460px){.vdt-interior-highlights{grid-template-columns:1fr}}

/* Photo-scene galleries: real edge-to-edge photos in a uniform 16:9 frame */
.vdt-gallery.is-scene{background:#0b0e13}
.vdt-gallery.is-scene .car-slider-viewport{aspect-ratio:1376/768}
.vdt-gallery.is-scene .car-slider-track,.vdt-gallery.is-scene .car-slide{height:100%}
.vdt-gallery.is-scene .car-slide{min-height:0;padding:0}
.vdt-gallery.is-scene .car-slide img{width:100%;height:100%;max-height:none;object-fit:cover;filter:none;border-radius:0}

/* ===== Presence banner ("Imposante Präsenz" — dark cinematic band) ===== */
.vdt-presence{position:relative;overflow:hidden;display:flex;align-items:center;color:#fff;min-height:clamp(400px,42vw,560px);padding:0;background:#05070b}
.vdt-presence-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% center;z-index:0}
.vdt-presence-scrim{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(5,7,11,.95) 0%,rgba(5,7,11,.82) 26%,rgba(5,7,11,.4) 52%,rgba(5,7,11,0) 74%)}
.vdt-presence-grid{position:relative;z-index:2;width:100%;padding-top:clamp(44px,5vw,64px);padding-bottom:clamp(44px,5vw,64px)}
.vdt-presence-copy{max-width:min(56%,580px)}
.vdt-presence-copy .mono{display:block;margin-bottom:14px;color:var(--blue)}
.vdt-presence-copy h2{font-family:'Inter Tight',sans-serif;font-weight:700;font-size:clamp(22px,2.5vw,32px);line-height:1.06;letter-spacing:-.02em;margin:0 0 16px;color:#fff;white-space:nowrap}
.vdt-presence-copy p{font-size:clamp(14.5px,1.05vw,16px);line-height:1.6;color:rgba(233,237,243,.82)}
.vdt-presence-features{display:grid;grid-template-columns:1fr 1fr;gap:22px 30px;margin-top:32px}
.vdt-pf-ic{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--blue);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.16);margin-bottom:13px}
.vdt-pf h3{font-family:'Inter Tight',sans-serif;font-weight:700;font-size:16px;letter-spacing:-.01em;color:#fff;margin:0 0 6px}
.vdt-pf p{font-size:13.5px;line-height:1.55;color:rgba(233,237,243,.72);margin:0}
.vdt-presence-cta{margin-top:34px;background:#fff;color:var(--black);border:1px solid #fff;padding:14px 26px;font-weight:600;display:inline-flex;align-items:center;gap:9px}
.vdt-presence-cta:hover{background:rgba(255,255,255,.86);color:var(--black)}
.vdt-presence-copy .vdt-presence-note{margin-top:22px;font-size:11px;color:rgba(233,237,243,.55);line-height:1.5;max-width:none}
@media(max-width:900px){
  .vdt-presence{min-height:clamp(520px,86vw,640px)}
  .vdt-presence-copy{max-width:none}
  .vdt-presence-copy h2{white-space:normal}
  .vdt-presence-bg{object-position:64% center}
  .vdt-presence-scrim{background:linear-gradient(180deg,rgba(5,7,11,.66) 0%,rgba(5,7,11,.82) 58%,rgba(5,7,11,.92) 100%)}
}
@media(max-width:560px){.vdt-presence-features{grid-template-columns:1fr;gap:20px}.vdt-presence-cta{width:100%;justify-content:center}}

/* ===== Image lightbox ===== */
.cl-lightbox{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:rgba(6,8,12,.93);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.cl-lightbox[hidden]{display:none}
.cl-backdrop{position:absolute;inset:0;border:0;margin:0;padding:0;background:transparent;cursor:zoom-out}
.cl-stage{position:relative;z-index:1;margin:0;max-width:92vw;max-height:86vh;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none}
.cl-img{max-width:92vw;max-height:86vh;object-fit:contain;display:block;user-select:none;-webkit-user-drag:none;transition:transform .28s cubic-bezier(.2,.7,.2,1);will-change:transform;cursor:zoom-in}
.cl-lightbox.is-zoomed .cl-img{cursor:grab;transition:none}
.cl-lightbox.is-zoomed .cl-img:active{cursor:grabbing}
.cl-counter{position:absolute;top:22px;left:50%;transform:translateX(-50%);z-index:3;color:#fff;font-family:'Inter Tight',sans-serif;font-size:13px;letter-spacing:.02em;background:rgba(0,0,0,.42);padding:6px 14px}
.cl-btn{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.26);color:#fff;width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .16s,opacity .16s;padding:0}
.cl-btn:hover{background:rgba(255,255,255,.22)}
.cl-btn:disabled{opacity:.35;cursor:default}
.cl-close{position:absolute;z-index:3;top:18px;right:18px}
.cl-zoomctl{position:absolute;z-index:3;bottom:22px;left:50%;transform:translateX(-50%);display:flex;gap:8px}
.cl-arrow{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:52px;height:52px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.26);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .16s}
.cl-arrow:hover{background:rgba(255,255,255,.22)}
.cl-prev{left:18px}.cl-next{right:18px}
.cl-arrow[hidden]{display:none}
@media(prefers-reduced-motion:reduce){.cl-img{transition:none}}
@media(max-width:600px){.cl-close{top:10px;right:10px}.cl-arrow{width:44px;height:44px}.cl-prev{left:6px}.cl-next{right:6px}.cl-stage,.cl-img{max-width:96vw}}

/* ===== Cookie banner (Consent Mode v2) ===== */
.cns{position:fixed;left:0;right:0;bottom:0;z-index:210;display:flex;justify-content:center;padding:16px;pointer-events:none}
.cns[hidden]{display:none}
.cns-box{pointer-events:auto;width:min(680px,100%);background:var(--white);border:1px solid var(--line);border-radius:18px;
  box-shadow:0 24px 64px rgba(8,18,38,.22);padding:24px 26px;display:flex;flex-direction:column;gap:12px;
  max-height:calc(100vh - 32px);overflow-y:auto}
.cns-title{font-family:'Inter Tight',sans-serif;font-size:19px;font-weight:650;letter-spacing:-.015em;margin:0}
.cns-text{font-size:14.5px;color:var(--gray);line-height:1.6;margin:0}
.cns-text a{color:var(--blue-deep);text-decoration:underline;text-underline-offset:2px}
.cns-opts{display:flex;flex-direction:column;gap:10px;margin-top:2px;padding:14px 0 2px;border-top:1px solid var(--line)}
.cns-opts[hidden]{display:none}
.cns-opt{display:flex;gap:11px;align-items:flex-start;font-size:14px;color:var(--gray);line-height:1.5;cursor:pointer}
.cns-opt input{margin-top:3px;flex:none;width:17px;height:17px;accent-color:var(--blue-deep);cursor:pointer}
.cns-opt input:disabled{cursor:default;opacity:.65}
.cns-opt b{display:block;color:var(--black);font-family:'Inter Tight',sans-serif;font-size:14.5px;font-weight:650;margin-bottom:1px}
.cns-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:4px}
.cns-actions .btn{padding:11px 18px;font-size:14.5px}
.cns-save[hidden]{display:none}
.cns-legal{font-size:12.5px;color:var(--gray);margin:2px 0 0}
.cns-legal a{color:var(--gray);text-decoration:underline;text-underline-offset:2px}
/* keep the floating widget clear of the banner while it is open */
.cns:not([hidden])~.ber-fab{bottom:calc(100% + 0px)}
@media(max-width:560px){
  .cns{padding:10px}
  .cns-box{padding:20px 18px;border-radius:15px}
  .cns-actions .btn{flex:1 1 100%;justify-content:center}
}
@media print{.cns{display:none}}

/* Datenschutz: open items that must be resolved before go-live */
.legal-intro{font-size:17px;color:var(--gray);line-height:1.65;margin-bottom:8px}
.legal-todo{border-left:3px solid #b8860b;background:rgba(184,134,11,.07);padding:12px 15px;border-radius:0 7px 7px 0;font-size:14.5px;line-height:1.6}
.legal-todo b{color:#7a5a08}

/* honeypot: off-screen, never focusable, never announced */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
/* explicit consent checkbox */
.form-consent{margin-top:2px}
.consent-line{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--gray);line-height:1.55;cursor:pointer}
.consent-line input{margin-top:3px;flex:none;width:17px;height:17px;accent-color:var(--blue-deep);cursor:pointer}
.consent-line a{color:var(--blue-deep);text-decoration:underline;text-underline-offset:2px}

/* ===== Safari / iOS fixes =====
   iOS Safari force-zooms the page whenever a focused text control has a
   font-size below 16px, and it never zooms back out. Tapping through a form
   therefore feels like the page zooms in further with every field. The fix is
   the font-size itself, NOT viewport user-scalable=no, which would also disable
   pinch-zoom and break WCAG 1.4.4. */
input, textarea, select,
.form input, .form textarea, .form select,
.fleet-select, .bkg-form input, .bkg-form select, .bkg-form textarea {
  font-size: 16px;
}
/* Stop Safari inflating text when the phone is rotated to landscape. */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
/* REMOVED 2026-08-15: `overflow-x: clip` + `max-width` on the root element made
   Safari fail to paint parts of the vehicle cards (blank image areas, missing
   "3.000 km", invisible button labels) and compound transforms on scroll, which
   read as the card zooming further and further in. Chrome was unaffected.
   It was defensive only: the page has no measured horizontal overflow, so the
   rule bought nothing and cost a Safari rendering bug. Do not reintroduce it on
   html/body. If overflow ever needs containing, scope it to the offending
   section, never the root. */
/* iOS counts the URL bar in 100vh/vh units, so tall panels jump as it hides.
   Use the dynamic viewport unit where supported. */
@supports (height: 100dvh) {
  .bkg { max-height: 86dvh; }
  .cns-box { max-height: calc(100dvh - 32px); }
}
