/* ====================================================================
 * Inter (lokal gehostet, DSGVO-konform - kein Google Fonts CDN)
 * ================================================================ */
@font-face{font-family:'Inter';font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/inter-300.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/inter-400.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/inter-500.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/inter-600.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/inter-700.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/inter-800.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:900;font-display:swap;src:url('../fonts/inter-900.woff2') format('woff2')}

/* =====================================================================
 * Auto Lang · Redesign 2026 · v3 Premium
 * Brand: Blau #2b5bb0 (Logo) / Dunkelblau #1a3a72 + Orange #db4c00
 * ===================================================================== */

:root{
  --c-blue:        #2b5bb0;
  --c-blue-d:      #1a3a72;
  --c-blue-x:      #0d2549;
  --c-blue-l:      #4a78c8;
  --c-blue-50:     #ecf1fb;
  --c-blue-100:    #d6e0f2;
  --c-orange:      #db4c00;
  --c-orange-d:    #b33d00;
  --c-orange-l:    #ff7a2e;
  --c-orange-50:   #fff1e6;

  --c-bg:          #ffffff;
  --c-bg-soft:     #f7f8fb;
  --c-bg-warm:     #fbf9f5;
  --c-line:        #e6eaf0;
  --c-line-2:      #d4dae3;
  --c-text:        #1f2933;
  --c-text-mute:   #5f6e7a;
  --c-text-soft:   #7d8995;

  --c-success:     #2ea968;
  --c-star:        #fbbc04;

  --c-accent:      var(--c-orange);
  --c-cream:       var(--c-blue-d);

  --font-sans:     "Inter","Helvetica Neue",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-display:  "Inter","Helvetica Neue",system-ui,-apple-system,"Segoe UI",sans-serif;

  --radius:        12px;
  --radius-lg:     20px;
  --radius-xl:     32px;

  --shadow-1:      0 4px 14px rgba(26,58,114,.08);
  --shadow-2:      0 14px 40px rgba(26,58,114,.12);
  --shadow-3:      0 30px 80px rgba(26,58,114,.18);
  --shadow-orange: 0 10px 28px rgba(219,76,0,.30);

  --content:       1320px;
  --content-narrow:1000px;

  --t-fast:        .2s cubic-bezier(.4,0,.2,1);
  --t-base:        .35s cubic-bezier(.4,0,.2,1);
  --t-slow:        .6s cubic-bezier(.4,0,.2,1);

  --topbar-h:      40px;
  --header-h:      80px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:var(--font-sans);
  font-size:16px;line-height:1.65;
  color:var(--c-text);
  background:var(--c-bg);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  font-feature-settings:"kern","liga","calt";
}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:transparent}
ul{list-style:none;padding:0;margin:0}
::selection{background:var(--c-orange);color:#fff}

/* ====================================================================
 * Layout
 * ================================================================ */
.container{
  width:100%;max-width:var(--content);
  margin:0 auto;padding:0 32px;
}
.container--narrow{max-width:var(--content-narrow)}
.section{padding:56px 0 80px;position:relative}
.section--tight{padding:40px 0 56px}
@media(max-width:760px){
  .section{padding:40px 0 56px}
  .section--tight{padding:28px 0 40px}
}
.section--alt{background:var(--c-bg-soft)}
.section--dark{background:var(--c-blue-d);color:#fff}
.section--dark h1,.section--dark h2,.section--dark h3,.section--dark h4{color:#fff}
.section-divider{
  position:relative;
  height:1px;
  background:linear-gradient(90deg, transparent, var(--c-line) 30%, var(--c-line) 70%, transparent);
}

.eyebrow{
  display:inline-flex;align-items:center;gap:14px;
  font-size:15px;letter-spacing:2.4px;text-transform:uppercase;
  color:var(--c-orange);font-weight:700;
}
.eyebrow:before{
  content:"";width:32px;height:2px;background:var(--c-orange);
}
.eyebrow.center{justify-content:center}
.eyebrow.center:before{display:none}
.eyebrow.center:after{
  content:"";width:32px;height:2px;background:var(--c-orange);
}
.section--dark .eyebrow{color:var(--c-orange-l)}
.section--dark .eyebrow:before,.section--dark .eyebrow.center:after{background:var(--c-orange-l)}

/* ====================================================================
 * Form-Success-Block (Kontakt, Termin, Ankauf, Wunsch, Schaden, Bewerbung)
 * ================================================================ */
.al-form-success{
  position:relative;
  background:linear-gradient(180deg,#ffffff 0%,#f7f9fc 100%);
  border:1px solid var(--c-line);border-radius:var(--radius-xl);
  padding:56px 48px;text-align:center;
  max-width:760px;margin:0 auto;
  box-shadow:0 12px 40px rgba(15,30,60,.08);
  overflow:hidden;
}
.al-form-success::before{
  content:"";position:absolute;left:0;right:0;top:0;height:5px;
  background:linear-gradient(90deg,var(--c-orange) 0%,#f08438 50%,var(--c-orange) 100%);
}
.al-form-success-icon{
  width:88px;height:88px;
  background:linear-gradient(135deg,var(--c-orange) 0%,#f08438 100%);
  border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  margin:0 auto 24px;
  box-shadow:0 12px 28px rgba(219,76,0,.32);
  animation:al-fs-pop .6s cubic-bezier(.34,1.56,.64,1) both;
}
.al-form-success-icon svg{width:46px;height:46px;color:#fff}
.al-form-success-icon svg path{
  stroke-dasharray:60;stroke-dashoffset:60;
  animation:al-fs-check .5s ease-out .3s forwards;
}
@keyframes al-fs-pop{0%{transform:scale(0)}60%{transform:scale(1.08)}100%{transform:scale(1)}}
@keyframes al-fs-check{to{stroke-dashoffset:0}}
.al-form-success h2{
  margin:0 0 14px;color:var(--c-blue-d);
  font-size:clamp(28px,3vw,38px);font-weight:800;letter-spacing:-.02em;line-height:1.15;
  animation:al-fs-fade .5s ease-out .4s both;
}
.al-form-success h2 em{color:var(--c-orange);font-style:normal}
.al-form-success-lead{
  font-size:17px;color:var(--c-text-mute);margin:0 auto 32px;max-width:520px;line-height:1.55;
  animation:al-fs-fade .5s ease-out .5s both;
}
@keyframes al-fs-fade{0%{opacity:0;transform:translateY(8px)}100%{opacity:1;transform:translateY(0)}}
.al-form-success-steps{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
  text-align:left;margin:0 0 32px;
  animation:al-fs-fade .5s ease-out .6s both;
}
.al-form-success-step{
  background:#fff;border:1px solid var(--c-line);border-radius:14px;
  padding:18px 20px;
}
.al-form-success-step-num{
  display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;border-radius:50%;
  background:var(--c-orange-50);color:var(--c-orange);
  font-weight:800;font-size:13px;
  margin:0 0 8px;
}
.al-form-success-step h3{
  margin:0 0 4px;font-size:14px;font-weight:700;color:var(--c-blue-d);
}
.al-form-success-step p{margin:0;font-size:13px;color:var(--c-text-mute);line-height:1.55}
.al-form-success-cta{
  display:flex;justify-content:center;gap:12px;flex-wrap:wrap;
  animation:al-fs-fade .5s ease-out .7s both;
}
.al-form-success-meta{
  margin:24px 0 0;font-size:12.5px;color:var(--c-text-soft);
  animation:al-fs-fade .5s ease-out .8s both;
}
.al-form-success-meta a{color:var(--c-orange);font-weight:600;text-decoration:none}
@media(max-width:720px){
  .al-form-success{padding:40px 24px}
  .al-form-success-steps{grid-template-columns:1fr;gap:10px}
  .al-form-success-icon{width:72px;height:72px}
  .al-form-success-icon svg{width:36px;height:36px}
}

h1,h2,h3,h4{
  font-family:var(--font-sans);
  font-weight:800;
  line-height:1.08;
  margin:0 0 .4em;
  letter-spacing:-.025em;
  color:var(--c-blue-d);
}
h1{font-size:clamp(40px, 6vw, 80px);font-weight:800;letter-spacing:-.035em;line-height:1.04}
h2{font-size:clamp(30px, 4vw, 52px);letter-spacing:-.03em;font-weight:800}
h3{font-size:clamp(20px, 2.2vw, 28px);font-weight:700;letter-spacing:-.015em}
h4{font-size:16px;font-weight:700;letter-spacing:.04em;color:var(--c-blue-d);text-transform:uppercase}

.lead{font-size:clamp(17px,1.3vw,20px);color:var(--c-text-mute);max-width:680px;line-height:1.65;font-weight:400}

em.accent,h1 em,h2 em,h3 em{
  color:var(--c-orange);
  font-style:normal;
  font-weight:800;
}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:12px;
  padding:16px 30px;
  border-radius:999px;
  font-size:13px;font-weight:600;letter-spacing:.7px;
  border:1.5px solid transparent;
  transition:all var(--t-fast);
  cursor:pointer;
  text-transform:uppercase;
  font-family:var(--font-sans);
  white-space:nowrap;
}
.btn--lg{padding:20px 38px;font-size:14px;letter-spacing:.8px}
.btn--primary{background:var(--c-orange);color:#fff;box-shadow:var(--shadow-orange)}
.btn--primary:hover{background:var(--c-orange-d);transform:translateY(-2px);box-shadow:0 14px 36px rgba(219,76,0,.42)}
.btn--blue{background:var(--c-blue);color:#fff;box-shadow:0 8px 20px rgba(43,91,176,.25)}
.btn--blue:hover{background:var(--c-blue-d);transform:translateY(-2px);box-shadow:0 12px 28px rgba(43,91,176,.35)}
.btn--ghost{background:transparent;color:var(--c-blue-d);border-color:var(--c-line-2)}
.btn--ghost:hover{border-color:var(--c-blue);color:var(--c-blue);transform:translateY(-2px);box-shadow:var(--shadow-1)}
.btn--ghost-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.3)}
.btn--ghost-light:hover{border-color:#fff;background:rgba(255,255,255,.1);transform:translateY(-2px)}
.btn .arrow{display:inline-block;transition:transform var(--t-fast);font-size:1.1em}
.btn:hover .arrow{transform:translateX(5px)}

/* ====================================================================
 * Top-Bar (info strip above header)
 * ================================================================ */
.topbar{
  background:#224a91;color:rgba(255,255,255,.9);
  font-size:12.5px;
  height:var(--topbar-h);
  display:flex;align-items:center;
  position:fixed;top:0;left:0;right:0;z-index:99;
  transition:transform var(--t-base), opacity var(--t-base);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.topbar.is-hidden{transform:translateY(-100%);opacity:0}
.topbar-row{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%}
.topbar-info{display:flex;gap:28px;align-items:center}
.topbar-info span{display:inline-flex;align-items:center;gap:8px;letter-spacing:.3px}
.topbar-info svg{width:14px;height:14px;color:var(--c-orange-l);flex-shrink:0}
.topbar-meta{display:flex;gap:18px;align-items:center}
.topbar-meta a{color:rgba(255,255,255,.85);transition:color var(--t-fast)}
.topbar-meta a:hover{color:var(--c-orange-l)}
.topbar-meta .sep{width:1px;height:14px;background:rgba(255,255,255,.18)}
@media(max-width:1280px){.topbar-info span:nth-child(2){display:none}}
@media(max-width:1024px){.topbar{display:none}}

/* ====================================================================
 * Header
 * ================================================================ */
.site-header{
  position:fixed;top:var(--topbar-h);left:0;right:0;
  z-index:100;
  height:var(--header-h);
  display:flex;align-items:center;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(20px) saturate(160%);
  -webkit-backdrop-filter:blur(20px) saturate(160%);
  border-bottom:1px solid transparent;
  transition:background var(--t-base), border-color var(--t-base), top var(--t-base), box-shadow var(--t-base), height var(--t-base);
}
.site-header.is-scrolled{
  background:rgba(255,255,255,.98);
  border-bottom-color:var(--c-line);
  height:64px;
  box-shadow:0 4px 24px rgba(26,58,114,.08);
}
@media(max-width:1024px){
  .site-header{top:0;height:68px}
  :root{--header-h:68px;--topbar-h:0px}
  .brand-logo-img{height:44px}
  .site-header.is-scrolled{height:60px}
  .site-header.is-scrolled .brand-logo-img{height:38px}
}
@media(max-width:560px){
  .site-header{height:62px}
  :root{--header-h:62px}
  .brand-logo-img{height:40px}
  .site-header.is-scrolled{height:56px}
  .site-header.is-scrolled .brand-logo-img{height:36px}
}
.header-row{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;transition:transform var(--t-fast)}
.brand:hover{transform:translateY(-1px)}
.brand-logo-img{
  height:64px;width:auto;display:block;
  transition:height var(--t-base);
}
.site-header.is-scrolled .brand-logo-img{height:52px}
.site-header{height:96px}
:root{--header-h:96px}

.nav{display:flex;gap:2px;align-items:center;flex-wrap:nowrap}
.nav a{
  padding:10px 14px;font-size:16px;letter-spacing:.2px;font-weight:500;
  color:var(--c-text);
  position:relative;
  transition:color var(--t-fast);
  border-radius:8px;
  white-space:nowrap;
}
.nav a:hover{color:var(--c-blue)}
.nav a.is-active{color:var(--c-blue)}
.nav a.is-active:after{
  content:"";position:absolute;left:50%;bottom:0;
  width:24px;height:2px;background:var(--c-orange);
  transform:translateX(-50%);
  border-radius:2px;
}

.header-cta{display:flex;align-items:center;gap:14px}
.header-cta .btn{padding:13px 22px}

.burger{
  display:none;color:var(--c-blue-d);
  height:44px;padding:0 14px 0 12px;gap:8px;
  align-items:center;justify-content:center;
  border-radius:10px;
  transition:background var(--t-fast);
}
.burger:hover{background:var(--c-bg-soft)}
.burger svg{width:22px;height:22px;flex:0 0 22px}
.burger-label{font-size:13px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--c-blue-d);line-height:1}

@media (max-width:1024px){
  .nav,.header-cta .btn,.header-cta .header-tel{display:none}
  .burger{display:inline-flex}
}
@media (max-width:360px){
  .burger{padding:0;width:44px;height:44px}
  .burger-label{display:none}
}

/* Mobile menu */
.mob-menu{
  position:fixed;inset:0;
  background:linear-gradient(180deg,#1a3a72 0%,#15305f 100%);
  z-index:200;
  padding:84px 24px 40px;
  transform:translateX(100%);
  transition:transform .35s cubic-bezier(.6,.05,.4,.95);
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
.mob-menu::before{
  content:"";position:absolute;top:0;left:0;right:0;height:64px;
  background:linear-gradient(180deg,rgba(0,0,0,.18),transparent);
  pointer-events:none;
}
.mob-menu.is-open{transform:translateX(0)}
.mob-menu .close{
  position:absolute;top:18px;right:18px;
  color:#fff;
  width:44px;height:44px;font-size:30px;line-height:1;
  border-radius:50%;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  display:inline-flex;align-items:center;justify-content:center;
  transition:background .15s,transform .15s;
}
.mob-menu .close:hover{background:rgba(255,255,255,.18)}
.mob-menu .close:active{transform:scale(.94)}
.mob-menu nav{display:flex;flex-direction:column;gap:2px;margin-top:8px}
.mob-menu nav a{
  position:relative;
  display:flex;align-items:center;gap:14px;
  font-family:var(--font-sans);
  font-size:17px;
  font-weight:600;
  padding:14px 16px;
  color:#fff;
  border-radius:10px;
  letter-spacing:-.005em;
  transition:background .15s,color .15s,transform .12s;
  border-bottom:0;
}
.mob-menu nav a::after{
  content:"";display:inline-block;width:8px;height:8px;
  border-right:2px solid currentColor;border-top:2px solid currentColor;
  transform:rotate(45deg);margin-left:auto;opacity:.45;
  transition:opacity .15s,transform .15s;
}
.mob-menu nav a:hover,.mob-menu nav a:active,.mob-menu nav a.is-active{
  background:rgba(255,255,255,.08);color:#ffb98a;
}
.mob-menu nav a:hover::after,.mob-menu nav a:active::after,.mob-menu nav a.is-active::after{
  opacity:.85;transform:rotate(45deg) translateX(2px) translateY(-2px);
}
.mob-menu nav a:not(.mob-sub){
  font-size:18px;font-weight:700;
}
.mob-menu nav .mob-sub{
  font-size:14.5px !important;font-weight:500;
  padding:10px 16px 10px 36px !important;
  color:rgba(255,255,255,.62) !important;
  margin-bottom:1px;
}
.mob-menu nav .mob-sub::after{display:none}
.mob-menu nav .mob-sub:hover{color:#ffb98a !important}
/* Section-Spacing: jeder Top-Level-Eintrag nach einem mob-sub bekommt extra Abstand */
.mob-menu nav .mob-sub + a:not(.mob-sub){margin-top:14px}
/* Vertikaler Trenn-Akzent für die Sub-Items als Gruppe */
.mob-menu nav .mob-sub{position:relative}
.mob-menu nav .mob-sub::before{
  content:"";position:absolute;left:18px;top:14px;bottom:14px;
  width:2px;background:rgba(255,255,255,.15);border-radius:1px;
}
.mob-menu .footer-cta{
  margin-top:28px;
  display:flex;flex-direction:column;gap:12px;
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,.12);
}
.mob-menu .footer-cta .btn{width:100%;justify-content:center}
.mob-menu .footer-cta .btn--ghost{
  color:#fff;border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.05);
}
.mob-menu .footer-cta .btn--ghost:hover{background:rgba(255,255,255,.12)}
.mob-menu .footer-cta .btn--primary{box-shadow:0 8px 24px rgba(219,76,0,.40)}
/* Optional: Sticky-Bottom-Footer-CTA-Style auf hohen Screens */
@supports(padding-bottom:env(safe-area-inset-bottom)){
  .mob-menu{padding-bottom:calc(40px + env(safe-area-inset-bottom))}
}

/* ====================================================================
 * Hero (cinematic split with image background)
 * ================================================================ */
.hero{
  position:relative;
  min-height:100vh;
  padding:calc(var(--topbar-h) + var(--header-h) + 60px) 0 80px;
  overflow:hidden;
  isolation:isolate;
  display:flex;align-items:center;
  background:#fff;
}
.hero-bg{
  position:absolute;inset:0;z-index:-2;
  background:
    linear-gradient(135deg, rgba(26,58,114,.94) 0%, rgba(26,58,114,.78) 50%, rgba(26,58,114,.55) 100%),
    url("assets/img/building.jpg") center/cover no-repeat;
}
.hero-bg:after{
  content:"";position:absolute;inset:0;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40'><path d='M40 20H0M20 0v40' stroke='rgba(255,255,255,.04)' stroke-width='1'/></svg>");
}
.hero-grid{
  display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:center;
  position:relative;color:#fff;
}
.hero-content .eyebrow{margin-bottom:32px;color:var(--c-orange-l)}
.hero-content .eyebrow:before{background:var(--c-orange-l)}
.hero h1{margin-bottom:36px;color:#fff;font-weight:700}
.hero h1 em{color:var(--c-orange-l);font-weight:400}
.hero-lead{margin-bottom:48px;max-width:560px;color:rgba(255,255,255,.85);font-size:19px;line-height:1.65}
.hero-cta{display:flex;gap:16px;flex-wrap:wrap;align-items:center}

.hero-trust{
  margin-top:64px;padding-top:32px;
  border-top:1px solid rgba(255,255,255,.15);
  display:flex;align-items:center;gap:32px;flex-wrap:wrap;
}
.hero-trust-stars{color:var(--c-star);letter-spacing:2px;font-size:18px}
.hero-trust-text{font-size:13px;color:rgba(255,255,255,.85)}
.hero-trust-text strong{color:#fff;font-weight:600}

.hero-card{
  position:relative;
  background:#fff;
  border-radius:var(--radius-xl);
  padding:8px;
  box-shadow:var(--shadow-3);
  overflow:hidden;
  transform:perspective(1000px) rotateY(-3deg);
  transition:transform var(--t-base);
}
.hero-card:hover{transform:perspective(1000px) rotateY(0)}
.hero-card-img{
  border-radius:24px;
  overflow:hidden;aspect-ratio:4/5;position:relative;
}
.hero-card-img img{width:100%;height:100%;object-fit:cover;display:block}
.hero-card-img:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, transparent 55%, rgba(26,58,114,.7) 100%);
}
.hero-card-badge{
  position:absolute;top:24px;left:24px;
  background:#fff;
  color:var(--c-blue-d);
  padding:11px 18px;border-radius:10px;
  font-size:11.5px;letter-spacing:1.6px;text-transform:uppercase;font-weight:700;
  display:flex;align-items:center;gap:10px;
  box-shadow:var(--shadow-1);
}
.hero-card-badge .dot{width:8px;height:8px;border-radius:50%;background:var(--c-success);box-shadow:0 0 0 4px rgba(46,169,104,.18)}
.hero-card-quote{
  position:absolute;bottom:24px;left:24px;right:24px;
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(20px);
  border-radius:var(--radius);
  padding:22px 26px;
  box-shadow:var(--shadow-2);
}
.hero-card-quote p{
  font-style:italic;
  font-size:16px;line-height:1.5;color:var(--c-blue-d);margin:0;font-weight:500;
}
.hero-card-quote .who{margin-top:14px;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--c-orange);font-weight:700}

/* Floating tag overlay (Tesla badge over the photo) */
.hero-card-tag{
  position:absolute;top:60%;right:-24px;transform:translateY(-50%);
  background:var(--c-orange);color:#fff;
  padding:18px 24px;border-radius:14px;
  font-weight:700;font-size:13px;letter-spacing:1.2px;text-transform:uppercase;
  box-shadow:var(--shadow-orange);
  display:flex;align-items:center;gap:10px;z-index:2;
  border:3px solid #fff;
}
.hero-card-tag svg{width:18px;height:18px}

/* Stats Floating Card overlapping into next section */
.hero-stats{
  position:relative;
  margin:-80px auto 0;
  max-width:var(--content);padding:0 32px;
  z-index:5;
}
.hero-stats-card{
  background:#fff;border-radius:var(--radius-xl);
  padding:40px 56px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:40px;
  box-shadow:var(--shadow-3);
  border:1px solid var(--c-line);
}
.hero-stat{display:flex;flex-direction:column;gap:6px;border-left:3px solid var(--c-orange);padding-left:24px}
.hero-stat:first-child{border-left:0;padding-left:0}
.hero-stat .num{
  font-family:var(--font-sans);font-size:48px;color:var(--c-blue-d);font-weight:700;line-height:1;
  letter-spacing:-.02em;display:flex;align-items:baseline;gap:4px;
}
.hero-stat .num small{font-size:18px;color:var(--c-orange);font-weight:700}
.hero-stat .lbl{font-size:11px;letter-spacing:1.8px;text-transform:uppercase;color:var(--c-text-soft);margin-top:8px;font-weight:700}

@media (max-width:1100px){
  .hero-stats-card{grid-template-columns:repeat(2,1fr);padding:32px 36px}
  .hero-stat:nth-child(3){border-left:0;padding-left:0}
}
@media (max-width:980px){
  .hero{min-height:auto;padding:calc(var(--header-h) + 40px) 0 80px}
  .hero-grid{grid-template-columns:1fr;gap:48px}
  .hero-card{transform:none;max-width:560px;margin:0 auto;width:100%}
  .hero-card-tag{right:12px}
  .hero-stats{margin-top:-60px}
  .hero-stats-card{padding:28px 24px;gap:24px}
  .hero-stat .num{font-size:36px}
}
@media(max-width:560px){
  .hero-stats-card{grid-template-columns:1fr 1fr;gap:18px}
}

/* ====================================================================
 * Brand Strip (Marken)
 * ================================================================ */
.brands{
  background:#fff;
  padding:32px 0 48px;
  overflow:hidden;
  border-bottom:1px solid var(--c-line);
}
@media(max-width:980px){.brands{padding:24px 0 36px}}
.brands-label{
  text-align:center;font-size:14px;letter-spacing:2.5px;text-transform:uppercase;
  color:var(--c-blue-d);margin-bottom:32px;font-weight:700;
}
.brands-track{
  display:flex;gap:64px;align-items:center;
  animation:slide 38s linear infinite;
  width:max-content;
}
.brands-track > span{
  font-family:var(--font-sans);font-size:26px;letter-spacing:.5px;
  color:var(--c-text-soft);white-space:nowrap;font-weight:600;
  opacity:.65;transition:opacity var(--t-fast);
}
.brands-track > span:hover{opacity:1;color:var(--c-blue-d)}
.brands-track > span.is-tesla{
  color:var(--c-orange);font-weight:700;
  border:1.5px solid var(--c-orange);
  padding:8px 22px;border-radius:999px;
  font-size:14px;font-family:var(--font-sans);
  letter-spacing:1.5px;text-transform:uppercase;
  opacity:1;
}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ====================================================================
 * Section Header (universal)
 * ================================================================ */
.sec-head{
  display:flex;justify-content:space-between;align-items:flex-end;
  gap:60px;margin-bottom:48px;
}
.sec-head .text{max-width:580px}
.sec-head .text h2{margin:18px 0 0}
.sec-head .lead{font-size:16px;max-width:380px}
.sec-head--center{justify-content:center;flex-direction:column;align-items:center;text-align:center}
.sec-head--center .text{margin-bottom:20px}
@media (max-width:980px){
  .sec-head{flex-direction:column;align-items:flex-start;gap:24px;margin-bottom:32px}
}

/* ====================================================================
 * Services (asymmetric: featured + small cards)
 * ================================================================ */
.services-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}
.svc.svc--wide{
  grid-column:1 / -1;
  background:linear-gradient(135deg,var(--c-blue-d) 0%, var(--c-blue) 100%);
  color:#fff;border:0;padding:0;overflow:hidden;
  display:grid;grid-template-columns:1fr 1.6fr;gap:0;
  border-radius:var(--radius-lg);
  position:relative;
}
.svc.svc--wide:before{display:none}
.svc.svc--wide:hover{transform:none;box-shadow:var(--shadow-3)}
.svc.svc--wide:after{
  content:"";position:absolute;top:-140px;right:-140px;
  width:380px;height:380px;border-radius:50%;
  background:radial-gradient(circle,rgba(219,76,0,.22) 0%,transparent 65%);
  pointer-events:none;
}
.svc.svc--wide .svc-wide-content{
  padding:44px 40px 40px;display:flex;flex-direction:column;gap:14px;
  position:relative;z-index:1;
}
.svc.svc--wide .svc-num{
  position:static;color:rgba(255,255,255,.22);font-size:54px;font-weight:800;line-height:1;
}
.svc.svc--wide .svc-icon{
  background:rgba(255,255,255,.14);color:#fff;
  width:56px;height:56px;border-radius:14px;
  border:1px solid rgba(255,255,255,.18);margin:0 0 4px;
  opacity:0;transform:translateY(-6px) scale(.92);
  transition:opacity var(--t-base),transform var(--t-base);
  pointer-events:none;
}
.svc.svc--wide:hover .svc-icon{opacity:1;transform:translateY(0) scale(1)}
.svc.svc--wide .svc-icon svg{width:26px;height:26px}
.svc.svc--wide h3{color:#fff;font-size:30px;margin:0;line-height:1.15;letter-spacing:-.3px}
.svc.svc--wide p{color:rgba(255,255,255,.88);font-size:15px;line-height:1.65;margin:0}
.svc.svc--wide .svc-wide-bullets{margin:4px 0 8px;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.svc.svc--wide .svc-wide-bullets li{
  display:flex;align-items:flex-start;gap:10px;
  font-size:14px;color:rgba(255,255,255,.95);line-height:1.45;
}
.svc.svc--wide .svc-wide-bullets li:before{
  content:"✓";flex-shrink:0;
  width:18px;height:18px;border-radius:50%;
  background:var(--c-orange);color:#fff;
  display:grid;place-items:center;font-size:10.5px;font-weight:700;margin-top:2px;
}
.svc.svc--wide .svc-wide-cta{align-self:flex-start;margin-top:auto}
.svc.svc--wide .svc-wide-cars{
  padding:28px 28px 28px 0;
  display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-content:stretch;
}
.svc.svc--wide .svc-wide-cars--photo{
  display:block;padding:0;
}
.svc-wide-photo{
  display:block;width:100%;height:100%;overflow:hidden;
  border-radius:0 var(--radius-lg) var(--radius-lg) 0;
  position:relative;
}
.svc-wide-photo img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform var(--t-slow);
}
.svc.svc--wide:hover .svc-wide-photo img{transform:scale(1.04)}
@media(max-width:1100px){
  .svc-wide-photo{border-radius:0 0 var(--radius-lg) var(--radius-lg);min-height:280px}
}
.sw-car{
  background:#fff;border-radius:14px;overflow:hidden;
  display:flex;flex-direction:column;color:var(--c-text);
  text-decoration:none;
  transition:transform var(--t-fast),box-shadow var(--t-fast);
  box-shadow:0 8px 22px rgba(0,0,0,.12);
}
.sw-car:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(0,0,0,.22);color:var(--c-text)}
.sw-car-img{aspect-ratio:16/10;background-size:cover;background-position:center;position:relative}
.sw-car-tag{
  position:absolute;top:10px;left:10px;
  background:rgba(0,0,0,.7);color:#fff;
  padding:4px 10px;border-radius:6px;
  font-size:10.5px;letter-spacing:.5px;text-transform:uppercase;font-weight:700;
}
.sw-car-tag.is-new{background:var(--c-orange)}
.sw-car-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.sw-car-title{
  font-size:15.5px;font-weight:700;line-height:1.2;
  color:var(--c-blue-d);margin:0;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.sw-car-sub{
  font-size:12.5px;color:var(--c-text-soft);margin:0;line-height:1.35;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  min-height:34px;
}
.sw-car-specs{
  list-style:none;margin:6px 0 4px;padding:0;
  display:grid;grid-template-columns:1fr 1fr;gap:5px 12px;
  font-size:11.5px;
}
.sw-car-specs li{display:flex;flex-direction:column;line-height:1.25}
.sw-car-specs li span{color:var(--c-text-soft);font-size:10px;letter-spacing:.4px;text-transform:uppercase;font-weight:600}
.sw-car-specs li strong{color:var(--c-text);font-weight:600;font-size:12px}
.sw-car-foot{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:10px;margin-top:auto;border-top:1px solid var(--c-line);
}
.sw-car-price{font-weight:800;color:var(--c-orange);font-size:18px;letter-spacing:-.2px}
.sw-car-link{
  font-size:11.5px;color:var(--c-blue);font-weight:700;
  letter-spacing:.5px;text-transform:uppercase;
}
.sw-car:hover .sw-car-link{color:var(--c-orange)}
@media(max-width:1100px){
  .svc.svc--wide{grid-template-columns:1fr}
  .svc.svc--wide .svc-wide-cars{padding:0 24px 24px;grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
  .svc.svc--wide .svc-wide-content{padding:32px 24px 20px}
  .svc.svc--wide h3{font-size:24px}
  .svc.svc--wide .svc-wide-cars{grid-template-columns:1fr;padding:0 18px 22px;gap:14px}
  .sw-car-specs{grid-template-columns:repeat(4,1fr)}
}
.svc{
  background:#fff;
  border:1px solid var(--c-line);
  border-radius:var(--radius-lg);
  padding:36px 32px 32px;
  display:flex;flex-direction:column;
  transition:all var(--t-base);
  position:relative;overflow:hidden;
  text-decoration:none;color:inherit;
}
.svc:before{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg, var(--c-orange) 0%, var(--c-blue) 100%);
  transform:scaleX(0);transform-origin:left;
  transition:transform var(--t-base);
}
.svc:hover{transform:translateY(-8px);border-color:transparent;box-shadow:var(--shadow-3);color:inherit}
.svc:hover:before{transform:scaleX(1)}
.svc-icon{
  width:64px;height:64px;
  border-radius:16px;
  background:linear-gradient(135deg,var(--c-blue-50),var(--c-orange-50));
  display:grid;place-items:center;color:var(--c-blue);
  margin-bottom:24px;
  transition:all var(--t-base);
}
.svc:hover .svc-icon{background:linear-gradient(135deg,var(--c-blue),var(--c-blue-d));color:#fff;transform:scale(1.05)}
.svc-icon svg{width:30px;height:30px;stroke-width:1.6}
.svc-num{
  position:absolute;top:32px;right:32px;
  font-family:var(--font-sans);font-size:48px;color:var(--c-line-2);
  font-weight:700;line-height:1;
  transition:color var(--t-base);
}
.svc:hover .svc-num{color:var(--c-orange)}
.svc h3{font-size:24px;margin-bottom:14px;color:var(--c-blue-d)}
.svc p{color:var(--c-text-mute);font-size:14.5px;line-height:1.7;margin:0 0 24px}
.svc-link{
  margin-top:auto;
  display:inline-flex;align-items:center;gap:10px;
  font-size:12.5px;letter-spacing:1.2px;text-transform:uppercase;
  color:var(--c-orange);font-weight:700;
  transition:gap var(--t-fast);
}
.svc-link:hover{gap:16px}

/* Accent-Variante (Tesla 02) - Premium-Tile mit Foto links, strukturiertem Content rechts */
.svc.svc--accent{
  grid-column:span 2;
  border:1px solid var(--c-line);
  box-shadow:var(--shadow-1);
  position:relative;
}
.svc.svc--accent:before{display:none}
.services-grid .svc.svc--accent:has(.svc-photo){
  display:grid;grid-template-columns:1fr 1.1fr;align-items:stretch;
}
.svc.svc--accent .svc-photo{
  aspect-ratio:auto;height:100%;min-height:320px;position:relative;
}
.svc.svc--accent .svc-photo:after{
  background:linear-gradient(180deg,rgba(0,0,0,.10) 0%,rgba(0,0,0,.55) 100%);
}
.svc.svc--accent .svc-content{
  padding:36px 38px 34px;display:flex;flex-direction:column;gap:14px;
}
.svc-eyebrow{
  display:flex;align-items:center;gap:12px;
  font-size:11px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;
  color:var(--c-text-soft);
}
.svc-num-tag{
  display:inline-grid;place-items:center;
  width:38px;height:38px;border-radius:10px;
  background:linear-gradient(135deg,var(--c-orange) 0%, #ff7a2e 100%);
  color:#fff;font-size:15px;font-weight:800;letter-spacing:0;
  box-shadow:0 6px 14px rgba(219,76,0,.32);
}
.svc.svc--accent .svc-content h3{
  font-size:26px;margin:0;color:var(--c-blue-d);line-height:1.15;letter-spacing:-.3px;
}
.svc.svc--accent .svc-content p{
  font-size:15px;line-height:1.65;color:var(--c-text-mute);margin:0;
}
.svc.svc--accent .svc-content p strong{color:var(--c-blue-d);font-weight:700}
.svc-features{
  list-style:none;margin:6px 0 0;padding:0;
  display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;
}
.svc-features li{
  display:flex;align-items:flex-start;gap:9px;
  font-size:13.5px;color:var(--c-text);line-height:1.4;
}
.svc-features li:before{
  content:"✓";flex-shrink:0;
  width:18px;height:18px;border-radius:50%;
  background:var(--c-orange-50);color:var(--c-orange);
  display:grid;place-items:center;font-size:11px;font-weight:800;
  margin-top:1px;
}
.svc.svc--accent .svc-link{margin-top:8px}
.svc-tesla-logo{
  display:block;margin-top:auto;padding-top:14px;margin-bottom:4px;
  align-self:flex-start;max-width:240px;width:100%;
  opacity:.85;
}
.svc-tesla-logo img{display:block;width:100%;height:auto}
.svc.svc--accent .svc-content :is(.svc-tesla-logo) + .svc-link{align-self:flex-start;margin-top:6px}
@media(max-width:1100px){
  .svc-tesla-logo{max-width:200px}
}
.svc.svc--accent:hover{
  transform:translateY(-4px);
  border-color:var(--c-orange);
  box-shadow:0 22px 50px rgba(219,76,0,.18);
}
/* Badge: unten links auf dem Foto - wirkt wie Zertifizierungsplakette */
.svc-badge{
  position:absolute;left:18px;bottom:18px;z-index:3;
  display:inline-flex;align-items:center;gap:7px;
  background:#fff;color:var(--c-blue-d);
  padding:8px 14px;border-radius:99px;
  font-size:11.5px;font-weight:800;letter-spacing:.3px;
  box-shadow:0 8px 22px rgba(0,0,0,.25);
}
.svc-badge svg{width:14px;height:14px;color:var(--c-orange)}
@media(max-width:1100px){
  .services-grid .svc.svc--accent:has(.svc-photo){grid-template-columns:1fr}
  .svc.svc--accent .svc-photo{aspect-ratio:16/9;min-height:0}
  .svc-features{grid-template-columns:1fr}
}
@media(max-width:760px){
  .svc.svc--accent{grid-column:span 1}
  .svc.svc--accent .svc-content{padding:28px 24px 26px}
  .svc.svc--accent .svc-content h3{font-size:22px}
}

/* Featured Service Card (Tesla 01) - neu strukturiert */
.svc--featured{
  grid-row:span 2;
  padding:44px 44px 36px;
  background:linear-gradient(135deg,var(--c-blue-d) 0%, var(--c-blue) 100%);
  color:#fff;border:0;
  display:flex;flex-direction:column;
  position:relative;overflow:hidden;
}
.svc--featured::after{
  content:"";position:absolute;top:-120px;right:-120px;
  width:340px;height:340px;border-radius:50%;
  background:radial-gradient(circle,rgba(219,76,0,.25) 0%,transparent 65%);
  pointer-events:none;
}
.svc--featured h3{color:#fff;font-size:28px;margin:0 0 12px;line-height:1.2;letter-spacing:-.3px}
.svc--featured p{color:rgba(255,255,255,.82);font-size:15px;line-height:1.65;margin:0 0 22px}
.svc--featured .svc-num{color:rgba(255,255,255,.14);font-size:54px;top:28px;right:32px;font-weight:800}
.svc--featured .svc-icon{background:rgba(255,255,255,.12);color:#fff;margin-bottom:18px;width:56px;height:56px;border-radius:14px;border:1px solid rgba(255,255,255,.14)}
.svc--featured .svc-icon svg{width:26px;height:26px}
.svc--featured:hover .svc-icon{background:var(--c-orange);color:#fff;border-color:var(--c-orange)}
.svc--featured:before{display:none}
.svc--featured:hover{transform:translateY(-8px);box-shadow:0 30px 80px rgba(26,58,114,.4);color:#fff}

/* Eyebrow für die Vorteile-Liste */
.svc--featured .svc-features-h{
  display:block;font-size:10.5px;font-weight:700;letter-spacing:1.6px;
  text-transform:uppercase;color:#ff9a4a;
  padding-top:18px;border-top:1px solid rgba(255,255,255,.14);
  margin-bottom:14px;
}

/* Vorteile-Liste in 2 Spalten - kompakter */
.svc--featured ul{
  margin:0 0 26px;padding:0;list-style:none;
  display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;
}
@media(max-width:680px){.svc--featured ul{grid-template-columns:1fr}}
.svc--featured ul li{
  display:flex;align-items:flex-start;gap:9px;
  font-size:13.5px;color:rgba(255,255,255,.95);line-height:1.45;
}
.svc--featured ul li:before{
  content:"✓";flex-shrink:0;
  width:18px;height:18px;border-radius:50%;
  background:var(--c-orange);color:#fff;
  display:grid;place-items:center;font-size:10.5px;font-weight:700;
  margin-top:1px;
}

/* CTA-Button statt nur Link-Text */
.svc--featured .svc-link{
  margin-top:auto;align-self:flex-start;
  background:var(--c-orange);color:#fff;
  padding:14px 24px;border-radius:999px;
  text-transform:none;letter-spacing:.3px;font-size:14px;font-weight:600;
  box-shadow:0 8px 22px rgba(219,76,0,.35);
  position:relative;z-index:2;
}
.svc--featured .svc-link:hover{background:#ff7a2e;gap:14px;transform:translateY(-1px)}

@media (max-width:1100px){
  .services-grid{grid-template-columns:1fr 1fr}
  .svc--featured{grid-row:span 1;grid-column:span 2}
}
@media (max-width:760px){
  .services-grid{grid-template-columns:1fr}
  .svc--featured{grid-column:span 1;padding:36px 28px}
  .svc{padding:28px 24px}
  .svc-num{font-size:36px;top:28px;right:24px}
}

/* ====================================================================
 * Trust Strip
 * ================================================================ */
.trust-strip{
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  border:1px solid var(--c-line);
  border-radius:var(--radius-xl);
  background:#fff;
  overflow:hidden;
}
.trust-item{
  padding:36px 32px;
  display:flex;flex-direction:column;gap:12px;
  border-right:1px solid var(--c-line);
  position:relative;
}
.trust-item:last-child{border-right:0}
.trust-icon{
  width:44px;height:44px;border-radius:12px;
  background:var(--c-orange-50);
  display:grid;place-items:center;color:var(--c-orange);
}
.trust-icon svg{width:22px;height:22px}
.trust-num{
  font-family:var(--font-sans);font-size:36px;color:var(--c-blue-d);font-weight:700;line-height:1;
}
.trust-num small{font-size:18px;color:var(--c-orange);font-weight:700}
.trust-lbl{font-size:13px;color:var(--c-text-mute);line-height:1.5}
@media(max-width:980px){
  .trust-strip{grid-template-columns:1fr 1fr}
  .trust-item:nth-child(2){border-right:0}
  .trust-item:nth-child(1),.trust-item:nth-child(2){border-bottom:1px solid var(--c-line)}
}
@media(max-width:520px){
  .trust-strip{grid-template-columns:1fr}
  .trust-item{border-right:0;border-bottom:1px solid var(--c-line)}
  .trust-item:last-child{border-bottom:0}
}

/* ====================================================================
 * Tesla Approved Showcase (Asymmetric)
 * ================================================================ */
.showcase-section{
  padding:24px 0 80px;
  background:linear-gradient(135deg, var(--c-blue) 0%, var(--c-blue-d) 100%);
  position:relative;overflow:hidden;
  color:#fff;
}
.showcase-section:before{
  content:"";position:absolute;top:-200px;right:-200px;
  width:700px;height:700px;border-radius:50%;
  background:radial-gradient(circle, rgba(219,76,0,.18), transparent 60%);
  pointer-events:none;
}
.showcase-section:after{
  content:"";position:absolute;bottom:-300px;left:-200px;
  width:600px;height:600px;border-radius:50%;
  background:radial-gradient(circle, rgba(43,91,176,.4), transparent 60%);
  pointer-events:none;
}
.showcase{
  display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:center;
  position:relative;z-index:1;
}
.showcase-image{
  position:relative;aspect-ratio:1/1;
  border-radius:var(--radius-xl);
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1);
  display:grid;place-items:center;padding:60px;
  backdrop-filter:blur(20px);
}
.showcase-seal{
  position:relative;
  width:300px;height:300px;
  border:2px solid var(--c-orange);
  border-radius:50%;
  display:grid;place-items:center;text-align:center;
  background:rgba(219,76,0,.08);
  backdrop-filter:blur(8px);
}
.showcase-seal:before{
  content:"";position:absolute;inset:-14px;
  border:1px dashed rgba(219,76,0,.5);
  border-radius:50%;
  animation:rotate 30s linear infinite;
}
@keyframes rotate{to{transform:rotate(360deg)}}
.showcase-seal-icon{font-size:64px;color:var(--c-orange);margin-bottom:8px;line-height:1}
.showcase-seal-inner{
  font-family:var(--font-sans);
  font-size:26px;color:#fff;letter-spacing:2.5px;
  text-transform:uppercase;line-height:1.25;font-weight:700;
}
.showcase-seal-tag{
  font-size:10px;letter-spacing:2.8px;color:rgba(255,255,255,.7);margin-top:12px;font-weight:700;
}
.showcase-content h2{color:#fff}
.showcase-content h2 em{color:var(--c-orange-l);font-style:italic}
.showcase-content p{color:rgba(255,255,255,.78);margin-bottom:18px;font-size:16.5px;line-height:1.7}
.showcase-tesla-plaque{
  position:absolute;left:24px;bottom:24px;z-index:2;
  background:#fff;padding:14px 22px;border-radius:12px;
  box-shadow:0 12px 28px rgba(0,0,0,.28);
  max-width:62%;
}
.showcase-tesla-plaque img{display:block;width:100%;height:auto;max-width:280px}
@media(max-width:980px){
  .showcase-tesla-plaque{left:18px;bottom:18px;padding:10px 16px}
  .showcase-tesla-plaque img{max-width:200px}
}
.showcase-media{display:flex;flex-direction:column;align-items:stretch;gap:24px}
.showcase-media .showcase-image{width:100%}
.showcase-tesla-below{
  display:block;width:100%;box-sizing:border-box;
  background:#fff;padding:24px 32px;border-radius:14px;
  box-shadow:0 12px 28px rgba(0,0,0,.22);
}
.showcase-tesla-below img{display:block;width:100%;height:auto;max-width:none;margin:0 auto}
@media(max-width:980px){
  .showcase-media{gap:20px}
  .showcase-tesla-below{padding:18px 22px}
}
.showcase-list{margin:32px 0;display:grid;gap:14px}
.showcase-list li{
  display:flex;align-items:flex-start;gap:14px;
  font-size:15px;color:rgba(255,255,255,.95);
}
.showcase-list li:before{
  content:"✓";flex-shrink:0;
  width:24px;height:24px;border-radius:50%;
  background:var(--c-orange);color:#fff;
  display:grid;place-items:center;font-size:12px;font-weight:700;
}
@media (max-width:980px){
  .showcase{grid-template-columns:1fr;gap:48px}
  .showcase-image{aspect-ratio:auto;min-height:340px;padding:40px}
  .showcase-seal{width:240px;height:240px}
  .showcase-seal-inner{font-size:22px}
}

/* ====================================================================
 * Vehicles Preview (asymmetric: 1 featured + 3 normal)
 * ================================================================ */
.vehicles-preview{
  display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:24px;
}
.veh{
  background:#fff;
  border:1px solid var(--c-line);
  border-radius:var(--radius-lg);
  overflow:hidden;
  transition:all var(--t-base);
  display:flex;flex-direction:column;
  text-decoration:none;color:inherit;
}
.veh:hover{transform:translateY(-6px);border-color:transparent;box-shadow:var(--shadow-2);color:inherit}
.veh-img{
  aspect-ratio:4/3;
  background:#f0f3f8 center/cover no-repeat;
  position:relative;overflow:hidden;
}
.veh-img:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, transparent 60%, rgba(26,58,114,.2) 100%);
  transition:opacity var(--t-base);
}
.veh:hover .veh-img{transform:scale(1.02)}
.veh-tag{
  position:absolute;top:14px;left:14px;
  background:var(--c-blue);color:#fff;
  font-size:10.5px;padding:7px 14px;letter-spacing:1.5px;text-transform:uppercase;
  border-radius:999px;font-weight:700;z-index:1;
}
.veh-tag.is-tesla{background:var(--c-orange)}
.veh-tag.is-premium{background:var(--c-blue-d)}
.veh-body{padding:22px 24px;display:flex;flex-direction:column;flex:1}
.veh-title{font-family:var(--font-sans);font-size:22px;color:var(--c-blue-d);margin:0 0 4px;line-height:1.2;font-weight:600}
.veh-sub{font-size:13px;color:var(--c-text-mute);margin-bottom:16px;line-height:1.4}
.veh-meta{display:flex;flex-wrap:wrap;gap:6px 12px;margin-bottom:16px;font-size:12px;color:var(--c-text-soft)}
.veh-meta li{position:relative}
.veh-meta li:not(:last-child):after{content:"·";position:absolute;right:-8px;color:var(--c-line-2)}
.veh-price{
  margin-top:auto;padding-top:14px;border-top:1px solid var(--c-line);
  font-family:var(--font-sans);font-size:26px;color:var(--c-orange);font-weight:700;
}

/* Featured vehicle: bigger title, image fills more */
.veh--featured{grid-row:span 1}
.veh--featured .veh-img{aspect-ratio:5/3}
.veh--featured .veh-title{font-size:28px}
.veh--featured .veh-body{padding:28px 30px}
.veh--featured .veh-price{font-size:30px}

@media (max-width:1200px){
  .vehicles-preview{grid-template-columns:1fr 1fr}
  .veh--featured{grid-column:span 2}
  .veh--featured .veh-img{aspect-ratio:4/3}
}
@media (max-width:680px){
  .vehicles-preview{grid-template-columns:1fr}
  .veh--featured{grid-column:span 1}
}

/* ====================================================================
 * Process Steps (vertical timeline-look on desktop)
 * ================================================================ */
.process{
  display:grid;grid-template-columns:repeat(4,1fr);gap:32px;position:relative;
}
.process:before{
  content:"";position:absolute;top:42px;left:5%;right:5%;height:2px;
  background:linear-gradient(90deg, var(--c-orange) 0%, var(--c-blue) 100%);
  z-index:0;opacity:.25;
}
.process-step{position:relative;z-index:1}
.process-step .num-circle{
  width:84px;height:84px;border-radius:50%;
  background:#fff;border:2px solid var(--c-line);
  display:grid;place-items:center;
  font-family:var(--font-sans);font-size:36px;color:var(--c-orange);font-weight:700;
  margin-bottom:24px;
  transition:all var(--t-base);
  position:relative;
}
.process-step:hover .num-circle{
  border-color:var(--c-orange);background:var(--c-orange);color:#fff;transform:scale(1.05);
}
.process-step h3{font-size:22px;margin-bottom:10px;color:var(--c-blue-d)}
.process-step p{color:var(--c-text-mute);font-size:14.5px;margin:0;line-height:1.65}

@media (max-width:980px){
  .process{grid-template-columns:1fr 1fr;gap:32px}
  .process:before{display:none}
  .process-step .num-circle{width:64px;height:64px;font-size:28px}
}
@media (max-width:520px){.process{grid-template-columns:1fr}}

/* ====================================================================
 * Testimonials (1 featured large + 2 small)
 * ================================================================ */
.testimonials{
  display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:stretch;
}
.testimonial{
  background:#fff;
  border:1px solid var(--c-line);
  border-radius:var(--radius-lg);
  padding:36px 36px 32px;
  position:relative;
  transition:all var(--t-base);
  display:flex;flex-direction:column;
}
.testimonial:hover{box-shadow:var(--shadow-2);transform:translateY(-4px);border-color:transparent}
.testimonial-quote{
  font-style:normal;
  font-size:17px;line-height:1.6;color:var(--c-blue-d);margin:0 0 28px;font-weight:500;
  flex:1;
}
.testimonial-quote:before{
  content:"\201C";display:block;
  font-size:64px;color:var(--c-orange);line-height:.5;margin-bottom:14px;
  font-style:normal;
}
.testimonial-stars{color:var(--c-star);letter-spacing:2px;font-size:14px;margin-bottom:18px}
.testimonial-who{display:flex;align-items:center;gap:14px;padding-top:20px;border-top:1px solid var(--c-line)}
.testimonial-avatar{
  width:48px;height:48px;border-radius:50%;
  background:linear-gradient(135deg,var(--c-blue),var(--c-blue-d));
  display:grid;place-items:center;
  font-family:var(--font-sans);color:#fff;font-weight:600;font-size:20px;
  flex-shrink:0;
}
.testimonial-name{font-size:14.5px;color:var(--c-blue-d);font-weight:600}
.testimonial-role{font-size:12px;color:var(--c-text-soft);margin-top:2px}

.testimonial--featured{
  grid-row:span 2;
  background:linear-gradient(135deg,var(--c-blue) 0%, var(--c-blue-d) 100%);
  color:#fff;border:0;padding:48px;
}
.testimonial--featured .testimonial-quote{color:#fff;font-size:22px;line-height:1.5;font-weight:600}
.testimonial--featured .testimonial-quote:before{color:var(--c-orange-l);font-size:80px;font-style:normal}
.testimonial--featured .testimonial-name{color:#fff}
.testimonial--featured .testimonial-role{color:rgba(255,255,255,.7)}
.testimonial--featured .testimonial-who{border-top-color:rgba(255,255,255,.2)}
.testimonial--featured .testimonial-avatar{background:var(--c-orange)}
.testimonial--featured:hover{transform:translateY(-4px);box-shadow:0 30px 80px rgba(26,58,114,.4)}

.reviews-summary{
  display:flex;align-items:center;justify-content:center;gap:48px;
  padding:48px 56px;margin-top:48px;
  background:#fff;
  border:1px solid var(--c-line);
  border-radius:var(--radius-xl);
  flex-wrap:wrap;
}
.reviews-summary .score{
  font-family:var(--font-sans);font-size:80px;color:var(--c-orange);line-height:1;font-weight:700;letter-spacing:-.02em;
}
.reviews-summary .meta{display:flex;flex-direction:column}
.reviews-summary .stars-big{font-size:26px;letter-spacing:3px;color:var(--c-star)}
.reviews-summary .meta small{color:var(--c-text-mute);font-size:14px;margin-top:8px}
.reviews-summary .source{
  display:flex;flex-direction:column;
  padding-left:48px;border-left:1px solid var(--c-line);
}
.reviews-summary .source span{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--c-text-soft);font-weight:700}
.reviews-summary .source strong{font-size:18px;color:var(--c-blue-d);font-weight:600;margin-top:4px}

@media (max-width:980px){
  .testimonials{grid-template-columns:1fr;gap:18px}
  .testimonial--featured{grid-row:span 1;padding:36px 32px}
  .testimonial--featured .testimonial-quote{font-size:22px}
  .reviews-summary{padding:32px;gap:24px}
  .reviews-summary .source{padding-left:0;border-left:0;border-top:1px solid var(--c-line);padding-top:20px;text-align:center;width:100%;align-items:center}
}

/* ====================================================================
 * CTA banner (cinematic gradient)
 * ================================================================ */
.cta-banner{
  background:
    radial-gradient(circle at 100% 0%, rgba(219,76,0,.4), transparent 50%),
    linear-gradient(135deg,var(--c-blue) 0%, var(--c-blue-d) 50%, var(--c-blue-x) 100%);
  border-radius:var(--radius-xl);
  padding:96px 60px;
  text-align:center;
  position:relative;overflow:hidden;
  color:#fff;
}
.cta-banner:after{
  content:"";position:absolute;bottom:-150px;left:-100px;
  width:400px;height:400px;border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.08), transparent 70%);
}
.cta-banner > *{position:relative;z-index:1}
.cta-banner .eyebrow{color:var(--c-orange-l)}
.cta-banner .eyebrow.center:after,.cta-banner .eyebrow:before{background:var(--c-orange-l)}
.cta-banner h2{color:#fff;margin:18px 0;font-size:clamp(36px, 4vw, 56px)}
.cta-banner h2 em{color:var(--c-orange-l);font-style:italic}
.cta-banner p{color:rgba(255,255,255,.85);max-width:560px;margin:0 auto 36px;font-size:17px;line-height:1.65}
.cta-banner .btn-row{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}
/* Innerhalb des dunklen CTA-Banners: Ghost-Buttons auf hell flippen, sonst unsichtbar */
.cta-banner .btn--ghost{
  background:transparent;color:#fff;border-color:rgba(255,255,255,.32);
}
.cta-banner .btn--ghost:hover{
  border-color:#fff;background:rgba(255,255,255,.08);transform:translateY(-2px);
}

@media (max-width:680px){.cta-banner{padding:60px 28px}}

/* ====================================================================
 * Footer (richer)
 * ================================================================ */
.site-footer{
  background:var(--c-blue-d);
  color:rgba(255,255,255,.7);
  padding:96px 0 32px;
  position:relative;overflow:hidden;
}
.site-footer:before{
  content:"";position:absolute;top:-200px;right:-100px;
  width:500px;height:500px;border-radius:50%;
  background:radial-gradient(circle, rgba(219,76,0,.1), transparent 70%);
  pointer-events:none;
}
.footer-grid{
  display:grid;grid-template-columns:1.9fr 1fr 1fr 1.3fr;gap:48px;
  margin-bottom:64px;position:relative;
}
.footer-brand .brand-logo-img{
  width:240px;height:auto;display:block;max-width:100%;
  filter:brightness(0) invert(1);
  margin:0 0 22px -7px;
}
.footer-brand p{margin:0 0 24px;font-size:14px;line-height:1.7;max-width:400px;color:rgba(255,255,255,.7)}
.footer-badges{display:flex;flex-direction:column;gap:14px;align-items:flex-start;margin:22px 0 24px}
.footer-badges img{
  width:auto;display:block;
  border-radius:8px;background:#fff;padding:10px 14px;
  box-shadow:0 4px 14px rgba(0,0,0,.18);
  transition:transform var(--t-fast);
}
.footer-badges img.badge-tesla{width:240px;height:auto;padding:10px 16px}
.footer-badges img.badge-meister{width:240px;height:auto;padding:10px 16px}
.footer-badges img:hover{transform:translateY(-2px)}
.footer-social{display:flex;gap:10px}
.footer-social a{
  width:42px;height:42px;border-radius:50%;
  border:1px solid rgba(255,255,255,.18);
  display:grid;place-items:center;
  color:rgba(255,255,255,.7);transition:all var(--t-fast);
}
.footer-social a:hover{color:#fff;border-color:var(--c-orange);background:var(--c-orange);transform:translateY(-2px)}
.footer-social svg{width:16px;height:16px}

.footer h4,
.footer h3:not(.footer-loc-h){
  font-family:var(--font-sans);font-size:13px;letter-spacing:2.5px;
  text-transform:uppercase;color:var(--c-orange-l);margin:0 0 22px;font-weight:700;
}
.footer ul li{margin-bottom:10px}
.footer ul li a{font-size:14px;color:rgba(255,255,255,.7);transition:color var(--t-fast)}
.footer ul li a:hover{color:var(--c-orange-l)}

.footer-contact-item{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px;font-size:14px;color:rgba(255,255,255,.85)}
.footer-contact-item svg{width:16px;height:16px;color:var(--c-orange-l);flex-shrink:0;margin-top:4px}
.footer-contact-item a{color:rgba(255,255,255,.85)}
.footer-contact-item a:hover{color:var(--c-orange-l)}

.footer-bottom{
  padding-top:28px;border-top:1px solid rgba(255,255,255,.1);
  display:flex;justify-content:space-between;align-items:center;
  font-size:12.5px;color:rgba(255,255,255,.5);
  flex-wrap:wrap;gap:18px;position:relative;
}
.footer-bottom a{color:rgba(255,255,255,.5)}
.footer-bottom a:hover{color:var(--c-orange-l)}
.footer-legal{display:flex;gap:24px;flex-wrap:wrap}

@media (max-width:980px){.footer-grid{grid-template-columns:1fr 1fr;gap:40px}}
@media (max-width:600px){
  .footer-grid{grid-template-columns:1fr;gap:32px}
  .site-footer{padding:60px 0 24px}
}

/* ====================================================================
 * Reveal animations
 * ================================================================ */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease, transform .8s ease}
.reveal.is-in{opacity:1;transform:translateY(0)}
.reveal-stagger > *{opacity:0;transform:translateY(20px);transition:opacity .6s ease, transform .6s ease}
.reveal-stagger.is-in > *{opacity:1;transform:translateY(0)}
.reveal-stagger.is-in > *:nth-child(1){transition-delay:.05s}
.reveal-stagger.is-in > *:nth-child(2){transition-delay:.15s}
.reveal-stagger.is-in > *:nth-child(3){transition-delay:.25s}
.reveal-stagger.is-in > *:nth-child(4){transition-delay:.35s}
.reveal-stagger.is-in > *:nth-child(5){transition-delay:.45s}
.reveal-stagger.is-in > *:nth-child(6){transition-delay:.55s}

/* ====================================================================
 * Floating WhatsApp
 * ================================================================ */
.fab-wa{
  position:fixed;bottom:24px;right:24px;
  width:62px;height:62px;
  background:#25d366;color:#fff;
  border-radius:50%;display:grid;place-items:center;
  box-shadow:0 12px 32px rgba(37,211,102,.45);
  z-index:50;
  transition:transform var(--t-fast);
}
.fab-wa:hover{transform:scale(1.1)}
.fab-wa svg{width:30px;height:30px}
.fab-wa:before{
  content:"";position:absolute;inset:0;border-radius:50%;
  background:#25d366;opacity:.5;
  animation:pulse 2.4s ease-out infinite;
  z-index:-1;
}
@keyframes pulse{0%{transform:scale(1);opacity:.5}100%{transform:scale(1.4);opacity:0}}

/* ====================================================================
 * Page hero (sub pages)
 * ================================================================ */
.page-hero{
  padding:calc(var(--topbar-h) + var(--header-h) + 60px) 0 90px;
  text-align:center;
  background:
    radial-gradient(ellipse at 0% 100%, var(--c-blue-50), transparent 50%),
    radial-gradient(ellipse at 100% 0%, var(--c-orange-50), transparent 50%),
    linear-gradient(180deg, #fff 0%, var(--c-bg-soft) 100%);
  border-bottom:1px solid var(--c-line);
  position:relative;
}
@media(max-width:1024px){.page-hero{padding-top:calc(var(--header-h) + 40px)}}
.page-hero .eyebrow{margin-bottom:24px}
.page-hero h1{margin-bottom:24px}
.page-hero .lead{margin:0 auto;color:var(--c-text)}
.breadcrumb{
  display:flex;justify-content:center;gap:10px;align-items:center;
  font-size:11.5px;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--c-text-soft);margin-top:32px;font-weight:700;
}
.breadcrumb a{color:var(--c-text-soft);transition:color var(--t-fast)}
.breadcrumb a:hover{color:var(--c-orange)}
.breadcrumb span+span:before{content:"/";margin-right:10px;color:var(--c-line-2)}

/* ====================================================================
 * Forms / Map / Info-Cards / Team / Service-Detail
 * ================================================================ */
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
.form-field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}
.form-field label{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--c-text-soft);font-weight:700}
.form-field input,.form-field select,.form-field textarea{
  background:#fff;border:1.5px solid var(--c-line);
  border-radius:var(--radius);padding:14px 16px;
  color:var(--c-text);font:inherit;font-size:15px;
  transition:all var(--t-fast);
}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{
  outline:0;border-color:var(--c-blue);box-shadow:0 0 0 4px var(--c-blue-50);
}
.form-field textarea{min-height:140px;resize:vertical}
@media (max-width:680px){.form-row{grid-template-columns:1fr;gap:0}}

.map-card{
  border-radius:var(--radius-xl);overflow:hidden;
  border:1px solid var(--c-line);background:#fff;
  height:480px;box-shadow:var(--shadow-1);
}
.map-card iframe{width:100%;height:100%;border:0}

.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:60px}
.info-card{
  background:#fff;border:1px solid var(--c-line);
  border-radius:var(--radius-lg);padding:36px 32px;
  transition:all var(--t-base);
}
.info-card:hover{border-color:transparent;box-shadow:var(--shadow-2);transform:translateY(-4px)}
.info-card .icon{
  width:54px;height:54px;border-radius:14px;
  background:linear-gradient(135deg,var(--c-blue-50),var(--c-orange-50));
  display:grid;place-items:center;color:var(--c-blue);margin-bottom:20px;
}
.info-card .icon svg{width:24px;height:24px}
.info-card h4{color:var(--c-blue-d);font-size:13px;margin-bottom:12px;letter-spacing:2px}
.info-card p{margin:0;font-size:14.5px;color:var(--c-text-mute);line-height:1.7}
.info-card a{color:var(--c-blue-d);font-weight:600}
.info-card a:hover{color:var(--c-orange)}
@media (max-width:880px){.info-grid{grid-template-columns:1fr}}

.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.team-card{
  background:#fff;border:1px solid var(--c-line);
  border-radius:var(--radius-lg);overflow:hidden;
  transition:all var(--t-base);
}
.team-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-2);border-color:transparent}
.team-img{
  aspect-ratio:3/4;
  background:linear-gradient(135deg,var(--c-blue) 0%, var(--c-blue-d) 100%);
  background-position:center 42% !important;
  background-size:cover !important;
  position:relative;display:grid;place-items:center;
  font-family:var(--font-sans);font-size:96px;color:#fff;font-weight:700;
}
.team-img:after{content:none}
.team-body{padding:24px 26px}
.team-name{font-family:var(--font-sans);font-size:22px;color:var(--c-blue-d);margin:0 0 4px;font-weight:600}
.team-role{font-size:11.5px;letter-spacing:1.5px;text-transform:uppercase;color:var(--c-orange);font-weight:700}
@media (max-width:980px){.team-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.team-grid{grid-template-columns:1fr}}

.svc-detail{
  display:grid;grid-template-columns:1fr 1.2fr;gap:80px;align-items:center;
  margin-bottom:0;
}
.svc-detail + .svc-detail{margin-top:140px}
.svc-detail.reverse{grid-template-columns:1.2fr 1fr}
.svc-detail.reverse .svc-detail-img,
.svc-detail.reverse .svc-detail-img-stack{order:2}
.svc-detail-img-stack{display:flex;flex-direction:column;gap:24px}
.svc-detail-img{
  aspect-ratio:4/3;border-radius:var(--radius-xl);
  background:#f0f3f8 center/cover no-repeat;
  position:relative;overflow:hidden;
  box-shadow:var(--shadow-2);
}
.svc-detail-content h2{margin-bottom:24px}
.svc-detail-content p{color:var(--c-text-mute);margin-bottom:18px;font-size:16.5px;line-height:1.75}
.svc-detail-content p.lead-strong{font-size:18px;color:var(--c-blue-d);font-weight:500;line-height:1.5;margin-bottom:22px}
.svc-detail-content p.lead-strong strong{color:var(--c-orange);font-weight:700}

/* Vorteile-Karten mit Foto (Warum Auto Lang) */
.vorteile-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:24px;
}
.vorteil{
  background:#fff;border:1px solid var(--c-line);
  border-radius:var(--radius-lg);overflow:hidden;
  display:flex;flex-direction:column;
  transition:transform var(--t-base),box-shadow var(--t-base),border-color var(--t-base);
  position:relative;
}
.vorteil:before{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg, var(--c-orange) 0%, var(--c-blue) 100%);
  transform:scaleX(0);transform-origin:left;
  transition:transform var(--t-base);z-index:2;
}
.vorteil:hover{transform:translateY(-6px);border-color:transparent;box-shadow:var(--shadow-2)}
.vorteil:hover:before{transform:scaleX(1)}
.vorteil-img{
  aspect-ratio:4/3;background-size:cover;background-position:center;
  transition:transform var(--t-slow);
}
.vorteil:hover .vorteil-img{transform:scale(1.04)}
.vorteil-body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:8px}
.vorteil-body h3{font-size:20px;margin:0;color:var(--c-blue-d);line-height:1.2}
.vorteil-body p{margin:0;color:var(--c-text-mute);font-size:14.5px;line-height:1.6}
@media(max-width:1100px){
  .vorteile-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .vorteile-grid{grid-template-columns:1fr;gap:18px}
  .vorteil-body{padding:18px 20px 22px}
}
.svc-detail-content ul{margin:24px 0}
.svc-detail-content ul li{
  padding-left:32px;position:relative;margin-bottom:12px;color:var(--c-text);font-size:15px;line-height:1.65;
}
.svc-detail-content ul li:before{
  content:"";position:absolute;left:0;top:11px;
  width:20px;height:2px;background:var(--c-orange);
}
@media (max-width:980px){
  .svc-detail,.svc-detail.reverse{grid-template-columns:1fr;gap:40px;margin-bottom:80px}
  .svc-detail.reverse .svc-detail-img{order:0}
}

/* Legal pages content */
.legal-content{max-width:820px;margin:0 auto}
.legal-content h2{font-size:26px;margin:48px 0 16px;color:var(--c-blue-d)}
.legal-content h2:first-child{margin-top:0}
.legal-content p,.legal-content dl{color:var(--c-text-mute);font-size:15px;line-height:1.75}
.legal-content a{color:var(--c-orange);font-weight:500}
.legal-content a:hover{text-decoration:underline}
.legal-content dl{display:grid;grid-template-columns:200px 1fr;gap:8px 24px;margin:0;background:#fff;border:1px solid var(--c-line);border-radius:var(--radius-lg);padding:24px 28px}
.legal-content dt{color:var(--c-blue-d);font-weight:600}
.legal-content dd{margin:0}
@media(max-width:680px){.legal-content dl{grid-template-columns:1fr;padding:20px 22px}}

/* ====================================================================
 * News & Angebote Cards
 * ================================================================ */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.news-carousel{position:relative}
.news-carousel .news-grid{
  display:grid !important;
  grid-template-columns:none !important;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - 48px) / 3);
  overflow-x:auto;scrollbar-width:none;
  scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
  scroll-padding-left:0;
}
.news-carousel .news-grid::-webkit-scrollbar{display:none}
.news-carousel .news-card{scroll-snap-align:start;min-width:0}

/* Carousel-Nav-Buttons */
.news-nav{
  position:absolute;top:35%;transform:translateY(-50%);z-index:5;
  width:48px;height:48px;border-radius:50%;
  background:#fff;color:var(--c-blue-d);
  border:1px solid var(--c-line);
  display:grid;place-items:center;cursor:pointer;
  box-shadow:0 6px 20px rgba(26,58,114,.15);
  transition:all var(--t-fast);
}
.news-nav:hover{background:var(--c-orange);color:#fff;border-color:var(--c-orange);transform:translateY(-50%) scale(1.1)}
.news-nav svg{width:20px;height:20px}
.news-prev{left:-22px}
.news-next{right:-22px}
.news-nav[hidden]{display:none}
.news-nav[disabled]{opacity:.35;cursor:not-allowed;pointer-events:none}
@media(max-width:980px){
  .news-carousel .news-grid{grid-auto-columns:calc((100% - 24px) / 2)}
  .news-prev{left:-8px}
  .news-next{right:-8px}
  .news-nav{width:42px;height:42px}
}
@media(max-width:680px){
  .news-carousel .news-grid{grid-auto-columns:85%;gap:14px}
}
.news-card{
  background:#fff;border:1px solid var(--c-line);border-radius:var(--radius-lg);
  overflow:hidden;display:flex;flex-direction:column;
  transition:all var(--t-base);
}
.news-card:hover{transform:translateY(-6px);border-color:transparent;box-shadow:var(--shadow-2)}
.news-card-img{
  aspect-ratio:5/4;
  background:linear-gradient(135deg,var(--c-blue-50),var(--c-orange-50));
  display:grid;place-items:center;
  position:relative;overflow:hidden;
}
.news-card-img img{
  width:100%;height:100%;object-fit:cover;object-position:70% center;display:block;
  transition:transform var(--t-base);
}
.news-card:hover .news-card-img img{transform:scale(1.05)}
.news-card-icon{font-size:64px;line-height:1;filter:saturate(1.1)}
.news-card-body{padding:24px 26px;display:flex;flex-direction:column;flex:1}
.news-card-tag{
  display:inline-block;
  background:var(--c-orange-50);color:var(--c-orange);
  font-size:10.5px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;
  padding:4px 10px;border-radius:6px;margin-bottom:14px;align-self:flex-start;
}
.news-card h3{font-size:21px;color:var(--c-blue-d);margin-bottom:10px}
.news-card p{color:var(--c-text-mute);font-size:14px;margin:0 0 18px;line-height:1.6;flex:1}
.news-card-link{
  display:inline-flex;align-items:center;gap:8px;
  color:var(--c-orange);font-weight:700;font-size:12.5px;letter-spacing:1.2px;
  text-transform:uppercase;transition:gap var(--t-fast);
}
.news-card-link:hover{gap:14px}
@media (max-width:1100px){.news-grid:not(.news-carousel .news-grid){grid-template-columns:1fr 1fr}}
@media (max-width:560px){.news-grid:not(.news-carousel .news-grid){grid-template-columns:1fr}}

/* ====================================================================
 * Locations Grid (2 Standorte)
 * ================================================================ */
.locations-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.location-card{
  background:#fff;border:1px solid var(--c-line);
  border-radius:var(--radius-lg);
  padding:32px 36px;
  transition:all var(--t-base);
}
.location-card:hover{box-shadow:var(--shadow-2);transform:translateY(-3px);border-color:transparent}
.location-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:16px;flex-wrap:wrap}
.location-head h3{margin:0;font-size:24px;color:var(--c-blue-d)}
.location-rating{display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right}
.location-rating .score{font-family:var(--font-sans);font-size:34px;color:var(--c-orange);font-weight:700;line-height:1}
.location-rating .stars{color:var(--c-star);letter-spacing:1.5px;font-size:15px;margin-top:2px}
.location-rating .count{font-size:11.5px;color:var(--c-text-soft);letter-spacing:.5px}
.location-addr{color:var(--c-text-mute);margin:0 0 24px;font-size:15px;line-height:1.6}

/* Rich Location-Cards mit Bild */
.location-card--rich{padding:0;overflow:hidden}
.location-card--rich .location-img{
  aspect-ratio:16/9;background:#f0f3f8 center/cover no-repeat;
  position:relative;
}
.location-card--rich .location-img:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 50%, rgba(26,58,114,.15) 100%);
}
.location-card--rich .location-body{padding:32px 36px}
.location-list{list-style:none;padding:0;margin:0 0 24px}
.location-list li{
  padding:10px 0;border-bottom:1px solid var(--c-line);
  font-size:14.5px;color:var(--c-text-mute);line-height:1.55;
}
.location-list li:last-child{border-bottom:0}
.location-list li strong{color:var(--c-blue-d);font-weight:700}
.location-list a{color:var(--c-blue-d);font-weight:600}
.location-list a:hover{color:var(--c-orange)}
.location-cta{display:flex;gap:10px;flex-wrap:wrap}
.location-cta .btn{padding:11px 20px;font-size:12px}

@media(max-width:760px){
  .locations-grid{grid-template-columns:1fr}
  .location-card--rich .location-body{padding:24px 22px}
}

/* Iframe wrapper */
.fz-frame{
  background:#fff;border-radius:var(--radius-xl);overflow:hidden;
  box-shadow:var(--shadow-2);
  border:1px solid var(--c-line);
  height:1400px;
}
.fz-frame iframe{width:100%;height:100%;border:0;display:block}
@media(max-width:980px){.fz-frame{height:1200px}}

/* ====================================================================
 * Google Reviews Section (analog Live-Site al-gr-*)
 * ================================================================ */
.gr-section{background:var(--c-blue-50,#eef4fb);padding:56px 0 80px}
.gr-section .container{max-width:1180px}
.gr-headline{text-align:center;color:var(--c-blue-d);margin:0 0 12px;font-size:34px;line-height:1.15}
.gr-headline em{color:var(--c-orange);font-style:normal}
.gr-sub{text-align:center;color:var(--c-text-mute);margin:0 auto 40px;max-width:560px}
.gr-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.gr-card{
  background:#fff;border-radius:var(--radius-lg);padding:36px 32px;
  box-shadow:var(--shadow-1);border:1px solid var(--c-line);
  display:flex;flex-direction:column;gap:14px;
  transition:all var(--t-base);
}
.gr-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-2);border-color:transparent}
.gr-card-head{display:flex;align-items:center;gap:14px}
.gr-card-head svg{width:36px;height:36px;flex:0 0 36px}
.gr-loc{margin:0;font-size:21px;color:var(--c-blue-d);font-weight:700}
.gr-rating{display:flex;align-items:center;gap:14px;margin-top:6px}
.gr-rating-num{font-size:44px;font-weight:800;color:var(--c-blue-d);line-height:1}
.gr-stars{color:#fbbc05;font-size:24px;letter-spacing:2px;line-height:1}
.gr-count{margin:0;color:var(--c-text-mute);font-size:14px;font-weight:600}
.gr-addr{margin:0;color:var(--c-text-mute);font-size:13px}
.gr-actions{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.gr-btn{
  flex:1;text-align:center;padding:12px 16px;border-radius:8px;
  font-size:12.5px;font-weight:700;letter-spacing:0.8px;text-transform:uppercase;
  text-decoration:none;transition:all var(--t-fast);
  white-space:nowrap;
}
.gr-btn-primary{background:var(--c-orange);color:#fff}
.gr-btn-primary:hover{background:var(--c-blue-d)}
.gr-btn-secondary{background:#fff;color:var(--c-blue-d);border:1px solid var(--c-line)}
.gr-btn-secondary:hover{background:var(--c-blue-d);color:#fff;border-color:var(--c-blue-d)}
@media(max-width:760px){
  .gr-grid{grid-template-columns:1fr}
  .gr-section{padding:48px 0}
  .gr-headline{font-size:26px}
  .gr-card{padding:28px 24px}
  .gr-rating-num{font-size:36px}
}

/* Review-Snippets in den gr-cards */
.gr-snippets{display:flex;flex-direction:column;gap:14px;margin-top:6px}
.gr-rev{
  background:#f8fafc;border-left:3px solid #fbbc05;
  border-radius:8px;padding:14px 16px;margin:0;
}
.gr-rev-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.gr-rev-stars{color:#fbbc05;font-size:14px;letter-spacing:1.5px;line-height:1}
.gr-rev-stars .al-rev-star{color:#e0e0e0}
.gr-rev-stars .al-rev-star.is-on{color:#fbbc05}
.gr-rev-date{font-size:11.5px;color:var(--c-text-soft)}
.gr-rev-text{margin:0 0 6px;font-size:13.5px;line-height:1.55;color:var(--c-text)}
.gr-rev-author{font-size:12px;color:var(--c-text-mute);font-weight:600;font-style:normal}
.gr-disclaimer{text-align:center;color:var(--c-text-soft);font-size:11.5px;margin:32px 0 0;letter-spacing:0.3px}

/* ====================================================================
 * Kontakt-Page Icons (location-list, form-labels, btn-icons)
 * ================================================================ */
.location-list--ico li{
  display:flex;align-items:flex-start;gap:12px;padding:9px 0;
  border-bottom:1px solid var(--c-line);
}
.location-list--ico li:last-child{border-bottom:0}
.li-ico{
  flex:0 0 18px;width:18px;height:18px;color:var(--c-blue);
  margin-top:3px;
}
.li-ico--alert{color:var(--c-orange)}

.form-field label{
  display:inline-flex;align-items:center;gap:7px;
}
.lbl-ico{width:14px;height:14px;color:var(--c-blue);flex:0 0 14px}

.btn-ico{
  width:16px;height:16px;flex:0 0 16px;
  margin-right:2px;
}
.btn--lg .btn-ico{width:18px;height:18px;flex-basis:18px}

.h2-ico{
  width:24px;height:24px;color:var(--c-orange);
  vertical-align:-3px;margin-right:10px;display:inline-block;
}

/* ====================================================================
 * Back-to-Top Floating Button (auto-injected via JS)
 * ================================================================ */
.fab-top{
  position:fixed;right:24px;bottom:96px;
  width:48px;height:48px;border-radius:50%;
  background:var(--c-blue-d);color:#fff;border:0;
  display:grid;place-items:center;
  box-shadow:0 10px 26px rgba(26,58,114,.3);
  cursor:pointer;
  opacity:0;visibility:hidden;transform:translateY(12px);
  transition:opacity var(--t-base), transform var(--t-base), background var(--t-fast), visibility var(--t-base);
  z-index:49;
}
.fab-top.is-on{opacity:1;visibility:visible;transform:translateY(0)}
.fab-top:hover{background:var(--c-orange);transform:translateY(-2px)}
.fab-top svg{width:22px;height:22px}
@media(max-width:520px){
  .fab-top{right:18px;bottom:88px;width:44px;height:44px}
  .fab-top svg{width:18px;height:18px}
}

/* ====================================================================
 * Sub-Page Generic Sections (page.php Renderer)
 * ================================================================ */
.page-section{padding:56px 0 80px;border-top:1px solid var(--c-line)}
.page-section--first{border-top:0;padding-top:48px}
.page-section--alt{background:var(--c-bg-soft)}
.page-section .container--narrow{max-width:880px}
.page-h2{
  font-size:clamp(24px,2.6vw,34px);color:var(--c-blue-d);
  margin:0 0 28px;line-height:1.2;letter-spacing:-.015em;
}
.page-prose{color:var(--c-text);font-size:16px;line-height:1.75}
.page-prose h3{
  font-size:21px;color:var(--c-blue-d);margin:36px 0 14px;font-weight:700;line-height:1.3;
}
.page-prose h4{
  font-size:17px;color:var(--c-blue-d);margin:28px 0 10px;font-weight:700;
  text-transform:none;letter-spacing:0;
}
.page-prose p{margin:0 0 16px}
.page-prose strong{color:var(--c-blue-d);font-weight:700}
.page-prose a{color:var(--c-blue);font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.page-prose a:hover{color:var(--c-orange)}
.page-prose ul,.page-prose ol{margin:0 0 18px;padding-left:1.5em}
.page-prose ul li,.page-prose ol li{margin-bottom:6px;line-height:1.65}
.page-prose ul{list-style:none;padding-left:0}
.page-prose ul li{position:relative;padding-left:22px}
.page-prose ul li::before{
  content:"";position:absolute;left:0;top:11px;width:8px;height:8px;
  background:var(--c-orange);border-radius:50%;
}
.page-img{margin:32px 0;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-1)}
.page-img img{width:100%;height:auto;display:block}
/* Marken-Logos kompakt + zentriert (Santander, Car-Garantie etc.) */
.page-img--logo{
  margin:32px auto;max-width:380px;border-radius:var(--radius);
  box-shadow:0 8px 24px rgba(26,58,114,.12);background:#fff;
}
.page-img--logo img{width:100%;height:auto;padding:18px 24px;background:#fff}
.page-cta{margin:24px 0 12px}
.page-cta .btn{display:inline-flex;align-items:center;gap:10px}
.page-quote{
  border-left:4px solid var(--c-orange);background:var(--c-orange-50);
  margin:28px 0;padding:18px 22px;border-radius:8px;
  font-style:italic;color:var(--c-blue-d);
}
@media(max-width:760px){
  .page-section{padding:48px 0}
}

/* ====================================================================
 * Such-App Fahrzeuge v2 (Autohero-Style mit Auto-Lang-Brand)
 * ================================================================ */

/* Top Search Bar */
.search-bar{
  display:flex;gap:12px;margin-bottom:24px;
  background:#fff;border:1px solid var(--c-line);border-radius:var(--radius-lg);
  padding:12px;box-shadow:var(--shadow-1);align-items:center;
}
.search-bar-input{position:relative;flex:1;display:flex;align-items:center}
.search-bar-input svg{position:absolute;left:14px;width:18px;height:18px;color:var(--c-text-soft);pointer-events:none}
.search-bar-input input{
  width:100%;padding:14px 40px 14px 44px;font-size:15px;border:0;
  background:transparent;font-family:inherit;
}
.search-bar-input input:focus{outline:0}
.search-bar-clear{
  position:absolute;right:8px;width:28px;height:28px;border-radius:50%;
  background:var(--c-bg-soft);color:var(--c-text-mute);border:0;
  cursor:pointer;font-size:20px;line-height:1;
}
.search-bar-clear:hover{background:var(--c-line-2);color:var(--c-blue-d)}
.search-bar-submit{padding:14px 22px;font-size:13px;display:none}
.search-bar-submit svg{width:16px;height:16px}
.filter-mob-count{
  display:inline-grid;place-items:center;
  width:18px;height:18px;border-radius:50%;background:#fff;color:var(--c-orange);
  font-size:11px;font-weight:800;margin-left:4px;
}

/* Layout */
.search-app{
  display:grid;grid-template-columns:300px 1fr;
  gap:28px;align-items:flex-start;
}

/* Sidebar */
.search-side{
  position:sticky;top:120px;align-self:start;
  background:#fff;border:1px solid var(--c-line);border-radius:var(--radius-lg);
  padding:6px 4px;box-shadow:var(--shadow-1);
  scrollbar-width:thin;
}
.filter-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 8px;position:sticky;top:0;background:#fff;z-index:2;border-bottom:1px solid var(--c-line);margin:0 -4px 4px}
.filter-head h3{margin:0;font-size:15px;color:var(--c-blue-d);font-weight:800;letter-spacing:.5px;text-transform:uppercase}
.filter-reset{font-size:12px;color:var(--c-orange);background:transparent;border:0;cursor:pointer;padding:4px 8px;border-radius:6px;font-weight:700}
.filter-reset:hover{background:var(--c-orange-50)}
.sidebar-close{display:none;width:32px;height:32px;border-radius:50%;background:var(--c-bg-soft);border:0;color:var(--c-blue-d);font-size:22px;line-height:1;cursor:pointer}
.sidebar-apply{display:none;width:calc(100% - 36px);margin:18px}

.filter-block{border-bottom:1px solid var(--c-line);margin:0 14px;padding:14px 0}
.filter-block:last-of-type{border-bottom:0}
.filter-block summary{
  font-weight:700;color:var(--c-blue-d);font-size:13.5px;cursor:pointer;
  list-style:none;display:flex;justify-content:space-between;align-items:center;gap:8px;
}
.filter-block summary::-webkit-details-marker{display:none}
.filter-block summary::after{content:"+";color:var(--c-text-mute);font-size:18px;font-weight:300;flex-shrink:0;margin-left:8px}
.filter-block[open] summary::after{content:"-"}
.filter-block summary > span{flex:1}
.filter-block summary .rng-display{font-weight:600;color:var(--c-text-mute);font-size:11.5px;font-style:normal;text-align:right;letter-spacing:0}
.filter-body{padding-top:12px}
.filter-list{display:flex;flex-direction:column;gap:8px;max-height:240px;overflow-y:auto}
.chk{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--c-text);cursor:pointer;line-height:1.3}
.chk input{accent-color:var(--c-blue);width:14px;height:14px;flex:0 0 14px;cursor:pointer}
.chk em{color:var(--c-text-soft);font-style:normal;font-size:11px}
.filter-swatch{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.chk-color{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--c-text);cursor:pointer;line-height:1.3}
.chk-color input{accent-color:var(--c-blue);width:14px;height:14px;flex:0 0 14px;cursor:pointer;margin:0}
.chk-color-dot{width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.15);flex:0 0 14px}
.chk-color-lbl em{color:var(--c-text-soft);font-style:normal;font-size:11px}
.chk:hover{color:var(--c-blue-d)}

/* Range Slider */
.rng-slider{position:relative;height:24px;margin:8px 6px 4px}
.rng-track{position:absolute;left:0;right:0;top:50%;height:4px;background:var(--c-line);border-radius:99px;transform:translateY(-50%)}
.rng-fill{position:absolute;top:0;bottom:0;background:var(--c-blue);border-radius:99px}
.rng-thumb{
  position:absolute;left:0;right:0;top:0;width:100%;height:24px;
  background:transparent;-webkit-appearance:none;appearance:none;pointer-events:none;
  margin:0;
}
.rng-thumb::-webkit-slider-thumb{
  -webkit-appearance:none;width:18px;height:18px;border-radius:50%;
  background:#fff;border:2px solid var(--c-blue);cursor:pointer;pointer-events:auto;
  box-shadow:0 2px 6px rgba(26,58,114,.25);
}
.rng-thumb::-moz-range-thumb{
  width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid var(--c-blue);cursor:pointer;pointer-events:auto;
  box-shadow:0 2px 6px rgba(26,58,114,.25);
}
.rng-inputs{display:flex;gap:8px;margin-top:8px}
.rng-inputs input{
  flex:1;padding:7px 10px;font-size:12px;
  border:1px solid var(--c-line);border-radius:6px;font-family:inherit;
}
.rng-inputs input:focus{outline:0;border-color:var(--c-blue)}

/* Toolbar */
.search-toolbar{
  display:flex;justify-content:space-between;align-items:center;
  background:#fff;border:1px solid var(--c-line);border-radius:var(--radius-lg);
  padding:12px 22px;margin-bottom:14px;flex-wrap:wrap;gap:14px;
}
.search-count{font-size:14px;color:var(--c-blue-d)}
.search-count [data-count]{font-size:18px;font-weight:800;color:var(--c-orange);margin-right:4px}
.search-sort{display:flex;align-items:center;gap:14px;font-size:13px;flex-wrap:wrap}
.search-sort label{color:var(--c-text-mute)}
.search-sort select{
  padding:8px 30px 8px 12px;font-size:13px;
  border:1px solid var(--c-line);border-radius:6px;background:#fff;
  font-family:inherit;cursor:pointer;
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='none' stroke='%230f3a64' stroke-width='1.6' d='M1 1l4 4 4-4'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 10px center;
}
.view-toggle{display:flex;border:1px solid var(--c-line);border-radius:8px;overflow:hidden}
.view-toggle button{
  padding:6px 10px;background:#fff;color:var(--c-text-mute);
  border:0;cursor:pointer;line-height:0;
}
.view-toggle button svg{width:16px;height:16px}
.view-toggle button.is-on{background:var(--c-blue-d);color:#fff}

/* Filter-Chips */
.filter-chips{display:none;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.chip{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--c-blue-50);color:var(--c-blue-d);
  padding:6px 6px 6px 12px;border-radius:99px;
  border:0;font-size:12px;font-weight:600;cursor:pointer;
  transition:background var(--t-fast);
}
.chip:hover{background:var(--c-orange-50);color:var(--c-orange)}
.chip svg{width:12px;height:12px;background:rgba(0,0,0,.06);border-radius:50%;padding:3px}
.chip:hover svg{background:rgba(219,76,0,.15)}

/* Grid */
.cars-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));
  gap:20px;
}
.cars-grid[data-view="list"]{grid-template-columns:1fr}
.cars-grid[data-view="list"] .car-card{flex-direction:row;max-height:240px}
.cars-grid[data-view="list"] .car-card-img{width:340px;flex:0 0 340px;aspect-ratio:auto}
.cars-grid[data-view="list"] .car-card-body{padding:18px 24px}
@media(max-width:760px){
  .cars-grid[data-view="list"] .car-card{flex-direction:column;max-height:none}
  .cars-grid[data-view="list"] .car-card-img{width:100%;flex:0 0 auto;aspect-ratio:16/10}
}
.search-empty{text-align:center;color:var(--c-text-mute);padding:60px 20px;background:#fff;border-radius:var(--radius-lg);border:1px solid var(--c-line)}
.search-empty .btn{margin-top:14px}

/* Card */
.car-card{
  background:#fff;border:1px solid var(--c-line);border-radius:var(--radius-lg);
  overflow:hidden;display:flex;flex-direction:column;
  transition:all var(--t-base);
}
.car-card[hidden]{display:none}
.car-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-2);border-color:transparent}
.car-card-img{
  position:relative;aspect-ratio:16/10;background:#eef2f7;overflow:hidden;display:block;
}
.car-card-img img{width:100%;height:100%;object-fit:cover;transition:transform var(--t-base);display:block}
.car-card:hover .car-card-img img{transform:scale(1.04)}
.car-card-badges{position:absolute;top:12px;left:12px;display:flex;gap:6px;flex-wrap:wrap;max-width:calc(100% - 64px)}
.cb{
  background:rgba(26,58,114,.92);color:#fff;font-size:10.5px;font-weight:700;
  padding:5px 9px;border-radius:6px;letter-spacing:.6px;text-transform:uppercase;
}
.cb.b-new{background:var(--c-orange)}
.cb.b-low{background:#2ea968}
.cb.b-young{background:#4a78c8}
.car-fav{
  position:absolute;top:12px;right:12px;
  width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,.96);border:0;display:grid;place-items:center;cursor:pointer;
  color:var(--c-text-mute);transition:all var(--t-fast);
  box-shadow:var(--shadow-1);
}
.car-fav svg{width:18px;height:18px}
.car-fav:hover{color:var(--c-orange);transform:scale(1.08)}
.car-fav.is-fav{color:#e02e2e;background:#fff}
.car-fav.is-fav svg{fill:#e02e2e;stroke:#e02e2e}

.car-card-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.car-card-cat{font-size:11px;color:var(--c-orange);font-weight:700;letter-spacing:1.2px;text-transform:uppercase}
.car-card-title{font-size:18px;color:var(--c-blue-d);margin:0;line-height:1.25;font-weight:700}
.car-card-title a{color:inherit}
.car-card-title a:hover{color:var(--c-orange)}
.car-card-variant{margin:0 0 4px;color:var(--c-text-mute);font-size:13px;line-height:1.4;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.car-card-specs{
  list-style:none;margin:6px 0 0;padding:10px 0 0;
  border-top:1px solid var(--c-line);
  display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;
}
.car-card-specs li{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--c-text)}
.car-card-specs li svg{width:14px;height:14px;color:var(--c-blue);flex:0 0 14px}
.car-card-specs li strong{color:var(--c-blue-d);font-weight:600}
.car-card-foot{
  margin-top:auto;padding-top:14px;border-top:1px solid var(--c-line);
  display:flex;justify-content:space-between;align-items:flex-end;gap:10px;
}
.car-card-price strong{display:block;font-size:24px;color:var(--c-orange);font-weight:800;line-height:1}
.car-card-price .rate{display:block;font-size:11.5px;color:var(--c-text-soft);margin-top:4px}
.btn--sm{padding:9px 16px;font-size:11.5px}

/* Mobile */
@media(max-width:980px){
  .search-app{grid-template-columns:1fr}
  .search-side{
    position:fixed;left:0;top:0;bottom:0;width:88%;max-width:380px;z-index:100;
    transform:translateX(-100%);transition:transform .35s cubic-bezier(.4,0,.2,1);
    max-height:100vh;border-radius:0;
  }
  .search-side.is-open{transform:translateX(0);box-shadow:0 20px 60px rgba(0,0,0,.3)}
  .search-side.is-open ~ .search-main::before{
    content:"";position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:99;
  }
  .sidebar-close,.sidebar-apply{display:block}
  .search-bar-submit{display:flex}
}
@media(max-width:520px){
  .search-toolbar{flex-direction:column;align-items:stretch}
  .search-sort{justify-content:space-between}
  .car-card-specs{grid-template-columns:1fr}
}

/* ====================================================================
 * Detail-Page v2 (Autohero-Style mit Auto-Lang-Brand) - .cd2
 * ================================================================ */
.cd2{max-width:1320px;margin:0 auto}
.cd2-grid{display:grid;grid-template-columns:1fr 380px;gap:32px;align-items:flex-start}

/* Gallery */
.cd2-gallery{}
.cd2-hero{
  position:relative;border-radius:var(--radius-lg);overflow:hidden;
  background:#eef2f7;aspect-ratio:3/2;box-shadow:var(--shadow-1);
}
.cd2-hero img{width:100%;height:100%;object-fit:cover;display:block}
.cd2-hero.cd2-noimg{display:grid;place-items:center;color:var(--c-text-soft);font-size:14px}
.cd2-nav{
  position:absolute;top:50%;transform:translateY(-50%);
  width:48px;height:48px;border-radius:50%;
  background:rgba(255,255,255,.92);color:var(--c-blue-d);
  border:0;font-size:20px;cursor:pointer;
  box-shadow:var(--shadow-1);transition:all var(--t-fast);
}
.cd2-nav:hover{background:#fff;transform:translateY(-50%) scale(1.08)}
.cd2-prev{left:14px} .cd2-next{right:14px}
.cd2-count{
  position:absolute;bottom:14px;right:14px;
  background:rgba(26,58,114,.92);color:#fff;
  padding:5px 11px;border-radius:99px;font-size:12px;font-weight:600;
}
.cd2-thumbs{
  display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:10px;
  overflow-x:auto;
}
.cd2-thumb{
  display:block;border-radius:8px;overflow:hidden;cursor:pointer;
  border:2px solid transparent;background:transparent;padding:0;
  transition:border-color var(--t-fast);
}
.cd2-thumb img{aspect-ratio:1/1;object-fit:cover;width:100%;display:block}
.cd2-thumb:hover{border-color:var(--c-line-2)}
.cd2-thumb.is-active{border-color:var(--c-blue)}
.cd2-more{text-align:center;font-size:12px;color:var(--c-text-soft);margin:12px 0 0}

/* Sticky Sidebar */
.cd2-side{
  position:sticky;top:120px;background:#fff;border:1px solid var(--c-line);
  border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-1);
}
.cd2-cat{display:block;font-size:11px;color:var(--c-orange);font-weight:700;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:8px}
.cd2-title{font-size:21px;line-height:1.25;color:var(--c-blue-d);margin:6px 0 10px;font-weight:800;letter-spacing:-.02em}
.cd2-variant{margin:0 0 18px;color:var(--c-text-mute);font-size:13.5px;line-height:1.5}
.cd2-loc{
  display:inline-flex;align-items:center;gap:6px;
  margin:6px 0 0;font-size:13.5px;color:var(--c-text-mute);
}
.cd2-loc svg{width:14px;height:14px;color:var(--c-orange)}
.cd2-loc strong{color:var(--c-blue-d);font-weight:700}
.cd2-price-box{padding:18px 0;border-top:1px solid var(--c-line);border-bottom:1px solid var(--c-line);margin-bottom:18px}
.cd2-price-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.cd2-price{font-size:38px;font-weight:800;color:var(--c-orange);line-height:1}
.cd2-vat-side{font-size:11.5px;color:var(--c-text-soft);text-align:right;line-height:1.35;flex-shrink:0}
.cd2-vat-side strong{color:var(--c-blue-d);font-weight:800;font-size:14px}
.cd2-rate{margin-top:8px;font-size:13.5px;color:var(--c-text)}
.cd2-rate strong{color:var(--c-blue-d)}
.cd2-vat{margin-top:6px;font-size:11.5px;color:var(--c-text-soft)}

/* Karriere: Trust-Stats-Strip direkt unter Hero */
.kr-stats-bar{
  background:linear-gradient(180deg,var(--c-blue-d) 0%,#143057 100%);
  color:#fff;padding:36px 0;border-bottom:3px solid var(--c-orange);
}
.kr-stats{
  display:grid;grid-template-columns:repeat(4,1fr);gap:18px;text-align:center;
}
.kr-stat{padding:0 12px;position:relative}
.kr-stat:not(:last-child):after{
  content:"";position:absolute;right:0;top:14%;height:72%;width:1px;
  background:rgba(255,255,255,.18);
}
.kr-stat-num{
  display:block;font-size:clamp(34px,4.6vw,52px);font-weight:800;line-height:1;
  color:#fff;letter-spacing:-.02em;margin-bottom:6px;
}
.kr-stat-label{
  display:block;font-size:12.5px;letter-spacing:1.6px;text-transform:uppercase;
  color:rgba(255,255,255,.78);font-weight:600;
}
.kr-stat--accent .kr-stat-num{color:var(--c-orange-l,#ff7a2e)}
@media(max-width:760px){
  .kr-stats{grid-template-columns:repeat(2,1fr);gap:24px 12px}
  .kr-stat:nth-child(2):after{display:none}
}

/* Karriere: Top-4 Vorteile - visuell hervorgehobener als reguläre Benefits */
.kr-top4{
  display:grid;grid-template-columns:repeat(4,1fr);gap:18px;
}
.kr-top4-card{
  position:relative;background:#fff;border:1px solid var(--c-line);border-radius:var(--radius-lg);
  padding:28px 24px 26px;display:flex;flex-direction:column;
  box-shadow:0 8px 24px rgba(26,58,114,.06);transition:transform .2s,box-shadow .2s,border-color .2s;
  overflow:hidden;
}
.kr-top4-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(26,58,114,.14);border-color:var(--c-orange)}
.kr-top4-card--highlight{
  background:linear-gradient(165deg,var(--c-orange) 0%,#c44400 100%);
  border-color:transparent;color:#fff;
}
.kr-top4-card--highlight:hover{border-color:transparent;box-shadow:0 22px 50px rgba(219,76,0,.35)}
.kr-top4-card--highlight h3,.kr-top4-card--highlight p{color:#fff}
/* Designed Nummer-Akzent: orangefarbenes "01 ────" oben am Card */
.kr-top4-num{
  position:relative;
  display:flex;align-items:center;gap:12px;
  font-family:var(--font-sans);
  font-size:14px;font-weight:800;letter-spacing:2.4px;text-transform:uppercase;
  color:var(--c-orange);
  margin:0 0 22px;line-height:1;
}
.kr-top4-num:before{
  content:"";display:inline-block;width:30px;height:2.5px;
  background:var(--c-orange);border-radius:2px;flex-shrink:0;
}
.kr-top4-num:after{
  content:"";flex:1;height:1px;background:var(--c-line);
  margin-left:4px;
}
/* Big ghost number als dezenter Hintergrund-Akzent */
.kr-top4-card > .kr-top4-num{
  z-index:2;
}
.kr-top4-card .kr-top4-num{position:relative}
.kr-top4-card:before{
  content:attr(data-num);
  position:absolute;right:-14px;bottom:-32px;
  font-family:var(--font-sans);font-size:170px;font-weight:900;
  letter-spacing:-.05em;line-height:1;color:rgba(26,58,114,.045);
  pointer-events:none;z-index:0;
}
.kr-top4-card--highlight:before{color:rgba(255,255,255,.10)}
.kr-top4-card--highlight .kr-top4-num{color:#fff}
.kr-top4-card--highlight .kr-top4-num:before{background:#fff}
.kr-top4-card--highlight .kr-top4-num:after{background:rgba(255,255,255,.35)}

.kr-top4-ico{
  width:52px;height:52px;border-radius:14px;display:grid;place-items:center;
  background:var(--c-orange-50);color:var(--c-orange);margin-bottom:16px;
  position:relative;z-index:1;
}
.kr-top4-card--highlight .kr-top4-ico{background:rgba(255,255,255,.18);color:#fff;backdrop-filter:blur(4px)}
.kr-top4-ico svg{width:26px;height:26px}
.kr-top4-card h3{margin:0 0 10px;font-size:18px;color:var(--c-blue-d);line-height:1.25;font-weight:800;position:relative;z-index:1}
.kr-top4-card p{margin:0;font-size:14px;line-height:1.6;color:var(--c-text-mute);position:relative;z-index:1}
.kr-top4-card--highlight p{color:rgba(255,255,255,.92)}
@media(max-width:980px){.kr-top4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.kr-top4{grid-template-columns:1fr}}

/* Karriere: Weitere Vorteile (kompakte 4er-Reihe) */
.kr-extras{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.kr-extra{
  background:#fff;border:1px solid var(--c-line);border-radius:var(--radius);
  padding:22px 20px;display:flex;flex-direction:column;gap:10px;
  transition:transform .2s,border-color .2s;
}
.kr-extra:hover{transform:translateY(-3px);border-color:var(--c-orange)}
.kr-extra-ico{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--c-orange-50);color:var(--c-orange)}
.kr-extra-ico svg{width:20px;height:20px}
.kr-extra h3{margin:0;font-size:15px;font-weight:800;color:var(--c-blue-d);line-height:1.3}
.kr-extra p{margin:0;font-size:13px;line-height:1.55;color:var(--c-text-mute)}
@media(max-width:980px){.kr-extras{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.kr-extras{grid-template-columns:1fr}}

/* Karriere- + Service-Seiten: globale Floating-Buttons deaktivieren wenn FAB-Stack vorhanden */
.page-jobs .fab-wa,
.page-jobs .fab-top,
.page-service.has-fab-stack .fab-wa,
.page-service.has-fab-stack .fab-top{display:none !important}

/* Service-Pages: Page-Hero mit Photo-Hintergrund (analog Karriere) */
.page-hero--photo{
  position:relative;overflow:hidden;color:#fff;
  background:#1a3a72;padding:calc(var(--topbar-h) + var(--header-h) + 60px) 0 80px;
}
.page-hero-bg{position:absolute;inset:0;z-index:0;display:block}
.page-hero-bg img{width:100%;height:100%;object-fit:cover;display:block}
.page-hero--photo:after{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(15,30,60,.72) 0%,rgba(15,30,60,.65) 60%,rgba(15,30,60,.85) 100%);
}
/* Hellerer Blau-Overlay (z. B. Fahrzeugankauf) */
.page-hero--photo.fa-hero-light:after{
  background:linear-gradient(180deg,rgba(43,91,176,.55) 0%,rgba(43,91,176,.45) 55%,rgba(26,58,114,.70) 100%);
}
.page-hero--photo > .container{position:relative;z-index:2}
.page-hero--photo h1{color:#fff}
.page-hero--photo h1 em{color:var(--c-orange-l,#ff7a2e)}
.page-hero--photo .eyebrow{color:#fff}
.page-hero--photo .eyebrow:before,.page-hero--photo .eyebrow.center:after{background:var(--c-orange-l,#ff7a2e)}
.page-hero--photo .lead{color:rgba(255,255,255,.92)}
.page-hero--photo .lead strong{color:#fff}
.page-hero--photo .breadcrumb{color:rgba(255,255,255,.7)}
.page-hero--photo .breadcrumb a{color:rgba(255,255,255,.85)}
.page-hero--photo .btn--ghost{color:#fff;border-color:rgba(255,255,255,.4)}
.page-hero--photo .btn--ghost:hover{background:rgba(255,255,255,.12);border-color:#fff}

/* Service-Pages: Trust-Strip direkt unter Hero */
.sp-trust{
  background:linear-gradient(180deg,var(--c-blue-d) 0%,#143057 100%);
  color:#fff;padding:28px 0;border-bottom:3px solid var(--c-orange);
}
.sp-trust-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:18px;
}
.sp-trust-item{
  display:flex;align-items:center;gap:14px;padding:0 8px;position:relative;
}
.sp-trust-item:not(:last-child):after{
  content:"";position:absolute;right:0;top:14%;height:72%;width:1px;
  background:rgba(255,255,255,.15);
}
.sp-trust-item svg{width:32px;height:32px;color:var(--c-orange-l,#ff7a2e);flex-shrink:0}
.sp-trust-item strong{display:block;font-size:15px;color:#fff;line-height:1.2;margin-bottom:2px}
.sp-trust-item span{display:block;font-size:12.5px;color:rgba(255,255,255,.72);letter-spacing:.3px}
@media(max-width:880px){
  .sp-trust-grid{grid-template-columns:repeat(2,1fr);gap:18px 12px}
  .sp-trust-item:nth-child(2):after{display:none}
}
@media(max-width:480px){
  .sp-trust-grid{grid-template-columns:1fr}
  .sp-trust-item:after{display:none}
}

/* Service-Pages: 3-Card-Action-Grid (statt generischem Termin-Banner) */
.sp-cta-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
}
.sp-cta-card{
  display:flex;flex-direction:column;gap:10px;
  background:#fff;border:1px solid var(--c-line);border-radius:var(--radius-lg);
  padding:28px 26px;text-decoration:none;color:inherit;
  box-shadow:0 6px 20px rgba(26,58,114,.06);
  transition:transform .2s,box-shadow .2s,border-color .2s;
}
.sp-cta-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(26,58,114,.14);border-color:var(--c-orange)}
.sp-cta-card--accent{background:linear-gradient(165deg,var(--c-orange) 0%,#c44400 100%);border-color:transparent;color:#fff}
.sp-cta-card--accent:hover{border-color:transparent;box-shadow:0 22px 45px rgba(219,76,0,.32)}
.sp-cta-ico{
  width:52px;height:52px;border-radius:14px;display:grid;place-items:center;
  background:var(--c-orange-50);color:var(--c-orange);margin-bottom:6px;
}
.sp-cta-card--accent .sp-cta-ico{background:rgba(255,255,255,.18);color:#fff}
.sp-cta-ico svg{width:24px;height:24px}
.sp-cta-card h3{margin:0;font-size:18px;font-weight:800;color:var(--c-blue-d);line-height:1.25}
.sp-cta-card--accent h3{color:#fff}
.sp-cta-card p{margin:0;font-size:14px;line-height:1.55;color:var(--c-text-mute)}
.sp-cta-card--accent p{color:rgba(255,255,255,.92)}
.sp-cta-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--c-orange);margin-top:auto;padding-top:8px}
.sp-cta-card--accent .sp-cta-link{color:#fff}
.sp-cta-card .arrow{transition:transform .2s}
.sp-cta-card:hover .arrow{transform:translateX(4px)}
@media(max-width:880px){.sp-cta-grid{grid-template-columns:1fr}}

/* Karriere: Sticky Floating Stack (Apply oben, WhatsApp Mitte, Back-to-Top unten) */
.kr-fab-stack{
  position:fixed;right:24px;bottom:24px;z-index:90;
  display:flex;flex-direction:column;align-items:flex-end;gap:10px;
  transform:translateY(140%);opacity:0;pointer-events:none;
  transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .25s;
}
.kr-fab-stack.is-visible{transform:translateY(0);opacity:1;pointer-events:auto}
.kr-fab{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--c-orange);color:#fff;
  padding:14px 22px 14px 18px;border-radius:999px;
  font-size:13.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;
  text-decoration:none;
  box-shadow:0 14px 38px rgba(219,76,0,.42),0 4px 10px rgba(219,76,0,.25);
  transition:background .15s,transform .15s;
}
.kr-fab:hover{background:#c44400;transform:translateY(-2px)}
.kr-fab svg{width:18px;height:18px;flex-shrink:0}
.kr-fab-wa{
  width:52px;height:52px;border-radius:50%;
  background:#25d366;color:#fff;
  display:grid;place-items:center;
  box-shadow:0 10px 26px rgba(37,211,102,.42),0 3px 8px rgba(37,211,102,.20);
  transition:transform .15s,background .15s;
}
.kr-fab-wa:hover{background:#1ebe57;transform:translateY(-2px) scale(1.05)}
.kr-fab-wa svg{width:26px;height:26px}
.kr-fab-top{
  width:48px;height:48px;border-radius:50%;
  background:var(--c-blue-d);color:#fff;border:0;
  display:grid;place-items:center;cursor:pointer;
  box-shadow:0 10px 26px rgba(26,58,114,.30);
  transition:background .15s,transform .15s;
}
.kr-fab-top:hover{background:var(--c-orange);transform:translateY(-2px)}
.kr-fab-top svg{width:22px;height:22px}
@media(max-width:520px){
  .kr-fab-stack{right:14px;bottom:14px;gap:8px}
  .kr-fab-label{display:none}
  .kr-fab{padding:14px;border-radius:50%;width:52px;height:52px;justify-content:center}
  .kr-fab svg{width:22px;height:22px}
  .kr-fab-wa{width:48px;height:48px}
  .kr-fab-wa svg{width:24px;height:24px}
  .kr-fab-top{width:44px;height:44px}
  .kr-fab-top svg{width:18px;height:18px}
}

/* Karriere-Seite: Hero mit Foto-Hintergrund */
.kr-hero{position:relative;overflow:hidden;color:#fff;background:#1a3a72}
.kr-hero-bg{position:absolute;inset:0;z-index:0}
.kr-hero-bg img{width:100%;height:100%;object-fit:cover;display:block}
.kr-hero:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(15,30,60,.65) 0%,rgba(15,30,60,.55) 60%,rgba(15,30,60,.85) 100%)}
.kr-hero .container{position:relative;z-index:2}
.kr-hero h1{color:#fff}
.kr-hero h1 em{color:var(--c-orange-l,#ff7a2e)}
.kr-hero .eyebrow{color:#fff}
.kr-hero .eyebrow:before,.kr-hero .eyebrow.center:after{background:var(--c-orange-l,#ff7a2e)}
.kr-hero .lead{color:rgba(255,255,255,.9)}
.kr-hero .lead strong{color:#fff}
.kr-hero .breadcrumb{color:rgba(255,255,255,.7)}
.kr-hero .breadcrumb a{color:rgba(255,255,255,.85)}
.kr-hero .btn--ghost{color:#fff;border-color:rgba(255,255,255,.4)}
.kr-hero .btn--ghost:hover{background:rgba(255,255,255,.1);border-color:#fff}

/* Karriere-Video Player (Click-to-Play, native HTML5 controls) */
.kr-video{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 20px 60px rgba(26,58,114,.18);max-width:920px;margin:0 auto;aspect-ratio:16/9;background:#0c1a2e}
.kr-video-el{position:absolute;inset:0;width:100%;height:100%;display:block;background:#0c1a2e}
.kr-video-play{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:88px;height:88px;border-radius:50%;
  background:rgba(255,255,255,.95);color:var(--c-orange);
  display:flex;align-items:center;justify-content:center;border:0;cursor:pointer;
  box-shadow:0 12px 40px rgba(0,0,0,.4);transition:transform .2s,opacity .25s;
  z-index:2;
}
.kr-video-play svg{width:36px;height:36px;margin-left:6px}
.kr-video-play:hover{transform:translate(-50%,-50%) scale(1.06)}
.kr-video.is-playing .kr-video-play{opacity:0;pointer-events:none}

/* Karriere Split-Layout (Bild links/rechts + Text) */
.kr-split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.kr-split--reverse .kr-split-img{order:2}
.kr-split-img{border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 18px 50px rgba(26,58,114,.16)}
.kr-split-img img{width:100%;height:auto;display:block;aspect-ratio:4/3;object-fit:cover}
.kr-split-text h2{margin:14px 0 18px}
.kr-split-text p{color:var(--c-text);font-size:16px;line-height:1.7;margin:0 0 14px}
.kr-split-text p:last-child{margin-bottom:0}
@media(max-width:880px){
  .kr-split{grid-template-columns:1fr;gap:30px}
  .kr-split--reverse .kr-split-img{order:0}
}

/* Tesla-Werkstatt-Graz: Logo im Hero über der Headline */
.tw-hero-logo{
  display:block;margin:0 auto 28px;max-width:280px;width:100%;
  padding:14px 22px;background:#fff;border-radius:var(--radius);
  box-shadow:0 12px 30px rgba(0,0,0,.32);
}
.tw-hero-logo img{width:100%;height:auto;display:block}

/* kl-features als Grid (für Listen mit vielen Items) */
.kl-features--grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:14px 28px;margin-top:0;
}
@media(max-width:760px){.kl-features--grid{grid-template-columns:1fr}}

/* Landing-Anfahrt Stats: kompakte Daten-Reihe */
.landing-anfahrt{padding:24px 28px;background:#fff;border:1px solid var(--c-line);border-radius:var(--radius-lg);box-shadow:0 6px 20px rgba(26,58,114,.08)}
.landing-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.landing-stat{display:flex;flex-direction:column;gap:6px;padding-right:14px;position:relative}
.landing-stat:not(:last-child):after{content:"";position:absolute;right:0;top:8%;height:84%;width:1px;background:var(--c-line)}
.landing-stat span{font-size:11.5px;letter-spacing:1.4px;text-transform:uppercase;color:var(--c-text-soft);font-weight:700}
.landing-stat strong{font-size:18px;color:var(--c-blue-d);font-weight:800;line-height:1.3}
@media(max-width:760px){
  .landing-stats{grid-template-columns:1fr 1fr;gap:18px 14px}
  .landing-stat:nth-child(2):after{display:none}
}

/* Tesla-Approved Warn-Box (oben prominent, kennzeichnet wichtigen Tesla-Hinweis) */
.ta-warning{
  display:flex;align-items:flex-start;gap:18px;
  padding:20px 26px;border-radius:var(--radius-lg);
  background:#fff8f0;border-left:4px solid var(--c-orange);
  box-shadow:0 6px 20px rgba(219,76,0,.10);
}
.ta-warning-ico{
  flex:0 0 44px;width:44px;height:44px;border-radius:50%;
  background:var(--c-orange-50);display:grid;place-items:center;
}
.ta-warning-ico svg{width:24px;height:24px;color:var(--c-orange)}
.ta-warning-text{font-size:14.5px;line-height:1.6;color:var(--c-text)}
.ta-warning-text strong{color:var(--c-blue-d)}
.ta-warning-text u{text-decoration-color:var(--c-orange);text-decoration-thickness:2px;text-underline-offset:3px}

/* Abschleppdienst-Hotline-Banner (Notruf prominent) */
.ad-hotline{
  display:flex;align-items:center;gap:20px;
  padding:18px 28px;border-radius:var(--radius-lg);
  background:linear-gradient(135deg,var(--c-orange) 0%,#c44400 100%);
  color:#fff;text-decoration:none;
  box-shadow:0 14px 32px rgba(219,76,0,.30);
  transition:transform .2s,box-shadow .2s;
}
.ad-hotline:hover{transform:translateY(-3px);box-shadow:0 22px 48px rgba(219,76,0,.42)}
.ad-hotline-ico{
  flex:0 0 56px;width:56px;height:56px;border-radius:50%;
  background:rgba(255,255,255,.18);display:grid;place-items:center;
  backdrop-filter:blur(8px);
}
.ad-hotline-ico svg{width:28px;height:28px;color:#fff}
.ad-hotline-text{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.ad-hotline-label{font-size:12.5px;letter-spacing:1.4px;text-transform:uppercase;color:rgba(255,255,255,.85);font-weight:700}
.ad-hotline-num{font-size:32px;font-weight:800;letter-spacing:-.01em;line-height:1.05;color:#fff}
.ad-hotline-cta{
  font-size:13px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;
  color:#fff;display:inline-flex;align-items:center;gap:6px;flex-shrink:0;
  border:1.5px solid rgba(255,255,255,.5);padding:12px 22px;border-radius:99px;
  white-space:nowrap;
}
.ad-hotline:hover .ad-hotline-cta{background:rgba(255,255,255,.15);border-color:#fff}
@media(max-width:760px){
  .ad-hotline{flex-direction:column;text-align:center;padding:22px 20px}
  .ad-hotline-text{align-items:center}
  .ad-hotline-num{font-size:26px}
}

/* Service-Page Feature-Lists (für Split-Sections mit Check-Marks) */
.kl-features{
  list-style:none;padding:0;margin:18px 0 0;
  display:flex;flex-direction:column;gap:8px;
}
.kl-features li{
  position:relative;padding-left:30px;font-size:14.5px;line-height:1.55;color:var(--c-text);
}
.kl-features li:before{
  content:"";position:absolute;left:0;top:4px;
  width:18px;height:18px;border-radius:50%;
  background:var(--c-orange-50);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23db4c00' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-size:11px 11px;background-position:center;background-repeat:no-repeat;
}

/* Karriere Galerie */
.kr-gallery{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
}
.kr-gallery-item{
  display:block;overflow:hidden;border-radius:var(--radius);
  aspect-ratio:1/1;box-shadow:0 6px 20px rgba(26,58,114,.10);
}
.kr-gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}
.kr-gallery-item:hover img{transform:scale(1.04)}
@media(max-width:760px){.kr-gallery{grid-template-columns:repeat(2,1fr);gap:10px}}

/* Info-Button (i) im Finanzierung-Tab + VKrG-Dialog */
.cd2-info-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  width:auto;height:auto;border-radius:999px;
  border:0;background:transparent;color:var(--c-orange);
  margin-left:6px;padding:2px 4px;cursor:pointer;flex-shrink:0;vertical-align:middle;
  font:inherit;font-weight:600;font-size:13.5px;line-height:1.2;
  text-decoration:underline;text-underline-offset:3px;
}
.cd2-info-btn svg{width:16px;height:16px}
.cd2-info-btn:hover{color:var(--c-orange);text-decoration-thickness:2px}
.cd2-info-btn .cd2-info-label{white-space:nowrap}

/* Back-Link (Zurück zur Fahrzeugauswahl) ueber der Detail-Ansicht */
.cd2 > .cd2-back{
  display:inline-flex;align-items:center;gap:8px;
  font-size:13.5px;font-weight:600;color:var(--c-blue-d);
  padding:8px 14px;border-radius:999px;
  background:#fff;border:1.5px solid var(--c-line);
  margin:0 0 16px;text-decoration:none;
  transition:all .2s;
}
.cd2 > .cd2-back:hover{border-color:var(--c-blue);color:var(--c-blue);background:var(--c-blue-50)}
.cd2 > .cd2-back .arrow--left{display:inline-block;transition:transform .2s}
.cd2 > .cd2-back:hover .arrow--left{transform:translateX(-3px)}
.cd2-fin-dialog{
  border:0;border-radius:14px;padding:0;max-width:480px;width:calc(100% - 40px);
  box-shadow:0 30px 80px rgba(26,58,114,.35);
}
.cd2-fin-dialog::backdrop{background:rgba(15,30,60,.55);backdrop-filter:blur(2px)}
.cd2-fin-dialog form{padding:24px 26px 22px;text-align:left;font-family:var(--font-sans)}
.cd2-fin-dialog h3{margin:0 0 4px;color:var(--c-blue-d);font-size:20px;font-weight:800}
.cd2-fin-sub{margin:0 0 18px;color:var(--c-text-soft);font-size:12.5px;letter-spacing:.4px}
.cd2-fin-close{
  position:absolute;top:14px;right:14px;width:32px;height:32px;
  border:0;background:transparent;color:var(--c-text-soft);
  font-size:24px;line-height:1;cursor:pointer;border-radius:6px;
}
.cd2-fin-close:hover{background:var(--c-bg-soft);color:var(--c-blue-d)}
.cd2-fin-dl{margin:0 0 14px;font-size:13.5px;line-height:1.6;color:var(--c-text)}
.cd2-fin-dl dt{display:inline-block;width:62%;color:var(--c-text-mute)}
.cd2-fin-dl dd{display:inline-block;width:36%;text-align:right;font-weight:700;color:var(--c-blue-d);margin:0}
.cd2-fin-hint{margin:14px 0 16px;padding:10px 14px;border-left:3px solid var(--c-orange);background:var(--c-orange-50);font-size:12px;line-height:1.55;color:var(--c-text)}
.cd2-fin-ok{width:100%;padding:13px;font-size:13px}

/* Verkäufer-Karte unter den Tabs (Standort-spezifisch) */
.cd2-verkaeufer{
  margin-top:18px;padding:16px;border:1px solid var(--c-line);border-radius:14px;
  background:linear-gradient(180deg,#fafbfd 0%,#fff 100%);
}
.cd2-vk-head{display:flex;gap:14px;align-items:center}
.cd2-vk-photo{flex:0 0 64px;width:64px;height:64px;border-radius:50%;overflow:hidden;border:2px solid #fff;box-shadow:0 4px 14px rgba(26,58,114,.12)}
.cd2-vk-photo img{width:100%;height:100%;object-fit:cover;display:block}
.cd2-vk-meta{flex:1;min-width:0}
.cd2-vk-eyebrow{font-size:10.5px;letter-spacing:1.4px;text-transform:uppercase;color:var(--c-orange);font-weight:700;margin-bottom:2px}
.cd2-vk-name{font-size:16px;font-weight:800;color:var(--c-blue-d);line-height:1.2}
.cd2-vk-role{font-size:12.5px;color:var(--c-text-mute);line-height:1.3;margin-top:2px}
.cd2-vk-cta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.cd2-vk-btn{
  display:flex;align-items:center;justify-content:center;gap:7px;
  padding:10px 8px;border-radius:10px;font-size:12.5px;font-weight:700;
  border:1px solid var(--c-line);background:#fff;color:var(--c-blue-d);
  text-decoration:none;transition:all .15s;
}
.cd2-vk-btn svg{width:14px;height:14px;flex-shrink:0}
.cd2-vk-btn:hover{border-color:var(--c-orange);color:var(--c-orange);transform:translateY(-1px)}
.cd2-vk-btn--call{grid-column:1/-1;background:var(--c-orange);color:#fff;border-color:var(--c-orange);font-size:13.5px;padding:12px}
.cd2-vk-btn--call:hover{background:#c44400;color:#fff;border-color:#c44400}
.cd2-vk-btn--wa svg{color:#25D366;width:16px;height:16px}
.cd2-vk-btn--wa:hover{border-color:#25D366;color:#25D366}
.cd2-vk-btn--wa:hover svg{color:#25D366}
.cd2-tabs{display:flex;gap:0;border:1px solid var(--c-line);border-radius:8px;overflow:hidden;margin-bottom:14px}
.cd2-tabs button{
  flex:1;padding:10px 8px;font-size:11.5px;font-weight:700;
  background:#fff;color:var(--c-text-mute);
  border:0;border-right:1px solid var(--c-line);cursor:pointer;
  transition:all var(--t-fast);text-transform:uppercase;letter-spacing:.5px;
}
.cd2-tabs button:last-child{border-right:0}
.cd2-tabs button.is-active{background:var(--c-blue-d);color:#fff}
.cd2-tabs button:hover:not(.is-active){background:var(--c-bg-soft)}
.cd2-tabbody{font-size:13px;color:var(--c-text);line-height:1.55}
.cd2-tabbody p{margin:0 0 14px}
.cd2-fin-list{list-style:none;margin:0 0 12px;padding:0;border:1px solid var(--c-line);border-radius:10px;overflow:hidden}
.cd2-fin-list li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 14px;border-bottom:1px solid var(--c-line);font-size:13px}
.cd2-fin-list li:last-child{border-bottom:0}
.cd2-fin-list li:nth-child(odd){background:var(--c-bg-soft)}
.cd2-fin-list li span{color:var(--c-text-mute)}
.cd2-fin-list li strong{color:var(--c-blue-d);font-weight:800;white-space:nowrap}
.cd2-fin-note{margin:0 0 14px;font-size:12px}
.cd2-cta-full{width:100%;justify-content:center}
.cd2-trust{display:flex;flex-direction:column;gap:8px;margin-top:18px;padding-top:18px;border-top:1px solid var(--c-line)}
.cd2-trust-item{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--c-text-mute)}
.cd2-trust-item svg{width:18px;height:18px;color:#2ea968;flex:0 0 18px}
.cd2-finetext{margin:14px 0 0;font-size:10.5px;color:var(--c-text-soft);line-height:1.5}

/* Key Facts Bar */
.cd2-keyfacts{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:var(--c-line);border:1px solid var(--c-line);
  border-radius:var(--radius-lg);overflow:hidden;
  margin:32px 0;
}
.cd2-kf{background:#fff;padding:18px 16px;display:flex;align-items:center;gap:12px}
.cd2-kf-icon{
  width:38px;height:38px;border-radius:50%;background:var(--c-blue-50);
  display:grid;place-items:center;color:var(--c-blue-d);flex-shrink:0;
}
.cd2-kf-icon svg{width:18px;height:18px}
.cd2-kf-text{display:flex;flex-direction:column;min-width:0}
.cd2-kf-text span{font-size:11px;color:var(--c-text-soft);text-transform:uppercase;letter-spacing:.6px}
.cd2-kf-text strong{font-size:13.5px;color:var(--c-blue-d);font-weight:700;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Tab-Nav */
.cd2-tabnav{
  display:flex;gap:8px;overflow-x:auto;
  background:#fff;border:1px solid var(--c-line);border-radius:99px;
  padding:6px;margin-bottom:24px;position:sticky;top:120px;z-index:5;
  box-shadow:var(--shadow-1);
}
.cd2-tabnav a{
  padding:9px 18px;border-radius:99px;font-size:13px;font-weight:600;
  color:var(--c-text-mute);transition:all var(--t-fast);white-space:nowrap;
}
.cd2-tabnav a:hover{background:var(--c-bg-soft);color:var(--c-blue-d)}
.cd2-tabnav a.is-active{background:var(--c-blue-d);color:#fff}

/* Sections */
.cd2-section{
  background:#fff;border:1px solid var(--c-line);border-radius:var(--radius-lg);
  padding:36px 40px;margin-bottom:20px;
  scroll-margin-top:200px;
}
@media(max-width:980px){.cd2-section{scroll-margin-top:160px}}
.cd2-section h2{font-size:24px;color:var(--c-blue-d);margin:0 0 24px;font-weight:800}
.cd2-spec-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:48px;row-gap:0}
.cd2-spec-grid dl{
  display:grid;grid-template-columns:auto 1fr;column-gap:18px;align-items:baseline;
  margin:0;padding:13px 0;border-bottom:1px solid var(--c-line);font-size:14px;
}
.cd2-spec-grid dl dt{color:var(--c-text-mute);white-space:nowrap}
.cd2-spec-grid dl dd{margin:0;color:var(--c-blue-d);font-weight:600;text-align:right;min-width:0;word-break:break-word}
/* Letzte Zeilen pro Spalte ohne untere Linie */
.cd2-spec-grid dl:nth-last-child(-n+2):not(:nth-child(odd)){border-bottom:0}
.cd2-spec-grid dl:last-child{border-bottom:0}

.cd2-eq-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:32px}
.cd2-eq-group h3{font-size:15px;color:var(--c-orange);margin:0 0 14px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}
.cd2-eq-group ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.cd2-eq-group li{display:flex;align-items:flex-start;gap:8px;font-size:13.5px;color:var(--c-text)}
.cd2-eq-group li svg{width:14px;height:14px;color:#2ea968;flex:0 0 14px;margin-top:4px}
.cd2-eq-hint{margin:24px 0 0;font-size:12px;color:var(--c-text-soft);font-style:italic}

.cd2-callout{background:var(--c-orange-50);border-left:4px solid var(--c-orange);padding:14px 18px;border-radius:8px;color:var(--c-blue-d);font-size:14px}
.cd2-descr p{font-size:14.5px;line-height:1.7;color:var(--c-text);margin:0 0 14px}
.cd2-descr p:last-child{margin-bottom:0}
.cd2-descr.is-collapsed{
  position:relative;max-height:240px;overflow:hidden;
  -webkit-mask-image:linear-gradient(180deg,#000 70%,transparent 100%);
          mask-image:linear-gradient(180deg,#000 70%,transparent 100%);
}
.cd2-descr.is-expanded{max-height:none;-webkit-mask-image:none;mask-image:none}
.cd2-descr-toggle{margin-top:14px;display:inline-flex;align-items:center;gap:8px}
.cd2-descr-toggle .arrow{display:inline-block;transition:transform var(--t-fast)}
.cd2-descr-toggle[aria-expanded="true"] .arrow{transform:rotate(90deg)}
@media print{
  .topbar,.site-header,.mob-menu,.site-footer,.cd2-tabs,.cd2-tabnav,.cd2-pdf-btn,.fab-wa,.fab-top,.fab-cmp,.sticky-cta,.btn{display:none !important}
  .cd2-side .btn{display:none !important}
  .cd2-grid{grid-template-columns:1fr !important}
  .cd2-side{position:static !important}
  .cd2-descr.is-collapsed{max-height:none !important;-webkit-mask-image:none !important;mask-image:none !important}
  body{background:#fff !important;color:#000 !important}
  a{color:#000 !important;text-decoration:none}
}

.cd2-finance-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;align-items:center}
.cd2-fin{width:100%;border-collapse:collapse;font-size:14px;margin-top:14px}
.cd2-fin th,.cd2-fin td{padding:9px 0;text-align:left;border-bottom:1px solid var(--c-line)}
.cd2-fin td{text-align:right;color:var(--c-blue-d);font-weight:600}
.cd2-fin th{color:var(--c-text-mute);font-weight:400}
.cd2-fin .cd2-fin-h th,.cd2-fin .cd2-fin-h td{color:var(--c-orange);font-size:18px;font-weight:800;border-bottom:0;padding-top:14px}
/* Monatliche Rate (List + Dialog-DL) in Orange wie Tabellen-Highlight */
.cd2-fin-list li.cd2-fin-h strong{color:var(--c-orange);font-weight:800}
.cd2-fin-list li.cd2-fin-h{background:var(--c-orange-50)}
.cd2-fin-dl dt.cd2-fin-h{color:var(--c-orange);font-weight:700}
.cd2-fin-dl dd.cd2-fin-h{color:var(--c-orange);font-weight:800;font-size:15px}
.cd2-finance-cta{
  background:linear-gradient(135deg, var(--c-blue-d), var(--c-blue));
  color:#fff;padding:32px;border-radius:var(--radius-lg);text-align:center;
  display:flex;flex-direction:column;gap:14px;
  transition:transform var(--t-fast);
}
.cd2-finance-cta:hover{transform:translateY(-3px)}
.cd2-finance-cta strong{font-size:20px;color:#fff}
.cd2-finance-cta span{color:rgba(255,255,255,.85);font-size:13.5px}
.cd2-finance-cta .btn{margin:6px auto 0;background:#fff;color:var(--c-blue-d)}

.cd2-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.cd2-contact-card{background:var(--c-bg-soft);padding:24px;border-radius:var(--radius-lg);border:1px solid var(--c-line)}
.cd2-contact-card h3{margin:0 0 12px;font-size:17px;color:var(--c-blue-d)}
.cd2-contact-card p{margin:6px 0;font-size:14px;color:var(--c-text)}
.cd2-contact-card a{color:var(--c-blue);font-weight:600}
.cd2-contact-card a:hover{color:var(--c-orange)}
.cd2-source{margin:24px 0 0;font-size:11.5px;color:var(--c-text-soft);text-align:center}

/* Mobile */
@media(max-width:980px){
  .cd2-grid{grid-template-columns:1fr}
  .cd2-side{position:static}
  .cd2-keyfacts{grid-template-columns:repeat(2,1fr)}
  .cd2-thumbs{grid-template-columns:repeat(4,1fr)}
  .cd2-spec-grid{grid-template-columns:1fr}
  .cd2-finance-grid,.cd2-contact-grid{grid-template-columns:1fr}
  .cd2-tabnav{top:80px}
  .cd2-section{padding:28px 22px}
}
@media(max-width:520px){
  .cd2-keyfacts{grid-template-columns:repeat(2,1fr)}
  .cd2-thumbs{grid-template-columns:repeat(3,1fr)}
  .cd2-title{font-size:18px;margin:4px 0 8px}
  .cd2-price{font-size:32px}
}

/* ====================================================================
 * Werkstatt-Hub - Service-Karten
 * ================================================================ */
.svc-card{
  position:relative;background:#fff;border:1px solid var(--c-line);border-radius:var(--radius-lg);
  padding:0;display:flex;flex-direction:column;
  text-decoration:none;color:inherit;transition:all var(--t-base);
  overflow:hidden;
}
.svc-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-2);border-color:transparent}
.svc-card-img{
  aspect-ratio:16/10;background-size:cover;background-position:center;
  position:relative;
  transition:transform var(--t-slow);
}
.svc-card-img:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,0) 60%,rgba(0,0,0,.18) 100%);
}
.svc-card:hover .svc-card-img{transform:scale(1.04)}
.svc-card-body{
  padding:22px 24px 24px;display:flex;flex-direction:column;gap:10px;flex:1;
}
.svc-card h3{font-size:20px;color:var(--c-blue-d);margin:0;line-height:1.25}
.svc-card p{margin:0;color:var(--c-text-mute);font-size:14px;line-height:1.6;flex:1}
.svc-card-link{
  margin-top:8px;display:inline-flex;align-items:center;gap:6px;
  font-size:12px;font-weight:700;color:var(--c-orange);
  letter-spacing:1px;text-transform:uppercase;
  transition:gap var(--t-fast);
}
.svc-card:hover .svc-card-link{gap:12px}
.svc-card-badge{
  position:absolute;top:12px;left:12px;z-index:2;
  background:var(--c-orange);color:#fff;
  font-size:10px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;
  padding:5px 10px;border-radius:99px;
  box-shadow:0 4px 12px rgba(0,0,0,.18);
}
.svc-card--featured .svc-card-body{
  background:linear-gradient(135deg, var(--c-blue-d), var(--c-blue));
  color:#fff;
}
.svc-card--featured h3{color:#fff}
.svc-card--featured p{color:rgba(255,255,255,.88)}
.svc-card--featured .svc-card-link{color:#fff}
.svc-card--cta{border-color:var(--c-orange)}
.svc-card--cta .svc-card-body{background:var(--c-orange-50)}
.svc-card--cta:hover{box-shadow:0 22px 50px rgba(219,76,0,.18)}

/* ====================================================================
 * SEO-Content-Block (Werkstatt-Sub-Pages: Highlights + Region + FAQ)
 * ================================================================ */
.seo-block{padding:56px 0 80px;background:var(--c-bg-soft);border-top:1px solid var(--c-line)}
.seo-block .container--narrow{max-width:880px}
.seo-block h2{
  font-size:clamp(22px,2.2vw,28px);color:var(--c-blue-d);
  margin:0 0 18px;line-height:1.25;font-weight:800;letter-spacing:-.01em;
}
.seo-intro{margin-bottom:48px}
.seo-intro .eyebrow{margin-bottom:14px}
.seo-lead{font-size:17px;line-height:1.7;color:var(--c-text);margin:0}
.seo-lead strong{color:var(--c-blue-d)}

.seo-highlights,.seo-region,.seo-faq{
  background:#fff;border:1px solid var(--c-line);border-radius:var(--radius-lg);
  padding:32px 36px;margin-bottom:24px;box-shadow:var(--shadow-1);
}
.seo-highlights ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}
.seo-highlights li{display:flex;align-items:flex-start;gap:10px;font-size:14.5px;line-height:1.55}
.seo-highlights li svg{width:16px;height:16px;color:#2ea968;flex:0 0 16px;margin-top:4px}
.seo-region p{font-size:14.5px;line-height:1.7;color:var(--c-text);margin:0 0 14px}
.seo-region p:last-child{margin-bottom:0}
.seo-region-locs{
  background:var(--c-bg-soft);padding:14px 18px;border-radius:8px;
  font-size:13.5px;line-height:1.7;
}
.seo-region-locs strong{color:var(--c-blue-d)}
.seo-region-locs a{color:var(--c-blue);font-weight:600}
.seo-region-locs a:hover{color:var(--c-orange)}

.faq-item{border-bottom:1px solid var(--c-line);padding:14px 0}
.faq-item:last-child{border-bottom:0}
.faq-item summary{
  font-weight:700;color:var(--c-blue-d);font-size:15px;cursor:pointer;
  list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px;
  padding:6px 0;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{
  content:"+";color:var(--c-orange);font-size:24px;font-weight:300;flex-shrink:0;
  transition:transform var(--t-fast);
}
.faq-item[open] summary::after{content:"-"}
.faq-answer{padding:8px 0 4px;color:var(--c-text);font-size:14.5px;line-height:1.7}

@media(max-width:640px){
  .seo-highlights ul{grid-template-columns:1fr}
  .seo-block{padding:48px 0}
  .seo-highlights,.seo-region,.seo-faq{padding:24px 22px}
}

/* ====================================================================
 * Landing-Pages (Stadt × Service)
 * ================================================================ */
.landing-hero{
  background:
    radial-gradient(ellipse at 0% 100%, var(--c-orange-50), transparent 50%),
    radial-gradient(ellipse at 100% 0%, var(--c-blue-50), transparent 50%),
    var(--c-bg-soft);
}
.landing-cta{display:flex;justify-content:center;gap:14px;margin-top:32px;flex-wrap:wrap}

.landing-section{padding:56px 0 80px}
.landing-section .container--narrow{max-width:880px}

.landing-anfahrt{
  background:linear-gradient(135deg, var(--c-blue-d), var(--c-blue));color:#fff;
  padding:36px 40px;border-radius:var(--radius-lg);margin-bottom:36px;
}
.landing-anfahrt h2{margin:0 0 22px;color:#fff;font-size:22px}
.landing-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;background:rgba(255,255,255,.18);border-radius:8px;overflow:hidden}
.landing-stat{background:rgba(26,58,114,.6);padding:18px 20px;display:flex;flex-direction:column;gap:4px}
.landing-stat span{font-size:11.5px;color:rgba(255,255,255,.75);text-transform:uppercase;letter-spacing:.6px}
.landing-stat strong{font-size:16px;color:#fff;font-weight:700;line-height:1.3}

.landing-block{
  background:#fff;border:1px solid var(--c-line);border-radius:var(--radius-lg);
  padding:36px 40px;margin-bottom:24px;box-shadow:var(--shadow-1);
}
.landing-block h2{font-size:24px;color:var(--c-blue-d);margin:0 0 20px;line-height:1.25;font-weight:800}
.landing-prose{color:var(--c-text);font-size:15.5px;line-height:1.8}
.landing-prose p{margin:0 0 16px}
.landing-prose strong{color:var(--c-blue-d)}
.landing-list{list-style:none;padding:0;margin:18px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}
.landing-list li{display:flex;align-items:flex-start;gap:10px;font-size:14.5px;line-height:1.55}
.landing-list li svg{width:16px;height:16px;color:#2ea968;flex:0 0 16px;margin-top:4px}

.landing-block--faq{padding:32px 40px}
.landing-block--faq .faq-item{padding:14px 0}

.landing-cta-banner{
  background:var(--c-orange);color:#fff;padding:40px;border-radius:var(--radius-lg);text-align:center;margin-top:24px;
  box-shadow:var(--shadow-orange);
}
.landing-cta-banner h2{color:#fff;margin:0 0 8px;font-size:24px}
.landing-cta-banner p{margin:0 0 22px;color:rgba(255,255,255,.9);font-size:15px}
.landing-cta-banner .btn--primary{background:#fff;color:var(--c-orange);box-shadow:none}
.landing-cta-banner .btn--primary:hover{background:var(--c-blue-d);color:#fff}
.landing-cta-banner .btn--ghost{color:#fff;border-color:rgba(255,255,255,.5)}
.landing-cta-banner .btn--ghost:hover{background:rgba(255,255,255,.15);border-color:#fff}

@media(max-width:640px){
  .landing-list{grid-template-columns:1fr}
  .landing-block,.landing-anfahrt,.landing-cta-banner{padding:24px 22px}
}

/* Skip-to-Content (A11y) */
.skip-link{
  position:absolute;left:-9999px;top:8px;z-index:9999;
  background:var(--c-orange);color:#fff;padding:10px 18px;
  border-radius:6px;font-size:13px;font-weight:700;text-decoration:none;
  letter-spacing:.4px;
}
.skip-link:focus{left:8px;outline:2px solid #fff;outline-offset:2px}

/* ====================================================================
 * Vergleichs-Funktion (Compare-Button auf Card + FAB + Tabelle)
 * ================================================================ */
.car-compare{
  position:absolute;top:60px;right:12px;
  width:36px;height:36px;border-radius:50%;
  background:rgba(255,255,255,.96);border:0;display:grid;place-items:center;cursor:pointer;
  color:var(--c-text-mute);transition:all var(--t-fast);
  box-shadow:var(--shadow-1);
}
.car-compare svg{width:16px;height:16px}
.car-compare:hover{color:var(--c-blue);transform:scale(1.08)}
.car-compare.is-on{color:#fff;background:var(--c-blue)}
.fab-cmp{
  position:fixed;bottom:24px;left:24px;
  background:var(--c-blue-d);color:#fff;
  padding:12px 20px;border-radius:99px;
  display:inline-flex;align-items:center;gap:10px;
  box-shadow:0 12px 32px rgba(26,58,114,.4);
  z-index:50;text-decoration:none;font-weight:700;font-size:13px;
  transition:all var(--t-fast);
}
.fab-cmp svg{width:18px;height:18px}
.fab-cmp em{
  background:var(--c-orange);color:#fff;font-style:normal;
  border-radius:99px;padding:2px 10px;font-size:12px;font-weight:800;
}
.fab-cmp:hover{background:var(--c-orange);transform:translateY(-2px)}
.fab-cmp:hover em{background:#fff;color:var(--c-orange)}
@media(max-width:520px){.fab-cmp{left:18px;bottom:18px;padding:10px 16px;font-size:12px}}

.cmp-container{margin-top:20px}
.cmp-empty{text-align:center;color:var(--c-text-mute);padding:60px 20px;background:#fff;border-radius:var(--radius-lg);border:1px solid var(--c-line)}
.cmp-empty a{color:var(--c-blue);font-weight:600}
.cmp-table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-1)}
.cmp-table th,.cmp-table td{padding:14px 18px;border-bottom:1px solid var(--c-line);vertical-align:top;text-align:left}
.cmp-table tr:last-child th,.cmp-table tr:last-child td{border-bottom:0}
.cmp-table th{background:var(--c-bg-soft);width:18%;font-size:13px;color:var(--c-text-mute);font-weight:600}
.cmp-table td{width:27.3%;font-size:14px;color:var(--c-blue-d)}
.cmp-table td a{color:var(--c-blue-d)}
.cmp-table td a:hover{color:var(--c-orange)}
.cmp-rm{background:transparent;border:0;color:var(--c-text-soft);font-size:11.5px;cursor:pointer;padding:4px 8px;border-radius:6px}
.cmp-rm:hover{background:var(--c-orange-50);color:var(--c-orange)}
@media(max-width:780px){
  .cmp-table th,.cmp-table td{padding:10px 12px;font-size:13px}
  .cmp-table th{width:25%}
}

/* ====================================================================
 * Zentrale FAQ-Seite
 * ================================================================ */
.faq-search{
  position:relative;display:flex;align-items:center;
  background:#fff;border:1px solid var(--c-line);border-radius:99px;
  padding:6px 6px 6px 18px;margin-bottom:24px;box-shadow:var(--shadow-1);
}
.faq-search svg{width:18px;height:18px;color:var(--c-text-soft);flex-shrink:0;margin-right:10px}
.faq-search input{
  flex:1;padding:14px 8px;font-size:15px;border:0;background:transparent;font-family:inherit;
}
.faq-search input:focus{outline:0}

.faq-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px}
.faq-tabs button{
  padding:9px 16px;border-radius:99px;background:#fff;color:var(--c-text-mute);
  border:1px solid var(--c-line);cursor:pointer;display:inline-flex;align-items:center;gap:8px;
  font-size:13px;font-weight:600;transition:all var(--t-fast);font-family:inherit;
}
.faq-tabs button svg{width:14px;height:14px}
.faq-tabs button em{
  background:var(--c-bg-soft);color:var(--c-text-soft);font-style:normal;
  padding:1px 8px;border-radius:99px;font-size:11px;font-weight:700;
}
.faq-tabs button:hover{border-color:var(--c-blue);color:var(--c-blue-d)}
.faq-tabs button.is-on{background:var(--c-blue-d);color:#fff;border-color:var(--c-blue-d)}
.faq-tabs button.is-on em{background:rgba(255,255,255,.2);color:#fff}

.faq-cat{margin-bottom:36px}
.faq-cat-title{
  display:flex;align-items:center;gap:12px;
  font-size:20px;color:var(--c-orange);font-weight:700;margin:0 0 16px;
  padding-bottom:10px;border-bottom:2px solid var(--c-orange-50);
}
.faq-cat-title svg{width:22px;height:22px}

.faq-list .faq-item{
  background:#fff;border:1px solid var(--c-line);border-radius:12px;
  margin-bottom:10px;padding:0;
}
.faq-list .faq-item summary{
  padding:18px 22px;font-size:15.5px;color:var(--c-blue-d);font-weight:700;cursor:pointer;
  list-style:none;display:flex;justify-content:space-between;align-items:flex-start;gap:14px;
  border:0;
}
.faq-list .faq-item summary::-webkit-details-marker{display:none}
.faq-list .faq-item summary::after{
  content:"+";color:var(--c-orange);font-size:24px;font-weight:300;flex-shrink:0;line-height:1;
  transition:transform var(--t-fast);
}
.faq-list .faq-item[open] summary::after{content:"-"}
.faq-list .faq-item[open]{box-shadow:var(--shadow-1);border-color:var(--c-blue-50)}
.faq-list .faq-item .faq-answer{
  padding:0 22px 18px;color:var(--c-text);font-size:14.5px;line-height:1.7;
  border-top:1px solid var(--c-line);margin-top:0;padding-top:14px;
}
.faq-link{
  display:inline-flex;align-items:center;color:var(--c-orange);font-weight:700;
  font-size:13px;text-decoration:none;
}
.faq-link:hover{color:var(--c-blue-d)}
.faq-empty{text-align:center;padding:60px 20px;color:var(--c-text-mute)}
.faq-empty a{color:var(--c-orange);font-weight:600}

/* ====================================================================
 * Service-Cards mit Foto-Header (Override) - greift nur wenn .svc-photo enthalten
 * ================================================================ */
.services-grid .svc:has(.svc-photo){padding:0;overflow:hidden}
.svc-photo{
  aspect-ratio:16/10;background-size:cover;background-position:center;
  position:relative;display:block;
}
.svc-photo:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(26,58,114,0) 50%,rgba(26,58,114,.45) 100%);
}
.svc-content{padding:28px 32px 32px;display:flex;flex-direction:column;flex:1;position:relative}
.svc-content .svc-num{position:absolute;top:-32px;right:24px;font-size:60px;color:#fff;text-shadow:0 4px 16px rgba(26,58,114,.4);font-weight:800;line-height:1;z-index:2}
.svc-content .svc-icon{margin-top:-50px;margin-bottom:20px;background:#fff;box-shadow:var(--shadow-1);position:relative;z-index:2}
.svc-content h3{font-size:21px;margin:0 0 12px;color:var(--c-blue-d);line-height:1.25}
.svc-content p{color:var(--c-text-mute);font-size:14.5px;line-height:1.65;margin:0 0 18px;flex:1}
.svc:hover .svc-photo{transform:none}
.svc:hover .svc-photo:after{background:linear-gradient(180deg,rgba(26,58,114,0) 30%,rgba(26,58,114,.55) 100%)}
.svc:hover .svc-content .svc-icon{background:var(--c-orange);color:#fff;transform:scale(1.05)}

/* Featured (Tesla-Karte) - größer, blau-Gradient drüber */
.svc--featured.svc{grid-row:span 2;background:linear-gradient(135deg,var(--c-blue-d) 0%, var(--c-blue) 100%)}
.svc--featured .svc-photo{aspect-ratio:16/9}
.svc--featured .svc-photo:after{background:linear-gradient(180deg,rgba(26,58,114,.2) 0%,rgba(26,58,114,.85) 100%)}
.svc--featured .svc-content{color:#fff;padding:28px 40px 40px}
.svc--featured .svc-content .svc-icon{background:rgba(255,255,255,.15);color:#fff}
.svc--featured .svc-content h3{color:#fff;font-size:26px}
.svc--featured .svc-content p{color:rgba(255,255,255,.88);font-size:15px}
.svc--featured .svc-content .svc-num{color:rgba(255,255,255,.4)}
.svc--featured .svc-content ul{list-style:none;margin:18px 0 24px;padding:0;display:grid;gap:8px}
.svc--featured .svc-content ul li{display:flex;align-items:flex-start;gap:8px;font-size:14px;color:rgba(255,255,255,.95)}
.svc--featured .svc-content ul li::before{content:"✓";color:var(--c-orange-l);font-weight:700;flex-shrink:0}
.svc--featured .svc-link,.svc--featured .svc-link .arrow{color:#fff !important}

/* Wunsch-CTA-Karte in vehicles-preview */
.veh--cta .veh-img{position:relative}
.veh--cta:hover .veh-img{transform:scale(1)}

@media(max-width:980px){
  .svc--featured.svc{grid-row:auto}
}

/* ====================================================================
 * Hero-Carousel (ersetzt hero-card)
 * ================================================================ */
.hero-carousel{
  position:relative;border-radius:var(--radius-xl);overflow:hidden;
  box-shadow:0 30px 80px rgba(0,0,0,.4);background:rgba(0,0,0,.2);
  aspect-ratio:5/4;
}
.hero-card-tag{
  position:absolute;top:20px;left:20px;z-index:5;
  background:var(--c-orange);color:#fff;font-size:11.5px;font-weight:800;
  letter-spacing:.8px;text-transform:uppercase;padding:7px 14px;border-radius:99px;
  display:inline-flex;align-items:center;gap:8px;box-shadow:0 8px 20px rgba(219,76,0,.4);
}
.hero-card-tag svg{width:14px;height:14px}
.hero-slides{position:absolute;inset:0}
.hero-slide{
  position:absolute;inset:0;display:block;
  opacity:0;visibility:hidden;transition:opacity .8s ease, visibility .8s;
  text-decoration:none;color:#fff;
}
.hero-slide.is-on{opacity:1;visibility:visible}
.hero-slide img{width:100%;height:100%;object-fit:cover;display:block}
.hero-slide:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,0) 30%,rgba(0,0,0,.85) 100%);
}
.hero-slide-badge{
  position:absolute;top:24px;right:24px;z-index:2;
  background:rgba(255,255,255,.9);color:var(--c-blue-d);
  padding:6px 12px;border-radius:6px;
  font-size:11px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;
}
.hero-slide-info{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  padding:28px 30px 70px;color:#fff;
}
.hero-slide-info h3{
  font-size:clamp(20px,2.2vw,26px);color:#fff;margin:0 0 8px;line-height:1.2;
  text-shadow:0 2px 12px rgba(0,0,0,.5);
}
.hero-slide-meta{
  display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:rgba(255,255,255,.85);margin-bottom:10px;
}
.hero-slide-meta span{position:relative;padding-right:14px}
.hero-slide-meta span:not(:last-child)::after{content:"·";position:absolute;right:2px;color:rgba(255,255,255,.5)}
.hero-slide-price{font-size:26px;font-weight:800;color:var(--c-orange-l);text-shadow:0 2px 12px rgba(0,0,0,.5)}
.hero-nav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:5;
  width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--c-blue-d);
  border:0;cursor:pointer;font-size:14px;line-height:1;
  display:grid;place-items:center;transition:all var(--t-fast);
  box-shadow:0 4px 12px rgba(0,0,0,.2);
}
.hero-nav:hover{background:#fff;transform:translateY(-50%) scale(1.08)}
.hero-prev{left:14px} .hero-next{right:14px}
.hero-dots{
  position:absolute;left:0;right:0;bottom:20px;z-index:5;
  display:flex;justify-content:center;gap:8px;
}
.hero-dots button{
  width:8px;height:8px;border-radius:50%;border:0;
  background:rgba(255,255,255,.4);cursor:pointer;padding:0;
  transition:all var(--t-fast);
}
.hero-dots button.is-on{background:var(--c-orange);width:26px;border-radius:99px}

/* 3D-Tilt - sanftere Übergänge (Card-Reset) */
.svc, .svc-card, .car-card, .news-card, .gr-card{
  transition:transform .15s ease, box-shadow var(--t-base), border-color var(--t-base);
  transform-style:preserve-3d;will-change:transform;
}

/* Button-Pulse (sanft, einmalig nach 2.5s) */
@keyframes btnPulse{
  0%,100%{box-shadow:0 10px 28px rgba(219,76,0,.30)}
  50%{box-shadow:0 10px 28px rgba(219,76,0,.30), 0 0 0 14px rgba(219,76,0,.0)}
}
.btn-pulse{animation:btnPulse 2.4s ease-in-out 2}

/* ====================================================================
 * Mobile Sticky CTA-Bar
 * ================================================================ */
.sticky-cta{
  position:fixed;left:0;right:0;bottom:0;z-index:80;
  background:rgba(255,255,255,.96);
  -webkit-backdrop-filter:blur(14px) saturate(160%);
  backdrop-filter:blur(14px) saturate(160%);
  border-top:1px solid rgba(26,58,114,.08);
  display:flex;padding:10px;gap:8px;
  box-shadow:0 -12px 28px rgba(15,30,60,.10);
  transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);
  padding-bottom:max(10px, env(safe-area-inset-bottom));
}
.sticky-cta.is-on{transform:translateY(0)}
.sticky-cta-btn{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
  padding:11px 6px;border-radius:12px;font-size:11.5px;font-weight:700;letter-spacing:.2px;
  color:var(--c-blue-d);text-decoration:none;background:var(--c-bg-soft);
  border:1px solid transparent;
  transition:background var(--t-fast),transform .15s,box-shadow var(--t-fast);
  min-height:54px;
}
.sticky-cta-btn svg{width:22px;height:22px;flex:0 0 22px}
.sticky-cta-btn:hover{background:var(--c-line)}
.sticky-cta-btn:active{transform:scale(.96)}
.sticky-cta-wa{background:#25d366;color:#fff;box-shadow:0 4px 12px rgba(37,211,102,.32)}
.sticky-cta-wa:hover,.sticky-cta-wa:active{background:#20bf5b}
.sticky-cta-primary{background:var(--c-orange);color:#fff;box-shadow:0 4px 12px rgba(219,76,0,.32)}
.sticky-cta-primary:hover,.sticky-cta-primary:active{background:#c54200}

/* WhatsApp-FAB + Top-FAB hochschieben wenn Sticky-CTA aktiv */
.has-sticky-cta .fab-wa{bottom:96px}
.has-sticky-cta .fab-top{bottom:160px}
.has-sticky-cta .fab-cmp{bottom:90px}

@media(min-width:981px){.sticky-cta{display:none !important}}

/* ====================================================================
 * Team-Page (gruppierte Mitarbeiter-Karten)
 * ================================================================ */
.team-group{margin-bottom:64px}
.team-group-head{
  display:flex;justify-content:space-between;align-items:baseline;
  margin-bottom:24px;padding-bottom:14px;border-bottom:2px solid var(--c-orange-50);
}
.team-group-head .eyebrow{font-size:13px;letter-spacing:2.5px}
.team-count{font-size:12px;color:var(--c-text-soft);font-weight:600}
.team-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px;
}
.team-card{
  background:#fff;border:1px solid var(--c-line);border-radius:var(--radius-lg);
  overflow:hidden;display:flex;flex-direction:column;
  transition:all var(--t-base);
}
.team-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-2);
  border-color:transparent;
}
.team-card-photo{
  aspect-ratio:1/1;background:var(--c-bg-soft);overflow:hidden;
}
.team-card-photo img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform var(--t-base);
}
.team-card:hover .team-card-photo img{transform:scale(1.05)}
.team-card-body{padding:18px 20px 22px;text-align:center}
.team-card-body h3{
  font-size:17px;color:var(--c-blue-d);margin:0 0 6px;font-weight:700;line-height:1.25;
}
.team-card-body p{
  font-size:12px;color:var(--c-orange);margin:0;
  font-weight:700;letter-spacing:.6px;text-transform:uppercase;line-height:1.4;
}

.team-cta{
  background:linear-gradient(135deg,var(--c-blue-d),var(--c-blue));color:#fff;
  border-radius:var(--radius-lg);padding:48px 56px;
  margin-top:32px;
}
.team-cta h2{color:#fff;margin-bottom:14px}
.team-cta p{color:rgba(255,255,255,.85);font-size:15px;line-height:1.65;margin-bottom:24px;max-width:640px}
.team-cta .btn--primary{background:var(--c-orange)}
.team-cta .btn--ghost{color:#fff;border-color:rgba(255,255,255,.3)}
.team-cta .btn--ghost:hover{background:rgba(255,255,255,.1);border-color:#fff;color:#fff}

@media(max-width:520px){
  .team-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}
  .team-card-body{padding:14px 12px 16px}
  .team-card-body h3{font-size:15px}
  .team-card-body p{font-size:11px}
  .team-cta{padding:32px 28px}
}

/* Team-Card Kontaktdaten */
.team-card-role{margin:0 0 12px}
.team-card-contact{
  list-style:none;padding:12px 0 0;margin:0;
  border-top:1px solid var(--c-line);
  display:flex;flex-direction:column;gap:6px;
  text-align:left;
}
.team-card-contact li{
  display:flex;align-items:center;gap:8px;
  font-size:12px;color:var(--c-text-mute);line-height:1.3;
}
.team-card-contact li svg{
  width:13px;height:13px;color:var(--c-blue);flex:0 0 13px;
}
.team-card-contact li a{
  color:var(--c-blue-d);font-weight:600;text-decoration:none;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;
  transition:color var(--t-fast);
}
.team-card-contact li a:hover{color:var(--c-orange)}
.team-card-body{text-align:left}
.team-card-body h3{text-align:center}
.team-card-role{text-align:center}

/* (9) Live Open-Status in Topbar */
.open-status{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(255,255,255,.1);padding:3px 12px;border-radius:99px;
  font-size:11.5px;font-weight:600;color:rgba(255,255,255,.9);
  margin-left:18px;
}
.open-status .open-dot{
  width:7px;height:7px;border-radius:50%;background:#9aa1aa;
}
.open-status.is-open{background:rgba(46,169,104,.18);color:#fff}
.open-status.is-open .open-dot{
  background:#2ea968;box-shadow:0 0 0 0 rgba(46,169,104,.6);
  animation:openPulse 2s ease-in-out infinite;
}
@keyframes openPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(46,169,104,.6)}
  50%{box-shadow:0 0 0 6px rgba(46,169,104,0)}
}
@media(max-width:1280px){.open-status{display:none}}

/* (10) Fahrzeug-Galerie Lightbox */
.al-lightbox{
  position:fixed;inset:0;z-index:9999;
  background:rgba(0,0,0,.94);
  display:grid;place-items:center;
  animation:lbFade .25s ease-out;
}
@keyframes lbFade{from{opacity:0}to{opacity:1}}
.al-lb-stage{padding:60px 80px;max-width:100%;max-height:100%;display:grid;place-items:center}
.al-lb-stage img{
  max-width:90vw;max-height:88vh;object-fit:contain;
  display:block;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.6);
}
.al-lb-close,.al-lb-prev,.al-lb-next{
  position:absolute;width:48px;height:48px;border-radius:50%;
  background:rgba(255,255,255,.1);color:#fff;border:0;cursor:pointer;
  font-size:18px;line-height:1;display:grid;place-items:center;
  transition:background var(--t-fast);
}
.al-lb-close:hover,.al-lb-prev:hover,.al-lb-next:hover{background:rgba(255,255,255,.25)}
.al-lb-close{top:20px;right:20px;font-size:28px}
.al-lb-prev{left:20px;top:50%;transform:translateY(-50%)}
.al-lb-next{right:20px;top:50%;transform:translateY(-50%)}
.al-lb-counter{
  position:absolute;bottom:24px;left:50%;transform:translateX(-50%);
  color:rgba(255,255,255,.85);font-size:13px;font-weight:600;
  background:rgba(0,0,0,.4);padding:6px 14px;border-radius:99px;
}

/* (11) Team-Standort-Badge */
.team-card-loc{
  display:inline-flex;align-items:center;gap:5px;
  background:var(--c-blue-50);color:var(--c-blue-d);
  padding:4px 10px;border-radius:99px;
  font-size:10.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;
  margin-top:10px;
}
.team-card-loc svg{width:11px;height:11px}
.team-card-loc--ilz{background:var(--c-orange-50);color:var(--c-orange)}

/* (14) 404-Search */
.search-404{
  max-width:480px;margin:0 auto 28px;position:relative;
  background:#fff;border:1px solid var(--c-line);border-radius:99px;
  display:flex;align-items:center;padding:6px 6px 6px 18px;
  box-shadow:var(--shadow-1);
}
.search-404 svg{width:18px;height:18px;color:var(--c-text-soft);margin-right:10px;flex-shrink:0}
.search-404 input{
  flex:1;padding:14px 8px;font-size:15px;border:0;background:transparent;font-family:inherit;
}
.search-404 input:focus{outline:0}
#al-404-results{
  position:absolute;left:0;right:0;top:calc(100% + 8px);
  background:#fff;border:1px solid var(--c-line);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-2);overflow:hidden;text-align:left;list-style:none;padding:0;margin:0;
  z-index:10;max-height:60vh;overflow-y:auto;
}
#al-404-results li{border-bottom:1px solid var(--c-line)}
#al-404-results li:last-child{border-bottom:0}
#al-404-results a{
  display:flex;flex-direction:column;padding:14px 20px;text-decoration:none;
  transition:background var(--t-fast);
}
#al-404-results a:hover{background:var(--c-bg-soft)}
#al-404-results strong{color:var(--c-blue-d);font-size:14.5px;font-weight:700;margin-bottom:2px}
#al-404-results span{color:var(--c-text-soft);font-size:12px;font-family:monospace}
.al-404-noresult{padding:18px 20px;color:var(--c-text-mute);font-size:13.5px;text-align:center}
.al-404-noresult a{display:inline;color:var(--c-orange);font-weight:700}

/* Topbar-Icons (Telefon, Mail) */
.topbar-meta .tb-ico{
  width:13px;height:13px;display:inline-block;vertical-align:-2px;
  margin-right:6px;color:var(--c-orange-l);
}
.topbar-meta a:hover .tb-ico{color:#fff}

/* ====================================================================
 * Standort-Pages (St. Anna + Ilz)
 * ================================================================ */
.st-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:32px;align-items:flex-start;margin-bottom:40px}
.st-photo-block{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-2)}
.st-photo-block img{width:100%;height:auto;display:block;aspect-ratio:16/10;object-fit:cover}
.st-rating{
  position:absolute;left:24px;bottom:24px;
  background:rgba(26,58,114,.92);color:#fff;
  padding:14px 18px;border-radius:var(--radius);
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.st-rating-stars{color:#fbbc05;font-size:14px;letter-spacing:1.5px}
.st-rating strong{font-size:22px;font-weight:800}
.st-rating-count{font-size:11.5px;color:rgba(255,255,255,.85)}
.st-rating a{color:var(--c-orange-l);font-size:11.5px;font-weight:700;margin-left:4px}
.st-rating a:hover{color:#fff}

.st-side{
  background:#fff;border:1px solid var(--c-line);border-radius:var(--radius-lg);
  padding:28px 32px;box-shadow:var(--shadow-1);position:sticky;top:120px;
}
.st-side-title{font-size:18px;color:var(--c-blue-d);margin:0 0 18px;font-weight:800}
.st-info-list{list-style:none;padding:0;margin:0 0 24px;display:flex;flex-direction:column;gap:14px}
.st-info-list li{display:flex;gap:12px;font-size:14px;line-height:1.5;color:var(--c-text)}
.st-info-list li svg{width:18px;height:18px;color:var(--c-blue);flex:0 0 18px;margin-top:2px}
.st-info-list li a{color:var(--c-blue-d);font-weight:600}
.st-info-list li a:hover{color:var(--c-orange)}
.st-hours-title{font-size:14px;font-weight:700;color:var(--c-blue-d);margin:0 0 10px;text-transform:uppercase;letter-spacing:1px}
.st-hours{
  display:grid;grid-template-columns:auto 1fr;column-gap:14px;row-gap:4px;
  margin:0 0 24px;font-size:13px;
  padding-bottom:18px;border-bottom:1px solid var(--c-line);
}
.st-hours dt{color:var(--c-text-mute);white-space:nowrap}
.st-hours dd{margin:0;color:var(--c-blue-d);font-weight:600;text-align:right}
.st-cta{display:flex;flex-direction:column;gap:8px}
.st-cta .btn{width:100%}

.st-highlights{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;
  margin-bottom:48px;
}
.st-hl{
  background:#fff;border:1px solid var(--c-line);border-radius:var(--radius-lg);
  padding:24px;display:flex;flex-direction:column;gap:8px;
  text-decoration:none;color:inherit;transition:all var(--t-base);
}
a.st-hl:hover{transform:translateY(-4px);box-shadow:var(--shadow-2);border-color:transparent}
.st-hl-icon{
  width:46px;height:46px;border-radius:12px;background:var(--c-blue-50);
  display:grid;place-items:center;color:var(--c-blue-d);
  margin-bottom:6px;
}
.st-hl-icon svg{width:22px;height:22px}
.st-hl h3{font-size:16px;color:var(--c-blue-d);margin:0;line-height:1.3}
.st-hl p{font-size:13.5px;color:var(--c-text-mute);line-height:1.55;margin:0;flex:1}
.st-hl-link{
  font-size:11.5px;font-weight:700;color:var(--c-orange);
  letter-spacing:.6px;text-transform:uppercase;display:inline-flex;align-items:center;gap:6px;
}

.st-section{
  background:#fff;border:1px solid var(--c-line);border-radius:var(--radius-lg);
  padding:32px 36px;margin-bottom:20px;
}
.st-section h2{font-size:22px;color:var(--c-blue-d);margin:0 0 18px;font-weight:800}
.st-prose{color:var(--c-text);font-size:14.5px;line-height:1.75}
.st-prose p{margin:0 0 14px}
.st-prose strong{color:var(--c-blue-d)}
.st-prose a{color:var(--c-blue);font-weight:600}
.st-faq .faq-item summary{padding:14px 0}
.st-other-location{
  text-align:center;padding:24px;color:var(--c-text-mute);
  font-size:14px;background:var(--c-bg-soft);border-radius:var(--radius-lg);
}
.st-other-location a{color:var(--c-orange);font-weight:700}

@media(max-width:980px){
  .st-grid{grid-template-columns:1fr}
  .st-side{position:static}
}

/* ====================================================================
 * Standorte-Dropdown in Hauptnav + klickbare Topbar-Adressen
 * ================================================================ */
.nav-drop{position:relative;display:inline-flex;align-items:center}
.nav-drop-trigger{
  font:inherit;font-size:16px;font-weight:500;color:var(--c-text);
  letter-spacing:.2px;text-decoration:none;
  background:transparent;border:0;cursor:pointer;
  display:inline-flex;align-items:center;gap:6px;
  padding:10px 14px;margin:0;font-family:var(--font-sans);
  line-height:1.2;height:auto;min-height:0;border-radius:8px;
  transition:color var(--t-fast);
  white-space:nowrap;
}
.nav-drop-trigger:hover,
.nav-drop-trigger:focus-visible{color:var(--c-orange)}
.nav-drop-trigger.is-active{color:var(--c-blue);position:relative}
.nav-drop-trigger.is-active::after{
  content:"";position:absolute;left:50%;bottom:0;
  width:24px;height:2px;background:var(--c-orange);
  transform:translateX(-50%);border-radius:2px;
}
.nav-drop-arrow{width:10px !important;height:7px !important;flex:0 0 10px;transition:transform .2s}
.nav-drop:hover .nav-drop-arrow,
.nav-drop:focus-within .nav-drop-arrow{transform:rotate(180deg)}
/* Menu mit unsichtbarer Hover-Bridge (padding-top), damit Maus zwischen Trigger und Menu nicht abbricht */
.nav-drop-menu{
  position:absolute;top:100%;left:50%;
  transform:translateX(-50%) translateY(-6px);
  padding:18px 0 0;min-width:320px;z-index:101;
  background:transparent;border:0;box-shadow:none;
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .25s, transform .25s, visibility .25s;
}
/* Card-Hintergrund als Pseudo (überspannt nur den sichtbaren Teil unterhalb des padding-top) */
.nav-drop-menu::before{
  content:"";position:absolute;top:18px;left:0;right:0;bottom:0;
  background:#fff;border:1px solid var(--c-line);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-2);
  z-index:1;
}
/* Pfeil-Marker */
.nav-drop-menu::after{
  content:"";position:absolute;top:11px;left:50%;
  transform:translateX(-50%) rotate(45deg);
  width:14px;height:14px;background:#fff;
  border-left:1px solid var(--c-line);border-top:1px solid var(--c-line);
  z-index:2;
}
.nav-drop:hover .nav-drop-menu,
.nav-drop:focus-within .nav-drop-menu{
  opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);
}
.nav-drop-menu a{
  position:relative;z-index:3;
  display:flex;flex-direction:column;gap:2px;
  padding:14px 18px;margin:0 10px;border-radius:10px;
  text-decoration:none;transition:background .2s;
}
.nav-drop-menu a:first-of-type{margin-top:14px}
.nav-drop-menu a:last-child{margin-bottom:10px}
.nav-drop-menu a:hover{background:var(--c-bg-soft)}
.nav-drop-menu a strong{color:var(--c-blue-d);font-size:14px;font-weight:700}
.nav-drop-menu a span{color:var(--c-text-mute);font-size:12px}
.nav-drop-menu .nav-drop-all{
  background:var(--c-bg-soft);color:var(--c-orange);
  font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;
  padding:10px 16px;text-align:center;
  border-top:1px dashed var(--c-line);margin-top:4px;border-radius:8px;
}
.nav-drop-menu .nav-drop-all:hover{background:var(--c-orange-50)}

/* Topbar-Adressen klickbar */
.topbar-info .topbar-loc{
  display:inline-flex;align-items:center;gap:8px;
  color:rgba(255,255,255,.85);text-decoration:none;
  transition:color var(--t-fast);letter-spacing:.3px;
}
.topbar-info .topbar-loc:hover{color:#fff}
.topbar-info .topbar-loc:hover svg{color:#fff}

/* Mobile-Sub-Items */
.mob-menu .mob-sub{
  font-size:14px !important;color:var(--c-text-mute) !important;
  padding-left:16px !important;
}
@media(max-width:980px){
  .nav-drop{display:none}
}

/* ====================================================================
 * Über-uns-Seite (Stats / Story / Timeline / Werte / Standorte / Team-CTA)
 * ================================================================ */
.uu-stats{
  display:grid;grid-template-columns:repeat(5,1fr);gap:1px;
  background:var(--c-line);border:1px solid var(--c-line);
  border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:var(--shadow-2);background-color:#fff;
}
.uu-stat{background:#fff;padding:24px 18px;text-align:center}
.uu-stat strong{
  display:block;font-size:34px;font-weight:800;color:var(--c-orange);line-height:1;margin-bottom:6px;
  letter-spacing:-.02em;
}
.uu-stat span{display:block;font-size:11px;color:var(--c-text-mute);text-transform:uppercase;letter-spacing:.6px;line-height:1.4}
@media(max-width:880px){.uu-stats{grid-template-columns:repeat(2,1fr)}}

/* Vorwort + Imagefilm (oberhalb der Stats) */
.uu-vorwort{padding-top:24px;padding-bottom:32px}
.uu-vorwort-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:center}
.uu-vorwort-text h2{font-size:clamp(28px,4vw,44px);margin:14px 0 24px;color:var(--c-blue-d);font-weight:800;line-height:1.1}
.uu-vorwort-text p{font-size:15.5px;line-height:1.75;color:var(--c-text);margin:0 0 16px}
.uu-vorwort-text strong{color:var(--c-blue-d)}
.uu-vorwort-video{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-2);background:#000}
.uu-vorwort-video video{width:100%;height:auto;display:block;aspect-ratio:16/9;object-fit:cover}
.uu-rec-vid-wrap{
  max-width:1100px;margin:0 auto;
  border-radius:var(--radius-xl);overflow:hidden;
  box-shadow:0 24px 60px rgba(15,30,60,.18);
  background:#000;
  position:relative;
}
.uu-rec-vid-wrap::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  border-radius:var(--radius-xl);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
  z-index:1;
}
.uu-rec-vid{width:100%;height:auto;display:block;aspect-ratio:16/9;object-fit:cover}
@media(max-width:880px){.uu-vorwort-grid{grid-template-columns:1fr;gap:28px}}

/* Story */
.uu-story-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:48px;align-items:center}
.uu-story-img{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-2)}
.uu-story-img img{width:100%;height:auto;display:block;aspect-ratio:1/1;object-fit:cover;object-position:center 35%}
.uu-quote{
  position:absolute;left:18px;right:18px;bottom:18px;
  background:rgba(26,58,114,.92);color:#fff;padding:18px 22px;border-radius:12px;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.uu-quote p{margin:0 0 8px;font-size:14px;font-style:italic;line-height:1.55}
.uu-quote span{font-size:12px;color:rgba(255,255,255,.75);font-weight:600}
.uu-story-text h2{font-size:clamp(28px,4vw,44px);margin:14px 0 24px}
.uu-story-text p{font-size:15.5px;line-height:1.75;color:var(--c-text);margin:0 0 18px}
.uu-story-text strong{color:var(--c-blue-d)}
@media(max-width:880px){.uu-story-grid{grid-template-columns:1fr}}

/* Timeline */
.uu-timeline-sec{padding-top:40px;padding-bottom:48px}
.uu-timeline{
  list-style:none;padding:0;margin:0;
  position:relative;max-width:760px;margin-inline:auto;
}
.uu-timeline::before{
  content:"";position:absolute;left:84px;top:14px;bottom:14px;width:2px;
  background:linear-gradient(180deg,var(--c-orange),var(--c-blue));
}
.uu-timeline li{
  position:relative;padding:0 0 32px 130px;
}
.uu-timeline li::before{
  content:"";position:absolute;left:78px;top:14px;width:14px;height:14px;
  background:#fff;border:3px solid var(--c-orange);border-radius:50%;
  box-shadow:0 0 0 4px rgba(219,76,0,.12);
}
.uu-timeline li.is-now::before{background:var(--c-orange);border-color:#fff;box-shadow:0 0 0 4px rgba(219,76,0,.25);animation:pulseTL 2.4s ease-in-out infinite}
@keyframes pulseTL{0%,100%{box-shadow:0 0 0 4px rgba(219,76,0,.25)}50%{box-shadow:0 0 0 10px rgba(219,76,0,0)}}
.uu-tl-year{
  position:absolute;left:0;top:8px;width:64px;text-align:right;
  font-size:18px;font-weight:800;color:var(--c-orange);letter-spacing:-.02em;
}
.uu-timeline h3{font-size:18px;color:var(--c-blue-d);margin:0 0 8px;font-weight:700}
.uu-timeline p{font-size:14.5px;color:var(--c-text);line-height:1.65;margin:0}
.uu-timeline a{color:var(--c-blue);font-weight:600}
@media(max-width:600px){
  .uu-timeline::before{left:42px}
  .uu-timeline li{padding-left:80px}
  .uu-timeline li::before{left:36px}
  .uu-tl-year{width:36px;font-size:14px}
}

/* Werte */
.uu-values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.uu-val{
  background:#fff;border:1px solid var(--c-line);border-radius:var(--radius-lg);
  padding:28px 24px;text-align:center;transition:all var(--t-base);
}
.uu-val:hover{transform:translateY(-4px);box-shadow:var(--shadow-2);border-color:transparent}
.uu-val-icon{
  width:56px;height:56px;border-radius:14px;background:var(--c-blue-50);
  display:grid;place-items:center;color:var(--c-blue-d);margin:0 auto 16px;
}
.uu-val-icon svg{width:26px;height:26px}
.uu-val:hover .uu-val-icon{background:var(--c-orange);color:#fff;transform:scale(1.05)}
.uu-val h3{font-size:17px;color:var(--c-blue-d);margin:0 0 10px}
.uu-val p{font-size:13.5px;color:var(--c-text-mute);line-height:1.65;margin:0}
@media(max-width:880px){.uu-values-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.uu-values-grid{grid-template-columns:1fr}}

/* Standorte-Vorstellung */
.uu-locations{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.uu-loc{
  background:#fff;border:1px solid var(--c-line);border-radius:var(--radius-lg);
  overflow:hidden;display:flex;flex-direction:column;
  text-decoration:none;color:inherit;transition:all var(--t-base);
}
.uu-loc:hover{transform:translateY(-6px);box-shadow:var(--shadow-3);border-color:transparent}
.uu-loc-img{aspect-ratio:16/9;background-size:cover;background-position:center;position:relative}
.uu-loc-img:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,58,114,0) 50%,rgba(26,58,114,.2) 100%)}
.uu-loc-body{padding:24px 28px 28px;flex:1;display:flex;flex-direction:column}
.uu-loc-tag{
  display:inline-block;background:var(--c-orange-50);color:var(--c-orange);
  padding:4px 10px;border-radius:99px;font-size:11px;font-weight:800;
  letter-spacing:.5px;text-transform:uppercase;margin-bottom:12px;align-self:flex-start;
}
.uu-loc h3{font-size:22px;color:var(--c-blue-d);margin:0 0 10px;line-height:1.25}
.uu-loc p{font-size:14.5px;color:var(--c-text-mute);line-height:1.6;margin:0 0 14px;flex:1}
.uu-loc-meta{display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:var(--c-text-soft);padding-top:14px;border-top:1px solid var(--c-line);margin-bottom:12px}
.uu-loc-meta span:nth-child(2){color:var(--c-orange);font-weight:700}
.uu-loc-link{font-size:12px;font-weight:700;color:var(--c-orange);letter-spacing:.6px;text-transform:uppercase;display:inline-flex;align-items:center;gap:6px;transition:gap var(--t-fast)}
.uu-loc:hover .uu-loc-link{gap:12px}
@media(max-width:760px){.uu-locations{grid-template-columns:1fr}}

/* Team-CTA */
.uu-team-cta{
  background:linear-gradient(135deg,var(--c-blue-d),var(--c-blue));color:#fff;
  border-radius:var(--radius-lg);padding:48px 56px;
  display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:center;
}
.uu-team-cta h2{color:#fff;margin:14px 0}
.uu-team-cta p{color:rgba(255,255,255,.85);font-size:15px;margin-bottom:22px;max-width:480px}
.uu-team-cta .btn--primary{background:var(--c-orange)}
.uu-team-photos{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.uu-team-photos img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:14px;border:3px solid rgba(255,255,255,.15)}
@media(max-width:880px){.uu-team-cta{grid-template-columns:1fr;padding:32px 28px}}

/* Timeline mit Bildern */
.uu-timeline li{padding-bottom:48px}
.uu-tl-content{
  display:grid;grid-template-columns:1.5fr 1fr;gap:24px;align-items:flex-start;
  background:#fff;border:1px solid var(--c-line);border-radius:var(--radius-lg);
  padding:18px;box-shadow:var(--shadow-1);
  transition:all var(--t-base);
}
.uu-timeline li:hover .uu-tl-content{transform:translateY(-3px);box-shadow:var(--shadow-2);border-color:transparent}
.uu-tl-text{padding:6px 6px 6px 0}
.uu-tl-text h3{margin:0 0 10px;font-size:18px}
.uu-tl-text p{font-size:14.5px;line-height:1.65}
.uu-tl-img{
  border-radius:12px;overflow:hidden;background:var(--c-bg-soft);
  aspect-ratio:4/3;
}
.uu-tl-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--t-base)}
.uu-timeline li:hover .uu-tl-img img{transform:scale(1.05)}
.uu-timeline li::before{z-index:2}

@media(max-width:680px){
  .uu-tl-content{grid-template-columns:1fr;padding:14px}
  .uu-tl-img{aspect-ratio:16/9;order:-1}
}

/* Historische Galerie */
.uu-gallery{margin-top:80px;text-align:center}
.uu-gallery h3{
  font-size:24px;color:var(--c-blue-d);margin:0 0 32px;font-weight:700;
  text-transform:uppercase;letter-spacing:2px;
}
.uu-gallery-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:24px;
}
.uu-gallery figure{
  margin:0;border-radius:14px;overflow:hidden;
  box-shadow:var(--shadow-1);background:#fff;border:1px solid var(--c-line);
  transition:all var(--t-base);cursor:zoom-in;position:relative;
}
.uu-gallery figure::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(26,58,114,0) 60%,rgba(26,58,114,.45) 100%);
  opacity:0;transition:opacity var(--t-fast);pointer-events:none;
}
.uu-gallery figure::before{
  content:"⤢";position:absolute;top:14px;right:14px;z-index:2;
  width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.92);
  color:var(--c-blue-d);display:grid;place-items:center;font-size:16px;font-weight:700;
  opacity:0;transform:scale(.8);transition:all var(--t-fast);
}
.uu-gallery figure:hover{transform:translateY(-6px);box-shadow:var(--shadow-3)}
.uu-gallery figure:hover::after{opacity:1}
.uu-gallery figure:hover::before{opacity:1;transform:scale(1)}
.uu-gallery figure:hover img{transform:scale(1.04)}
.uu-gallery img{
  width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;
  transition:transform var(--t-base);
}
.uu-gallery figcaption{
  padding:14px 18px;font-size:13.5px;color:var(--c-blue-d);font-weight:600;
  background:#fff;text-align:left;border-top:1px solid var(--c-line);
}
@media(max-width:760px){
  .uu-gallery-grid{grid-template-columns:1fr 1fr;gap:14px}
  .uu-gallery img{aspect-ratio:1/1}
}
@media(max-width:480px){
  .uu-gallery-grid{grid-template-columns:1fr}
}

/* ====================================================================
 * Hero-Slider (Brand-Slides analog Live-Site Swiper)
 * ================================================================ */
.hero-slider{
  position:relative;width:100%;
  height:calc(100vh - var(--topbar-h) - var(--header-h));
  min-height:560px;max-height:780px;
  overflow:hidden;
  background:var(--c-blue-d);
  margin-top:calc(var(--topbar-h) + var(--header-h));
}
.hsl-track{position:absolute;inset:0}
.hsl-slide{
  position:absolute;inset:0;
  opacity:0;visibility:hidden;
  transform:scale(1.04);
  transition:opacity 1.6s cubic-bezier(.4,0,.2,1), transform 2.2s cubic-bezier(.25,.1,.25,1), visibility 1.6s;
  z-index:1;will-change:opacity,transform;
}
.hsl-slide.is-on{opacity:1;visibility:visible;transform:scale(1);z-index:2}
.hsl-bg{position:absolute;inset:0;display:block;overflow:hidden}
.hsl-bg img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.02)}
.hsl-slide.is-on .hsl-bg img{
  animation:slowZoom 18s cubic-bezier(.25,.1,.25,1) forwards;
}
@keyframes slowZoom{0%{transform:scale(1.02)}100%{transform:scale(1.12)}}
.hsl-overlay{
  position:absolute;inset:0;
  background:linear-gradient(135deg, rgba(26,58,114,.85) 0%, rgba(26,58,114,.55) 50%, rgba(26,58,114,.35) 100%);
  opacity:0;transition:opacity 1.2s ease-out;
}
.hsl-slide.is-on .hsl-overlay{opacity:1}
.hsl-content{
  position:relative;height:100%;display:flex;flex-direction:column;justify-content:center;
  padding-top:40px;padding-bottom:40px;color:#fff;
  z-index:3;max-width:920px;
}
.hsl-content .eyebrow{
  font-size:11.5px;letter-spacing:2.2px;
  color:var(--c-orange-l);background:rgba(255,255,255,.08);
  padding:6px 14px;border-radius:99px;
  align-self:flex-start;margin-bottom:22px;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.hsl-content .eyebrow:before,.hsl-content .eyebrow:after{display:none}
.hsl-headline{
  font-size:clamp(36px,5.5vw,64px);font-weight:800;line-height:1.05;
  color:#fff;margin:0 0 22px;letter-spacing:-.03em;
  text-shadow:0 4px 24px rgba(0,0,0,.2);
}
.hsl-headline em{color:var(--c-orange);font-style:normal}
.hsl-sub{
  font-size:clamp(16px,1.4vw,19px);line-height:1.6;
  color:rgba(255,255,255,.92);max-width:680px;margin:0 0 32px;
  text-shadow:0 2px 12px rgba(0,0,0,.3);
}
.hsl-cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:28px}
.hsl-trust{
  display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;
  padding:10px 16px;background:rgba(0,0,0,.35);
  border-radius:99px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  align-self:flex-start;
}
.hsl-stars{color:#fbbc05;font-size:14px;letter-spacing:1.5px}
.hsl-trust strong{color:#fff;font-size:13px;font-weight:700}
.hsl-trust span{font-size:13px;color:rgba(255,255,255,.85)}

/* Slide-Animation: Content fadet + slidet hoch mit gestaffeltem Timing */
.hsl-slide .hsl-content > *{
  opacity:0;transform:translateY(28px);
  transition:opacity 1s cubic-bezier(.16,1,.3,1), transform 1.1s cubic-bezier(.16,1,.3,1);
  filter:blur(6px);
}
.hsl-slide.is-on .hsl-content > *{opacity:1;transform:translateY(0);filter:blur(0)}
/* Stagger: Eyebrow zuerst, dann Headline, Sub, CTA, Trust */
.hsl-slide.is-on .hsl-content .eyebrow{transition-delay:.25s}
.hsl-slide.is-on .hsl-content .hsl-headline{transition-delay:.4s}
.hsl-slide.is-on .hsl-content .hsl-sub{transition-delay:.55s}
.hsl-slide.is-on .hsl-content .hsl-cta{transition-delay:.7s}
.hsl-slide.is-on .hsl-content .hsl-trust{transition-delay:.85s}
/* Split-Layout: Top + Bottom Container synchron mit Inhalt animieren */
.hsl-slide--split .hsl-content > .hsl-top > *,
.hsl-slide--split .hsl-content > .hsl-bottom > *{
  opacity:0;transform:translateY(28px);filter:blur(6px);
  transition:opacity 1s cubic-bezier(.16,1,.3,1), transform 1.1s cubic-bezier(.16,1,.3,1);
}
.hsl-slide--split.is-on .hsl-content > .hsl-top > *,
.hsl-slide--split.is-on .hsl-content > .hsl-bottom > *{opacity:1;transform:translateY(0);filter:blur(0)}
.hsl-slide--split.is-on .hsl-top .eyebrow{transition-delay:.25s}
.hsl-slide--split.is-on .hsl-top .hsl-headline{transition-delay:.4s}
.hsl-slide--split.is-on .hsl-bottom .hsl-sub{transition-delay:.55s}
.hsl-slide--split.is-on .hsl-bottom .hsl-cta{transition-delay:.7s}
.hsl-slide--split.is-on .hsl-bottom .hsl-trust{transition-delay:.85s}
/* Reduced Motion: Animationen abschalten */
@media (prefers-reduced-motion:reduce){
  .hsl-slide{transition:opacity .3s linear, visibility .3s !important;transform:none !important}
  .hsl-slide.is-on .hsl-bg img{animation:none !important;transform:scale(1) !important}
  .hsl-slide .hsl-content > *{transition:opacity .3s linear !important;transform:none !important;filter:none !important}
  .hsl-slide.is-on .hsl-overlay{transition:none !important}
}

/* Nav-Buttons */
.hsl-nav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:5;
  width:52px;height:52px;border-radius:50%;
  background:rgba(255,255,255,.15);color:#fff;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.25);font-size:18px;cursor:pointer;
  display:grid;place-items:center;transition:all var(--t-fast);
}
.hsl-nav:hover{background:var(--c-orange);border-color:var(--c-orange);transform:translateY(-50%) scale(1.08)}
.hsl-prev{left:32px} .hsl-next{right:32px}

/* Pagination-Dots */
.hsl-dots{
  position:absolute;left:0;right:0;bottom:32px;z-index:5;
  display:flex;justify-content:center;gap:10px;
}
.hsl-dots button{
  width:48px;height:4px;border-radius:99px;border:0;padding:0;cursor:pointer;
  background:rgba(255,255,255,.25);transition:background var(--t-fast);position:relative;overflow:hidden;
}
.hsl-dots button span{
  display:block;height:100%;background:var(--c-orange);width:0;
}
.hsl-dots button.is-on span{
  animation:dotProgress 6s linear forwards;
}
@keyframes dotProgress{from{width:0}to{width:100%}}
.hsl-dots button:hover{background:rgba(255,255,255,.4)}

/* Mobile */
@media(max-width:980px){
  .hero-slider{height:auto;min-height:520px;max-height:none}
  .hsl-content{padding-top:60px;padding-bottom:80px}
  .hsl-prev{left:16px} .hsl-next{right:16px}
  .hsl-nav{width:42px;height:42px}
}
@media(max-width:520px){
  .hsl-content .eyebrow{font-size:13px;padding:5px 12px}
  .hsl-cta{flex-direction:column;align-items:stretch}
  .hsl-cta .btn{justify-content:center}
  .hsl-dots button{width:32px}
}

/* Split-Layout für Slides (Top/Bottom-Verteilung) */
.hsl-slide--split .hsl-content{
  justify-content:space-between;
  padding-top:80px;padding-bottom:80px;
  align-items:flex-start;
}
.hsl-slide--split .hsl-top,
.hsl-slide--split .hsl-bottom{
  display:flex;flex-direction:column;align-items:flex-start;
}
.hsl-slide--split .hsl-headline{margin-bottom:0;white-space:nowrap;font-size:clamp(28px,4.5vw,52px)}
@media(max-width:680px){.hsl-slide--split .hsl-headline{white-space:normal;font-size:clamp(28px,8vw,40px)}}
.hsl-slide--split .hsl-bottom{gap:0}
.hsl-slide--split .hsl-sub{margin-top:0}

/* Default: Top/Bottom-Wrapper sind transparent (Layout durch flex-flow Standard) */
.hsl-content > .hsl-top,
.hsl-content > .hsl-bottom{display:contents}
.hsl-slide--split .hsl-content > .hsl-top,
.hsl-slide--split .hsl-content > .hsl-bottom{display:flex}

@media(max-width:980px){
  .hsl-slide--split .hsl-content{padding-top:100px;padding-bottom:100px}
}

/* Timeline-Logo-Variante: Tesla-Logo bei 2024 - kleiner, ungeschnitten, mittig zum Text */
.uu-timeline li:has(.uu-tl-img--logo) .uu-tl-content{align-items:center}
.uu-tl-img--logo{
  aspect-ratio:auto !important;
  background:#fff;
  display:flex;align-items:center;justify-content:center;
  padding:20px;
  height:100%;min-height:120px;
}
.uu-tl-img--logo img{
  width:auto !important;height:auto !important;
  max-width:80%;max-height:90px;
  object-fit:contain !important;
  transform:none !important;
}
.uu-timeline li:hover .uu-tl-img--logo img{transform:none !important}

/* Caption im Lightbox-Stage */
.al-lb-cap{
  margin-top:14px;text-align:center;color:rgba(255,255,255,.85);
  font-size:14px;max-width:80vw;
}

/* ====================================================================
 * Werkstatttermin-Formular
 * ================================================================ */
.wt-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:48px;align-items:start}
@media(max-width:980px){.wt-grid{grid-template-columns:1fr;gap:32px}}

.wt-form-wrap{background:#fff;border:1px solid var(--c-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);padding:40px 44px;scroll-margin-top:140px}
@media(max-width:680px){.wt-form-wrap{padding:24px}}
.wt-form-h2{font-size:30px;color:var(--c-blue-d);margin:0 0 8px;font-weight:700}
.wt-form-sub{color:var(--c-text-mute);font-size:15px;margin:0 0 28px}
.wt-form-sub em,.wt-field span em{color:var(--c-orange);font-style:normal;font-weight:700}

.wt-fs{border:0;padding:0;margin:0 0 28px}
.wt-fs legend{font-size:13px;text-transform:uppercase;letter-spacing:1.6px;color:var(--c-blue);font-weight:700;margin:0 0 14px;padding:0;display:block;border-bottom:2px solid var(--c-blue-50);padding-bottom:8px;width:100%}

.wt-services{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media(max-width:680px){.wt-services{grid-template-columns:1fr 1fr}}
.wt-services label{position:relative;cursor:pointer}
.wt-services input{position:absolute;opacity:0;pointer-events:none}
.wt-services span{display:block;padding:12px 14px;border:1.5px solid var(--c-line);border-radius:10px;font-size:13.5px;font-weight:500;text-align:center;transition:all .15s;background:#fff}
.wt-services label:hover span{border-color:var(--c-blue);color:var(--c-blue)}
.wt-services input:checked + span{border-color:var(--c-orange);background:var(--c-orange-50);color:var(--c-orange);font-weight:600}
.wt-services input:focus-visible + span{outline:2px solid var(--c-orange);outline-offset:2px}

.wt-row{display:grid;gap:16px;margin-bottom:14px}
.wt-row--2{grid-template-columns:1fr 1fr}
.wt-row--3{grid-template-columns:1fr 1fr 1fr}
@media(max-width:680px){.wt-row--2,.wt-row--3{grid-template-columns:1fr}}

.wt-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.wt-field span{font-size:13px;font-weight:600;color:var(--c-blue-d);letter-spacing:.2px}
.wt-field input,.wt-field select,.wt-field textarea{
  width:100%;padding:12px 14px;border:1.5px solid var(--c-line);border-radius:10px;
  font-size:15px;font-family:inherit;background:#fff;color:var(--c-text);
  transition:border-color .15s, box-shadow .15s;
}
.wt-field input:focus,.wt-field select:focus,.wt-field textarea:focus{outline:0;border-color:var(--c-blue);box-shadow:0 0 0 3px rgba(43,91,176,.15)}
.wt-field textarea{resize:vertical;min-height:90px;font-family:inherit}

.wt-check{display:flex;gap:12px;align-items:flex-start;font-size:13.5px;color:var(--c-text-mute);line-height:1.5;cursor:pointer;padding:12px 0}
.wt-check input{margin-top:3px;flex-shrink:0;width:18px;height:18px;accent-color:var(--c-orange)}
.wt-check a{color:var(--c-blue);text-decoration:underline}

.wt-submit{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:24px;padding-top:24px;border-top:1px solid var(--c-line);flex-wrap:wrap}
.wt-note{margin:0;font-size:14px;color:var(--c-text-mute)}
.wt-note a{color:var(--c-orange);font-weight:600}

.wt-success{text-align:center;padding:40px 20px}

.wt-side{display:flex;flex-direction:column;gap:20px;position:sticky;top:140px}
@media(max-width:980px){.wt-side{position:static}}
.wt-card{background:#fff;border:1px solid var(--c-line);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-1)}
.wt-card h3{margin:0 0 14px;font-size:14px;text-transform:uppercase;letter-spacing:1.6px;color:var(--c-blue);font-weight:700}
.wt-call{display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 18px;background:var(--c-orange);color:#fff;border-radius:12px;font-weight:500;font-size:17px;letter-spacing:.3px;transition:background .15s}
.wt-call svg{width:20px;height:20px;flex-shrink:0}
.wt-call strong{font-weight:600}
.wt-call:hover{background:#b53e00}
.wt-loc{padding:14px 0;border-bottom:1px solid var(--c-line)}
.wt-loc:last-child{border-bottom:0;padding-bottom:0}
.wt-loc:first-of-type{padding-top:0}
.wt-loc strong{display:block;color:var(--c-blue-d);font-size:14.5px;margin-bottom:4px}
.wt-loc span{display:block;color:var(--c-text-mute);font-size:13px;margin-bottom:6px}
.wt-loc a{color:var(--c-orange);font-size:13px;font-weight:600}
.wt-hours{width:100%;border-collapse:collapse;font-size:14px}
.wt-hours td{padding:6px 0;color:var(--c-text)}
.wt-hours td:first-child{color:var(--c-blue-d);font-weight:600;width:90px}
.wt-trust ul{list-style:none;padding:0;margin:0}
.wt-trust li{display:flex;gap:10px;align-items:center;padding:6px 0;font-size:14px;color:var(--c-text)}
.wt-trust svg{width:18px;height:18px;color:var(--c-orange);flex-shrink:0}

.wt-flow{margin-top:80px;padding:60px 32px;border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--c-blue-50) 0%,#fff 60%,var(--c-orange-50) 100%);position:relative;overflow:hidden}
.wt-flow::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(219,76,0,.06),transparent 40%);pointer-events:none}
.wt-flow h2{font-size:36px;color:var(--c-blue-d);text-align:center;margin:0 0 12px;font-weight:800;letter-spacing:-.5px;position:relative}
.wt-flow > p{text-align:center;color:var(--c-text-mute);font-size:16px;margin:0 auto 48px;max-width:560px;position:relative}
.wt-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:wtstep;position:relative}
/* Verbindungslinie zwischen den Steps (Desktop) */
.wt-steps::before{
  content:"";position:absolute;top:46px;left:8%;right:8%;height:2px;
  background:repeating-linear-gradient(90deg,var(--c-orange) 0 6px,transparent 6px 12px);
  z-index:0;opacity:.55;
}
@media(max-width:980px){.wt-steps{grid-template-columns:1fr 1fr;gap:20px}.wt-steps::before{display:none}}
@media(max-width:560px){.wt-steps{grid-template-columns:1fr;gap:14px}}
.wt-steps li{
  background:#fff;border:1px solid rgba(26,58,114,.08);
  border-radius:var(--radius-lg);padding:32px 24px 24px;
  box-shadow:0 2px 8px rgba(26,58,114,.04),0 12px 32px rgba(26,58,114,.06);
  display:flex;flex-direction:column;gap:10px;position:relative;z-index:1;
  transition:transform var(--t-base),box-shadow var(--t-base);
  text-align:center;
}
.wt-steps li:hover{transform:translateY(-6px);box-shadow:0 4px 12px rgba(26,58,114,.06),0 24px 48px rgba(26,58,114,.12)}
.wt-step-num{
  width:64px;height:64px;border-radius:50%;
  background:linear-gradient(135deg,var(--c-orange) 0%,#ff7a2e 100%);
  color:#ffffff !important;
  font-weight:900;font-size:30px;line-height:1;
  display:grid;place-items:center;margin:0 auto 12px;
  box-shadow:0 8px 20px rgba(219,76,0,.35),inset 0 -3px 0 rgba(0,0,0,.12);
  border:3px solid #fff;
  font-family:var(--font-sans);font-variant-numeric:tabular-nums;
  letter-spacing:-.5px;padding-bottom:2px;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  -webkit-text-stroke:0.3px #ffffff;
  text-rendering:geometricPrecision;
}
.wt-steps strong{color:var(--c-blue-d);font-size:17px;font-weight:700;letter-spacing:-.2px}
.wt-steps span{color:var(--c-text-mute);font-size:14px;line-height:1.6}
.wt-steps li:last-child .wt-step-num{
  background:linear-gradient(135deg,var(--c-blue) 0%,#1a3a72 100%);
  box-shadow:0 8px 20px rgba(43,91,176,.35),inset 0 -3px 0 rgba(0,0,0,.12);
}
.wt-steps li:last-child::after{
  content:"✓";position:absolute;top:14px;right:14px;
  width:28px;height:28px;border-radius:50%;background:var(--c-orange);color:#fff;
  font-weight:800;font-size:14px;display:grid;place-items:center;
  box-shadow:0 4px 10px rgba(219,76,0,.4);
}

/* ====================================================================
 * Werkstatttermin - Trust-Strip + Mini-Reviews
 * ================================================================ */
.wt-trust-strip{padding:0;margin-top:-32px;margin-bottom:-16px;position:relative;z-index:5}
.wts-row{
  display:flex;align-items:center;gap:18px;flex-wrap:wrap;
  background:#fff;border:1px solid var(--c-line);border-radius:999px;
  padding:14px 28px;box-shadow:0 6px 24px rgba(26,58,114,.08);
  max-width:760px;margin:0 auto;
}
.wts-google{display:inline-flex;align-items:center;gap:8px;color:var(--c-blue-d);font-size:14px}
.wts-google strong{font-weight:700}
.wts-rating{font-size:22px;font-weight:800;color:var(--c-blue-d);letter-spacing:-.5px}
.wts-stars{display:inline-flex;gap:1px;font-size:18px;color:#fbbc05;letter-spacing:1px}
.wts-stars .al-rev-star{color:#e6eaf0}
.wts-stars .al-rev-star.is-on{color:#fbbc05}
.wts-count{font-size:13.5px;color:var(--c-text-mute);flex:1;min-width:0}
.wts-count strong{color:var(--c-blue-d);font-weight:700}
.wts-link{font-size:13px;color:var(--c-orange);font-weight:700;letter-spacing:.3px;white-space:nowrap}
.wts-link:hover{text-decoration:underline}
@media(max-width:680px){.wts-row{padding:14px 20px;border-radius:18px;justify-content:center;text-align:center}.wts-count{flex:0 0 100%;text-align:center}}

.wt-reviews{margin-top:80px}
.wt-reviews-head{text-align:center;margin-bottom:36px}
.wt-reviews-head h2{font-size:32px;color:var(--c-blue-d);margin:8px 0 10px;font-weight:800;letter-spacing:-.4px}
.wt-reviews-head p{color:var(--c-text-mute);font-size:15px;margin:0}
.wt-reviews-head p strong{color:var(--c-blue-d);font-weight:700}
.wt-reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:980px){.wt-reviews-grid{grid-template-columns:1fr 1fr;gap:16px}}
@media(max-width:680px){.wt-reviews-grid{grid-template-columns:1fr}}
.wt-rev{
  background:#fff;border:1px solid var(--c-line);border-radius:var(--radius-lg);
  padding:24px 22px;margin:0;box-shadow:var(--shadow-1);
  display:flex;flex-direction:column;gap:12px;position:relative;
  transition:transform var(--t-base),box-shadow var(--t-base);
}
.wt-rev::before{
  content:""""";position:absolute;top:-18px;left:18px;
  font-size:80px;font-family:Georgia,serif;color:var(--c-orange);
  line-height:1;opacity:.18;font-weight:700;
}
.wt-rev:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(26,58,114,.12)}
.wt-rev-stars{font-size:16px;color:#fbbc05;letter-spacing:1px;line-height:1}
.wt-rev-stars .al-rev-star{color:#e6eaf0}
.wt-rev-stars .al-rev-star.is-on{color:#fbbc05}
.wt-rev p{margin:0;font-size:14.5px;line-height:1.65;color:var(--c-text);font-style:italic}
.wt-rev footer{margin-top:auto;padding-top:12px;border-top:1px solid var(--c-line);display:flex;flex-direction:column;gap:2px}
.wt-rev footer strong{font-size:14px;color:var(--c-blue-d);font-weight:700;font-style:normal}
.wt-rev footer span{font-size:12.5px;color:var(--c-text-mute)}

/* Wenn wt-flow VOR dem Formular steht */
.wt-flow.wt-flow--top{margin-top:24px;margin-bottom:48px}
.wt-flow-cta{
  display:inline-flex;align-items:center;gap:10px;
  margin:32px auto 0;padding:16px 32px;
  background:var(--c-orange);color:#fff;border-radius:999px;
  font-weight:700;font-size:14px;letter-spacing:.7px;text-transform:uppercase;
  box-shadow:0 10px 28px rgba(219,76,0,.30);
  transition:transform var(--t-base),box-shadow var(--t-base);
  position:relative;
}
.wt-flow-cta .arrow{font-size:18px;line-height:1}
.wt-flow-cta:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(219,76,0,.40)}
.wt-flow.wt-flow--top{display:flex;flex-direction:column}
.wt-flow.wt-flow--top > h2,.wt-flow.wt-flow--top > p,.wt-flow.wt-flow--top > ol{align-self:center;width:100%}
.wt-flow.wt-flow--top > .wt-flow-cta{align-self:center}

/* ====================================================================
 * Leasing & Finanzierung - 3-Karten + Download-Box
 * ================================================================ */
.lf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:48px}
@media(max-width:980px){.lf-grid{grid-template-columns:1fr;gap:18px}}
.lf-card{
  background:#fff;border:1px solid var(--c-line);border-radius:var(--radius-lg);
  padding:32px 28px;box-shadow:var(--shadow-1);position:relative;
  transition:transform var(--t-base),box-shadow var(--t-base);
  display:flex;flex-direction:column;gap:14px;
}
.lf-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-3)}
.lf-card--highlight{border:2px solid var(--c-orange);box-shadow:0 12px 32px rgba(219,76,0,.12)}
.lf-card--highlight:hover{box-shadow:0 18px 48px rgba(219,76,0,.18)}
.lf-badge{
  position:absolute;top:-12px;right:20px;
  background:var(--c-orange);color:#fff;
  padding:6px 14px;border-radius:999px;
  font-size:11.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;
  box-shadow:0 6px 14px rgba(219,76,0,.30);
}
.lf-icon{width:60px;height:60px;border-radius:14px;display:grid;place-items:center;flex-shrink:0}
.lf-icon svg{width:30px;height:30px}
.lf-card h3{margin:0;font-size:22px;color:var(--c-blue-d);font-weight:700;letter-spacing:-.3px}
.lf-card > p{margin:0;color:var(--c-text-mute);font-size:14.5px;line-height:1.6}
.lf-bullets{list-style:none;padding:0;margin:auto 0 0;display:flex;flex-direction:column;gap:8px}
.lf-bullets li{padding:6px 0 6px 28px;position:relative;font-size:14px;color:var(--c-text)}
.lf-bullets li::before{
  content:"";position:absolute;left:0;top:9px;
  width:18px;height:18px;border-radius:50%;
  background:var(--c-orange-50);
  background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23db4c00" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg>');
  background-size:11px 11px;background-position:center;background-repeat:no-repeat;
}

/* Download-Box */
.lf-download{
  display:grid;grid-template-columns:80px 1fr auto;gap:24px;align-items:center;
  background:linear-gradient(135deg,#1a3a72 0%,#2b5bb0 100%);
  color:#fff;padding:32px 36px;border-radius:var(--radius-lg);
  box-shadow:0 18px 44px rgba(26,58,114,.18);position:relative;overflow:hidden;
}
.lf-download::before{content:"";position:absolute;top:-80px;right:-80px;width:280px;height:280px;background:rgba(219,76,0,.20);border-radius:50%;filter:blur(40px);pointer-events:none}
@media(max-width:880px){.lf-download{grid-template-columns:1fr;text-align:center;padding:28px 24px}.lf-dl-actions{flex-direction:column;width:100%}.lf-dl-actions .btn{width:100%}}
.lf-dl-icon{
  width:80px;height:80px;border-radius:18px;background:rgba(255,255,255,.12);
  display:grid;place-items:center;flex-shrink:0;color:#ff9a4a;
  border:1px solid rgba(255,255,255,.18);
}
.lf-dl-icon svg{width:40px;height:40px}
.lf-dl-text .eyebrow{color:#ff9a4a;margin-bottom:6px}
.lf-dl-text .eyebrow:before,.lf-dl-text .eyebrow:after{background:#ff9a4a}
.lf-dl-text h3{margin:0 0 6px;font-size:22px;color:#fff;font-weight:700;letter-spacing:-.3px}
.lf-dl-text p{margin:0;font-size:14.5px;color:rgba(255,255,255,.85);line-height:1.6}
.lf-dl-text a{color:#ff9a4a;font-weight:600;text-decoration:underline}
.lf-dl-actions{display:flex;gap:10px;flex-wrap:wrap;position:relative;z-index:1}
.lf-dl-actions .btn--ghost{border-color:rgba(255,255,255,.4);color:#fff}
.lf-dl-actions .btn--ghost:hover{background:rgba(255,255,255,.12)}

/* ====================================================================
 * Wunschfahrzeug - Hero + Form-Range
 * ================================================================ */
.wf-hero{position:relative;color:#fff;padding:calc(var(--topbar-h) + var(--header-h) + 50px) 0 80px;overflow:hidden;min-height:560px;display:flex;align-items:center}
.wf-hero-bg{position:absolute;inset:0;z-index:0}
.wf-hero-bg img{width:100%;height:100%;object-fit:cover;display:block}
.wf-hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(26,58,114,.92) 0%,rgba(43,91,176,.78) 60%,rgba(219,76,0,.55) 100%);z-index:1}
.wf-hero-content{position:relative;z-index:2;max-width:760px}
.wf-hero-content .eyebrow{color:#ff9a4a}
.wf-hero-content .eyebrow:before,.wf-hero-content .eyebrow:after{background:#ff9a4a}
.wf-hero h1{color:#fff;font-size:clamp(36px,5.5vw,64px);margin-bottom:20px;letter-spacing:-.03em}
.wf-hero h1 em{color:#ff9a4a}
.wf-hero .lead{color:rgba(255,255,255,.92);font-size:18px;max-width:600px;margin-bottom:30px}
.wf-hero .lead strong{color:#ff9a4a}
.wf-hero-trust{display:flex;gap:32px;margin:30px 0 36px;flex-wrap:wrap}
.wf-hero-trust > div{display:flex;flex-direction:column;gap:2px}
.wf-hero-trust strong{font-size:22px;color:#fff;font-weight:700;letter-spacing:-.3px}
.wf-hero-trust span{font-size:13px;color:rgba(255,255,255,.7);text-transform:uppercase;letter-spacing:.6px}

.wf-form-wrap{
  background:#fff;border:1px solid var(--c-line);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-1);padding:44px 48px;
  max-width:840px;margin:0 auto;scroll-margin-top:140px;
}
@media(max-width:680px){.wf-form-wrap{padding:24px 22px}}

/* Range-Slider */
.wf-range{margin:18px 0}
.wf-range > label{display:block;font-size:13px;font-weight:600;color:var(--c-blue-d);letter-spacing:.2px;margin-bottom:8px;text-transform:uppercase}
.wf-range > label em{color:var(--c-text-mute);font-style:normal;font-weight:400;text-transform:none;letter-spacing:0}
.wf-range-row{display:flex;align-items:center;gap:18px}
.wf-range input[type=range]{flex:1;height:6px;-webkit-appearance:none;appearance:none;background:var(--c-line);border-radius:3px;outline:none;cursor:pointer}
.wf-range input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:var(--c-orange);border:3px solid #fff;box-shadow:0 4px 10px rgba(219,76,0,.4);cursor:pointer;transition:transform .15s}
.wf-range input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.1)}
.wf-range input[type=range]::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:var(--c-orange);border:3px solid #fff;box-shadow:0 4px 10px rgba(219,76,0,.4);cursor:pointer}
.wf-range-val{
  min-width:130px;text-align:right;
  font-size:16px;font-weight:700;color:var(--c-blue-d);
  font-variant-numeric:tabular-nums;
  background:var(--c-orange-50);padding:8px 14px;border-radius:8px;
}

/* ====================================================================
 * Gewährleistung & Garantie
 * ================================================================ */
.gw-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:48px}
@media(max-width:880px){.gw-facts{grid-template-columns:1fr 1fr;gap:14px}}
@media(max-width:480px){.gw-facts{grid-template-columns:1fr}}
.gw-fact{
  background:#fff;border:1px solid var(--c-line);border-radius:var(--radius-lg);
  padding:24px 20px;text-align:center;box-shadow:var(--shadow-1);
  transition:transform var(--t-base),box-shadow var(--t-base);
}
.gw-fact:hover{transform:translateY(-4px);box-shadow:var(--shadow-3)}
.gw-fact-num{
  font-size:42px;font-weight:800;color:var(--c-blue-d);
  line-height:1;letter-spacing:-1px;margin-bottom:8px;
  font-variant-numeric:tabular-nums;
}
.gw-fact-num small{font-size:14px;font-weight:600;color:var(--c-text-mute);letter-spacing:0;margin-left:4px}
.gw-fact p{margin:0;font-size:13.5px;color:var(--c-text-mute);line-height:1.5}
.gw-fact--orange{background:linear-gradient(135deg,var(--c-orange) 0%,#ff7a2e 100%);color:#fff;border-color:transparent;box-shadow:0 12px 28px rgba(219,76,0,.20)}
.gw-fact--orange .gw-fact-num{color:#fff}
.gw-fact--orange .gw-fact-num small{color:rgba(255,255,255,.85)}
.gw-fact--orange p{color:rgba(255,255,255,.92)}

.gw-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media(max-width:880px){.gw-grid{grid-template-columns:1fr;gap:18px}}
.gw-card{
  background:#fff;border:1px solid var(--c-line);border-radius:var(--radius-lg);
  padding:36px 32px;box-shadow:var(--shadow-1);
  display:flex;flex-direction:column;gap:18px;
  transition:transform var(--t-base),box-shadow var(--t-base);
}
.gw-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-3)}
.gw-card--featured{
  background:linear-gradient(180deg,#fff 0%,#fff8f3 100%);
  border:2px solid var(--c-orange);
  box-shadow:0 16px 40px rgba(219,76,0,.10);
}
.gw-card-h{padding-bottom:18px;border-bottom:1px solid var(--c-line)}
.gw-tag{
  display:inline-block;padding:5px 14px;border-radius:999px;
  font-size:11px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;margin-bottom:14px;
}
.gw-tag--orange{background:var(--c-orange);color:#fff}
.gw-card h2{margin:0 0 8px;font-size:30px;color:var(--c-blue-d);font-weight:800;letter-spacing:-.5px;line-height:1.1}
.gw-card h2 em{color:var(--c-orange);font-style:normal}
.gw-card-h p{margin:0;color:var(--c-text-mute);font-size:14.5px}
.gw-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}
.gw-list li{padding:8px 0 8px 32px;position:relative;font-size:14.5px;line-height:1.55;color:var(--c-text)}
.gw-list li::before{
  content:"";position:absolute;left:0;top:11px;
  width:20px;height:20px;border-radius:50%;
  background:var(--c-orange-50);
  background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23db4c00" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg>');
  background-size:12px 12px;background-position:center;background-repeat:no-repeat;
}
.gw-card strong{color:var(--c-blue-d);font-weight:700}
.gw-card-foot{margin-top:auto;padding-top:18px;border-top:1px solid var(--c-line);display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.gw-card-foot small{font-size:13px;color:var(--c-text-mute);line-height:1.55;flex:1;min-width:200px}
.gw-card-link{color:var(--c-orange);font-size:13px;font-weight:700;letter-spacing:.3px;white-space:nowrap}

/* Trust-Strip */
.gw-trust{
  display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;
  background:var(--c-blue-d);color:#fff;
  padding:28px 36px;border-radius:var(--radius-lg);
  position:relative;overflow:hidden;
}
.gw-trust::before{content:"";position:absolute;top:-100px;right:-100px;width:300px;height:300px;background:rgba(219,76,0,.18);border-radius:50%;filter:blur(40px);pointer-events:none}
@media(max-width:880px){.gw-trust{grid-template-columns:1fr;text-align:center;padding:24px 22px}.gw-trust-cta .btn{width:100%}}
.gw-trust-icon{width:72px;height:72px;border-radius:18px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.15);display:grid;place-items:center;color:#ff9a4a;flex-shrink:0;position:relative;z-index:1}
.gw-trust-icon svg{width:36px;height:36px}
.gw-trust-text{position:relative;z-index:1}
.gw-trust-text h3{margin:0 0 6px;font-size:22px;font-weight:700;letter-spacing:-.3px;color:#fff}
.gw-trust-text p{margin:0;color:rgba(255,255,255,.85);font-size:14.5px;line-height:1.6}
.gw-trust-text strong{color:#ff9a4a;font-weight:700}

/* Car-Card Placeholder (wenn Auto-Bild noch nicht aus Autrado synchronisiert) */
.car-card-img--placeholder{background:linear-gradient(135deg,var(--c-blue-50) 0%,#fff 100%);position:relative}
.car-card-noimg{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:10px;color:var(--c-blue);
}
.car-card-noimg svg{width:64px;height:64px;opacity:.7}
.car-card-noimg span{font-size:13px;font-weight:600;letter-spacing:.4px;color:var(--c-text-mute);text-transform:uppercase}

/* AGB-Listen */
.legal-content ol.agb-list{padding-left:0;list-style:none;counter-reset:agb;margin:18px 0}
.legal-content ol.agb-list li{
  counter-increment:agb;position:relative;padding:14px 14px 14px 56px;
  border-left:3px solid var(--c-orange-50);
  background:linear-gradient(90deg,#fafbfd 0%,#fff 100%);
  margin-bottom:12px;border-radius:0 8px 8px 0;
  font-size:14.5px;line-height:1.65;color:var(--c-text);
  transition:all var(--t-fast);
}
.legal-content ol.agb-list li:hover{border-left-color:var(--c-orange);background:linear-gradient(90deg,var(--c-orange-50) 0%,#fff 100%)}
.legal-content ol.agb-list li::before{
  content:counter(agb);position:absolute;left:14px;top:14px;
  width:30px;height:30px;border-radius:50%;background:var(--c-orange);color:#fff;
  display:grid;place-items:center;font-weight:700;font-size:13px;
  font-variant-numeric:tabular-nums;
}

/* ====================================================================
 * Öffnungszeiten-Card (kontakt.html)
 * ================================================================ */
.hours-card{
  background:#fff;border:1px solid var(--c-line);border-radius:14px;
  padding:18px 20px 8px;margin:18px 0 20px;
  box-shadow:0 4px 14px rgba(26,58,114,.05);
  overflow:hidden;
}
.hours-card-h{
  display:flex;justify-content:space-between;align-items:center;
  padding-bottom:12px;border-bottom:1px solid var(--c-line);margin-bottom:8px;flex-wrap:wrap;gap:8px;
}
.hours-card-h h4{margin:0;font-size:14px;color:var(--c-blue-d);font-weight:700;text-transform:uppercase;letter-spacing:1px;display:flex;align-items:center;gap:8px}
.hours-card-h h4 svg{width:16px;height:16px;color:var(--c-orange)}
.hours-status{
  display:inline-flex;align-items:center;gap:6px;
  font-size:12px;font-weight:600;padding:5px 10px;border-radius:999px;letter-spacing:.2px;
}
.hours-status.is-open{background:#e8f5ee;color:#0f7a3e}
.hours-status.is-closed{background:#fdecec;color:#a62121}
.hours-list{list-style:none;padding:0;margin:0}
.hours-list li{
  display:flex;justify-content:space-between;align-items:center;
  padding:9px 4px;border-bottom:1px dashed rgba(26,58,114,.08);
  font-size:14px;transition:background .15s;
}
.hours-list li:last-child{border-bottom:0}
.hours-list .hd{color:var(--c-blue-d);font-weight:600}
.hours-list .ht{color:var(--c-text-mute);font-variant-numeric:tabular-nums}
.hours-list .hours-row--alt .ht{font-style:italic}
.hours-list .hours-row--closed .ht{color:#a62121}
.hours-list li.is-today{
  background:linear-gradient(90deg,var(--c-orange-50) 0%,#fff 100%);
  margin:0 -10px;padding:9px 14px;border-radius:8px;border-bottom-style:solid;border-bottom-color:var(--c-orange-50);
  position:relative;
}
.hours-list li.is-today::before{
  content:"Heute";position:absolute;top:50%;left:-2px;transform:translateY(-50%);
  background:var(--c-orange);color:#fff;font-size:9px;font-weight:700;
  padding:2px 6px;border-radius:3px;letter-spacing:.6px;text-transform:uppercase;
}
.hours-list li.is-today .hd{padding-left:38px;color:var(--c-orange)}
.hours-list li.is-today .ht{color:var(--c-blue-d);font-weight:600}

/* Footer Region-Strip - Lokale Landing-Pages prominent verlinkt */
.footer-region{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;
  padding:20px 0 18px;margin-top:24px;
  border-top:1px solid rgba(255,255,255,.10);
}
.footer-region-label{
  font-size:11px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;
  color:#ff9a4a;flex-shrink:0;margin-right:6px;
}
.footer-region a{
  display:inline-flex;align-items:center;
  font-size:12.5px;color:rgba(255,255,255,.78);
  padding:6px 12px;border:1px solid rgba(255,255,255,.14);border-radius:999px;
  transition:all var(--t-fast);white-space:nowrap;text-decoration:none;
}
.footer-region a:hover{
  background:var(--c-orange);color:#fff;border-color:var(--c-orange);
  transform:translateY(-1px);
}
@media(max-width:680px){
  .footer-region-label{flex:1 0 100%;margin:0 0 8px}
  .footer-region a{font-size:12px;padding:5px 10px}
}

/* ====================================================================
 * MOBILE-OPTIMIERUNG · Comprehensive Pass v2
 * Touch-Targets, Spacing, Forms, Tables, iOS-Zoom-Prevention
 * ================================================================ */

/* iOS verhindert Zoom auf focused Inputs nur wenn font-size ≥16px */
@media(max-width:980px){
  input[type=text],input[type=email],input[type=tel],input[type=password],
  input[type=number],input[type=url],input[type=date],input[type=time],
  input[type=search],select,textarea{
    font-size:16px !important;
  }
}

/* ============================================================
 * GLOBAL Mobile Spacing & Containers
 * ============================================================ */
@media(max-width:680px){
  :root{--header-h:80px}
  .container{padding:0 18px}
  .container--narrow{padding:0 18px}
  body{font-size:15.5px;line-height:1.6}
  h1{font-size:clamp(28px,7.5vw,42px) !important;line-height:1.1;letter-spacing:-.025em}
  h2{font-size:clamp(22px,5vw,32px);line-height:1.15}
  h3{font-size:18px;line-height:1.25}
  .lead{font-size:16px}
  .eyebrow{font-size:10.5px;letter-spacing:2.5px;gap:10px}
}
@media(max-width:480px){
  .container{padding:0 14px}
  .container--narrow{padding:0 14px}
  h1{font-size:clamp(26px,8vw,38px) !important}
  h2{font-size:clamp(20px,6vw,28px)}
}

/* ============================================================
 * Section Padding Mobile-Reduktion
 * ============================================================ */
@media(max-width:680px){
  .section{padding:64px 0}
  .section--tight{padding:48px 0}
  .brands{padding:48px 0}
  .gr-section{padding:64px 0}
  .showcase-section{padding:24px 0 64px}
  .page-hero{padding:calc(var(--topbar-h) + var(--header-h) + 32px) 0 56px !important}
}
@media(max-width:480px){
  .section{padding:48px 0}
  .section--tight{padding:36px 0}
}

/* ============================================================
 * BUTTONS: 44px Mindesthöhe (Apple Touch Guidelines)
 * ============================================================ */
@media(max-width:680px){
  .btn{padding:14px 24px;min-height:46px;font-size:13px}
  .btn--lg{padding:16px 26px;min-height:52px;font-size:14px}
  .btn--sm{padding:10px 18px;min-height:40px}
  .btn-row{flex-direction:column;width:100%;gap:10px}
  .btn-row .btn{width:100%}
}

/* ============================================================
 * HEADER & NAV
 * ============================================================ */
@media(max-width:980px){
  .topbar{display:none}
}
@media(max-width:680px){
  .header-row{padding:0 4px}
  .brand-logo-img{height:48px !important}
  .site-header.is-scrolled .brand-logo-img{height:40px !important}
  .burger{width:48px;height:48px;min-height:48px}
  .burger svg{width:26px;height:26px}
  .header-cta{display:none}
}

/* Mobile-Menu small-screen tweaks (Hauptstil siehe oben in der Mobile-menu-Sektion) */
@media(max-width:380px){
  .mob-menu{padding:76px 18px 32px}
  .mob-menu nav a:not(.mob-sub){font-size:17px}
  .mob-menu nav .mob-sub{font-size:14px !important;padding-left:30px !important}
}

/* ============================================================
 * HERO-STATS Mobile
 * ============================================================ */
@media(max-width:680px){
  .hero-stats{padding:0 14px;margin-top:-32px}
  .hero-stats-card{
    grid-template-columns:1fr 1fr !important;
    padding:20px 18px !important;gap:18px 20px;
    border-radius:14px;
  }
  .hero-stat .num{font-size:clamp(26px,7vw,36px)}
  .hero-stat .lbl{font-size:11px;letter-spacing:.4px}
}

/* ============================================================
 * FOOTER Mobile
 * ============================================================ */
@media(max-width:980px){
  .footer-grid{
    grid-template-columns:1fr 1fr !important;gap:36px 24px !important;
    margin-bottom:36px;
  }
  .footer-brand{grid-column:1/-1}
}
@media(max-width:680px){
  .site-footer{padding:48px 0 24px}
  .footer-grid{grid-template-columns:1fr !important;gap:32px !important}
  .footer-brand .brand-logo-img{height:64px !important;margin:0 0 18px -10px !important}
  .footer-badges{flex-direction:row !important;flex-wrap:wrap}
  .footer-badges img.badge-tesla{width:200px}
  .footer-badges img.badge-meister{width:200px}
  .footer-region{padding:18px 0;margin-top:8px}
  .footer-region a{font-size:11.5px;padding:5px 10px}
  .footer-bottom{flex-direction:column;gap:14px;text-align:center;padding:16px 0 0}
  .footer-legal{justify-content:center;flex-wrap:wrap;gap:10px 18px}
}

/* ============================================================
 * FORMS Mobile
 * ============================================================ */
@media(max-width:680px){
  .wt-form-wrap,.wf-form-wrap{padding:24px 18px !important;border-radius:12px}
  .wt-fs legend{font-size:12px;padding-bottom:6px;margin-bottom:12px}
  .wt-services{grid-template-columns:1fr 1fr !important}
  .wt-services span{padding:11px 10px;font-size:13px;min-height:46px;display:flex;align-items:center;justify-content:center}
  .wt-row,.wt-row--2,.wt-row--3{grid-template-columns:1fr !important}
  .wt-submit{flex-direction:column;align-items:stretch;gap:12px}
  .wt-submit .btn{width:100%}
  .wt-note{text-align:center}
  .wf-range-row{flex-direction:column;gap:10px;align-items:stretch}
  .wf-range-val{min-width:auto;text-align:center}
}

/* ============================================================
 * IFRAMES (Maps) responsive
 * ============================================================ */
iframe{max-width:100%;display:block}
.map-card iframe{width:100%;height:100%;border:0;display:block}
@media(max-width:680px){
  .map-card{height:240px !important}
  .gr-map iframe{height:280px}
}

/* ============================================================
 * TABLES - auf Mobile horizontal scrollbar
 * ============================================================ */
@media(max-width:680px){
  table:not(.adm-table):not(.wt-hours):not(.hours-list){
    display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;
    white-space:nowrap;
  }
}

/* ============================================================
 * CARS-Grid Mobile
 * ============================================================ */
@media(max-width:680px){
  .cars-grid{grid-template-columns:1fr !important;gap:14px}
  .car-card-img{aspect-ratio:16/10 !important}
  .car-card-specs{gap:6px 14px;font-size:12.5px}
  .car-card-foot{flex-direction:column;align-items:stretch;gap:12px}
  .car-card-price strong{font-size:22px}
  .car-card-foot .btn{width:100%}
}

/* ============================================================
 * SLIDER Hero Mobile
 * ============================================================ */
@media(max-width:680px){
  .hero-slider{min-height:540px}
  .hsl-slide{padding:calc(var(--topbar-h) + var(--header-h) + 32px) 0 100px}
  .hsl-headline{font-size:clamp(28px,7.5vw,40px) !important;margin-bottom:14px !important}
  .hsl-sub{font-size:14.5px;line-height:1.55;margin:0 0 22px}
  .hsl-cta{flex-direction:column;width:100%;gap:10px}
  .hsl-cta .btn{width:100%}
  .hsl-trust{flex-wrap:wrap;font-size:12px;gap:6px}
  .hsl-nav{width:38px;height:38px;font-size:18px}
  .hsl-prev{left:8px}.hsl-next{right:8px}
  .hsl-dots{bottom:14px;gap:6px}
}

/* ============================================================
 * NEWS-Cards & Service-Cards Mobile
 * ============================================================ */
@media(max-width:680px){
  .news-carousel ~ * .news-grid,.news-grid:not(.news-carousel > *){gap:18px}
  .svc-grid,.services-grid{grid-template-columns:1fr !important;gap:16px}
  .lf-grid{gap:14px}
  .lf-card{padding:24px 22px}
  .gw-grid{gap:16px}
  .gw-card{padding:24px 22px}
  .gw-facts{gap:12px}
  .gw-fact{padding:18px 14px}
  .gw-fact-num{font-size:30px}
  .wt-flow{padding:36px 18px;border-radius:14px}
  .wt-steps{gap:16px}
  .wt-steps li{padding:24px 18px}
  .wt-step-num{width:56px;height:56px;font-size:24px}
}

/* ============================================================
 * FAQ + Standort-Highlights Mobile
 * ============================================================ */
@media(max-width:680px){
  .faq-tabs{gap:6px;padding:0 4px}
  .faq-tabs button{font-size:12px;padding:8px 12px;min-height:40px}
  .faq-item summary{font-size:14.5px;padding:14px 36px 14px 14px}
  .faq-answer{padding:0 14px 14px;font-size:14px}
  .gr-grid{gap:18px}
  .gr-card{padding:22px 20px}
  .gr-snippets{gap:14px}
  .gr-rev{padding:14px 16px}
}

/* ============================================================
 * KONTAKT-Page Standort-Cards Mobile
 * ============================================================ */
@media(max-width:680px){
  .location-card{margin:0}
  .location-img{height:auto !important;aspect-ratio:16/9 !important;width:100%;background-size:cover !important;background-position:center !important}
  .location-body{padding:24px 18px}
  .location-rating{font-size:12.5px;flex-wrap:wrap}
  .location-cta{flex-direction:column;gap:10px}
  .location-cta .btn{width:100%}
}

/* ============================================================
 * Breadcrumb + Misc Mobile
 * ============================================================ */
@media(max-width:680px){
  .breadcrumb{font-size:11.5px;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:18px}
  .reveal-stagger > *{transition-delay:0s !important}
  .fab-wa{width:48px;height:48px;bottom:80px;right:14px}
  .fab-wa svg{width:24px;height:24px}
  .fab-top{width:42px;height:42px;bottom:80px;right:14px}
  .sticky-cta{padding:8px 6px;gap:6px}
  .sticky-cta-btn{font-size:11px;padding:8px 4px}
  .sticky-cta-btn svg{width:18px;height:18px}
  .sticky-cta-btn span{font-size:10px;letter-spacing:.3px}
}

/* ============================================================
 * Long-Word-Wrap Schutz
 * ============================================================ */
@media(max-width:680px){
  body,p,h1,h2,h3,h4,a{word-break:break-word;overflow-wrap:break-word;hyphens:auto}
  pre,code{white-space:pre-wrap;word-break:break-all}
}

/* ====================================================================
 * Standort-Card Öffnungszeiten (Home - kompakt)
 * ================================================================ */
.loc-hours{
  background:linear-gradient(180deg,#fafbfd 0%,#fff 100%);
  border:1px solid var(--c-line);border-radius:12px;
  padding:16px 18px 12px;margin:18px 0 22px;
}
.loc-hours-h{
  display:flex;justify-content:space-between;align-items:center;
  padding-bottom:10px;margin-bottom:6px;
  border-bottom:1px solid var(--c-line);flex-wrap:wrap;gap:8px;
}
.loc-hours-label{
  font-size:11px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;
  color:var(--c-blue-d);display:inline-flex;align-items:center;gap:6px;
}
.loc-hours-label::before{
  content:"";width:14px;height:14px;border-radius:50%;
  background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23db4c00" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></svg>') center/cover no-repeat;
}
.loc-hours-status{
  display:inline-flex;align-items:center;gap:5px;
  font-size:11.5px;font-weight:600;
  padding:4px 9px;border-radius:999px;letter-spacing:.1px;
}
.loc-hours-status.is-open{background:#e7f5ed;color:#0d8050}
.loc-hours-status.is-closed{background:#fdebeb;color:#a62121}
.loc-hours-list{list-style:none;padding:0;margin:0}
.loc-hours-list li{
  display:flex;justify-content:space-between;align-items:center;
  padding:7px 4px;font-size:13.5px;color:var(--c-text);
  border-bottom:1px dashed rgba(26,58,114,.06);
}
.loc-hours-list li:last-child{border-bottom:0}
.loc-hours-list li > span:first-child{color:var(--c-blue-d);font-weight:600}
.loc-hours-list li .t{color:var(--c-text-mute);font-variant-numeric:tabular-nums;font-size:13px}
.loc-hours-list li .t.alt{font-style:italic}
.loc-hours-list li .t.closed{color:#a62121}
.loc-hours-list li.is-today{
  background:linear-gradient(90deg,var(--c-orange-50) 0%,#fff 100%);
  margin:0 -10px;padding:7px 14px;border-radius:8px;
  border-bottom-color:var(--c-orange-50);position:relative;
}
.loc-hours-list li.is-today::before{
  content:"Heute";position:absolute;top:50%;left:-2px;transform:translateY(-50%);
  background:var(--c-orange);color:#fff;font-size:9px;font-weight:700;
  padding:2px 6px;border-radius:3px;letter-spacing:.5px;text-transform:uppercase;
}
.loc-hours-list li.is-today > span:first-child{padding-left:38px;color:var(--c-orange)}
.loc-hours-list li.is-today .t{color:var(--c-blue-d);font-weight:600;font-style:normal}

/* ====================================================================
 * Standort-Card Kontakt-Info (Home - Adresse / Telefon / E-Mail)
 * ================================================================ */
.loc-info{list-style:none;padding:0;margin:0 0 4px;display:flex;flex-direction:column;gap:0}
.loc-info li{
  display:flex;align-items:flex-start;gap:14px;
  padding:14px 0;border-bottom:1px solid var(--c-line);
  transition:padding-left var(--t-fast);
}
.loc-info li:last-child{border-bottom:0}
.loc-info li:hover{padding-left:4px}
.loc-info-ico{
  flex-shrink:0;display:grid;place-items:center;
  width:38px;height:38px;border-radius:10px;
  background:var(--c-orange-50);color:var(--c-orange);
  transition:all var(--t-fast);
}
.loc-info li:hover .loc-info-ico{background:var(--c-orange);color:#fff;transform:scale(1.05)}
.loc-info-ico svg{width:18px;height:18px}
.loc-info-body{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}
.loc-info-label{
  font-size:10.5px;font-weight:700;letter-spacing:1.4px;
  text-transform:uppercase;color:var(--c-text-soft);
}
.loc-info-val{
  font-size:14.5px;color:var(--c-text);line-height:1.45;
  word-break:break-word;
}
.loc-info-val strong{color:var(--c-blue-d);font-weight:700}
a.loc-info-val--link{
  color:var(--c-blue-d);font-weight:600;
  text-decoration:none;transition:color var(--t-fast);
}
a.loc-info-val--link:hover{color:var(--c-orange)}

/* ====================================================================
 * Karriere-Page (jobs-karriere.php)
 * ================================================================ */
.kr-benefits{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;
}
@media(max-width:980px){.kr-benefits{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.kr-benefits{grid-template-columns:1fr}}
.kr-benefit{
  background:#fff;border:1px solid var(--c-line);border-radius:14px;
  padding:24px 22px;transition:all var(--t-base);
  display:flex;flex-direction:column;gap:10px;
}
.kr-benefit:hover{transform:translateY(-4px);box-shadow:var(--shadow-2);border-color:transparent}
.kr-benefit-ico{
  width:46px;height:46px;border-radius:12px;
  background:var(--c-orange-50);color:var(--c-orange);
  display:grid;place-items:center;
}
.kr-benefit-ico svg{width:24px;height:24px}
.kr-benefit:hover .kr-benefit-ico{background:var(--c-orange);color:#fff}
.kr-benefit h3{margin:0;font-size:17px;color:var(--c-blue-d);font-weight:700}
.kr-benefit p{margin:0;font-size:14px;color:var(--c-text-mute);line-height:1.6}

/* Jobs-Liste */
.kr-jobs{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px}
.kr-job{
  background:#fff;border:1px solid var(--c-line);border-radius:14px;
  padding:26px 24px;transition:all var(--t-base);text-decoration:none;color:inherit;
  display:flex;flex-direction:column;gap:12px;position:relative;
}
.kr-job:hover{transform:translateY(-6px);box-shadow:var(--shadow-3);border-color:var(--c-orange);text-decoration:none}
.kr-job--soft{cursor:default}
.kr-job--soft:hover{transform:translateY(-3px);border-color:var(--c-line)}
.kr-job-tag{
  display:inline-block;align-self:flex-start;
  background:var(--c-orange);color:#fff;
  padding:4px 11px;border-radius:999px;
  font-size:10.5px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;
}
.kr-job-tag--info{background:var(--c-blue-50);color:var(--c-blue-d)}
.kr-job h3{margin:0;font-size:19px;color:var(--c-blue-d);font-weight:700;line-height:1.25}
.kr-job > p{margin:0;font-size:14px;color:var(--c-text-mute);line-height:1.6}
.kr-job-info{
  list-style:none;padding:14px 0;margin:0;
  border-top:1px dashed var(--c-line);border-bottom:1px dashed var(--c-line);
  display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--c-text);
}
.kr-job-info strong{color:var(--c-blue-d);font-weight:700;min-width:90px;display:inline-block}
.kr-job-link{
  margin-top:auto;display:inline-flex;align-items:center;gap:8px;
  font-size:12.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;
  color:var(--c-orange);transition:gap var(--t-fast);
}
.kr-job:hover .kr-job-link{gap:14px}

/* Bewerbungs-CTA */
.kr-apply{
  display:grid;grid-template-columns:80px 1fr auto;gap:24px;align-items:center;
  background:linear-gradient(135deg,var(--c-blue-d) 0%,var(--c-blue) 100%);
  color:#fff;padding:32px 36px;border-radius:var(--radius-lg);
  position:relative;overflow:hidden;
}
.kr-apply::before{
  content:"";position:absolute;top:-100px;right:-100px;width:300px;height:300px;
  background:rgba(219,76,0,.20);border-radius:50%;filter:blur(40px);pointer-events:none;
}
@media(max-width:880px){
  .kr-apply{grid-template-columns:1fr;text-align:center;padding:28px 24px}
  .kr-apply-actions{flex-direction:column;width:100%}
  .kr-apply-actions .btn{width:100%}
}
.kr-apply-icon{
  width:80px;height:80px;border-radius:18px;background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.15);display:grid;place-items:center;
  color:#ff9a4a;flex-shrink:0;position:relative;z-index:1;
}
.kr-apply-icon svg{width:38px;height:38px}
.kr-apply-text{position:relative;z-index:1}
.kr-apply-text .eyebrow{color:#ff9a4a;margin-bottom:6px}
.kr-apply-text .eyebrow:before,.kr-apply-text .eyebrow:after{background:#ff9a4a}
.kr-apply-text h3{margin:0 0 6px;font-size:22px;font-weight:700;color:#fff;letter-spacing:-.3px}
.kr-apply-text p{margin:0;color:rgba(255,255,255,.85);font-size:14.5px;line-height:1.6}
.kr-apply-actions{display:flex;gap:10px;flex-wrap:wrap;position:relative;z-index:1}
.kr-apply-actions .btn--ghost{border-color:rgba(255,255,255,.4);color:#fff}
.kr-apply-actions .btn--ghost:hover{background:rgba(255,255,255,.12)}

/* Karriere - Highlight-Card für 4,5-Tage-Woche */
.kr-benefit--highlight{
  background:linear-gradient(135deg,var(--c-orange) 0%,#ff7a2e 100%);
  border-color:transparent;color:#fff;position:relative;
}
.kr-benefit--highlight .kr-benefit-ico{background:rgba(255,255,255,.18);color:#fff}
.kr-benefit--highlight:hover .kr-benefit-ico{background:rgba(255,255,255,.28);color:#fff}
.kr-benefit--highlight h3{color:#fff}
.kr-benefit--highlight p{color:rgba(255,255,255,.92)}
.kr-benefit--highlight::before{
  content:"NEU";position:absolute;top:14px;right:14px;
  background:#fff;color:var(--c-orange);
  padding:3px 8px;border-radius:4px;
  font-size:9.5px;font-weight:800;letter-spacing:.6px;
}

/* Footer-Credit "Webdesign & IT-Service: derkaufmann.at" - dezent, agentur-typisch */
.footer-credit{
  display:inline-flex;align-items:center;gap:5px;
  font-size:11px;color:rgba(255,255,255,.22);
  letter-spacing:.2px;text-decoration:none;
  margin-left:14px;transition:color var(--t-fast);
}
.footer-credit:hover{color:rgba(255,255,255,.65);text-decoration:none}
.fc-label{color:rgba(255,255,255,.20);font-weight:400}
.fc-name{color:rgba(255,154,74,.55);font-weight:600;letter-spacing:.1px;transition:color var(--t-fast)}
.footer-credit:hover .fc-name{color:#ff9a4a}
.footer-credit:hover .fc-label{color:rgba(255,255,255,.55)}
.fc-heart{color:rgba(219,76,0,.45);font-size:11px;transition:color var(--t-fast),transform .3s;margin-left:2px}
.footer-credit:hover .fc-heart{color:#ff5050;transform:scale(1.2)}
@media(max-width:680px){.footer-credit{margin:6px 0 0;display:flex;justify-content:center;flex-wrap:wrap}}

/* Footer Standort-Headings: 2-zeilig (Tag oben kleiner orange, Ort unten groß weiß) */
.footer-loc-h{margin:0 0 18px;padding:0;line-height:1.1}
.footer-loc-h a{
  display:flex;flex-direction:column;gap:2px;
  text-decoration:none;color:inherit;transition:opacity var(--t-fast);
}
.footer-loc-h a:hover{opacity:.85}
.floc-tag{
  font-size:14px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;
  color:#ff9a4a;line-height:1;margin-bottom:6px;
}
.floc-place{
  font-size:22px;font-weight:700;color:#fff;letter-spacing:-.2px;
  font-family:var(--font-sans);line-height:1.15;
}

/* ====================================================================
 * Schnellsuche (Homepage, unter Slider)
 * ================================================================ */
.quick-search{padding:48px 0 24px;background:linear-gradient(180deg,#fff,#f6f8fb)}
.qs-form{
  background:#fff;border:1px solid var(--c-line);border-radius:18px;
  box-shadow:0 8px 30px rgba(26,58,114,.08);
  padding:28px 28px 24px;display:grid;gap:18px;
}
.qs-head{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.qs-head h2{margin:0;font-size:clamp(22px,2.4vw,30px);line-height:1.15}
.qs-head h2 em{color:var(--c-orange);font-style:normal}
.qs-sub{margin:4px 0 0;color:var(--c-text-soft);font-size:14.5px}
.qs-sub strong{color:var(--c-blue-d)}
.qs-fields{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:12px;align-items:end}
.qs-field{display:flex;flex-direction:column;gap:6px}
.qs-lbl{font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--c-text-soft)}
.qs-field select{
  appearance:none;-webkit-appearance:none;
  background:#f8fafc url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%230f3a64' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>") right 14px center / 12px 8px no-repeat;
  border:1px solid var(--c-line);border-radius:10px;
  padding:13px 38px 13px 14px;font:inherit;color:var(--c-text);
  cursor:pointer;transition:border-color var(--t-fast),box-shadow var(--t-fast);
}
.qs-field select:hover{border-color:var(--c-blue)}
.qs-field select:focus{outline:none;border-color:var(--c-blue);box-shadow:0 0 0 3px rgba(26,58,114,.12)}
.qs-submit{height:48px;padding:0 24px;display:inline-flex;align-items:center;gap:10px;justify-content:center;white-space:nowrap}
.qs-submit svg{width:18px;height:18px}
@media(max-width:900px){
  .qs-fields{grid-template-columns:1fr 1fr}
  .qs-submit{grid-column:1/-1;width:100%}
}
@media(max-width:560px){
  .qs-form{padding:22px 18px 18px;border-radius:14px}
  .qs-fields{grid-template-columns:1fr}
}

/* Schnellsuche - Live-Ergebnisse (Cards) - 6-col grid: Autos span 2, Service-Cards span 3 */
.qs-results{
  margin-top:24px;display:grid;
  grid-template-columns:repeat(6, 1fr);
  gap:18px;
}
.qs-results > .qs-card{grid-column:span 2}
.qs-results > .qs-card--svc{grid-column:span 3}
.qs-empty{display:none}
/* Service-CTA-Cards (Wunschfahrzeug + Ankauf) - gleicher Look wie qs-card, eigene Image-Header */
.qs-card--svc .qs-card-img{
  aspect-ratio:16/10;display:grid;place-items:center;position:relative;background-size:cover;background-position:center;
}
.qs-card--svc .qs-card-img:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.22) 100%);
}
.qs-card--svc .qs-card-img svg{width:54px;height:54px;color:#fff;position:relative;z-index:1;stroke-width:1.4}
.qs-card-svc-img--wunsch{background:linear-gradient(135deg,var(--c-blue) 0%, var(--c-blue-d) 100%)}
.qs-card-svc-img--ankauf{background:linear-gradient(135deg,var(--c-orange) 0%, #b33d00 100%)}
.qs-card--svc .qs-card-cta{
  margin-top:auto;font-size:12.5px;font-weight:700;color:var(--c-orange);
  letter-spacing:.6px;text-transform:uppercase;
  display:inline-flex;align-items:center;gap:6px;transition:gap var(--t-fast);
}
.qs-card--svc:hover .qs-card-cta{gap:12px}
.qs-card-meta-row{margin-top:auto}
.qs-card{
  background:#fff;border:1px solid var(--c-line);border-radius:14px;
  overflow:hidden;text-decoration:none;color:inherit;display:flex;flex-direction:column;
  transition:transform var(--t-fast),box-shadow var(--t-fast),border-color var(--t-fast);
}
.qs-card[hidden]{display:none}
.qs-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(26,58,114,.12);border-color:var(--c-blue-l,var(--c-blue))}
.qs-card-img{aspect-ratio:16/10;background-size:cover;background-position:center;position:relative}
.qs-card-badge{
  position:absolute;top:10px;left:10px;z-index:1;
  background:var(--c-orange);color:#fff;font-size:10.5px;font-weight:700;
  letter-spacing:1.2px;text-transform:uppercase;padding:5px 10px;border-radius:6px;
  box-shadow:0 4px 10px rgba(219,76,0,.3);
}
/* TOP AKTION - schräges Banner oben-links auf Featured-Auto-Card (Original-Stil von auto-lang.at) */
.qs-card-img{overflow:hidden}
.qs-card-aktion{
  position:absolute;top:24px;left:-62px;z-index:2;
  background:var(--c-orange);color:#fff;
  font-size:14px;font-weight:800;letter-spacing:1.8px;
  padding:9px 78px;
  transform:rotate(-32deg);transform-origin:center;
  box-shadow:0 6px 18px rgba(219,76,0,.45),0 0 0 1px rgba(255,255,255,.15) inset;
  text-shadow:0 1px 1px rgba(0,0,0,.18);
  pointer-events:none;
  white-space:nowrap;
}
.qs-card--featured{border-color:var(--c-orange)}
.qs-card-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.qs-card-title{font-size:16px;margin:0;line-height:1.2;color:var(--c-blue-d);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qs-card-sub{font-size:13px;color:var(--c-text-soft);margin:0;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:34px}
.qs-card-meta{list-style:none;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12.5px;color:var(--c-text-soft);margin:6px 0;padding:0}
.qs-card-meta li{position:relative}
.qs-card-meta li:not(:last-child):after{content:"·";position:absolute;right:-10px;color:var(--c-line-2)}
.qs-card-price{font-weight:800;color:var(--c-orange);font-size:18px;margin-top:auto;letter-spacing:-.2px}
@media(max-width:900px){
  .qs-results{grid-template-columns:repeat(2,1fr)}
  .qs-results > .qs-card{grid-column:span 1}
  .qs-results > .qs-card--svc{grid-column:span 1}
}
@media(max-width:560px){
  .qs-results{grid-template-columns:1fr;gap:14px}
  .qs-results > .qs-card,
  .qs-results > .qs-card--svc{grid-column:span 1}
  .qs-card .veh-body{padding:12px 14px 14px}
}

/* ===========================================================================
 * Multistep-Formular (JS-Enhancement)
 * Aktiv, sobald JS die Klasse .ms-active auf das <form> setzt.
 * Ohne JS bleibt das Formular ein normales Singlepage-Formular.
 * =========================================================================== */

.ms-active fieldset.ms-hidden{display:none}
.ms-active .ms-submit-hidden{display:none}

.ms-nav{
  list-style:none;margin:0 0 28px;padding:0;
  display:flex;flex-wrap:wrap;gap:8px;
  counter-reset:ms-step;
}
.ms-nav .ms-dot{
  flex:1 1 0;min-width:120px;
  display:flex;align-items:center;gap:10px;
  padding:12px 14px;border-radius:12px;
  background:var(--c-bg-soft);border:1.5px solid var(--c-line);
  color:var(--c-text-mute);font-size:13px;font-weight:500;
  cursor:pointer;transition:all .2s;
  position:relative;
}
.ms-nav .ms-dot:hover:not(.is-locked){border-color:var(--c-blue);color:var(--c-blue-d)}
.ms-nav .ms-dot.is-active{
  background:#fff;border-color:var(--c-blue);color:var(--c-blue-d);
  box-shadow:0 4px 12px rgba(26,58,114,.10);
}
.ms-nav .ms-dot.is-done{
  background:#eff6ff;border-color:#bfdbfe;color:var(--c-blue-d);
}
.ms-nav .ms-dot.is-locked{cursor:default;opacity:.55}
.ms-nav .ms-num{
  display:inline-flex;align-items:center;justify-content:center;
  width:26px;height:26px;border-radius:50%;
  background:#fff;border:1.5px solid var(--c-line);
  font-size:12px;font-weight:700;color:var(--c-text-mute);
  flex:0 0 26px;
}
.ms-nav .ms-dot.is-active .ms-num{background:var(--c-blue);border-color:var(--c-blue);color:#fff}
.ms-nav .ms-dot.is-done .ms-num{background:var(--c-orange);border-color:var(--c-orange);color:#fff}
.ms-nav .ms-dot.is-done .ms-num::before{content:"\2713"}
.ms-nav .ms-dot.is-done .ms-num{font-size:0}
.ms-nav .ms-dot.is-done .ms-num::before{font-size:14px;font-weight:700}
.ms-nav .ms-label{flex:1;line-height:1.25}

.ms-active fieldset:not(.ms-hidden){
  animation:msFadeIn .25s ease-out;
}
@keyframes msFadeIn{
  from{opacity:0;transform:translateY(6px)}
  to{opacity:1;transform:none}
}

.ms-ctrl{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-top:24px;padding-top:20px;
  border-top:1px dashed var(--c-line);
}
.ms-ctrl .ms-spacer{display:inline-block;min-width:1px}
.ms-ctrl .btn{margin:0}
.ms-ctrl .ms-back{padding-left:14px;padding-right:18px}
.ms-ctrl .ms-arrow--left{display:inline-block;transition:transform .2s}
.ms-ctrl .ms-back:hover .ms-arrow--left{transform:translateX(-3px)}

.ms-active input.is-invalid,
.ms-active select.is-invalid,
.ms-active textarea.is-invalid{
  border-color:var(--c-orange);
  box-shadow:0 0 0 3px rgba(255,140,40,.15);
}

@media (max-width:760px){
  .ms-nav{gap:6px}
  .ms-nav .ms-dot{min-width:0;padding:10px 10px;font-size:12px}
  .ms-nav .ms-label{display:none}
  .ms-nav .ms-dot.is-active .ms-label{display:inline}
  .ms-ctrl{flex-direction:row}
  .ms-ctrl .btn{padding:14px 18px;font-size:14px}
}

/* ====================================================================
 * Tablet-Optimierung (Portrait 768-900 + Landscape 901-1024)
 * Liegt zwischen Desktop (>1024) und Mobile (<768) - bisheriges Mobile
 * sprang abrupt vom Desktop in die kleine Ansicht; Tablet bekommt jetzt
 * eigenen Zwischenstand.
 * ================================================================ */
@media (min-width:769px) and (max-width:1024px){
  /* Container + Section-Padding straffen */
  .container{padding:0 24px}
  .container--narrow{padding:0 24px}
  .section{padding:48px 0 64px}
  .section--tight{padding:32px 0 44px}
  .section--alt{padding:48px 0 64px}

  /* Headline-Skalierung (clamp greift sonst erst bei sehr kleinen Viewports) */
  h1{font-size:clamp(36px,5.2vw,56px)}
  h2{font-size:clamp(28px,4vw,42px)}
  .lead{font-size:16px;line-height:1.6}

  /* Page-Hero kompakter */
  .page-hero{padding-top:calc(var(--header-h) + 36px);padding-bottom:60px}

  /* Schnellsuche: 6 -> 3 Spalten (Service-Karten span 1) */
  .qs-results{grid-template-columns:repeat(3,1fr);gap:14px}
  .qs-results > .qs-card{grid-column:span 1}
  .qs-results > .qs-card--svc{grid-column:span 1}
  .qs-card-img{aspect-ratio:16/11}
  .qs-card-title{font-size:15px}
  .qs-card-sub{font-size:12.5px;-webkit-line-clamp:2}

  /* Hero-Boxen: 4 -> 2 Spalten */
  .hero{grid-template-columns:repeat(2,1fr) !important;gap:18px}
  .hero-card{padding:18px 18px 16px}
  .hero h1{font-size:clamp(34px,5vw,52px)}

  /* Featured/Aktuelle-Fahrzeuge */
  .veh-grid{grid-template-columns:repeat(3,1fr);gap:18px}
  .veh-img{aspect-ratio:16/10}

  /* News + Service-Grids */
  .news-grid{grid-template-columns:repeat(2,1fr);gap:18px}
  .sp-cta-grid{grid-template-columns:repeat(2,1fr);gap:16px}

  /* Über-uns + Werkstatt-Subs: 2-spaltige Splits behalten, aber Bildgrößen anpassen */
  .uu-tl{gap:24px}
  .uu-tl-img img{aspect-ratio:4/3;object-fit:cover}

  /* Team-Grid: 4 -> 3 (statt direktem Sprung 4 -> 2 bei 980) */
  .team-grid{grid-template-columns:repeat(3,1fr);gap:18px}

  /* Standort-Grid: ungefaehr 1.5fr 1fr ist OK auf Tablet, leichter Padding-Trim */
  .st-grid{gap:24px}
  .st-photo-block{aspect-ratio:4/3}

  /* Footer-Grid: 4-Spalter -> 3-Spalter (statt direkt 2) */
  .footer-grid{grid-template-columns:1.6fr 1fr 1fr;gap:32px;row-gap:36px}
  .footer-brand{grid-column:1 / -1}

  /* CTA-Banner kompakter */
  .cta-banner{padding:36px 28px}
  .cta-banner h2{font-size:32px}

  /* Auto-Detail (cd2): Spalte rechts schmaler statt komplett kollabieren */
  .cd2-grid{grid-template-columns:1fr 320px !important;gap:24px}
  .cd2-keyfacts{grid-template-columns:repeat(4,1fr)}
  .cd2-finance-grid{grid-template-columns:1fr;gap:20px}

  /* Form-Section (werkstatttermin etc.): Form + Sidebar -> 1-spaltig auf schmaleren Tabletts */
  .wt-grid{grid-template-columns:1fr;gap:32px}

  /* Multistep-Form-Buttons */
  .ms-ctrl{gap:12px}
  .ms-ctrl .btn{padding:12px 22px;font-size:13.5px}

  /* Reviews-Karten 3 -> 2 Spalten */
  .gr-reviews-grid{grid-template-columns:repeat(2,1fr) !important;gap:16px}

  /* Karriere-Stats */
  .kr-stats{grid-template-columns:repeat(4,1fr) !important;gap:14px}
  .kr-stat-num{font-size:42px}

  /* Fahrzeug-Listing-Grid (fahrzeuge.php): von Auto-Cards 4-spaltig zu 3-spaltig */
  .car-grid{grid-template-columns:repeat(3,1fr);gap:18px}

  /* Filter-Sidebar (Fahrzeuge-Page) auf 240px statt 280 */
  .car-page{grid-template-columns:240px 1fr;gap:24px}

  /* Spaltige Service-Karten */
  .services-grid{grid-template-columns:repeat(2,1fr);gap:18px}

  /* Slider Hero */
  .hsl-content{padding:0 32px}
  .hsl-headline{font-size:clamp(34px,5vw,52px)}

  /* Cd2-tabnav (Auto-Detail Tabs) -> kompakter */
  .cd2-tabnav{font-size:13px;gap:18px}

  /* Footer Padding */
  .site-footer{padding-block:48px 32px}
}

/* ====================================================================
 * Tablet Portrait fein (~768-880) - extra Tightening
 * ================================================================ */
@media (min-width:769px) and (max-width:880px){
  .qs-results{grid-template-columns:repeat(2,1fr)}
  .veh-grid{grid-template-columns:repeat(2,1fr)}
  .team-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr;row-gap:28px}
  .cd2-grid{grid-template-columns:1fr !important}
  .car-page{grid-template-columns:1fr;gap:18px}
  .car-grid{grid-template-columns:repeat(2,1fr)}
  .kr-stats{grid-template-columns:repeat(2,1fr) !important}
}

/* ====================================================================
 * SMARTPHONE-OPTIMIERUNG (komplett)
 * Range: 0-768px = alle Phones (Portrait + Landscape)
 * ================================================================ */
@media (max-width:768px){
  /* --- Globals: weniger Luft, mehr Inhalt --- */
  .container{padding:0 18px}
  body{font-size:15px;line-height:1.6}
  h1{font-size:clamp(28px,9vw,40px);letter-spacing:-.02em}
  h2{font-size:clamp(22px,6.5vw,32px) !important;letter-spacing:-.02em}
  h3{font-size:18px}
  .lead{font-size:15px;line-height:1.55;max-width:100%}
  .eyebrow{font-size:12px;letter-spacing:2.4px;gap:10px}
  .eyebrow:before,.eyebrow.center:after{width:22px}

  /* --- Page-Hero --- */
  .page-hero{padding:calc(var(--header-h) + 40px) 0 50px}

  /* --- Section Padding generell --- */
  section:not(.page-hero):not(.hero):not(.wf-hero):not(.uu-vorwort):not(.kr-hero):not(.hero-slider):not(.fz-hero):not(.cd2-hero):not(.tesla-hero){padding-block:48px !important}

  /* --- Header: bestehende Werte (68px @ 1024, 62px @ 560) bleiben gueltig --- */

  /* --- Buttons full-width-friendly --- */
  .btn{padding:14px 24px;font-size:12px;letter-spacing:.5px}
  .btn-row,.hero-card-actions,.cta-banner-actions{flex-direction:column;align-items:stretch;gap:12px}
  .btn-row .btn,.hero-card-actions .btn,.cta-banner-actions .btn{width:100%;justify-content:center}

  /* --- Hero --- */
  .hero{padding:calc(var(--header-h) + 24px) 0 56px}
  .hero-grid{gap:32px}
  .hero-card{padding:28px 22px;border-radius:16px}
  .hero-card-tag{right:14px;font-size:11px;padding:6px 10px}
  .hero-meta{flex-wrap:wrap;gap:10px}

  /* --- Hero-Stats: 2x2 --- */
  .hero-stats-card{grid-template-columns:1fr 1fr;padding:22px 18px;gap:18px}
  .hero-stat{border:0 !important;padding:0 !important;text-align:left}
  .hero-stat .num{font-size:30px}
  .hero-stat .lbl{font-size:11px}

  /* --- Schnellsuche: 1 Spalte mit großen Touch-Targets --- */
  .qs-results{grid-template-columns:1fr !important;gap:14px}
  .qs-card{border-radius:14px}
  .qs-card-img,.qs-card-img-wrap{aspect-ratio:16/10}
  .qs-card-aktion{font-size:12px;letter-spacing:1.4px;padding:7px 60px;left:-50px;top:18px}
  .qs-card-body{padding:16px 18px}
  .qs-card-title{font-size:16px}
  .qs-filter-bar,.qs-tabs{flex-wrap:wrap;gap:8px}
  .qs-filter-bar select,.qs-filter-bar input{font-size:14px;padding:10px 12px;width:100%}

  /* --- Aktuelle Fahrzeuge / Featured --- */
  .veh-grid,.fz-grid,.car-grid{grid-template-columns:1fr !important;gap:18px}
  .veh-card,.fz-card,.car-card{border-radius:14px}
  .veh-card-img,.fz-card-img,.car-card-img{aspect-ratio:16/10}

  /* --- Auto-Detail (Einzelseite) --- */
  .car-page,.cd2-grid{grid-template-columns:1fr !important;gap:24px !important}
  .cd2-tabnav{font-size:12px;gap:12px;flex-wrap:wrap;padding-bottom:8px}
  .cd2-tab-btn{padding:8px 0}
  .cd2-gallery-main{aspect-ratio:4/3}
  .cd2-gallery-thumbs{grid-template-columns:repeat(4,1fr)}
  .cd2-spec-row,.cd2-equip{grid-template-columns:1fr 1fr;font-size:13px}
  .cd2-price{font-size:30px}
  .cd2-cta-bar{flex-direction:column;gap:10px}
  .cd2-cta-bar .btn{width:100%}

  /* --- Listing / Filter Sidebar --- */
  .fz-layout{grid-template-columns:1fr !important}
  .fz-sidebar{position:static;max-height:none}
  .fz-sidebar-toggle{display:flex !important;width:100%;margin-bottom:14px}

  /* --- Hero-Boxen (4 Cards) --- */
  .hero-boxen,.hero-boxes{grid-template-columns:1fr !important;gap:14px !important}

  /* --- News / Aktionen --- */
  .news-grid{grid-template-columns:1fr !important}
  .news-card-img{aspect-ratio:16/10}
  .news-card-body{padding:18px}
  .news-carousel{padding:0 4px}

  /* --- Showcase / Tesla --- */
  .showcase{grid-template-columns:1fr !important;gap:32px}
  .showcase-image{min-height:240px;padding:24px}
  .showcase-seal{width:160px;height:160px;font-size:11px}
  .showcase-tesla-plaque{left:14px;bottom:14px;padding:8px 12px}
  .showcase-tesla-plaque img{max-width:140px}
  .showcase-tesla-below{padding:14px 16px;font-size:13px}

  /* --- Process / Steps --- */
  .process{grid-template-columns:1fr !important;gap:24px}
  .process-step{padding:24px 20px}
  .process-step .num-circle{width:54px;height:54px;font-size:24px}

  /* --- Trust-Strip --- */
  .trust-strip{grid-template-columns:1fr 1fr !important}
  .trust-item{padding:18px 12px;font-size:12px;border-right:0 !important}
  .trust-item:nth-child(1),.trust-item:nth-child(2){border-bottom:1px solid var(--c-line)}
  .trust-item .num{font-size:24px}

  /* --- Testimonials --- */
  .testimonials{grid-template-columns:1fr !important;gap:14px}
  .testimonial--featured{grid-row:auto;padding:28px 22px}
  .testimonial--featured .testimonial-quote{font-size:18px}
  .testimonial{padding:22px 20px}
  .testimonial-quote{font-size:15px}

  /* --- CTA-Banner --- */
  .cta-banner{padding:48px 22px}
  .cta-banner h2{font-size:26px !important}
  .cta-banner p{font-size:15px;margin-bottom:24px}

  /* --- Footer --- */
  .footer-grid{grid-template-columns:1fr !important;gap:28px}
  .footer-brand{order:-1}
  .footer-col h4{font-size:13px;margin-bottom:12px}
  .footer-col ul{gap:8px}
  .site-footer{padding:48px 0 20px}
  .footer-bottom{flex-direction:column;gap:14px;text-align:center;font-size:12px}
  .footer-legal-links{flex-wrap:wrap;justify-content:center;gap:14px}

  /* --- Topbar bleibt versteckt < 1024 (bestehende Regel ok) --- */

  /* --- Forms (Kontakt, WT, Wunsch, Bewerbung) --- */
  .form-row,.form-grid,.form-col-2,.wt-row--2,.wt-row--3{grid-template-columns:1fr !important;gap:0 !important}
  .form-row > *,.form-grid > *{margin-bottom:14px}
  input[type=text],input[type=email],input[type=tel],input[type=number],input[type=date],input[type=time],
  textarea,select{font-size:16px !important;padding:12px 14px !important;width:100%}
  /* Selects mit Chevron-Icon brauchen rechtes Padding fuer Pfeil */
  .qs-field select,select.has-arrow,.fz-sidebar select{padding:12px 38px 12px 14px !important;background-position:right 14px center !important}
  textarea{min-height:120px}
  .form-actions,.btn-row{flex-direction:column;align-items:stretch}
  .form-actions .btn{width:100%}
  .form-section{padding:24px 18px !important}
  .wt-form-wrap,.kf-form-wrap,.wf-form-wrap{padding:20px 18px !important;border-radius:14px}
  .wt-services{grid-template-columns:1fr 1fr !important;gap:10px}
  .wt-services label{font-size:13px;padding:10px 12px}
  .wt-stepper{flex-wrap:wrap;gap:10px}
  .wt-step{font-size:11px}
  .multistep-nav{flex-direction:column;gap:10px}
  .multistep-nav .btn{width:100%}
  /* Datenschutz-Checkbox lesbar */
  .form-consent{align-items:flex-start;gap:10px;font-size:12.5px;line-height:1.5}
  .form-consent input[type=checkbox]{margin-top:3px;flex-shrink:0;width:18px;height:18px}

  /* --- Standorte --- */
  .sp-cta-grid,.standorte-grid{grid-template-columns:1fr !important}
  .sp-cta-card{padding:24px 20px}

  /* --- Team --- */
  .team-grid{grid-template-columns:1fr 1fr !important;gap:14px}
  .team-card{padding:20px 14px}
  .team-card-img{aspect-ratio:1}
  .team-card-name{font-size:14px}
  .team-card-role{font-size:11px}

  /* --- Karriere --- */
  .kr-hero{padding:calc(var(--header-h) + 32px) 0 48px}
  .kr-stats{grid-template-columns:repeat(2,1fr) !important;gap:14px}
  .kr-stats .num{font-size:30px}
  .kr-stats .lbl{font-size:11px}
  .kr-top4,.kr-extras,.kr-grid{grid-template-columns:1fr !important}

  /* --- Über-uns Timeline / Werte / Vorwort --- */
  .uu-vorwort,.uu-vorwort-grid{grid-template-columns:1fr !important;gap:24px}
  .uu-vorwort-vid{width:100%;height:auto}
  .uu-values-grid{grid-template-columns:1fr !important;gap:16px}
  .uu-values-card{padding:24px 20px}
  .uu-timeline-item{flex-direction:column;gap:12px;padding-left:0}
  .uu-timeline-year{font-size:24px;min-width:auto}
  .uu-team-cta{padding:32px 22px}
  .uu-team-cta h2{font-size:24px !important}

  /* --- Service-Detail / Reparatur --- */
  .svc-detail,.svc-detail.reverse{grid-template-columns:1fr !important;gap:32px;margin-bottom:48px}
  .svc-detail.reverse .svc-detail-img{order:0}
  .svc--featured ul{grid-template-columns:1fr !important}
  .svc-grid{grid-template-columns:1fr 1fr !important;gap:14px}
  .svc-card{padding:22px 18px}

  /* --- Reviews / Bewertungen Block --- */
  .reviews-grid,.gr-grid{grid-template-columns:1fr !important;gap:14px}
  .gr-card{padding:22px 18px}

  /* --- Hero-Slider (sofern vorhanden) --- */
  .hsl-slide,.hsl-slide--split{grid-template-columns:1fr !important;min-height:auto}
  .hsl-headline{font-size:clamp(28px,8vw,40px);white-space:normal !important}
  .hsl-content{padding-top:32px;padding-bottom:32px}
  .hsl-arrows{display:none}
  .hsl-dots{bottom:14px}

  /* --- FAB Buttons --- */
  .fab-wa,.fab-cmp{bottom:18px}
  .fab-wa{right:18px;width:54px;height:54px}
  .fab-cmp{left:18px;padding:9px 14px;font-size:11.5px}

  /* --- Vergleichs-Modal --- */
  .modal-content{width:calc(100% - 24px);max-width:none;border-radius:12px;padding:22px 18px}

  /* --- Cookie / Banner / Sticky CTA --- */
  .sticky-cta{padding:10px 14px;font-size:13px}
  .sticky-cta .btn{padding:10px 16px;font-size:11px}

  /* --- Legal-Pages (Impressum/Datenschutz) --- */
  .legal-content{padding:0}
  .legal-content h2{font-size:20px;margin:36px 0 12px}
  .legal-content p,.legal-content li{font-size:14.5px;line-height:1.65}
  .legal-content dl{grid-template-columns:1fr !important;padding:18px 16px}

  /* --- Mobile Menu (Drawer) --- */
  .mobile-menu{width:92%;max-width:340px}
  .mobile-menu a{padding:14px 18px;font-size:15px}

  /* --- Maps Embed --- */
  iframe[src*="google.com/maps"]{height:280px !important}

  /* --- News Article (Blog) --- */
  .news-article{padding:0}
  .news-article-meta{flex-wrap:wrap;gap:8px;font-size:12px}
}

/* ====================================================================
 * Smartphone Klein (iPhone SE etc.) <= 380px
 * ================================================================ */
@media (max-width:380px){
  .container{padding:0 14px}
  h1{font-size:clamp(24px,8vw,32px)}
  h2{font-size:22px !important}
  .brand-logo-img{height:42px}
  .hero-stats-card{grid-template-columns:1fr;gap:14px;padding:18px 16px}
  .hero-stat{text-align:center}
  .trust-strip{grid-template-columns:1fr !important}
  .trust-item{border-bottom:1px solid var(--c-line);border-right:0 !important}
  .trust-item:last-child{border-bottom:0}
  .team-grid,.svc-grid,.wt-services{grid-template-columns:1fr !important}
  .qs-card-aktion{font-size:11px;letter-spacing:1.2px;padding:6px 50px;left:-44px}
  .cd2-spec-row,.cd2-equip{grid-template-columns:1fr}
  .cd2-gallery-thumbs{grid-template-columns:repeat(3,1fr)}
  .btn{padding:13px 18px;font-size:11.5px}
  .kr-stats{grid-template-columns:1fr !important}
}

/* ====================================================================
 * Smartphone Landscape (querformat, niedrige Höhe)
 * ================================================================ */
@media (max-width:900px) and (orientation:landscape) and (max-height:500px){
  .hero,.page-hero,.kr-hero{padding-top:calc(var(--header-h) + 16px);padding-bottom:32px}
  section:not(.page-hero):not(.hero):not(.wf-hero):not(.uu-vorwort):not(.kr-hero):not(.hero-slider):not(.fz-hero):not(.cd2-hero):not(.tesla-hero){padding-block:32px !important}
  .hero-grid{grid-template-columns:1fr 1fr}
}

/* ====================================================================
 * SLIDER-Optimierung: Hero-Slider + News-Carousel (Tablet + Smartphone)
 * ================================================================ */

/* === HERO-SLIDER === */

/* Tablet: 769-1024 */
@media (min-width:769px) and (max-width:1024px){
  .hero-slider{height:auto;min-height:540px;max-height:680px;margin-top:var(--header-h)}
  .hsl-content{max-width:760px;padding-top:48px;padding-bottom:80px}
  .hsl-headline{font-size:clamp(32px,5vw,52px);line-height:1.08;margin-bottom:18px}
  .hsl-sub{font-size:16px;margin-bottom:24px;max-width:600px}
  .hsl-cta{gap:12px;margin-bottom:22px}
  .hsl-cta .btn{padding:14px 24px;font-size:12px}
  .hsl-content .eyebrow{font-size:12px;letter-spacing:2px;padding:5px 12px;margin-bottom:18px}
  .hsl-trust{padding:8px 14px}
  .hsl-trust strong,.hsl-trust span{font-size:12px}
  .hsl-prev{left:18px} .hsl-next{right:18px}
  .hsl-nav{width:46px;height:46px;font-size:16px;background:rgba(255,255,255,.18)}
  .hsl-dots{bottom:22px;gap:8px}
  .hsl-dots button{width:36px}
  .hsl-slide--split .hsl-content{padding-top:64px;padding-bottom:90px}
  .hsl-slide--split .hsl-headline{white-space:normal;font-size:clamp(32px,5.5vw,48px)}
}

/* Smartphone: ≤768 */
@media (max-width:768px){
  .hero-slider{
    height:auto;
    min-height:600px;max-height:none;
    aspect-ratio:auto;
    background:transparent;
  }
  /* Alle Slides absolut gestapelt -> gleiche Hoehe */
  .hsl-track{position:absolute;inset:0;height:auto}
  .hsl-slide{position:absolute;inset:0;display:block}
  .hsl-bg{position:absolute;inset:0;width:100%;height:100%}
  .hsl-bg img{width:100%;height:100%;object-fit:cover}
  .hsl-overlay{
    background:linear-gradient(180deg, rgba(26,58,114,.45) 0%, rgba(26,58,114,.78) 60%, rgba(26,58,114,.92) 100%);
  }
  /* Einheitliches Content-Layout - gleiche Regel fuer ALLE Slides (auch split) */
  .hsl-content,
  .hsl-slide--split .hsl-content{
    max-width:100%;
    padding-top:32px;padding-bottom:84px;
    height:100%;
    justify-content:flex-start !important;
    gap:0 !important;
  }
  /* Top + Bottom Wrapper bei Split aufloesen wie bei Standard-Slides */
  .hsl-slide--split .hsl-top,
  .hsl-slide--split .hsl-bottom{
    display:contents !important;gap:0 !important;
  }
  .hsl-content .eyebrow{
    font-size:11px;letter-spacing:1.6px;padding:5px 11px;margin-bottom:14px;
  }
  .hsl-headline,
  .hsl-slide--split .hsl-headline{
    font-size:clamp(28px,7.5vw,38px);line-height:1.12;margin-bottom:14px;
    letter-spacing:-.02em;text-shadow:0 2px 14px rgba(0,0,0,.45);white-space:normal;
  }
  .hsl-sub{
    font-size:15px;line-height:1.55;margin-bottom:22px;
    text-shadow:0 1px 8px rgba(0,0,0,.45);
  }
  .hsl-cta{
    flex-direction:column;align-items:stretch;gap:10px;
    margin-top:0;margin-bottom:16px;
  }
  .hsl-cta .btn{width:100%;justify-content:center;padding:13px 20px;font-size:12px}
  .hsl-trust{
    padding:7px 12px;gap:8px;flex-wrap:nowrap;
    background:rgba(0,0,0,.45);align-self:flex-start;
  }
  .hsl-stars{font-size:12px;letter-spacing:1px}
  .hsl-trust strong,.hsl-trust span{font-size:11.5px}
  /* Nav-Row am unteren Rand des Sliders - klassisch und einheitlich */
  .hsl-dots{
    bottom:18px;left:0;right:0;
    display:flex;justify-content:center;align-items:center;gap:7px;z-index:6;
  }
  .hsl-dots button{width:20px;height:3px}
  .hsl-nav{
    width:32px;height:32px;font-size:12px;
    background:rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.25);
    color:#fff;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
    top:auto;bottom:5px;transform:none;z-index:6;
  }
  .hsl-nav:hover{transform:scale(1.08);background:rgba(0,0,0,.65)}
  .hsl-prev{left:auto;right:auto;left:calc(50% - 100px)}
  .hsl-next{left:auto;right:auto;right:calc(50% - 100px)}
  /* Container-Padding */
  .hero-slider .container{padding-left:18px;padding-right:18px}
  .hero-slider{touch-action:pan-y pinch-zoom}
}

/* Smartphone Landscape (Querformat, niedrige Höhe) */
@media (max-width:900px) and (orientation:landscape) and (max-height:500px){
  .hero-slider{min-height:auto}
  .hsl-content{min-height:auto;padding-top:32px;padding-bottom:62px}
  .hsl-headline{font-size:clamp(24px,5vw,32px);margin-bottom:10px}
  .hsl-sub{font-size:14px;margin-bottom:14px}
  .hsl-cta{flex-direction:row}
  .hsl-cta .btn{width:auto}
  .hsl-nav{bottom:5px}
  .hsl-prev{left:calc(50% - 100px)} .hsl-next{right:calc(50% - 100px)}
  .hsl-dots{bottom:18px}
}

/* Mini-Phones <=380 */
@media (max-width:380px){
  .hero-slider{min-height:580px}
  .hsl-content,.hsl-slide--split .hsl-content{padding-top:28px;padding-bottom:78px}
  .hsl-headline,.hsl-slide--split .hsl-headline{font-size:clamp(24px,7vw,30px);margin-bottom:12px}
  .hsl-sub{font-size:14px;margin-bottom:18px}
  .hsl-content .eyebrow{font-size:10.5px;letter-spacing:1.2px;padding:4px 10px}
  .hsl-trust strong{display:inline}
  .hsl-trust span{display:none}
  .hsl-trust{padding:6px 10px}
  /* Nav-Row kompakter (Position bleibt unten) */
  .hsl-dots button{width:18px}
  .hsl-dots{bottom:16px}
  .hsl-nav{width:28px;height:28px;font-size:11px;bottom:5px}
  .hsl-prev{left:calc(50% - 90px)} .hsl-next{right:calc(50% - 90px)}
}


/* === NEWS-CAROUSEL === */

/* Tablet: 769-1024 — 2,3 Karten sichtbar mit kleinem Peek */
@media (min-width:769px) and (max-width:1024px){
  .news-carousel .news-grid{
    grid-auto-columns:calc((100% - 28px) / 2.3);
    gap:14px;
    scroll-padding-left:18px;
    padding:4px 18px 4px 0;
  }
  .news-prev{left:-4px}
  .news-next{right:-4px}
  .news-nav{width:40px;height:40px}
  .news-nav svg{width:18px;height:18px}
  .news-card-img{aspect-ratio:16/10}
  .news-card-body{padding:18px 20px}
  .news-card h3{font-size:18px}
  .news-card p{font-size:13.5px;margin-bottom:14px}
}

/* Smartphone: ≤768 — 1 Karte mit Peek der nächsten */
@media (max-width:768px){
  .news-carousel{padding:0}
  .news-carousel .news-grid{
    grid-auto-columns:88%;
    gap:12px;
    padding:4px 14px 4px 4px;
    scroll-padding-left:4px;
  }
  /* Pfeile auf Mobile aus — Swipe ist intuitiver */
  .news-nav{display:none !important}
  .news-card{border-radius:14px}
  .news-card-img{aspect-ratio:16/10}
  .news-card-body{padding:18px 18px 20px}
  .news-card-tag{font-size:10px;padding:3px 9px;margin-bottom:10px}
  .news-card h3{font-size:17px;margin-bottom:8px}
  .news-card p{font-size:13.5px;line-height:1.55;margin-bottom:14px}
  .news-card-link{font-size:11.5px;letter-spacing:1px}
  /* Optionaler Dot-Indikator falls JS welche rendert */
  .news-dots{display:flex;justify-content:center;gap:8px;margin-top:14px}
}

@media (max-width:380px){
  .news-carousel .news-grid{grid-auto-columns:92%;gap:10px}
  .news-card h3{font-size:16px}
}


/* === BRANDS-MARQUEE (Marken-Strip) === */
@media (max-width:768px){
  .brands{padding:18px 0 26px}
  .brands-label{font-size:12px;letter-spacing:1.6px;margin-bottom:18px;padding:0 14px;line-height:1.5}
  .brands-track span{font-size:14px;padding:0 14px}
  .brands-track .is-tesla{font-size:13px;padding:4px 10px}
}

/* ====================================================================
 * SLIDER + Schnellsuche Spacing-Fix Mobile
 * ================================================================ */
@media (max-width:768px){
  /* Quick-Search direkt unter Slider, weniger Luft */
  .quick-search{padding:32px 0 16px !important}
  .qs-form{padding:20px 16px 16px;border-radius:14px;gap:14px}
  .qs-head h2{font-size:22px}
  .qs-sub{font-size:13.5px}
  .qs-fields{grid-template-columns:1fr;gap:10px}
  .qs-submit{height:50px;width:100%;grid-column:1/-1}
  .qs-results{margin-top:18px}
  /* Hero-Slider direkt nach Header, kein Gap */
  .hero-slider{margin-bottom:0}
}
@media (max-width:560px){
  .quick-search{padding:24px 0 12px !important}
}

/* Tablet-Burger groesser (681-1024, inkl. iPad-Portrait 768) */
@media (min-width:681px) and (max-width:1024px){
  .burger{height:54px !important;padding:0 20px 0 18px !important;gap:12px !important;border-radius:12px;width:auto !important}
  .burger svg{width:34px !important;height:34px !important;flex:0 0 34px !important;stroke-width:2.8 !important}
  .burger-label{font-size:17px !important;letter-spacing:.8px;font-weight:800;display:inline !important}
}

/* ====================================================================
 * SLIDER Smartphone - Cleanup farbliche Linien + Abstaende
 * ================================================================ */
@media (max-width:768px){
  /* Slider: keine Fallback-BG-Farbe (verhindert blaue Streifen falls Bg-Bild laedt) */
  .hero-slider{background:transparent !important}
  /* Header-Border verstecken auf Mobile (graue Linie beim Scrollen) */
  .site-header,.site-header.is-scrolled{border-bottom:0 !important;box-shadow:none !important}
  /* Hero-Stats: keine Border + bündig an Slider anschließen */
  .hero-stats{margin-top:-28px !important;padding:0 14px !important}
  .hero-stats-card{
    border:0 !important;box-shadow:0 8px 24px rgba(26,58,114,.08) !important;
  }
  /* Brands-Strip ohne untere Linie auf Mobile */
  .brands{border-bottom:0 !important}
  /* Slider: kein margin-bottom, nahtloser Uebergang */
  .hero-slider + .hero-stats,
  .hero-slider + section{margin-top:0}
  /* Slider Content tighter (horizontales Padding kommt aus .container) */
  .hsl-content{padding-top:36px;padding-bottom:96px;height:100%;min-height:0}
  .hsl-slide--split .hsl-content{padding-top:36px;padding-bottom:96px;height:100%;min-height:0}
  /* Quick-Search nahtlos */
  .quick-search{padding:32px 0 16px !important;background:#fff !important}
  /* Slider Section selbst keine Border */
  section.hero-slider,.hero-slider{border:0 !important;outline:0 !important}
}
@media (max-width:560px){
  .hsl-content,.hsl-slide--split .hsl-content{padding-top:32px;padding-bottom:96px;min-height:0;height:100%}
  .hero-slider{min-height:600px}
  .hero-stats{margin-top:-24px !important}
}

/* ====================================================================
 * Header Smartphone - kompakter
 * ================================================================ */
@media (max-width:680px){
  .site-header{height:56px !important}
  :root{--header-h:56px}
  .brand-logo-img{height:38px !important}
  .site-header.is-scrolled{height:50px !important}
  .site-header.is-scrolled .brand-logo-img{height:34px !important}
  .header-row{padding:0 4px}
  .burger{height:42px !important;min-height:42px !important;width:auto !important;padding:0 12px !important}
  .burger svg{width:22px !important;height:22px !important;flex:0 0 22px !important}
  .burger-label{font-size:13px !important;display:inline !important}
}
@media (max-width:380px){
  .site-header{height:52px !important}
  :root{--header-h:52px}
  .brand-logo-img{height:34px !important}
  .burger{height:40px !important;min-height:40px !important;padding:0 10px !important}
  .burger svg{width:20px !important;height:20px !important}
  .burger-label{font-size:12px !important}
}

/* ====================================================================
 * gewaehrleistung.php Smartphone Spacing Fix
 * ================================================================ */
@media (max-width:768px){
  /* Inline-Style-Overrides: section--tight an Smartphone anpassen */
  .page-hero--photo{padding-bottom:32px !important}
  body.page-service .section--tight,
  body .section--tight{padding-top:24px !important;padding-bottom:24px !important}
  /* Erste Section nach Hero: kompakt anschliessen */
  .page-hero + .section--tight{padding-top:32px !important}
  /* gw-facts Cards kleiner & enger */
  .gw-facts{margin-bottom:32px;gap:12px}
  .gw-fact{padding:18px 16px}
  .gw-fact-num{font-size:30px}
  .gw-fact-num small{font-size:13px}
  .gw-fact p{font-size:13px;line-height:1.5}
  /* gw-card Standard + Featured kompakter */
  .gw-grid{gap:16px}
  .gw-card{padding:24px 22px}
  .gw-card h2{font-size:24px}
  .gw-card-h p{font-size:14px}
  .gw-tag{font-size:11px;padding:5px 10px}
  .gw-list li{font-size:14px;padding:6px 0 6px 28px}
  .gw-list li::before{top:8px;left:0;width:18px;height:18px;font-size:11px}
  .gw-card-foot{flex-direction:column;align-items:flex-start;gap:10px;padding-top:14px}
  .gw-card-foot small{font-size:12.5px}
  /* sp-cta-section am Ende */
  .sp-cta-section{padding-top:24px !important;padding-bottom:32px !important}
}
@media (max-width:480px){
  .gw-card{padding:20px 18px}
  .gw-card h2{font-size:22px}
  .gw-fact-num{font-size:26px}
}

/* ====================================================================
 * fahrzeuge.php Filter-Sidebar Smartphone-Fix
 * ================================================================ */
@media (max-width:768px){
  /* Search-Bar: Input + Filter-Button gestapelt */
  .search-bar{flex-direction:column;align-items:stretch;gap:10px;padding:10px;border-radius:14px}
  .search-bar-input input{padding:12px 40px 12px 44px;font-size:15px}
  .search-bar-submit{
    display:flex !important;width:100%;justify-content:center;
    padding:14px 20px !important;font-size:13px !important;letter-spacing:.4px !important;
  }
  /* Sidebar-Drawer: oberhalb fixed Header, mit eigenem Scroll */
  .search-side{
    width:90% !important;max-width:380px;
    z-index:200 !important;
    overflow-y:auto;padding:0 0 80px;
  }
  .search-side.is-open ~ .search-main::before{z-index:199}
  /* Filter-Head sticky innerhalb Drawer */
  .filter-head{padding:18px 20px 12px;margin:0;border-radius:0}
  .filter-head h3{font-size:14px}
  .sidebar-close{display:flex !important;align-items:center;justify-content:center}
  /* Apply-Button am Boden des Drawers */
  .sidebar-apply{
    display:block !important;position:sticky;bottom:0;left:0;right:0;
    margin:0;width:auto;padding:14px 20px;
    background:#fff;border-top:1px solid var(--c-line);
    border-radius:0;
  }
  .sidebar-apply .btn{width:100%;padding:14px 20px;font-size:13px}
  /* Filter-Block kompakter */
  .filter-block{margin:0 16px;padding:12px 0}
  .filter-block summary{font-size:13.5px;padding:8px 0}
  .filter-list{max-height:280px;overflow-y:auto;padding:8px 0}
  .chk{font-size:13px;padding:6px 0}
  /* Range-Slider Inputs: 2 Spalten kompakt */
  .rng-inputs{display:flex !important;gap:8px}
  .rng-inputs input{flex:1;width:auto !important;font-size:13px !important;padding:10px 12px !important;min-width:0}
  .rng-thumb{pointer-events:auto !important}
  /* Body-Scroll-Lock wenn Drawer offen (verstaerken) */
  body:has(.search-side.is-open){overflow:hidden;touch-action:none}
}

/* ====================================================================
 * Static Map-Card (Privacy: kein iframe, nur lokales Bild + OSM-Link)
 * ================================================================ */
.map-card--static{
  display:block;position:relative;z-index:1;
  height:auto !important;width:100%;
  border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:var(--shadow-1);border:1px solid var(--c-line);
  margin-bottom:20px;background:transparent;
  text-decoration:none;color:inherit;
  -webkit-tap-highlight-color:rgba(219,76,0,.2);
  transition:transform var(--t-base),box-shadow var(--t-base);
}
a.map-card--static{cursor:pointer}
/* Hover-Effekte nur auf echten Mouse-Geraeten - verhindert Touch-Hover-Lock */
@media (hover:hover) and (pointer:fine){
  .map-card--static:hover{transform:translateY(-2px);box-shadow:var(--shadow-2)}
  .map-card--static:hover img{filter:brightness(1.04)}
}
.map-card--static picture,.map-card--static img{
  display:block;width:100%;height:auto;
  pointer-events:none;
  transition:filter var(--t-base);
}
