@font-face{font-family:'Bebas Neue';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/bebas-neue-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Bebas Neue';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/bebas-neue-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/hanken-grotesk-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/hanken-grotesk-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

html{scroll-behavior:smooth}
*,*::before,*::after{box-sizing:border-box}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important}
}

/* Scroll progress (top bar above topbar) */
.scroll-progress{
  position:fixed;
  top:0;left:0;right:0;
  height:2px;
  background:rgba(255,255,255,.06);
  z-index:200;
  pointer-events:none;
}
.scroll-progress span{
  display:block;
  width:100%;height:100%;
  background:linear-gradient(90deg,var(--accent),var(--primary-bright));
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .12s linear;
}

/* Hero 3D particle canvas — disabled */
.hero-canvas{display:none !important}
.cursor-halo{display:none !important}

/* Scroll-Reveal System */
[data-reveal]{
  opacity:0;
  transform:translate3d(0,28px,0);
  transition:opacity .9s var(--ease),transform .9s var(--ease);
  will-change:opacity,transform;
}
[data-reveal="fade"]{transform:none}
[data-reveal="scale"]{transform:scale(.96);transform-origin:center}
[data-reveal="left"]{transform:translate3d(-40px,0,0)}
[data-reveal="right"]{transform:translate3d(40px,0,0)}
[data-reveal].in-view{opacity:1;transform:translate3d(0,0,0) scale(1)}
[data-reveal-delay="1"]{transition-delay:.08s}
[data-reveal-delay="2"]{transition-delay:.16s}
[data-reveal-delay="3"]{transition-delay:.24s}
[data-reveal-delay="4"]{transition-delay:.32s}
[data-reveal-delay="5"]{transition-delay:.4s}
[data-reveal-delay="6"]{transition-delay:.48s}
[data-reveal-delay="7"]{transition-delay:.56s}

/* Modern Button: sliding fill + lift */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:14px 28px;
  font-family:var(--font-body);
  font-weight:700;
  font-size:.78rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  border:1.5px solid transparent;
  transition:all .35s var(--ease);
  white-space:nowrap;
  cursor:pointer;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  border-radius:6px;
}
.btn::before{display:none}
.btn-primary{background:var(--primary);color:#fff;box-shadow:0 4px 12px rgba(6,76,114,.18);transition:background-color .2s ease,box-shadow .2s ease}
.btn-primary:hover{background:var(--primary-bright);box-shadow:0 6px 16px rgba(6,76,114,.25)}
.btn-accent{background:var(--accent);color:var(--btn-accent-text);transition:background-color .2s ease,box-shadow .2s ease}
.btn-accent:hover{background:var(--accent-bright);box-shadow:0 6px 16px rgba(75,163,214,.4)}
.btn-ghost{border-color:var(--border-strong);color:var(--text);background:transparent;transition:background-color .2s ease,color .2s ease,border-color .2s ease}
.btn-ghost:hover{background:var(--primary);color:#fff;border-color:var(--primary)}
.btn-dark{background:var(--btn-dark-bg);color:var(--btn-dark-text);border-color:var(--btn-dark-bg);transition:background-color .2s ease,border-color .2s ease}
.btn-dark:hover{background:var(--primary);border-color:var(--primary)}
.btn-lg{padding:18px 32px;font-size:.82rem}
.btn-sm{padding:10px 16px;font-size:.7rem}
.btn-block{width:100%}

/* Marquee Strip */
.marquee{
  background:var(--primary);
  color:#fff;
  overflow:hidden;
  position:relative;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.marquee-track{
  display:flex;
  gap:48px;
  padding:18px 0;
  white-space:nowrap;
  animation:marquee 38s linear infinite;
  width:max-content;
}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-item{
  display:inline-flex;
  align-items:center;
  gap:48px;
  font-size:.84rem;
  letter-spacing:.32em;
  text-transform:uppercase;
  font-weight:700;
  color:rgba(255,255,255,.85);
}
.marquee-item .dot{
  width:8px;height:8px;
  background:var(--accent);
  border-radius:50%;
  display:inline-block;
  flex-shrink:0;
}
@keyframes marquee{
  0%{transform:translate3d(0,0,0)}
  100%{transform:translate3d(-50%,0,0)}
}

/* Gradient mesh ambient blobs (decorative) */
.mesh-bg{
  position:absolute;
  inset:-20%;
  pointer-events:none;
  z-index:0;
  opacity:.5;
  filter:blur(70px);
}
.mesh-bg::before,.mesh-bg::after{
  content:"";
  position:absolute;
  border-radius:50%;
}
.mesh-bg::before{
  width:380px;height:380px;
  top:8%;left:-6%;
  background:radial-gradient(circle,rgba(6,76,114,.32),transparent 70%);
}
.mesh-bg::after{
  width:320px;height:320px;
  bottom:-6%;right:4%;
  background:radial-gradient(circle,rgba(75,163,214,.28),transparent 70%);
}
[data-theme="dark"] .mesh-bg::before{background:radial-gradient(circle,rgba(75,163,214,.22),transparent 70%)}
[data-theme="dark"] .mesh-bg::after{background:radial-gradient(circle,rgba(75,163,214,.14),transparent 70%)}

/* Image hover effects on car-cards */
.car-card[data-tilt]{transform-style:preserve-3d;backface-visibility:hidden}
.car-card .car-media img{transition:transform .8s var(--ease),filter .4s var(--ease);will-change:transform}
.car-card:hover .car-media img{transform:scale(1.08);filter:brightness(1.05) saturate(1.08)}
.car-card .car-media::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 50%,rgba(3,42,68,.35) 100%);
  opacity:0;
  transition:opacity .35s var(--ease);
  z-index:1;
  pointer-events:none;
}
.car-card:hover .car-media::before{opacity:1}
.car-card .car-tag{transition:transform .35s var(--ease)}
.car-card:hover .car-tag{transform:translateY(-3px)}

/* Brand-card */
.brand-card{position:relative;overflow:hidden}

/* Search panel: lift on hover */
.search-panel{transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.search-panel:hover{box-shadow:0 24px 60px rgba(6,76,114,.15),0 6px 18px rgba(6,76,114,.08),inset 0 1px 0 rgba(255,255,255,.7)}

/* Hero subtle scroll cue */
.hero{position:relative}
.scroll-cue{
  position:absolute;
  bottom:30px;left:50%;
  transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:10px;
  color:rgba(255,255,255,.7);
  font-size:.62rem;letter-spacing:.32em;text-transform:uppercase;
  font-weight:700;
  z-index:3;
  pointer-events:none;
}
.scroll-cue-line{
  width:1px;height:50px;
  background:linear-gradient(180deg,transparent,rgba(255,255,255,.5),transparent);
  position:relative;
  overflow:hidden;
}
.scroll-cue-line::after{
  content:"";
  position:absolute;
  top:-50%;left:0;right:0;height:50%;
  background:linear-gradient(180deg,transparent,var(--accent));
  animation:scrollCue 2.2s var(--ease) infinite;
}
@keyframes scrollCue{
  0%{top:-50%}
  100%{top:100%}
}
@media(max-width:768px){.scroll-cue{display:none}}

:root,
[data-theme="light"]{
  --bg:#ffffff;
  --bg-elev:#fafaf9;
  --bg-card:#ffffff;
  --surface:#f5f5f4;
  --border:#e7e5e4;
  --border-strong:#d6d3d1;
  --text:#0a0a0a;
  --text-body:#1c1917;
  --text-muted:#57534e;
  --text-dim:#a8a29e;
  --primary:#064c72;
  --primary-bright:#0a6896;
  --primary-deep:#032a44;
  --accent:#4ba3d6;
  --accent-bright:#6db8e0;
  --accent-deep:#2a7caf;
  --copper:#0a0a0a;
  --copper-bright:#1c1917;
  --copper-deep:#000000;
  --seat:#ff5c2c;
  --success:#16a34a;
  --danger:#dc2626;
  --nav-bg:rgba(255,255,255,.7);
  --topbar-bg:#0a0a0a;
  --footer-bg:#0a0a0a;
  --hero-overlay:linear-gradient(180deg,rgba(10,10,10,.15) 0%,rgba(10,10,10,.25) 45%,rgba(10,10,10,.7) 85%,rgba(10,10,10,.88) 100%);
  --page-head-glow:radial-gradient(circle at 90% 20%,rgba(10,10,10,.04),transparent 60%);
  --action-fade:linear-gradient(90deg,#0a0a0a 0%,rgba(10,10,10,.4) 100%);
  --map-fade:linear-gradient(180deg,transparent,rgba(255,255,255,.7));
  --btn-primary-text:#ffffff;
  --btn-accent-text:#ffffff;
  --btn-dark-bg:#0a0a0a;
  --btn-dark-text:#fff;
  --photo-fallback:linear-gradient(135deg,#e7e5e4,#f5f5f4);
  --photo-filter:none;
  --shadow-1:0 1px 2px rgba(10,10,10,.04);
  --shadow-2:0 24px 60px rgba(10,10,10,.08),0 4px 12px rgba(10,10,10,.04);
  --radius:4px;
  --radius-lg:12px;
  --container:1320px;
  --ease:cubic-bezier(.2,.7,.2,1);
}

[data-theme="dark"]{
  --bg:#0a0a0a;
  --bg-elev:#141414;
  --bg-card:#1a1a1a;
  --surface:#1f1f1f;
  --border:#2a2a2a;
  --border-strong:#3a3a3a;
  --text:#fafafa;
  --text-body:#e7e5e4;
  --text-muted:#a8a29e;
  --text-dim:#78716c;
  --primary:#4ba3d6;
  --primary-bright:#6db8e0;
  --primary-deep:#064c72;
  --accent:#7ec5ea;
  --accent-bright:#a3d6ef;
  --accent-deep:#4ba3d6;
  --copper:#fafafa;
  --copper-bright:#ffffff;
  --copper-deep:#a8a29e;
  --nav-bg:rgba(10,10,10,.75);
  --topbar-bg:#000000;
  --footer-bg:#000000;
  --hero-overlay:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,0) 50%,rgba(10,10,10,.65) 100%);
  --page-head-glow:radial-gradient(circle at 90% 20%,rgba(255,255,255,.04),transparent 60%);
  --action-fade:linear-gradient(90deg,#000 0%,rgba(0,0,0,.3) 100%);
  --map-fade:linear-gradient(180deg,transparent,rgba(10,10,10,.6));
  --btn-primary-text:#0a0a0a;
  --btn-accent-text:#ffffff;
  --btn-dark-bg:#000;
  --btn-dark-text:#fff;
  --photo-fallback:linear-gradient(135deg,#2a2a2a,#1a1a1a);
  --photo-filter:grayscale(8%) contrast(1.02);
  --shadow-1:0 1px 2px rgba(0,0,0,.4);
  --shadow-2:0 12px 40px rgba(0,0,0,.5);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-body);
  font-weight:400;
  font-size:15px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
  transition:background-color .3s var(--ease),color .3s var(--ease);
}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
input,select,textarea{font:inherit;color:inherit}

.container{max-width:var(--container);margin:0 auto;padding:0 24px}
@media(min-width:1024px){.container{padding:0 40px}}

h1,h2,h3,h4{font-family:var(--font-body);font-weight:700;letter-spacing:-.015em;line-height:1.15;color:var(--text)}
h1{font-size:clamp(1.9rem,4.2vw,3.4rem);font-weight:800;letter-spacing:-.02em;line-height:1.1}
h2{font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:700;letter-spacing:-.01em}
h3{font-size:clamp(1.05rem,1.4vw,1.2rem);font-weight:700}
.eyebrow{
  font-family:var(--font-body);
  font-size:.7rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--primary);
  font-weight:700;
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:16px;
}
.eyebrow::before{content:"";width:20px;height:2px;background:var(--accent-deep)}

/* Fahrzeugsuche Glass-Panel (Apple-Style) */
.fahrzeugsuche{
  position:relative;
  padding:0 0 60px;
  margin-top:-120px;
  z-index:5;
}
.search-panel{
  background:rgba(255,255,255,.55);
  backdrop-filter:blur(36px) saturate(200%);
  -webkit-backdrop-filter:blur(36px) saturate(200%);
  border:1px solid rgba(255,255,255,.55);
  border-radius:20px;
  box-shadow:
    0 30px 80px rgba(6,76,114,.18),
    0 8px 24px rgba(6,76,114,.08),
    inset 0 1px 0 rgba(255,255,255,.7);
  padding:32px 36px;
  display:grid;
  grid-template-columns:1fr;
  gap:24px;
  position:relative;
}
.search-panel::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:20px;
  background:linear-gradient(135deg,rgba(255,255,255,.4) 0%,rgba(255,255,255,0) 50%);
  pointer-events:none;
  z-index:0;
}
.search-panel > *{position:relative;z-index:1}
[data-theme="dark"] .search-panel{
  background:rgba(18,26,38,.5);
  border-color:rgba(255,255,255,.1);
  box-shadow:
    0 30px 80px rgba(0,0,0,.5),
    0 8px 24px rgba(0,0,0,.3),
    inset 0 1px 0 rgba(255,255,255,.08);
}
[data-theme="dark"] .search-panel::before{
  background:linear-gradient(135deg,rgba(255,255,255,.05) 0%,rgba(255,255,255,0) 50%);
}
.search-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:16px;
  border-bottom:1px solid rgba(6,76,114,.12);
  padding-bottom:20px;
}
[data-theme="dark"] .search-panel-head{border-bottom-color:rgba(255,255,255,.1)}
.search-panel-head h2{font-size:clamp(1.25rem,1.8vw,1.5rem);margin:0;line-height:1.2}
.search-panel-head h2 em{font-style:normal;color:var(--primary);font-weight:inherit}
[data-theme="dark"] .search-panel-head h2 em{color:var(--accent)}
.search-form{
  display:grid;
  grid-template-columns:repeat(4,1fr) auto;
  gap:14px;
  align-items:end;
}
@media(max-width:1024px){.search-form{grid-template-columns:repeat(2,1fr);gap:16px}}
@media(max-width:560px){.search-form{grid-template-columns:1fr}}
.search-field{display:flex;flex-direction:column;gap:8px}
.search-field label{
  font-size:.68rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--text-muted);
  font-weight:700;
}
.select-wrap{position:relative}
.select-wrap select{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  padding:13px 40px 13px 16px;
  background:rgba(255,255,255,.55);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(6,76,114,.18);
  border-radius:12px;
  font-family:inherit;
  font-size:.92rem;
  font-weight:600;
  color:var(--text);
  cursor:pointer;
  transition:all .2s var(--ease);
}
[data-theme="dark"] .select-wrap select{
  background:rgba(255,255,255,.05);
  border-color:rgba(255,255,255,.12);
}
.select-wrap select:hover{
  background:rgba(255,255,255,.75);
  border-color:rgba(6,76,114,.35);
}
[data-theme="dark"] .select-wrap select:hover{
  background:rgba(255,255,255,.1);
  border-color:rgba(255,255,255,.25);
}
.select-wrap select:focus{
  outline:0;
  border-color:var(--primary);
  box-shadow:0 0 0 4px rgba(6,76,114,.15);
}
[data-theme="dark"] .select-wrap select:focus{
  box-shadow:0 0 0 4px rgba(75,163,214,.2);
}
.select-wrap select option{
  background:#ffffff;
  color:#1e293b;
  font-weight:500;
  padding:8px;
}
[data-theme="dark"] .select-wrap select option{
  background:#1a2230;
  color:#f9fafb;
}
.select-wrap .chev{
  position:absolute;
  right:14px;top:50%;
  transform:translateY(-50%);
  width:16px;height:16px;
  color:var(--text-muted);
  pointer-events:none;
}
.search-submit{
  background:var(--primary);
  color:#fff;
  border:0;
  padding:14px 28px;
  font-family:inherit;
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.06em;
  display:inline-flex;
  align-items:center;
  gap:12px;
  cursor:pointer;
  transition:background-color .2s ease,box-shadow .2s ease;
  white-space:nowrap;
  height:50px;
  border-radius:8px;
  box-shadow:0 6px 18px rgba(6,76,114,.22);
  position:relative;
  overflow:hidden;
}
.search-submit::before{display:none}
.search-submit:hover{
  background:var(--primary-bright);
  box-shadow:0 8px 24px rgba(6,76,114,.3);
}
.search-submit svg{width:16px;height:16px}
.search-submit strong{font-weight:800;color:#fff}
@media(max-width:1024px){
  .search-submit{grid-column:1/-1;justify-content:center;height:54px}
}
@media(max-width:560px){
  .search-panel{padding:24px 22px;border-radius:18px}
}

/* Trust strip — clean, no overlap */
.trust-strip{
  padding:48px 0 0;
  background:var(--bg);
}
.trust-strip-inner{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
@media(max-width:768px){.trust-strip-inner{grid-template-columns:repeat(2,1fr)}}
.trust-item{
  padding:28px 24px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:6px;
  border-right:1px solid var(--border);
  background:var(--bg);
}
.trust-item:last-child{border-right:0}
@media(max-width:768px){
  .trust-item:nth-child(2){border-right:0}
  .trust-item:nth-child(odd){border-right:1px solid var(--border)}
  .trust-item:nth-child(1),.trust-item:nth-child(2){border-bottom:1px solid var(--border)}
}
.trust-item strong{
  font-family:var(--font-body);
  font-size:2rem;
  font-weight:800;
  color:var(--text);
  line-height:1;
  letter-spacing:-.02em;
}
.trust-item span{
  font-size:.68rem;
  color:var(--text-muted);
  letter-spacing:.22em;
  text-transform:uppercase;
  font-weight:600;
  margin-top:2px;
}
.trust-stars{
  display:flex;
  gap:3px;
  color:#fbbf24;
  margin:4px 0 2px;
}
.trust-stars svg{width:20px;height:20px}

/* === Page Transition Overlay === */
.page-transition{
  position:fixed;
  inset:0;
  z-index:9999;
  pointer-events:none;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:0;
  visibility:hidden;
  transition:opacity .2s ease, visibility 0s linear .2s;
  background:rgba(255,255,255,.6);
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
}
[data-theme="dark"] .page-transition{background:rgba(10,10,10,.6)}

.page-transition-bg{display:none}

.page-transition-content{
  position:relative;
  width:84px;
  height:84px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.page-transition-logo{
  width:54px;
  height:54px;
  border-radius:50%;
  overflow:hidden;
  background:#fff;
  box-shadow:0 6px 18px rgba(0,0,0,.12);
  position:relative;
  z-index:2;
}
.page-transition-logo img{width:100%;height:100%;object-fit:cover;display:block}

.page-transition-spinner{
  position:absolute;
  inset:0;
  width:84px;
  height:84px;
  margin:0;
  border:3px solid transparent;
  border-top-color:var(--primary);
  border-right-color:var(--primary);
  border-radius:50%;
  animation:transitionSpin .9s linear infinite;
  z-index:1;
}
[data-theme="dark"] .page-transition-spinner{
  border-top-color:var(--accent);
  border-right-color:var(--accent);
}
@keyframes transitionSpin{to{transform:rotate(360deg)}}

.page-transition.is-leaving,
.page-transition.is-entering{
  opacity:1;
  visibility:visible;
  transition:opacity .2s ease;
}

@media(prefers-reduced-motion:reduce){
  .page-transition,.page-transition *{animation:none !important;transition:none !important}
  .page-transition{display:none !important}
}

/* === Icon-System === */
.ico{width:14px;height:14px;flex-shrink:0;stroke-width:1.8;vertical-align:middle}
.ico-star{width:11px;height:11px;flex-shrink:0}
.ico-arrow{width:14px;height:14px;flex-shrink:0;stroke-width:2}

.topbar{
  background:var(--topbar-bg);
  border-bottom:0;
  font-size:.72rem;
  color:rgba(255,255,255,.78);
  font-weight:500;
}
.topbar a{color:rgba(255,255,255,.78);transition:color .2s var(--ease);display:inline-flex;align-items:center;gap:8px}
.topbar-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:34px;
  gap:24px;
}
.topbar a:hover{color:var(--accent)}
.topbar .contact-strip{display:flex;gap:24px;align-items:center}
.topbar .contact-strip > span{display:inline-flex;align-items:center;gap:7px;color:rgba(255,255,255,.78)}
.topbar .contact-strip .ico{width:12px;height:12px}
.topbar .rating{display:flex;align-items:center;gap:8px}
.topbar .rating .stars{display:inline-flex;gap:2px;color:#fbbf24}
.topbar .rating .ico-star.is-off{opacity:.3}
.topbar .rating .ico-star{
  width:14px;
  height:14px;
  filter:drop-shadow(0 1px 2px rgba(251,191,36,.4));
}
.topbar .open-status{
  display:inline-flex;align-items:center;gap:7px;
  padding:4px 10px;
  background:rgba(75,163,214,.16);
  border:1px solid rgba(75,163,214,.32);
  border-radius:99px;
  color:var(--accent);
  font-weight:600;
}
.topbar .open-status::before{
  content:"";width:6px;height:6px;border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 0 0 rgba(75,163,214,.6);
  animation:livePulse 2.4s var(--ease) infinite;
}
@keyframes livePulse{
  0%{box-shadow:0 0 0 0 rgba(75,163,214,.55)}
  70%{box-shadow:0 0 0 6px rgba(75,163,214,0)}
  100%{box-shadow:0 0 0 0 rgba(75,163,214,0)}
}
.topbar .socials{display:flex;gap:4px}
.topbar .socials a{
  width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:50%;
  transition:background .2s var(--ease),color .2s var(--ease);
}
.topbar .socials a:hover{background:rgba(255,255,255,.12);color:var(--accent)}
.topbar .socials svg{width:13px;height:13px}
@media(max-width:900px){
  .topbar .contact-strip > span:not(.tel){display:none}
  .topbar .socials{display:none}
  .topbar .open-status{display:none}
}

.nav{
  background:rgba(255,255,255,.7);
  backdrop-filter:saturate(180%) blur(24px);
  -webkit-backdrop-filter:saturate(180%) blur(24px);
  border-bottom:1px solid rgba(6,76,114,.06);
  position:sticky;top:0;z-index:100;
  transition:background .35s var(--ease),box-shadow .35s var(--ease),height .3s var(--ease),border-color .3s var(--ease);
}
[data-theme="dark"] .nav{
  background:rgba(10,14,20,.75);
  border-bottom-color:rgba(255,255,255,.08);
}
.nav.scrolled{
  background:rgba(255,255,255,.92);
  box-shadow:0 8px 32px rgba(6,76,114,.1),0 2px 8px rgba(6,76,114,.04);
  border-bottom-color:transparent;
}
[data-theme="dark"] .nav.scrolled{
  background:rgba(10,14,20,.95);
  box-shadow:0 8px 32px rgba(0,0,0,.4);
}
.nav-inner{
  display:flex;
  align-items:center;
  height:80px;
  gap:28px;
  transition:height .3s var(--ease);
}
.nav.scrolled .nav-inner{height:64px}
.nav-inner .nav-links{margin-left:auto}
.brand{display:flex;align-items:center;transition:transform .3s var(--ease)}
.brand:hover{transform:scale(.98)}
.brand-mark{
  width:60px;height:60px;
  display:block;
  flex-shrink:0;
  overflow:hidden;
  border-radius:8px;
  transition:width .3s var(--ease),height .3s var(--ease),border-radius .3s var(--ease);
  box-shadow:0 4px 12px rgba(6,76,114,.12);
}
.nav.scrolled .brand-mark{width:48px;height:48px;border-radius:6px}
.brand-mark img{width:100%;height:100%;object-fit:cover;display:block}

.nav-links{display:flex;gap:4px;align-items:center}
.nav-links a{
  padding:11px 18px;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--text);
  transition:color .25s var(--ease),background .25s var(--ease),transform .25s var(--ease);
  position:relative;
  border-radius:99px;
}
.nav-links a:hover{
  color:var(--primary);
  background:linear-gradient(135deg,rgba(6,76,114,.07),rgba(75,163,214,.05));
}
[data-theme="dark"] .nav-links a:hover{background:linear-gradient(135deg,rgba(126,197,234,.12),rgba(255,255,255,.04))}
.nav-links a.active{
  color:#fff;
  background:linear-gradient(135deg,var(--primary) 0%,var(--accent-deep) 100%);
  box-shadow:0 6px 18px -4px rgba(6,76,114,.45);
}
.nav-links a.active:hover{
  color:#fff;
  background:linear-gradient(135deg,var(--primary-bright) 0%,var(--accent) 100%);
}
[data-theme="dark"] .nav-links a.active{
  background:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%);
  color:#0a0a0a;
  box-shadow:0 6px 18px -4px rgba(75,163,214,.45);
}
.nav-links a::before,.nav-links a::after{display:none}
@media(max-width:1024px){.nav-links{display:none}}
@media(max-width:1024px){.nav-inner .nav-cta{margin-left:auto}}

.nav-cta{display:flex;gap:6px;align-items:center}
.nav-cta .btn-sm{padding:11px 18px;font-size:.7rem;letter-spacing:.1em}

/* Bestand button: subtle, ghost-style, kein primary-fill */
.nav-cta-bestand{
  background:transparent !important;
  color:var(--text) !important;
  border:1px solid var(--border) !important;
  padding:9px 16px !important;
  font-size:.72rem !important;
  font-weight:600 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase;
  border-radius:4px;
  transition:border-color .2s var(--ease),color .2s var(--ease) !important;
  box-shadow:none !important;
}
.nav-cta-bestand:hover{
  background:transparent !important;
  border-color:var(--primary) !important;
  color:var(--primary) !important;
  transform:none !important;
}
.nav-cta-bestand::before,
.nav-cta-bestand::after{display:none !important;content:none !important}

@media(max-width:1024px){
  .nav-cta > a{display:none}
}

.brand-strip{
  display:flex;
  align-items:center;
  gap:22px;
  padding-left:22px;
  margin-left:6px;
  border-left:1px solid var(--border);
  height:54px;
}
.brand-strip a{
  display:inline-flex;
  align-items:center;
  height:46px;
  opacity:.95;
  transition:opacity .2s var(--ease);
}
.brand-strip a:hover{opacity:1}
.brand-strip img{height:42px;width:auto;display:block;object-fit:contain}
@media(max-width:1180px){.brand-strip{display:none}}

.quick-bar{
  position:fixed;
  bottom:24px;right:24px;
  display:flex;
  flex-direction:column-reverse;
  align-items:flex-end;
  gap:12px;
  z-index:90;
}
.quick-bar-toggle{
  display:none;
  width:58px;height:58px;
  background:linear-gradient(135deg,var(--primary) 0%,var(--accent-deep) 100%);
  color:#fff;
  border:0;
  border-radius:50%;
  box-shadow:0 12px 32px rgba(6,76,114,.45),0 0 0 0 rgba(6,76,114,.3);
  cursor:pointer;
  place-items:center;
  transition:transform .25s ease,box-shadow .25s ease;
  animation:qb-pulse 2.6s ease-in-out infinite;
}
@keyframes qb-pulse{
  0%,100%{box-shadow:0 12px 32px rgba(6,76,114,.45),0 0 0 0 rgba(6,76,114,.4)}
  50%{box-shadow:0 12px 32px rgba(6,76,114,.45),0 0 0 14px rgba(6,76,114,0)}
}
.quick-bar.is-open .quick-bar-toggle{animation:none}
.quick-bar-toggle:hover{transform:scale(1.05)}
.quick-bar-toggle svg{width:24px;height:24px;transition:opacity .2s ease,transform .25s ease;position:absolute}
.quick-bar-toggle .qb-icon-close{opacity:0;transform:rotate(-90deg)}
.quick-bar.is-open .quick-bar-toggle{transform:rotate(45deg)}
.quick-bar.is-open .qb-icon-open{opacity:0;transform:rotate(90deg)}
.quick-bar.is-open .qb-icon-close{opacity:1;transform:rotate(0)}
.quick-bar-items{
  display:flex;
  flex-direction:column-reverse;
  gap:12px;
  align-items:flex-end;
}
.quick-bar-items a{
  width:50px;height:50px;
  background:var(--primary);
  color:#fff;
  display:grid;place-items:center;
  border-radius:50%;
  box-shadow:0 8px 24px rgba(6,76,114,.35);
  transition:background-color .2s ease,transform .2s ease;
  position:relative;
}
.quick-bar-items a:hover{background:var(--primary-bright);transform:scale(1.06)}
.quick-bar-items a svg{width:20px;height:20px}
/* WhatsApp grün anders einfärben */
.quick-bar-items a[aria-label="WhatsApp"]{background:#25d366}
.quick-bar-items a[aria-label="WhatsApp"]:hover{background:#22c55e}
/* Termin gelb akzent */
.quick-bar-items a[aria-label="Termin"]{background:#f59e0b;color:#fff}
.quick-bar-items a[aria-label="Termin"]:hover{background:#fbbf24}

@media(max-width:768px){
  .quick-bar{display:none}
  .mobile-nav .mobile-nav-icon{display:none}
  .quick-bar-toggle{display:grid}
  .quick-bar-items{
    opacity:0;
    transform:translateY(20px) scale(.85);
    pointer-events:none;
    transition:opacity .25s ease,transform .3s cubic-bezier(.34,1.56,.64,1);
  }
  .quick-bar.is-open .quick-bar-items{
    opacity:1;
    transform:translateY(0) scale(1);
    pointer-events:auto;
  }
  .quick-bar-items a{
    width:48px;height:48px;
    transform-origin:bottom right;
  }
  /* Staggered Reveal pro Button */
  .quick-bar.is-open .quick-bar-items a:nth-child(1){transition-delay:.05s}
  .quick-bar.is-open .quick-bar-items a:nth-child(2){transition-delay:.1s}
  .quick-bar.is-open .quick-bar-items a:nth-child(3){transition-delay:.15s}
  .quick-bar-items a svg{width:20px;height:20px}
}

.theme-toggle{
  width:36px;height:36px;
  display:inline-grid;
  place-items:center;
  border:0;
  background:transparent;
  color:var(--text-muted);
  cursor:pointer;
  transition:color .2s var(--ease);
  position:relative;
  padding:0;
}
.theme-toggle:hover{color:var(--primary)}
.theme-toggle svg{position:absolute;width:18px;height:18px;transition:opacity .25s var(--ease),transform .35s var(--ease)}
.theme-toggle .sun{opacity:0;transform:rotate(-90deg) scale(.6)}
.theme-toggle .moon{opacity:1;transform:rotate(0) scale(1)}
[data-theme="light"] .theme-toggle .sun{opacity:1;transform:rotate(0) scale(1)}
[data-theme="light"] .theme-toggle .moon{opacity:0;transform:rotate(90deg) scale(.6)}

/* === Modern Mobile Menu === */
.mobile-menu{
  position:fixed;
  top:0;right:0;
  width:min(420px,92vw);
  height:100vh;
  height:100dvh;
  background:var(--bg);
  border-left:1px solid var(--border);
  z-index:200;
  transform:translateX(105%);
  transition:transform .42s var(--ease);
  overflow-y:auto;
  overflow-x:hidden;
  display:flex;
  flex-direction:column;
  box-shadow:-20px 0 60px rgba(0,0,0,.15);
  -webkit-overflow-scrolling:touch;
}
[data-theme="dark"] .mobile-menu{box-shadow:-20px 0 60px rgba(0,0,0,.5)}
.mobile-menu.is-open{transform:translateX(0)}

.mobile-menu-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:20px 24px;
  border-bottom:1px solid var(--border);
  flex-shrink:0;
  position:sticky;
  top:0;
  background:var(--bg);
  z-index:5;
}
.mobile-brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color:inherit;
}
.mobile-brand .brand-mark{
  width:42px;
  height:42px;
  border-radius:8px;
  overflow:hidden;
  flex-shrink:0;
}
.mobile-brand .brand-mark img{width:100%;height:100%;display:block}
.mobile-brand strong{
  display:block;
  font-size:.95rem;
  color:var(--text);
  font-weight:800;
  line-height:1.2;
  letter-spacing:-.01em;
}
.mobile-brand span{
  font-size:.72rem;
  color:var(--text-muted);
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:600;
}
.mobile-close{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:50%;
  color:var(--text);
  cursor:pointer;
  padding:0;
  transition:background .2s var(--ease),transform .2s var(--ease);
}
.mobile-close:hover,.mobile-close:active{background:var(--bg-elev);transform:rotate(90deg)}
.mobile-close svg{width:18px;height:18px}

.mobile-menu-body{
  flex:1;
  padding:8px 0;
  overflow-y:auto;
}

.mobile-nav{
  display:flex;
  flex-direction:column;
  padding:8px 12px;
}
.mobile-nav a{
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px 16px;
  color:var(--text);
  text-decoration:none;
  font-size:1.02rem;
  font-weight:600;
  border-radius:10px;
  transition:background .15s var(--ease);
  position:relative;
}
.mobile-nav a:active{background:var(--bg-elev)}
@media(hover:hover){.mobile-nav a:hover{background:var(--bg-elev)}}
.mobile-nav a.is-active{background:var(--bg-elev);color:var(--primary)}
.mobile-nav a.is-active::before{
  content:"";
  position:absolute;
  left:4px;
  top:50%;
  transform:translateY(-50%);
  width:3px;
  height:22px;
  background:var(--accent);
  border-radius:0 3px 3px 0;
}
.mobile-nav-icon{
  width:38px;
  height:38px;
  border-radius:9px;
  background:linear-gradient(135deg,var(--bg-elev),var(--surface));
  border:1px solid var(--border);
  display:grid;
  place-items:center;
  color:var(--primary);
  flex-shrink:0;
  transition:all .2s var(--ease);
}
.mobile-nav-icon svg{width:18px;height:18px}
.mobile-nav a.is-active .mobile-nav-icon{
  background:linear-gradient(135deg,var(--primary),var(--primary-bright));
  border-color:var(--primary);
  color:#fff;
}
.mobile-nav-label{flex:1}
.mobile-nav-arrow{
  width:16px;
  height:16px;
  color:var(--text-dim);
  flex-shrink:0;
  transition:transform .2s var(--ease),color .2s var(--ease);
}
.mobile-nav a:active .mobile-nav-arrow{transform:translateX(3px);color:var(--primary)}

.mobile-section{
  padding:18px 24px 4px;
  border-top:1px solid var(--border);
  margin-top:12px;
}
.mobile-section-title{
  font-size:.66rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--text-muted);
  font-weight:800;
  margin-bottom:14px;
}

.mobile-brand-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
}
.mobile-brand-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  padding:14px 8px;
  background:var(--bg-elev);
  border:1px solid var(--border);
  border-radius:10px;
  text-decoration:none;
  color:var(--text);
  transition:all .2s var(--ease);
}
.mobile-brand-card:active{transform:scale(.97);border-color:var(--primary)}
.mobile-brand-card img{
  height:24px;
  width:auto;
  max-width:100%;
  object-fit:contain;
  opacity:.85;
}
.mobile-brand-card span{
  font-size:.7rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:700;
  color:var(--text-muted);
}

.mobile-quick-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:8px;
}
.mobile-quick-card{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 12px;
  background:var(--bg-elev);
  border:1px solid var(--border);
  border-radius:10px;
  text-decoration:none;
  color:var(--text);
  transition:all .2s var(--ease);
}
.mobile-quick-card:active{transform:scale(.97);border-color:var(--primary)}
.mobile-quick-card svg{
  width:22px;
  height:22px;
  flex-shrink:0;
  color:var(--primary);
}
.mobile-quick-card div{min-width:0;flex:1}
.mobile-quick-card strong{
  display:block;
  font-size:.88rem;
  font-weight:700;
  color:var(--text);
  line-height:1.2;
}
.mobile-quick-card span{
  display:block;
  font-size:.74rem;
  color:var(--text-muted);
  margin-top:2px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.mobile-quick-wa svg{color:#25d366}
.mobile-quick-cal svg{color:var(--accent)}

.mobile-section-info{padding-top:16px}
.mobile-info-row{
  display:flex;
  align-items:center;
  gap:12px;
  padding:8px 0;
  color:var(--text-body);
  font-size:.86rem;
}
.mobile-info-row svg{
  width:18px;
  height:18px;
  color:var(--primary);
  flex-shrink:0;
}

.mobile-socials{
  display:flex;
  gap:10px;
  padding:18px 24px;
  border-top:1px solid var(--border);
  margin-top:12px;
}
.mobile-socials a{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  background:var(--bg-elev);
  border:1px solid var(--border);
  border-radius:50%;
  color:var(--text-body);
  transition:all .2s var(--ease);
}
.mobile-socials a:active{transform:scale(.92);background:var(--primary);color:#fff;border-color:var(--primary)}
.mobile-socials a svg{width:18px;height:18px}

.mobile-menu-foot{
  flex-shrink:0;
  padding:16px 24px;
  border-top:1px solid var(--border);
  background:var(--bg-elev);
  display:flex;
  flex-direction:column;
  gap:14px;
  position:sticky;
  bottom:0;
  padding-bottom:max(16px,env(safe-area-inset-bottom));
}
.mobile-theme-toggle{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:10px;
  cursor:pointer;
  color:var(--text);
  font-family:inherit;
  font-size:.88rem;
  font-weight:600;
  width:100%;
  justify-content:flex-start;
  transition:background .15s var(--ease);
}
.mobile-theme-toggle:active{background:var(--bg-elev)}
.mobile-theme-toggle svg{width:18px;height:18px}
.mobile-theme-toggle .sun{display:none}
.mobile-theme-toggle .moon{display:block}
[data-theme="dark"] .mobile-theme-toggle .sun{display:block}
[data-theme="dark"] .mobile-theme-toggle .moon{display:none}
.mobile-theme-label{margin-left:auto;font-size:.78rem;color:var(--text-muted);font-weight:600}

.mobile-legal{
  display:flex;
  gap:24px;
  justify-content:center;
  font-size:.78rem;
}
.mobile-legal a{
  color:var(--text-muted);
  text-decoration:none;
}
.mobile-legal a:active,.mobile-legal a:hover{color:var(--primary);text-decoration:underline}

.menu-backdrop{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.55);
  z-index:150;
  opacity:0;
  pointer-events:none;
  transition:opacity .35s var(--ease);
  backdrop-filter:blur(4px);
}
.menu-backdrop.is-open{opacity:1;pointer-events:auto}

/* Hamburger animated */
.mobile-toggle{
  width:40px;
  height:40px;
  background:transparent;
  border:0;
  cursor:pointer;
  padding:0;
  display:none;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  position:relative;
}
.mobile-toggle span{
  display:block;
  width:22px;
  height:2px;
  background:var(--text);
  border-radius:2px;
  transition:transform .3s var(--ease),opacity .2s var(--ease);
  transform-origin:center;
}
.mobile-toggle.is-active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.mobile-toggle.is-active span:nth-child(2){opacity:0}
.mobile-toggle.is-active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:900px){.mobile-toggle{display:inline-flex}}

/* prevent body scroll when mobile menu open */
body.no-scroll{overflow:hidden}

.hero{
  position:relative;
  min-height:clamp(620px,92vh,860px);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  isolation:isolate;
}
.hero-bg{
  position:absolute;inset:0;z-index:0;
  background-size:cover;background-position:center;
}
.hero-video{
  position:absolute;inset:0;z-index:0;
  width:100%;height:100%;
  object-fit:cover;
  pointer-events:none;
}
.hero::after{
  content:"";position:absolute;inset:0;z-index:1;
  background:var(--hero-overlay);
  pointer-events:none;
}
.hero-canvas{z-index:2}
.cursor-halo{z-index:3}
.hero-content{
  padding:120px 0 200px;
  width:100%;
  flex:1;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  position:relative;
  z-index:4;
}
.hero-content .eyebrow{margin-bottom:24px;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.hero-content .eyebrow::before{background:#fff}
.hero-content h1{max-width:920px;margin-bottom:28px;color:#fff;text-shadow:0 4px 24px rgba(0,0,0,.45)}
.hero-content h1 em{font-style:normal;color:#7ec5ea;font-weight:800;text-shadow:0 2px 16px rgba(0,0,0,.55)}
.hero-content p{
  max-width:560px;
  font-size:1.05rem;
  color:rgba(255,255,255,.92);
  margin-bottom:36px;
  text-shadow:0 2px 12px rgba(0,0,0,.5);
}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.hero-actions .btn{min-width:200px}
.hero-actions .btn-primary{background:var(--primary);color:#fff}
.hero-actions .btn-primary:hover{background:var(--primary-bright)}
.hero-actions .btn-ghost{color:#fff;border-color:rgba(255,255,255,.55)}
.hero-actions .btn-ghost:hover{color:var(--primary);border-color:#fff;background:#fff}
.action-banner .btn-ghost{color:#fff;border-color:rgba(255,255,255,.55)}
.action-banner .btn-ghost:hover{color:var(--primary);border-color:#fff;background:#fff}

.hero-meta{
  border-top:1px solid var(--border);
  background:var(--bg);
  flex-shrink:0;
}
.hero-meta-inner{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:var(--border);
}
.hero-meta-item{
  background:var(--bg);
  padding:24px;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.hero-meta-item strong{font-family:var(--font-body);font-size:1.7rem;font-weight:800;color:var(--primary);line-height:1}
.hero-meta-item span{font-size:.7rem;color:var(--text-muted);letter-spacing:.18em;text-transform:uppercase;font-weight:600}
@media(max-width:768px){
  .hero-meta-inner{grid-template-columns:repeat(2,1fr)}
  .hero-meta-item strong{font-size:1.3rem}
}

.section{padding:120px 0;position:relative}
.section-sm{padding:80px 0}
@media(max-width:768px){.section{padding:80px 0}}

.section-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:40px;
  margin-bottom:56px;
  flex-wrap:wrap;
}
.section-head h2{max-width:680px}
.section-head h2 em{font-style:normal;color:var(--primary);font-weight:inherit}
.section-head .eyebrow{margin-bottom:16px;display:flex}
.section-head p{color:var(--text-muted);max-width:420px}

.brands-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:var(--border);
  border:1px solid var(--border);
}
.brand-card{
  background:var(--bg-elev);
  padding:32px 24px 28px;
  display:flex;
  flex-direction:column;
  gap:0;
  transition:background-color .2s ease,border-color .2s ease;
  position:relative;
  overflow:hidden;
  min-height:340px;
}
.brand-card:hover{background:var(--bg-card)}
.brand-card::before{display:none}
.brand-card-logo{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px 12px;
  min-height:180px;
}
.brand-card-logo img{
  max-height:140px;
  max-width:85%;
  width:auto;
  height:auto;
  object-fit:contain;
  transition:opacity .2s ease,transform .25s ease;
}
.brand-card:hover .brand-card-logo img{opacity:.9;transform:scale(1.04)}
.brand-card .num{
  font-family:var(--font-body);
  font-size:.7rem;font-weight:700;
  color:var(--text-dim);
  letter-spacing:.28em;
}
.brand-card h3{margin:0 0 4px;font-size:1.05rem;color:var(--text);font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.brand-card p{color:var(--text-muted);font-size:.84rem;margin:0 0 14px;line-height:1.5}
.brand-card .arrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--text);
  transition:color .2s ease;
}
.brand-card:hover .arrow{color:var(--primary)}
.brand-card .arrow svg{flex-shrink:0}
@media(max-width:1024px){.brands-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){
  .brands-grid{grid-template-columns:1fr}
  .brand-card-logo{min-height:160px}
  .brand-card-logo img{max-height:120px}
}

.cars-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
@media(max-width:1024px){.cars-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.cars-grid{grid-template-columns:1fr}}

.car-card{
  background:var(--bg-card);
  border:1px solid var(--border);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transition:all .3s var(--ease);
  position:relative;
  box-shadow:var(--shadow-1);
  text-decoration:none;
  color:inherit;
  cursor:pointer;
}
.car-card:hover{border-color:var(--primary);transform:translateY(-3px);box-shadow:var(--shadow-2)}
.car-media{
  aspect-ratio:16/10;
  background:var(--surface);
  position:relative;
  overflow:hidden;
}
.car-media img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .6s var(--ease);
  display:block;
}
.car-media img[data-failed]{display:none}
.car-media-fallback{
  position:absolute;inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:
    radial-gradient(circle at 30% 30%,rgba(255,255,255,.04),transparent 60%),
    linear-gradient(135deg,#1c1917 0%,#0a0a0a 100%);
  color:rgba(255,255,255,.18);
  z-index:0;
}
.car-media-fallback svg{
  width:64%;
  max-width:280px;
  height:auto;
  stroke-width:1.2;
}
.car-media-fallback .brand-label{
  position:absolute;
  bottom:18px;
  left:50%;
  transform:translateX(-50%);
  font-family:var(--font-body);
  font-size:.62rem;
  letter-spacing:.36em;
  text-transform:uppercase;
  color:rgba(255,255,255,.5);
  font-weight:700;
  white-space:nowrap;
}
.car-media-fallback .fallback-text,.gallery-fallback .fallback-text{font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.4);font-weight:600;font-size:.72rem;text-align:center;padding:0 1rem}
.gallery-fallback .fallback-text{font-size:1rem;letter-spacing:.28em}
.car-card:hover .car-media img{transform:scale(1.04)}
.car-tag,
.car-tag-icon,
.car-fuel-icon{
  position:absolute;
  z-index:2;
}
.car-tag-icon{
  top:12px;left:12px;
  width:30px;height:30px;
  background:var(--accent);
  color:#1a1300;
  border-radius:50%;
  display:grid;
  place-items:center;
  box-shadow:0 4px 12px rgba(0,0,0,.25);
}
.car-tag-icon svg{width:14px;height:14px}

.car-fuel-icon{
  bottom:12px;left:12px;
  width:30px;height:30px;
  background:rgba(10,10,10,.72);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#fff;
}
.car-fuel-icon svg{width:14px;height:14px}
.car-fuel-icon.car-fuel-elektro{background:#16a34a;color:#fff}
.car-fuel-icon.car-fuel-hybrid,
.car-fuel-icon.car-fuel-plugin{background:#0891b2;color:#fff}

.car-fav{
  position:absolute;
  top:14px;right:14px;
  width:38px;height:38px;
  background:rgba(0,0,0,.55);
  backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,.15);
  display:grid;place-items:center;
  color:#fff;
  transition:all .2s var(--ease);
  cursor:pointer;
  z-index:2;
  border-radius:50%;
}
.car-fav svg{width:16px;height:16px;pointer-events:none}
.car-fav:hover{color:var(--accent);border-color:var(--accent);background:rgba(0,0,0,.75)}
.car-fav.is-saved{color:var(--accent);border-color:var(--accent)}
.car-fav.is-saved svg{fill:var(--accent)}
.car-body{padding:24px;display:flex;flex-direction:column;flex-grow:1}
.car-brand{
  font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted);font-weight:700;margin-bottom:8px;
}
.car-title{
  font-family:var(--font-body);font-weight:700;font-size:1.05rem;
  margin-bottom:6px;line-height:1.2;color:var(--text);
}
.car-sub{color:var(--text-muted);font-size:.85rem;margin-bottom:18px}
.car-specs{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:var(--border);
  border-top:1px solid var(--border);
  margin:0 -24px;
  margin-top:auto;
}
.car-specs > div{background:var(--bg-card);padding:14px 16px}
.car-specs span{font-size:.62rem;color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;display:block;margin-bottom:2px}
.car-specs strong{font-size:.84rem;font-weight:600;color:var(--text)}
.car-foot{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:20px 24px;
  border-top:1px solid var(--border);
  background:var(--bg-elev);
  transition:background .3s var(--ease);
}
.car-card:hover .car-foot{background:var(--surface)}
.car-price{
  font-family:var(--font-body);
  font-weight:700;
  font-size:1.35rem;
  color:var(--text);
}
.car-price small{font-size:.72rem;color:var(--text-muted);font-weight:500;font-family:var(--font-body);display:block;letter-spacing:0;margin-top:2px}
.car-cta{
  width:44px;height:44px;
  background:var(--text);
  display:grid;place-items:center;
  color:#fff;
  transition:all .25s var(--ease);
  pointer-events:none;
  flex-shrink:0;
}
.car-card:hover .car-cta{background:var(--primary);transform:translateX(4px)}
.car-card:hover .car-cta svg{transform:translateX(2px)}
.car-cta svg{transition:transform .25s var(--ease)}

.split{
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:80px;
  align-items:center;
}
@media(max-width:1024px){.split{grid-template-columns:1fr;gap:48px}}
.split-img-wrap{position:relative}
.split-img{
  position:relative;
  aspect-ratio:4/5;
  overflow:hidden;
  box-shadow:var(--shadow-2);
}
.split-img img{width:100%;height:100%;object-fit:cover}
.values{display:grid;grid-template-columns:repeat(2,1fr);gap:40px 28px;margin-top:48px}
.value-item{
  padding-left:20px;
  border-left:1px solid var(--border);
  position:relative;
}
.value-item::before{
  content:"";
  position:absolute;
  left:-1px;top:0;
  width:2px;height:24px;
  background:var(--accent);
  transition:height .4s var(--ease);
}
.value-item:hover::before{height:100%}
.value-item .num{
  font-family:var(--font-body);
  font-size:.7rem;font-weight:700;
  color:var(--text-dim);
  letter-spacing:.32em;
  line-height:1;margin-bottom:12px;
}
.value-item h4{
  font-family:var(--font-body);
  font-size:1.05rem;
  font-weight:700;
  margin-bottom:8px;
  letter-spacing:-.01em;
  color:var(--text);
}
.value-item p{color:var(--text-muted);font-size:.9rem;line-height:1.55}

.action-banner{
  position:relative;
  padding:100px 0;
  overflow:hidden;
  background:#0a0a0a;
  color:#fff;
}
.action-banner h2{color:#fff}
.action-banner h2 em{color:var(--accent);font-style:normal;font-weight:inherit}
.action-banner p{color:rgba(255,255,255,.7)}
.action-banner-bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  opacity:.35;z-index:0;
}
.action-banner::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,#0a0a0a 0%,rgba(10,10,10,.5) 60%,rgba(10,10,10,.1) 100%);
  z-index:1;
}
.action-banner .container{position:relative;z-index:2}
.action-banner h2{max-width:640px;margin-bottom:20px}
.action-banner p{max-width:520px;margin-bottom:36px;font-size:1.05rem}
.action-banner .eyebrow{color:var(--accent)}
.action-banner .eyebrow::before{background:var(--accent)}

.footer{
  background:var(--footer-bg);
  border-top:0;
  padding:80px 0 0;
  color:rgba(255,255,255,.7);
}
.footer .brand{margin-bottom:8px}
.footer .brand-mark{width:72px;height:72px}
.footer .brand-mark img{opacity:.95}
.footer-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:48px;
  padding-bottom:64px;
  border-bottom:1px solid rgba(255,255,255,.12);
}
@media(max-width:1024px){.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.footer-grid{grid-template-columns:1fr}}
.footer-grid h4{
  font-family:var(--font-body);
  font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--accent);margin-bottom:22px;font-weight:800;
}
.footer-grid ul{list-style:none;display:flex;flex-direction:column;gap:12px}
.footer-grid li{font-size:.9rem;color:rgba(255,255,255,.72)}
.footer-grid a{transition:color .2s var(--ease);color:rgba(255,255,255,.72)}
.footer-grid a:hover{color:var(--accent)}
.footer-brand p{color:rgba(255,255,255,.7);font-size:.9rem;max-width:340px;margin:20px 0}
.footer-bottom{
  display:flex;
  justify-content:space-between;
  padding:28px 0;
  font-size:.78rem;
  color:rgba(255,255,255,.5);
  flex-wrap:wrap;
  gap:16px;
}
.footer-bottom a{color:rgba(255,255,255,.5)}
.footer-bottom a:hover{color:var(--accent)}
.footer-bottom .legal{display:flex;gap:24px}

.page-head{
  padding:140px 0 60px;
  border-bottom:1px solid var(--border);
  position:relative;
  overflow:hidden;
}
.page-head::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:var(--page-head-glow);
}
.page-head h1{font-size:clamp(2rem,4.5vw,3.6rem);margin-bottom:16px}
.page-head .breadcrumb{
  font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);margin-bottom:20px;
}
.page-head .breadcrumb a:hover{color:var(--copper)}

/* Page-head with background image */
.page-head.page-head-hero,
.page-head-hero{
  padding:160px 0 100px;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  border-bottom:0;
  color:#fff;
}
.page-head-hero::after{display:none}
.page-head-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(10,10,10,.45) 0%, rgba(10,10,10,.7) 70%, rgba(10,10,10,.85) 100%),
    linear-gradient(90deg, rgba(10,10,10,.6) 0%, rgba(10,10,10,.2) 100%);
  z-index:0;
}
.page-head-content{position:relative;z-index:1}
.page-head.page-head-hero .eyebrow,
.page-head-hero .eyebrow{color:var(--accent)}
.page-head.page-head-hero .eyebrow::before,
.page-head-hero .eyebrow::before{background:var(--accent)}
.page-head.page-head-hero h1,
.page-head-hero h1{color:#fff;margin-bottom:16px}
.page-head.page-head-hero h1 em,
.page-head-hero h1 em{color:var(--accent);font-style:normal}
.page-head.page-head-hero h1 strong,
.page-head-hero h1 strong{color:var(--accent)}
.page-head.page-head-hero p,
.page-head-hero p,
.page-head.page-head-hero .page-head-lead,
.page-head-hero .page-head-lead{
  color:rgba(255,255,255,.85);
  max-width:560px;
  margin-top:24px;
  font-size:1.05rem;
  line-height:1.6;
}
.page-head.page-head-hero .breadcrumb,
.page-head-hero .breadcrumb{color:rgba(255,255,255,.7)}
.page-head.page-head-hero .breadcrumb a,
.page-head-hero .breadcrumb a{color:rgba(255,255,255,.85)}
.page-head-hero .breadcrumb a:hover{color:var(--accent)}

@media(max-width:768px){
  .page-head-hero{padding:120px 0 64px !important}
  .page-head-hero h1{font-size:clamp(1.8rem,6vw,2.5rem) !important}
  .page-head-hero .page-head-lead{font-size:.95rem;margin-top:18px}
}
@media(max-width:540px){
  .page-head-hero{padding:110px 0 52px !important}
  .page-head-hero h1{font-size:clamp(1.6rem,7vw,2.2rem) !important}
}

.layout-2col{display:grid;grid-template-columns:280px 1fr;gap:40px;align-items:flex-start}
@media(max-width:1024px){.layout-2col{grid-template-columns:1fr}}
.filter-panel{
  background:var(--bg-elev);
  border:1px solid var(--border);
  padding:28px;
  position:sticky;top:100px;
}
.filter-group{padding:20px 0;border-bottom:1px solid var(--border)}
.filter-group:first-child{padding-top:0}
.filter-group:last-child{border-bottom:0;padding-bottom:0}
.filter-group h4{
  font-family:var(--font-body);
  font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--text);margin-bottom:16px;font-weight:700;
}
.filter-group label{
  display:flex;align-items:center;gap:10px;padding:6px 0;font-size:.88rem;
  color:var(--text-muted);cursor:pointer;transition:color .2s var(--ease);
}
.filter-group label:hover{color:var(--text)}
.filter-group input[type=checkbox]{
  appearance:none;width:16px;height:16px;border:1.5px solid var(--border-strong);
  position:relative;flex-shrink:0;transition:all .2s var(--ease);
}
.filter-group input[type=checkbox]:checked{background:var(--copper);border-color:var(--copper)}
.filter-group input[type=checkbox]:checked::after{
  content:"";position:absolute;top:2px;left:5px;width:4px;height:8px;border:solid var(--btn-primary-text);
  border-width:0 2px 2px 0;transform:rotate(45deg);
}
.range-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.range-row input{
  background:var(--bg);border:1px solid var(--border-strong);padding:10px 12px;
  font-size:.85rem;width:100%;transition:border-color .2s var(--ease);
}
.range-row input:focus{outline:0;border-color:var(--copper)}

.results-head{
  display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;flex-wrap:wrap;gap:16px;
}
.results-head .count{font-size:.88rem;color:var(--text-muted)}
.results-head .count strong{color:var(--text);font-weight:700}
.results-head select{
  background:var(--bg-elev);border:1px solid var(--border-strong);padding:10px 16px;
  font-size:.85rem;cursor:pointer;
}

.cars-grid-list{grid-template-columns:repeat(2,1fr)}
@media(max-width:768px){.cars-grid-list{grid-template-columns:1fr}}

.pagination{display:flex;justify-content:center;gap:8px;margin-top:48px}
.pagination a,.pagination span{
  width:40px;height:40px;display:grid;place-items:center;
  border:1px solid var(--border-strong);font-size:.85rem;font-weight:600;
  transition:all .2s var(--ease);
}
.pagination a:hover{border-color:var(--copper);color:var(--copper)}
.pagination .active{background:var(--copper);border-color:var(--copper);color:var(--btn-primary-text)}

.detail-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:flex-start}
@media(max-width:1024px){.detail-grid{grid-template-columns:1fr}}
/* Gallery main + thumbs styles live in the Fahrzeug-Detail block below */
.gallery-counter{
  position:absolute;bottom:14px;right:14px;
  padding:6px 12px;background:rgba(10,10,10,.7);backdrop-filter:blur(8px);
  font-size:.72rem;letter-spacing:.1em;color:#fff;font-weight:600;
  border-radius:99px;z-index:10;
}
.gallery-thumbs{
  display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:8px;
  overflow-x:auto;
  scrollbar-width:thin;
}
.gallery-thumbs button{
  aspect-ratio:16/10;background:var(--surface);overflow:hidden;border:2px solid transparent;
  border-radius:4px;cursor:pointer;padding:0;
  transition:border-color .2s var(--ease),transform .2s var(--ease);
}
.gallery-thumbs button:hover{border-color:rgba(6,76,114,.4)}
.gallery-thumbs button.is-active{border-color:var(--primary)}
.gallery-thumbs button.is-active img{transform:scale(1.05)}
.gallery-thumbs img{width:100%;height:100%;object-fit:cover;transition:transform .3s var(--ease)}

.detail-info h1{font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:8px}
.detail-info .subtitle{color:var(--text-muted);margin-bottom:24px}
.price-block{
  background:var(--bg-elev);
  border:1px solid var(--border);
  padding:28px;
  margin-bottom:24px;
}
.price-block .price{
  font-family:var(--font-body);
  font-size:2.4rem;font-weight:900;color:var(--copper);line-height:1;
}
.price-block .vat{font-size:.78rem;color:var(--text-muted);margin-top:6px}
.price-block .fin{
  margin-top:20px;padding-top:20px;border-top:1px solid var(--border);
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;
}
.price-block .fin strong{font-size:1.1rem;color:var(--text)}
.price-block .fin span{font-size:.78rem;color:var(--text-muted)}

.specs-table{
  background:var(--bg-elev);
  border:1px solid var(--border);
  margin-bottom:24px;
}
.specs-table > div{
  display:grid;grid-template-columns:1fr 1fr;
  padding:14px 20px;border-bottom:1px solid var(--border);font-size:.9rem;
}
.specs-table > div:last-child{border-bottom:0}
.specs-table span:first-child{color:var(--text-muted);font-size:.82rem}
.specs-table span:last-child{font-weight:600}

.envkv{
  background:rgba(75,163,214,.08);
  border:1px solid rgba(75,163,214,.35);
  padding:20px;font-size:.78rem;color:var(--text-muted);line-height:1.6;
}
.envkv strong{color:var(--text)}

.calc{
  background:var(--bg-elev);
  border:1px solid var(--border);
  padding:32px;
}
.calc h3{margin-bottom:20px;font-size:1.1rem;color:var(--primary)}
.calc-row{margin-bottom:18px}
.calc-row label{
  display:flex;justify-content:space-between;font-size:.82rem;color:var(--text-muted);
  margin-bottom:8px;letter-spacing:.05em;
}
.calc-row label strong{color:var(--primary);font-weight:800}
.calc-row input[type=range]{
  -webkit-appearance:none;appearance:none;
  width:100%;height:3px;background:var(--border-strong);
}
.calc-row input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;
  width:20px;height:20px;background:var(--accent);cursor:pointer;
  border-radius:50%;border:3px solid var(--bg-elev);box-shadow:0 0 0 1px var(--accent-deep);
}
.calc-row input[type=range]::-moz-range-thumb{
  width:20px;height:20px;background:var(--accent);cursor:pointer;
  border-radius:50%;border:3px solid var(--bg-elev);box-shadow:0 0 0 1px var(--accent-deep);
}
.calc-result{
  margin-top:24px;padding-top:24px;border-top:1px solid var(--border);
  display:flex;justify-content:space-between;align-items:center;
}
.calc-result .label{font-size:.82rem;color:var(--text-muted)}
.calc-result .value{
  font-family:var(--font-body);font-weight:800;font-size:1.9rem;color:var(--primary);
}
.calc-result .value small{font-size:.6em;color:var(--text-muted);font-weight:400;margin-left:4px}

.detail-cta{display:flex;gap:10px;margin-bottom:24px;flex-wrap:wrap}
.detail-cta .btn{flex:1;min-width:140px}

.equip-list{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:8px;
  background:var(--bg-elev);
  border:1px solid var(--border);
  padding:24px;
}
.equip-list li{
  list-style:none;font-size:.85rem;color:var(--text-muted);
  padding:6px 0;display:flex;align-items:center;gap:10px;
}
.equip-list li::before{
  content:"";width:6px;height:6px;background:var(--accent-deep);flex-shrink:0;
}

.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}
@media(max-width:768px){.contact-grid{grid-template-columns:1fr}}
.contact-info{display:flex;flex-direction:column;gap:32px}
.info-block{
  padding:28px;border:1px solid var(--border);background:var(--bg-elev);
}
.info-block h4{font-family:var(--font-body);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--primary);margin-bottom:18px;font-weight:800}
.info-block p{color:var(--text-muted);font-size:.9rem;line-height:1.7}
.info-block a{
  color:var(--text);font-size:.9rem;line-height:1.6;
  display:inline-flex;align-items:center;gap:10px;
  padding:6px 0;margin:0;
  transition:color .2s var(--ease);
}
.info-block a + a{margin-left:0;display:flex}
.info-block a:hover{color:var(--primary)}
.info-block a .ico{color:var(--primary);width:16px;height:16px;flex-shrink:0}

.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-grid .full{grid-column:1/-1}
@media(max-width:560px){.form-grid{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:6px}
.field label{
  font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);font-weight:600;
}
.field input,.field select,.field textarea{
  background:var(--bg-elev);border:1px solid var(--border-strong);
  padding:14px 16px;font-size:.92rem;transition:border-color .2s var(--ease);
}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:0;border-color:var(--copper);
}
.field textarea{resize:vertical;min-height:120px}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:.78rem;color:var(--text-muted);line-height:1.5}
.consent a{color:var(--copper)}
.consent input{
  appearance:none;width:16px;height:16px;border:1.5px solid var(--border-strong);
  flex-shrink:0;margin-top:2px;position:relative;cursor:pointer;
}
.consent input:checked{background:var(--copper);border-color:var(--copper)}
.consent input:checked::after{
  content:"";position:absolute;top:2px;left:5px;width:4px;height:8px;border:solid var(--btn-primary-text);border-width:0 2px 2px 0;transform:rotate(45deg);
}

.team-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);
  border:1px solid var(--border);
}
@media(max-width:1024px){.team-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.team-grid{grid-template-columns:1fr}}
.team-card{
  background:var(--bg-elev);padding:24px;border:1px solid var(--border);
  transition:border-color .25s var(--ease),transform .25s var(--ease);
}
.team-card:hover{border-color:var(--primary);transform:translateY(-2px)}
.team-photo{
  aspect-ratio:1/1;background:var(--photo-fallback);margin:-24px -24px 20px;overflow:hidden;
}
.team-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:var(--photo-filter);transition:filter .3s var(--ease)}
.team-card h4{font-family:var(--font-body);font-size:1.05rem;margin-bottom:4px;color:var(--primary)}
.team-card .role{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-deep);margin-bottom:12px;font-weight:700}
.team-card .contacts{font-size:.82rem;color:var(--text-muted);line-height:1.6}

.service-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
@media(max-width:1024px){.service-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.service-grid{grid-template-columns:1fr}}
.service-card{
  background:var(--bg-card);
  border:1px solid var(--border);
  padding:36px 32px 32px;
  position:relative;
  overflow:hidden;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .3s var(--ease);
  display:flex;
  flex-direction:column;
  min-height:340px;
  border-radius:10px;
  text-decoration:none;
  color:inherit;
}
.service-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(6,76,114,0) 0%,rgba(6,76,114,0) 100%);
  transition:background .4s var(--ease);
  pointer-events:none;
  border-radius:inherit;
}
.service-card:hover{
  transform:translateY(-6px);
  border-color:var(--primary);
  box-shadow:0 24px 60px rgba(6,76,114,.12),0 8px 24px rgba(6,76,114,.06);
}
[data-theme="dark"] .service-card:hover{
  box-shadow:0 24px 60px rgba(0,0,0,.5),0 0 0 1px rgba(75,163,214,.2);
}

.service-card .service-num{
  display:none;
}

.service-card .service-icon{
  width:56px;
  height:56px;
  border-radius:14px;
  background:linear-gradient(135deg,var(--bg-elev),var(--surface));
  border:1px solid var(--border);
  display:grid;
  place-items:center;
  color:var(--primary);
  margin-bottom:28px;
  transition:all .4s var(--ease);
  position:relative;
  z-index:2;
}
.service-card .service-icon svg{
  width:26px;
  height:26px;
  stroke-width:1.6;
  transition:transform .4s var(--ease);
}
.service-card:hover .service-icon{
  background:linear-gradient(135deg,var(--primary),var(--primary-bright));
  border-color:var(--primary);
  color:#fff;
  transform:scale(1.05) rotate(-3deg);
}
.service-card:hover .service-icon svg{transform:scale(1.05)}
.service-card .service-icon::after{
  content:"";
  position:absolute;
  inset:-3px;
  border-radius:inherit;
  background:radial-gradient(circle,rgba(75,163,214,.3),transparent 70%);
  opacity:0;
  transition:opacity .4s var(--ease);
  z-index:-1;
  filter:blur(10px);
}
.service-card:hover .service-icon::after{opacity:1}

.service-card .service-body{
  flex:1;
  display:flex;
  flex-direction:column;
  position:relative;
  z-index:2;
}
.service-card h3{
  font-size:1.25rem;
  font-weight:700;
  color:var(--text);
  margin-bottom:12px;
  letter-spacing:-.01em;
  transition:color .3s var(--ease);
}
.service-card p{
  color:var(--text-muted);
  font-size:.95rem;
  line-height:1.55;
  margin-bottom:auto;
}
.service-card .service-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:.74rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:700;
  color:var(--primary);
  margin-top:28px;
  padding-top:24px;
  border-top:1px solid var(--border);
  transition:gap .3s var(--ease);
}
.service-card:hover .service-link{gap:14px}
.service-card .service-link svg{
  width:16px;
  height:16px;
  transition:transform .35s var(--ease);
}
.service-card:hover .service-link svg{transform:translateX(4px)}

.service-card .service-icon-bg{display:none}

.map-embed{
  aspect-ratio:16/8;background:var(--surface);border:1px solid var(--border);
  background-size:cover;background-position:center;position:relative;overflow:hidden;
}
.map-embed::after{
  content:"";position:absolute;inset:0;
  background:var(--map-fade);
}
.map-pin{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;
  width:52px;height:52px;background:var(--accent);border-radius:50%;
  display:grid;place-items:center;color:var(--primary);
  box-shadow:0 0 0 8px rgba(75,163,214,.25),0 0 0 18px rgba(75,163,214,.12);
  animation:pulse 2s var(--ease) infinite;
}
@keyframes pulse{
  0%,100%{box-shadow:0 0 0 8px rgba(75,163,214,.25),0 0 0 18px rgba(75,163,214,.12)}
  50%{box-shadow:0 0 0 14px rgba(75,163,214,.2),0 0 0 28px rgba(75,163,214,.06)}
}

.fade-in{opacity:0;transform:translateY(20px);animation:fadeIn .8s var(--ease) forwards}
.fade-in:nth-child(2){animation-delay:.08s}
.fade-in:nth-child(3){animation-delay:.16s}
.fade-in:nth-child(4){animation-delay:.24s}
.fade-in:nth-child(5){animation-delay:.32s}
.fade-in:nth-child(6){animation-delay:.4s}
@keyframes fadeIn{to{opacity:1;transform:translateY(0)}}

::selection{background:var(--copper);color:var(--btn-primary-text)}

::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--border-strong)}
::-webkit-scrollbar-thumb:hover{background:var(--copper)}

/* === Listing Layout === */
.listing-grid{
  display:grid;
  grid-template-columns:280px 1fr;
  gap:48px;
  align-items:start;
}
@media(max-width:1024px){
  .listing-grid{grid-template-columns:1fr;gap:32px}
}

.filter-sidebar{
  position:sticky;
  top:120px;
  background:var(--bg-card);
  border:1px solid var(--border);
  padding:24px;
  border-radius:6px;
}
@media(max-width:1024px){.filter-sidebar{position:static}}
.filter-block{
  padding-bottom:18px;
  margin-bottom:18px;
  border-bottom:1px solid var(--border);
}
.filter-block:last-of-type{border-bottom:0}
.filter-block h4{
  font-size:.72rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:800;
  color:var(--primary);
  margin-bottom:12px;
}
.filter-radios{display:flex;flex-direction:column;gap:6px}
.filter-radios label{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 10px;
  cursor:pointer;
  border-radius:4px;
  font-size:.9rem;
  color:var(--text-body);
  transition:background .15s var(--ease),color .15s var(--ease);
}
.filter-radios label:hover{background:var(--surface)}
.filter-radios input[type=radio]{
  appearance:none;
  -webkit-appearance:none;
  width:16px;height:16px;
  border:1.5px solid var(--border-strong);
  border-radius:50%;
  display:grid;
  place-items:center;
  cursor:pointer;
  transition:border-color .15s var(--ease);
  flex-shrink:0;
}
.filter-radios input[type=radio]:checked{border-color:var(--primary)}
.filter-radios input[type=radio]:checked::after{
  content:"";
  width:8px;height:8px;
  background:var(--primary);
  border-radius:50%;
}
.filter-radios label:has(input:checked){background:var(--surface);color:var(--text);font-weight:600}

.filter-actions{margin-top:20px;display:flex;flex-direction:column;gap:10px}
.filter-clear{
  font-size:.8rem;
  color:var(--text-muted);
  text-align:center;
  text-decoration:underline;
  padding:6px;
}
.filter-clear:hover{color:var(--primary)}

.listing-bar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:24px;
  padding-bottom:18px;
  border-bottom:1px solid var(--border);
  font-size:.9rem;
  color:var(--text-muted);
}
.listing-bar strong{color:var(--text);font-weight:800;font-size:1.05rem}

.empty-state{
  text-align:center;
  padding:80px 24px;
  background:var(--bg-elev);
  border:1px solid var(--border);
  border-radius:6px;
}
.empty-state-icon{
  width:64px;height:64px;
  margin:0 auto 24px;
  display:grid;
  place-items:center;
  color:var(--text-dim);
}
.empty-state-icon svg{width:48px;height:48px}
.empty-state h3{margin-bottom:8px;color:var(--text)}
.empty-state p{color:var(--text-muted);margin-bottom:24px;max-width:400px;margin-left:auto;margin-right:auto}

.pagination{display:flex;justify-content:center;gap:6px;margin-top:48px;flex-wrap:wrap}
.pagination a{
  min-width:42px;
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 14px;
  border:1px solid var(--border);
  background:var(--bg-card);
  font-size:.88rem;
  font-weight:600;
  color:var(--text-body);
  transition:all .2s var(--ease);
  border-radius:4px;
}
.pagination a:hover{border-color:var(--primary);color:var(--primary)}
.pagination a.is-active{background:var(--text);border-color:var(--text);color:#fff}
.pagination .page-prev,.pagination .page-next{padding:0 18px}

/* === Aktuelles auf Startseite === */
.aktuelles{padding:120px 0;background:var(--bg-elev)}
.aktuelles-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  margin-top:48px;
}
@media(max-width:900px){.aktuelles-grid{grid-template-columns:1fr;gap:20px}}
.post-card{
  background:var(--bg-card);
  border:1px solid var(--border);
  overflow:hidden;
  text-decoration:none;
  color:inherit;
  display:flex;
  flex-direction:column;
  transition:all .3s var(--ease);
  border-radius:6px;
}
.post-card:hover{border-color:var(--primary);transform:translateY(-3px);box-shadow:var(--shadow-2)}
.post-card-media{
  aspect-ratio:16/10;
  background:var(--surface);
  position:relative;
  overflow:hidden;
}
.post-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.post-card:hover .post-card-media img{transform:scale(1.04)}
.post-card-fallback{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#1c1917,#0a0a0a);
  color:rgba(255,255,255,.15);
  font-family:var(--font-body);
  font-size:.7rem;
  letter-spacing:.32em;
  text-transform:uppercase;
  font-weight:700;
}
.post-card-body{padding:24px;display:flex;flex-direction:column;gap:12px;flex:1}
.post-card-meta{
  display:flex;
  align-items:center;
  gap:12px;
  font-size:.7rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--text-dim);
  font-weight:700;
}
.post-card-meta .cat{color:var(--primary)}
.post-card h3{
  font-size:1.15rem;
  font-weight:700;
  line-height:1.3;
  color:var(--text);
}
.post-card p{
  color:var(--text-muted);
  font-size:.9rem;
  line-height:1.55;
  flex:1;
}
.post-card .read-more{
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:.72rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:700;
  color:var(--primary);
}

/* === Admin Area === */
.admin-shell{
  display:grid;
  grid-template-columns:240px 1fr;
  min-height:100vh;
  background:var(--bg-elev);
}
@media(max-width:900px){.admin-shell{grid-template-columns:1fr}}
.admin-sidebar{
  background:#0a0a0a;
  color:#fff;
  padding:24px 0;
  display:flex;
  flex-direction:column;
}
.admin-sidebar .admin-brand{
  padding:0 24px 24px;
  display:flex;
  align-items:center;
  gap:12px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.admin-sidebar .admin-brand img{width:36px;height:36px;border-radius:4px}
.admin-sidebar .admin-brand strong{font-size:.95rem;color:#fff;font-weight:800}
.admin-sidebar .admin-brand span{font-size:.66rem;color:rgba(255,255,255,.5);letter-spacing:.22em;text-transform:uppercase;font-weight:700;display:block;margin-top:2px}
.admin-nav{display:flex;flex-direction:column;padding:18px 12px;flex:1}
.admin-nav a{
  display:flex;
  align-items:center;
  gap:12px;
  padding:11px 14px;
  font-size:.86rem;
  color:rgba(255,255,255,.7);
  text-decoration:none;
  border-radius:4px;
  margin-bottom:2px;
  transition:all .2s var(--ease);
  font-weight:500;
}
.admin-nav a:hover{background:rgba(255,255,255,.06);color:#fff}
.admin-nav a.is-active{background:var(--accent);color:#0a0a0a;font-weight:700}
.admin-nav a svg{width:18px;height:18px;flex-shrink:0}
.admin-nav-section{
  font-size:.62rem;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:rgba(255,255,255,.35);
  padding:18px 14px 8px;
  font-weight:700;
}
.admin-user{
  padding:18px 24px;
  border-top:1px solid rgba(255,255,255,.08);
  display:flex;
  align-items:center;
  gap:12px;
}
.admin-user-info{flex:1;min-width:0}
.admin-user-info strong{color:#fff;font-size:.86rem;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-user-info span{color:rgba(255,255,255,.5);font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;font-weight:600}
.admin-user form{margin:0}
.admin-user button{
  background:transparent;
  border:1px solid rgba(255,255,255,.15);
  color:rgba(255,255,255,.7);
  padding:6px 10px;
  font-size:.7rem;
  cursor:pointer;
  border-radius:4px;
  transition:all .15s var(--ease);
  font-family:inherit;
}
.admin-user button:hover{background:rgba(255,255,255,.08);color:#fff}

.admin-main{padding:32px 40px;min-width:0;overflow-x:hidden}
@media(max-width:900px){.admin-main{padding:24px 20px}}
.admin-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  margin-bottom:32px;
  flex-wrap:wrap;
  gap:16px;
}
.admin-head h1{font-size:clamp(1.4rem,2.2vw,1.9rem);margin:0;color:var(--text)}
.admin-head .eyebrow{margin-bottom:8px;display:block}
.admin-section{
  background:var(--bg-card);
  border:1px solid var(--border);
  padding:24px;
  margin-bottom:24px;
  border-radius:6px;
}

.admin-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin-bottom:32px;
}
@media(max-width:768px){.admin-stats{grid-template-columns:repeat(2,1fr)}}
.admin-stat{
  background:var(--bg-card);
  border:1px solid var(--border);
  padding:20px;
  border-radius:6px;
}
.admin-stat-label{
  font-size:.66rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--text-muted);
  font-weight:700;
  margin-bottom:8px;
}
.admin-stat-value{
  font-size:1.8rem;
  font-weight:800;
  color:var(--text);
  line-height:1;
}
.admin-stat-sub{font-size:.78rem;color:var(--text-muted);margin-top:6px}

.admin-table{
  width:100%;
  border-collapse:collapse;
  font-size:.88rem;
}
.admin-table th{
  text-align:left;
  padding:12px 16px;
  background:var(--bg-elev);
  font-size:.7rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--text-muted);
  font-weight:700;
  border-bottom:1px solid var(--border);
}
.admin-table td{
  padding:14px 16px;
  border-bottom:1px solid var(--border);
}
.admin-table tr:last-child td{border-bottom:0}
.admin-table tr:hover td{background:var(--bg-elev)}
.admin-table a{color:var(--primary);font-weight:600}
.admin-table .badge{
  display:inline-block;
  padding:3px 8px;
  font-size:.66rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:700;
  border-radius:3px;
}
.admin-table .badge-published{background:rgba(22,163,74,.15);color:#16a34a}
.admin-table .badge-draft{background:rgba(75,163,214,.18);color:#a87900}
.admin-table .badge-archived{background:rgba(120,113,108,.18);color:#78716c}

.admin-form{display:grid;gap:18px;max-width:760px}
.admin-form-wide{max-width:none}
.admin-field{display:flex;flex-direction:column;gap:8px}
.admin-field label{
  font-size:.72rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:700;
  color:var(--text-muted);
}
.admin-field input[type=text],
.admin-field input[type=email],
.admin-field input[type=password],
.admin-field input[type=url],
.admin-field textarea,
.admin-field select{
  font-family:inherit;
  font-size:.95rem;
  padding:11px 14px;
  border:1px solid var(--border-strong);
  background:var(--bg);
  color:var(--text);
  border-radius:4px;
  transition:border-color .2s var(--ease);
}
.admin-field input:focus,
.admin-field textarea:focus,
.admin-field select:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 3px rgba(6,76,114,.12)}
.admin-field textarea{min-height:120px;resize:vertical;line-height:1.55}
.admin-field-check{flex-direction:row;align-items:center;gap:10px}
.admin-field-check label{margin:0;text-transform:none;letter-spacing:0;font-size:.9rem;color:var(--text);font-weight:500}

.admin-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}
.admin-actions .btn{flex-shrink:0}

.login-shell{
  min-height:100vh;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#0a0a0a,#1c1917);
  padding:24px;
}
.login-box{
  width:100%;
  max-width:420px;
  background:rgba(255,255,255,.04);
  backdrop-filter:blur(28px) saturate(180%);
  border:1px solid rgba(255,255,255,.08);
  padding:40px;
  border-radius:14px;
  box-shadow:0 30px 80px rgba(0,0,0,.4);
}
.login-box .brand-mark{
  width:60px;height:60px;
  border-radius:8px;
  overflow:hidden;
  margin:0 auto 24px;
}
.login-box h1{
  color:#fff;
  text-align:center;
  font-size:1.4rem;
  font-weight:700;
  margin-bottom:8px;
}
.login-box .sub{
  color:rgba(255,255,255,.6);
  text-align:center;
  font-size:.86rem;
  margin-bottom:32px;
}
.login-box .admin-field label{color:rgba(255,255,255,.55)}
.login-box .admin-field input{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.12);
  color:#fff;
}
.login-box .admin-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(75,163,214,.2)}
.login-box .login-error{
  background:rgba(220,38,38,.15);
  border:1px solid rgba(220,38,38,.3);
  color:#fca5a5;
  padding:10px 14px;
  border-radius:4px;
  font-size:.86rem;
  margin-bottom:16px;
}
.login-box .login-submit{
  width:100%;
  background:var(--accent);
  color:#0a0a0a;
  border:0;
  padding:14px;
  font-size:.84rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  cursor:pointer;
  border-radius:4px;
  margin-top:8px;
  transition:all .2s var(--ease);
  font-family:inherit;
}
.login-box .login-submit:hover{background:#6db8e0;transform:translateY(-1px)}

/* TipTap Editor */
.editor-toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:2px;
  padding:8px;
  background:var(--bg-elev);
  border:1px solid var(--border-strong);
  border-bottom:0;
  border-radius:4px 4px 0 0;
}
.editor-toolbar button{
  background:transparent;
  border:0;
  padding:7px 10px;
  cursor:pointer;
  border-radius:3px;
  color:var(--text-body);
  font-family:inherit;
  font-size:.85rem;
  font-weight:600;
  transition:background .15s var(--ease);
  display:inline-flex;
  align-items:center;
  gap:4px;
}
.editor-toolbar button:hover{background:var(--surface)}
.editor-toolbar button.is-active{background:var(--text);color:#fff}
.editor-toolbar button svg{width:16px;height:16px}
.editor-toolbar .divider{width:1px;background:var(--border);margin:4px 6px}
.editor-toolbar .ai-btn{
  margin-left:auto;
  background:linear-gradient(135deg,var(--accent),#6db8e0);
  color:#0a0a0a;
  font-weight:700;
  padding:7px 14px;
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.editor-toolbar .ai-btn:hover{background:linear-gradient(135deg,#6db8e0,var(--accent))}
.editor-toolbar .ai-btn.is-loading{opacity:.6;pointer-events:none}

.editor-content{
  border:1px solid var(--border-strong);
  background:var(--bg);
  padding:20px 24px;
  min-height:380px;
  border-radius:0 0 4px 4px;
  font-size:1rem;
  line-height:1.65;
  color:var(--text-body);
}
.editor-content:focus{outline:0;border-color:var(--primary)}
.editor-content h1,.editor-content h2,.editor-content h3,.editor-content h4{
  margin:1.2em 0 .5em;
  font-weight:700;
  color:var(--text);
}
.editor-content h1{font-size:1.8rem}
.editor-content h2{font-size:1.4rem}
.editor-content h3{font-size:1.15rem}
.editor-content p{margin:0 0 1em}
.editor-content ul,.editor-content ol{padding-left:1.5em;margin:0 0 1em}
.editor-content li{margin-bottom:.3em}
.editor-content blockquote{
  border-left:3px solid var(--accent);
  padding-left:18px;
  margin:1em 0;
  color:var(--text-muted);
  font-style:italic;
}
.editor-content img{max-width:100%;height:auto;display:block;margin:1em 0;border-radius:4px}
.editor-content a{color:var(--primary);text-decoration:underline}
.editor-content code{background:var(--surface);padding:2px 6px;font-family:monospace;font-size:.9em;border-radius:3px}

.markdown-editor{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  border:1px solid var(--border-strong);
  border-radius:0 0 4px 4px;
}
@media(max-width:900px){.markdown-editor{grid-template-columns:1fr}}
.markdown-editor textarea{
  border:0;
  border-right:1px solid var(--border);
  padding:20px;
  font-family:'Menlo','Consolas',monospace;
  font-size:.9rem;
  line-height:1.6;
  min-height:380px;
  background:var(--bg);
  color:var(--text);
  resize:vertical;
}
.markdown-preview{padding:20px;background:var(--bg-elev);overflow-y:auto;max-height:600px}
.markdown-preview h1,.markdown-preview h2,.markdown-preview h3{margin:1em 0 .5em;font-weight:700}
.markdown-preview p{margin:0 0 1em;line-height:1.65}
.markdown-preview img{max-width:100%;border-radius:4px}

.editor-mode-tabs{display:flex;gap:2px;margin-bottom:14px}
.editor-mode-tabs button{
  background:var(--bg-elev);
  border:1px solid var(--border);
  padding:9px 18px;
  font-size:.78rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  font-weight:700;
  color:var(--text-muted);
  cursor:pointer;
  border-radius:4px;
  font-family:inherit;
  transition:all .2s var(--ease);
}
.editor-mode-tabs button.is-active{background:var(--text);color:#fff;border-color:var(--text)}

.ai-toast{
  position:fixed;
  bottom:24px;left:50%;
  transform:translateX(-50%) translateY(20px);
  background:var(--text);
  color:#fff;
  padding:14px 20px;
  border-radius:6px;
  font-size:.88rem;
  box-shadow:0 16px 40px rgba(0,0,0,.3);
  opacity:0;
  transition:opacity .25s var(--ease),transform .25s var(--ease);
  z-index:9999;
  display:flex;
  align-items:center;
  gap:10px;
}
.ai-toast.is-visible{opacity:1;transform:translateX(-50%) translateY(0)}
.ai-toast.is-error{background:#dc2626}
.ai-toast.is-success{background:#16a34a}

.page-head{
  padding:140px 0 80px;
  background:var(--bg);
  color:var(--text);
  position:relative;
  overflow:hidden;
}
.page-head::before{
  content:"";
  position:absolute;
  inset:0;
  background:var(--page-head-glow);
  pointer-events:none;
}
.page-head h1{position:relative;margin-top:20px;color:var(--text)}
.page-head h1 strong{color:var(--primary);font-weight:inherit}
.page-head h1 em{font-style:normal;color:var(--primary);font-weight:inherit}
.page-head p{color:var(--text-muted)}
.page-head .eyebrow{color:var(--primary)}

/* === Leaflet Map (kontakt) === */
.map-section{margin-top:80px}
.map-card{
  display:grid;
  grid-template-columns:1fr 1.4fr;
  gap:0;
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:8px;
  overflow:hidden;
  box-shadow:var(--shadow-2);
}
@media(max-width:900px){.map-card{grid-template-columns:1fr}}
.map-card-info{
  padding:48px 40px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:var(--bg);
}
.map-card-info h3{
  font-family:var(--font-body);
  font-size:1.5rem;
  font-weight:700;
  line-height:1.3;
  color:var(--text);
  letter-spacing:-.01em;
}
.map-actions{display:flex;gap:10px;flex-wrap:wrap}

.km-map-wrap{
  min-height:420px;
  background:#1c1917;
  position:relative;
  overflow:hidden;
}
.km-map-iframe{
  width:100%;
  height:100%;
  min-height:420px;
  border:0;
  display:block;
  filter:saturate(.95);
}
[data-theme="dark"] .km-map-iframe{filter:saturate(.85) brightness(.92)}
@media(max-width:900px){
  .km-map-wrap,.km-map-iframe{min-height:320px}
}

/* Quiet route button - no slide animation, no lift */
.btn-route{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:11px 18px;
  background:var(--primary);
  color:#fff;
  border:1px solid var(--primary);
  border-radius:4px;
  font-family:inherit;
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.06em;
  text-decoration:none;
  cursor:pointer;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease;
}
.btn-route:hover{
  background:var(--primary-bright);
  border-color:var(--primary-bright);
}
.btn-route-secondary{
  background:transparent;
  color:var(--text);
  border-color:var(--border-strong);
}
.btn-route-secondary:hover{
  background:transparent;
  border-color:var(--primary);
  color:var(--primary);
}

/* === Fahrzeug-Detail === */
.detail-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  flex-wrap:wrap;
  gap:32px;
}
.detail-tag{
  display:inline-block;
  margin-top:14px;
  padding:6px 12px;
  background:var(--accent);
  color:var(--btn-accent-text);
  font-size:.7rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:800;
  border-radius:3px;
}
.detail-price-bar{text-align:right}
.detail-price-old{
  display:block;
  color:var(--text-muted);
  font-size:1rem;
  font-weight:500;
  text-decoration:line-through;
  margin-bottom:4px;
}
.detail-price strong{
  font-family:var(--font-body);
  font-size:2.2rem;
  font-weight:800;
  color:var(--text);
  line-height:1;
  letter-spacing:-.01em;
  display:block;
}
.detail-price small{
  display:block;
  font-size:.84rem;
  color:var(--text-muted);
  margin-top:6px;
}

.detail-grid{
  display:grid;
  grid-template-columns:1.6fr 1fr;
  gap:32px;
  margin-bottom:48px;
}
@media(max-width:900px){.detail-grid{grid-template-columns:1fr}}

.detail-gallery{display:flex;flex-direction:column;gap:14px}
.gallery-main{
  aspect-ratio:16/10;
  background:linear-gradient(135deg,#1c1917,#0a0a0a);
  position:relative;
  overflow:hidden;
  border-radius:6px;
  cursor:grab;
  user-select:none;
}
.gallery-main:active{cursor:grabbing}
.gallery-main img{
  position:absolute;
  top:0;left:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  will-change:opacity,transform;
}
#gallery-main-img{z-index:2;opacity:1}
#gallery-main-img-next{z-index:3;opacity:0}

.gallery-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:44px;height:44px;
  display:grid;
  place-items:center;
  background:rgba(10,10,10,.55);
  color:#fff;
  border:0;
  border-radius:50%;
  cursor:pointer;
  z-index:10;
  opacity:0;
  transition:opacity .2s ease,background .2s ease,transform .2s ease;
  backdrop-filter:blur(6px);
  padding:0;
}
.gallery-nav svg{width:18px;height:18px}
.gallery-nav-prev{left:14px}
.gallery-nav-next{right:14px}
.gallery-main:hover .gallery-nav{opacity:1}
.gallery-nav:hover{background:rgba(10,10,10,.85);transform:translateY(-50%) scale(1.06)}
.gallery-nav:active{transform:translateY(-50%) scale(.96)}
@media(hover:none){
  .gallery-nav{opacity:1;background:rgba(10,10,10,.7)}
}
.gallery-fallback{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:rgba(255,255,255,.18);
  background:
    radial-gradient(circle at 30% 30%,rgba(255,255,255,.04),transparent 60%),
    linear-gradient(135deg,#1c1917 0%,#0a0a0a 100%);
}
.gallery-fallback svg{width:60%;max-width:380px;stroke-width:1.2}
.gallery-fallback .brand-label{
  position:absolute;
  bottom:24px;
  left:50%;
  transform:translateX(-50%);
  font-family:var(--font-body);
  font-size:.72rem;
  letter-spacing:.36em;
  text-transform:uppercase;
  color:rgba(255,255,255,.5);
  font-weight:700;
}

.gallery-thumbs{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:8px;
}
@media(max-width:540px){.gallery-thumbs{grid-template-columns:repeat(4,1fr)}}
.gallery-thumb{
  aspect-ratio:1/1;
  background:var(--surface);
  border:2px solid transparent;
  cursor:pointer;
  padding:0;
  overflow:hidden;
  border-radius:4px;
  transition:border-color .2s var(--ease),transform .2s var(--ease);
}
.gallery-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.gallery-thumb:hover{transform:translateY(-2px);border-color:var(--border-strong)}
.gallery-thumb.is-active{border-color:var(--primary)}

.detail-sidebar{
  background:var(--bg-card);
  border:1px solid var(--border);
  padding:28px;
  border-radius:6px;
  position:sticky;
  top:120px;
  align-self:start;
  height:fit-content;
}
@media(max-width:900px){.detail-sidebar{position:static}}
.detail-quick-specs{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1px;
  background:var(--border);
  margin:-4px -4px 0;
}
.detail-quick-specs > div{
  background:var(--bg-card);
  padding:14px;
}
.detail-quick-specs span{
  display:block;
  font-size:.66rem;
  color:var(--text-muted);
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:600;
  margin-bottom:4px;
}
.detail-quick-specs strong{
  font-size:.92rem;
  color:var(--text);
  font-weight:700;
}

.detail-section{
  padding:48px 0;
  border-top:1px solid var(--border);
}
.detail-section h2{
  font-size:1.4rem;
  font-weight:700;
  margin-bottom:24px;
  color:var(--text);
  letter-spacing:-.01em;
}

.equipment-list{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:12px 24px;
  list-style:none;
  padding:0;
  margin:0;
}
.equipment-list li{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:.95rem;
  color:var(--text-body);
}
.equipment-list svg{
  width:18px;
  height:18px;
  color:var(--accent);
  flex-shrink:0;
}

.detail-cta{
  text-align:center;
  padding:64px 24px;
  background:var(--bg-elev);
  border-radius:8px;
  margin-top:48px;
}
.detail-cta h2{margin-bottom:8px;font-size:1.6rem}
.detail-cta p{color:var(--text-muted);max-width:480px;margin:0 auto}

/* === Editor Toolbar Groups & Image Alignment === */
.editor-toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
}
.editor-toolbar-group{
  display:flex;
  gap:1px;
  background:var(--border);
  padding:1px;
  border-radius:5px;
  overflow:hidden;
}
.editor-toolbar-group button{
  border-radius:3px;
  margin:0;
  background:var(--bg-elev);
  min-width:32px;
  height:30px;
  padding:0 8px;
}
.editor-toolbar-group button:hover{background:var(--bg-card);transform:none}

/* === Editor Content: Image Alignment === */
.editor-content img,
.editor-content .editor-figure{
  margin:1em auto;
  display:block;
  border-radius:6px;
  max-width:100%;
  height:auto;
  transition:outline .15s var(--ease),box-shadow .15s var(--ease);
  cursor:pointer;
}
.editor-content img.is-selected,
.editor-content .editor-figure.is-selected img{
  outline:3px solid var(--accent);
  outline-offset:3px;
  box-shadow:0 0 0 6px rgba(75,163,214,.15);
}

.editor-content .editor-figure{
  display:block;
  margin:1em auto;
  width:fit-content;
  max-width:100%;
}
.editor-content .editor-figure img{margin:0;display:block;width:100%}
.editor-content .editor-figure figcaption{
  font-size:.85rem;
  color:var(--text-muted);
  font-style:italic;
  text-align:center;
  padding:8px 12px 4px;
  line-height:1.4;
  border-top:1px solid var(--border);
  margin-top:6px;
}

/* Image alignment classes (apply to img OR figure) */
.editor-content img.align-left,
.editor-content .editor-figure.align-left{
  float:left;
  margin:.4em 1.5em 1em 0;
  clear:left;
}
.editor-content img.align-right,
.editor-content .editor-figure.align-right{
  float:right;
  margin:.4em 0 1em 1.5em;
  clear:right;
}
.editor-content img.align-center,
.editor-content .editor-figure.align-center{
  float:none;
  margin-left:auto;
  margin-right:auto;
  clear:both;
}

/* Image size classes */
.editor-content img.size-small,
.editor-content .editor-figure.size-small{width:40%}
.editor-content img.size-medium,
.editor-content .editor-figure.size-medium{width:60%}
.editor-content img.size-large,
.editor-content .editor-figure.size-large{width:80%}
.editor-content img.size-full,
.editor-content .editor-figure.size-full{width:100%}

@media(max-width:680px){
  .editor-content img.align-left,
  .editor-content .editor-figure.align-left,
  .editor-content img.align-right,
  .editor-content .editor-figure.align-right{
    float:none;
    margin:1em auto;
    width:100% !important;
  }
}

/* Clear after every paragraph to prevent runaway floats */
.editor-content::after{content:"";display:block;clear:both}

/* Drop zone state */
.editor-content.is-drop-target{
  outline:3px dashed var(--accent);
  outline-offset:-3px;
  background:rgba(75,163,214,.04);
}

/* YouTube embed */
.editor-content .youtube-embed,
.editor-content iframe{
  width:100%;
  max-width:640px;
  aspect-ratio:16/9;
  margin:1em auto;
  display:block;
  border:0;
  border-radius:6px;
}

/* === Floating Image Toolbar === */
.image-toolbar{
  position:absolute;
  display:flex;
  align-items:center;
  gap:2px;
  background:#0a0a0a;
  border:1px solid rgba(255,255,255,.1);
  padding:4px;
  border-radius:6px;
  box-shadow:0 12px 32px rgba(0,0,0,.4);
  z-index:1000;
  animation:imgToolbarIn .2s var(--ease);
}
@keyframes imgToolbarIn{
  from{opacity:0;transform:translateY(-6px) scale(.98)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
.image-toolbar button{
  background:transparent;
  color:rgba(255,255,255,.85);
  border:0;
  width:32px;
  height:30px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  border-radius:4px;
  font-family:inherit;
  font-size:.78rem;
  font-weight:700;
  transition:all .15s var(--ease);
}
.image-toolbar button:hover{
  background:rgba(255,255,255,.12);
  color:#fff;
}
.image-toolbar button.danger:hover{
  background:#dc2626;
  color:#fff;
}
.image-toolbar .divider{
  width:1px;
  height:18px;
  background:rgba(255,255,255,.12);
  margin:0 3px;
}
.image-toolbar svg{width:14px;height:14px}

/* === News-Detail: classes from editor preserved === */
.editor-content img.align-left{float:left;margin:.4em 1.5em 1em 0}
.editor-content img.align-right{float:right;margin:.4em 0 1em 1.5em}
.editor-content .editor-figure{display:block}

/* === Admin Vehicle Management === */
.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
@media(max-width:768px){
  .form-row-2,.form-row-3{grid-template-columns:1fr}
}

.admin-section-title{
  font-size:.78rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:800;
  color:var(--text-muted);
  margin-bottom:18px;
  padding-bottom:12px;
  border-bottom:1px solid var(--border);
}

.admin-table-vehicles tr.is-inactive td{opacity:.55}
.vehicle-thumb{
  width:64px;
  height:48px;
  background:var(--surface);
  border-radius:4px;
  overflow:hidden;
  display:grid;
  place-items:center;
}
.vehicle-thumb img{width:100%;height:100%;object-fit:cover}
.brand-mini{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  font-weight:800;
  font-size:1.1rem;
  color:rgba(255,255,255,.6);
  background:linear-gradient(135deg,#1c1917,#0a0a0a);
}

.toggle-pill{
  width:38px;
  height:22px;
  background:var(--border-strong);
  border:0;
  border-radius:99px;
  position:relative;
  cursor:pointer;
  padding:0;
  transition:background .2s var(--ease);
}
.toggle-pill .toggle-dot{
  position:absolute;
  top:2px;
  left:2px;
  width:18px;
  height:18px;
  background:#fff;
  border-radius:50%;
  transition:transform .2s var(--ease);
  box-shadow:0 2px 4px rgba(0,0,0,.2);
}
.toggle-pill.is-on{background:#16a34a}
.toggle-pill.is-on .toggle-dot{transform:translateX(16px)}

.star-toggle{
  background:transparent;
  border:0;
  cursor:pointer;
  color:var(--border-strong);
  padding:6px;
  transition:color .2s var(--ease),transform .2s var(--ease);
}
.star-toggle:hover{transform:scale(1.15)}
.star-toggle.is-on{color:var(--accent)}

.vehicle-image-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
  gap:14px;
}
.vehicle-image-grid.is-drop-target{
  outline:3px dashed var(--accent);
  outline-offset:8px;
  border-radius:6px;
}
.vehicle-image{
  position:relative;
  aspect-ratio:4/3;
  background:var(--surface);
  border:2px solid var(--border);
  border-radius:6px;
  overflow:hidden;
  transition:border-color .2s var(--ease),transform .2s var(--ease);
}
.vehicle-image:hover{border-color:var(--primary);transform:translateY(-2px)}
.vehicle-image.is-main{border-color:var(--accent)}
.vehicle-image img{width:100%;height:100%;object-fit:cover;display:block}
.vehicle-image img.is-broken{opacity:.2}
.vehicle-image-actions{
  position:absolute;
  top:6px;
  right:6px;
  display:flex;
  gap:4px;
  opacity:0;
  transition:opacity .15s var(--ease);
}
.vehicle-image:hover .vehicle-image-actions{opacity:1}
.vehicle-image-actions button{
  background:rgba(0,0,0,.7);
  border:0;
  color:#fff;
  padding:6px;
  cursor:pointer;
  border-radius:4px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.vehicle-image-actions button:hover{background:#000}
.vehicle-image-actions .delete-img-btn:hover{background:#dc2626}
.vehicle-image-actions .set-main-btn:hover{background:#a87900;color:var(--accent)}
.main-badge{
  position:absolute;
  bottom:6px;
  left:6px;
  background:var(--accent);
  color:#0a0a0a;
  font-size:.66rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:800;
  padding:4px 8px;
  border-radius:3px;
}
.vehicle-image-add{
  aspect-ratio:4/3;
  background:var(--bg-elev);
  border:2px dashed var(--border-strong);
  border-radius:6px;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  color:var(--text-muted);
  font-family:inherit;
  font-size:.85rem;
  font-weight:600;
  transition:all .2s var(--ease);
}
.vehicle-image-add:hover{border-color:var(--primary);color:var(--primary);background:var(--bg)}

/* ==========================================
   COMPREHENSIVE MOBILE OPTIMIZATION v2
   ========================================== */

/* === GLOBAL OVERFLOW PROTECTION === */
html, body {
  max-width: 100%;
  overflow-x: hidden;
}
*, *::before, *::after {
  max-width: 100%;
}
img, video, iframe, svg {
  max-width: 100%;
  height: auto;
}
/* Tables stay responsive */
.admin-table,
.specs-table {
  max-width: 100%;
}

/* Hide brand-strip on tablet+down */
@media(max-width:1100px){
  .brand-strip{display:none}
}

/* Hide "Bestand" CTA below 720 (was 540) */
@media(max-width:720px){
  .nav-cta-bestand{display:none}
}

/* Safe area - DO NOT apply to body (caused right whitespace bug) */
/* Instead apply only where needed */

/* Container padding scales down on mobile */
@media(max-width:540px){
  .container{padding:0 16px}
}
@media(max-width:380px){
  .container{padding:0 14px}
}

/* Touch-friendly target sizes */
@media(max-width:768px){
  .btn{min-height:44px;padding:12px 18px}
  .btn-sm{min-height:38px;padding:9px 14px;font-size:.78rem}
  .btn-lg{min-height:52px;padding:16px 28px}
  input,select,textarea{min-height:44px;font-size:16px}
  textarea{min-height:120px}
  label{font-size:.88rem}
}

/* === TYPOGRAPHY MOBILE === */
/* Use word-break to never let single words break layout */
@media(max-width:768px){
  h1,h2,h3,h4{
    overflow-wrap:break-word;
    word-break:normal;
    hyphens:auto;
    -webkit-hyphens:auto;
  }
}

/* Hero typography - safer clamps */
@media(max-width:900px){
  .hero{min-height:auto;padding:20px 0 0}
  .hero-content{
    padding:100px 0 72px;
    text-align:center;
    align-items:center;
  }
  .hero-content .eyebrow{
    margin:0 auto 14px;
    font-size:.66rem;
    letter-spacing:.18em;
  }
  .hero-content .eyebrow::before{display:none}
  .hero-content h1{
    font-size:clamp(1.7rem,7vw,2.4rem) !important;
    line-height:1.1;
    margin:0 auto 14px;
    max-width:100%;
    overflow-wrap:break-word;
    hyphens:auto;
  }
  .hero-content h1 br{display:none}
  .hero-content p{
    font-size:.92rem;
    line-height:1.55;
    max-width:340px;
    margin:0 auto 24px;
    color:rgba(255,255,255,.82);
  }
  .hero-actions{
    flex-direction:column;
    align-items:stretch;
    width:100%;
    max-width:320px;
    margin:0 auto;
    gap:10px;
  }
  .hero-actions .btn{width:100%;min-width:0;justify-content:center}
  .hero-actions .btn-lg{padding:14px 22px;font-size:.78rem}

  /* Fahrzeugsuche darf nicht mehr in den Hero reinragen — Buttons werden überdeckt */
  .fahrzeugsuche{
    margin-top:24px;
    padding:0 0 48px;
  }
  .search-panel{
    padding:24px 22px;
    border-radius:14px;
    gap:18px;
  }
  .search-panel-head{padding-bottom:14px;justify-content:center;text-align:center}
  .search-panel-head h2{font-size:1.05rem}
  .scroll-cue{display:none}
}
@media(max-width:540px){
  .hero-content{padding:88px 0 56px}
  .hero-content h1{font-size:clamp(1.55rem,7.5vw,2.1rem) !important}
  .hero-content p{font-size:.88rem;max-width:300px;margin-bottom:22px}
  .hero-actions{max-width:280px}
  .fahrzeugsuche{margin-top:14px;padding:0 0 36px}
  .search-panel{padding:18px 16px;gap:14px}
}
@media(max-width:380px){
  .hero-content{padding:80px 0 48px}
  .hero-content .eyebrow{font-size:.62rem}
  .hero-content p{display:none}
}

/* Hero meta grid */
@media(max-width:768px){
  .hero-meta-inner{grid-template-columns:repeat(2,1fr)}
}

/* Search form mobile */
@media(max-width:768px){
  .search-form{grid-template-columns:1fr !important;gap:10px;padding:18px}
  .search-form .field{font-size:.95rem}
  .search-form-foot{flex-direction:column;gap:12px;align-items:stretch}
  .search-form-foot .btn{width:100%}
}

/* Trust strip mobile */
@media(max-width:540px){
  .trust-strip-inner{grid-template-columns:1fr 1fr !important;gap:24px 16px}
  .trust-item strong{font-size:1.3rem}
  .trust-item span{font-size:.7rem;letter-spacing:.14em}
}

/* Section heads mobile */
@media(max-width:768px){
  .section-head{flex-direction:column;align-items:flex-start;gap:16px}
  .section-head h2{
    font-size:clamp(1.6rem,5.5vw,2.2rem);
    line-height:1.15;
    overflow-wrap:break-word;
    max-width:100%;
  }
  .section-head h2 br{display:none}
  .section{padding:64px 0}
  .section-sm{padding:40px 0}
}

/* Page-head titles */
@media(max-width:768px){
  .page-head{padding:110px 0 50px !important}
  .page-head h1{
    font-size:clamp(1.8rem,6vw,2.5rem) !important;
    line-height:1.15;
    margin-bottom:14px;
    overflow-wrap:break-word;
    max-width:100%;
  }
  .page-head h1 br{display:none}
  .page-head h1 em{font-style:normal}
  .page-head .breadcrumb{font-size:.78rem}
  .page-head p{font-size:.95rem !important;margin-top:18px !important}
}
@media(max-width:540px){
  .page-head h1{font-size:clamp(1.6rem,7vw,2.2rem) !important}
  .page-head{padding:100px 0 40px !important}
}

/* H1/H2/H3 global mobile */
@media(max-width:540px){
  h1{font-size:clamp(1.6rem,6.5vw,2.3rem);line-height:1.15}
  h2{font-size:clamp(1.4rem,5vw,1.9rem);line-height:1.2}
  h3{font-size:1.1rem;line-height:1.3}
}

/* Brand cards mobile */
@media(max-width:540px){
  .brands-grid{grid-template-columns:1fr;gap:12px}
  .brand-card{padding:24px}
  .brand-card h3{font-size:1.1rem}
}

/* Car cards mobile */
@media(max-width:380px){
  .car-card{padding:0}
  .car-body{padding:18px}
  .car-specs{grid-template-columns:repeat(3,1fr);gap:1px}
  .car-specs > div{padding:12px 10px}
  .car-specs span{font-size:.58rem}
  .car-specs strong{font-size:.78rem}
  .car-foot{padding:14px 18px}
  .car-price{font-size:1.1rem}
  .car-price small{font-size:.7rem}
  .car-title{font-size:1.05rem}
}

/* Filter sidebar slide-up on mobile */
.filter-mobile-head{display:none}

@media(max-width:1024px){
  .listing-grid{display:block}
  .filter-mobile-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 0 14px;
    margin-bottom:8px;
    border-bottom:1px solid var(--border);
  }
  .filter-mobile-head strong{
    font-size:1rem;
    color:var(--text);
    font-weight:700;
  }
  .filter-close{
    width:36px;height:36px;
    display:grid;
    place-items:center;
    background:var(--bg-elev);
    border:1px solid var(--border);
    border-radius:50%;
    color:var(--text);
    cursor:pointer;
    padding:0;
  }
  .filter-close svg{width:16px;height:16px}
  .filter-backdrop{
    display:block;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.55);
    backdrop-filter:blur(3px);
    z-index:118;
    opacity:0;
    pointer-events:none;
    transition:opacity .3s var(--ease);
  }
  .filter-backdrop.is-open{opacity:1;pointer-events:auto}
  .filter-sidebar{
    position:fixed;
    bottom:0;left:0;right:0;
    z-index:120;
    background:var(--bg);
    border:0;
    border-top:1px solid var(--border);
    border-radius:16px 16px 0 0;
    padding:20px 20px max(20px,env(safe-area-inset-bottom));
    transform:translateY(100%);
    transition:transform .35s var(--ease);
    max-height:85vh;
    overflow-y:auto;
    box-shadow:0 -8px 30px rgba(0,0,0,.15);
    width:100%;
    max-width:100%;
    visibility:hidden;
  }
  [data-theme="dark"] .filter-sidebar{box-shadow:0 -8px 30px rgba(0,0,0,.5)}
  .filter-sidebar.is-open{transform:translateY(0);visibility:visible}
  .filter-sidebar::before{
    content:"";
    position:sticky;
    top:0;
    display:block;
    width:50px;
    height:5px;
    background:var(--border-strong);
    border-radius:99px;
    margin:0 auto 14px;
  }
  .filter-toggle-mobile{
    position:fixed;
    bottom:84px;
    right:16px;
    z-index:115;
    background:var(--primary);
    color:#fff;
    border:0;
    padding:14px 18px;
    border-radius:99px;
    box-shadow:0 8px 24px rgba(6,76,114,.35);
    font-weight:700;
    font-size:.88rem;
    display:inline-flex;
    align-items:center;
    gap:8px;
    cursor:pointer;
    font-family:inherit;
  }
  .filter-toggle-mobile svg{width:18px;height:18px}
}

/* Listing bar mobile */
@media(max-width:540px){
  .listing-bar{flex-direction:column;align-items:flex-start;gap:14px}
  .listing-bar .select-wrap{max-width:100% !important;width:100%}
}

/* Detail view mobile */
@media(max-width:900px){
  .detail-head{flex-direction:column;align-items:flex-start;gap:20px}
  .detail-price-bar{text-align:left;width:100%}
  .detail-grid{grid-template-columns:1fr;gap:24px}
  .detail-sidebar{position:static}
}
@media(max-width:540px){
  .detail-quick-specs{grid-template-columns:repeat(2,1fr)}
  .gallery-thumbs{grid-template-columns:repeat(4,1fr);gap:6px}
  .equipment-list{grid-template-columns:1fr;gap:8px 0}
  .specs-table > div{grid-template-columns:1fr;gap:4px;padding:12px 16px}
  .specs-table span:first-child{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}
  .detail-section{padding:32px 0}
  .detail-section h2{font-size:1.15rem;margin-bottom:18px}
  .detail-price strong{font-size:1.7rem;line-height:1.05}
  .detail-cta{padding:36px 18px}
  .detail-cta h2{font-size:1.3rem}
  .detail-cta > div{flex-direction:column !important}
  .detail-cta .btn{width:100%;flex:none;min-width:0}
}

/* Service grid mobile */
@media(max-width:540px){
  .service-grid{grid-template-columns:1fr;gap:14px}
  .service-card{padding:28px 24px;min-height:auto}
}

/* Map card mobile */
@media(max-width:900px){
  .map-card{grid-template-columns:1fr}
  .map-card-info{padding:32px 24px;order:2}
  .map-card-info h3{font-size:1.2rem;line-height:1.25}
  .map-actions{flex-direction:column;gap:10px}
  .map-actions .btn{width:100%;justify-content:center}
  .km-map{min-height:280px;order:1}
}

/* Contact grid mobile */
@media(max-width:900px){
  .contact-grid{grid-template-columns:1fr !important;gap:32px}
}
@media(max-width:540px){
  .form-grid{grid-template-columns:1fr !important;gap:14px}
  .form-grid .field.full{grid-column:auto}
  .team-grid{grid-template-columns:1fr 1fr !important;gap:18px}
  .team-card{padding:18px}
  .team-card h4{font-size:.95rem}
}
@media(max-width:380px){
  .team-grid{grid-template-columns:1fr !important}
}

/* Aktuelles/Posts on mobile */
@media(max-width:540px){
  .aktuelles-grid{grid-template-columns:1fr;gap:14px}
  .post-card-body{padding:20px}
  .post-card h3{font-size:1.05rem;line-height:1.3}
  .post-card p{font-size:.88rem}
}

/* Footer mobile */
@media(max-width:768px){
  .footer-grid{grid-template-columns:repeat(2,1fr);gap:32px}
  .footer-brand{grid-column:1/-1}
}
@media(max-width:540px){
  .footer-grid{grid-template-columns:1fr;gap:28px;text-align:center}
  .footer-brand{grid-column:auto;margin-bottom:0}
  .footer h4{margin-top:0}
  .footer-bottom{flex-direction:column;gap:16px;text-align:center;font-size:.78rem}
}

/* Topbar mobile - condensed */
@media(max-width:768px){
  .topbar{font-size:.74rem;padding:6px 0}
  .topbar-inner{flex-wrap:wrap;justify-content:center;gap:10px 14px}
  .topbar .contact-strip{gap:12px;flex-wrap:wrap;justify-content:center;width:100%}
  .topbar .rating{display:none}
}
@media(max-width:540px){
  .topbar .socials{display:none}
  .topbar a{padding:0}
  .topbar .contact-strip{font-size:.72rem;gap:14px}
}

/* Quick-bar bottom mobile */
@media(max-width:768px){
  .quick-bar{
    bottom:max(12px,env(safe-area-inset-bottom));
    left:50%;
    transform:translateX(-50%);
    padding:6px;
    max-width:calc(100vw - 24px);
  }
  .quick-bar a{padding:10px 14px;font-size:.78rem}
  .quick-bar a span:not(.icon-text){display:none}
}

/* Pagination mobile */
@media(max-width:540px){
  .pagination{gap:4px;flex-wrap:wrap;justify-content:center}
  .pagination a{min-width:38px;height:38px;padding:0 10px;font-size:.82rem}
  .pagination .page-prev,.pagination .page-next{padding:0 14px;font-size:.78rem}
}

/* Admin shell mobile */
@media(max-width:900px){
  .admin-shell{grid-template-columns:1fr}
  .admin-sidebar{
    position:fixed;
    top:0;left:0;
    width:280px;height:100vh;height:100dvh;
    transform:translateX(-100%);
    transition:transform .35s var(--ease);
    z-index:200;
    box-shadow:6px 0 30px rgba(0,0,0,.3);
    max-width:85vw;
  }
  .admin-sidebar.is-open{transform:translateX(0)}
  .admin-main{padding:80px 18px 40px}
  .admin-mobile-bar{
    position:sticky;
    top:0;
    background:var(--bg);
    border-bottom:1px solid var(--border);
    padding:12px 18px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    z-index:50;
    margin:-32px -18px 20px;
  }
  .admin-mobile-toggle{
    width:40px;height:40px;
    background:var(--bg-elev);
    border:1px solid var(--border);
    border-radius:6px;
    color:var(--text);
    display:grid;
    place-items:center;
    cursor:pointer;
  }
  .admin-mobile-toggle svg{width:20px;height:20px}
}
@media(min-width:901px){.admin-mobile-bar,.admin-mobile-toggle{display:none}}

/* Admin tables on mobile - card-style */
@media(max-width:680px){
  .admin-table{font-size:.78rem}
  .admin-table thead{display:none}
  .admin-table,
  .admin-table tbody,
  .admin-table tr,
  .admin-table td{display:block;width:100%}
  .admin-table tr{
    background:var(--bg-card);
    border:1px solid var(--border);
    border-radius:8px;
    margin-bottom:12px;
    padding:14px 16px;
  }
  .admin-table tr:hover td{background:transparent}
  .admin-table td{
    padding:6px 0;
    border-bottom:1px solid var(--border);
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:8px;
    text-align:right;
    flex-wrap:wrap;
  }
  .admin-table td:before{
    content:attr(data-label);
    font-size:.7rem;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--text-muted);
    font-weight:700;
    text-align:left;
  }
  .admin-table td:last-child{border-bottom:0;justify-content:flex-end;flex-wrap:wrap}
}

/* Vehicle image grid mobile */
@media(max-width:540px){
  .vehicle-image-grid{grid-template-columns:repeat(2,1fr);gap:10px}
}

/* Editor mobile */
@media(max-width:680px){
  .editor-toolbar{padding:6px;gap:4px}
  .editor-toolbar-group button{min-width:36px;height:36px;font-size:.85rem}
  .editor-toolbar .ai-btn{width:100%;margin:6px 0 0;justify-content:center}
  .editor-toolbar .divider{margin:0 3px}
  .editor-content{padding:16px 18px;min-height:300px}
  .markdown-editor{grid-template-columns:1fr}
  .markdown-editor textarea{min-height:240px;border-right:0;border-bottom:1px solid var(--border)}
  .markdown-preview{max-height:300px}
  .image-toolbar{
    max-width:calc(100vw - 24px);
    flex-wrap:wrap;
    justify-content:center;
  }
}

/* Form rows mobile */
@media(max-width:540px){
  .form-row-2,.form-row-3{grid-template-columns:1fr;gap:12px}
  .admin-section{padding:20px}
  .admin-head{flex-direction:column;align-items:flex-start;gap:14px}
  .admin-head h1{font-size:1.25rem}
  .admin-actions{flex-direction:column}
  .admin-actions .btn{width:100%}
}

/* Action banner mobile */
@media(max-width:768px){
  .action-banner{padding:60px 0}
  .action-banner h2{font-size:clamp(1.4rem,5vw,2rem);line-height:1.2}
  .action-banner-inner{flex-direction:column;align-items:flex-start;gap:24px}
}

/* Values section mobile */
@media(max-width:540px){
  .values{grid-template-columns:1fr;gap:24px}
}

/* Split sections mobile */
@media(max-width:768px){
  .split{grid-template-columns:1fr;gap:32px}
  .split-img-wrap{order:-1}
}

/* Login box mobile padding */
@media(max-width:540px){
  .login-box{padding:28px 24px}
  .login-box h1{font-size:1.2rem}
  .login-shell{padding:18px}
}

/* Legal page styles */
.legal-content{
  color:var(--text-body);
  line-height:1.7;
  font-size:1.02rem;
  overflow-wrap:break-word;
}
.legal-content h2{
  font-size:1.5rem;
  font-weight:700;
  color:var(--text);
  margin:48px 0 16px;
  padding-top:24px;
  border-top:1px solid var(--border);
  letter-spacing:-.01em;
}
.legal-content h2:first-child{margin-top:0;border-top:0;padding-top:0}
.legal-content h3{
  font-size:1.1rem;
  font-weight:700;
  color:var(--text);
  margin:28px 0 10px;
}
.legal-content p{margin:0 0 14px;color:var(--text-body)}
.legal-content ul{margin:0 0 16px;padding-left:1.4em}
.legal-content li{margin-bottom:6px;color:var(--text-body)}
.legal-content a{color:var(--primary);text-decoration:underline;word-break:break-word}
.legal-content a:hover{color:var(--primary-bright)}
.legal-content hr{
  border:0;
  height:1px;
  background:var(--border);
  margin:36px 0;
}
.legal-content strong{color:var(--text);font-weight:700}

.legal-toc{
  background:var(--bg-elev);
  border:1px solid var(--border);
  padding:24px 28px;
  border-radius:8px;
  margin-bottom:48px;
}
.legal-toc strong{
  display:block;
  font-size:.72rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--text-muted);
  font-weight:800;
  margin-bottom:14px;
}
.legal-toc ol{
  margin:0;
  padding-left:1.2em;
  columns:2;
  column-gap:32px;
}
.legal-toc li{margin-bottom:8px;break-inside:avoid}
.legal-toc a{
  color:var(--text-body);
  text-decoration:none;
  font-size:.92rem;
}
.legal-toc a:hover{color:var(--primary);text-decoration:underline}
@media(max-width:680px){
  .legal-toc ol{columns:1}
}
@media(max-width:540px){
  .legal-content{font-size:.95rem}
  .legal-content h2{font-size:1.25rem;margin:36px 0 14px;padding-top:18px}
  .legal-content h3{font-size:1rem}
  .legal-toc{padding:18px}
  .legal-toc ol{padding-left:1.1em}
}

/* === Service Page === */
.service-promo{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:48px;
  align-items:center;
  margin-bottom:80px;
}
.service-promo-title{margin:14px 0 20px}
.service-promo-img{
  aspect-ratio:4/3;
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:6px;
}
.service-promo-img img{width:100%;height:100%;object-fit:cover}
@media(max-width:900px){
  .service-promo{grid-template-columns:1fr;gap:32px;margin-bottom:60px}
  .service-promo-img{order:-1;max-height:280px}
}

.service-premium-box{
  margin-top:120px;
  padding:60px;
  background:var(--bg-elev);
  border:1px solid var(--border);
  border-radius:8px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:48px;
  align-items:center;
}
.service-premium-title{
  font-size:1.6rem;
  font-family:var(--font-body);
  font-weight:700;
  margin-bottom:8px;
  line-height:1.25;
}
@media(max-width:900px){
  .service-premium-box{
    grid-template-columns:1fr;
    padding:36px 28px;
    gap:24px;
    margin-top:72px;
    text-align:left;
  }
  .service-premium-box .btn{justify-self:start}
  .service-premium-title{font-size:1.3rem}
}
@media(max-width:540px){
  .service-premium-box{padding:28px 22px}
  .service-premium-title{font-size:1.15rem}
  .service-premium-box .btn{width:100%;justify-content:center}
}

.service-info-grid{
  margin-top:80px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}
@media(max-width:680px){
  .service-info-grid{grid-template-columns:1fr;gap:16px;margin-top:60px}
}

/* === Team Page === */
.team-section{margin-bottom:72px}
.team-section:last-child{margin-bottom:0}
.team-section-head{
  display:flex;
  align-items:baseline;
  gap:16px;
  padding-bottom:18px;
  border-bottom:1px solid var(--border);
  margin-bottom:32px;
}
.team-section-num{
  font-family:var(--font-body);
  font-size:.74rem;
  letter-spacing:.18em;
  color:var(--accent);
  font-weight:800;
}
.team-section-head h2{
  margin:0;
  font-size:1.45rem;
  font-weight:700;
  color:var(--text);
  letter-spacing:-.01em;
}
.team-cards{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:16px;
}
.team-card-v2{
  display:flex;
  gap:16px;
  padding:20px 22px;
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:6px;
  transition:border-color .2s ease,transform .2s ease;
}
.team-card-v2:hover{
  border-color:var(--primary);
}
.team-card-v2.has-image{
  flex-direction:column;
  gap:0;
  padding:0;
  overflow:hidden;
}
.team-card-photo{
  flex-shrink:0;
  width:56px;
  height:56px;
  background:linear-gradient(135deg,var(--primary),var(--primary-bright));
  color:#fff;
  border-radius:50%;
  overflow:hidden;
  position:relative;
  display:grid;
  place-items:center;
}
.team-card-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  position:absolute;
  inset:0;
  z-index:2;
}
.team-card-initials{
  font-weight:700;
  font-size:.96rem;
  letter-spacing:.04em;
  z-index:1;
  position:relative;
}
.team-card-v2.has-image .team-card-photo{
  width:100%;
  height:auto;
  aspect-ratio:1;
  border-radius:0;
}
.team-card-v2.has-image .team-card-photo .team-card-initials{
  font-size:2rem;
  letter-spacing:.06em;
}
.team-card-v2.has-image .team-card-body{
  padding:18px 22px 20px;
}
.team-card-body{flex:1;min-width:0}
.team-card-name{
  font-size:1rem;
  font-weight:700;
  color:var(--text);
  margin:0 0 4px;
  letter-spacing:-.005em;
}
.team-card-role{
  font-size:.82rem;
  color:var(--text-muted);
  margin:0 0 12px;
  line-height:1.4;
}
.team-card-contact{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.team-card-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--text-body);
  text-decoration:none;
  font-size:.82rem;
  padding:4px 0;
  transition:color .15s ease;
  word-break:break-word;
}
.team-card-link:hover{color:var(--primary)}
.team-card-link svg{
  width:13px;height:13px;
  color:var(--text-muted);
  flex-shrink:0;
}
.team-card-link:hover svg{color:var(--primary)}

.team-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  padding:32px 36px;
  background:var(--bg-elev);
  border:1px solid var(--border);
  border-radius:8px;
  flex-wrap:wrap;
}
.team-cta-actions{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:680px){
  .team-section{margin-bottom:56px}
  .team-section-head h2{font-size:1.15rem}
  .team-cards{grid-template-columns:1fr}
  .team-card-v2{padding:16px 18px}
  .team-cta{flex-direction:column;align-items:flex-start;padding:24px}
  .team-cta-actions .btn-route{width:100%;justify-content:center}
  .team-cta-actions{width:100%}
}

/* === Rundgang Page === */
.rundgang-frame{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  background:#0a0a0a;
  border-radius:8px;
  overflow:hidden;
  box-shadow:var(--shadow-2);
}
.rundgang-iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
.rundgang-actions{
  display:flex;
  gap:12px;
  justify-content:center;
  margin-top:32px;
  flex-wrap:wrap;
}
@media(max-width:540px){
  .rundgang-frame{aspect-ratio:4/5;border-radius:6px}
  .rundgang-actions{flex-direction:column}
  .rundgang-actions .btn-route{width:100%;justify-content:center}
}

/* Mobile-only elements: hidden by default on desktop */
.filter-toggle-mobile{display:none}
.filter-backdrop{display:none}
.filter-mobile-head{display:none}

/* === Listing AJAX Filter Spinner === */
.listing-content{
  position:relative;
  min-height:200px;
  transition:opacity .2s ease;
}
.listing-content > .cars-grid{margin-top:0}
.listing-content > .pagination{margin-top:40px}
.listing-content.is-loading{
  opacity:.5;
  pointer-events:none;
}
.listing-content.is-loading .cars-grid,
.listing-content.is-loading .empty-state,
.listing-content.is-loading .pagination{
  filter:blur(1px);
}
.listing-spinner{
  position:absolute;
  top:80px;
  left:50%;
  transform:translateX(-50%);
  z-index:10;
  opacity:0;
  pointer-events:none;
  transition:opacity .25s ease;
}
.listing-spinner:not([aria-hidden]){
  opacity:1;
  pointer-events:auto;
}
.listing-spinner span{
  display:block;
  width:42px;
  height:42px;
  border:3px solid var(--border);
  border-top-color:var(--primary);
  border-radius:50%;
  animation:spin .8s linear infinite;
  background:var(--bg);
  box-shadow:0 6px 18px rgba(0,0,0,.08);
}
@keyframes spin{
  to{transform:rotate(360deg)}
}
@keyframes cardIn{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:translateY(0)}
}

@media(max-width:540px){
  .listing-spinner{top:60px}
  .listing-spinner span{width:36px;height:36px;border-width:2.5px}
}

/* === Admin Team Management === */
.team-admin-groups{display:flex;flex-direction:column;gap:20px;padding-bottom:60px}
.team-admin-group{
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:8px;
  overflow:hidden;
}
.team-admin-group-head{
  display:flex;
  align-items:center;
  gap:10px;
  padding:14px 16px;
  background:var(--bg-elev);
  border-bottom:1px solid var(--border);
}
.team-admin-grip{
  width:28px;height:28px;
  display:grid;
  place-items:center;
  color:var(--text-muted);
  cursor:grab;
  flex-shrink:0;
}
.team-admin-grip:active{cursor:grabbing}
.team-admin-grip svg{width:18px;height:18px}
.team-admin-group-title{
  flex:1;
  min-width:0;
  background:transparent;
  border:1px solid transparent;
  padding:6px 10px;
  font-size:.95rem;
  font-weight:700;
  color:var(--text);
  font-family:inherit;
  border-radius:4px;
}
.team-admin-group-title:hover{border-color:var(--border)}
.team-admin-group-title:focus{outline:none;border-color:var(--primary);background:var(--bg)}
.team-admin-count{
  background:var(--primary);
  color:#fff;
  font-size:.7rem;
  padding:3px 10px;
  border-radius:99px;
  font-weight:700;
  letter-spacing:.04em;
}
.team-admin-icon-btn{
  width:32px;height:32px;
  display:grid;
  place-items:center;
  background:transparent;
  border:1px solid var(--border);
  color:var(--text-muted);
  border-radius:4px;
  cursor:pointer;
  transition:all .15s ease;
}
.team-admin-icon-btn:hover{background:var(--bg);color:var(--text);border-color:var(--border-strong)}
.team-admin-icon-btn.delete-member-btn:hover,
.team-admin-icon-btn.delete-group-btn:hover{color:#dc2626;border-color:#dc2626}

.team-admin-members{
  min-height:60px;
  padding:8px;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.team-admin-members:empty::after{
  content:"Per Drag-&-Drop Mitarbeiter hierher ziehen";
  display:block;
  text-align:center;
  padding:32px;
  color:var(--text-muted);
  font-size:.85rem;
  font-style:italic;
  border:2px dashed var(--border);
  border-radius:6px;
}
.team-admin-card{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 12px;
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:6px;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.team-admin-card:hover{border-color:var(--border-strong);box-shadow:0 2px 6px rgba(0,0,0,.04)}
.team-admin-card-handle{
  width:24px;height:24px;
  display:grid;
  place-items:center;
  color:var(--text-muted);
  cursor:grab;
  flex-shrink:0;
}
.team-admin-card-handle:active{cursor:grabbing}
.team-admin-card-handle svg{width:14px;height:14px}
.team-admin-card-photo{
  width:36px;height:36px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--primary),var(--primary-bright));
  color:#fff;
  display:grid;
  place-items:center;
  font-weight:700;
  font-size:.72rem;
  letter-spacing:.04em;
  overflow:hidden;
  position:relative;
  flex-shrink:0;
}
.team-admin-card-photo img{
  position:absolute;
  inset:0;
  width:100%;height:100%;
  object-fit:cover;
}
.team-admin-card-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.team-admin-card-info strong{
  font-size:.88rem;
  font-weight:600;
  color:var(--text);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.team-admin-card-info span{
  font-size:.76rem;
  color:var(--text-muted);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.team-admin-inactive{
  font-size:.65rem;
  color:#dc2626;
  font-style:normal;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.team-admin-card-actions{display:flex;gap:4px;flex-shrink:0}
.team-admin-card-actions .team-admin-icon-btn{width:28px;height:28px}
.team-admin-card-actions .team-admin-icon-btn svg{width:12px;height:12px}

.sortable-ghost{opacity:.35}
.sortable-chosen{background:var(--bg-elev) !important}

/* Modal */
.team-modal[hidden]{display:none}
.team-modal{
  position:fixed;
  inset:0;
  z-index:9000;
  display:flex;
  align-items:center;
  justify-content:center;
}
.team-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.55);
  backdrop-filter:blur(3px);
}
.team-modal-dialog{
  position:relative;
  z-index:1;
  width:95%;
  max-width:520px;
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:10px;
  box-shadow:0 30px 80px rgba(0,0,0,.3);
  max-height:92vh;
  overflow-y:auto;
}
.team-modal-dialog header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px 22px;
  border-bottom:1px solid var(--border);
}
.team-modal-dialog h2{font-size:1.1rem;font-weight:700;margin:0;color:var(--text)}
.team-modal-close{
  width:32px;height:32px;
  background:transparent;
  border:0;
  color:var(--text-muted);
  font-size:1.6rem;
  cursor:pointer;
  line-height:1;
  padding:0;
  border-radius:4px;
}
.team-modal-close:hover{background:var(--bg-elev);color:var(--text)}
.team-modal-dialog form{padding:18px 22px;display:flex;flex-direction:column;gap:14px}
.team-modal-dialog label{
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:.78rem;
  font-weight:600;
  color:var(--text-muted);
  letter-spacing:.04em;
  text-transform:uppercase;
}
.team-modal-dialog input[type="text"],
.team-modal-dialog input[type="email"],
.team-modal-dialog input[type="url"]{
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:5px;
  font-family:inherit;
  font-size:.92rem;
  color:var(--text);
  background:var(--bg);
  text-transform:none;
  letter-spacing:normal;
  font-weight:400;
}
.team-modal-dialog input:focus{outline:none;border-color:var(--primary)}
.team-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.team-modal-check{
  flex-direction:row !important;
  align-items:center;
  gap:8px;
  font-size:.86rem !important;
  text-transform:none !important;
  letter-spacing:normal !important;
  color:var(--text) !important;
  font-weight:500 !important;
}
.team-modal-check input{width:auto;margin:0}
.team-modal-dialog footer{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  padding-top:8px;
}

@media(max-width:680px){
  .team-modal-grid{grid-template-columns:1fr}
  .team-admin-card-info span{font-size:.72rem}
}

/* Team-Modal Photo Upload */
.team-modal-photo-field{display:flex;flex-direction:column;gap:6px}
.team-modal-photo-field > label{
  font-size:.78rem;
  font-weight:600;
  color:var(--text-muted);
  letter-spacing:.04em;
  text-transform:uppercase;
}
.team-modal-photo-row{
  display:flex;
  align-items:center;
  gap:14px;
}
.team-modal-photo-preview{
  width:84px;
  height:84px;
  border-radius:50%;
  background:var(--bg-elev);
  border:1px solid var(--border);
  display:grid;
  place-items:center;
  overflow:hidden;
  position:relative;
  flex-shrink:0;
}
.team-modal-photo-preview img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.team-modal-photo-placeholder{
  font-size:.7rem;
  color:var(--text-muted);
  letter-spacing:.06em;
  text-transform:uppercase;
}
.team-modal-photo-actions{
  display:flex;
  flex-direction:column;
  gap:6px;
  flex:1;
  align-items:flex-start;
}
.team-modal-photo-actions .btn-route{padding:8px 14px;font-size:.74rem}
.team-modal-photo-actions .btn-route svg{margin-right:2px}
.btn-route-link{
  background:transparent;
  border:0;
  color:var(--text-muted);
  font-size:.74rem;
  cursor:pointer;
  padding:4px 8px;
  font-family:inherit;
  text-decoration:underline;
}
.btn-route-link:hover{color:#dc2626}
.team-modal-photo-url{
  font-size:.78rem !important;
  padding:8px 10px !important;
  color:var(--text-muted) !important;
  background:var(--bg-elev) !important;
}
.team-modal-photo-url:focus{color:var(--text) !important;background:var(--bg) !important}

/* User-Avatar (Admin) */
.user-avatar-edit{
  display:flex;
  align-items:center;
  gap:18px;
  margin-top:8px;
}
.user-avatar-preview{
  width:96px;
  height:96px;
  border-radius:50%;
  overflow:hidden;
  background:linear-gradient(135deg,var(--primary),var(--primary-bright));
  display:grid;
  place-items:center;
  flex-shrink:0;
  position:relative;
}
.user-avatar-preview img{
  width:100%;
  height:100%;
  object-fit:cover;
  position:absolute;
  inset:0;
}
.user-avatar-initials{
  color:#fff;
  font-weight:700;
  font-size:1.6rem;
  letter-spacing:.06em;
}
.user-avatar-actions{
  display:flex;
  flex-direction:column;
  gap:8px;
  align-items:flex-start;
}

.user-list-avatar{
  width:36px;
  height:36px;
  border-radius:50%;
  overflow:hidden;
  background:linear-gradient(135deg,var(--primary),var(--primary-bright));
  color:#fff;
  display:inline-grid;
  place-items:center;
  font-weight:700;
  font-size:.72rem;
  letter-spacing:.04em;
  flex-shrink:0;
  position:relative;
}
.user-list-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  position:absolute;
  inset:0;
}

.admin-user{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px;
  border-top:1px solid var(--admin-border);
}
.admin-user-avatar{
  width:42px;
  height:42px;
  border-radius:50%;
  overflow:hidden;
  background:linear-gradient(135deg,var(--primary),var(--primary-bright));
  color:#fff;
  display:grid;
  place-items:center;
  font-weight:700;
  font-size:.74rem;
  letter-spacing:.04em;
  flex-shrink:0;
  position:relative;
}
.admin-user-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  position:absolute;
  inset:0;
}
.admin-user-info{flex:1;min-width:0}

/* Post-Author Avatare (Public) */
.post-author-avatar{
  width:40px;
  height:40px;
  border-radius:50%;
  overflow:hidden;
  background:linear-gradient(135deg,var(--primary),var(--primary-bright));
  color:#fff;
  display:grid;
  place-items:center;
  font-weight:700;
  font-size:.82rem;
  letter-spacing:.04em;
  flex-shrink:0;
  position:relative;
}
.post-author-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  position:absolute;
  inset:0;
}

.post-card-author{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--border);
}
.post-card-author-avatar{
  width:26px;
  height:26px;
  border-radius:50%;
  overflow:hidden;
  background:linear-gradient(135deg,var(--primary),var(--primary-bright));
  color:#fff;
  display:grid;
  place-items:center;
  font-weight:700;
  font-size:.62rem;
  letter-spacing:.04em;
  flex-shrink:0;
  position:relative;
}
.post-card-author-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  position:absolute;
  inset:0;
}
.post-card-author-name{
  font-size:.78rem;
  color:var(--text-muted);
  font-weight:500;
}

/* === Analytics === */
.analytics-range-switch{display:inline-flex;gap:4px;background:var(--bg-elev);border:1px solid var(--border);border-radius:6px;padding:4px}
.analytics-range-switch a{
  padding:6px 14px;
  font-size:.78rem;
  font-weight:600;
  color:var(--text-muted);
  border-radius:4px;
  text-decoration:none;
  transition:background-color .15s ease,color .15s ease;
}
.analytics-range-switch a:hover{color:var(--text)}
.analytics-range-switch a.is-active{background:var(--primary);color:#fff}

.analytics-stats-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:16px;
  margin-bottom:24px;
}
.analytics-stat{
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:8px;
  padding:20px 22px;
}
.analytics-stat-label{
  font-size:.72rem;
  font-weight:600;
  color:var(--text-muted);
  letter-spacing:.1em;
  text-transform:uppercase;
}
.analytics-stat-value{
  font-size:2rem;
  font-weight:700;
  color:var(--text);
  margin-top:6px;
  line-height:1.1;
}
.analytics-stat-sub{
  font-size:.78rem;
  color:var(--text-muted);
  margin-top:4px;
}

.analytics-card{margin-bottom:20px}
.analytics-card h3{
  font-size:.95rem;
  font-weight:700;
  margin:0 0 18px;
  color:var(--text);
}

.analytics-chart{
  display:flex;
  align-items:flex-end;
  gap:4px;
  height:200px;
  padding-top:24px;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:thin;
  scrollbar-color:var(--border-strong) transparent;
}
.analytics-chart::-webkit-scrollbar{height:8px}
.analytics-chart::-webkit-scrollbar-track{background:transparent}
.analytics-chart::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px}
.analytics-chart-sm{height:140px;gap:2px}
.analytics-chart-col{
  flex:1 0 auto;
  min-width:14px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
  height:100%;
  position:relative;
}
.analytics-chart-sm .analytics-chart-col{min-width:20px}
.analytics-chart-bar{
  width:100%;
  max-width:36px;
  min-height:2px;
  background:linear-gradient(180deg,var(--primary) 0%,var(--primary-bright) 100%);
  border-radius:3px 3px 0 0;
  position:relative;
  transition:background .2s ease;
  cursor:pointer;
}
.analytics-chart-bar:hover{background:var(--accent)}
.analytics-chart-val{
  position:absolute;
  top:-22px;
  left:50%;
  transform:translateX(-50%);
  font-size:.65rem;
  font-weight:700;
  color:var(--text-muted);
  white-space:nowrap;
  opacity:0;
  transition:opacity .15s ease;
}
.analytics-chart-col:hover .analytics-chart-val{opacity:1;color:var(--primary)}
.analytics-chart-label{
  margin-top:6px;
  font-size:.65rem;
  color:var(--text-muted);
  letter-spacing:.04em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:100%;
}

.analytics-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.analytics-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:920px){
  .analytics-grid-2,.analytics-grid-3{grid-template-columns:1fr}
}

.analytics-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.analytics-list li{display:flex;flex-direction:column;gap:4px}
.analytics-list-row{display:flex;justify-content:space-between;gap:14px;align-items:center}
.analytics-list-label{
  font-size:.85rem;
  color:var(--text);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  min-width:0;
  font-weight:500;
}
.analytics-list-num{
  font-size:.82rem;
  font-weight:700;
  color:var(--text-muted);
  flex-shrink:0;
  font-variant-numeric:tabular-nums;
}
.analytics-list-bar{
  height:4px;
  background:var(--bg-elev);
  border-radius:2px;
  overflow:hidden;
}
.analytics-list-bar span{
  display:block;
  height:100%;
  background:var(--primary);
  border-radius:2px;
}

/* === Aktionen List === */
.aktionen-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}
@media(max-width:1024px){.aktionen-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.aktionen-grid{grid-template-columns:1fr}}
.aktion-card{
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:8px;
  overflow:hidden;
  text-decoration:none;
  color:inherit;
  display:flex;
  flex-direction:column;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.aktion-card:hover{border-color:var(--primary);box-shadow:0 8px 24px rgba(6,76,114,.1)}
.aktion-card-media{
  aspect-ratio:16/10;
  background:var(--bg-elev);
  position:relative;
  overflow:hidden;
}
.aktion-card-media img{width:100%;height:100%;object-fit:cover;display:block}
.aktion-card-fallback{
  display:grid;
  place-items:center;
  width:100%;height:100%;
  background:linear-gradient(135deg,var(--primary),var(--primary-bright));
  color:#fff;
  font-weight:700;
  letter-spacing:.1em;
  font-size:.9rem;
  text-transform:uppercase;
}
.aktion-card-badge{
  position:absolute;
  top:14px;left:14px;
  background:var(--primary);
  color:#fff;
  padding:5px 12px;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  border-radius:3px;
}
.aktion-card-body{padding:22px 24px;display:flex;flex-direction:column;gap:8px;flex:1}
.aktion-card-sub{
  font-size:.7rem;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--primary);
}
.aktion-card-title{
  font-size:1.25rem;
  font-weight:700;
  margin:0;
  color:var(--text);
  line-height:1.25;
}
.aktion-card-excerpt{
  color:var(--text-muted);
  font-size:.9rem;
  line-height:1.5;
  margin:0;
}
.aktion-card-foot{
  margin-top:auto;
  padding-top:16px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  border-top:1px solid var(--border);
}
.aktion-card-valid{font-size:.75rem;color:var(--text-muted)}
.aktion-card-arrow{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:.74rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--primary);
}

/* === Aktion Detail === */
.aktion-article{padding:56px 0 32px}
.aktion-breadcrumb{margin-bottom:24px}
.aktion-breadcrumb a{
  color:var(--text-muted);
  text-decoration:none;
  font-size:.85rem;
  font-weight:500;
}
.aktion-breadcrumb a:hover{color:var(--primary)}
.aktion-detail-title{
  font-size:clamp(2rem,4vw,3rem);
  font-weight:800;
  margin:8px 0 14px;
  line-height:1.1;
  color:var(--text);
  letter-spacing:-.015em;
  max-width:920px;
}
.aktion-detail-meta{color:var(--text-muted);font-size:.95rem;margin-bottom:32px}
.aktion-detail-cover{
  margin:0 0 48px;
  border-radius:8px;
  overflow:hidden;
  background:var(--bg-elev);
  max-width:1100px;
}
.aktion-detail-cover img{width:100%;height:auto;display:block;object-fit:cover}
.aktion-detail-cover-compact{max-width:760px}
.aktion-detail-cover-compact img{max-height:220px;width:100%}
.aktion-detail-cover-normal img{max-height:340px;width:100%}
.aktion-detail-cover-wide img{max-height:500px;width:100%}
.aktion-detail-body{
  max-width:780px;
  font-size:1.04rem;
  line-height:1.75;
  color:var(--text-body);
}
.aktion-detail-body h2{font-size:1.6rem;font-weight:700;margin:48px 0 16px;color:var(--text);letter-spacing:-.01em}
.aktion-detail-body h3{font-size:1.25rem;font-weight:700;margin:32px 0 12px;color:var(--text)}
.aktion-detail-body p{margin:0 0 18px}
.aktion-detail-body ul,
.aktion-detail-body ol{margin:0 0 18px;padding-left:24px}
.aktion-detail-body li{margin-bottom:8px}
.aktion-detail-body a{color:var(--primary);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.aktion-detail-body strong{color:var(--text);font-weight:700}
.aktion-detail-body blockquote{
  border-left:3px solid var(--primary);
  margin:24px 0;
  padding:8px 0 8px 20px;
  font-style:italic;
  color:var(--text-muted);
}
.aktion-detail-body img{max-width:100%;height:auto;border-radius:6px;margin:24px 0}
.aktion-detail-cta{margin:40px 0;max-width:780px}

/* === Ansprechpartner === */
.aktion-contacts{
  background:var(--bg-elev);
  padding:72px 0;
  margin-top:48px;
  border-top:1px solid var(--border);
}
.aktion-contacts h2{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:800;margin:8px 0 12px;color:var(--text);letter-spacing:-.015em}
.aktion-contacts h2 em{color:var(--primary);font-style:normal}
.aktion-contacts-lead{color:var(--text-muted);font-size:1rem;margin-bottom:36px;max-width:560px}
.aktion-contacts-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:20px;
}
.aktion-contact-card{
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:8px;
  padding:24px 22px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  transition:border-color .2s ease;
}
.aktion-contact-card:hover{border-color:var(--primary)}
.aktion-contact-photo{
  width:96px;
  height:96px;
  border-radius:50%;
  overflow:hidden;
  background:linear-gradient(135deg,var(--primary),var(--primary-bright));
  color:#fff;
  display:grid;
  place-items:center;
  font-weight:700;
  font-size:1.1rem;
  letter-spacing:.06em;
  margin-bottom:14px;
  flex-shrink:0;
}
.aktion-contact-photo img{width:100%;height:100%;object-fit:cover}
.aktion-contact-card h3{font-size:1rem;font-weight:700;margin:0 0 4px;color:var(--text)}
.aktion-contact-role{font-size:.82rem;color:var(--text-muted);margin-bottom:14px;line-height:1.4}
.aktion-contact-links{display:flex;flex-direction:column;gap:6px;width:100%}
.aktion-contact-links a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-size:.82rem;
  color:var(--text-body);
  text-decoration:none;
  padding:6px 10px;
  border-radius:4px;
  transition:background-color .15s ease;
}
.aktion-contact-links a:hover{background:var(--bg-elev);color:var(--primary)}

/* === Admin: Contacts Picker === */
.contacts-picker{display:flex;flex-direction:column;gap:18px}
.contacts-group-title{
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--text-muted);
  margin-bottom:8px;
}
.contacts-group-list{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:8px;
}
.contact-chip{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 10px;
  border:1px solid var(--border);
  border-radius:6px;
  cursor:pointer;
  background:var(--bg);
  transition:border-color .15s ease,background-color .15s ease;
}
.contact-chip:hover{border-color:var(--border-strong)}
.contact-chip.is-selected{border-color:var(--primary);background:rgba(75,163,214,.06)}
.contact-chip input[type=checkbox]{display:none}
.contact-chip img,
.contact-chip-initials{
  width:36px;
  height:36px;
  border-radius:50%;
  flex-shrink:0;
}
.contact-chip img{object-fit:cover}
.contact-chip-initials{
  background:linear-gradient(135deg,var(--primary),var(--primary-bright));
  color:#fff;
  display:grid;
  place-items:center;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.04em;
}
.contact-chip-info{display:flex;flex-direction:column;min-width:0;flex:1}
.contact-chip-info strong{font-size:.84rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.contact-chip-info em{font-size:.72rem;color:var(--text-muted);font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* === Barrierefreiheit (A11y) === */
.a11y-trigger{
  position:fixed;
  bottom:24px;left:24px;
  width:54px;height:54px;
  background:var(--primary);
  color:#fff;
  border:0;
  border-radius:50%;
  box-shadow:0 10px 28px rgba(6,76,114,.4);
  display:grid;
  place-items:center;
  cursor:pointer;
  z-index:90;
  transition:background-color .2s ease,transform .2s ease;
}
.a11y-trigger:hover{background:var(--primary-bright);transform:scale(1.05)}
.a11y-trigger svg{width:24px;height:24px}
@media(max-width:768px){
  .a11y-trigger{bottom:16px;left:16px;width:48px;height:48px}
  .a11y-trigger svg{width:20px;height:20px}
}

.a11y-backdrop{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.4);
  z-index:9998;
  opacity:0;
  transition:opacity .25s ease;
  pointer-events:none;
}
.a11y-backdrop.is-visible{opacity:1;pointer-events:auto}

.a11y-panel{
  position:fixed;
  top:0;left:0;
  height:100vh;
  width:380px;
  max-width:90vw;
  background:var(--bg);
  z-index:9999;
  display:flex;
  flex-direction:column;
  box-shadow:8px 0 40px rgba(0,0,0,.18);
  transform:translateX(-100%);
  transition:transform .3s cubic-bezier(.16,1,.3,1);
}
.a11y-panel.is-open{transform:translateX(0)}

.a11y-head{
  background:var(--primary);
  color:#fff;
  padding:18px 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-shrink:0;
}
.a11y-head-title{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:1.05rem;
  font-weight:700;
}
.a11y-head-title svg{width:22px;height:22px;flex-shrink:0}
.a11y-head-actions{display:flex;gap:6px}
.a11y-icon-btn{
  width:34px;height:34px;
  background:rgba(255,255,255,.12);
  border:0;
  border-radius:6px;
  color:#fff;
  display:grid;
  place-items:center;
  cursor:pointer;
  transition:background-color .15s ease;
}
.a11y-icon-btn:hover{background:rgba(255,255,255,.22)}
.a11y-icon-btn svg{width:16px;height:16px}

.a11y-body{
  flex:1;
  overflow-y:auto;
  padding:20px 22px 32px;
}
.a11y-section{margin-bottom:24px}
.a11y-section:last-child{margin-bottom:0}
.a11y-section h3{
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--text-muted);
  margin:0 0 12px;
}
.a11y-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.a11y-tile{
  background:var(--bg-card);
  border:1.5px solid var(--border);
  border-radius:8px;
  padding:14px 12px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
  cursor:pointer;
  transition:border-color .15s ease,background-color .15s ease;
  text-align:left;
  font-family:inherit;
  position:relative;
  min-height:96px;
}
.a11y-tile:hover{border-color:var(--border-strong)}
.a11y-tile.is-active{
  border-color:var(--primary);
  background:rgba(75,163,214,.08);
}
.a11y-tile-icon{
  width:36px;height:36px;
  border-radius:50%;
  background:var(--bg-elev);
  display:grid;
  place-items:center;
  color:var(--primary);
  flex-shrink:0;
}
.a11y-tile.is-active .a11y-tile-icon{background:var(--primary);color:#fff}
.a11y-tile-icon svg{width:18px;height:18px}
.a11y-tile-label{
  font-size:.82rem;
  font-weight:600;
  color:var(--text);
  line-height:1.25;
}
.a11y-tile-level{
  position:absolute;
  top:10px;right:10px;
  font-size:.65rem;
  font-weight:700;
  color:var(--text-muted);
  background:var(--bg-elev);
  padding:2px 6px;
  border-radius:99px;
  display:none;
}
.a11y-tile.is-active .a11y-tile-level{display:inline-block;color:var(--primary);background:rgba(75,163,214,.12)}

/* Reading mask */
.a11y-reading-mask{
  position:fixed;
  left:0;right:0;
  height:9999px;
  background:rgba(0,0,0,.55);
  pointer-events:none;
  z-index:9997;
  top:0;
  clip-path:polygon(0 0, 100% 0, 100% calc(50% - 80px), 0 calc(50% - 80px), 0 calc(50% + 80px), 100% calc(50% + 80px), 100% 100%, 0 100%);
}

/* === A11y body modifiers === */
body.a11y-text-1{zoom:1.12}
body.a11y-text-2{zoom:1.25}
body.a11y-text-3{zoom:1.40}
@supports not (zoom: 1.12) {
  body.a11y-text-1{transform:scale(1.12);transform-origin:0 0;width:89.3%}
  body.a11y-text-2{transform:scale(1.25);transform-origin:0 0;width:80%}
  body.a11y-text-3{transform:scale(1.40);transform-origin:0 0;width:71.4%}
}

body.a11y-line-1 *{line-height:1.8 !important}
body.a11y-line-2 *{line-height:2.1 !important}

body.a11y-align-justify p,
body.a11y-align-justify li{text-align:justify !important}
body.a11y-align-left p,
body.a11y-align-left li{text-align:left !important}

body.a11y-readable,
body.a11y-readable *{
  font-family:'Atkinson Hyperlegible','Open Sans',Verdana,sans-serif !important;
  letter-spacing:.02em !important;
}

body.a11y-contrast{
  --bg:#000;
  --bg-elev:#000;
  --bg-card:#000;
  --surface:#000;
  --border:#fff;
  --border-strong:#fff;
  --text:#fff;
  --text-body:#fff;
  --text-muted:#ffff00;
  --text-dim:#ffff00;
  --primary:#ffff00;
  --primary-bright:#ffff00;
  --accent:#00ffff;
  filter:none;
}
body.a11y-contrast a{color:#00ffff !important;text-decoration:underline !important}
body.a11y-contrast img,
body.a11y-contrast video{filter:none}

body.a11y-grayscale,
body.a11y-grayscale *{filter:grayscale(1) !important}

body.a11y-hide-images img,
body.a11y-hide-images video,
body.a11y-hide-images picture,
body.a11y-hide-images [style*="background-image"]{
  display:none !important;
}
body.a11y-hide-images [style*="background-image"]{background-image:none !important}

body.a11y-no-anim,
body.a11y-no-anim *,
body.a11y-no-anim *::before,
body.a11y-no-anim *::after{
  animation:none !important;
  transition:none !important;
  scroll-behavior:auto !important;
}
body.a11y-no-anim video[autoplay]{display:none}

body.a11y-highlight-links a{
  text-decoration:underline !important;
  text-decoration-thickness:2px !important;
  text-underline-offset:3px !important;
  color:var(--primary) !important;
  font-weight:600 !important;
  background:rgba(75,163,214,.08);
  padding:2px 4px;
  border-radius:3px;
}

body.a11y-focus *:focus,
body.a11y-focus *:focus-visible{
  outline:3px solid #ff6b00 !important;
  outline-offset:3px !important;
}

body.a11y-structure h1,
body.a11y-structure h2,
body.a11y-structure h3,
body.a11y-structure h4{
  outline:2px dashed var(--primary);
  outline-offset:4px;
  position:relative;
}
body.a11y-structure h1::before{content:"H1";background:var(--primary);color:#fff;font-size:10px;padding:2px 6px;position:absolute;top:-8px;left:-2px;font-weight:700;letter-spacing:.06em;border-radius:3px}
body.a11y-structure h2::before{content:"H2";background:var(--primary);color:#fff;font-size:10px;padding:2px 6px;position:absolute;top:-8px;left:-2px;font-weight:700;letter-spacing:.06em;border-radius:3px}
body.a11y-structure h3::before{content:"H3";background:var(--primary-bright);color:#fff;font-size:10px;padding:2px 6px;position:absolute;top:-8px;left:-2px;font-weight:700;letter-spacing:.06em;border-radius:3px}
body.a11y-structure h4::before{content:"H4";background:var(--primary-bright);color:#fff;font-size:10px;padding:2px 6px;position:absolute;top:-8px;left:-2px;font-weight:700;letter-spacing:.06em;border-radius:3px}

/* === Editor: Image Resize Handles === */
.img-resize-wrap{
  display:inline-block;
  position:relative;
  max-width:100%;
  line-height:0;
}
.img-resize-wrap.is-active img{
  outline:2px solid var(--primary);
  outline-offset:2px;
}
.img-resize-handle{
  position:absolute;
  width:14px;height:14px;
  background:#fff;
  border:2px solid var(--primary);
  border-radius:3px;
  display:none;
  z-index:5;
  box-shadow:0 1px 4px rgba(0,0,0,.15);
}
.img-resize-wrap.is-active .img-resize-handle{display:block}
.img-resize-nw{top:-7px;left:-7px;cursor:nwse-resize}
.img-resize-ne{top:-7px;right:-7px;cursor:nesw-resize}
.img-resize-sw{bottom:-7px;left:-7px;cursor:nesw-resize}
.img-resize-se{bottom:-7px;right:-7px;cursor:nwse-resize}

/* Make editor section truly full-width inside admin-main */
.admin-form .admin-section.editor-section{
  max-width:none;
  margin-left:0;
  margin-right:0;
}
.admin-section.editor-section .editor-content,
.admin-section.editor-section .markdown-editor{
  min-height:540px;
}

/* === Admin Contacts Picker (Search + Pagination) === */
.contacts-search{
  position:relative;
  margin-bottom:16px;
}
.contacts-search input{
  width:100%;
  padding:11px 16px 11px 40px;
  border:1px solid var(--border);
  border-radius:6px;
  font-family:inherit;
  font-size:.9rem;
  background:var(--bg);
}
.contacts-search input:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 3px rgba(75,163,214,.15)}
.contacts-search svg{
  position:absolute;
  left:14px;top:50%;
  transform:translateY(-50%);
  width:16px;height:16px;
  color:var(--text-muted);
  pointer-events:none;
}
.contacts-search-info{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-top:8px;
  font-size:.78rem;
  color:var(--text-muted);
}
.contacts-load-more{
  margin:14px auto 0;
  display:block;
  background:var(--bg-elev);
  color:var(--text);
  border:1px solid var(--border);
  padding:10px 22px;
  border-radius:6px;
  font-family:inherit;
  font-size:.85rem;
  font-weight:600;
  cursor:pointer;
  transition:background-color .15s ease,border-color .15s ease;
}
.contacts-load-more:hover{background:var(--bg-card);border-color:var(--border-strong)}
.contact-chip.is-hidden{display:none}
.contact-chip.is-pinned{order:-1}
.contacts-empty{
  text-align:center;
  padding:24px;
  color:var(--text-muted);
  font-size:.85rem;
  font-style:italic;
}

/* === Inline AI button (Title/Excerpt) === */
.field-with-action{
  position:relative;
}
.field-with-action input,
.field-with-action textarea{
  padding-right:62px;
}
.field-ai-btn{
  position:absolute;
  top:7px;right:7px;
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:5px 10px;
  background:linear-gradient(135deg, var(--primary), var(--primary-bright));
  color:#fff;
  border:0;
  border-radius:5px;
  font-family:inherit;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.06em;
  cursor:pointer;
  transition:opacity .15s ease,transform .15s ease;
}
.field-ai-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(6,76,114,.25)}
.field-ai-btn:disabled{opacity:.6;cursor:wait;transform:none}
.field-with-action textarea ~ .field-ai-btn{
  top:auto;bottom:7px;
}

/* === Mockup Modal === */
.mockup-modal{
  position:fixed;
  inset:0;
  background:rgba(10,10,10,.5);
  z-index:10000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  backdrop-filter:blur(4px);
}
.mockup-modal.is-open{display:flex}
.mockup-dialog{
  background:var(--bg);
  border-radius:10px;
  width:100%;
  max-width:1280px;
  max-height:92vh;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  box-shadow:0 30px 80px rgba(0,0,0,.3);
}
.mockup-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:16px 22px;
  background:var(--primary);
  color:#fff;
}
.mockup-head-title{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:1rem;
  font-weight:700;
}
.mockup-close{
  background:rgba(255,255,255,.12);
  border:0;
  color:#fff;
  width:32px;height:32px;
  display:grid;place-items:center;
  border-radius:6px;
  cursor:pointer;
  transition:background-color .15s ease;
}
.mockup-close:hover{background:rgba(255,255,255,.22)}
.mockup-body{
  display:grid;
  grid-template-columns:380px 1fr;
  gap:0;
  flex:1;
  min-height:0;
}
@media(max-width:960px){.mockup-body{grid-template-columns:1fr;grid-template-rows:auto 1fr}}
.mockup-left{
  padding:22px 22px 22px;
  border-right:1px solid var(--border);
  overflow-y:auto;
  background:var(--bg-elev);
  display:flex;
  flex-direction:column;
}
.mockup-right{
  display:flex;
  flex-direction:column;
  min-height:0;
}
.mockup-preview-label{
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--text-muted);
  padding:14px 22px 8px;
  background:var(--bg);
  border-bottom:1px solid var(--border);
}
.mockup-preview{
  flex:1;
  border:0;
  background:#fafaf9;
  min-height:400px;
}

/* === Edit-with-Preview Layout === */
.edit-shell{
  display:grid;
  grid-template-columns:minmax(0,1fr) 480px;
  gap:24px;
  align-items:start;
  transition:grid-template-columns .3s var(--ease);
}
.edit-shell.preview-hidden{grid-template-columns:minmax(0,1fr) 0}
.edit-shell.preview-hidden .edit-preview-panel{opacity:0;pointer-events:none}
.edit-preview-panel{
  position:sticky;
  top:24px;
  height:calc(100vh - 48px);
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:8px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  transition:opacity .25s ease;
  min-width:0;
}
.edit-preview-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:10px 14px;
  border-bottom:1px solid var(--border);
  background:var(--bg-elev);
  flex-shrink:0;
}
.edit-preview-label{
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--text-muted);
  display:flex;
  align-items:center;
  gap:8px;
}
.edit-preview-label::before{
  content:"";
  width:8px;height:8px;
  border-radius:50%;
  background:#22c55e;
  box-shadow:0 0 0 0 rgba(34,197,94,.5);
  animation:editPreviewPulse 2s infinite;
}
@keyframes editPreviewPulse{
  0%{box-shadow:0 0 0 0 rgba(34,197,94,.5)}
  70%{box-shadow:0 0 0 8px rgba(34,197,94,0)}
  100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}
}
.edit-preview-toggle{
  background:transparent;
  border:0;
  padding:4px 8px;
  font-family:inherit;
  font-size:.72rem;
  font-weight:600;
  color:var(--text-muted);
  cursor:pointer;
  border-radius:4px;
}
.edit-preview-toggle:hover{background:var(--surface);color:var(--text)}
.edit-preview-iframe{
  flex:1;
  border:0;
  background:#fff;
  min-height:0;
}
.edit-preview-show{
  display:none;
  position:fixed;
  bottom:24px;right:24px;
  z-index:50;
  background:var(--primary);
  color:#fff;
  border:0;
  padding:10px 18px;
  border-radius:99px;
  font-family:inherit;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.06em;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(6,76,114,.3);
  align-items:center;
  gap:6px;
}
.edit-preview-show:hover{background:var(--primary-bright)}
.edit-shell.preview-hidden .edit-preview-show{display:inline-flex}
@media(max-width:1280px){
  .edit-shell{grid-template-columns:minmax(0,1fr)}
  .edit-preview-panel{display:none}
  .edit-preview-show{display:none !important}
}

/* === Permissions Matrix === */
.perm-table{
  border:1px solid var(--border);
  border-radius:8px;
  overflow:hidden;
  background:var(--bg-card);
}
.perm-table-head{
  display:grid;
  grid-template-columns:1fr 280px;
  align-items:center;
  background:var(--bg-elev);
  padding:10px 16px;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--text-muted);
  border-bottom:1px solid var(--border);
}
.perm-head-actions{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:8px;
  text-align:center;
}
.perm-row{
  display:grid;
  grid-template-columns:1fr 280px;
  align-items:center;
  padding:12px 16px;
  border-bottom:1px solid var(--border);
}
.perm-row:last-child{border-bottom:0}
.perm-row-label{
  display:flex;
  flex-direction:column;
  font-size:.92rem;
  font-weight:600;
  color:var(--text);
}
.perm-row-label small{
  font-size:.7rem;
  font-weight:400;
  color:var(--text-muted);
  font-family:'SF Mono',Menlo,Consolas,monospace;
  margin-top:2px;
}
.perm-row-cells{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:8px;
}
.perm-cell{display:flex;justify-content:center}
.perm-cell-na{color:var(--text-dim);font-size:.85rem;align-items:center}

.perm-tri{
  width:34px;height:34px;
  border-radius:50%;
  border:1.5px solid var(--border);
  background:var(--bg);
  cursor:pointer;
  display:grid;
  place-items:center;
  transition:border-color .15s ease,background-color .15s ease;
  padding:0;
}
.perm-tri:hover{border-color:var(--border-strong)}
.perm-tri-icon{
  width:14px;height:14px;
  border-radius:50%;
  display:block;
  background:transparent;
  position:relative;
}
.perm-tri.is-off .perm-tri-icon{
  background:transparent;
  border:1.5px solid var(--text-dim);
}
.perm-tri.is-role{
  border-color:var(--border-strong);
  background:var(--bg-elev);
}
.perm-tri.is-role .perm-tri-icon{
  background:var(--text-muted);
}
.perm-tri.is-grant{
  border-color:var(--primary);
  background:rgba(75,163,214,.12);
}
.perm-tri.is-grant .perm-tri-icon{
  background:var(--primary);
}
.perm-tri.is-grant .perm-tri-icon::after{
  content:"";
  position:absolute;
  inset:3px 2px 0 2px;
  border-left:2px solid #fff;
  border-bottom:2px solid #fff;
  transform:rotate(-50deg) translate(1px,-1px);
}
.perm-tri.is-deny{
  border-color:#dc2626;
  background:rgba(220,38,38,.08);
}
.perm-tri.is-deny .perm-tri-icon{
  background:#dc2626;
  border-radius:50%;
}
.perm-tri.is-deny .perm-tri-icon::after,
.perm-tri.is-deny .perm-tri-icon::before{
  content:"";
  position:absolute;
  top:50%;left:50%;
  width:9px;height:2px;
  background:#fff;
  transform:translate(-50%,-50%) rotate(45deg);
}
.perm-tri.is-deny .perm-tri-icon::before{transform:translate(-50%,-50%) rotate(-45deg)}

.perm-legend{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  margin-top:16px;
  padding:14px 16px;
  background:var(--bg-elev);
  border-radius:6px;
  font-size:.78rem;
  color:var(--text-muted);
}
.perm-legend-item{display:flex;align-items:center;gap:8px}
.perm-mini{
  width:14px;height:14px;
  border-radius:50%;
  display:inline-block;
}
.perm-mini-role{background:var(--text-muted)}
.perm-mini-grant{background:var(--primary)}
.perm-mini-deny{background:#dc2626}
.perm-mini-off{border:1.5px solid var(--text-dim);background:transparent}

@media(max-width:760px){
  .perm-table-head,.perm-row{grid-template-columns:1fr;gap:10px}
  .perm-table-head .perm-head-actions{display:none}
  .perm-row-cells{grid-template-columns:repeat(5,1fr)}
}

/* === Wartungsmodus === */
.maintenance-banner{
  background:#fbbf24;
  color:#0a0a0a;
  text-align:center;
  padding:9px 16px;
  font-size:.82rem;
  font-weight:600;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  position:sticky;
  top:0;
  z-index:101;
}
.maintenance-banner a{
  color:#0a0a0a;
  text-decoration:underline;
  font-weight:700;
  margin-left:6px;
}
.maintenance-banner svg{flex-shrink:0}

.maintenance-card{
  border:1.5px solid var(--border);
  border-radius:10px;
  padding:22px 26px;
  display:flex;
  flex-direction:column;
  gap:8px;
  background:var(--bg-card);
}
.maintenance-card-on{
  border-color:#fbbf24;
  background:rgba(251,191,36,.06);
}
.maintenance-card-off{
  border-color:rgba(34,197,94,.4);
  background:rgba(34,197,94,.04);
}
.maintenance-card-status{
  display:flex;
  align-items:flex-start;
  gap:14px;
}
.maintenance-card-status strong{
  display:block;
  font-size:1rem;
  margin-bottom:4px;
  color:var(--text);
}
.maintenance-card-status p{
  margin:0;
  color:var(--text-muted);
  font-size:.88rem;
  line-height:1.5;
}
.maintenance-status-dot{
  width:14px;height:14px;
  border-radius:50%;
  flex-shrink:0;
  margin-top:4px;
}
.maintenance-card-on .maintenance-status-dot{
  background:#fbbf24;
  box-shadow:0 0 0 4px rgba(251,191,36,.18);
  animation:maint-pulse 2s ease-in-out infinite;
}
.maintenance-card-off .maintenance-status-dot{background:#22c55e}
@keyframes maint-pulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.18)}
}

.btn-warn{
  background:#fbbf24;
  color:#0a0a0a;
  border:0;
  padding:12px 26px;
  font-family:inherit;
  font-size:.84rem;
  font-weight:700;
  letter-spacing:.06em;
  cursor:pointer;
  border-radius:6px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:background-color .15s ease;
}
.btn-warn:hover{background:#f59e0b}

.admin-nav a.is-warn{
  color:#fbbf24;
}
.admin-nav a.is-warn svg{color:#fbbf24}
.nav-dot{
  width:8px;height:8px;
  border-radius:50%;
  background:#fbbf24;
  display:inline-block;
  margin-left:auto;
  box-shadow:0 0 0 3px rgba(251,191,36,.25);
  animation:maint-pulse 2s ease-in-out infinite;
}

/* === News-Detail Cover === */
.news-detail-cover{
  margin:0 0 32px;
  border-radius:6px;
  overflow:hidden;
  background:var(--bg-elev);
}
.news-detail-cover img{width:100%;height:auto;display:block;object-fit:cover}
.news-detail-cover-compact img{max-height:220px}
.news-detail-cover-normal img{max-height:340px}
.news-detail-cover-wide img{max-height:500px}

/* === Cover-Size Radio-Cards === */
.cover-size-options{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.cover-size-opt{cursor:pointer;display:block}
.cover-size-opt input[type=radio]{
  position:absolute;
  opacity:0;
  width:0;height:0;
  pointer-events:none;
}
.cover-size-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  padding:14px 10px;
  border:1.5px solid var(--border);
  border-radius:8px;
  background:var(--bg);
  transition:all .15s ease;
}
.cover-size-opt:hover .cover-size-card{
  border-color:var(--border-strong);
  background:var(--bg-elev);
}
.cover-size-opt input:checked + .cover-size-card{
  border-color:var(--primary);
  background:rgba(75,163,214,.08);
  box-shadow:0 0 0 1px var(--primary) inset;
}
.cover-size-preview{
  width:60px;
  background:linear-gradient(135deg,var(--primary) 0%,var(--primary-bright) 100%);
  border-radius:3px;
  flex-shrink:0;
}
.cover-size-preview-compact{height:18px}
.cover-size-preview-normal{height:28px}
.cover-size-preview-wide{height:40px}
.cover-size-label{
  font-size:.85rem;
  font-weight:700;
  color:var(--text);
}
.cover-size-desc{
  font-size:.72rem;
  color:var(--text-muted);
  letter-spacing:.04em;
}
@media(max-width:540px){
  .cover-size-options{grid-template-columns:1fr}
  .cover-size-card{flex-direction:row;justify-content:flex-start;text-align:left}
}

/* === Kontakt: Compact Team Mini-Grid === */
.team-mini-grid{
  display:grid;
  grid-template-columns:repeat(8, minmax(0, 1fr));
  gap:18px 14px;
  margin-top:8px;
}
.team-mini-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  text-decoration:none;
  color:var(--text);
  padding:8px 6px 12px;
  border-radius:8px;
  transition:background-color .15s ease,transform .15s ease;
}
.team-mini-card:hover{
  background:var(--bg-elev);
  transform:translateY(-2px);
}
.team-mini-photo{
  width:88px;
  height:88px;
  border-radius:50%;
  overflow:hidden;
  background:var(--photo-fallback);
  position:relative;
  margin-bottom:10px;
  display:grid;
  place-items:center;
  flex-shrink:0;
}
.team-mini-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  position:absolute;
  inset:0;
  filter:var(--photo-filter);
}
.team-mini-initials{
  font-size:1.35rem;
  font-weight:700;
  color:var(--text-muted);
  letter-spacing:.04em;
}
.team-mini-photo img + .team-mini-initials{display:none}
.team-mini-photo.photo-fallback .team-mini-initials{display:block}
.team-mini-name{
  font-size:.84rem;
  font-weight:700;
  color:var(--text);
  line-height:1.25;
  margin-bottom:3px;
  max-width:100%;
  overflow-wrap:break-word;
}
.team-mini-role{
  font-size:.72rem;
  color:var(--text-muted);
  line-height:1.3;
  letter-spacing:.01em;
}

@media (max-width:1180px){
  .team-mini-grid{grid-template-columns:repeat(6, minmax(0, 1fr))}
}
@media (max-width:900px){
  .team-mini-grid{grid-template-columns:repeat(4, minmax(0, 1fr));gap:16px 10px}
  .team-mini-photo{width:76px;height:76px}
}
@media (max-width:560px){
  .team-mini-grid{grid-template-columns:repeat(3, minmax(0, 1fr))}
  .team-mini-photo{width:72px;height:72px}
  .team-mini-name{font-size:.78rem}
  .team-mini-role{font-size:.68rem}
}

/* === Topbar: heute-Status-Pill === */
.today-hours{
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.02em;
  padding:0 2px;
  white-space:nowrap;
}
.today-hours .today-dot{
  width:7px;height:7px;
  border-radius:50%;
  flex-shrink:0;
}
.today-hours.is-open{color:#22c55e}
.today-hours.is-open .today-dot{
  background:#22c55e;
  box-shadow:0 0 0 3px rgba(34,197,94,.22);
  animation:today-pulse 2.5s ease-in-out infinite;
}
.today-hours.is-closed{color:rgba(255,255,255,.78)}
.today-hours.is-closed .today-dot{background:#f59e0b}
.today-hours.is-closed-day{color:#f59e0b}
.today-hours.is-closed-day .today-dot{background:#dc2626}
@keyframes today-pulse{
  0%,100%{transform:scale(1);box-shadow:0 0 0 3px rgba(34,197,94,.22)}
  50%{transform:scale(1.3);box-shadow:0 0 0 6px rgba(34,197,94,0)}
}
@media(max-width:768px){
  .today-hours{font-size:.7rem;gap:5px}
  .today-hours .today-dot{width:6px;height:6px}
}

/* === Admin Öffnungszeiten === */
.hours-grid{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.hours-row{
  display:grid;
  grid-template-columns:200px 1fr;
  gap:20px;
  align-items:center;
  padding:12px 16px;
  border:1px solid var(--border);
  border-radius:6px;
  background:var(--bg);
  transition:background-color .15s ease;
}
.hours-row.is-closed{
  background:var(--bg-elev);
  opacity:.6;
}
.hours-row.is-open{
  border-color:rgba(34,197,94,.3);
  background:rgba(34,197,94,.04);
}
.hours-day-toggle{
  display:flex;
  align-items:center;
  gap:10px;
  cursor:pointer;
  user-select:none;
}
.hours-day-toggle input[type="checkbox"]{
  width:18px;height:18px;
  accent-color:#22c55e;
  cursor:pointer;
}
.hours-day-label{
  font-weight:600;
  font-size:.95rem;
  color:var(--text);
}
.hours-row.is-closed .hours-day-label{color:var(--text-muted)}
.hours-times{
  display:flex;
  align-items:center;
  gap:10px;
}
.hours-times input[type="time"]{
  padding:8px 12px;
  border:1px solid var(--border);
  border-radius:4px;
  font-family:inherit;
  font-size:.9rem;
  color:var(--text);
  background:var(--bg-card);
  width:120px;
}
.hours-times input[type="time"]:disabled{
  opacity:.4;
  cursor:not-allowed;
}
.hours-times input[type="time"]:focus{
  outline:none;
  border-color:var(--primary);
}
.hours-dash{color:var(--text-muted);font-weight:600}

.admin-flash{padding:10px 16px;border-radius:4px;margin-bottom:24px;font-size:.88rem}
.admin-flash-ok{background:rgba(34,197,94,.12);color:#16a34a;border:1px solid rgba(34,197,94,.3)}

@media(max-width:640px){
  .hours-row{grid-template-columns:1fr;gap:8px}
  .hours-times input[type="time"]{width:100%}
}

/* === Legal Pages: Demo-Banner + Tabelle === */
.legal-demo-banner{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:18px 22px;
  margin-bottom:36px;
  background:linear-gradient(135deg,rgba(245,158,11,.08),rgba(245,158,11,.03));
  border:1px solid rgba(245,158,11,.35);
  border-left:4px solid #f59e0b;
  border-radius:8px;
}
.legal-demo-banner svg{
  width:22px;height:22px;
  color:#f59e0b;
  flex-shrink:0;
  margin-top:2px;
}
.legal-demo-banner strong{
  display:block;
  font-size:.95rem;
  font-weight:700;
  color:var(--text);
  margin-bottom:4px;
}
.legal-demo-banner span{
  display:block;
  font-size:.86rem;
  color:var(--text-muted);
  line-height:1.55;
}
.legal-demo-banner a{
  color:var(--primary);
  font-weight:600;
  border-bottom:1px solid currentColor;
}
.legal-table{
  width:100%;
  border-collapse:collapse;
  margin:14px 0 22px;
  font-size:.86rem;
}
.legal-table th,
.legal-table td{
  text-align:left;
  padding:10px 12px;
  border-bottom:1px solid var(--border);
  vertical-align:top;
}
.legal-table th{
  background:var(--bg-elev);
  font-weight:700;
  color:var(--text);
  font-size:.78rem;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.legal-table tbody tr:hover{background:var(--bg-elev)}
.legal-table code{
  background:var(--bg-elev);
  padding:2px 6px;
  border-radius:4px;
  font-family:'SF Mono','Consolas',monospace;
  font-size:.85em;
  color:var(--primary);
}
@media(max-width:640px){
  .legal-demo-banner{flex-direction:column;gap:10px;padding:16px}
  .legal-table{display:block;overflow-x:auto;font-size:.78rem}
  .legal-table th,.legal-table td{padding:8px 10px;white-space:nowrap}
}

/* === Cookie Banner (Bottom, persistent bis Wahl) === */
.cookie-banner{
  position:fixed;
  left:20px;right:20px;bottom:20px;
  z-index:9000;
  max-width:920px;
  margin:0 auto;
  background:var(--bg-card);
  border:1px solid var(--border-strong);
  border-radius:14px;
  box-shadow:0 24px 60px rgba(10,10,10,.18),0 8px 16px rgba(10,10,10,.08);
  animation:cookie-slide-up .35s cubic-bezier(.2,.7,.2,1) both;
}
@keyframes cookie-slide-up{
  from{opacity:0;transform:translateY(40px)}
  to{opacity:1;transform:translateY(0)}
}
.cookie-banner-inner{
  display:grid;
  grid-template-columns:1fr auto;
  gap:24px;
  padding:18px 22px;
  align-items:center;
}
.cookie-banner-text{min-width:0}
.cookie-banner-head{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:4px;
}
.cookie-banner-head svg{
  width:18px;height:18px;
  color:var(--primary);
  flex-shrink:0;
}
.cookie-banner-head h2{
  font-size:.95rem;
  font-weight:700;
  color:var(--text);
  letter-spacing:-.005em;
  margin:0;
}
.cookie-banner-text p{
  font-size:.82rem;
  color:var(--text-muted);
  line-height:1.5;
  margin:0;
}
.cookie-banner-text a{
  color:var(--primary);
  font-weight:600;
  border-bottom:1px solid transparent;
  transition:border-color .15s ease;
}
.cookie-banner-text a:hover{border-bottom-color:var(--primary)}
.cookie-banner-controls{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:10px;
  flex-shrink:0;
}
.cookie-banner-actions{
  display:flex;
  gap:8px;
}
.cookie-btn{
  padding:9px 18px;
  font-family:inherit;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.04em;
  border:0;
  border-radius:6px;
  cursor:pointer;
  white-space:nowrap;
  transition:background-color .2s ease,transform .15s ease;
}
.cookie-btn-primary{
  background:linear-gradient(135deg,var(--primary) 0%,var(--accent-deep) 100%);
  color:#fff;
  box-shadow:0 4px 12px -3px rgba(6,76,114,.4);
}
.cookie-btn-primary:hover{background:linear-gradient(135deg,var(--primary-bright) 0%,var(--accent) 100%);transform:translateY(-1px)}
.cookie-btn-ghost{
  background:transparent;
  color:var(--text);
  border:1.5px solid var(--border-strong);
}
.cookie-btn-ghost:hover{border-color:var(--primary);color:var(--primary)}

/* === Cookie Banner Details (Einstellungen) === */
.cookie-banner-details{
  font-size:.8rem;
}
.cookie-banner-details > summary{
  list-style:none;
  cursor:pointer;
  color:var(--text-muted);
  font-weight:600;
  padding:6px 10px;
  border-radius:4px;
  user-select:none;
  transition:background-color .15s ease,color .15s ease;
}
.cookie-banner-details > summary::-webkit-details-marker{display:none}
.cookie-banner-details > summary::before{
  content:"⚙";
  display:inline-block;
  margin-right:6px;
  transition:transform .25s ease;
}
.cookie-banner-details[open] > summary::before{transform:rotate(90deg)}
.cookie-banner-details > summary:hover{color:var(--primary);background:var(--bg-elev)}
.cookie-banner-form{
  margin-top:12px;
  padding:14px;
  background:var(--bg-elev);
  border:1px solid var(--border);
  border-radius:8px;
  min-width:320px;
  max-width:420px;
}
.cookie-opt{
  display:grid;
  grid-template-columns:20px 1fr auto;
  gap:10px;
  align-items:center;
  padding:9px 10px;
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:6px;
  margin-bottom:6px;
  cursor:pointer;
  user-select:none;
}
.cookie-opt:hover{border-color:var(--border-strong)}
.cookie-opt.is-required{background:rgba(75,163,214,.06);border-color:rgba(75,163,214,.3);cursor:not-allowed}
.cookie-opt input[type="checkbox"]{
  width:16px;height:16px;
  accent-color:var(--primary);
  cursor:pointer;
}
.cookie-opt.is-required input[type="checkbox"]{cursor:not-allowed}
.cookie-opt strong{
  display:block;
  font-size:.82rem;
  color:var(--text);
  font-weight:700;
  line-height:1.3;
}
.cookie-opt em{
  display:block;
  font-style:normal;
  font-size:.7rem;
  color:var(--text-muted);
  margin-top:1px;
  line-height:1.3;
}
.cookie-opt-badge{
  background:var(--primary);
  color:#fff;
  font-size:.6rem;
  font-weight:700;
  letter-spacing:.05em;
  padding:2px 6px;
  border-radius:99px;
  text-transform:uppercase;
}
.cookie-banner-actions-form{
  margin-top:10px;
  justify-content:flex-end;
}

[data-theme="dark"] .cookie-banner{
  background:#141414;
  border-color:#3a3a3a;
}

@media(max-width:880px){
  .cookie-banner-inner{
    grid-template-columns:1fr;
    gap:14px;
  }
  .cookie-banner-controls{align-items:stretch}
  .cookie-banner-actions{justify-content:stretch}
  .cookie-banner-actions form{flex:1}
  .cookie-banner-actions .cookie-btn{width:100%}
  .cookie-banner-details{order:-1}
  .cookie-banner-form{min-width:0;width:100%}
}
@media(max-width:560px){
  .cookie-banner{left:10px;right:10px;bottom:10px;border-radius:10px}
  .cookie-banner-inner{padding:14px 16px}
  .cookie-banner-actions{flex-direction:column}
}

/* ============================================================
   NAV FLYOUT (Hover-Popup) — urban glass
   ============================================================ */
.nav-links{position:relative}
.nav-item{position:relative;display:flex;align-items:center}
.nav-links a{display:inline-flex;align-items:center;gap:6px}
.nav-caret{width:13px;height:13px;flex-shrink:0;opacity:.55;transition:transform .28s var(--ease),opacity .28s var(--ease)}
.nav-item.has-flyout:hover > a .nav-caret,
.nav-item.has-flyout:focus-within > a .nav-caret{transform:rotate(180deg);opacity:1}

.nav-flyout{
  position:absolute;
  top:100%;left:0;
  min-width:264px;
  padding-top:12px;
  opacity:0;visibility:hidden;
  transform:translateY(10px) scale(.985);
  transform-origin:28px top;
  transition:opacity .26s var(--ease),transform .26s var(--ease),visibility .26s var(--ease);
  z-index:120;
  pointer-events:none;
}
.nav-item.has-flyout:hover > .nav-flyout,
.nav-item.has-flyout:focus-within > .nav-flyout{
  opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto;
}
.nav-flyout-inner{
  display:flex;flex-direction:column;
  padding:8px;
  border-radius:16px;
  background:rgba(255,255,255,.82);
  backdrop-filter:saturate(185%) blur(30px);
  -webkit-backdrop-filter:saturate(185%) blur(30px);
  box-shadow:0 24px 60px -12px rgba(6,76,114,.28),0 4px 12px rgba(6,76,114,.08);
}
[data-theme="dark"] .nav-flyout-inner{
  background:linear-gradient(180deg,rgba(26,26,30,.72),rgba(12,12,15,.8));
  box-shadow:0 34px 80px -18px rgba(0,0,0,.85),0 1px 0 rgba(255,255,255,.07) inset;
}
.nav-flyout-inner a{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:11px 14px;
  border-radius:10px;
  font-size:.82rem;font-weight:600;letter-spacing:.01em;
  text-transform:none;
  color:var(--text-body);
  background:transparent;
  transition:background .2s var(--ease),color .2s var(--ease);
}
.nav-flyout-inner a:hover{
  background:rgba(0,0,0,.05);
  color:var(--text);
}
[data-theme="dark"] .nav-flyout-inner a:hover{
  background:rgba(255,255,255,.1);
  color:#fff;
}
.nav-flyout-arrow{
  width:15px;height:15px;flex-shrink:0;
  opacity:0;transform:translateX(-6px);
  transition:opacity .2s var(--ease),transform .2s var(--ease);
}
.nav-flyout-inner a:hover .nav-flyout-arrow{opacity:.85;transform:translateX(0)}
.nav-flyout-label{flex:1}

/* Mobile sub-links (data-driven) */
.mobile-subnav{
  display:flex;flex-direction:column;
  margin:2px 0 6px 52px;
  padding-left:14px;
  border-left:1px solid var(--border);
}
.mobile-subnav a{
  padding:9px 4px;
  font-size:.92rem;font-weight:500;
  color:var(--text-muted);
  transition:color .2s var(--ease);
}
.mobile-subnav a:hover{color:var(--primary)}

/* ============================================================
   BESTAND-SUCHE — integriert in die Fahrzeug-Vorschau
   ============================================================ */
.bestand-search{
  margin:0 0 32px;
  padding:18px;
  border-radius:18px;
  background:rgba(255,255,255,.7);
  backdrop-filter:saturate(170%) blur(20px);
  -webkit-backdrop-filter:saturate(170%) blur(20px);
  border:1px solid rgba(6,76,114,.08);
  box-shadow:0 12px 36px -14px rgba(6,76,114,.22);
}
[data-theme="dark"] .bestand-search{
  background:rgba(20,20,20,.6);
  border-color:rgba(255,255,255,.07);
  box-shadow:0 16px 44px -16px rgba(0,0,0,.6);
}
.bestand-search-form{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr)) auto;
  gap:12px;
  align-items:end;
}
.bestand-search .search-field{display:flex;flex-direction:column;gap:7px}
.bestand-search .search-field label{
  font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--text-muted);padding-left:2px;
}
.bestand-search .select-wrap{position:relative}
.bestand-search select{
  width:100%;
  appearance:none;-webkit-appearance:none;
  padding:13px 38px 13px 14px;
  border-radius:11px;
  border:1px solid var(--border);
  background:var(--bg-card);
  color:var(--text);
  font-size:.86rem;font-weight:500;
  cursor:pointer;
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease);
}
.bestand-search select:hover{border-color:var(--border-strong)}
.bestand-search select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(75,163,214,.18)}
.bestand-search .select-wrap .chev{
  position:absolute;right:13px;top:50%;transform:translateY(-50%);
  width:17px;height:17px;pointer-events:none;color:var(--text-muted);
}
.bestand-search .search-submit{
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 24px;
  border:none;border-radius:11px;
  background:linear-gradient(135deg,var(--primary) 0%,var(--accent-deep) 100%);
  color:#fff;
  font-size:.8rem;font-weight:700;letter-spacing:.04em;
  cursor:pointer;white-space:nowrap;
  box-shadow:0 8px 22px -6px rgba(6,76,114,.5);
  transition:transform .2s var(--ease),box-shadow .2s var(--ease),filter .2s var(--ease);
}
[data-theme="dark"] .bestand-search .search-submit{color:#0a0a0a;box-shadow:0 8px 22px -6px rgba(75,163,214,.45)}
.bestand-search .search-submit:hover{transform:translateY(-2px);filter:brightness(1.06)}
.bestand-search .search-submit svg{width:17px;height:17px}
.bestand-search .search-submit strong{font-weight:800}
@media(max-width:900px){
  .bestand-search-form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bestand-search .search-submit{grid-column:1/-1;justify-content:center}
}
@media(max-width:520px){
  .bestand-search-form{grid-template-columns:1fr}
}

/* ════════════════════════════════════════════════════════════
   CUPRA-INSPIRED REDESIGN — Copper / Graphite / Archivo
   (Override-Layer; cascaded over base)
   ════════════════════════════════════════════════════════════ */

:root{
  --font-display:'Archivo','Inter',system-ui,sans-serif;
  --font-body:'Inter',system-ui,sans-serif;
  --topbar-h:34px;
  --nav-h:78px;
  --nav-h-sm:62px;
  --r-sm:2px; --r:4px; --r-lg:6px;
  /* Light theme = warm graphite copper */
  --bg:#f5f3f0;
  --bg-elev:#ffffff;
  --bg-card:#ffffff;
  --surface:#ece8e2;
  --border:rgba(22,17,12,.11);
  --border-strong:rgba(22,17,12,.22);
  --text:#15110d;
  --text-body:#3b362f;
  --text-muted:#6e6961;
  --text-dim:#8d877e;
  --primary:#15110d;
  --primary-bright:#000000;
  --primary-deep:#000000;
  --accent:#15110d;
  --accent-bright:#000000;
  --accent-deep:#000000;
  --copper:#15110d;
  --copper-bright:#000000;
  --copper-deep:#000000;
  --petrol:#2a2724;
  --petrol-bright:#3a3631;
  --nav-bg:rgba(245,243,240,.82);
  --topbar-bg:#15110d;
  --footer-bg:#100d0a;
  --hero-overlay:linear-gradient(180deg,rgba(10,9,8,.34) 0%,rgba(10,9,8,0) 32%,rgba(10,9,8,.5) 72%,rgba(10,9,8,.9) 100%);
  --btn-primary-text:#ffffff;
  --btn-accent-text:#ffffff;
  --shadow-2:0 24px 60px -18px rgba(22,17,12,.28);
}

[data-theme="dark"]{
  --bg:#0c0c0d;
  --bg-elev:#141416;
  --bg-card:#161618;
  --surface:#1c1c1f;
  --border:rgba(255,255,255,.09);
  --border-strong:rgba(255,255,255,.17);
  --text:#f5f3f0;
  --text-body:#e4e0da;
  --text-muted:#9c968c;
  --text-dim:#6f6a62;
  --primary:#ffffff;
  --primary-bright:#ffffff;
  --primary-deep:#cfcfcf;
  --accent:#ffffff;
  --accent-bright:#ffffff;
  --accent-deep:#cfcfcf;
  --copper:#ffffff;
  --copper-bright:#ffffff;
  --copper-deep:#cfcfcf;
  --petrol:#2a2a2e;
  --petrol-bright:#3a3a40;
  --nav-bg:rgba(11,11,12,.8);
  --topbar-bg:#0a0a0b;
  --footer-bg:#08080a;
  --hero-overlay:linear-gradient(180deg,rgba(8,8,9,.3) 0%,rgba(8,8,9,0) 30%,rgba(8,8,9,.55) 70%,rgba(8,8,9,.94) 100%);
  --btn-primary-text:#140e08;
  --btn-accent-text:#140e08;
  --shadow-2:0 28px 70px -18px rgba(0,0,0,.7);
}

/* ---- Typography ---- */
body{font-family:var(--font-body);letter-spacing:0}
h1,h2{
  font-family:var(--font-display);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:-.018em;
  line-height:1.04;
}
h3,h4{font-family:var(--font-display);font-weight:700;letter-spacing:-.01em}
h1 em,h2 em,.section-head h2 em,.search-panel-head h2 em{
  color:var(--primary);font-style:normal;font-weight:inherit;
}
[data-theme="dark"] h1 em,[data-theme="dark"] h2 em{color:var(--primary-bright)}
.eyebrow{
  font-family:var(--font-display);
  color:var(--primary);
  font-weight:700;
  letter-spacing:.26em;
  text-transform:uppercase;
  font-size:.7rem;
}
.eyebrow::before{background:var(--primary)}

/* ---- Buttons: squared, copper, kinetic ---- */
.btn{border-radius:var(--r-sm);font-family:var(--font-display);letter-spacing:.16em;font-weight:700}
.btn-primary{background:var(--primary);color:var(--btn-primary-text);box-shadow:none}
.btn-primary:hover{background:var(--primary-bright);transform:translateY(-2px);box-shadow:0 12px 30px -12px var(--primary)}
.btn-accent{background:var(--petrol);color:#fff}
.btn-accent:hover{background:var(--petrol-bright);box-shadow:0 12px 30px -12px var(--petrol-bright)}
.btn-ghost{border:1.5px solid var(--border-strong);color:var(--text);background:transparent}
.btn-ghost:hover{border-color:var(--primary);color:var(--primary);background:transparent;transform:translateY(-2px)}
.btn-lg{padding:18px 36px;font-size:.8rem}

/* ════ FLOATING DYNAMIC HEADER ════ */
.topbar{
  position:fixed;top:0;left:0;right:0;z-index:1100;
  height:var(--topbar-h);
  background:var(--topbar-bg);
  border-bottom:1px solid rgba(255,255,255,.06);
  transition:transform .45s var(--ease),opacity .35s var(--ease);
}
.topbar-inner{height:var(--topbar-h)}
.topbar a:hover{color:var(--primary-bright)}
.topbar .open-status,.today-hours.is-open{
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.26);color:var(--primary-bright);
  padding:3px 10px;border-radius:99px;font-weight:600;
}
.topbar .open-status::before{background:var(--primary-bright);box-shadow:0 0 0 0 rgba(255,255,255,.5)}

.nav{
  position:fixed;top:var(--topbar-h);left:0;right:0;z-index:1090;
  background:var(--nav-bg);
  backdrop-filter:saturate(160%) blur(20px);
  -webkit-backdrop-filter:saturate(160%) blur(20px);
  border-bottom:1px solid var(--border);
  box-shadow:none;
  transition:top .45s var(--ease),height .3s var(--ease),background .35s var(--ease),border-color .35s var(--ease),box-shadow .35s var(--ease);
}
.nav-inner{height:var(--nav-h);gap:34px}
.nav.scrolled{background:var(--nav-bg)}
body.scrolled .topbar{transform:translateY(-100%);opacity:0;pointer-events:none}
body.scrolled .nav{top:0;box-shadow:0 14px 44px -16px rgba(0,0,0,.55)}
body.scrolled .nav-inner{height:var(--nav-h-sm)}

/* interior pages: push content below the fixed header */
body:not([data-page="home"]) main{padding-top:calc(var(--topbar-h) + var(--nav-h))}

/* HOME: transparent overlay over the hero */
body[data-page="home"] .hero{min-height:100vh}
body[data-page="home"]:not(.scrolled) .nav{
  background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;
  border-bottom-color:transparent;box-shadow:none;
}
body[data-page="home"]:not(.scrolled) .topbar{background:transparent;border-bottom-color:rgba(255,255,255,.12)}
body[data-page="home"]:not(.scrolled) .nav-links a{color:rgba(255,255,255,.9)}
body[data-page="home"]:not(.scrolled) .nav-links a:hover,
body[data-page="home"]:not(.scrolled) .nav-links a.active{color:#fff}
body[data-page="home"]:not(.scrolled) .theme-toggle{color:#fff}
body[data-page="home"]:not(.scrolled) .mobile-toggle span{background:#fff}

/* brand mark in nav */
.brand-mark{box-shadow:none;border-radius:var(--r-sm)}
.nav.scrolled .brand-mark{border-radius:var(--r-sm)}

/* ---- Nav links: minimal, copper underline (no pills) ---- */
.nav-links{gap:2px}
.nav-links a{
  background:none !important;
  border-radius:0;
  padding:10px 15px;
  font-family:var(--font-display);
  font-size:.75rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;
  color:var(--text-body);
  box-shadow:none !important;
}
.nav-links a::after{
  content:"";display:block;position:absolute;left:15px;right:15px;bottom:7px;height:2px;
  background:var(--primary);transform:scaleX(0);transform-origin:left;
  transition:transform .3s var(--ease);
}
.nav-links a:hover{color:var(--text);background:none}
.nav-links a:hover::after,.nav-item.has-flyout:hover > a::after{transform:scaleX(1)}
.nav-links a.active{color:var(--primary);background:none}
[data-theme="dark"] .nav-links a.active{color:var(--primary-bright)}
.nav-links a.active::after{transform:scaleX(1)}
.nav-caret{opacity:.6}

/* Bestand button squared copper outline */
.nav-cta-bestand{
  border-radius:var(--r-sm) !important;
  border:1.5px solid var(--primary) !important;
  color:var(--primary) !important;
  font-family:var(--font-display) !important;
  font-weight:700 !important;letter-spacing:.14em !important;
}
.nav-cta-bestand:hover{background:var(--primary) !important;color:var(--btn-primary-text) !important;border-color:var(--primary) !important}
body[data-page="home"]:not(.scrolled) .nav-cta-bestand{border-color:#fff !important;color:#fff !important}
body[data-page="home"]:not(.scrolled) .nav-cta-bestand:hover{background:#fff !important;color:#15110d !important}

/* ---- Flyout: squared, copper ---- */
.nav-flyout-inner{border-radius:var(--r-lg)}
.nav-flyout-inner a{border-radius:var(--r-sm)}

/* ════ HERO — full-bleed, oversized type ════ */
.hero-content{padding:0 0 13vh;justify-content:flex-end}
.hero-content .eyebrow{margin-bottom:22px;color:#fff;letter-spacing:.28em}
.hero-content .eyebrow::before{background:var(--primary-bright)}
.hero-content h1{
  font-size:clamp(2.9rem,8.2vw,6.6rem);
  font-weight:900;line-height:.9;letter-spacing:-.028em;text-transform:uppercase;
  max-width:16ch;margin-bottom:24px;color:#fff;
  text-shadow:0 6px 40px rgba(0,0,0,.5);
}
.hero-content h1 em{color:var(--primary-bright);font-style:normal;font-weight:900}
.hero-content p{max-width:540px;font-size:1.08rem}
.hero-actions .btn-primary{background:var(--primary);color:var(--btn-primary-text)}
.hero-actions .btn-primary:hover{background:var(--primary-bright)}
.hero-actions .btn-ghost{color:#fff;border-color:rgba(255,255,255,.5)}
.hero-actions .btn-ghost:hover{color:#15110d;border-color:#fff;background:#fff}
.scroll-cue{color:rgba(255,255,255,.7)}
.scroll-cue-line{background:linear-gradient(180deg,var(--primary-bright),transparent)}

/* ---- Section headings ---- */
.section-head h2{font-size:clamp(2rem,4.4vw,3.4rem)}
.section-head h2 em{color:var(--primary)}
[data-theme="dark"] .section-head h2 em{color:var(--primary-bright)}

/* ---- Cards: squared, image-forward ---- */
.car-card,.brand-card{border-radius:var(--r);overflow:hidden}
.car-card{border:1px solid var(--border)}
.car-card:hover{border-color:var(--border-strong)}
.car-price,.car-price strong{color:var(--primary);font-family:var(--font-display)}
[data-theme="dark"] .car-price,[data-theme="dark"] .car-price strong{color:var(--primary-bright)}
.brand-card .num,.brand-card .num *{color:var(--primary)}

/* ---- Trust strip numbers ---- */
.trust-item strong,.hero-meta-item strong{font-family:var(--font-display);color:var(--primary)}
[data-theme="dark"] .trust-item strong,[data-theme="dark"] .hero-meta-item strong{color:var(--primary-bright)}

/* ---- Integrated search: squared + copper focus ---- */
.bestand-search{border-radius:var(--r)}
.bestand-search select,.bestand-search .search-submit{border-radius:var(--r-sm)}
.bestand-search select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(255,255,255,.28)}
.bestand-search .search-submit{
  background:var(--primary);color:var(--btn-primary-text);
  font-family:var(--font-display);box-shadow:none;
}
.bestand-search .search-submit:hover{background:var(--primary-bright)}

/* ---- Scroll progress + reveal accents in copper ---- */
.scroll-progress span{background:linear-gradient(90deg,var(--primary),var(--primary-bright))}

/* ---- Mobile menu accents ---- */
.mobile-subnav a:hover,.mobile-nav a.is-active{color:var(--primary)}
[data-theme="dark"] .mobile-nav a.is-active{color:var(--primary-bright)}

@media(max-width:1024px){
  body:not([data-page="home"]) main{padding-top:calc(var(--topbar-h) + 64px)}
}

/* ════════════════════════════════════════════════════════════
   PREMIUM HEADER BACKDROP — gefrostet, weicher Auslauf, kein Balken
   ════════════════════════════════════════════════════════════ */
.nav{background:transparent !important;border-bottom:none !important;box-shadow:none !important;-webkit-backdrop-filter:none;backdrop-filter:none}
.nav-inner{position:relative;z-index:2}

/* der eigentliche Backdrop liegt hinter dem Inhalt und faded unten weich aus */
.nav::before{
  content:"";position:absolute;left:0;right:0;
  top:calc(-1 * var(--topbar-h));bottom:-30px;z-index:0;
  background:linear-gradient(180deg,rgba(10,10,12,.85) 0%,rgba(10,10,12,.6) 52%,rgba(10,10,12,.3) 78%,rgba(10,10,12,0) 100%);
  -webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%);
  -webkit-mask-image:linear-gradient(180deg,#000 68%,transparent 100%);
  mask-image:linear-gradient(180deg,#000 68%,transparent 100%);
  pointer-events:none;
  transition:background .45s var(--ease),backdrop-filter .45s var(--ease);
}
/* feines Glas-Highlight oben */
.nav::after{
  content:"";position:absolute;left:0;right:0;top:0;height:1px;z-index:1;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent);
  opacity:0;pointer-events:none;transition:opacity .45s var(--ease);
}
body.scrolled .nav::after{opacity:1}

/* gescrollt/angedockt: kräftiger, mehr Frost, mehr Tiefe */
body.scrolled .nav::before{
  background:linear-gradient(180deg,rgba(7,7,8,.94) 0%,rgba(7,7,8,.74) 58%,rgba(7,7,8,.34) 84%,rgba(7,7,8,0) 100%);
  -webkit-backdrop-filter:blur(28px) saturate(170%);backdrop-filter:blur(28px) saturate(170%);
}

/* HOME über dem Hero: dezent, damit das Video durchscheint */
body[data-page="home"]:not(.scrolled) .nav::before{
  background:linear-gradient(180deg,rgba(8,8,9,.55) 0%,rgba(8,8,9,.3) 50%,rgba(8,8,9,.1) 78%,rgba(8,8,9,0) 100%);
  -webkit-backdrop-filter:blur(10px) saturate(135%);backdrop-filter:blur(10px) saturate(135%);
}

/* Light-Theme: heller Frost statt dunkel (dunkler Text bleibt lesbar) */
[data-theme="light"] .nav::before,
[data-theme="light"] body.scrolled .nav::before{
  background:linear-gradient(180deg,rgba(246,244,241,.92) 0%,rgba(246,244,241,.66) 56%,rgba(246,244,241,.3) 82%,rgba(246,244,241,0) 100%);
}

/* ════════════════════════════════════════════════════════════
   AMBIENT BACKGROUND — dezente, bunte Farbverläufe (CUPRA-Vibe)
   ════════════════════════════════════════════════════════════ */
html{background:var(--bg)}
body{background:transparent}
body::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(58% 48% at 10% 6%, rgba(46,98,128,.20), transparent 62%),
    radial-gradient(52% 46% at 90% 16%, rgba(124,66,148,.16), transparent 62%),
    radial-gradient(56% 50% at 78% 82%, rgba(168,104,47,.14), transparent 62%),
    radial-gradient(46% 42% at 16% 94%, rgba(40,120,108,.14), transparent 62%);
  opacity:.9;
}
[data-theme="light"] body::before{
  background:
    radial-gradient(58% 48% at 10% 6%, rgba(46,98,128,.12), transparent 62%),
    radial-gradient(52% 46% at 90% 16%, rgba(124,66,148,.09), transparent 62%),
    radial-gradient(56% 50% at 78% 82%, rgba(168,104,47,.08), transparent 62%),
    radial-gradient(46% 42% at 16% 94%, rgba(40,120,108,.08), transparent 62%);
  opacity:.7;
}

/* ════════════════════════════════════════════════════════════
   AKTION BLOCK-EDITOR (Admin-Chrome)
   ════════════════════════════════════════════════════════════ */
.ak-presets{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px}
.ak-presets-label{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-right:4px}
.ak-preset{padding:8px 14px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text);font-size:.8rem;font-weight:600;cursor:pointer;font-family:inherit;transition:border-color .18s,background .18s}
.ak-preset:hover{border-color:var(--primary);background:var(--surface)}
.ak-preset-clear{margin-left:auto;color:#c0392b}
.ak-preset-clear:hover{border-color:#e3b4b4;background:#fdecec}
.ak-list{display:flex;flex-direction:column;gap:12px;min-height:8px}
.ak-empty{padding:30px;text-align:center;color:var(--text-muted);border:1.5px dashed var(--border);border-radius:12px;font-size:.9rem;margin-top:4px}
.ak-card{border:1px solid var(--border);border-radius:12px;background:var(--bg-card);overflow:hidden}
.ak-card.ak-ghost{opacity:.4}
.ak-card-head{display:flex;align-items:center;gap:10px;padding:9px 12px;background:var(--surface);border-bottom:1px solid var(--border)}
.ak-card-grip{display:grid;place-items:center;width:28px;height:30px;border:none;background:transparent;color:var(--text-dim);cursor:grab;border-radius:7px}
.ak-card-grip:hover{background:var(--bg-card);color:var(--text)}
.ak-card-grip svg{width:16px;height:16px}
.ak-card-type{font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}
.ak-card-spacer{flex:1}
.ak-card-btn{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--border);border-radius:7px;background:transparent;color:var(--text-muted);cursor:pointer;transition:background .18s,color .18s,border-color .18s}
.ak-card-btn svg{width:15px;height:15px}
.ak-card-btn:hover{background:var(--bg-card);color:var(--text)}
.ak-card-del:hover{background:#fdecec;border-color:#e3b4b4;color:#c0392b}
.ak-card-body{padding:14px;display:flex;flex-direction:column;gap:10px}
.ak-card-body input[type=text],.ak-card-body textarea,.ak-sel{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-family:inherit;font-size:.88rem}
.ak-card-body textarea{resize:vertical;line-height:1.5}
.ak-card-body input:focus,.ak-card-body textarea:focus,.ak-sel:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(0,0,0,.06)}
.ak-row2{display:flex;gap:10px;flex-wrap:wrap}
.ak-grow{flex:1;min-width:160px}
.ak-sel{width:auto;min-width:130px;cursor:pointer}
.ak-check{display:inline-flex;align-items:center;gap:8px;font-size:.84rem;color:var(--text-muted);cursor:pointer}
.ak-check input{width:auto}
.ak-imgfield{display:flex;gap:12px;align-items:stretch}
.ak-thumb{width:84px;height:64px;flex-shrink:0;border:1px solid var(--border);border-radius:8px;background:var(--surface) center/cover no-repeat;display:grid;place-items:center}
.ak-thumb:not(.has-img)::after{content:"Bild";font-size:.64rem;color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase}
.ak-imgfield-main{flex:1;display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap}
.ak-imgfield-main input[type=text]{flex:1;min-width:180px}
.ak-upload{padding:10px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap;font-family:inherit}
.ak-upload:hover{border-color:var(--primary)}
.ak-sub{display:flex;flex-direction:column;gap:8px}
.ak-subitem{display:flex;gap:8px;align-items:center;padding:8px;border:1px dashed var(--border);border-radius:8px}
.ak-subitem .ak-imgfield{flex:1}
.ak-subalt{max-width:160px}
.ak-statrow .ak-statnum{max-width:150px}
.ak-itemdel{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;border:1px solid var(--border);border-radius:7px;background:transparent;color:var(--text-muted);cursor:pointer}
.ak-itemdel svg{width:14px;height:14px}
.ak-itemdel:hover{background:#fdecec;border-color:#e3b4b4;color:#c0392b}
.ak-subadd{align-self:flex-start;padding:7px 13px;border:1px dashed var(--border);border-radius:8px;background:transparent;color:var(--text-muted);font-size:.78rem;font-weight:600;cursor:pointer;font-family:inherit}
.ak-subadd:hover{border-color:var(--primary);color:var(--primary)}
.ak-divider-hint{text-align:center;color:var(--text-dim);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;padding:8px;border:1px dashed var(--border);border-radius:8px}
.ak-palette{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}
.ak-palette-label{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}
.ak-add{padding:9px 14px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text);font-size:.82rem;font-weight:600;cursor:pointer;font-family:inherit;transition:border-color .18s,background .18s}
.ak-add:hover{border-color:var(--primary);background:var(--surface)}

/* ════════════════════════════════════════════════════════════
   AKTION-BLÖCKE — öffentliche Darstellung
   ════════════════════════════════════════════════════════════ */
.ak-text p{margin:0 0 18px}
.ak-image{margin:30px 0}
.ak-image img{width:100%;border-radius:var(--r);display:block}
.ak-cap{display:block;font-size:.82rem;color:var(--text-muted);text-align:center;margin-top:10px}
.ak-row{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;margin:44px 0}
.ak-row .ak-col-media img{width:100%;border-radius:var(--r);display:block}
.ak-imagetext.ak-flip .ak-col-media{order:2}
.ak-col-text h3{margin:0 0 12px}
.ak-gallery{display:grid;gap:14px;margin:32px 0}
.ak-gallery-2,.ak-gallery-4{grid-template-columns:1fr 1fr}
.ak-gallery-3{grid-template-columns:repeat(3,1fr)}
.ak-gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r);display:block}
.ak-stats{display:grid;gap:18px;margin:40px 0;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.ak-stat{padding:26px 18px;border:1px solid var(--border);border-radius:var(--r-lg);text-align:center;background:var(--bg-card)}
.ak-stat-num{display:block;font-family:var(--font-display);font-size:2.1rem;font-weight:800;color:var(--text);line-height:1}
.ak-stat-label{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin-top:8px}
.ak-btn-wrap{margin:36px 0}
.ak-quote{border-left:3px solid var(--primary);margin:32px 0;padding:8px 0 8px 22px;font-size:1.3rem;font-style:italic;color:var(--text-body)}
.ak-cite{display:block;font-style:normal;font-size:.85rem;color:var(--text-muted);margin-top:10px}
.ak-divider{height:1px;background:var(--border);margin:44px 0}
@media(max-width:640px){
  .ak-row{grid-template-columns:1fr}
  .ak-imagetext.ak-flip .ak-col-media{order:0}
  .ak-gallery-3{grid-template-columns:1fr 1fr}
}

/* ════════════════════════════════════════════════════════════
   AMBIENT — bewegte, driftende Farb-Ebenen (lebendig statt statisch)
   ════════════════════════════════════════════════════════════ */
body::before{
  inset:-30%;
  background:
    radial-gradient(40% 44% at 26% 30%, rgba(46,98,128,.55), transparent 70%),
    radial-gradient(36% 42% at 74% 66%, rgba(124,66,148,.48), transparent 70%);
  opacity:.9;
  will-change:transform;
  transform-origin:center;
  animation:kmAmbA 32s ease-in-out infinite !important;
}
body::after{
  content:"";position:fixed;inset:-30%;z-index:-1;pointer-events:none;
  background:
    radial-gradient(38% 42% at 82% 18%, rgba(168,104,47,.46), transparent 70%),
    radial-gradient(42% 46% at 14% 86%, rgba(40,120,108,.48), transparent 70%);
  opacity:.85;
  will-change:transform;
  transform-origin:center;
  animation:kmAmbB 44s ease-in-out infinite !important;
}
@keyframes kmAmbA{
  0%{transform:translate3d(0,-2.5%,0) scale(1.08) rotate(-4deg)}
  25%{transform:translate3d(2.5%,0,0) scale(1.14) rotate(0deg)}
  50%{transform:translate3d(0,2.5%,0) scale(1.2) rotate(4deg)}
  75%{transform:translate3d(-2.5%,0,0) scale(1.14) rotate(0deg)}
  100%{transform:translate3d(0,-2.5%,0) scale(1.08) rotate(-4deg)}
}
@keyframes kmAmbB{
  0%{transform:translate3d(0,3%,0) scale(1.18) rotate(5deg)}
  25%{transform:translate3d(-3%,0,0) scale(1.1) rotate(0deg)}
  50%{transform:translate3d(0,-3%,0) scale(1.04) rotate(-5deg)}
  75%{transform:translate3d(3%,0,0) scale(1.1) rotate(0deg)}
  100%{transform:translate3d(0,3%,0) scale(1.18) rotate(5deg)}
}
[data-theme="light"] body::before{opacity:.55}
[data-theme="light"] body::after{opacity:.5}

/* ════════════════════════════════════════════════════════════
   AKTION INLINE-EDITOR — direkt auf der Vorschau bearbeiten
   ════════════════════════════════════════════════════════════ */
/* im Block-Modus die separate iframe-Vorschau ausblenden, Bühne = Vorschau */
.edit-shell.blocks-mode{grid-template-columns:minmax(0,1fr)}
.edit-shell.blocks-mode .edit-preview-panel,
.edit-shell.blocks-mode .edit-preview-show{display:none !important}
.edit-shell.blocks-mode .edit-form-col{max-width:none;width:100%}

.ak-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px}
.ak-bar-label{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-right:2px}
.ak-bar-tip{margin-left:auto;font-size:.74rem;color:var(--text-dim)}

/* Bühne = echte dunkle Artikel-Optik */
.ak-stage{background:var(--bg);border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:0 24px 60px -32px rgba(0,0,0,.6)}
.ak-stage-inner{max-width:780px;margin:0 auto;padding:44px 36px 30px}
.ak-stage-title{font-size:clamp(2rem,4vw,3rem);font-weight:800;letter-spacing:-.015em;line-height:1.1;color:var(--text);margin:0 0 26px;word-break:break-word;max-width:920px}
.ak-stage-title:empty::before{content:"Titel der Aktion";color:var(--text-dim)}
.ak-blocklist{display:flex;flex-direction:column}

/* Block-Wrapper mit dezentem Hover-Rahmen + Toolbar */
.akv{position:relative;padding:8px 10px;margin:2px -10px;border-radius:10px;border:1px solid transparent;transition:border-color .15s,background .15s}
.akv:hover{border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.03)}
.akv:focus-within{border-color:rgba(255,255,255,.32);background:rgba(255,255,255,.04)}
.akv.akv-ghost{opacity:.35}
.akv-tools{position:absolute;top:-13px;right:8px;display:flex;gap:2px;padding:3px;background:#1a1a1d;border:1px solid rgba(255,255,255,.16);border-radius:9px;box-shadow:0 6px 18px rgba(0,0,0,.45);opacity:0;transform:translateY(4px);transition:opacity .14s,transform .14s;z-index:5}
.akv:hover .akv-tools,.akv:focus-within .akv-tools{opacity:1;transform:translateY(0)}
.akv-t{min-width:26px;height:26px;padding:0 6px;display:grid;place-items:center;border:none;background:transparent;color:#cfcfcf;font-size:.78rem;font-weight:700;border-radius:6px;cursor:pointer;font-family:inherit;line-height:1}
.akv-t:hover{background:rgba(255,255,255,.12);color:#fff}
.akv-t.akv-drag{cursor:grab;color:#888}
.akv-t.akv-del:hover{background:#7d2420;color:#fff}

/* editierbare Felder */
.akv-edit{outline:none;cursor:text;min-height:1em}
.akv-edit:empty::before{content:attr(data-ph);color:var(--text-dim);pointer-events:none}
.akv-h{font-weight:700;letter-spacing:-.01em;line-height:1.2;color:var(--text)}
.akv-h.lvl2{font-size:1.6rem;margin:6px 0}
.akv-h.lvl3{font-size:1.25rem;margin:4px 0}
.akv-h.lvl4{font-size:1.1rem;margin:2px 0}
.akv-h3{font-weight:700;font-size:1.25rem;color:var(--text);margin:0 0 10px}
.akv-textedit{font-size:1.02rem;line-height:1.75;color:var(--text-body);white-space:pre-wrap}
.akv-cap{font-size:.82rem;color:var(--text-muted);text-align:center;margin-top:8px}
.akv-btnedit{display:inline-block}
.akv-quoteedit{display:block}
.akv-cite.akv-edit{margin-top:8px}

/* Bild-Slot */
.akv-imgslot{position:relative;cursor:pointer;border-radius:var(--r);overflow:hidden}
.akv-imgslot:not(.has-img){display:grid;place-items:center;min-height:150px;border:1.5px dashed rgba(255,255,255,.22);background:rgba(255,255,255,.03)}
.akv-imgslot:not(.has-img):hover{border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.06)}
.akv-slot-add{font-size:.86rem;font-weight:600;color:var(--text-muted);letter-spacing:.02em}
.akv-imgslot img{display:block;width:100%;border-radius:var(--r)}
.akv-slot-badge{position:absolute;top:10px;right:10px;padding:5px 11px;background:rgba(0,0,0,.72);color:#fff;font-size:.72rem;font-weight:600;border-radius:20px;opacity:0;transition:opacity .15s}
.akv-imgslot.has-img:hover .akv-slot-badge{opacity:1}
.ak-col-media .akv-imgslot:not(.has-img){min-height:200px;height:100%}

/* Galerie/Stats Sub-Items */
.akv-galitem{position:relative}
.akv-galitem .akv-imgslot:not(.has-img){min-height:120px}
.akv-itemdel{position:absolute;top:6px;right:6px;width:24px;height:24px;display:grid;place-items:center;border:none;border-radius:50%;background:rgba(0,0,0,.7);color:#fff;font-size:.8rem;cursor:pointer;z-index:3;opacity:0;transition:opacity .15s}
.akv-galitem:hover .akv-itemdel,.akv-stat:hover .akv-itemdel{opacity:1}
.akv-stat{position:relative}
.akv-subadd{margin-top:12px;padding:8px 14px;border:1px dashed rgba(255,255,255,.25);border-radius:8px;background:transparent;color:var(--text-muted);font-size:.8rem;font-weight:600;cursor:pointer;font-family:inherit}
.akv-subadd:hover{border-color:rgba(255,255,255,.45);color:var(--text)}

/* + Block hinzufügen */
.ak-addrow{position:relative;margin-top:18px;padding-top:18px;border-top:1px dashed rgba(255,255,255,.14)}
.ak-addbtn{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border:1px solid rgba(255,255,255,.2);border-radius:10px;background:rgba(255,255,255,.05);color:var(--text);font-size:.9rem;font-weight:600;cursor:pointer;font-family:inherit;transition:background .15s,border-color .15s}
.ak-addbtn:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.35)}
.ak-addbtn span{font-size:1.1rem;line-height:1}
.ak-addmenu{position:static;margin-top:10px;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:10px;background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:12px}
.ak-addmenu button{padding:10px 12px;border:none;border-radius:8px;background:transparent;color:#e4e0da;font-size:.86rem;font-weight:600;text-align:left;cursor:pointer;font-family:inherit}
.ak-addmenu button:hover{background:rgba(255,255,255,.1)}

/* Popovers (Bild/Link) — leben im hellen Admin-Kontext */
.akv-pop{position:absolute;z-index:1000;width:340px;max-width:calc(100vw - 24px);padding:14px;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;box-shadow:0 20px 50px rgba(0,0,0,.25);display:flex;flex-direction:column;gap:10px}
.akv-pop input[type=text]{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-family:inherit;font-size:.86rem}
.akv-pop input:focus{outline:none;border-color:var(--primary)}
.akv-pop-row{display:flex;gap:8px}
.akv-pop-row input{flex:1}
.akv-pop-row button{padding:10px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap;font-family:inherit}
.akv-pop-actions{display:flex;justify-content:flex-end;gap:8px}
.akv-pop-ok{padding:9px 16px;border:none;border-radius:8px;background:var(--primary);color:var(--primary-contrast,#fff);font-size:.82rem;font-weight:700;cursor:pointer;font-family:inherit}
.akv-pop-cancel{padding:9px 14px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text-muted);font-size:.82rem;font-weight:600;cursor:pointer;font-family:inherit}

@media(max-width:640px){
  .ak-stage-inner{padding:28px 18px 22px}
  .akv{margin:2px -6px}
  .ak-addmenu{grid-template-columns:1fr}
}

/* ════════════════════════════════════════════════════════════
   NEWS-CAROUSEL (CUPRA-Style) — Startseite
   ════════════════════════════════════════════════════════════ */
.news-carousel .nc-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:40px}
.nc-head-actions{display:flex;align-items:center;gap:16px;flex-shrink:0}
.nc-arrows{display:flex;gap:8px}
.nc-arrow{width:46px;height:46px;border-radius:50%;border:1px solid var(--border);background:transparent;color:var(--text);display:grid;place-items:center;cursor:pointer;transition:background .2s var(--ease),border-color .2s,color .2s,opacity .2s}
.nc-arrow:hover{background:var(--text);color:var(--bg);border-color:var(--text)}
.nc-arrow:disabled{opacity:.28;cursor:default;pointer-events:none}

.nc-scroller{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;cursor:grab;scroll-padding-left:max(24px,calc((100vw - var(--container)) / 2 + 40px))}
.nc-scroller::-webkit-scrollbar{display:none}
.nc-scroller.nc-dragging{cursor:grabbing;scroll-snap-type:none}
.nc-track{display:flex;gap:20px;padding:6px 0 10px;width:max-content}
.nc-track::before,.nc-track::after{content:"";flex:0 0 max(24px,calc((100vw - var(--container)) / 2 + 40px))}

.nc-card{position:relative;flex:0 0 360px;max-width:86vw;aspect-ratio:4/5;border-radius:16px;overflow:hidden;scroll-snap-align:start;text-decoration:none;background:#0e0e0e;isolation:isolate;box-shadow:0 16px 40px -22px rgba(0,0,0,.7)}
.nc-card-media{position:absolute;inset:0;z-index:0}
.nc-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.nc-card:hover .nc-card-media img{transform:scale(1.06)}
.nc-card-fallback{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(135deg,#1c1c1c,#0a0a0a);color:var(--text-dim);font-family:var(--font-display);font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.9rem}
.nc-card-content{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;justify-content:space-between;padding:20px;background:linear-gradient(to top,rgba(0,0,0,.9) 0%,rgba(0,0,0,.5) 38%,rgba(0,0,0,.04) 64%,rgba(0,0,0,.18) 100%)}
.nc-card-top{display:flex;min-height:1px}
.nc-card-cat{align-self:flex-start;padding:6px 12px;background:rgba(255,255,255,.16);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.22);border-radius:30px;color:#fff;font-size:.64rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.nc-card-bottom{display:flex;align-items:flex-end;gap:14px}
.nc-card-text{flex:1;min-width:0}
.nc-card-title{font-family:var(--font-display);font-size:1.32rem;font-weight:800;line-height:1.16;color:#fff;margin:0 0 8px;letter-spacing:-.01em;text-transform:uppercase}
.nc-card-desc{font-size:.86rem;line-height:1.5;color:rgba(255,255,255,.8);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nc-card-go{flex:0 0 auto;width:46px;height:46px;border-radius:50%;border:1.5px solid rgba(255,255,255,.6);display:grid;place-items:center;color:#fff;transition:background .25s var(--ease),color .25s,border-color .25s,transform .25s}
.nc-card:hover .nc-card-go{background:#fff;color:#0a0a0a;border-color:#fff;transform:translateX(2px)}

@media(max-width:640px){
  .news-carousel .nc-head{flex-direction:column;align-items:flex-start;gap:18px}
  .nc-card{flex-basis:78vw}
  .nc-card-title{font-size:1.18rem}
  .nc-track::before,.nc-track::after{flex-basis:16px}
  .nc-scroller{scroll-padding-left:16px}
}

/* ════════════════════════════════════════════════════════════
   EDITOR V2 — Dokument-Editor: Titel im Dokument, eine Spalte
   ════════════════════════════════════════════════════════════ */
.edit-shell{display:block !important;grid-template-columns:none !important}
.edit-form-col{width:100%;max-width:none}
.edit-preview-panel,.edit-preview-show{display:none !important}
.editor-section{background:transparent;border:0;padding:0;box-shadow:none}
.editor-section > .editor-mode-tabs{max-width:880px;margin-left:auto;margin-right:auto}

.edoc{
  max-width:880px;
  margin:16px auto 0;
  padding:46px clamp(22px,4vw,58px) 38px;
  background:#121316;
  border:1px solid rgba(255,255,255,.08);
  border-radius:20px;
  box-shadow:0 40px 90px -44px rgba(0,0,0,.78);
  overflow:visible;
}
.edoc-title{
  width:100%;display:block;border:0;background:transparent;outline:none;
  font-family:var(--font-body);font-weight:800;
  font-size:clamp(1.9rem,3.4vw,2.8rem);line-height:1.12;letter-spacing:-.02em;
  color:var(--text);padding:0;margin:0;
}
.edoc-title::placeholder{color:rgba(255,255,255,.25);font-weight:800}
.edoc-subtitle{
  width:100%;display:block;border:0;background:transparent;outline:none;
  font-family:var(--font-body);font-weight:500;
  font-size:clamp(1rem,1.5vw,1.18rem);line-height:1.45;
  color:var(--text-muted);padding:0;margin:14px 0 0;
}
.edoc-subtitle::placeholder{color:rgba(255,255,255,.2)}
.edoc-divider{height:1px;background:rgba(255,255,255,.1);margin:24px 0 26px}
.edoc-body{min-height:60px}
.edoc-excerpt{max-width:880px;margin:18px auto 0}
.edoc .ak-blocklist{display:grid;grid-template-columns:repeat(12,1fr);column-gap:18px;row-gap:16px;align-items:start;position:relative}
.edoc .ak-blocklist > .akv{margin:0;min-width:0}
@media(max-width:820px){.edoc .ak-blocklist{grid-template-columns:1fr}.edoc .ak-blocklist > .akv{grid-column:1 / -1 !important}}
.akv-resize{position:absolute;top:6px;bottom:6px;right:-3px;width:12px;display:flex;align-items:center;justify-content:center;cursor:ew-resize;z-index:7;opacity:0;transition:opacity .14s;touch-action:none}
.akv:hover > .akv-resize,.akv.akv-resizing > .akv-resize{opacity:1}
.akv-resize::after{content:"";width:4px;height:38px;border-radius:3px;background:var(--primary);box-shadow:0 0 0 4px rgba(0,0,0,.18)}
.akv.akv-resizing{outline:2px solid var(--primary);outline-offset:2px;border-radius:10px}
.ak-grid-guides{position:absolute;inset:0;z-index:0;display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:1fr;column-gap:18px;pointer-events:none;opacity:0;transition:opacity .16s}
.ak-blocklist.resizing .ak-grid-guides{opacity:1}
.ak-grid-guides span{background:rgba(94,150,255,.10);border-radius:5px}
.ak-blocklist.resizing > .akv{position:relative;z-index:1}
.akv-wbadge{position:fixed;z-index:9999;transform:translateX(-50%);padding:5px 10px;border-radius:8px;background:var(--primary);color:#fff;font:600 .8rem/1 var(--font-body);box-shadow:0 8px 24px rgba(0,0,0,.4);pointer-events:none;white-space:nowrap}
.edoc .ak-bar{margin-bottom:18px}
.ak-addrow{position:relative;margin-top:18px;padding-top:18px;border-top:1px dashed rgba(255,255,255,.14)}
.edoc-lead{resize:vertical;min-height:2.4em;font-family:var(--font-body)}

/* ════════════════════════════════════════════════════════════
   12-SPALTEN-GRID — Block-Layout (öffentliche Seite + Editor)
   ════════════════════════════════════════════════════════════ */
.ak-grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:24px;row-gap:30px;align-items:start}
.ak-gcol-1{grid-column:span 1}
.ak-gcol-2{grid-column:span 2}
.ak-gcol-3{grid-column:span 3}
.ak-gcol-4{grid-column:span 4}
.ak-gcol-5{grid-column:span 5}
.ak-gcol-6{grid-column:span 6}
.ak-gcol-7{grid-column:span 7}
.ak-gcol-8{grid-column:span 8}
.ak-gcol-9{grid-column:span 9}
.ak-gcol-10{grid-column:span 10}
.ak-gcol-11{grid-column:span 11}
.ak-gcol-12{grid-column:span 12}
.ak-grid > [class*="ak-gcol"]{min-width:0}
.ak-grid > [class*="ak-gcol"] > :first-child{margin-top:0}
.ak-grid > [class*="ak-gcol"] > :last-child{margin-bottom:0}
@media(max-width:768px){
  .ak-grid{column-gap:0;row-gap:22px}
  .ak-grid > [class*="ak-gcol"]{grid-column:1 / -1 !important}
}

/* ════════════════════════════════════════════════════════════
   BILD-UPLOADER — Modal (ziehen / einfügen / klicken)
   ════════════════════════════════════════════════════════════ */
.akup-overlay{position:fixed;inset:0;z-index:5000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(8,9,12,.7)}
.akup-overlay[hidden]{display:none}
.akup{width:min(520px,100%);max-height:92vh;overflow:auto;background:#16171b;border:1px solid rgba(255,255,255,.1);border-radius:18px;box-shadow:0 40px 100px -28px rgba(0,0,0,.85);padding:22px;display:flex;flex-direction:column;gap:11px;animation:akupIn .18s ease}
@keyframes akupIn{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.akup-head{display:flex;align-items:center;justify-content:space-between}
.akup-head strong{font-size:1.05rem;color:#f3f4f6}
.akup-x{width:32px;height:32px;border-radius:9px;background:rgba(255,255,255,.06);color:#aeb2bb;font-size:.95rem;display:flex;align-items:center;justify-content:center}
.akup-x:hover{background:rgba(255,255,255,.13);color:#fff}
.akup-drop{position:relative;border:2px dashed rgba(255,255,255,.18);border-radius:14px;min-height:194px;display:flex;align-items:center;justify-content:center;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;background:rgba(255,255,255,.02);overflow:hidden}
.akup-drop:hover{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.04)}
.akup-drop.akup-dragging{border-color:var(--primary,#3b82f6);background:rgba(94,150,255,.12)}
.akup-ic{font-size:2rem;line-height:1;margin-bottom:10px;color:var(--primary,#3b82f6)}
.akup-t{font-weight:700;color:#f3f4f6;font-size:1.05rem}
.akup-s{margin-top:6px;color:#9aa0a9;font-size:.84rem}
.akup-s b{color:#e7e9ec}
.akup-busy{width:100%;padding:0 30px;display:flex;flex-direction:column;align-items:center;gap:10px}
.akup-bar{width:100%;height:8px;border-radius:99px;background:rgba(255,255,255,.1);overflow:hidden}
.akup-bar i{display:block;height:100%;width:0;background:var(--primary,#3b82f6);border-radius:99px;transition:width .12s ease}
.akup-pct{font-weight:600;color:#9aa0a9;font-size:.84rem}
.akup-prev{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0d0e11}
.akup-prev img{max-width:100%;max-height:100%;object-fit:contain}
.akup-prev-x{position:absolute;top:8px;right:8px;width:30px;height:30px;border-radius:8px;background:rgba(0,0,0,.62);color:#fff;font-size:.85rem;display:flex;align-items:center;justify-content:center}
.akup-prev-x:hover{background:rgba(214,48,49,.9)}
.akup-lbl{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#7a7f88;font-weight:700;margin:4px 0 -4px}
.akup-input{width:100%;padding:11px 13px;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:rgba(255,255,255,.03);color:#f3f4f6;font-family:inherit;font-size:.9rem}
.akup-input::placeholder{color:#6b7079}
.akup-input:focus{outline:none;border-color:var(--primary,#3b82f6)}
.akup-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}
.akup-ghost,.akup-ok{padding:10px 20px;border-radius:10px;font-weight:600;font-size:.9rem;font-family:inherit;cursor:pointer}
.akup-ghost{background:rgba(255,255,255,.06);color:#c4c8cf}
.akup-ghost:hover{background:rgba(255,255,255,.12);color:#fff}
.akup-ok{background:var(--primary,#3b82f6);color:#fff}
.akup-ok:hover{filter:brightness(1.08)}
body.akup-open{overflow:hidden}

/* ════════════════════════════════════════════════════════════
   THEME-KORREKTUREN
   Flaechen, die in beiden Themes dunkel bleiben, duerfen nicht
   auf --primary/--accent zugreifen. Diese kippen pro Theme und
   werden dort unlesbar.
   ════════════════════════════════════════════════════════════ */

:root,
[data-theme="light"],
[data-theme="dark"]{
  --on-dark:#f5f3f0;
  --on-dark-soft:rgba(245,243,240,.74);
  --on-dark-dim:rgba(245,243,240,.52);
  --on-dark-accent:#ffffff;
  --on-dark-line:rgba(255,255,255,.16);
}

.footer-grid h4{color:var(--on-dark-accent)}
.footer-grid a:hover,
.footer-bottom a:hover,
.footer-legal a:hover{color:var(--on-dark-accent)}

.topbar a:hover{color:var(--on-dark-accent)}
.topbar .open-status,
.topbar .today-hours.is-open{
  color:var(--on-dark-accent);
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.28);
}
.topbar .open-status::before{background:var(--on-dark-accent)}

.action-banner h2 em{color:var(--on-dark-accent)}

.page-head.page-head-hero .eyebrow,
.page-head-hero .eyebrow{color:var(--on-dark-accent)}
.page-head.page-head-hero .eyebrow::before,
.page-head-hero .eyebrow::before{background:var(--on-dark-accent)}
.page-head.page-head-hero h1,
.page-head.page-head-hero h1 em,
.page-head.page-head-hero h1 strong,
.page-head-hero h1,
.page-head-hero h1 em,
.page-head-hero h1 strong{color:var(--on-dark-accent)}
.page-head-hero .page-head-lead,
.page-head-hero p{color:var(--on-dark-soft)}
.page-head-hero .breadcrumb,
.page-head-hero .breadcrumb a{color:var(--on-dark-dim)}
.page-head-hero .breadcrumb a:hover{color:var(--on-dark-accent)}

.scroll-cue{color:var(--on-dark-soft)}
.scroll-cue-line::after{background:linear-gradient(180deg,transparent,var(--on-dark-accent))}
.marquee-item .dot{background:var(--on-dark-accent)}

.hero-content .eyebrow{
  color:var(--on-dark-accent);
  text-shadow:0 1px 10px rgba(0,0,0,.85);
}
.hero-content .eyebrow::before{background:var(--on-dark-accent)}
.hero-content h1{text-shadow:0 2px 28px rgba(0,0,0,.62)}
.hero-content h1 em{color:var(--on-dark-accent)}
/* Lesbarkeitsschleier: liegt auf .hero, damit er ueber die volle
   Breite laeuft. .hero-content ist der Container und deshalb
   ungeeignet dafuer. */
.hero::after{
  background:
    linear-gradient(90deg,
      rgba(8,7,6,.90) 0%,
      rgba(8,7,6,.74) 30%,
      rgba(8,7,6,.30) 58%,
      rgba(8,7,6,0) 86%),
    linear-gradient(180deg,
      rgba(8,7,6,.42) 0%,
      rgba(8,7,6,.16) 26%,
      rgba(8,7,6,.52) 66%,
      rgba(8,7,6,.92) 100%);
}
@media(max-width:768px){
  .hero::after{
    background:linear-gradient(180deg,
      rgba(8,7,6,.36) 0%,
      rgba(8,7,6,.62) 45%,
      rgba(8,7,6,.92) 100%);
  }
}

/* Flaechen auf --primary brauchen die zugehoerige Vordergrundfarbe,
   nicht hartes #fff */
.cookie-btn-primary{
  background:var(--primary);
  color:var(--btn-primary-text);
  box-shadow:none;
}
.cookie-btn-primary:hover{
  background:var(--primary-bright);
  color:var(--btn-primary-text);
}
.cookie-opt-badge{
  background:var(--primary);
  color:var(--btn-primary-text);
}
.team-card-photo{
  background:linear-gradient(135deg,var(--primary),var(--primary-bright));
  color:var(--btn-primary-text);
}
.team-card-initials{color:var(--btn-primary-text)}

/* Platzhalter-Text richtet sich nach der Platzhalterflaeche */
.car-media-fallback .fallback-text,
.gallery-fallback .fallback-text{color:var(--on-dark-dim)}
.team-mini-photo{background:linear-gradient(135deg,#2a2724,#15110d)}
.team-mini-initials{color:var(--on-dark-soft)}

.car-brand{color:var(--text-body)}

.cookie-banner-details > summary{color:var(--text-body)}
.cookie-banner-details > summary:hover{color:var(--text)}

/* Markenkacheln bleiben in beiden Themes dunkel, damit die
   Logos durchgehend weiss stehen koennen */
.brand-card{
  background:#15110d;
  border:1px solid var(--on-dark-line);
}
.brand-card:hover{background:#1e1913}
.brand-card .num{color:var(--on-dark-dim)}
.brand-card h3{color:var(--on-dark-accent)}
.brand-card p{color:var(--on-dark-soft)}
.brand-card .arrow{color:var(--on-dark-soft)}
.brand-card:hover .arrow{color:var(--on-dark-accent)}
.brand-card-logo img{
  filter:brightness(0) invert(1);
}
.brand-card:hover .brand-card-logo img{opacity:1;transform:scale(1.04)}
.mobile-brand-card{
  background:#15110d;
  border-color:var(--on-dark-line);
  color:var(--on-dark-accent);
}
.mobile-brand-card img{filter:brightness(0) invert(1);opacity:1}
.mobile-brand-card span{color:var(--on-dark-soft)}
.brands-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:1024px){.brands-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.brands-grid{grid-template-columns:1fr}}


/* Elemente, die auf --primary liegen oder auf dauerhaft dunklen
   Flaechen sitzen, brauchen eine feste Vordergrundfarbe */
.btn-route{
  background:var(--primary);
  color:var(--btn-primary-text);
  border-color:var(--primary);
}
.btn-route:hover{
  background:var(--primary-bright);
  color:var(--btn-primary-text);
  border-color:var(--primary-bright);
}

.action-banner .eyebrow{color:var(--on-dark-accent)}
.action-banner .eyebrow::before{background:var(--on-dark-accent)}

/* Label auf dem Fahrzeugbild — eigene Flaeche statt geerbter Textfarbe */
.car-tag{
  top:14px;left:14px;
  padding:5px 10px;
  background:rgba(8,7,6,.82);
  color:var(--on-dark-accent);
  border:1px solid rgba(255,255,255,.2);
  border-radius:99px;
  font-family:var(--font-display);
  font-size:.6rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  line-height:1;
}

.search-submit strong{color:inherit}
.value-item .num{color:var(--text-muted)}
.team-mini-role{color:var(--text-body)}

/* Pfeil-Button auf der Fahrzeugkarte: lag auf var(--text) mit hartem
   weissem Pfeil — im Dark-Mode weiss auf weiss. Jetzt neutrale Flaeche
   in beiden Themes, Akzent erst beim Hover. */
.car-cta{
  background:var(--surface);
  color:var(--text);
  border:1px solid var(--border-strong);
}
.car-card:hover .car-cta{
  background:var(--primary);
  color:var(--btn-primary-text);
  border-color:var(--primary);
  transform:translateX(4px);
}

/* ════════════════════════════════════════════════════════════
   ACTION-BANNER — Hintergrund mit Tiefe
   Bild laeuft beim Scrollen langsamer als der Inhalt. Umgesetzt
   ueber CSS-Scroll-Timelines, laeuft auf dem Compositor und
   braucht kein JavaScript. Browser ohne Unterstuetzung zeigen
   das Bild einfach statisch.
   ════════════════════════════════════════════════════════════ */

.action-banner{
  padding:120px 0;
  background:#0d0b0a;
}

.action-banner-bg{
  position:absolute;
  inset:-16% 0;
  background-size:cover;
  background-position:center;
  opacity:.55;
  filter:grayscale(.45) contrast(1.08) brightness(.92);
  z-index:0;
  transform:translate3d(0,0,0) scale(1.04);
}

/* Scrim: weich von links, plus Bodenverlauf und dezente Vignette,
   damit der Textblock sitzt und das Bild trotzdem Textur bleibt */
.action-banner::after{
  background:
    linear-gradient(100deg,
      rgba(13,11,10,.94) 0%,
      rgba(13,11,10,.80) 26%,
      rgba(13,11,10,.42) 52%,
      rgba(13,11,10,.10) 78%,
      rgba(13,11,10,0) 100%),
    linear-gradient(180deg,
      rgba(13,11,10,.55) 0%,
      rgba(13,11,10,0) 26%,
      rgba(13,11,10,0) 68%,
      rgba(13,11,10,.72) 100%),
    radial-gradient(120% 78% at 62% 44%,
      rgba(13,11,10,0) 42%,
      rgba(13,11,10,.42) 100%);
  z-index:1;
}

@supports (animation-timeline: view()){
  /* Benannte Timeline: .action-banner hat overflow:hidden und ist damit
     selbst Scroll-Container. Ein view() am Kind wuerde gegen den Banner
     messen statt gegen die Seite und bliebe konstant stehen. */
  .action-banner{
    view-timeline-name:--action-banner;
    view-timeline-axis:block;
  }
  .action-banner-bg{
    will-change:transform;
    animation:action-banner-drift linear both;
    animation-timeline:--action-banner;
    animation-range:cover 0% cover 100%;
  }
  @keyframes action-banner-drift{
    from{transform:translate3d(0,-7%,0) scale(1.06)}
    to{transform:translate3d(0,7%,0) scale(1.06)}
  }

  /* Der Textblock zieht leicht nach */
  .action-banner .container{
    animation:action-banner-lift linear both;
    animation-timeline:--action-banner;
    animation-range:cover 10% cover 90%;
  }
  @keyframes action-banner-lift{
    from{transform:translate3d(0,28px,0)}
    to{transform:translate3d(0,-28px,0)}
  }

  /* Gleiches Prinzip fuer die Seitenkoepfe mit Bild */
  .page-head-hero{
    view-timeline-name:--page-head;
    view-timeline-axis:block;
  }
  .page-head-hero .page-head-overlay{
    will-change:transform;
    animation:page-head-drift linear both;
    animation-timeline:--page-head;
    animation-range:cover 0% cover 100%;
  }
  @keyframes page-head-drift{
    from{transform:translate3d(0,-4%,0)}
    to{transform:translate3d(0,4%,0)}
  }
}

@media(prefers-reduced-motion:reduce){
  .action-banner-bg,
  .action-banner .container,
  .page-head-hero .page-head-overlay{
    animation:none !important;
    transform:none !important;
  }
}

@media(max-width:768px){
  .action-banner{padding:72px 0}
  .action-banner-bg{inset:-10% 0}
  @supports (animation-timeline: view()){
    @keyframes action-banner-drift{
      from{transform:translate3d(0,-4%,0) scale(1.04)}
      to{transform:translate3d(0,4%,0) scale(1.04)}
    }
  }
}

/* body{overflow-x:hidden} macht den Body zum Scroll-Container. Scroll-
   Timelines messen dann gegen ihn statt gegen das Fenster und bleiben
   eingefroren. clip verhindert denselben Ueberlauf ohne Scroll-Container. */
@supports (overflow-x: clip){
  body{overflow-x:clip}
}

/* ════════════════════════════════════════════════════════════
   Flaechen auf --primary mit fest verdrahtetem weissem Icon.
   Im Dark-Mode wird --primary weiss, damit verschwindet das Icon.
   Ueberall die zugehoerige Vordergrundfarbe verwenden.
   ════════════════════════════════════════════════════════════ */

.service-card:hover .service-icon{
  color:var(--btn-primary-text);
}
/* Halo hinter dem Icon war noch im alten Blau der Vorgaenger-Palette */
.service-card .service-icon::after{
  background:radial-gradient(circle,rgba(140,132,124,.34),transparent 70%);
}

.quick-bar-toggle,
.quick-bar-items a{
  color:var(--btn-primary-text);
}
.quick-bar-items a:hover{
  color:var(--btn-primary-text);
}
/* WhatsApp und Termin haben eigene Markenfarben und bleiben weiss */
.quick-bar-items a[aria-label="WhatsApp"],
.quick-bar-items a[aria-label="WhatsApp"]:hover,
.quick-bar-items a[aria-label="Termin"],
.quick-bar-items a[aria-label="Termin"]:hover{
  color:#fff;
}

.mobile-nav a.is-active .mobile-nav-icon{
  color:var(--btn-primary-text);
}

.filter-toggle-mobile{
  color:var(--btn-primary-text);
}

.a11y-head{
  color:var(--btn-primary-text);
}

/* ════════════════════════════════════════════════════════════
   Blaetterleiste Fahrzeugliste
   - aktive Seite lag auf var(--text) mit hartem weissem Text und
     war im Dark-Mode hell auf hell
   - min-width:42px hebt min-width:auto auf, dadurch schrumpfen
     "Zurueck"/"Weiter" unter ihre Textbreite und brechen um
   ════════════════════════════════════════════════════════════ */

.pagination{align-items:center}

/* Aeltere Regel weiter oben setzt width:40px fest, der spaetere Block
   ueberschreibt nur min-width und height. Die feste Breite bleibt und
   quetscht die Beschriftung in zwei Zeilen. */
.pagination a,
.pagination span{
  width:auto;
  flex:0 0 auto;
  white-space:nowrap;
  line-height:1;
}

.pagination .page-prev,
.pagination .page-next{
  min-width:0;
  padding:0 20px;
  gap:8px;
}

.pagination a.is-active{
  background:var(--primary);
  border-color:var(--primary);
  color:var(--btn-primary-text);
}
.pagination a.is-active:hover{
  background:var(--primary-bright);
  border-color:var(--primary-bright);
  color:var(--btn-primary-text);
}

@media(max-width:768px){
  .pagination .page-prev,
  .pagination .page-next{padding:0 14px}
}

/* Barrierefreiheit: Trigger und Panel-Kopf liegen auf --primary,
   Icons waren fest auf #fff. Im Dark-Mode weiss auf weiss. */
.a11y-trigger{
  color:var(--btn-primary-text);
}
.a11y-trigger:hover{
  color:var(--btn-primary-text);
}
.a11y-icon-btn{
  background:color-mix(in srgb, var(--btn-primary-text) 16%, transparent);
  color:var(--btn-primary-text);
}
.a11y-icon-btn:hover{
  background:color-mix(in srgb, var(--btn-primary-text) 28%, transparent);
  color:var(--btn-primary-text);
}

/* Badge auf dem Fahrzeugbild lag auf --accent mit fast schwarzem Icon,
   im Light-Mode ist --accent selbst fast schwarz */
.car-tag-icon{
  background:var(--primary);
  color:var(--btn-primary-text);
}


/* ════════════════════════════════════════════════════════════════════
   REDESIGN 2026 — Korte & Meyer
   Weiss als Grundflaeche, Schwarz nur als Band. Keine Akzentfarbe.
   Bebas Neue fuer Ueberschriften, Hanken Grotesk fuer Fliesstext.
   Diese Ebene ist die letzte in der Datei und damit massgeblich.
   ════════════════════════════════════════════════════════════════════ */

:root,
[data-theme="light"]{
  --font-display:'Bebas Neue',Impact,sans-serif;
  --font-body:'Hanken Grotesk',system-ui,-apple-system,sans-serif;

  --topbar-h:36px;
  --nav-h:76px;
  --nav-h-sm:60px;
  --r-sm:0px; --r:0px; --r-lg:0px;

  --bg:#ffffff;
  --bg-elev:#ffffff;
  --bg-card:#ffffff;
  --surface:#f4f3f1;
  --surface-2:#ebe9e6;

  --border:rgba(0,0,0,.12);
  --border-strong:rgba(0,0,0,.26);

  --ink:#000000;
  --text:#000000;
  --text-body:#26262a;
  --text-muted:#5d5d63;
  --text-dim:#87878d;

  --primary:#000000;
  --primary-bright:#1a1a1a;
  --primary-deep:#000000;
  --accent:#000000;
  --accent-bright:#1a1a1a;
  --accent-deep:#000000;
  --copper:#000000;
  --copper-bright:#1a1a1a;
  --copper-deep:#000000;

  --nav-bg:#ffffff;
  --topbar-bg:#ffffff;
  --footer-bg:#000000;
  --band-bg:#000000;

  --btn-primary-text:#ffffff;
  --btn-accent-text:#ffffff;

  --on-dark:#ffffff;
  --on-dark-soft:rgba(255,255,255,.76);
  --on-dark-dim:rgba(255,255,255,.54);
  --on-dark-accent:#ffffff;
  --on-dark-line:rgba(255,255,255,.18);

  --shadow-1:0 2px 14px -6px rgba(0,0,0,.18);
  --shadow-2:0 18px 50px -22px rgba(0,0,0,.30);

  --wrap:1180px;
  --gut:clamp(20px,4vw,48px);
  --sec:clamp(64px,8vw,120px);
}

/* Der Dark-Mode entfaellt. data-theme wird serverseitig fest auf light
   gesetzt, alle [data-theme="dark"]-Regeln greifen dadurch nicht mehr. */

html,body{background:var(--bg)}
body{
  font-family:var(--font-body);
  color:var(--text-body);
  font-size:1rem;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
body::before,body::after{display:none !important}

h1,h2,h3,h4,h5,
.section-head h2,
.hero-content h1{
  font-family:var(--font-display);
  color:var(--ink);
  font-weight:400;
  letter-spacing:.005em;
  line-height:.94;
  text-transform:none;
}
h1 em,h2 em,h3 em{font-style:normal;color:var(--ink)}
h1{font-size:clamp(2.9rem,7vw,5.4rem)}
h2{font-size:clamp(2.1rem,4.6vw,3.5rem)}
h3{font-size:clamp(1.25rem,2vw,1.6rem)}
h4{font-family:var(--font-body);font-weight:700;letter-spacing:0;line-height:1.3}
p{color:var(--text-body)}

.container{max-width:var(--wrap);padding-inline:var(--gut)}
.section{padding-block:var(--sec);background:var(--bg)}
.section-sm{padding-block:calc(var(--sec) * .62)}

/* Kleine Auszeichnung ueber den Ueberschriften */
.eyebrow{
  font-family:var(--font-body);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--text-muted);
  display:flex;align-items:center;gap:12px;
  margin-bottom:14px;
}
.eyebrow::before{
  content:"";width:26px;height:2px;background:var(--ink);flex-shrink:0;
}

/* ---------- Topbar: schmal, weiss, feine Linie ---------- */
.topbar{
  background:var(--topbar-bg);
  color:var(--text-body);
  border-bottom:1px solid var(--border);
  height:var(--topbar-h);
  font-size:.76rem;
}
.topbar a{color:var(--text-body)}
.topbar a:hover{color:var(--ink)}
.topbar .open-status,
.topbar .today-hours.is-open{
  color:var(--ink);
  background:transparent;
  border:0;
  font-weight:700;
  padding:0;
}
.topbar .open-status::before{background:var(--ink)}
.topbar-socials a{color:var(--text-muted)}
.topbar-socials a:hover{color:var(--ink)}

/* ---------- Navigation: weiss, schwarze Schrift, Bebas ---------- */
.nav{
  background:var(--nav-bg);
  border-bottom:1px solid var(--border);
  height:var(--nav-h);
  box-shadow:none;
}
.nav::before{display:none}
.nav.scrolled,
body.scrolled .nav{box-shadow:var(--shadow-1)}

.nav-links a{
  font-family:var(--font-display);
  font-size:1.12rem;
  font-weight:400;
  letter-spacing:.03em;
  text-transform:uppercase;
  color:var(--ink) !important;
  background:none !important;
  padding:6px 2px;
  position:relative;
}
.nav-links a::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:2px;
  background:var(--ink);transform:scaleX(0);transform-origin:right;
  transition:transform .28s cubic-bezier(.4,0,.2,1);
}
.nav-links a:hover::after,
.nav-links a.active::after{transform:scaleX(1);transform-origin:left}
.nav-links a.active{font-weight:400}

.nav-cta-bestand{
  font-family:var(--font-display);
  font-size:1.02rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  background:var(--ink) !important;
  color:#fff !important;
  border:1px solid var(--ink) !important;
  padding:10px 22px;
}
.nav-cta-bestand:hover{
  background:#fff !important;
  color:var(--ink) !important;
}

/* Startseite: Kopf steht auf Weiss, nicht mehr transparent ueber dem Hero */
body[data-page="home"]:not(.scrolled) .nav,
body[data-page="home"]:not(.scrolled) .nav::before{
  background:var(--nav-bg);
  border-bottom-color:var(--border);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
body[data-page="home"]:not(.scrolled) .topbar{background:var(--topbar-bg)}
body[data-page="home"]:not(.scrolled) .nav-links a{color:var(--ink) !important}
body[data-page="home"]:not(.scrolled) .mobile-toggle span{background:var(--ink)}
body[data-page="home"]:not(.scrolled) .nav-cta-bestand{
  border-color:var(--ink) !important;
  background:var(--ink) !important;
  color:#fff !important;
}
body[data-page="home"] main{padding-top:0}

/* Der Theme-Umschalter entfaellt */
.theme-toggle,
.mobile-theme-toggle{display:none !important}

/* ---------- Buttons: rechteckig, schwarz oder Kontur ---------- */
.btn{
  font-family:var(--font-display);
  font-size:1.02rem;
  font-weight:400;
  letter-spacing:.07em;
  text-transform:uppercase;
  border-radius:0;
  padding:15px 30px;
  border:1px solid var(--ink);
  transition:background-color .22s ease,color .22s ease;
}
.btn-primary{
  background:var(--ink);
  color:#fff;
  border-color:var(--ink);
}
.btn-primary:hover{background:#fff;color:var(--ink);transform:none}
.btn-ghost,
.btn-outline{
  background:transparent;
  color:var(--ink);
  border-color:var(--ink);
}
.btn-ghost:hover,
.btn-outline:hover{background:var(--ink);color:#fff;transform:none}
.btn-sm{padding:10px 20px;font-size:.92rem}

/* ---------- Schwarzes Band als Trenner zwischen den Bereichen ---------- */
.band{
  background:var(--band-bg);
  color:var(--on-dark);
  padding-block:clamp(46px,6vw,78px);
}
.band h2,.band h3,.band .eyebrow{color:var(--on-dark-accent)}
.band .eyebrow{color:var(--on-dark-soft)}
.band .eyebrow::before{background:var(--on-dark-accent)}
.band p{color:var(--on-dark-soft)}
.band .btn-primary{background:#fff;color:var(--ink);border-color:#fff}
.band .btn-primary:hover{background:transparent;color:#fff}
.band .btn-ghost{color:#fff;border-color:#fff}
.band .btn-ghost:hover{background:#fff;color:var(--ink)}

/* Schmales CTA-Band, wie im Entwurf 145pt hoch */
.band-cta{
  padding-block:clamp(30px,4vw,46px);
  text-align:center;
}
.band-cta h2{
  font-size:clamp(1.5rem,3vw,2.4rem);
  margin:0;
}
.band-cta a{color:#fff;text-decoration:none}
.band-cta a:hover{text-decoration:underline;text-underline-offset:6px}

/* ---------- Hero: grosses Bild, Schrift darauf ---------- */
.hero{
  min-height:min(84vh,760px);
  background:var(--surface);
}
.hero::after{
  background:linear-gradient(180deg,
    rgba(0,0,0,.30) 0%,
    rgba(0,0,0,.10) 34%,
    rgba(0,0,0,.34) 72%,
    rgba(0,0,0,.62) 100%);
}
.hero-content{
  text-align:center;
  align-items:center;
  padding-bottom:clamp(48px,7vw,96px);
}
.hero-content .eyebrow{
  justify-content:center;
  color:var(--on-dark-soft);
}
.hero-content .eyebrow::before{background:#fff}
.hero-content h1{
  color:#fff;
  text-shadow:0 2px 26px rgba(0,0,0,.5);
  max-width:16ch;
}
.hero-content h1 em{color:#fff}
.hero-lead{
  color:var(--on-dark-soft);
  max-width:56ch;
  margin-inline:auto;
}
.hero-actions{justify-content:center}
.hero .btn-primary{background:#fff;color:var(--ink);border-color:#fff}
.hero .btn-primary:hover{background:transparent;color:#fff}
.hero .btn-ghost{color:#fff;border-color:#fff}
.hero .btn-ghost:hover{background:#fff;color:var(--ink)}

/* Schriftzug mittig im Hero, wie im Entwurf */
.hero-wordmark{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  z-index:3;
  pointer-events:none;
  padding-inline:var(--gut);
}
.hero-wordmark img{
  width:min(420px,58vw);
  height:auto;
  filter:drop-shadow(0 10px 30px rgba(0,0,0,.45));
}

/* Titelplatte, die unten in den Hero ragt */
.hero-plate{
  position:relative;
  z-index:4;
  margin:0 auto -1px;
  max-width:min(760px,86%);
  background:#fff;
  padding:22px 40px;
  text-align:center;
}
.hero-plate h2{
  margin:0;
  font-size:clamp(1.7rem,3.4vw,2.6rem);
}

/* ---------- Sektionskopf ---------- */
.section-head{margin-bottom:clamp(30px,4vw,52px)}
.section-head h2{margin:0}
.section-head h2 em{color:var(--ink)}
.section-head p{max-width:62ch;margin-top:14px}
.section-head-center{text-align:center}
.section-head-center .eyebrow{justify-content:center}
.section-head-center p{margin-inline:auto}

/* Ueberlappende Kleinwoerter wie im Entwurf: "unser Service / dein Vorteil" */
.stacked-title{
  font-family:var(--font-display);
  line-height:.82;
  color:var(--ink);
}
.stacked-title .sm{
  display:block;
  font-size:clamp(1.1rem,2.1vw,1.7rem);
  letter-spacing:.04em;
}
.stacked-title .lg{
  display:block;
  font-size:clamp(2.6rem,6vw,4.4rem);
}
.stacked-title .row-2{margin-left:clamp(24px,6vw,90px)}

/* ---------- Karten: rechteckig, Bild zuerst, feine Linie ---------- */
.card,
.car-card,
.service-card,
.post-card,
.aktion-card{
  border-radius:0;
  background:#fff;
  border:1px solid var(--border);
  box-shadow:none;
  transition:border-color .22s ease,transform .22s ease;
}
.car-card:hover,
.service-card:hover,
.post-card:hover,
.aktion-card:hover{
  border-color:var(--ink);
  transform:none;
  box-shadow:none;
}
.car-card::before,
.service-card::before{display:none}

.car-title,.post-card h3,.aktion-card h3,.service-card h3{
  font-family:var(--font-display);
  font-weight:400;
  letter-spacing:.02em;
  color:var(--ink);
}
.car-title{font-size:1.32rem}
.car-brand{
  font-family:var(--font-body);
  font-size:.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:var(--text-muted);
}
.car-price,.car-price strong{
  font-family:var(--font-display);
  font-weight:400;
  color:var(--ink);
  letter-spacing:.01em;
}
.car-cta{
  background:var(--ink);
  color:#fff;
  border:0;
  width:46px;height:46px;
}
.car-card:hover .car-cta{background:#fff;color:var(--ink);border:1px solid var(--ink)}
.car-tag{
  background:#fff;color:var(--ink);border:0;border-radius:0;
  font-family:var(--font-body);font-weight:800;
}
.car-tag-icon{background:var(--ink);color:#fff}

/* ---------- Merkmal-Liste, zweispaltig wie im Entwurf ---------- */
.feature-cols{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:clamp(24px,3vw,44px) clamp(32px,5vw,72px);
}
.feature-item{padding-left:18px;border-left:2px solid var(--ink)}
.feature-item h4{
  font-family:var(--font-display);
  font-weight:400;
  font-size:1.18rem;
  letter-spacing:.03em;
  color:var(--ink);
  margin:0 0 4px;
}
.feature-item p{margin:0;font-size:.92rem;color:var(--text-muted);line-height:1.5}

/* ---------- Aufzaehlung fuer Leistungen und Benefits ---------- */
.spec-list{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.spec-list li{
  position:relative;
  padding-left:22px;
  font-size:.95rem;
  color:var(--text-body);
  line-height:1.45;
}
.spec-list li::before{
  content:"";
  position:absolute;left:0;top:.62em;
  width:9px;height:1px;background:var(--ink);
}
.band .spec-list li{color:var(--on-dark-soft)}
.band .spec-list li::before{background:#fff}

/* ---------- Footer: schwarzes Schlussband ---------- */
.footer{background:var(--footer-bg);color:var(--on-dark-soft)}
.footer-grid h4{
  font-family:var(--font-display);
  font-weight:400;
  font-size:1.16rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#fff;
}
.footer-grid a,.footer-bottom a{color:var(--on-dark-soft)}
.footer-grid a:hover,.footer-bottom a:hover{color:#fff}
.footer-bottom{border-top-color:var(--on-dark-line)}

/* ---------- Formulare und Auswahlfelder ---------- */
input,select,textarea{border-radius:0 !important}
.select-wrap select,
.bestand-search select,
.filter-panel select{
  border-radius:0;
  border:1px solid var(--border-strong);
  background:#fff;
  color:var(--ink);
}
.bestand-search{
  background:#fff;
  border:1px solid var(--border-strong);
  border-radius:0;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.bestand-search .search-submit{
  background:var(--ink);
  color:#fff;
  border-radius:0;
  box-shadow:none;
  font-family:var(--font-display);
  font-size:1rem;
  letter-spacing:.06em;
}
.bestand-search .search-submit:hover{background:#fff;color:var(--ink);border:1px solid var(--ink);transform:none}
.bestand-search .search-submit strong{color:inherit}

/* ---------- Hero der Startseite: Standbild statt Video ---------- */
.hero-img{
  position:absolute;
  inset:0;
  width:100%;height:100%;
  object-fit:cover;
  z-index:0;
}
.hero-video{display:none}
body[data-page="home"] .hero{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  min-height:min(78vh,720px);
  padding:0;
}
.scroll-cue{display:none}

/* ---------- Bestand: Aktionszeile unter den Karten ---------- */
.center-action{
  display:flex;justify-content:center;
  margin-top:clamp(30px,4vw,48px);
}

/* ---------- Merkmal-Abschluss ---------- */
.feature-more{
  font-family:var(--font-display);
  font-size:clamp(1.2rem,2.2vw,1.7rem);
  color:var(--ink);
  margin:clamp(30px,4vw,48px) 0 0;
}

/* ---------- Konfigurator-Band ---------- */
.band-konfig{padding-block:clamp(56px,7vw,96px)}
.konfig-inner{max-width:760px;margin-inline:auto;text-align:center}
.konfig-inner h2{
  font-size:clamp(2.2rem,5vw,3.6rem);
  margin:0 0 22px;
  color:#fff;
}
.konfig-inner p{
  color:var(--on-dark-soft);
  font-size:1.02rem;
  margin:0 0 14px;
}
.konfig-inner strong{color:#fff;font-weight:700}
.konfig-actions{
  display:flex;gap:14px;justify-content:center;flex-wrap:wrap;
  margin-top:30px;
}

/* ---------- Ueber uns: Text links, Bild rechts ---------- */
.about-split{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:clamp(32px,5vw,72px);
  align-items:center;
}
.about-text h2{margin:0 0 24px}
.about-text p{margin:0 0 16px;font-size:1.02rem}
.about-text strong{color:var(--ink);font-weight:700}
.about-media img{
  width:100%;height:100%;
  max-height:560px;
  object-fit:cover;
  display:block;
}
.about-figures{
  display:flex;flex-wrap:wrap;gap:clamp(24px,4vw,56px);
  margin-top:34px;padding-top:26px;
  border-top:1px solid var(--border);
}
.about-figures strong{
  display:block;
  font-family:var(--font-display);
  font-weight:400;
  font-size:clamp(2rem,3.4vw,2.8rem);
  color:var(--ink);
  line-height:1;
}
.about-figures span{
  font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--text-muted);
}

/* ---------- News auf der Startseite ---------- */
.aktuelles{background:var(--surface);padding-block:var(--sec)}
.nc-card{border-radius:0;border:1px solid var(--border);background:#fff}
.nc-card:hover{border-color:var(--ink)}
.nc-card-title{font-family:var(--font-display);font-weight:400;letter-spacing:.02em;color:var(--ink)}
.nc-card-cat{
  background:var(--ink);color:#fff;border-radius:0;
  font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
}
.nc-arrow{border-radius:0;border:1px solid var(--ink);color:var(--ink);background:#fff}
.nc-arrow:hover{background:var(--ink);color:#fff}
.nc-card-go{background:var(--ink);color:#fff;border-radius:0}

@media(max-width:900px){
  .about-split{grid-template-columns:1fr}
  .about-media{order:-1}
  .stacked-title .row-2{margin-left:clamp(16px,8vw,48px)}
}

/* ---------- Seitenkopf: weiss statt Bildbanner ---------- */
.page-head,
.page-head-hero{
  background:var(--surface);
  padding-block:clamp(56px,7vw,96px) clamp(40px,5vw,64px);
  border-bottom:1px solid var(--border);
}
.page-head::after,
.page-head-hero::after,
.page-head-overlay{display:none}
.page-head h1,
.page-head-hero h1,
.page-head-hero h1 em,
.page-head-hero h1 strong{color:var(--ink)}
.page-head .eyebrow,
.page-head-hero .eyebrow{color:var(--text-muted)}
.page-head .eyebrow::before,
.page-head-hero .eyebrow::before{background:var(--ink)}
.page-head-lead,
.page-head-hero p{color:var(--text-body);max-width:62ch}
.breadcrumb,
.page-head-hero .breadcrumb,
.page-head-hero .breadcrumb a{color:var(--text-muted)}
.page-head-hero .breadcrumb a:hover{color:var(--ink)}

/* ---------- Karriere: Stellenkarten ---------- */
.jobs-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:1px;
  background:var(--border);
  border:1px solid var(--border);
}
.job-card{
  background:#fff;
  padding:clamp(26px,3vw,38px);
  display:flex;flex-direction:column;gap:10px;
  transition:background-color .22s ease;
}
.job-card:hover{background:var(--surface)}
.job-num{
  font-family:var(--font-body);
  font-size:.7rem;font-weight:700;letter-spacing:.2em;
  color:var(--text-dim);
}
.job-card h3{
  font-family:var(--font-display);
  font-weight:400;
  font-size:clamp(1.35rem,2.2vw,1.85rem);
  color:var(--ink);
  margin:0;
}
.job-type{
  font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--text-muted);margin:0;
}
.job-text{font-size:.95rem;color:var(--text-body);margin:6px 0 0;flex:1}
.job-link{
  display:inline-flex;align-items:center;gap:9px;
  margin-top:16px;
  font-family:var(--font-display);
  font-size:1rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ink);text-decoration:none;
  border-bottom:2px solid var(--ink);
  padding-bottom:3px;
  align-self:flex-start;
}
.job-link svg{transition:transform .22s ease}
.job-link:hover svg{transform:translateX(4px)}

/* ---------- Karriere: Vorteile im schwarzen Band ---------- */
.benefit-cols{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:clamp(28px,4vw,52px);
}
.benefit-head{
  font-family:var(--font-display);
  font-weight:400;
  font-size:1.25rem;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:#fff;
  margin:0 0 16px;
  padding-bottom:10px;
  border-bottom:1px solid var(--on-dark-line);
}

.contact-head{
  font-family:var(--font-display);
  font-weight:400;
  font-size:clamp(1.6rem,2.6vw,2.1rem);
  color:var(--ink);
  margin:0 0 18px;
}
.contact-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.contact-note{margin-top:20px;font-weight:600;color:var(--ink)}

/* Kopfbereich steht in der neuen Gestaltung immer auf Weiss */
.nav,
body[data-page="home"] .nav,
body[data-page="home"]:not(.scrolled) .nav{
  background:#fff !important;
  border-bottom:1px solid var(--border) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
body.scrolled .nav{box-shadow:var(--shadow-1) !important}
.nav::before,
body[data-page="home"]:not(.scrolled) .nav::before{display:none !important}
.nav-cta-bestand,
body[data-page="home"]:not(.scrolled) .nav-cta-bestand{
  background:var(--ink) !important;
  color:#fff !important;
  border-color:var(--ink) !important;
}
.nav-cta-bestand:hover,
body[data-page="home"]:not(.scrolled) .nav-cta-bestand:hover{
  background:#fff !important;
  color:var(--ink) !important;
}

/* ---------- Nachziehen: Bausteine, die noch fuer dunkle Flaechen gebaut waren ---------- */

/* Topbar steht jetzt auf Weiss */
.topbar,
.topbar .contact-strip,
.topbar .contact-strip a,
.topbar .tel,
.topbar .rating,
.topbar .socials a,
.topbar .today-hours,
.topbar .today-hours.is-open,
.topbar .today-hours.is-closed,
.topbar .today-hours.is-closed-day{
  color:var(--text-body) !important;
}
.topbar .today-hours{font-weight:700;color:var(--ink) !important}
.topbar .ico,
.topbar .socials a svg{color:var(--text-muted)}
.topbar .socials a:hover,
.topbar .contact-strip a:hover{color:var(--ink) !important}
.topbar .ico-star,
.topbar .stars{color:#f5a623}

/* Seitenkopf: kein Bildbanner mehr, Schrift schwarz */
.page-head.page-head-hero,
section.page-head[style],
section.page-head-hero[style]{
  background-image:none !important;
  background-color:var(--surface) !important;
}
.page-head.page-head-hero h1,
.page-head.page-head-hero h1 em,
.page-head.page-head-hero h1 strong,
.page-head-hero .page-head-content h1{
  color:var(--ink) !important;
}
.page-head.page-head-hero .eyebrow,
.page-head-hero .page-head-content .eyebrow{color:var(--text-muted) !important}
.page-head.page-head-hero .eyebrow::before{background:var(--ink) !important}
.page-head-hero .page-head-lead,
.page-head-hero .page-head-content p{color:var(--text-body) !important}
.page-head-hero .breadcrumb,
.page-head-hero .breadcrumb a,
.page-head .breadcrumb,
.page-head .breadcrumb a{color:var(--text-muted) !important}
.page-head-hero .breadcrumb a:hover{color:var(--ink) !important}

/* Bildplatzhalter der Fahrzeugkarten wieder hell */
.car-media-fallback{
  background:var(--surface-2);
  color:rgba(0,0,0,.20);
}
.car-media-fallback .fallback-text,
.gallery-fallback .fallback-text{color:var(--text-dim)}
.car-media{background:var(--surface-2)}
.car-brand{color:var(--text-muted)}

/* Aktionsbanner der alten Gestaltung entfaellt zugunsten von .band */
.action-banner{display:none}

.car-media-fallback .brand-label{color:rgba(0,0,0,.55)}
.car-media-fallback .fallback-text,
.gallery-fallback .fallback-text{color:var(--text-muted)}
.car-body .car-brand{color:var(--text-body)}

/* ---------- Leistungskatalog ---------- */
.katalog{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:clamp(30px,4vw,60px);
}
.katalog-col h3{
  font-family:var(--font-display);
  font-weight:400;
  font-size:clamp(1.35rem,2.2vw,1.75rem);
  letter-spacing:.04em;
  color:var(--ink);
  margin:0 0 18px;
  padding-bottom:12px;
  border-bottom:2px solid var(--ink);
}
.job-num{color:var(--text-muted)}

/* ════════════════════════════════════════════════════════════
   Kopfbereich luftiger, leicht transparent
   ════════════════════════════════════════════════════════════ */
:root,
[data-theme="light"]{
  --topbar-h:40px;
  --nav-h:92px;
  --nav-h-sm:70px;
}

.nav,
body[data-page="home"] .nav,
body[data-page="home"]:not(.scrolled) .nav{
  background:rgba(255,255,255,.78) !important;
  -webkit-backdrop-filter:saturate(180%) blur(18px) !important;
  backdrop-filter:saturate(180%) blur(18px) !important;
  border-bottom:1px solid rgba(0,0,0,.08) !important;
  height:var(--nav-h);
}
body.scrolled .nav,
.nav.scrolled{
  background:rgba(255,255,255,.92) !important;
  box-shadow:0 1px 0 rgba(0,0,0,.06),0 8px 28px -18px rgba(0,0,0,.35) !important;
}

.nav .container,
.nav-inner{
  height:var(--nav-h);
  gap:clamp(20px,3vw,44px);
}

/* Mehr Luft zwischen den Menuepunkten */
.nav-links{gap:clamp(18px,2.2vw,34px)}
.nav-links a{
  font-size:1.16rem;
  padding:10px 2px;
  letter-spacing:.04em;
}

.nav-cta-bestand{
  padding:12px 26px;
  font-size:1.06rem;
}

/* Logo mitwachsen lassen */
.nav-logo img,
.nav .logo img,
.brand img{max-height:calc(var(--nav-h) - 34px)}

.topbar{
  height:var(--topbar-h);
  background:rgba(255,255,255,.9);
  -webkit-backdrop-filter:saturate(160%) blur(12px);
  backdrop-filter:saturate(160%) blur(12px);
  font-size:.78rem;
}

@media(max-width:900px){
  .nav,
  body[data-page="home"] .nav,
  body[data-page="home"]:not(.scrolled) .nav{height:var(--nav-h-sm)}
  .nav .container,.nav-inner{height:var(--nav-h-sm)}
}

/* ---------- Hero: Bild als Ebene und als Hintergrund ---------- */
.hero-media{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  background-color:var(--surface-2);
  z-index:0;
}
.hero-img{
  position:absolute;
  inset:0;
  width:100%;height:100%;
  object-fit:cover;
  object-position:center;
  z-index:1;
}
.hero::after{z-index:2}
.hero-wordmark{z-index:3}
.hero-plate{z-index:4}

/* Der Kopf steht ueber dem Hero, deshalb oben etwas Luft im Bild */
body[data-page="home"] .hero{
  min-height:min(80vh,760px);
}

/* ════════════════════════════════════════════════════════════
   NACHZUG NACH ENTWURF
   ════════════════════════════════════════════════════════════ */

/* Logo im Kopf: Originalgrafik, unveraendert */
.brand-mark img{
  filter:none !important;
  object-fit:contain;
}

/* Gleiches Logo im Hero, ebenfalls ungefiltert */
.hero-wordmark img{
  filter:drop-shadow(0 10px 30px rgba(0,0,0,.45)) !important;
  width:min(190px,26vw) !important;
  height:auto;
}

/* Menuepunkte: Unterstrich in Schwarz, kein Farbwechsel */
.nav-links a,
.nav-links a:hover,
.nav-links a.active,
.nav-item > a,
.nav-item > a:hover{
  color:var(--ink) !important;
  background:none !important;
}
.nav-links a::after{background:var(--ink) !important;height:2px}
.nav-caret{color:var(--ink) !important;opacity:.55}
.nav-item.has-flyout:hover .nav-caret{opacity:1}

/* Untermenue flach statt Glasoptik */
.nav-flyout{padding-top:10px}
.nav-flyout-inner{
  background:#fff !important;
  border:1px solid var(--ink) !important;
  border-radius:0 !important;
  box-shadow:0 18px 40px -24px rgba(0,0,0,.45) !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
  padding:6px;
  min-width:230px;
}
.nav-flyout-inner a{
  border-radius:0 !important;
  color:var(--ink) !important;
  background:transparent !important;
  font-family:var(--font-body);
  font-size:.92rem;
  font-weight:600;
  letter-spacing:.01em;
  text-transform:none;
  padding:11px 14px;
}
.nav-flyout-inner a::after{display:none}
.nav-flyout-inner a:hover{
  background:var(--ink) !important;
  color:#fff !important;
}
.nav-flyout-arrow{color:currentColor}

/* Suchpanel: graue Flaeche, damit die weissen Felder stehen */
.bestand-search{
  background:var(--surface) !important;
  border:1px solid var(--border) !important;
  padding:clamp(16px,2vw,22px) !important;
}
.bestand-search .search-field label{
  font-family:var(--font-body);
  font-size:.64rem;
  font-weight:800;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--text-muted);
  margin-bottom:7px;
  display:block;
}
.bestand-search select{
  background:#fff !important;
  border:1px solid var(--border) !important;
  color:var(--ink) !important;
  font-family:var(--font-body);
  font-size:.94rem;
  font-weight:500;
  height:52px;
  padding-inline:14px;
}
.bestand-search select:focus{border-color:var(--ink) !important;outline:none}
.bestand-search .select-wrap .chev{color:var(--text-muted)}
.bestand-search .search-submit{
  height:52px;
  background:var(--ink) !important;
  color:#fff !important;
  border:1px solid var(--ink) !important;
  font-family:var(--font-body) !important;
  font-size:.92rem !important;
  font-weight:700 !important;
  letter-spacing:.02em !important;
  text-transform:none !important;
  gap:10px;
}
.bestand-search .search-submit:hover{
  background:#fff !important;
  color:var(--ink) !important;
}
.bestand-search .search-submit strong{color:inherit;font-weight:700}
.nav-flyout-inner a:hover,
.nav-flyout-inner a:hover .nav-flyout-label,
.nav-flyout-inner a:hover .nav-flyout-arrow,
.nav-flyout-inner a:focus-visible{color:#fff !important}
.nav .nav-links .nav-item .nav-flyout .nav-flyout-inner a:hover,
.nav .nav-links .nav-item .nav-flyout .nav-flyout-inner a:hover *{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

/* ---------- Kopfleiste ohne Logo: Menue links, Aktion rechts ---------- */
.nav-inner .nav-links{margin-left:0}
.nav-inner{justify-content:space-between}
.nav-links{
  flex:1;
  justify-content:center;
}
@media(max-width:1100px){
  .nav-links{justify-content:flex-start}
}

/* ---------- Untermenues leicht transparent, wie die Kopfleiste ---------- */
.nav-flyout-inner{
  background:rgba(255,255,255,.72) !important;
  -webkit-backdrop-filter:saturate(180%) blur(20px) !important;
  backdrop-filter:saturate(180%) blur(20px) !important;
  border:1px solid rgba(0,0,0,.14) !important;
  box-shadow:0 20px 44px -26px rgba(0,0,0,.4) !important;
}
.nav .nav-links .nav-item .nav-flyout .nav-flyout-inner a:hover,
.nav .nav-links .nav-item .nav-flyout .nav-flyout-inner a:hover *{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
.nav-flyout-inner a:hover{background:rgba(0,0,0,.88) !important}

/* ════════════════════════════════════════════════════════════
   POLISH-DURCHLAUF — Defektbehebung auf der bestehenden Gestaltung
   ════════════════════════════════════════════════════════════ */

/* Fahrzeugkarte: Spaltenraster darf nicht ueber die Karte hinauswachsen.
   repeat(3,1fr) hat eine min-content-Untergrenze, dadurch wurden Label und
   Wert bei schmalen Karten (Listenansicht, 236px) rechts abgeschnitten.
   Ausserdem verbreiterten die negativen Raender als Flex-Element die Leiste
   nicht — sie hing links ueber und blieb rechts 24px vor der Kartenkante. */
.car-body{--car-pad:24px}
.car-specs{
  grid-template-columns:repeat(3,minmax(0,1fr));
  width:calc(100% + var(--car-pad) * 2);
  max-width:none;
  margin-inline:calc(var(--car-pad) * -1);
  align-self:stretch;
}
@media(max-width:380px){
  .car-body{--car-pad:18px}
}
.car-specs > div{
  min-width:0;
  padding:12px 10px;
}
.car-specs span{
  letter-spacing:.02em;
  font-size:.52rem;
  white-space:nowrap;
}
.car-specs strong{
  font-variant-numeric:tabular-nums;
  font-size:.8rem;
  white-space:nowrap;
}
/* Vier Werte (Startseite) passen nicht in drei Spalten — die beiden
   uebrigen Zellen zeigten sonst die Rasterfarbe als graue Bloecke. */
.car-specs:has(> div:nth-child(4)){
  grid-template-columns:repeat(2,minmax(0,1fr));
}
@supports not selector(:has(*)){
  .car-specs{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:1400px){
  .car-specs span{font-size:.6rem;letter-spacing:.06em}
  .car-specs strong{font-size:.84rem}
}

/* Preise und Kennzahlen mit gleichbreiten Ziffern, damit Karten in einer
   Reihe nicht optisch verspringen. */
.car-price,
.car-price small,
.about-figures strong,
.spec-table td,
.vehicle-price{font-variant-numeric:tabular-nums}

/* Hero: freigestellte Wortmarke statt der quadratischen Kachel. Das Lockup
   ist 1102x357 und braucht mehr Breite als das alte 1:1-Logo. */
.hero-wordmark img{
  width:min(420px,46vw) !important;
  aspect-ratio:861/205;
  filter:drop-shadow(0 12px 34px rgba(0,0,0,.5)) !important;
}
@media(max-width:640px){
  .hero-wordmark img{width:min(300px,66vw) !important}
}

/* Ueberschriftenblock und Merkmalliste standen exakt auf Kante — die
   Unterlaengen von "Vorteil" liefen in die erste Zeile des Rasters. */
.stacked-title{margin-bottom:clamp(28px,4vw,52px)}

/* Leerzustand der Aktuelles-Sektion auf der Startseite. */
.nc-empty{
  margin:0;
  padding:clamp(28px,4vw,44px);
  border:1px solid var(--border);
  color:var(--text-muted);
  max-width:52ch;
}

/* Portraitplatzhalter: Initialen bleiben sichtbar, bis das Bild geladen ist,
   statt eines schwarzen Kreises. Das Bild liegt darueber. */
.team-mini-photo img + .team-mini-initials{display:block}
.team-mini-photo img{z-index:2}
.team-mini-initials{z-index:1;position:relative}

/* Bilder mit bekanntem Seitenverhaeltnis reservieren ihren Platz. */
.team-mini-photo img,
.team-card-photo img{aspect-ratio:1}
.about-media img{aspect-ratio:4/3;object-fit:cover;width:100%}

/* ---------- Browser-Oberflaechen ---------- */
::selection{background:var(--ink);color:#fff}
::-webkit-scrollbar-track{background:var(--surface)}
::-webkit-scrollbar-thumb{background:var(--border-strong);border:2px solid var(--surface)}
::-webkit-scrollbar-thumb:hover{background:var(--ink)}
html{scrollbar-color:var(--border-strong) var(--surface)}
:root{accent-color:var(--ink)}

:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:2px solid var(--ink);
  outline-offset:3px;
  border-radius:2px;
}
.footer :where(a,button):focus-visible,
.band :where(a,button):focus-visible,
.hero :where(a,button):focus-visible{outline-color:#fff}

/* Fliesstextlinks: Unterstrich mit Luft zur Grundlinie. */
.prose a,
.post-body a,
.legal a{text-underline-offset:.18em;text-decoration-thickness:1px}

/* Klickflaeche der kleinen Kopf- und Fusszeilenlinks auf Fingergroesse. */
.footer nav a,
.footer ul a,
.footer-legal a,
.contact-strip a{
  display:inline-flex;
  align-items:center;
  min-height:32px;
}
@media(pointer:coarse){
  .footer ul a,
  .footer-legal a{min-height:44px}
}

/* Fahrzeugdetail, Abschluss-CTA: der Block erbte display:flex aus einer
   frueheren, gleichnamigen Seitenleisten-Variante — Ueberschrift, Text und
   Buttons standen dadurch nebeneinander statt zentriert untereinander.
   flex:1 liess die Buttons zudem unter ihre Beschriftung schrumpfen. */
.detail-cta{display:block}
.detail-cta p{margin-inline:auto}
.detail-cta .btn{flex:0 1 auto;min-width:max-content}
@media(max-width:600px){
  .detail-cta .btn{width:100%;min-width:0}
}

/* Hero-Wortmarke: die Hero-Bilder wechseln, das weisse Lockup braucht daher
   einen eigenen Kontrasttraeger statt nur eines Schlagschattens. */
.hero-wordmark::before{
  content:"";
  position:absolute;
  left:50%;top:50%;
  translate:-50% -50%;
  width:min(760px,84vw);
  aspect-ratio:2/1;
  background:radial-gradient(ellipse at center,rgba(0,0,0,.5) 0%,rgba(0,0,0,.28) 45%,transparent 72%);
  pointer-events:none;
}
.hero-wordmark img{position:relative}

/* Einwilligungszustand fuer die Google-Einbettungen (Karte, Street View). */
.km-map-wrap{background:var(--surface-2)}
.km-map-consent{
  min-height:420px;
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:16px;
  padding:clamp(28px,4vw,48px);
  text-align:center;
  background:var(--surface-2);
  color:var(--text-body);
}
.km-map-consent svg{width:34px;height:34px;color:var(--text-muted)}
.km-map-consent p{margin:0;max-width:38ch;color:var(--text-muted);font-size:.92rem;line-height:1.55}
.km-map-consent form{margin:0}
.km-map-consent > a{
  font-size:.86rem;
  color:var(--text-muted);
  text-decoration:underline;
  text-underline-offset:.2em;
}
.km-map-consent > a:hover{color:var(--ink)}
.rundgang-frame .km-map-consent{min-height:min(62vh,560px)}
@media(max-width:900px){
  .km-map-consent{min-height:320px}
}

/* Fusszeilen-Marke: die quadratische Kachel wurde durch die Wortmarke
   ersetzt, das 72x72-Quadrat presste sie auf ein Viertel ihrer Groesse. */
.footer .brand-mark{
  width:auto;
  height:auto;
  max-width:220px;
  border-radius:0;
  box-shadow:none;
}
.footer .brand-mark img{
  width:100%;
  height:auto;
  aspect-ratio:861/205;
  object-fit:contain;
}

/* ════════════════════════════════════════════════════════════
   SEITENKOEPFE MIT BILD
   Die vorherige Ebene hatte Bildbanner global abgeschaltet
   (background-image:none !important). Das Bild kommt deshalb ueber
   ein Pseudoelement und die Variable --head-img, nicht ueber den
   Hintergrund der Section — so bleiben die alten Regeln unberuehrt.
   ════════════════════════════════════════════════════════════ */
.page-head.page-head-media{
  position:relative;
  isolation:isolate;
  border-bottom:0;
  background:var(--ink);
  padding-block:clamp(132px,15vw,196px) clamp(56px,7vw,92px);
}
.page-head.page-head-media::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background-image:var(--head-img);
  background-size:cover;
  background-position:var(--head-pos,center);
  background-repeat:no-repeat;
}
.page-head.page-head-media::after{
  content:"";
  display:block;
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(180deg,rgba(0,0,0,.62) 0%,rgba(0,0,0,.34) 42%,rgba(0,0,0,.78) 100%),
    linear-gradient(90deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.05) 62%);
}

.page-head.page-head-media h1,
.page-head.page-head-media h1 em,
.page-head.page-head-media h1 strong,
.page-head.page-head-media .page-head-content h1{
  color:#fff !important;
  text-shadow:0 2px 24px rgba(0,0,0,.4);
}
.page-head.page-head-media .eyebrow,
.page-head.page-head-media .page-head-content .eyebrow{color:rgba(255,255,255,.82) !important}
.page-head.page-head-media .eyebrow::before{background:#fff !important}
.page-head.page-head-media p,
.page-head.page-head-media .page-head-lead,
.page-head.page-head-media .page-head-content p{
  color:rgba(255,255,255,.86) !important;
  max-width:56ch;
}
.page-head.page-head-media .page-head-lead strong,
.page-head.page-head-media p strong{color:#fff !important}
.page-head.page-head-media .breadcrumb,
.page-head.page-head-media .breadcrumb a,
.page-head.page-head-media .breadcrumb span{color:rgba(255,255,255,.72) !important}
.page-head.page-head-media .breadcrumb a:hover{color:#fff !important}
.page-head.page-head-media .btn-ghost{color:#fff;border-color:rgba(255,255,255,.6)}
.page-head.page-head-media .btn-ghost:hover{background:#fff;color:var(--ink);border-color:#fff}

/* Der Kopf steht unter der fixierten Navigation — auf Mobil weniger Luft. */
@media(max-width:768px){
  .page-head.page-head-media{padding-block:clamp(108px,26vw,140px) clamp(40px,9vw,60px) !important}
}

/* ════════════════════════════════════════════════════════════
   ADMIN — BEITRAGS- UND AKTIONS-EDITOR
   ════════════════════════════════════════════════════════════ */

/* Diese Elemente werden per hidden-Attribut geschaltet, ihre Regeln setzen
   aber display (grid/flex) und schlagen damit die Browservorgabe. Popover,
   Block-Menue, Upload-Fortschritt und Bildvorschau standen deshalb dauerhaft
   offen im Formular. */
.ak-addmenu[hidden],
.akv-pop[hidden],
.akup-busy[hidden],
.akup-prev[hidden],
#photo-preview-img[hidden]{display:none !important}

/* Das Block-Menue gehoert ueber den Button gelegt, nicht in den Fluss. */
.ak-addmenu{
  position:absolute;
  left:0;
  bottom:calc(100% + 10px);
  z-index:40;
  min-width:min(420px,80vw);
  background:#17181c;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 24px 60px rgba(0,0,0,.45);
}

/* Aktiver Eintrag in der dunklen Seitenleiste: --accent ist in dieser
   Gestaltung Schwarz, die fest eingetragene Schriftfarbe #0a0a0a ergab
   damit Schwarz auf Schwarz (Kontrast 1,03:1). */
.admin-nav a.is-active{
  background:rgba(255,255,255,.12);
  color:#fff;
  font-weight:700;
  position:relative;
}
.admin-nav a.is-active::before{
  content:"";
  position:absolute;
  left:0;top:6px;bottom:6px;
  width:3px;
  background:#fff;
}

/* Der Editor laeuft in einer 880px breiten Dokumentspalte, die Karten
   darunter standen dagegen ueber die volle Breite — 120px Versatz auf
   jeder Seite. Gleiche Spalte, gleiche Kante. */
.edit-form-col .admin-section{
  width:100%;
  max-width:880px;
  justify-self:center;
  margin-inline:auto;
}
.edit-form-col .admin-section + .admin-section{margin-top:20px}
.edit-form-col .admin-section h3{
  font-size:.72rem !important;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--text-muted);
  margin-bottom:18px !important;
}

/* Speichern war ans Seitenende gerutscht und bei langen Beitraegen nur
   nach vollstaendigem Scrollen erreichbar. */
.edit-form-col .admin-actions{
  position:sticky;
  bottom:0;
  z-index:30;
  max-width:880px;
  margin:24px auto 0;
  padding:16px 0;
  background:linear-gradient(180deg,rgba(255,255,255,0) 0%,var(--bg) 28%);
  justify-content:flex-end;
  align-items:center;
  gap:14px;
}
.edit-form-col .admin-actions::before{
  content:"Änderungen werden erst mit dem Speichern übernommen.";
  margin-right:auto;
  font-size:.8rem;
  color:var(--text-muted);
}
.edit-form-col .admin-actions .btn-primary{min-width:180px}
@media(max-width:720px){
  .edit-form-col .admin-actions{flex-direction:row;flex-wrap:wrap}
  .edit-form-col .admin-actions::before{display:none}
  .edit-form-col .admin-actions .btn-primary{flex:1}
}

/* Auf schmalen Schirmen bestimmte die Modusleiste als breitestes
   min-content-Element die Spaltenbreite des Formularrasters; der Editor
   ragte dadurch 21px aus dem Viewport und wurde von overflow-x:hidden
   des Hauptbereichs abgeschnitten. */
.edit-form-col .admin-form > *{min-width:0}
@media(max-width:900px){
  .editor-mode-tabs{flex-wrap:wrap}
  .ak-bar-tip{margin-left:0;flex-basis:100%}
  .edit-form-col .admin-section{padding-inline:16px}
  .cover-size-options{grid-template-columns:1fr}
}

/* Status und Kategorie: zweispaltig, auf schmalen Schirmen untereinander.
   Vorher ein fest zweispaltiges Raster per Inline-Style, dessen Felder auf
   dem Telefon aus dem Bild liefen. */
.admin-field-pair{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));
  gap:18px;
}

/* "Leads" war ein toter Link (href="#" mit einem inline onclick, das die CSP
   ohnehin blockiert — ein Klick sprang also an den Seitenanfang). Der Punkt
   zeigt jetzt, dass die Ansicht noch nicht existiert, statt sie vorzutaeuschen. */
.admin-nav-soon{
  display:flex;
  align-items:center;
  gap:12px;
  padding:11px 14px;
  font-size:.86rem;
  color:rgba(255,255,255,.32);
  border-radius:4px;
  margin-bottom:2px;
  font-weight:500;
  cursor:default;
}
.admin-nav-soon svg{width:18px;height:18px;flex-shrink:0;opacity:.6}
.admin-nav-soon em{
  margin-left:auto;
  font-style:normal;
  font-size:.6rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  padding:3px 7px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:3px;
  color:rgba(255,255,255,.45);
}

/* Der EnVKV-Kasten trug noch die blaue Tönung einer frueheren Farbwelt und
   war das einzige farbige Element auf der ansonsten schwarz-weissen
   Fahrzeugseite. Gleiche Flaeche wie die uebrigen Infokaesten. */
.envkv{
  background:var(--surface);
  border-color:var(--border);
  border-left:3px solid var(--ink);
}

/* ════════════════════════════════════════════════════════════
   KUNDENRUNDE 1
   ════════════════════════════════════════════════════════════ */

/* 1) Der helle Kasten hinter der Wortmarke.
   Die Logodateien hatten ueber die ganze Flaeche Weiss mit Alpha 10
   liegen — das ergab ein sichtbares Rechteck ueber dem Foto. Die Dateien
   sind jetzt sauber freigestellt, der zusaetzliche Abdunkler faellt weg.
   Kontrast kommt allein aus dem Schlagschatten. */
.hero-wordmark::before{content:none}
.hero-wordmark img{
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.55)) drop-shadow(0 14px 40px rgba(0,0,0,.45)) !important;
}

/* 2) Die Platte laeuft jetzt auf der Breite der Fahrzeugspalte darunter
   und laesst das Foto durchscheinen. */
.hero-plate{
  display:block;
  width:min(1084px, calc(100% - 48px));
  max-width:none;
  margin:0 auto -1px;
  padding:26px 40px;
  text-decoration:none;
  background:rgba(255,255,255,.82);
  transition:background .25s var(--ease);
}
.hero-plate:hover{background:rgba(255,255,255,.94)}
.hero-plate h2{
  color:var(--ink);
  font-size:clamp(1.4rem,2.8vw,2.2rem);
}
@media(min-width:1024px){
  .hero-plate{width:min(1084px, calc(100% - 80px))}
}
@media(max-width:640px){
  .hero-plate{padding:18px 22px}
}

/* 3+4) Die importierten Fahrzeugfotos kommen in gemischten Formaten —
   4:5 hochkant, 4:3 und 16:10 — und wurden alle in einen 16:10-Rahmen
   mit object-fit:cover gezwungen. Bei den hochkanten Bildern schnitt das
   den unteren Rand ab, genau dort, wo der eingebrannte Schriftzug sitzt.
   Jetzt wird das Foto vollstaendig gezeigt (contain), und der Rahmen wird
   von einer unscharfen Kopie desselben Bildes gefuellt statt von einem
   Balken. Es braucht also keine neuen Fotos. */
.car-media .car-media-back{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:blur(26px) saturate(.75) brightness(.92);
  transform:scale(1.18);
  z-index:0;
}
.car-media .car-media-shot{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  z-index:1;
}
.car-media-back[data-failed],
.car-media-shot[data-failed]{display:none}

/* 5+6) Service-Abschnitt: Bilder dazu, Themen deutlich voneinander
   abgesetzt, und der schwarze Balken "Termin einfach online vereinbaren"
   sitzt jetzt als Schaltflaeche in diesem Abschnitt statt als eigener
   Streifen darunter. */
.service-split{
  display:grid;
  grid-template-columns:minmax(0,0.82fr) minmax(0,1fr);
  gap:clamp(28px,4vw,64px);
  align-items:start;
}
.service-media{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  position:sticky;
  top:110px;
}
.service-shot{margin:0;overflow:hidden;background:var(--surface)}
.service-shot img{width:100%;height:100%;object-fit:cover;display:block}
.service-shot-lg{grid-column:1 / -1;aspect-ratio:4/3}
.service-shot:not(.service-shot-lg){aspect-ratio:1}

.service-content{min-width:0}

/* Jedes Thema bekommt eine eigene Flaeche, damit Anfang und Ende auf einen
   Blick erkennbar sind — vorher lief alles auf weissem Grund ineinander. */
.service-content .feature-cols{
  grid-template-columns:1fr;
  gap:10px;
}
.service-content .feature-item{
  padding:16px 18px;
  border-left:3px solid var(--ink);
  background:var(--surface);
  transition:background .2s var(--ease);
}
.service-content .feature-item:nth-child(even){background:var(--surface-2,#f1efec)}
.service-content .feature-item:hover{background:#e8e4df}
.service-content .feature-item h4{margin-bottom:5px}
.service-content .feature-more{
  margin-top:22px;
  margin-bottom:0;
}
.service-cta{
  display:inline-flex;
  margin-top:24px;
}

@media(min-width:1500px){
  .service-content .feature-cols{grid-template-columns:1fr 1fr}
}
@media(max-width:960px){
  .service-split{grid-template-columns:1fr;gap:32px}
  .service-media{position:static;grid-template-columns:1fr 1fr}
  .service-shot-lg{aspect-ratio:16/9}
  .service-cta{width:100%;justify-content:center}
}

/* ════════════════════════════════════════════════════════════
   HANDYANSICHT
   ════════════════════════════════════════════════════════════ */

.nav-brand-m,
.nav-call{display:none}

@media(max-width:1024px){
  :root,[data-theme="light"]{--nav-h-sm:60px;--gut:20px}

  .topbar{display:none}
  .nav,
  body.scrolled .nav{top:0}
  .nav,
  body[data-page="home"] .nav,
  body[data-page="home"]:not(.scrolled) .nav{height:var(--nav-h-sm)}
  .nav .container,
  .nav-inner,
  body.scrolled .nav-inner{height:var(--nav-h-sm)}
  body:not([data-page="home"]) main{padding-top:var(--nav-h-sm)}
  .nav-inner{gap:12px;justify-content:space-between}

  .nav-brand-m{
    display:flex;
    align-items:center;
    height:100%;
    flex:0 1 auto;
    min-width:0;
    padding:6px 0;
  }
  .nav-brand-m img{
    height:24px;
    width:auto;
    max-width:min(46vw,200px);
    object-fit:contain;
    display:block;
  }

  .nav-cta{gap:2px;margin-left:auto}
  .nav-cta .nav-call{
    display:inline-grid;
    place-items:center;
    width:44px;height:44px;
    color:var(--ink);
    border:0;
    background:transparent;
  }
  .nav-cta .nav-call svg{width:21px;height:21px}
  .nav-cta .nav-call:active{background:var(--surface)}
  .mobile-toggle{display:inline-flex;width:44px;height:44px;margin-right:-8px}
  .mobile-toggle span{width:22px;height:2px;background:var(--ink)}

  .a11y-trigger{display:none}
}

/* ---------- Ausklappmenü ---------- */
.mobile-menu{
  width:min(400px,88vw);
  z-index:1200;
  border-left:0;
  box-shadow:-16px 0 48px rgba(0,0,0,.22);
}
.menu-backdrop{z-index:1150;background:rgba(0,0,0,.5)}
.mobile-menu-head{
  height:var(--nav-h-sm);
  padding:0 20px;
  border-bottom:1px solid var(--border);
}
.mobile-brand{display:flex;align-items:center;gap:0;height:100%}
.mobile-brand img{height:24px;width:auto;display:block}
.mobile-close{
  width:44px;height:44px;
  border-radius:0;
  background:#fff;
  border:1px solid var(--border);
  color:var(--ink);
  margin-right:-8px;
}
.mobile-close:hover,.mobile-close:active{background:var(--surface);transform:none}
.mobile-close svg{width:18px;height:18px}
.mobile-menu-body{padding:0}

.mobile-nav{padding:4px 20px 0}
.mobile-nav a,
.mobile-nav a:hover,
.mobile-nav a:active{
  padding:0;
  gap:0;
  border-radius:0;
  background:none;
  font-size:inherit;
  font-weight:inherit;
}
.mobile-nav a.is-active::before{display:none}
.mobile-nav-item{border-bottom:1px solid var(--border)}
.mobile-nav-row{display:flex;align-items:stretch}
.mobile-nav .mobile-nav-link{
  flex:1;
  min-width:0;
  display:flex;
  align-items:center;
  min-height:56px;
  font-family:var(--font-display);
  font-size:1.5rem;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--ink);
  line-height:1;
}
.mobile-nav .mobile-nav-link.is-active{
  color:var(--ink);
  text-decoration:underline;
  text-decoration-thickness:2px;
  text-underline-offset:7px;
}
.mobile-nav-arrow{
  width:18px;height:18px;
  align-self:center;
  color:var(--text-dim);
  flex-shrink:0;
}
.mobile-nav-toggle{
  width:56px;
  margin-right:-16px;
  display:grid;
  place-items:center;
  background:none;
  border:0;
  padding:0;
  color:var(--ink);
  cursor:pointer;
  flex-shrink:0;
}
.mobile-nav-toggle svg{
  width:22px;height:22px;
  transition:transform .28s var(--ease);
}
.mobile-nav-item.is-open .mobile-nav-toggle svg{transform:rotate(180deg)}
.mobile-nav-toggle:active{background:var(--surface)}
.mobile-subnav{
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows .3s var(--ease);
  margin:0;
  padding:0;
  border:0;
}
.mobile-nav-item.is-open .mobile-subnav{grid-template-rows:1fr}
.mobile-subnav-inner{
  min-height:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.mobile-subnav-inner a:first-child{margin-top:-2px}
.mobile-subnav-inner a:last-child{margin-bottom:12px}
.mobile-nav .mobile-subnav a{
  display:flex;
  align-items:center;
  min-height:44px;
  padding-left:14px;
  margin-left:2px;
  border-left:1px solid var(--border-strong);
  font-family:var(--font-body);
  font-size:.98rem;
  font-weight:500;
  color:var(--text-body);
}
.mobile-nav .mobile-subnav a.is-active{color:var(--ink);font-weight:700;border-left-color:var(--ink)}
.mobile-nav .mobile-subnav a:active{color:var(--ink)}

.mobile-section{padding:20px 20px 0;border-top:0;margin-top:0}
.mobile-section-title{
  font-family:var(--font-body);
  font-size:.64rem;
  letter-spacing:.2em;
  color:var(--text-muted);
  margin-bottom:10px;
}
.mobile-quick-grid{gap:8px}
.mobile-quick-card{
  border-radius:0;
  border:1px solid var(--border);
  background:#fff;
  padding:12px 10px;
  gap:9px;
  color:var(--ink);
}
.mobile-quick-card svg{width:18px;height:18px;color:var(--ink)}
.mobile-quick-card strong{font-size:.8rem;color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mobile-quick-card span{font-size:.7rem}
.mobile-quick-card:active{transform:none;border-color:var(--ink);background:var(--surface)}
.mobile-quick-call{background:var(--ink);border-color:var(--ink);color:#fff}
.mobile-quick-call svg,
.mobile-quick-call strong{color:#fff}
.mobile-quick-call span{color:rgba(255,255,255,.72)}
.mobile-quick-call:active{background:#1a1a1a;border-color:#1a1a1a}
.mobile-quick-wa svg{color:#25d366}
.mobile-quick-cal svg{color:var(--ink)}

.mobile-section-info{padding-top:16px}
.mobile-info-row{padding:6px 0;font-size:.84rem;color:var(--text-body)}
.mobile-info-row svg{color:var(--ink);width:17px;height:17px}

.mobile-socials{padding:14px 20px 20px;border-top:0;margin-top:4px;gap:8px}
.mobile-socials a{
  width:44px;height:44px;
  border-radius:0;
  background:#fff;
  border:1px solid var(--border);
  color:var(--ink);
}
.mobile-socials a:active{transform:none;background:var(--ink);color:#fff;border-color:var(--ink)}

.mobile-menu-foot{
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 20px calc(12px + env(safe-area-inset-bottom));
  background:var(--surface);
  border-top:1px solid var(--border);
}
.mobile-a11y{
  display:inline-flex;
  align-items:center;
  gap:8px;
  height:38px;
  padding:0 12px;
  background:#fff;
  border:1px solid var(--border);
  color:var(--text-body);
  font-family:inherit;
  font-size:.78rem;
  font-weight:600;
  cursor:pointer;
  white-space:nowrap;
}
.mobile-a11y svg{width:16px;height:16px;color:var(--ink)}
.mobile-a11y:active{background:var(--ink);color:#fff}
.mobile-a11y:active svg{color:#fff}
.mobile-legal{gap:14px;justify-content:flex-end;font-size:.76rem}
.mobile-legal a{color:var(--text-muted);min-height:38px;display:inline-flex;align-items:center}
.mobile-legal a:active,.mobile-legal a:hover{color:var(--ink)}

/* ---------- Schnellkontakt schwebend ---------- */
@media(max-width:768px){
  .quick-bar{
    display:flex;
    left:auto;
    right:16px;
    bottom:calc(16px + env(safe-area-inset-bottom));
    transform:none;
    padding:0;
    max-width:none;
    gap:10px;
  }
  .quick-bar-toggle{
    width:52px;height:52px;
    background:var(--ink);
    box-shadow:0 12px 28px -10px rgba(0,0,0,.55);
    animation:none;
  }
  .quick-bar-toggle svg{width:22px;height:22px}
  .quick-bar-items a{width:46px;height:46px}
  .quick-bar-items a[aria-label="Anrufen"]{background:var(--ink)}
}

/* ---------- Grundmaße ---------- */
@media(max-width:768px){
  :root,[data-theme="light"]{--sec:clamp(44px,11vw,72px)}
  html{-webkit-text-size-adjust:100%}
  h1{font-size:clamp(2.3rem,10.5vw,3.2rem)}
  h2{font-size:clamp(1.85rem,8.4vw,2.5rem)}
  h3{font-size:1.2rem}
  .section-head{margin-bottom:22px}
  .section-head p{font-size:.95rem;margin-top:10px}
  .eyebrow{font-size:.66rem;margin-bottom:10px}
  .eyebrow::before{width:20px}
  .btn{padding:14px 20px;font-size:.98rem}
  .btn-lg{padding:15px 22px}
  .band{padding-block:clamp(36px,9vw,56px)}
  .band-cta{padding-block:26px}
  .band-cta h2{font-size:clamp(1.3rem,6vw,1.8rem)}
  input,select,textarea{font-size:max(16px,1rem)}
  input[type=radio],input[type=checkbox]{width:18px;height:18px;min-height:0;flex-shrink:0}
  input[type=radio]{border-radius:50% !important}
  .breadcrumb{font-size:.72rem}
}

/* ---------- Seitenköpfe ---------- */
@media(max-width:768px){
  .page-head.page-head-media{
    min-height:236px;
    display:flex;
    align-items:flex-end;
    padding-block:32px 30px !important;
  }
  .page-head.page-head-media > .container{width:100%}
  .page-head:not(.page-head-media){padding:30px 0 26px !important}
  .page-head h1,
  .page-head-hero h1{font-size:clamp(2rem,9.6vw,2.7rem) !important;line-height:.96;margin-top:10px !important;margin-bottom:0}
  .page-head h1 br{display:inline}
  .page-head p,
  .page-head-lead,
  .page-head-hero .page-head-content p{font-size:.94rem;margin-top:10px !important;line-height:1.5}
  .page-head .eyebrow{margin-bottom:8px}
}

/* ---------- Startseite ---------- */
@media(max-width:768px){
  body[data-page="home"] .hero{min-height:min(72vh,600px);min-height:min(72svh,600px)}
  .hero-wordmark img{width:min(260px,64vw) !important}
  .hero-plate{width:calc(100% - 40px);padding:15px 18px}
  .hero-plate h2{font-size:1.3rem}
  #bestand.section-sm{padding-block:28px 44px}

  .bestand-search{padding:14px !important;margin-bottom:24px}
  .bestand-search-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px}
  .bestand-search .search-field{gap:5px}
  .bestand-search .search-field label{font-size:.6rem;letter-spacing:.16em;margin-bottom:0}
  .bestand-search select{height:46px;padding:0 34px 0 12px;font-size:max(16px,.94rem)}
  .bestand-search .select-wrap .chev{right:11px}
  .bestand-search .search-submit{grid-column:1/-1;height:48px;margin-top:2px}

  .cars-grid{gap:14px}
  .car-media{aspect-ratio:16/10}
  .car-body{--car-pad:16px;padding:14px 16px 12px}
  .car-brand{font-size:.62rem}
  .car-title{font-size:1.28rem;margin:2px 0 4px}
  .car-sub{font-size:.84rem;margin-bottom:12px}
  .car-specs > div{padding:9px 8px}
  .car-specs span{font-size:.5rem}
  .car-specs strong{font-size:.78rem}
  .car-specs:has(> div:nth-child(4)){grid-template-columns:repeat(4,minmax(0,1fr))}
  .car-foot{padding:12px 16px}
  .car-price{font-size:1.4rem}
  .car-price small{font-size:.72rem}
  .car-cta{width:42px;height:42px}
  .car-fav{width:38px;height:38px}
  .center-action{margin-top:20px}
  .center-action .btn{width:100%;text-align:center;justify-content:center}

  .service-split{gap:22px}
  .service-media{gap:8px}
  .service-shot-lg{aspect-ratio:16/9}
  .stacked-title{margin-bottom:20px}
  .stacked-title .sm{font-size:1rem}
  .stacked-title .lg{font-size:clamp(2.3rem,12vw,3.2rem)}
  .service-content .feature-cols{gap:8px}
  .service-content .feature-item{padding:12px 14px}
  .feature-item h4{font-size:1.06rem}
  .feature-item p{font-size:.86rem}
  .feature-more{font-size:1.15rem;margin-top:18px}
  .service-cta{margin-top:18px}

  .band-konfig{padding-block:44px}
  .konfig-inner h2{font-size:clamp(2rem,9.6vw,2.7rem);margin-bottom:16px}
  .konfig-inner p{font-size:.95rem;margin-bottom:12px}
  .konfig-actions{margin-top:22px;gap:10px;flex-direction:column}
  .konfig-actions .btn{width:100%;text-align:center;justify-content:center}

  .about-split{gap:24px}
  .about-text h2{margin-bottom:16px}
  .about-text p{font-size:.96rem;margin-bottom:12px}
  .about-figures{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px 10px;
    margin-top:22px;
    padding-top:20px;
  }
  .about-figures strong{font-size:1.9rem}
  .about-figures span{font-size:.62rem;letter-spacing:.12em}

  .nc-head{gap:18px}
  .nc-head-actions{width:100%}
  .nc-head-actions .btn{flex:1;text-align:center;justify-content:center}
  .nc-empty{padding:20px;font-size:.94rem}
}
@media(max-width:380px){
  .car-specs:has(> div:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}
  .bestand-search-form{grid-template-columns:1fr}
}

/* ---------- Bestand ---------- */
@media(max-width:1024px){
  .filter-toggle-mobile{
    display:inline-flex;
    align-items:center;
    gap:8px;
    position:static;
    height:42px;
    padding:0 14px;
    background:#fff;
    color:var(--ink);
    border:1px solid var(--ink);
    border-radius:0;
    box-shadow:none;
    font-family:var(--font-display);
    font-size:1.02rem;
    font-weight:400;
    letter-spacing:.06em;
    text-transform:uppercase;
    line-height:1;
  }
  .filter-toggle-mobile svg{width:16px;height:16px}
  .filter-toggle-mobile:active{background:var(--ink);color:#fff}
  .filter-backdrop{z-index:1150}
  .filter-sidebar{
    z-index:1200;
    border-radius:0;
    padding:14px 20px max(20px,env(safe-area-inset-bottom));
    max-height:88vh;
    max-height:88dvh;
  }
  .filter-sidebar::before{width:40px;height:4px;background:var(--border-strong);margin-bottom:12px}
  .filter-mobile-head{display:flex;padding-bottom:12px;margin-bottom:6px}
  .filter-block{padding:14px 0}
  .filter-block h4{margin-bottom:10px}
  .filter-radios{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .filter-radios label{min-height:44px;padding:0 12px;border:1px solid var(--border);border-radius:0;font-size:.9rem}
  .filter-radios label:has(input:checked){border-color:var(--ink);background:var(--surface)}
  .filter-radios input[type=radio]{width:16px;height:16px;min-height:0;border-radius:50% !important}
  .filter-mobile-head strong{font-family:var(--font-display);font-size:1.5rem;font-weight:400;letter-spacing:.04em;text-transform:uppercase}
  .filter-close{width:40px;height:40px;border-radius:0;background:#fff;color:var(--ink)}
  .filter-actions .btn{width:100%;justify-content:center}
}
@media(max-width:768px){
  .listing-bar{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
    margin-bottom:16px;
    padding-bottom:14px;
  }
  .listing-count{grid-column:1;font-size:.86rem}
  .listing-bar .filter-toggle-mobile{grid-column:2;grid-row:1}
  .listing-bar .listing-sort{grid-column:1/-1;max-width:none !important;width:100%}
  .listing-bar .listing-sort select{height:44px}
  .cars-grid-list{gap:14px}
  .pagination{margin-top:24px}
}

/* ---------- Fahrzeugdetail ---------- */
@media(max-width:768px){
  .detail-head{gap:14px}
  .detail-price-bar{padding-top:0}
  .detail-price strong{font-size:1.8rem}
  .detail-grid{gap:18px}
  .gallery-thumbs{grid-template-columns:repeat(5,1fr);gap:6px}
  .gallery-nav{opacity:1;width:38px;height:38px}
  .detail-quick-specs{gap:0}
  .detail-quick-specs > div{padding:12px 14px}
  .detail-section{padding:18px 0}
  .detail-section h3,.detail-section h2{font-size:1.25rem;margin-bottom:12px}
  .equipment-list{grid-template-columns:1fr;gap:6px}
  .equipment-list li{font-size:.92rem}
  .specs-table > div{padding:10px 12px}
  .envkv{padding:14px 16px;font-size:.84rem}
  .detail-sidebar{padding:18px}
  .detail-cta{padding:26px 18px}
  .detail-cta h2,.detail-cta h3{font-size:1.5rem}
}

/* ---------- Team ---------- */
@media(max-width:768px){
  .team-section{margin-bottom:40px}
  .team-section-head{gap:12px;padding-bottom:12px;margin-bottom:16px}
  .team-section-head h2{font-size:1.45rem}
  .team-section-num{font-size:.66rem}
  .team-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .team-card-v2{border-radius:0}
  .team-card-v2.has-image .team-card-body{padding:12px 12px 12px}
  .team-card-name{font-size:1.15rem;margin-bottom:2px;line-height:1.05;overflow-wrap:anywhere}
  .team-card-role{font-size:.72rem;margin-bottom:10px;line-height:1.35}
  .team-card-contact{flex-direction:row;gap:6px}
  .team-card-link{
    width:40px;height:40px;
    justify-content:center;
    padding:0;
    border:1px solid var(--border);
    color:var(--ink);
    flex-shrink:0;
  }
  .team-card-link svg{width:15px;height:15px;color:var(--ink)}
  .team-card-link span{
    position:absolute;
    width:1px;height:1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
    white-space:nowrap;
  }
  .team-card-link:active{background:var(--ink);color:#fff}
  .team-card-link:active svg{color:#fff}
  .team-card-v2:not(.has-image){padding:14px}
  .team-card-v2:not(.has-image) .team-card-photo{width:48px;height:48px}
  .team-cta{padding:22px 18px;border-radius:0}
  .team-cta h3{font-size:1.4rem}
  .team-cta p{font-size:.92rem}
}
@media(max-width:360px){
  .team-cards{grid-template-columns:1fr}
}

/* ---------- Kontakt ---------- */
@media(max-width:768px){
  .contact-grid{gap:18px}
  .contact-grid > div:not(.contact-info){padding:22px 18px !important}
  .contact-grid > div:not(.contact-info) h3{font-size:1.4rem !important;margin:10px 0 18px !important}
  .contact-info{display:grid;gap:12px}
  .info-block{padding:18px;margin:0}
  .info-block h4{margin-bottom:12px;font-size:.7rem}
  .info-block p{font-size:.92rem}
  .form-grid{gap:12px}
  .map-section{margin-top:40px}
  .map-card{gap:0}
  .map-card-info{order:-1;padding:22px 18px}
  .map-card-info h3{font-size:1.5rem}
  .map-card-info p{margin:12px 0 18px !important;font-size:.92rem}
  .map-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .map-actions .btn-route{width:100%;justify-content:center;text-align:center}
  .km-map-wrap{order:1;min-height:260px}
  .km-map-iframe{height:260px}
  .km-map-consent{min-height:240px;padding:22px 18px}
  .map-section + div{margin-top:48px !important}
  .team-mini-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 6px}
  .team-mini-card{padding:6px 2px 8px;border-radius:0}
  .team-mini-photo{width:68px;height:68px;margin-bottom:8px}
  .team-mini-name{font-size:.76rem}
  .team-mini-role{font-size:.64rem}
}

/* ---------- Service, Karriere, Rundgang ---------- */
@media(max-width:768px){
  .service-grid{gap:10px}
  .service-card{padding:18px}
  .service-card h3{font-size:1.25rem}
  .service-card p{font-size:.9rem}
  .service-info-grid{gap:12px}
  .service-promo,.service-premium-box{padding:22px 18px}
  .service-promo-title,.service-premium-title{font-size:1.5rem}
  .katalog{gap:24px}
  .katalog-col h3{font-size:1.4rem}
  .spec-list{gap:7px}
  .spec-list li{font-size:.92rem}
  .jobs-grid{grid-template-columns:1fr;gap:12px}
  .benefit-head{gap:10px}
  .rundgang-actions{gap:8px}
}

/* ---------- Fußzeile ---------- */
@media(max-width:768px){
  .footer{padding-top:40px}
  .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:26px 20px;
    text-align:left;
    padding-bottom:28px;
  }
  .footer-brand{grid-column:1/-1;margin-bottom:0}
  .footer .brand-mark{max-width:170px}
  .footer-brand p{margin:12px 0 0;font-size:.86rem;max-width:34ch}
  .footer-grid h4{font-size:1.05rem;margin:0 0 6px}
  .footer-grid ul{gap:0}
  .footer-grid li{font-size:.88rem}
  .footer ul a,
  .footer-legal a{min-height:40px}
  .footer-grid > div:last-child{grid-column:1/-1}
  .footer-grid > div:last-child ul{gap:0}
  .footer-grid > div:last-child li{
    min-height:30px;
    display:flex;
    align-items:center;
  }
  .footer-bottom{
    flex-direction:row;
    flex-wrap:wrap;
    justify-content:space-between;
    align-items:center;
    gap:6px 16px;
    text-align:left;
    font-size:.74rem;
    padding:16px 0 calc(16px + env(safe-area-inset-bottom));
  }
  .footer-bottom .legal{display:flex;flex-wrap:wrap;gap:0 14px}
  .footer-bottom .legal a{min-height:36px;display:inline-flex;align-items:center}
}

/* ════════════════════════════════════════════════════════════
   KUNDENRUNDE 2 — Logo, MEYKO, Katalog, Jobs
   ════════════════════════════════════════════════════════════ */

.page-transition-content{width:auto;height:auto;flex-direction:column;gap:0}
.page-transition-logo{
  width:188px;
  height:auto;
  border-radius:0;
  background:#fff;
  box-shadow:0 14px 34px -14px rgba(0,0,0,.3);
  padding:18px 20px 16px;
}
.page-transition-logo img{width:100%;height:auto;object-fit:contain}
.page-transition-spinner{
  position:relative;
  inset:auto;
  width:188px;
  height:2px;
  border:0;
  border-radius:0;
  background:var(--border);
  overflow:hidden;
  animation:none;
}
.page-transition-spinner::after{
  content:'';
  position:absolute;
  left:0;top:0;
  width:38%;height:100%;
  background:var(--ink);
  animation:ptBar .9s ease-in-out infinite;
}
@keyframes ptBar{from{transform:translateX(-100%)}to{transform:translateX(270%)}}

.meyko-box{
  margin-top:96px;
  padding:clamp(32px,4vw,52px) clamp(24px,4vw,56px);
  background:var(--ink);
  color:#fff;
  display:grid;
  grid-template-columns:minmax(220px,300px) minmax(0,1fr) auto;
  gap:clamp(28px,4vw,56px);
  align-items:center;
}
.meyko-box-logo img{width:100%;height:auto;display:block}
.meyko-box .eyebrow{color:rgba(255,255,255,.55);margin-bottom:10px}
.meyko-box .eyebrow::before{background:rgba(255,255,255,.55)}
.meyko-box p{color:rgba(255,255,255,.74);font-size:1rem;line-height:1.6;margin:0;max-width:52ch}
.meyko-box-btn{background:#fff;color:var(--ink);border-color:#fff;white-space:nowrap}
.meyko-box-btn:hover{background:var(--surface);border-color:var(--surface);color:var(--ink)}
@media(max-width:900px){
  .meyko-box{grid-template-columns:1fr;gap:22px;margin-top:64px}
  .meyko-box-logo{max-width:260px}
  .meyko-box-btn{justify-self:start}
}
@media(max-width:540px){
  .meyko-box{margin-top:48px}
  .meyko-box-btn{width:100%;justify-content:center;text-align:center}
}

.katalog{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:clamp(30px,5vw,72px)}
.katalog-col[hidden]{display:none}
.spec-list-cols{display:block;columns:2;column-gap:clamp(24px,3vw,44px)}
.spec-list-cols li{break-inside:avoid;margin-bottom:9px}
@media(max-width:900px){
  .katalog{grid-template-columns:1fr}
  .spec-list-cols{columns:1}
}

.konfig-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px;margin:18px 0 6px}
.konfig-links a{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-display);
  font-size:1.05rem;letter-spacing:.06em;text-transform:uppercase;
  color:#fff;text-decoration:none;
  border-bottom:2px solid rgba(255,255,255,.5);
  padding-bottom:3px;
}
.konfig-links a:hover{border-bottom-color:#fff}
.konfig-links svg{width:15px;height:15px;opacity:.7}
@media(max-width:768px){
  .konfig-links{justify-content:center;gap:8px 18px;margin:14px 0 4px}
  .konfig-links a{font-size:1rem}
}

.job-card h3 a{color:inherit;text-decoration:none}
.job-card h3 a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.jobs-empty{
  border:1px solid var(--border);
  background:#fff;
  padding:clamp(26px,4vw,40px);
  display:grid;
  gap:18px;
  justify-items:start;
  max-width:640px;
}
.jobs-empty p{margin:0;font-size:1.02rem;color:var(--text-body)}

.job-detail{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(32px,5vw,72px);align-items:start}
.job-facts{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:0;margin:0 0 40px;
  border:1px solid var(--border);background:#fff;
}
.job-facts > div{padding:14px 18px;border-right:1px solid var(--border)}
.job-facts > div:last-child{border-right:0}
.job-facts dt{font-size:.62rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}
.job-facts dd{margin:0;font-weight:600;color:var(--ink)}
.job-block{margin-bottom:38px}
.job-block h2{font-size:clamp(1.5rem,2.4vw,2rem);margin-bottom:14px}
.job-benefits-link{font-size:.92rem;color:var(--text-muted);border-top:1px solid var(--border);padding-top:20px}
.job-benefits-link a{color:var(--ink);font-weight:600}
.job-detail-side{position:sticky;top:calc(var(--nav-h) + 24px);display:grid;gap:16px}
.job-apply{background:var(--ink);color:#fff;padding:28px 26px;display:grid;gap:12px}
.job-apply h3{font-size:1.6rem;margin:0;color:#fff}
.job-apply p{margin:0 0 6px;color:rgba(255,255,255,.72);font-size:.95rem}
.job-apply .btn{width:100%;justify-content:center;text-align:center}
.job-apply .btn-primary{background:#fff;color:var(--ink);border-color:#fff}
.job-apply .btn-primary:hover{background:var(--surface);border-color:var(--surface);color:var(--ink)}
.job-apply .btn-outline{color:#fff;border-color:rgba(255,255,255,.55)}
.job-apply .btn-outline:hover{border-color:#fff;background:transparent;color:#fff}
.job-apply-tel{color:rgba(255,255,255,.72);font-size:.9rem;text-align:center;text-decoration:none}
.job-apply-tel:hover{color:#fff}
.job-contact{border:1px solid var(--border);background:#fff;padding:22px 24px}
.job-contact .eyebrow{margin-bottom:14px}
.job-contact-row{display:flex;gap:14px;align-items:flex-start}
.job-contact-row img{width:64px;height:64px;object-fit:cover;flex-shrink:0}
.job-contact-row > div{display:grid;gap:3px;min-width:0}
.job-contact-row strong{font-size:1rem;color:var(--ink)}
.job-contact-row span{font-size:.82rem;color:var(--text-muted)}
.job-contact-row a{font-size:.88rem;color:var(--text-body);text-decoration:none;overflow-wrap:anywhere}
.job-contact-row a:hover{color:var(--ink);text-decoration:underline}
@media(max-width:900px){
  .job-detail{grid-template-columns:1fr}
  .job-detail-side{position:static}
  .job-facts{margin-bottom:28px}
}
@media(max-width:540px){
  .job-facts{grid-template-columns:1fr 1fr}
  .job-facts > div:nth-child(2n){border-right:0}
  .job-facts > div{border-bottom:1px solid var(--border)}
  .job-facts > div:nth-last-child(-n+2){border-bottom:0}
  .job-apply{padding:22px 20px}
}

.admin-flash-err{background:rgba(220,38,38,.1);color:#b91c1c;border:1px solid rgba(220,38,38,.3)}
.admin-field input[type=number]{
  font-family:inherit;
  font-size:.95rem;
  padding:11px 14px;
  border:1px solid var(--border-strong);
  background:var(--bg);
  color:var(--text);
  border-radius:4px;
  max-width:160px;
}

/* ---------- Ausklappmenü: Reihen als Schalter, sauberes Scrollen ---------- */
body.menu-locked{
  position:fixed;
  left:0;right:0;
  width:100%;
  overflow:hidden;
}
.mobile-menu{
  overflow:hidden;
  height:100vh;
  height:100dvh;
}
.mobile-menu-head,
.mobile-menu-foot{flex-shrink:0}
.mobile-menu-body{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.mobile-nav .mobile-nav-row{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:56px;
  padding:0;
  margin:0;
  background:none;
  border:0;
  border-radius:0;
  font-family:var(--font-display);
  font-size:1.5rem;
  font-weight:400;
  letter-spacing:.04em;
  text-transform:uppercase;
  line-height:1;
  color:var(--ink);
  text-align:left;
  text-decoration:none;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.mobile-nav .mobile-nav-row > span{flex:1;min-width:0}
.mobile-nav .mobile-nav-row.is-active > span{
  text-decoration:underline;
  text-decoration-thickness:2px;
  text-underline-offset:7px;
}
.mobile-nav .mobile-nav-row:active{background:var(--surface);margin:0 -20px;padding:0 20px;width:calc(100% + 40px)}
.mobile-nav-chev,
.mobile-nav-arrow{
  width:20px;height:20px;
  flex-shrink:0;
  color:var(--ink);
  transition:transform .28s var(--ease);
}
.mobile-nav-arrow{color:var(--text-dim);width:18px;height:18px}
.mobile-nav-item.is-open .mobile-nav-chev{transform:rotate(180deg)}
.mobile-nav .mobile-subnav a{
  display:flex;
  align-items:center;
  min-height:46px;
  padding-left:14px;
  margin-left:2px;
  border-left:1px solid var(--border-strong);
  font-family:var(--font-body);
  font-size:1rem;
  font-weight:500;
  color:var(--text-body);
  -webkit-tap-highlight-color:transparent;
}
.mobile-subnav-inner a:first-child{margin-top:0}
.mobile-subnav-inner a:last-child{margin-bottom:14px}

.rating-preview{display:flex;align-items:center;gap:10px;margin:0 0 20px;font-weight:600}
.rating-preview-stars{display:inline-flex;gap:3px;color:#fbbf24}
.rating-preview-stars svg{width:22px;height:22px}
.rating-preview-stars svg.is-off{opacity:.25}

.car-card:hover .car-media .car-media-shot{transform:none;filter:none}
.car-card:hover .car-media .car-media-back{transform:scale(1.18);filter:blur(26px) saturate(.75) brightness(.92)}
.gallery-main{cursor:zoom-in}
.gallery-main:active{cursor:zoom-in}
.gallery-main:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
.gallery-main #gallery-main-img,
.gallery-main #gallery-main-img-next{object-fit:contain}
#gallery-main-bg{z-index:1;object-fit:cover;filter:blur(26px) saturate(.75) brightness(.92);transform:scale(1.18);will-change:auto}

.lb-lock,.lb-lock body{overflow:hidden}
.lb{position:fixed;inset:0;z-index:6000;display:flex;align-items:center;justify-content:center;padding:56px 72px;background:rgba(8,9,12,.94);opacity:0;transition:opacity .2s ease;touch-action:pan-y}
.lb.is-open{opacity:1}
.lb-img{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px;user-select:none;cursor:zoom-out;transform:scale(.97);transition:transform .25s cubic-bezier(.22,1,.36,1)}
.lb.is-open .lb-img{transform:scale(1)}
.lb-btn{position:absolute;display:grid;place-items:center;width:46px;height:46px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;cursor:pointer;transition:background .2s ease,transform .2s ease}
.lb-btn svg{width:20px;height:20px}
.lb-btn:hover{background:rgba(255,255,255,.2)}
.lb-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}
.lb-close{top:14px;right:14px}
.lb-prev{left:14px;top:50%;transform:translateY(-50%)}
.lb-next{right:14px;top:50%;transform:translateY(-50%)}
.lb-prev:active,.lb-next:active{transform:translateY(-50%) scale(.94)}
.lb-count{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.1);color:#fff;font:600 .8rem/1 var(--font-body);letter-spacing:.06em}
@media(max-width:640px){
  .lb{padding:60px 8px}
  .lb-prev,.lb-next{top:auto;bottom:10px;transform:none}
  .lb-prev:active,.lb-next:active{transform:scale(.94)}
}

.log-filter{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 20px}
.log-filter select,.log-filter input{font:inherit;font-size:.88rem;padding:9px 12px;border:1px solid var(--border);border-radius:6px;background:var(--surface,#fff);color:inherit;min-width:0}
.log-filter input{flex:1 1 220px}
.log-filter select:focus,.log-filter input:focus{outline:0;border-color:var(--primary)}
.log-table td{vertical-align:top}
.log-time{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--text-muted);font-size:.82rem}
.log-action{display:inline-block;padding:3px 9px;border-radius:999px;font-size:.74rem;font-weight:600;white-space:nowrap;background:rgba(100,116,139,.12);color:#475569}
.log-action.log-good{background:rgba(22,163,74,.12);color:#15803d}
.log-action.log-bad{background:rgba(220,38,38,.1);color:#b91c1c}
.log-entity{display:block;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}
.log-details{font-size:.82rem;min-width:260px;max-width:520px;word-break:break-word}
.log-details ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.log-details code{font-size:.76rem;padding:1px 5px;border-radius:3px;background:var(--bg-elev)}
.log-old{color:#b91c1c;text-decoration:line-through;text-decoration-color:rgba(185,28,28,.4)}
.log-new{color:#15803d}
.log-key{color:var(--text-muted)}
.log-ip{white-space:nowrap;font-size:.8rem;color:var(--text-muted);font-variant-numeric:tabular-nums}

.media-stats{color:var(--text-muted);font-size:.85rem;font-variant-numeric:tabular-nums}
.media-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:34px 20px;margin:0 0 16px;border:2px dashed var(--border);border-radius:10px;background:var(--bg-elev);text-align:center;cursor:pointer;transition:border-color .2s ease,background .2s ease}
.media-drop svg{width:34px;height:34px;color:var(--primary);margin-bottom:4px}
.media-drop strong{font-size:.98rem}
.media-drop span{color:var(--text-muted);font-size:.8rem}
.media-drop:hover,.media-drop.is-over{border-color:var(--primary);background:rgba(6,76,114,.05)}
.media-queue{display:grid;gap:8px;margin:0 0 20px}
.media-queue:empty{display:none}
.media-job{display:grid;grid-template-columns:minmax(0,1fr) 160px 90px auto;align-items:center;gap:12px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;font-size:.84rem;background:var(--surface,#fff)}
.media-job-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.media-job-bar{height:6px;border-radius:99px;background:var(--bg-elev);overflow:hidden}
.media-job-bar i{display:block;height:100%;width:0;background:var(--primary);transition:width .15s linear}
.media-job-state{color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:right}
.media-job.is-done .media-job-bar i{width:100%;background:#16a34a}
.media-job.is-done .media-job-state{color:#15803d}
.media-job.is-error .media-job-bar i{width:100%;background:#dc2626}
.media-job.is-error .media-job-state{color:#b91c1c}
.media-search{display:flex;gap:8px;margin:0 0 18px;flex-wrap:wrap}
.media-search input{flex:1 1 260px;font:inherit;font-size:.88rem;padding:9px 12px;border:1px solid var(--border);border-radius:6px;background:var(--surface,#fff);color:inherit}
.media-search input:focus{outline:0;border-color:var(--primary)}
.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.media-card{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface,#fff);transition:border-color .2s ease,box-shadow .2s ease}
.media-card:hover{border-color:var(--border-strong,var(--primary));box-shadow:0 6px 20px rgba(0,0,0,.06)}
.media-card.is-new{animation:media-in .35s cubic-bezier(.22,1,.36,1)}
@keyframes media-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.media-thumb{display:block;aspect-ratio:4/3;background:repeating-conic-gradient(#eef0f3 0 25%,#fff 0 50%) 0 0/16px 16px}
.media-thumb img{width:100%;height:100%;object-fit:contain;display:block}
.media-info{display:flex;flex-direction:column;gap:4px;padding:10px 12px 12px}
.media-name{font-weight:600;font-size:.86rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.media-meta{color:var(--text-muted);font-size:.74rem;font-variant-numeric:tabular-nums}
.media-actions{display:flex;gap:6px;margin-top:6px}
.media-actions .btn{flex:1;padding:8px 10px}
.media-actions .media-del{flex:0 0 auto;color:var(--danger,#b91c1c)}
.media-empty{color:var(--text-muted);padding:28px 0}
.media-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,12px);padding:10px 16px;border-radius:8px;background:#111;color:#fff;font-size:.86rem;font-weight:600;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:7000}
.media-toast.is-show{opacity:1;transform:translate(-50%,0)}
.media-toast.is-success{background:#15803d}
.media-toast.is-error{background:#b91c1c}
@media(max-width:640px){.media-job{grid-template-columns:minmax(0,1fr) 70px}.media-job-bar,.media-job .btn{display:none}}
.media-thumb{position:relative}
.media-dupe{position:absolute;top:8px;left:8px;padding:3px 8px;border-radius:999px;background:#b45309;color:#fff;font-size:.7rem;font-weight:700}
.media-check{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;white-space:nowrap;cursor:pointer}
.media-job.is-dupe .media-job-bar i{background:#d97706}
.media-job.is-dupe .media-job-state{color:#b45309}

.si-section{margin-bottom:22px}
.si-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}
.si-head h3{margin:0 0 4px;font-size:1rem}
.si-head p{margin:0;color:var(--text-muted);font-size:.84rem;max-width:620px}
.si-note{margin:0 0 14px;padding:10px 12px;border-radius:8px;background:rgba(217,119,6,.08);color:#92400e;font-size:.84rem}
.si-thumb{aspect-ratio:16/10;background:repeating-conic-gradient(#eef0f3 0 25%,#fff 0 50%) 0 0/16px 16px;border-radius:6px;overflow:hidden}
.si-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.si-hero{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.si-hero-item{display:flex;flex-direction:column;gap:8px}
.si-hero-item.is-fallback{opacity:.55}
.si-hero-tools{display:flex;gap:6px}
.si-ic{padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface,#fff);color:inherit;font:inherit;font-size:.8rem;cursor:pointer}
.si-ic:hover{border-color:var(--primary)}
.si-rm{margin-left:auto;color:#b91c1c}
.si-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:14px}
.si-slot{display:grid;grid-template-columns:180px 1fr;gap:14px;padding:12px;border:1px solid var(--border);border-radius:10px}
.si-slot .si-thumb{aspect-ratio:4/3}
.si-slot .si-thumb img{object-fit:contain}
.si-slot-body{display:flex;flex-direction:column;gap:4px;min-width:0}
.si-slot-page{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}
.si-slot-state{align-self:flex-start;padding:2px 8px;border-radius:999px;font-size:.7rem;font-weight:600;background:rgba(100,116,139,.12);color:#475569}
.si-slot-state.is-custom{background:rgba(22,163,74,.12);color:#15803d}
.si-alt{display:flex;flex-direction:column;gap:4px;margin-top:6px;font-size:.74rem;color:var(--text-muted)}
.si-alt input{font:inherit;font-size:.85rem;padding:7px 10px;border:1px solid var(--border);border-radius:6px;color:var(--text,inherit);background:var(--surface,#fff)}
.si-alt input:disabled{opacity:.6}
.si-slot-act{display:flex;gap:6px;margin-top:auto;padding-top:8px}
@media(max-width:560px){.si-slots{grid-template-columns:1fr}.si-slot{grid-template-columns:1fr}}
.si-bar{position:sticky;bottom:12px;z-index:50;display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:10px;padding:10px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface,#fff);box-shadow:0 8px 24px rgba(0,0,0,.08)}
.si-bar span{margin-right:auto;color:var(--text-muted);font-size:.85rem}
.si-bar.is-dirty{border-color:#d97706}
.si-bar.is-dirty span{color:#b45309;font-weight:600}
.si-modal{position:fixed;inset:0;z-index:6500;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(8,9,12,.6)}
.si-modal[hidden]{display:none}
.si-modal-box{display:flex;flex-direction:column;width:min(980px,100%);max-height:88vh;border-radius:12px;background:var(--surface,#fff);box-shadow:0 24px 60px rgba(0,0,0,.3);overflow:hidden}
.si-modal-box header,.si-modal-box footer{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--border)}
.si-modal-box footer{border-bottom:0;border-top:1px solid var(--border);justify-content:flex-end}
.si-modal-box footer span{margin-right:auto;color:var(--text-muted);font-size:.85rem}
.si-x{margin-left:auto;width:34px;height:34px;border:0;border-radius:50%;background:transparent;font-size:1.4rem;line-height:1;cursor:pointer;color:inherit}
.si-x:hover{background:var(--bg-elev)}
.si-modal-tools{display:flex;gap:8px;padding:12px 18px}
.si-modal-tools input{flex:1;font:inherit;font-size:.88rem;padding:9px 12px;border:1px solid var(--border);border-radius:6px}
.si-upl{cursor:pointer}
.si-pick{flex:1;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;padding:4px 18px 12px;align-content:start}
.si-pick-item{position:relative;padding:0;border:2px solid transparent;border-radius:8px;background:none;cursor:pointer;text-align:left}
.si-pick-item:hover{border-color:var(--border)}
.si-pick-item.is-sel{border-color:var(--primary);box-shadow:0 0 0 3px rgba(6,76,114,.15)}
.si-pick-item.is-sel::after{content:"✓";position:absolute;top:6px;right:6px;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--primary);color:#fff;font-size:.8rem;font-weight:700}
.si-pick-meta{display:block;padding:4px 2px 0;font-size:.7rem;color:var(--text-muted)}
.si-more{display:flex;justify-content:center;padding:0 18px 10px}
.si-empty{grid-column:1/-1;color:var(--text-muted);padding:20px 0}
#si-toast{bottom:88px}
.si-slot.is-head .si-thumb{aspect-ratio:16/7}
.si-slot.is-head .si-thumb img{object-fit:cover}
.si-alt select{font:inherit;font-size:.85rem;padding:7px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface,#fff);color:inherit}

.editor-content a.btn,
.aktion-detail-body a.btn,
.ak-btn-wrap .btn{text-decoration:none}
.editor-content a.btn-primary,
.aktion-detail-body a.btn-primary,
.ak-btn-wrap .btn-primary{background:var(--ink);color:#fff;border:1px solid var(--ink)}
.editor-content a.btn-primary:hover,
.aktion-detail-body a.btn-primary:hover,
.ak-btn-wrap .btn-primary:hover{background:#fff;color:var(--ink);border-color:var(--ink)}
.editor-content a.btn-primary:focus-visible,
.aktion-detail-body a.btn-primary:focus-visible,
.ak-btn-wrap .btn-primary:focus-visible{outline:2px solid var(--ink);outline-offset:3px}

.nc-card-title{
  color:var(--ink);
  text-shadow:
    -.75px -.75px 0 #fff, .75px -.75px 0 #fff, -.75px .75px 0 #fff, .75px .75px 0 #fff,
    0 0 6px rgba(255,255,255,.35);
}

.job-card.has-img{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  justify-content:flex-end;
  min-height:clamp(340px,30vw,440px);
  background:#111;
}
.job-card.has-img:hover{background:#111}
.job-card.has-img::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(to top,rgba(0,0,0,.9) 0%,rgba(0,0,0,.6) 42%,rgba(0,0,0,.12) 72%,rgba(0,0,0,.35) 100%);
}
.job-card-img{position:absolute;inset:0;z-index:-2;display:block;overflow:hidden}
.job-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--ease)}
.job-card.has-img:hover .job-card-img img{transform:scale(1.05)}
.job-card.has-img .job-num{position:absolute;top:clamp(20px,2.4vw,30px);left:clamp(26px,3vw,38px);color:rgba(255,255,255,.85)}
.job-card.has-img h3,
.job-card.has-img h3 a{
  color:var(--ink);
  text-shadow:
    -.75px -.75px 0 #fff, .75px -.75px 0 #fff, -.75px .75px 0 #fff, .75px .75px 0 #fff,
    0 0 6px rgba(255,255,255,.35);
}
.job-card.has-img .job-type{color:rgba(255,255,255,.82)}
.job-card.has-img .job-text{flex:0 0 auto;color:rgba(255,255,255,.86)}
.job-card.has-img .job-link{color:#fff;border-bottom-color:#fff}
.job-gallery{display:grid;gap:10px;grid-template-columns:repeat(2,1fr)}
.job-gallery-1{grid-template-columns:1fr}
.job-gallery-3 .job-gallery-item:first-child{grid-column:1/-1;aspect-ratio:16/8}
.job-gallery-item,.job-attachment-img{display:block;padding:0;border:0;background:var(--surface);cursor:zoom-in;overflow:hidden;aspect-ratio:4/3;width:100%}
.job-gallery-1 .job-gallery-item{aspect-ratio:16/9}
.job-gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease)}
.job-gallery-item:hover img{transform:scale(1.04)}
.job-gallery-item:focus-visible,.job-attachment-img:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.job-attachment-img{aspect-ratio:auto;max-width:640px;border:1px solid var(--border)}
.job-attachment-img img{width:100%;height:auto;display:block}
@media(max-width:560px){.job-gallery{grid-template-columns:1fr}.job-gallery-3 .job-gallery-item:first-child{aspect-ratio:4/3}}

.job-img-hint{color:var(--text-muted);font-size:.86rem;margin:0 0 16px;max-width:680px}
.job-img-grid{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:24px}
@media(max-width:800px){.job-img-grid{grid-template-columns:1fr}}
.job-img-label{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--text-muted);margin-bottom:8px}
.job-cover .si-thumb{aspect-ratio:16/9}
.job-gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
.job-gal-item{display:flex;flex-direction:column;gap:6px}
.job-gal-item .si-thumb{aspect-ratio:4/3}
.job-empty{display:grid;place-items:center;aspect-ratio:16/9;border:2px dashed var(--border);border-radius:6px;color:var(--text-muted);font-size:.84rem}
.job-gal .job-empty{grid-column:1/-1;aspect-ratio:auto;padding:28px}
.job-img-act{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.job-legacy{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid var(--border);font-size:.86rem}

.page-head.page-head-media .page-head-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;pointer-events:none}

.fx-box{width:min(980px,100%)}
.fx-hint{margin:12px 18px 0;color:var(--text-muted);font-size:.84rem}
.fx-tabs{display:flex;gap:6px;flex-wrap:wrap;padding:12px 18px 0}
.fx-tab{padding:6px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface,#fff);color:inherit;font:inherit;font-size:.8rem;cursor:pointer}
.fx-tab.is-active{background:var(--ink);border-color:var(--ink);color:#fff}
.fx-stage{display:flex;justify-content:center;padding:14px 18px;outline:0;cursor:grab;touch-action:none;user-select:none}
.fx-stage.is-drag{cursor:grabbing}
.fx-stage:focus-visible .fx-layer{outline:2px solid var(--primary);outline-offset:3px}
.fx-layer{position:relative;overflow:hidden;background:#111;border-radius:6px}
.fx-media{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;display:block;pointer-events:none}
.fx-frame{position:absolute;border:1.5px dashed rgba(255,255,255,.75);pointer-events:none;transition:border-color .15s ease}
.fx-frame.is-active{border:2px solid #fff;box-shadow:0 0 0 9999px rgba(0,0,0,.6);z-index:2}
.fx-frame-label{position:absolute;top:4px;left:4px;padding:2px 7px;border-radius:4px;background:rgba(0,0,0,.6);color:#fff;font-size:.66rem;font-weight:600;white-space:nowrap}
.fx-frame:not(.is-active) .fx-frame-label{display:none}
.fx-loading{display:grid;place-items:center;height:100%;color:#bbb;font-size:.85rem}
.fx-previews{display:flex;gap:12px;align-items:flex-end;overflow-x:auto;padding:0 18px 14px}
.fx-prev{margin:0;flex:0 0 auto;display:flex;flex-direction:column;gap:4px}
.fx-prev-win{height:72px;overflow:hidden;border-radius:4px;background:#111}
.fx-prev-win img,.fx-prev-win video{width:100%;height:100%;object-fit:cover;display:block}
.fx-prev figcaption{font-size:.7rem;color:var(--text-muted)}
.fx-info{font-variant-numeric:tabular-nums}
.si-thumb video{width:100%;height:100%;object-fit:cover;display:block}
.media-kind{position:absolute;bottom:8px;left:8px;padding:2px 8px;border-radius:999px;background:rgba(0,0,0,.7);color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.04em}
.si-thumb{position:relative}
.media-thumb video{width:100%;height:100%;object-fit:contain;display:block;background:#111}
.jobs-grid{gap:16px;background:transparent;border:0}
.job-card{border:1px solid var(--border)}
.job-card.has-img{border-color:transparent}

.job-card-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;margin-top:16px}
.job-card-actions .job-link{margin-top:0}
.job-quick{
  display:inline-flex;align-items:center;
  padding:9px 16px;
  background:var(--ink);color:#fff;
  border:1px solid var(--ink);
  font-family:var(--font-display);font-size:.95rem;letter-spacing:.06em;text-transform:uppercase;
  text-decoration:none;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease;
}
.job-quick:hover{background:#fff;color:var(--ink)}
.job-quick:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.job-card.has-img .job-quick{background:#fff;color:var(--ink);border-color:#fff}
.job-card.has-img .job-quick:hover{background:transparent;color:#fff}
.job-apply-test{margin-top:12px}

.embed-gate{display:grid;place-items:center;min-height:220px;margin:24px 0;padding:28px;border:1px solid var(--border);background:var(--surface,#f4f4f2);text-align:center}
.embed-gate-inner{max-width:480px;display:grid;gap:14px;justify-items:center}
.embed-gate-inner p{margin:0;color:var(--text-muted);font-size:.92rem;line-height:1.55}
.embed-gate-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.embed-gate-actions form{margin:0}
.embed-gate-inner a{font-size:.82rem;color:var(--text-muted);text-decoration:underline}

.seo-block{padding-top:24px;padding-bottom:64px}
.seo-intro{max-width:760px;margin-bottom:36px}
.seo-intro h2{font-size:clamp(1.4rem,2.4vw,1.9rem);margin:0 0 12px}
.seo-intro p{color:var(--text-muted);line-height:1.7;margin:0}
.seo-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px 40px;padding-top:28px;border-top:1px solid var(--border)}
.seo-links h3{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;margin:0 0 12px;color:var(--text-muted)}
.seo-links ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.seo-links a{color:var(--ink);text-decoration:none;border-bottom:1px solid transparent}
.seo-links a:hover{border-bottom-color:var(--ink)}
.seo-links span{color:var(--text-muted);font-size:.85rem}

.form-grid .hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.contact-alert{display:grid;gap:6px;margin:0 0 22px;padding:14px 16px;border-radius:8px;font-size:.92rem;line-height:1.5}
.contact-alert ul{margin:4px 0 0;padding-left:18px}
.contact-alert-ok{background:rgba(22,163,74,.1);border:1px solid rgba(22,163,74,.35);color:#14532d}
.contact-alert-err{background:rgba(220,38,38,.08);border:1px solid rgba(220,38,38,.35);color:#7f1d1d}

/* Fahrzeugsuche: breiter auf großen Bildschirmen, Filter scrollbar */
.container.container-listing{max-width:1640px}
@media(min-width:1025px){
  .container-listing .listing-grid{grid-template-columns:270px minmax(0,1fr);gap:36px}
  .container-listing .filter-sidebar{
    top:110px;
    max-height:calc(100vh - 130px);
    max-height:calc(100dvh - 130px);
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    scrollbar-color:var(--border-strong) transparent;
  }
  .container-listing .filter-sidebar::-webkit-scrollbar{width:6px}
  .container-listing .filter-sidebar::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}
  .container-listing .filter-sidebar::-webkit-scrollbar-track{background:transparent}
  .listing-content .cars-grid{grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:24px}
}
@media(min-width:1600px){
  .listing-content .cars-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:28px}
}

/* Fahrzeugfotos kommen im Format 4:3 – Kartenbild passend, damit links/rechts nichts leer bleibt */
.car-card .car-media{aspect-ratio:4/3}

/* Service-Kacheln: letzte Reihe ohne Lücke */
@media(min-width:1025px){
  .service-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
  .service-grid > .service-card{grid-column:span 2}
  .service-grid > .service-card:nth-child(3n+1):nth-last-child(2),
  .service-grid > .service-card:nth-child(3n+2):last-child{grid-column:span 3}
  .service-grid > .service-card:nth-child(3n+1):last-child{grid-column:1/-1}
}
@media(min-width:641px) and (max-width:1024px){
  .service-grid > .service-card:nth-child(odd):last-child{grid-column:1/-1}
}
.katalog.katalog-single{grid-template-columns:minmax(0,1fr)}
@media(min-width:1101px){.spec-list-cols.spec-list-cols-3{columns:3}}
