:root{
  --bg:#070707;
  --panel:#101010;
  --panel2:#151515;
  --text:#f5f3ef;
  --muted:#aaa59c;
  --line:rgba(255,255,255,.11);
  --gold:#c99743;
  --gold2:#e0b665;
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.55;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
.nav{
  height:76px;position:fixed;left:0;right:0;top:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;padding:0 5vw;
  background:linear-gradient(to bottom,rgba(0,0,0,.93),rgba(0,0,0,.38));
  border-bottom:1px solid transparent;transition:.25s
}
.nav.scrolled{background:rgba(7,7,7,.94);backdrop-filter:blur(16px);border-color:var(--line)}
.brand{display:flex;flex-direction:column;letter-spacing:.28em;font-weight:500}
.brand small{font-size:.55rem;color:var(--gold2);letter-spacing:.46em}
.z{position:relative}.z:after{content:"";position:absolute;left:10%;right:10%;top:48%;height:2px;background:var(--gold2)}
.nav-links{display:flex;gap:28px;font-size:.86rem;color:#d3cfc7}
.nav-links a:hover{color:var(--gold2)}
.nav-button{border:1px solid rgba(224,182,101,.48);padding:11px 15px;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}
.hero{
  min-height:100svh;display:flex;align-items:flex-end;position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 75% 30%,rgba(202,151,67,.14),transparent 23%),
    linear-gradient(115deg,#050505 0%,#0a0a0a 42%,#16120d 100%);
}
.hero:before{
  content:"";position:absolute;inset:0;opacity:.33;
  background-image:url("assets/coming-soon.png");
  background-position:70% center;background-size:cover;filter:contrast(1.12) saturate(.7);
}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.95) 0%,rgba(0,0,0,.75) 43%,rgba(0,0,0,.2) 75%),linear-gradient(to top,rgba(0,0,0,.96),transparent 45%)}
.hero-inner{position:relative;z-index:2;padding:0 6vw 9vh;width:min(780px,94vw)}
.kicker{color:var(--gold2);text-transform:uppercase;letter-spacing:.28em;font-size:.73rem;margin-bottom:15px}
.hero h1{font-size:clamp(4rem,10vw,9rem);line-height:.82;margin:0;font-weight:400;letter-spacing:-.05em}
.hero h1 span{color:var(--gold2)}
.lead{font-size:clamp(1.05rem,2vw,1.35rem);max-width:650px;color:#d5d0c8;margin:26px 0}
.hero-actions,.vehicle-actions{display:flex;gap:12px;flex-wrap:wrap}
.button{
  min-height:52px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--line);text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;
  cursor:pointer;transition:.2s;background:none;color:var(--text)
}
.button.primary{background:linear-gradient(135deg,var(--gold),var(--gold2));border:0;color:#080808;font-weight:750}
.button.primary:hover{transform:translateY(-2px);box-shadow:0 12px 35px rgba(201,151,67,.18)}
.button.ghost:hover{border-color:var(--gold2);color:var(--gold2)}
.location-line{margin-top:28px;color:#c8c3bb;font-size:.9rem}
section{padding:105px max(5vw,calc((100vw - var(--max))/2))}
.intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;border-bottom:1px solid var(--line)}
.intro h2,.section-title h2,.booking h2,.video-placeholder h2{font-size:clamp(2.2rem,4.6vw,4.7rem);line-height:1.04;font-weight:400;margin:0}
.intro>p,.section-title>p{color:var(--muted);max-width:600px;align-self:end}
.section-title{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:42px}
.fleet{background:linear-gradient(180deg,#090909,#0e0e0e)}
.vehicle-card{display:grid;grid-template-columns:1.13fr .87fr;border:1px solid var(--line);background:#0c0c0c}
.vehicle-visual{min-height:620px;position:relative;overflow:hidden;background:#000}
.vehicle-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.75)}
.vehicle-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.55),transparent 45%)}
.status{position:absolute;z-index:2;top:22px;left:22px;padding:8px 12px;border:1px solid rgba(255,255,255,.24);background:rgba(0,0,0,.6);backdrop-filter:blur(8px);text-transform:uppercase;letter-spacing:.16em;font-size:.7rem}
.vehicle-copy{padding:55px;display:flex;flex-direction:column;justify-content:center}
.vehicle-copy h3{font-size:clamp(2.6rem,5.5vw,5.6rem);font-weight:400;line-height:.95;margin:0 0 20px}
.vehicle-text{color:var(--muted);font-size:1.03rem}
.spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin:25px 0}
.spec-grid div{padding:18px 0;border-top:1px solid var(--line)}
.spec-grid strong{font-size:1.35rem;font-weight:500;display:block}
.spec-grid span{font-size:.69rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}
.feature-tags,.city-chips{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 14px}
.feature-tags span,.city-chips span{border:1px solid var(--line);padding:8px 11px;font-size:.75rem;color:#d6d1c8}
.muted{color:var(--muted)}
.video-section{padding-top:0}
.video-placeholder{
  min-height:430px;border:1px solid var(--line);
  background:radial-gradient(circle at 68% 40%,rgba(201,151,67,.18),transparent 27%),linear-gradient(125deg,#090909,#15120e);
  display:flex;align-items:center;justify-content:center;gap:30px;padding:50px;text-align:left
}
.play{width:80px;height:80px;border-radius:999px;border:1px solid rgba(224,182,101,.5);display:grid;place-items:center;color:var(--gold2);font-size:1.4rem}
.video-placeholder p{max-width:660px;color:var(--muted)}
.location{background:#efede8;color:#111}
.location .kicker{color:#8c6427}
.location .section-title>p,.location .muted{color:#625d55}
.location-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:stretch}
.map-card{min-height:520px;position:relative;overflow:hidden;background:#d9d5cd;border:1px solid rgba(0,0,0,.15)}
.map-card:before,.map-card:after,.map-lines:before,.map-lines:after{
  content:"";position:absolute;background:rgba(0,0,0,.10);transform:rotate(-18deg)
}
.map-card:before{width:140%;height:1px;left:-15%;top:25%}
.map-card:after{width:140%;height:1px;left:-15%;top:58%}
.map-lines:before{width:1px;height:140%;left:35%;top:-15%;transform:rotate(18deg)}
.map-lines:after{width:1px;height:140%;left:69%;top:-15%;transform:rotate(-12deg)}
.main-pin{position:absolute;left:52%;top:49%;color:#9a6925;font-size:2.2rem}
.main-pin span{display:block;font-size:.95rem;color:#111;background:#f4f1ea;padding:7px 10px;border:1px solid rgba(0,0,0,.12);margin-left:-40px;white-space:nowrap}
.city{position:absolute;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#504c46}
.c1{left:18%;top:18%}.c2{right:14%;bottom:20%}.c3{left:22%;bottom:28%}.c4{right:16%;top:25%}.c5{left:44%;bottom:12%}.c6{left:17%;top:59%}
.location-copy{display:flex;flex-direction:column;justify-content:center}
.location-copy h3{font-size:2.1rem;font-weight:500;margin:0 0 16px}
.booking{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;background:#090909;border-top:1px solid var(--line)}
.booking-copy>p{color:var(--muted);max-width:540px}
.steps{margin-top:35px;border-top:1px solid var(--line)}
.steps div{display:flex;gap:18px;padding:15px 0;border-bottom:1px solid var(--line)}
.steps b{color:var(--gold2);font-weight:500}
.booking-panel{background:#111;border:1px solid var(--line);padding:34px;box-shadow:0 35px 80px rgba(0,0,0,.28)}
.test-badge{font-size:.7rem;text-transform:uppercase;letter-spacing:.13em;color:#d8ad5e;margin-bottom:20px}
form{display:grid;gap:14px}
label{display:grid;gap:7px;font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;color:#c6c1b8}
input,select,textarea{width:100%;background:#090909;border:1px solid var(--line);color:white;padding:14px;outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--gold2)}
textarea{min-height:100px;resize:vertical}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.price-box{padding:20px;border:1px solid rgba(224,182,101,.32);background:rgba(201,151,67,.05);display:grid;gap:4px}
.price-box span{font-size:.73rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.price-box strong{font-size:2rem;color:var(--gold2)}
.price-box small{color:var(--muted)}
.full{width:100%}
.form-note{font-size:.76rem;color:var(--muted);margin:0}
.success{padding:14px;border:1px solid rgba(108,193,128,.35);background:rgba(108,193,128,.07);color:#cde7d3;font-size:.86rem}
.automation{background:#111;border-top:1px solid var(--line)}
.automation-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.automation-grid article{background:#0b0b0b;padding:30px;min-height:220px}
.automation-grid span{color:var(--gold2);font-size:.72rem}
.automation-grid h3{margin:45px 0 10px;font-size:1.25rem}
.automation-grid p{margin:0;color:var(--muted);font-size:.9rem}
.faq details{border-top:1px solid var(--line);padding:20px 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;font-size:1.05rem}
.faq details p{color:var(--muted);max-width:850px}
.cta{display:grid;grid-template-columns:180px 1fr auto;gap:35px;align-items:center;background:#f0eee9;color:#111}
.cta img{width:180px;border-radius:2px}
.cta h2{font-size:2.2rem;font-weight:450;margin:0 0 7px}
.cta p{margin:0;color:#5e5951}
footer{padding:45px 6vw;display:grid;grid-template-columns:1fr 2fr auto;gap:30px;border-top:1px solid var(--line);color:#8e8981;font-size:.8rem}
footer>div:first-child{display:grid;gap:5px}
.footer-links{display:flex;gap:18px;flex-wrap:wrap}
.footer-links a:hover{color:var(--gold2)}
@media(max-width:980px){
  .nav-links{display:none}
  .intro,.vehicle-card,.location-grid,.booking{grid-template-columns:1fr}
  .vehicle-visual{min-height:520px}
  .section-title{align-items:flex-start;flex-direction:column}
  .automation-grid{grid-template-columns:1fr 1fr}
  .cta{grid-template-columns:120px 1fr}.cta>a{grid-column:1/-1}
  footer{grid-template-columns:1fr}
}
@media(max-width:640px){
  .nav{height:66px}.nav-button{display:none}
  section{padding:75px 6vw}
  .hero-inner{padding-left:6vw;padding-bottom:8vh}
  .vehicle-copy{padding:30px 24px}
  .vehicle-visual{min-height:390px}
  .two-col{grid-template-columns:1fr}
  .automation-grid{grid-template-columns:1fr}
  .video-placeholder{flex-direction:column;align-items:flex-start}
  .cta{grid-template-columns:1fr}.cta img{width:150px}
}


/* ===== HORIZON SCHWABEN V2 ===== */
.brand-logo{display:flex;align-items:center;width:148px;height:68px;letter-spacing:0}
.brand-logo img{width:148px;height:64px;object-fit:contain;object-position:left center}

/* Helleres, klar erkennbares Performance-Fahrzeug als Hero.
   Das echte RS6-Foto kann später 1:1 an dieser Stelle ersetzt werden. */
.hero:before{
  opacity:.78;
  background-image:url("https://images.pexels.com/photos/5287537/pexels-photo-5287537.jpeg?auto=compress&cs=tinysrgb&w=1920");
  background-position:center 58%;
  background-size:cover;
  filter:saturate(.72) contrast(1.08) brightness(.88);
}
.hero-overlay{
  background:
    linear-gradient(90deg,rgba(0,0,0,.91) 0%,rgba(0,0,0,.65) 42%,rgba(0,0,0,.13) 78%),
    linear-gradient(to top,rgba(0,0,0,.92),transparent 50%);
}

/* Echte Kartenbasis statt gezeichneter Fantasie-Karte */
.real-map{position:relative;background:#d8d5ce}
.real-map iframe{
  position:absolute;inset:0;width:100%;height:100%;border:0;
  filter:grayscale(1) contrast(.88) brightness(1.08);
}
.map-labels{position:absolute;inset:0;pointer-events:none}
.map-city{
  position:absolute;padding:5px 8px;color:#090909;
  background:rgba(245,242,235,.86);border:1px solid rgba(0,0,0,.08);
  font-weight:900;font-size:clamp(.62rem,.9vw,.82rem);letter-spacing:.055em;
  box-shadow:0 2px 10px rgba(0,0,0,.12);
}
.map-city.babenhausen{
  left:54%;top:52%;transform:translate(-50%,-50%);
  color:#8a5d19;border:1px solid rgba(138,93,25,.38);font-size:.88rem;
}
.map-city.ulm{left:18%;top:28%}
.map-city.guenzburg{left:38%;top:15%}
.map-city.illertissen{left:27%;top:51%}
.map-city.krumbach{left:66%;top:43%}
.map-city.memmingen{left:38%;top:79%}
.map-city.mindelheim{left:68%;top:80%}

.calendar-hint{
  padding:10px 12px;border:1px solid rgba(224,182,101,.24);
  background:rgba(201,151,67,.055);color:#dcb76e;
  font-size:.74rem;letter-spacing:.035em;
}
input[type="date"]{cursor:pointer;color-scheme:dark}

@media(max-width:640px){
  .brand-logo,.brand-logo img{width:112px}
  .map-city{font-size:.55rem;padding:4px 5px}
}


/* ===== HORIZON SCHWABEN V3 ===== */

/* Larger, complete brand mark in navigation */
.nav{height:92px;padding-left:3.4vw;padding-right:4vw}
.brand-logo{width:205px;height:86px;display:flex;align-items:center}
.brand-logo img{width:205px;height:82px;object-fit:contain;object-position:left center}

/* GT3 Clubsport-style hero image from approved concept */
.hero:before{
  opacity:1;
  background-image:url("assets/hero-gt3-clubsport.jpg");
  background-size:cover;
  background-position:center right;
  filter:none;
}
.hero-overlay{
  background:
    linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.78) 35%,rgba(0,0,0,.22) 68%,rgba(0,0,0,.05) 100%),
    linear-gradient(to top,rgba(0,0,0,.94),transparent 58%);
}

/* Supplied regional map */
.regional-map{
  min-height:560px;position:relative;overflow:hidden;background:#111;
  border:1px solid rgba(0,0,0,.15);
}
.regional-map>img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:saturate(.78) contrast(1.08);
}
.regional-map:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to bottom,rgba(0,0,0,.05),rgba(0,0,0,.14));
  pointer-events:none;
}
.regional-labels{position:absolute;inset:0;z-index:3;pointer-events:none}
.regional-city{
  position:absolute;
  padding:7px 10px;
  background:rgba(4,4,4,.84);
  color:#f4bd59;
  border:1px solid rgba(224,182,101,.8);
  font-weight:900;
  font-size:clamp(.68rem,1.05vw,.92rem);
  letter-spacing:.055em;
  box-shadow:0 3px 12px rgba(0,0,0,.38);
  white-space:nowrap;
}
.regional-city.babenhausen{
  left:52.1%;top:54.1%;
  transform:translate(-50%,-50%);
  font-size:1rem;
  color:#090909;
  background:linear-gradient(135deg,#c99743,#e0b665);
  border-color:#e0b665;
}
.regional-city.ulm{left:31%;top:8%}
.regional-city.guenzburg{left:54%;top:1.5%}
.regional-city.illertissen{left:38.2%;top:41%}
.regional-city.krumbach{left:59%;top:35%}
.regional-city.memmingen{left:43.4%;top:79%}
.regional-city.mindelheim{left:67%;top:69%}

/* Cleaner booking date affordance */
input[type="date"]{
  min-height:52px;
  padding-right:42px;
  cursor:pointer;
}
.calendar-hint{
  border-left:3px solid var(--gold2);
  background:rgba(201,151,67,.065);
}

/* Slightly more premium header spacing */
@media(max-width:980px){
  .nav{height:80px}
  .brand-logo,.brand-logo img{width:170px}
}
@media(max-width:640px){
  .nav{height:72px;padding-left:4vw}
  .brand-logo,.brand-logo img{width:142px;height:66px}
  .regional-map{min-height:420px}
  .regional-city{font-size:.55rem;padding:4px 6px}
  .regional-city.babenhausen{font-size:.65rem}
}


/* ===== HORIZON SCHWABEN V4 ===== */

/* Größeres vollständiges Logo links oben */
.nav{
  height:108px;
  padding-left:3vw;
  padding-right:4vw;
}
.brand-logo{
  width:260px;
  height:100px;
}
.brand-logo img{
  width:260px;
  height:96px;
  object-fit:contain;
  object-position:left center;
}

/* Neuer Audi-RS6-Hero */
.hero:before{
  opacity:1;
  background-image:url("assets/hero-rs6.jpg");
  background-size:cover;
  background-position:center right;
  filter:none;
}
.hero-overlay{
  background:
    linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.78) 36%,rgba(0,0,0,.18) 70%,rgba(0,0,0,.03) 100%),
    linear-gradient(to top,rgba(0,0,0,.92),transparent 60%);
}

/* Standorte rechts neben der Karte kräftiger */
.location-copy .city-chips{
  gap:10px;
  margin-top:20px;
  margin-bottom:22px;
}
.location-copy .city-chips span{
  border:2px solid #111;
  background:#111;
  color:#e0b665;
  padding:10px 14px;
  font-size:.84rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  box-shadow:0 3px 10px rgba(0,0,0,.10);
}
.location-copy .city-chips span:first-child{
  background:linear-gradient(135deg,#c99743,#e0b665);
  color:#090909;
  border-color:#c99743;
}

/* Auch direkt auf der Karte stärkere Ortsnamen */
.regional-city{
  font-weight:950;
  border-width:2px;
}
.regional-city.babenhausen{
  font-weight:950;
}

@media(max-width:980px){
  .nav{height:90px}
  .brand-logo,.brand-logo img{width:215px;height:84px}
}
@media(max-width:640px){
  .nav{height:78px}
  .brand-logo,.brand-logo img{width:170px;height:72px}
}


/* ===== HORIZON SCHWABEN V5 – RESPONSIVE HERO ===== */
.brand-wordmark{
  width:auto;height:auto;display:flex;flex-direction:column;justify-content:center;
  line-height:1;text-decoration:none;min-width:235px;
}
.brand-wordmark .horizon-word{
  font-size:1.62rem;font-weight:700;letter-spacing:.31em;color:#f4f4f4;
  white-space:nowrap;
}
.brand-wordmark .horizon-word .z{color:#d7a14b}
.brand-wordmark .schwaben-word{
  margin-top:8px;font-size:.82rem;font-weight:700;letter-spacing:.52em;
  color:#d7a14b;white-space:nowrap;
}

/* Desktop/laptop: fixed visual height, original image proportions preserved via cover */
.hero{
  min-height:clamp(650px,78vh,880px);
  overflow:hidden;
}
.hero:before{
  background-image:url("assets/hero-rs6.jpg");
  background-repeat:no-repeat;
  background-size:cover !important;
  background-position:68% center !important;
  transform:none !important;
}
.hero-inner{
  min-height:clamp(650px,78vh,880px);
  display:flex;flex-direction:column;justify-content:center;
}

/* Wide laptop / desktop */
@media (min-width:1200px){
  .hero:before{background-position:72% center !important}
  .hero-inner{max-width:1240px}
}

/* Tablet */
@media (min-width:641px) and (max-width:1199px){
  .nav{height:88px}
  .brand-wordmark{min-width:195px}
  .brand-wordmark .horizon-word{font-size:1.32rem}
  .brand-wordmark .schwaben-word{font-size:.68rem}
  .hero{min-height:690px}
  .hero-inner{min-height:690px}
  .hero:before{background-position:66% center !important}
}

/* Smartphone: same site, responsive layout—not a separate website */
@media (max-width:640px){
  .nav{height:72px}
  .brand-wordmark{min-width:150px}
  .brand-wordmark .horizon-word{font-size:1.03rem;letter-spacing:.25em}
  .brand-wordmark .schwaben-word{font-size:.56rem;letter-spacing:.42em;margin-top:6px}
  .hero{min-height:720px}
  .hero-inner{min-height:720px;justify-content:flex-end;padding-bottom:62px}
  .hero:before{
    background-size:cover !important;
    background-position:67% center !important;
  }
  .hero-overlay{
    background:
      linear-gradient(to top,rgba(0,0,0,.98) 0%,rgba(0,0,0,.78) 43%,rgba(0,0,0,.18) 72%),
      linear-gradient(90deg,rgba(0,0,0,.50),rgba(0,0,0,.05));
  }
}


/* ===== HORIZON SCHWABEN V6 =====
   Desktop fix: RS6 is now a normal image element, not a stretched background. */

.brand-original{
  width:270px;
  height:82px;
  display:flex;
  align-items:center;
  overflow:hidden;
}
.brand-original img{
  width:270px;
  height:auto;
  display:block;
  object-fit:contain;
}

/* Neutral cinematic hero background */
.hero{
  position:relative;
  background:
    radial-gradient(circle at 76% 40%, rgba(201,151,67,.10), transparent 28%),
    linear-gradient(115deg,#050505 0%,#090909 52%,#14100c 100%);
}

/* Disable all old pseudo-background car rules from previous versions. */
.hero:before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:none !important;
  opacity:1 !important;
  transform:none !important;
  filter:none !important;
}

/* Real, sharp RS6 image. It keeps its original aspect ratio. */
.hero-car{
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-48%);
  width:min(58vw,980px);
  height:auto;
  max-height:78%;
  object-fit:contain;
  object-position:right center;
  z-index:1;
  pointer-events:none;
  user-select:none;
}

/* Text always stays readable over the left side. */
.hero-overlay{
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(0,0,0,.98) 0%,rgba(0,0,0,.93) 27%,rgba(0,0,0,.63) 47%,rgba(0,0,0,.08) 72%,rgba(0,0,0,0) 100%),
    linear-gradient(to top,rgba(0,0,0,.88),transparent 58%) !important;
}
.hero-inner{
  position:relative;
  z-index:3;
}

/* Desktop / laptop */
@media(min-width:1200px){
  .hero-car{
    width:min(58vw,1000px);
    right:1.5vw;
    transform:translateY(-46%);
  }
}

/* Normal laptop / tablet */
@media(min-width:641px) and (max-width:1199px){
  .brand-original,.brand-original img{width:220px}
  .hero-car{
    width:64vw;
    right:-9vw;
    transform:translateY(-44%);
  }
}

/* Phone: same website, different responsive placement */
@media(max-width:640px){
  .brand-original,.brand-original img{width:165px}
  .hero{
    min-height:760px;
  }
  .hero-car{
    width:128vw;
    max-height:none;
    right:-46vw;
    top:29%;
    transform:none;
    opacity:.92;
  }
  .hero-overlay{
    background:
      linear-gradient(to top,rgba(0,0,0,.99) 0%,rgba(0,0,0,.91) 47%,rgba(0,0,0,.16) 76%),
      linear-gradient(90deg,rgba(0,0,0,.45),rgba(0,0,0,.04)) !important;
  }
}

/* ===== V7 ===== */
@media(min-width:1200px){
  .hero-car{transform:translateY(-54%) !important;}
}
@media(min-width:641px) and (max-width:1199px){
  .hero-car{transform:translateY(-50%) !important;}
}
.legal-page{min-height:100vh;background:#080808;color:#f5f3ef;padding:150px max(6vw,calc((100vw - 980px)/2)) 90px;}
.legal-page .legal-kicker{color:#e0b665;text-transform:uppercase;letter-spacing:.22em;font-size:.75rem;margin-bottom:14px;}
.legal-page h1{font-size:clamp(2.6rem,6vw,5rem);font-weight:400;line-height:1;margin:0 0 28px;}
.legal-page h2{margin-top:34px;font-size:1.35rem;font-weight:600;}
.legal-page p,.legal-page li{color:#c8c3bb;line-height:1.75;}
.legal-page a{color:#e0b665;}
.legal-card{border:1px solid rgba(255,255,255,.12);background:#101010;padding:26px;margin:24px 0;}
.legal-note{border-left:3px solid #e0b665;padding:14px 16px;background:rgba(201,151,67,.07);color:#d9d2c8;}
.legal-nav{position:fixed;left:0;right:0;top:0;height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:rgba(7,7,7,.96);border-bottom:1px solid rgba(255,255,255,.10);z-index:20;}
.legal-nav .mini-brand{font-weight:800;letter-spacing:.25em;}
.legal-nav .mini-brand span{color:#d7a14b;}
.legal-nav a.back{border:1px solid rgba(224,182,101,.45);padding:10px 14px;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;}


/* ===== HORIZON SCHWABEN V8 – Hero occasions ===== */
.occasion-strip{
  margin-top:22px;
  display:flex;
  flex-wrap:wrap;
  gap:10px 22px;
  max-width:760px;
}
.occasion-strip span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#f1eee8;
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.045em;
  text-transform:uppercase;
}
.occasion-strip b{
  color:var(--gold2);
  font-size:1.15rem;
  line-height:1;
  transform:translateY(-1px);
}
@media(max-width:640px){
  .occasion-strip{
    margin-top:18px;
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }
  .occasion-strip span{
    font-size:.73rem;
  }
}


/* ===== V8B – NUR RS6-POSITION ===== */
/* RS6 im oberen Home-Bereich ca. 1,5 cm weiter nach oben. */
@media(min-width:1200px){
  .hero-car{
    top:calc(50% - 57px) !important;
    transform:translateY(-54%) !important;
  }
}
@media(min-width:641px) and (max-width:1199px){
  .hero-car{
    top:calc(50% - 45px) !important;
    transform:translateY(-50%) !important;
  }
}


/* ===== V8C – RS6 NOCH HÖHER ===== */
@media(min-width:1200px){
  .hero-car{
    top:calc(50% - 105px) !important;
  }
}
@media(min-width:641px) and (max-width:1199px){
  .hero-car{
    top:calc(50% - 85px) !important;
  }
}


/* ===== V9.1 – M4 image correction / real vehicle gallery ===== */

/* Hero uses the clean alpine M4 image as a full background-style visual.
   No advertising artwork, no price text, no overlapping typography inside the photo. */
.hero-car.hero-car-full{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform:none !important;
  opacity:1 !important;
  z-index:1;
}
.hero .hero-overlay{
  z-index:2;
  background:
    linear-gradient(90deg,rgba(0,0,0,.93) 0%,rgba(0,0,0,.75) 34%,rgba(0,0,0,.23) 63%,rgba(0,0,0,.05) 100%),
    linear-gradient(to top,rgba(0,0,0,.83),transparent 55%) !important;
}
.hero .hero-inner{z-index:3}

/* The real dealer photos remain visually original.
   The dealer header is hidden inside the website crop, not baked into the source file. */
.vehicle-gallery{
  min-height:620px;
  display:flex;
  flex-direction:column;
  background:#050505;
}
.vehicle-main-photo{
  position:relative;
  flex:1;
  min-height:520px;
  overflow:hidden;
}
.vehicle-main-photo > img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 72%;
  transform:scale(1.13);
  transform-origin:center center;
  filter:none;
}
.dealer-mask{
  position:absolute;
  z-index:2;
  top:0; left:0; right:0;
  height:13%;
  background:linear-gradient(to bottom,#050505 0%,rgba(5,5,5,.96) 72%,rgba(5,5,5,0) 100%);
  pointer-events:none;
}

/* Horizon plate sits over the dealer plate on the primary front images. */
.horizon-plate{
  position:absolute;
  z-index:4;
  left:34.7%;
  top:57.4%;
  transform:translate(-50%,-50%);
  width:25.5%;
  min-width:118px;
  max-width:205px;
  height:8.7%;
  min-height:38px;
  background:#0a0a0a;
  border:1px solid rgba(224,182,101,.45);
  box-shadow:0 4px 14px rgba(0,0,0,.35);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  color:#f4f1ea;
  letter-spacing:.24em;
  line-height:1;
  pointer-events:none;
}
.horizon-plate strong{font-size:clamp(.58rem,1vw,.95rem);font-weight:600}
.horizon-plate span{font-size:clamp(.32rem,.55vw,.52rem);color:var(--gold2);margin-top:4px;letter-spacing:.35em}

.vehicle-thumbs{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:var(--line);
  border-top:1px solid var(--line);
  min-height:98px;
}
.vehicle-thumb{
  position:relative;
  border:0;
  margin:0;
  padding:0;
  overflow:hidden;
  background:#090909;
  cursor:pointer;
  min-height:96px;
}
.vehicle-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 73%;
  transform:scale(1.18);
  filter:saturate(.82) brightness(.84);
  transition:.2s;
}
.vehicle-thumb:hover img,.vehicle-thumb.active img{filter:saturate(1) brightness(1)}
.vehicle-thumb.active:after{
  content:"";
  position:absolute;
  left:12px;right:12px;bottom:7px;
  height:2px;background:var(--gold2);
}

@media(max-width:980px){
  .hero-car.hero-car-full{object-position:60% center !important}
  .vehicle-main-photo{min-height:480px}
}
@media(max-width:640px){
  .hero-car.hero-car-full{
    object-position:63% center !important;
    transform:none !important;
  }
  .vehicle-gallery{min-height:auto}
  .vehicle-main-photo{min-height:380px}
  .vehicle-main-photo > img{
    object-position:center 72%;
    transform:scale(1.15);
  }
  .dealer-mask{height:14%}
  .horizon-plate{
    left:34.5%;top:57%;
    width:29%;min-width:92px;
    min-height:30px;
  }
  .vehicle-thumbs{min-height:76px}
  .vehicle-thumb{min-height:74px}
}

/* ===== V10 – user-directed M4 corrections ===== */
/* Hero image: move the car farther right and slightly reduce visual size so it does not overlap the heading. */
.hero-car.hero-car-full{
  object-position: 72% center !important;
  transform: scale(.92) !important;
  transform-origin: center center !important;
}
.hero .hero-overlay{
  background:
    linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.80) 34%,rgba(0,0,0,.30) 60%,rgba(0,0,0,.06) 100%),
    linear-gradient(to top,rgba(0,0,0,.84),transparent 56%) !important;
}
.vehicle-gallery{min-height:660px;}
.vehicle-main-photo{
  min-height:540px;
  background:#0a0a0a;
}
.vehicle-main-photo > img{
  object-position:center center !important;
  transform:scale(1.02) !important;
  filter:none !important;
}
/* dealer brand mask no longer needed because clean crops are used */
.dealer-mask{
  display:none !important;
}
.horizon-plate{
  left:33.9%;
  top:61.2%;
  width:23.5%;
  height:8.2%;
  min-width:126px;
  min-height:42px;
  border-radius:4px;
  background:rgba(8,8,8,.96);
  border:1px solid rgba(224,182,101,.55);
}
.horizon-plate strong{font-size:clamp(.64rem,.9vw,.96rem);}
.horizon-plate span{font-size:clamp(.34rem,.48vw,.5rem);}
.vehicle-thumbs{
  grid-template-columns:repeat(5,1fr);
}
.vehicle-thumb img{
  object-position:center center !important;
  transform:scale(1.06) !important;
  filter:saturate(.9) brightness(.9);
}
.vehicle-text{max-width:44ch;}
.feature-tags{
  margin-top:8px;
}
.feature-tags span{
  background:rgba(255,255,255,.02);
}
@media(max-width:980px){
  .hero-car.hero-car-full{
    object-position:78% center !important;
    transform:scale(.96) !important;
  }
  .vehicle-gallery{min-height:auto;}
  .vehicle-main-photo{min-height:460px;}
}
@media(max-width:640px){
  .hero-car.hero-car-full{
    object-position:74% center !important;
    transform:scale(1.04) !important;
  }
  .vehicle-main-photo{min-height:360px;}
  .horizon-plate{
    left:33.6%;
    top:61.4%;
    width:27%;
    min-width:98px;
    min-height:34px;
  }
  .vehicle-thumbs{grid-template-columns:repeat(3,1fr);}
}
/* V10.1 tiny clean-up for remaining dealer mark at the top edge */
.dealer-mask{
  display:block !important;
  height:9% !important;
  background:linear-gradient(to bottom,#050505 0%,rgba(5,5,5,.98) 68%,rgba(5,5,5,0) 100%) !important;
}


/* ===== V11 – final hero / gallery corrections per latest feedback ===== */
.hero{
  min-height: clamp(700px, 86vh, 980px);
}
.hero-car.hero-car-full{
  width: 108% !important;
  height: 108% !important;
  inset: -4% !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: translateX(9%) scale(.90) !important;
  transform-origin: center center !important;
}
.hero .hero-overlay{
  background:
    linear-gradient(90deg,rgba(0,0,0,.95) 0%,rgba(0,0,0,.83) 32%,rgba(0,0,0,.32) 58%,rgba(0,0,0,.05) 100%),
    linear-gradient(to top,rgba(0,0,0,.86),transparent 58%) !important;
}
.vehicle-gallery{min-height:640px !important;}
.vehicle-main-photo{min-height:520px !important;}
.vehicle-main-photo > img{
  object-position:center center !important;
  transform:scale(1.01) !important;
  filter:none !important;
}
.vehicle-thumbs{
  grid-template-columns:repeat(3,1fr) !important;
}
.vehicle-thumb{min-height:108px !important;}
.vehicle-thumb img{
  object-position:center center !important;
  transform:scale(1.04) !important;
  filter:saturate(.96) brightness(.94) !important;
}
.vehicle-thumb.active img,.vehicle-thumb:hover img{filter:saturate(1) brightness(1) !important;}
@media(min-width:1200px){
  .hero-car.hero-car-full{
    transform: translateX(11%) scale(.88) !important;
  }
}
@media(min-width:641px) and (max-width:1199px){
  .hero-car.hero-car-full{
    width: 112% !important;
    height: 112% !important;
    inset: -6% !important;
    transform: translateX(13%) scale(.88) !important;
  }
}
@media(max-width:640px){
  .hero{min-height:760px;}
  .hero-car.hero-car-full{
    width: 126% !important;
    height: 126% !important;
    inset: -13% !important;
    transform: translateX(12%) scale(.93) !important;
  }
  .vehicle-main-photo{min-height:360px !important;}
  .vehicle-thumbs{grid-template-columns:repeat(3,1fr) !important;}
  .vehicle-thumb{min-height:80px !important;}
}

/* ===== V12 FINAL IMAGE LAYOUT ===== */
.hero{
  min-height:100svh !important;
  position:relative;
  overflow:hidden;
  background:#080808;
}
.hero-car.hero-car-full{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform:none !important;
  opacity:1 !important;
}
.hero .hero-inner{
  width:min(760px,46vw) !important;
  padding-left:max(6vw,72px) !important;
  z-index:3 !important;
}
.hero .hero-overlay{
  background:
    linear-gradient(90deg,rgba(0,0,0,.91) 0%,rgba(0,0,0,.78) 31%,rgba(0,0,0,.27) 51%,rgba(0,0,0,.04) 70%,rgba(0,0,0,0) 100%),
    linear-gradient(to top,rgba(0,0,0,.78),rgba(0,0,0,0) 56%) !important;
}

/* Vehicle section: show supplied pictures cleanly, with minimal empty bars. */
.vehicle-gallery{
  min-height:auto !important;
  background:#090909 !important;
}
.vehicle-main-photo{
  min-height:0 !important;
  display:block !important;
  background:#0a0a0a !important;
  overflow:hidden !important;
  padding:14px 14px 8px !important;
}
.vehicle-main-photo > img{
  display:block !important;
  position:relative !important;
  inset:auto !important;
  width:100% !important;
  height:auto !important;
  max-width:100% !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:none !important;
  filter:none !important;
}
.vehicle-main-photo:after{display:none !important;}
.dealer-mask,.horizon-plate{display:none !important;}
.vehicle-thumbs{
  grid-template-columns:repeat(3,1fr) !important;
  min-height:100px !important;
  margin-top:8px !important;
}
.vehicle-thumb{
  min-height:96px !important;
  background:#070707 !important;
}
.vehicle-thumb img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform:none !important;
  filter:brightness(.82) !important;
}
.vehicle-thumb:hover img,.vehicle-thumb.active img{filter:brightness(1) !important;}
.vehicle-visual:after{display:none !important;}

@media(max-width:1199px){
  .hero .hero-inner{width:min(660px,52vw) !important;}
}
@media(max-width:760px){
  .hero{min-height:780px !important;}
  .hero-car.hero-car-full{
    object-position:67% center !important;
  }
  .hero .hero-inner{
    width:94vw !important;
    padding-left:6vw !important;
  }
  .hero .hero-overlay{
    background:
      linear-gradient(to top,rgba(0,0,0,.96) 0%,rgba(0,0,0,.78) 51%,rgba(0,0,0,.10) 76%),
      linear-gradient(90deg,rgba(0,0,0,.45),rgba(0,0,0,.02)) !important;
  }
  .vehicle-main-photo{min-height:0 !important;padding:10px 10px 6px !important;}
  .vehicle-main-photo > img{max-height:none !important;}
  .vehicle-thumbs{grid-template-columns:repeat(3,1fr) !important;}
  .vehicle-thumb{min-height:74px !important;}
}


/* ===== V13 – vehicle layout cleanup + customer wishlist ===== */

/* Remove the large black gap between main vehicle image and thumbnails. */
.vehicle-card{
  align-items:start !important;
}
.vehicle-gallery{
  align-self:start !important;
  min-height:0 !important;
}
.vehicle-main-photo{
  flex:none !important;
  min-height:0 !important;
  padding:0 !important;
}
.vehicle-main-photo > img{
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
}
.vehicle-thumbs{
  margin-top:0 !important;
  min-height:92px !important;
}
.vehicle-thumb{
  min-height:92px !important;
}

/* Slightly compress the text side so the complete vehicle card feels more balanced. */
.vehicle-copy{
  padding:42px 46px !important;
}
.vehicle-copy h3{
  font-size:clamp(2.45rem,4.6vw,4.8rem) !important;
  margin-bottom:16px !important;
}
.vehicle-text{
  margin-top:0 !important;
  margin-bottom:8px !important;
}
.spec-grid{
  margin:18px 0 !important;
}
.spec-grid div{
  padding:14px 0 !important;
}
.feature-tags{
  gap:7px !important;
  margin-bottom:12px !important;
}
.feature-tags span{
  padding:7px 10px !important;
  font-size:.72rem !important;
}

/* Wishlist section */
.vehicle-wishlist{
  background:linear-gradient(180deg,#0b0b0b,#111);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.wishlist-panel{
  border:1px solid var(--line);
  background:#0c0c0c;
  padding:34px;
  display:grid;
  gap:22px;
}
.brand-choice{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.brand-choice label{
  display:block;
  cursor:pointer;
}
.brand-choice input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.brand-choice span{
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--line);
  background:#090909;
  color:#ddd8cf;
  text-transform:uppercase;
  letter-spacing:.10em;
  font-size:.75rem;
  transition:.2s;
}
.brand-choice label:hover span{
  border-color:rgba(224,182,101,.65);
  color:var(--gold2);
}
.brand-choice input:checked + span{
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  color:#080808;
  border-color:transparent;
  font-weight:800;
}
.wishlist-fields{
  display:grid;
  grid-template-columns:1.5fr 1fr;
  gap:12px;
}
.optional-label{
  color:var(--muted);
  font-size:.68rem;
  letter-spacing:.04em;
  text-transform:none;
}
#wishlistForm .button{
  width:max-content;
  min-width:190px;
}

@media(max-width:980px){
  .vehicle-copy{padding:34px 30px !important;}
  .brand-choice{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:640px){
  .vehicle-thumbs{min-height:70px !important;}
  .vehicle-thumb{min-height:70px !important;}
  .wishlist-panel{padding:24px 18px;}
  .brand-choice{grid-template-columns:1fr 1fr;}
  .wishlist-fields{grid-template-columns:1fr;}
  #wishlistForm .button{width:100%;}
}


/* ===== V14 – mobile layout + hamburger navigation ===== */

html, body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}
main, section, header, footer{
  max-width:100%;
}
.vehicle-card > *,
.location-grid > *,
.booking > *,
.intro > *{
  min-width:0;
}

/* Desktop: hamburger menu stays invisible. */
.menu-toggle,
.mobile-menu{
  display:none;
}

@media(max-width:760px){

  /* Header */
  .nav{
    height:74px !important;
    padding:
      max(8px, env(safe-area-inset-top))
      18px
      8px
      18px !important;
    background:rgba(5,5,5,.97) !important;
    border-bottom:1px solid var(--line) !important;
    backdrop-filter:blur(14px);
    align-items:center !important;
  }
  .brand-original{
    width:190px !important;
    height:58px !important;
    flex:0 0 auto;
  }
  .brand-original img{
    width:190px !important;
    height:auto !important;
    object-fit:contain !important;
  }
  .nav-links,
  .nav-button{
    display:none !important;
  }

  .menu-toggle{
    display:flex;
    width:46px;
    height:46px;
    padding:0;
    margin:0;
    border:1px solid rgba(224,182,101,.45);
    background:#0a0a0a;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:5px;
    cursor:pointer;
    z-index:70;
  }
  .menu-toggle span{
    width:21px;
    height:1.5px;
    background:#f4f1eb;
    transition:transform .2s ease, opacity .2s ease;
  }
  .menu-toggle[aria-expanded="true"] span:nth-child(1){
    transform:translateY(6.5px) rotate(45deg);
  }
  .menu-toggle[aria-expanded="true"] span:nth-child(2){
    opacity:0;
  }
  .menu-toggle[aria-expanded="true"] span:nth-child(3){
    transform:translateY(-6.5px) rotate(-45deg);
  }

  .mobile-menu{
    display:none;
    position:absolute;
    left:0;
    right:0;
    top:74px;
    padding:14px 18px 20px;
    background:rgba(6,6,6,.985);
    border-bottom:1px solid rgba(224,182,101,.28);
    box-shadow:0 22px 40px rgba(0,0,0,.46);
    z-index:65;
  }
  .mobile-menu.open{
    display:grid;
  }
  .mobile-menu a{
    padding:15px 4px;
    border-bottom:1px solid var(--line);
    color:#eeeae3;
    text-transform:uppercase;
    letter-spacing:.12em;
    font-size:.78rem;
  }
  .mobile-menu .mobile-menu-cta{
    margin-top:12px;
    border:1px solid rgba(224,182,101,.5);
    text-align:center;
    color:var(--gold2);
    padding:14px 12px;
  }

  /* Hero: cleaner iPhone composition and no horizontal spill. */
  .hero{
    min-height:calc(100svh - 12px) !important;
    padding:0 !important;
    margin:0 !important;
  }
  .hero-car.hero-car-full{
    width:100% !important;
    height:100% !important;
    inset:0 !important;
    object-fit:cover !important;
    object-position:69% center !important;
    transform:none !important;
  }
  .hero .hero-overlay{
    background:
      linear-gradient(to top,
        rgba(0,0,0,.985) 0%,
        rgba(0,0,0,.89) 39%,
        rgba(0,0,0,.48) 64%,
        rgba(0,0,0,.12) 84%),
      linear-gradient(90deg,
        rgba(0,0,0,.38),
        rgba(0,0,0,.04)) !important;
  }
  .hero .hero-inner{
    width:100% !important;
    min-height:calc(100svh - 12px) !important;
    padding:
      calc(104px + env(safe-area-inset-top))
      22px
      42px
      22px !important;
    justify-content:flex-end !important;
  }
  .hero .kicker{
    font-size:.69rem !important;
    line-height:1.55;
    letter-spacing:.24em !important;
    max-width:280px;
    margin-bottom:14px;
  }
  .hero h1{
    font-size:clamp(4rem,18vw,5.45rem) !important;
    line-height:.83 !important;
    letter-spacing:-.055em !important;
  }
  .lead{
    font-size:1.02rem !important;
    line-height:1.55 !important;
    margin:22px 0 !important;
    max-width:330px !important;
  }
  .hero-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    width:min(100%,330px) !important;
  }
  .hero-actions .button{
    width:100%;
    min-height:54px;
  }
  .location-line{
    margin-top:22px !important;
    font-size:.86rem !important;
    line-height:1.4;
  }
  .occasion-strip{
    margin-top:17px !important;
    gap:7px !important;
  }
  .occasion-strip span{
    font-size:.68rem !important;
    line-height:1.4;
  }

  /* All content sections get consistent mobile spacing. */
  section{
    padding:68px 22px !important;
  }
  .intro{
    gap:26px !important;
  }
  .intro h2,
  .section-title h2,
  .booking h2,
  .video-placeholder h2{
    font-size:clamp(2.05rem,10vw,3.2rem) !important;
    line-height:1.04 !important;
  }
  .section-title{
    gap:18px !important;
    margin-bottom:28px !important;
  }

  /* M4 card */
  .vehicle-card{
    display:block !important;
    width:100% !important;
  }
  .vehicle-main-photo{
    padding:0 !important;
  }
  .vehicle-main-photo > img{
    width:100% !important;
    height:auto !important;
  }
  .vehicle-thumbs{
    min-height:76px !important;
    grid-template-columns:repeat(3,1fr) !important;
  }
  .vehicle-thumb{
    min-height:76px !important;
  }
  .vehicle-copy{
    padding:30px 22px 34px !important;
  }
  .vehicle-copy h3{
    font-size:clamp(2.25rem,11vw,3.35rem) !important;
  }
  .spec-grid{
    grid-template-columns:1fr 1fr !important;
    gap:0 14px !important;
  }
  .feature-tags span{
    font-size:.68rem !important;
  }

  /* Cards/forms */
  .video-placeholder{
    min-height:0 !important;
    padding:30px 22px !important;
  }
  .booking-panel,
  .wishlist-panel{
    padding:24px 18px !important;
  }
  .steps{
    margin-top:24px !important;
  }
  .brand-choice{
    grid-template-columns:1fr 1fr !important;
  }
  .wishlist-fields,
  .two-col{
    grid-template-columns:1fr !important;
  }

  /* Location */
  .location-grid{
    gap:28px !important;
  }
  .regional-map{
    min-height:340px !important;
  }
  .regional-city{
    font-size:.50rem !important;
    padding:4px 5px !important;
  }
  .regional-city.babenhausen{
    font-size:.57rem !important;
  }

  /* CTA/footer */
  .cta{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
  .cta img{
    width:145px !important;
  }
  footer{
    padding:38px 22px !important;
    gap:22px !important;
  }
  .footer-links{
    display:grid !important;
    gap:12px !important;
  }
}

/* Extra narrow phones */
@media(max-width:390px){
  .brand-original,
  .brand-original img{
    width:166px !important;
  }
  .hero .hero-inner{
    padding-left:18px !important;
    padding-right:18px !important;
  }
  .hero h1{
    font-size:3.85rem !important;
  }
  section{
    padding-left:18px !important;
    padding-right:18px !important;
  }
}


/* ===== V15 – booking directly under video + mobile containment ===== */
html{
  width:100%;
  min-width:100%;
  max-width:100%;
  overflow-x:hidden !important;
  touch-action:pan-y;
}
body{
  width:100%;
  min-width:100%;
  max-width:100%;
  overflow-x:hidden !important;
  overscroll-behavior-x:none;
}
body > *, main, section, footer{
  width:100%;
  max-width:100%;
}
img, svg, video, iframe, canvas,
input, select, textarea, button{
  max-width:100%;
}
.video-section{
  padding-bottom:36px !important;
}
.booking{
  border-top:1px solid var(--line);
}
.button:disabled{
  opacity:.62;
  cursor:not-allowed;
  transform:none !important;
}
#fahrzeuge,#video,#buchung,#wunschfahrzeug,#standort,#faq,#kontakt{
  scroll-margin-top:92px;
}

@media(max-width:760px){
  html, body{
    min-width:100vw !important;
    max-width:100vw !important;
  }
  .nav,.mobile-menu,main,section,footer{
    width:100vw !important;
    max-width:100vw !important;
    left:0 !important;
    right:auto !important;
  }
  .hero,.hero-inner,.vehicle-card,.vehicle-gallery,.vehicle-copy,
  .video-placeholder,.booking,.booking-copy,.booking-panel,
  .vehicle-wishlist,.wishlist-panel,.location,.location-grid,.faq,.cta{
    min-width:0 !important;
    max-width:100% !important;
  }
  .video-section{
    padding-bottom:24px !important;
  }
  .booking{
    padding-top:52px !important;
  }
  input,select,textarea{
    font-size:16px !important;
  }
}
