/* Fahrzeugbereiche-Links (Shortcode [kueberl_vehicle_areas])
   - gleiche Optik wie die Fahrzeug-Tabs (Brands Tabs)
   - bei Hover roter Hintergrund
   - Link-Farben (visited) dürfen das Design nicht "rot färben" */
.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab,
.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:link,
.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:visited{
  text-decoration: none !important;
  color: inherit !important;
}

.kb-cfg-configurator select {
  text-transform: uppercase;
}

.kb-cfg-configurator option {
  font-size: 0.95rem;
  text-transform: uppercase;
}



/* Hover statt "active" (wir haben Links, keine Tabs) */
.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:hover{
  background: #df1e22 !important;
  border-color: #df1e22 !important;
  color: #fff !important;
}

.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:hover .kb-cfg-icon--normal{display:none !important;}
.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:hover .kb-cfg-icon--active{display:block !important;}

/* SVG/IMG im Normalzustand sauber skalieren (nur Desktop – Mobil nutzt Kreis-Padding) */
@media (hover:hover) and (pointer:fine) and (min-width: 641px){
  .kb-cfg-vehicle-areas-links .kb-cfg-brands-tab-icon img,
  .kb-cfg-vehicle-areas-links .kb-cfg-brands-tab-icon svg{
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
    display: block !important;
  }
}

/* VEHICLE AREAS – Active/Size Fix (Desktop liest Größe/Label aus Settings) */
.kb-cfg-page.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab-icon{
  width: var(--kb-cfg-cat-icon-size-d, 24px) !important;
  height: var(--kb-cfg-cat-icon-size-d, 24px) !important;
  flex: 0 0 var(--kb-cfg-cat-icon-size-d, 24px) !important;
}
.kb-cfg-page.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab-text{
  font-size: var(--kb-cfg-cat-label-size-d, 14px) !important;
}

/* Active State (aktueller Bereich) */
.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab.is-active{
  background: #df1e22 !important;
  border-color: #df1e22 !important;
  color: #fff !important;
}
.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab.is-active .kb-cfg-icon--normal{display:none !important;}
.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab.is-active .kb-cfg-icon--active{display:block !important;}

/* Mobile: Größe aus Settings (mobile) */
@media (max-width: 640px){
  .kb-cfg-page.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab-icon{
    width: var(--kb-cfg-cat-icon-size-m, 54px) !important;
    height: var(--kb-cfg-cat-icon-size-m, 54px) !important;
    flex: 0 0 var(--kb-cfg-cat-icon-size-m, 54px) !important;
  }
  .kb-cfg-page.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab-text{
    font-size: var(--kb-cfg-cat-label-size-m, 11px) !important;
  }
}


/* =====================================================================
   FIX v1.5.13 – Fahrzeug-Kategorie Tabs (Fahrzeug auswählen / Brands Tabs)
   - Desktop/Tablet: 100% Breite, gleichmäßig verteilt (Grid), Größe aus Settings
   - Mobil: KEIN roter Gradient-Button, nur Icon-Kreis (rot) + Icon weiß
   - Größen/Label/Position reagieren auf Settings (Desktop/Mobil)
   ===================================================================== */

/* Base Vars (Fallbacks) */
.kb-cfg-page.kb-cfg-brands-tabs{
  --kb-cfg-cat-icon-size-d: 24px;
  --kb-cfg-cat-icon-size-m: 54px;
  --kb-cfg-cat-label-size-d: 14px;
  --kb-cfg-cat-label-size-m: 11px;
}

/* NAV: immer Grid, kein Scroll */
.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tabs-nav{
  display: grid !important;
  width: 100% !important;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
  gap: 10px !important;
  padding: 2px 0 12px !important;
  overflow: visible !important;
  -webkit-overflow-scrolling: auto !important;
  scroll-snap-type: none !important;
}

/* Button */
.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab{
  width: 100% !important;
  min-width: 0 !important;
  justify-content: center !important;
  font-weight: 800 !important;
}

/* Desktop Icon/Label sizes from Settings */
.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab-icon{
  width: var(--kb-cfg-cat-icon-size-d) !important;
  height: var(--kb-cfg-cat-icon-size-d) !important;
  flex: 0 0 var(--kb-cfg-cat-icon-size-d) !important;
}
.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab-icon img,
.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab-icon svg{
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  display: block !important;
}
.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab-text{
  font-size: var(--kb-cfg-cat-label-size-d) !important;
  line-height: 1.1 !important;
}

/* Desktop Icon-Position */
.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tabs-nav.is-ico-left .kb-cfg-brands-tab{
  flex-direction: row !important;
  gap: 10px !important;
}
.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tabs-nav.is-ico-top .kb-cfg-brands-tab{
  flex-direction: column !important;
  gap: 8px !important;
}

/* Icon Swap (Normal/Active) */
.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab .kb-cfg-icon--active{display:none !important;}
.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab.active .kb-cfg-icon--normal{display:none !important;}
.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab.active .kb-cfg-icon--active{display:block !important;}
.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-icon--auto-white{filter: brightness(0) invert(1) !important;}

/* Mobil */
@media (max-width: 767px){
  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tabs-nav{
    grid-template-columns: repeat(auto-fit, minmax(86px, 1fr)) !important;
    gap: 12px !important;
    padding: 6px 0 14px !important;
  }

  /* Active Button Background AUS */
  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab.active{
    background: transparent !important;
    box-shadow: none !important;
    border-color: transparent !important;
    color: inherit !important;
  }

  /* Mobile: Kreis + Label darunter */
  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab{
    flex-direction: column !important;
    gap: 8px !important;
    padding: 10px 8px !important;
    border-radius: 16px !important;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
  }

  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab-icon{
    --kb-cfg-cat-circle-size: clamp(64px, calc(var(--kb-cfg-cat-icon-size-m) + 28px), 92px);
    width: var(--kb-cfg-cat-circle-size) !important;
    height: var(--kb-cfg-cat-circle-size) !important;
    flex: 0 0 var(--kb-cfg-cat-circle-size) !important;
    border-radius: 999px !important;
    border: 1px solid rgba(0,0,0,0.10) !important;
    background: #fff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab-icon img,
  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab-icon svg{
    width: var(--kb-cfg-cat-icon-size-m) !important;
    height: var(--kb-cfg-cat-icon-size-m) !important;
  }

  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab-text{
    font-size: var(--kb-cfg-cat-label-size-m) !important;
    font-weight: 600 !important;
    line-height: 1.1 !important;
    text-align: center !important;
    width: 100% !important;
  }

  /* Active Kreis rot + Icon weiß */
  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab.active .kb-cfg-brands-tab-icon{
    background: var(--accent) !important;
    border-color: transparent !important;
    color: #fff !important;
  }
}
:root {
  --bg-dark: #ffffff;
  --card: #f7f7f7;
  --accent: #df1e22;
  --accent-soft: #ff616b;
  --text: #111111;
  --muted: #616161;
  --serie: #df1e22;
  --tuned: #28a745;
  --serie-rgb: 223,30,34;
  --tuned-rgb: 40,167,69;
}

.kb-cfg-page,
.kb-cfg-page * {
  box-sizing: border-box;
}

.kb-cfg-page {
  /* Typografie wird bewusst ans Theme gekoppelt (keine eigene Rem-Scale)
     → dadurch ist Konfigurator + Theme immer konsistent. */
  font-size: .9rem;
  line-height: 1.55;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  color: var(--text);

  /* Type scale (relativ zum Theme) */
  --kb-fs-base: 1em;
  --kb-fs-sm: 0.9375em;
  --kb-fs-xs: 0.875em;
}

/* Listen im Konfigurator ohne linken Einzug (wie gewünscht) */
.kb-cfg-page ul,
.kb-cfg-page ol {
  padding-left: 0;
  margin-left: 0;
}

.kb-cfg-page ul li,
.kb-cfg-page ol li {
  padding-left: 0;
}

/* Typography – skaliert relativ zur Konfigurator-Basis (0.9rem),
   damit es visuell 1:1 zum statischen Theme passt (kein „oversized“ bei kleinerem Body). */
.kb-cfg-page h1,
.kb-cfg-page h2,
.kb-cfg-page h3,
.kb-cfg-page h4 {
  font-weight: 600;
  text-transform: none !important;
  letter-spacing: -0.01em;
  margin: 0.7em 0 0.55em;
  color: var(--text);
}

.kb-cfg-page h1 { font-size: 1.4em; line-height: 1.18; }
.kb-cfg-page h2 { font-size: 1.1em; line-height: 1.25; letter-spacing: -0.005em; }
.kb-cfg-page h3 { font-size: 1.0em; line-height: 1.28; letter-spacing: -0.004em; }
.kb-cfg-page h4 { font-size: 0.95em; line-height: 1.3; letter-spacing: -0.003em; }

/* Erste Überschrift in einem Block soll nicht unnötig nach unten springen */
.kb-cfg-page h1:first-child,
.kb-cfg-page h2:first-child,
.kb-cfg-page h3:first-child,
.kb-cfg-page h4:first-child {
  margin-top: 0;
}

/* Wenn Überschrift als erstes Element kommt, nicht zu viel „Leerraum“ nach oben */
.kb-cfg-page h1:first-child,
.kb-cfg-page h2:first-child,
.kb-cfg-page h3:first-child,
.kb-cfg-page h4:first-child {
  margin-top: 0;
}

.kb-cfg-page p,
.kb-cfg-page li,
.kb-cfg-page .subtitle,
.kb-cfg-page .hero-subtitle,
.kb-cfg-page .hero-intro,
.kb-cfg-page .kb-cfg-tab-content,
.kb-cfg-page .section-block,
.kb-cfg-page .card p {
  font-size: var(--kb-fs-base);
}

.kb-cfg-page .hero-price { font-size: 1.6em !important; }
.kb-cfg-page .page {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 24px;
}

.kb-cfg-page a {
  color: inherit;
  text-decoration: none;
}

.kb-cfg-page, .kb-cfg-page * { text-transform: none; }

/* Hero */
.kb-cfg-page .hero {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  gap: 20px;
}

.kb-cfg-page .hero-left,
.kb-cfg-page .hero-right {
  background: var(--card);
  border-radius: 18px;
  padding: 20px 20px 18px;
  border: 1px solid rgba(0,0,0,0.06);
  box-shadow: 0 14px 40px rgba(0,0,0,0.06);
}

.kb-cfg-page .hero-left {
  position: relative;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  /* Top-aligned, aber mit dem gleichen Innenabstand wie die rechte Spalte */
  padding-top: 20px;
}

.kb-cfg-page .kb-cfg-chip-hero-img {
  width: 500px;
  max-width: 100%;
  height: auto;
  display: block;
}

.kb-cfg-page .hero-tag {
  position: absolute;
  top: 16px;
  left: 16px;
  font-size: 0.82rem;
  color: var(--muted);
  background: rgba(255,255,255,0.9);
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 999px;
  padding: 6px 10px;
}

.kb-cfg-page .hero-title {
  /* wie im statischen Theme */
  font-size: 1.4em !important;
  font-weight: 600;
  line-height: 1.2;
  margin-bottom: 8px;
  letter-spacing: -0.01em;
}

.kb-cfg-page .hero-subtitle {
  color: var(--muted);
  font-size: 0.95em;
  margin-bottom: 12px;
}

.kb-cfg-page .hero-intro {
  color: var(--muted);
  line-height: 1.55;
  font-size: 0.96em;
}

.kb-cfg-page .hero-price-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 16px;
}

.kb-cfg-page .hero-price {
  font-size: 1.6em !important;
  font-weight: 600;
  color: #111;
}

.kb-cfg-page .hero-price-details {
  font-size: var(--kb-fs-xs);
  color: var(--muted);
}

/* Versandkosten-Link immer rot (#df1e22) */
.kb-cfg-page .hero-price-details a,
.kb-cfg-page .hero-price-details a:link,
.kb-cfg-page .hero-price-details a:visited{
  color: #df1e22;
}
.kb-cfg-page .hero-price-details a:hover{
  color: #df1e22;
  text-decoration: underline;
}

.kb-cfg-page .hero-form-row {
  display: grid;
  grid-template-columns: 90px minmax(240px, 1.5fr) 70px minmax(110px, 0.8fr) minmax(260px, 2.7fr);
  gap: 10px;
  align-items: center;
  margin-top: 14px;
}

.kb-cfg-page .hero-form-row label {
  font-size: var(--kb-fs-sm);
  color: var(--muted);
}

.kb-cfg-page .hero-input {
  width: 100%;
  padding: 10px 12px;
  /* wie im statischen Theme: voll rund (Pill) */
  border-radius: 9999px;
  border: 1px solid rgba(0,0,0,0.12);
  background: #ffffff;
  font-size: var(--kb-fs-base);
  color: #111;
}

.kb-cfg-page .hero-input::placeholder {
  color: #999;
}

.kb-cfg-page .hero-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 16px;
  border-radius: 9999px;
  border: none;
  background: #df1e22;
  color: #fff;
  font-weight: 400;
/*  font-size: 0.95rem; */
  cursor: pointer;
  white-space: nowrap;
  box-shadow: none;
}
.hero-button:hover{filter:brightness(1.03);}
.hero-button:active{transform:translateY(1px);}


.kb-cfg-page .hero-button:hover {
  filter: brightness(0.96);
}

/* Bestell-/Anfrage-Zeile (wie im statischen Theme) */
.kb-cfg-page .kb-cfg-order-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 10px;
  align-items: end;
  margin-top: 14px;
}

/* Bestellmodus: Desktop immer 50/50 (Baujahr+Menge links, Button rechts)
   → schützt vor Theme-Overrides, die Grid-Spalten „aufziehen“. */
.kb-cfg-page .kb-cfg-order-grid:not(.kb-cfg-order-grid--inquiry){
  grid-template-columns: 1fr 1fr;
}

.kb-cfg-page .kb-cfg-order-fields {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: 10px;
  width: 100%;
}

.kb-cfg-page .kb-cfg-order-field {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.kb-cfg-page .kb-cfg-order-field label {
  font-size: 0.85rem;
  color: var(--muted);
}

.kb-cfg-page .kb-cfg-order-action {
  justify-self: stretch;
  width: 100%;
}

.kb-cfg-page .kb-cfg-add-to-cart {
  width: 100%;
  font-weight: 600;
  font-size: 0.92rem;
}

/* Anfrage: rechtsbündig, 50% Breite am Desktop */
.kb-cfg-page .kb-cfg-order-grid--inquiry {
  grid-template-columns: 1fr;
}
.kb-cfg-page .kb-cfg-order-grid--inquiry .kb-cfg-order-action {
  justify-self: end;
  width: 50%;
}
.kb-cfg-page .kb-cfg-order-grid--inquiry .hero-button {
  width: 100%;
}

@media (max-width: 640px) {
  /* Mobile: Baujahr + Menge in einer Reihe, Button darunter 100% */
  .kb-cfg-page .kb-cfg-order-grid {
    grid-template-columns: 1fr;
  }
  .kb-cfg-page .kb-cfg-order-action {
    justify-self: stretch;
  }
  .kb-cfg-page .kb-cfg-order-grid--inquiry .kb-cfg-order-action {
    width: 100%;
  }
}

.kb-cfg-page .hero-hint {
  margin-top: 8px;
  color: var(--muted);
  font-size: var(--kb-fs-xs);
}

.kb-cfg-page .usp-bar {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 10px;
  margin-top: 14px;
}

.kb-cfg-page .usp-item {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 0.92rem;
  color: var(--muted);
}
.kb-cfg-page .usp-item div {
  vertical-align: middle;
}
.kb-cfg-page .usp-icon {
  width: var(--kb-usp-icon-size, 28px);
  height: var(--kb-usp-icon-size, 28px);
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  flex: 0 0 var(--kb-usp-icon-size, 28px);
  border: none;
  color: var(--accent);
  background: transparent;
  box-shadow: none;
}

.kb-cfg-page .usp-icon img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}

/* Fallback Car Box (wenn kein Chip-Bild vorhanden ist) */
.kb-cfg-page .hero-car {
  width: 100%;
  max-width: 520px;
  aspect-ratio: 16/9;
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  background: linear-gradient(135deg, #ececec, #ffffff);
  box-shadow: 0 22px 40px rgba(0,0,0,0.15);
  margin: 0 auto;
}

.kb-cfg-page .hero-car-placeholder-img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.kb-cfg-page .hero-car.hero-car-placeholder .hero-car-inner{
  width: 100%;
  height: 100%;
}
.kb-cfg-page .hero-car-inner {
  width: 88%;
  height: 72%;
  position: relative;
}
.kb-cfg-page .hero-car-body {
  width: 100%;
  height: 100%;
  border-radius: 18px;
  border: 1px solid rgba(0,0,0,0.15);
  background: linear-gradient(135deg, rgba(0,0,0,0.06), rgba(0,0,0,0.02));
  position: relative;
  overflow: hidden;
}
.kb-cfg-page .hero-car-glow {
  position: absolute;
  inset: -40px;
  background: radial-gradient(circle at 30% 30%, rgba(223,30,34,0.18), transparent 60%);
}
.kb-cfg-page .hero-car-line {
  position: absolute;
  inset: 18px;
  border-radius: 14px;
  border: 1px dashed rgba(0,0,0,0.2);
}
.kb-cfg-page .hero-car-strip {
  position: absolute;
  left: -10%;
  top: 55%;
  width: 120%;
  height: 10px;
  transform: rotate(-6deg);
  background: linear-gradient(90deg, transparent, #df1e22, #ff616b, transparent);
  box-shadow: 0 0 18px rgba(223,30,34,0.4);
}
.kb-cfg-page .hero-car-text {
  position: absolute;
  bottom: 14px;
  left: 14px;
  right: 14px;
  display: flex;
  justify-content: space-between;
  font-weight: 800;
  color: #111;
  font-size: 0.92rem;
}

/* Dyno / Layout */
.kb-cfg-page .dyno {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
}

/* Keine globale h1-Override-Scale hier – die Typo-Skala oben ist maßgeblich.
   Nur in Headline-Zeilen soll das h1 ohne zusätzlichen Abstand laufen. */
.kb-cfg-page .headline-row h1 {
  margin: 0;
}

.kb-cfg-page .headline-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin: 20px 15px 15px;
}

.kb-cfg-page .subtitle {
  color: var(--muted);
  margin-top: 4px;
}

.kb-cfg-page .badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  background: #ffffff;
  border: 1px solid #d0d0d0;
  border-radius: 999px;
  font-size: 0.88rem;
  color: var(--muted);
}

.kb-cfg-page .badge-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 8px rgba(223,30,34,0.45);
}

.kb-cfg-page .layout {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 18px;
}

.kb-cfg-page .layout.kb-cfg-layout--single{grid-template-columns:1fr}

/* Performance Stats Block (oberhalb Dyno) */
.kb-cfg-page .kb-cfg-perf-stats-block{margin:0 0 16px;background:var(--card);border-radius:18px;padding:16px 18px;border:1px solid rgba(0,0,0,0.06);box-shadow:0 14px 40px rgba(0,0,0,0.06)}
.kb-cfg-page .kb-cfg-perf-topline{color:var(--muted);font-size:var(--kb-fs-sm);font-weight:700;margin-bottom:6px}
.kb-cfg-page .kb-cfg-perf-stats-block h2{margin:0 0 10px; /* font-size:1.05rem;font-weight:900 */}
.kb-cfg-page .kb-cfg-perf-subtitle{color:var(--muted);font-size:var(--kb-fs-sm);font-weight:700;margin:-6px 0 12px}
.kb-cfg-page .kb-cfg-perf-stats-grid{display:grid;gap:12px}
@media (min-width:1024px){.kb-cfg-page .kb-cfg-perf-stats-grid{grid-template-columns:repeat(3,1fr)}}
@media (min-width:720px) and (max-width:1023px){.kb-cfg-page .kb-cfg-perf-stats-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:719px){.kb-cfg-page .kb-cfg-perf-stats-grid{grid-template-columns:1fr}}
.kb-cfg-page .kb-cfg-perf-tagline{margin-top:8px;color:var(--muted);font-weight:700;font-size:var(--kb-fs-sm)}


.kb-cfg-page .card {
  background: var(--card);
  border-radius: 18px;
  padding: 18px 18px 20px;
  border: 1px solid rgba(0,0,0,0.06);
  box-shadow: 0 14px 40px rgba(0,0,0,0.06);
}

.kb-cfg-page .card h2 {
  font-size: 1.05rem;
  margin-bottom: 8px;
}

.kb-cfg-page .card p {
  color: var(--muted);
  line-height: 1.5;
  font-size: var(--kb-fs-sm);
}

.kb-cfg-page .legend {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  margin: 14px 0 10px;
}

.kb-cfg-page .legend.kb-cfg-dyno-legend {
  margin: 10px 0 12px;
}


.kb-cfg-page .legend-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: var(--kb-fs-sm);
  color: var(--muted);
}

.kb-cfg-page .legend-color {
  width: 16px;
  height: 10px;
  border-radius: 6px;
}

.kb-cfg-page .legend-color.serie-ps { background: var(--serie); }
.kb-cfg-page .legend-color.tuned-ps { background: var(--tuned); }
.kb-cfg-page .legend-color.serie-nm { background: rgba(var(--serie-rgb),0.45); }
.kb-cfg-page .legend-color.tuned-nm { background: rgba(var(--tuned-rgb),0.45); }

.kb-cfg-page .chart-wrapper {
  width: 100%;
  height: 320px;
}

/* Dyno Split (50/50: Chart links, KPIs rechts) */
.kb-cfg-page .kb-cfg-dyno-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  align-items:stretch;
  margin-top: 0;
}

/* bis inkl. Tablet stapeln (Mobile/Tablet-first) */
@media (max-width: 991px){
  .kb-cfg-page .kb-cfg-dyno-split{
    grid-template-columns:1fr;
  }
}

/* Höhe: Chart soll bei Desktop die rechte Spalte "mitnehmen" (kein zu flacher Chart) */
@media (min-width: 768px){
  .kb-cfg-page .kb-cfg-dyno-left{
    display:flex;
    flex-direction:column;
    min-height:0;
  }
  .kb-cfg-page .kb-cfg-dyno-left .chart-wrapper{
    flex:1;
    height:auto;
    min-height:320px;
  }
}

.kb-cfg-page .kb-cfg-dyno-right .kpi-grid{
  grid-template-columns:1fr;
  margin-top:0;
}

.kb-cfg-page .kb-cfg-dyno-right .kpi-annotation{
  margin-top:10px;
}

/* Dyno: sauberer Canvas-Rahmen (Grid wird im Canvas-ChartArea gezeichnet) */
.kb-cfg-page .chart-wrapper {
  position: relative;
  border-radius: 16px;
  border: 1px solid rgba(0,0,0,0.06);
  background-color: #ffffff;
  overflow: hidden;
  padding: 10px;
}

.kb-cfg-page .chart-wrapper canvas {
  width: 100% !important;
  height: 100% !important;
  display: block;
  background: transparent !important;
}

.kb-cfg-page .stats-grid {
  display: grid;
  gap: 12px;
  margin-top: 14px;
}

.kb-cfg-page .stat-box {
  background: linear-gradient(135deg, #ffffff, #f7f7f7);
  border: 1px solid rgba(0,0,0,0.05);
  border-radius: 16px;
  padding: 14px;
}

.kb-cfg-page .stat-label {
  color: var(--muted);
  font-size: var(--kb-fs-xs);
  margin-bottom: 6px;
}

.kb-cfg-page .stat-value-row {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}

.kb-cfg-page .stat-main {
/*  font-weight: 900;
  font-size: 1.05rem; */
}

.kb-cfg-page .stat-delta {
  color: var(--tuned);
  font-weight: 600;
  margin-top: 2px;
}

.kb-cfg-page .stat-pill {
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 0.86rem;
  background: rgba(0,0,0,0.03);
  border: 1px solid rgba(0,0,0,0.06);
  color: var(--muted);
}

.kb-cfg-page .kpi-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 12px;
  margin-top: 14px;
}

.kb-cfg-page .kpi-box {
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 16px;
  padding: 12px;
}

.kb-cfg-page .kpi-label {
  color: var(--muted);
  font-size: 0.8rem;
  margin-bottom: 8px;
}

.kb-cfg-page .kpi-values {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  align-items: flex-start;
}

/* KPI: Zeiten + Tag sauber als 2-Spalten-Layout (Times links, Chip rechts) */
.kb-cfg-page .kpi-values.kb-cfg-kpi-values--split{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:start;
  gap:10px;
}

.kb-cfg-page .kpi-times{
  display:grid;
  gap:6px;
  min-width:0;
}

.kb-cfg-page .kpi-row{
  display:flex;
  gap:10px;
  align-items:baseline;
}

.kb-cfg-page .kpi-row-label{
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 600;
}

.kb-cfg-page .kpi-row-value{
  line-height: 1.1;
  white-space: nowrap;
}

.kb-cfg-page .kpi-row.stock .kpi-row-value{ color: var(--accent); }
.kb-cfg-page .kpi-row.tuned .kpi-row-value{ color: var(--tuned); }

.kb-cfg-page .kpi-time {
  font-weight: 600;
  font-size: 0.9rem;
  line-height: 1.25;
}

.kb-cfg-page .kpi-time.stock { color: var(--accent); }
.kb-cfg-page .kpi-time.tuned { color: var(--tuned); }

.kb-cfg-page .kpi-chip {
  display: inline-flex;
  align-items: center;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 0.82rem;
  background: rgba(0,0,0,0.03);
  border: 1px solid rgba(0,0,0,0.06);
  color: var(--muted);
}

.kb-cfg-page .kpi-tagline {
  color: var(--muted);
  font-size: var(--kb-fs-sm);
  margin-top: 8px;
  line-height: 1.4;
}

.kb-cfg-page .kpi-annotation {
  margin-top: 12px;
  color: var(--muted);
  font-size: var(--kb-fs-xs);
  line-height: 1.4;
}

.kb-cfg-page .kpi-annotation span {
  font-weight: 900;
  color: #111;
}

/* Tabs */
.kb-cfg-page .kb-cfg-tabs-section {
  background: var(--card);
  border-radius: 18px;
  padding: 18px 18px 20px;
  border: 1px solid rgba(0,0,0,0.06);
  box-shadow: 0 14px 40px rgba(0,0,0,0.06);
}

.kb-cfg-page .kb-cfg-tabs-header {
display: flex;
flex-wrap: nowrap;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
gap: 10px;
/*
  Wichtig: Bei overflow-x:auto wird overflow-y von Browsern effektiv "auto".
  Box-Shadows der Pill-Tabs werden sonst unten/links abgeschnitten.
  Lösung: Innen-Padding für Shadow-Raum.
*/
margin: 0 0 12px;
/* genug Raum für Shadow (unten/links), ohne Layout-Sprung */
padding: 8px 16px 26px;
border-bottom: 0;
scrollbar-width: none;
-ms-overflow-style: none;
scroll-snap-type: x proximity;
}


.kb-cfg-page .kb-cfg-tab-button {
flex: 0 0 auto;
white-space: nowrap;
border: 1px solid rgba(0,0,0,0.08);
background: #fff;
padding: 10px 12px;
border-radius: 999px;
font-size: 0.88rem;
color: #111;
cursor: pointer;
border-bottom: 0;
box-shadow: 0 6px 16px rgba(0,0,0,0.04);
scroll-snap-align: start;
}


.kb-cfg-page .kb-cfg-tab-button.active {
background: linear-gradient(135deg, var(--accent), var(--accent-soft));
color: #fff;
border-color: transparent;
box-shadow: 0 10px 24px rgba(223,30,34,0.20);
}


.kb-cfg-page .kb-cfg-tab-content {
  display: none;
  font-size: var(--kb-fs-base);
  color: var(--muted);
  margin-top: 6px;
  line-height: 1.5;
}

/* Beschreibung-Text im Tab einen Tick größer (ohne Technik/Recht/Chip aufzublasen) */
.kb-cfg-page #tab-beschreibung.kb-cfg-tab-content {
  font-size: 1.03em;
}

/* Beschreibung-Tab: minimal größer als die anderen Inhalte (wie gewünscht) */
.kb-cfg-page #tab-beschreibung.kb-cfg-tab-content {
  font-size: 1.03em;
}

.kb-cfg-page .kb-cfg-tab-content.active {
  display: block;
}

.kb-cfg-page .kb-cfg-tab-content ul {
  margin: 10px 0 0;
  padding-left: 0;
  list-style-position: inside;
}

.kb-cfg-page .kb-cfg-tab-content li {
  margin-bottom: 6px;
}

/* Tabs: Icons (produktdetail) */
.kb-cfg-page .kb-cfg-tab-button .kb-cfg-tab-ico{
  width: var(--kb-tab-icon-size, 20px);
  height: var(--kb-tab-icon-size, 20px);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:0;
}
.kb-cfg-page .kb-cfg-tab-button .kb-cfg-tab-svg,
.kb-cfg-page .kb-cfg-tab-button .kb-cfg-tab-icon-img{
  width: var(--kb-tab-icon-size, 20px);
  height: var(--kb-tab-icon-size, 20px);
  display:block;
}
.kb-cfg-page .kb-cfg-tab-button .kb-cfg-tab-icon-img{object-fit:contain;}
.kb-cfg-page .kb-cfg-tab-button .kb-cfg-tab-label{display:inline-block; font-size:0.74rem; line-height:1.15; letter-spacing:0.01em;}

/* Tabs: PNG-Icons – Active-State (rot) => Icon weiß (entweder eigenes Active-Icon oder Auto-Filter) */
.kb-cfg-page .kb-cfg-tab-button .kb-cfg-icon--active{display:none;}
.kb-cfg-page .kb-cfg-tab-button.active .kb-cfg-icon--normal{display:none;}
.kb-cfg-page .kb-cfg-tab-button.active .kb-cfg-icon--active{display:block;}
.kb-cfg-page .kb-cfg-icon--auto-white{filter: brightness(0) invert(1);}

@media (max-width: 767px){
  /* Produktdetail Tabs (Mobil): Kreis-Buttons + Label darunter
     -> kein Layout-Sprung beim Wechseln (keine wechselnden Padding/Shadow-Höhen) */
  .kb-cfg-page .kb-cfg-tabs-header{
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    overflow: visible;
    padding: 0 0 14px;
    gap: 12px;
    margin: 0 0 12px;
    scroll-snap-type: none;
    align-items: start;
  }
  .kb-cfg-page .kb-cfg-tabs-header::-webkit-scrollbar{display:none;}

  .kb-cfg-page .kb-cfg-tab-button{
    width: 100%;
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    text-align: center;
    min-height: 112px; /* reserviert Platz -> kein Springen */
  }

  /* Kreis um das Icon */
  .kb-cfg-page .kb-cfg-tab-button .kb-cfg-tab-ico{
    width: 72px;
    height: 72px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(0,0,0,0.10);
    box-shadow: 0 10px 26px rgba(0,0,0,0.08);
  }

  /* Icon selbst (innen) */
  .kb-cfg-page .kb-cfg-tab-button .kb-cfg-tab-svg,
  .kb-cfg-page .kb-cfg-tab-button .kb-cfg-tab-icon-img{
    width: 34px;
    height: 34px;
  }

  .kb-cfg-page .kb-cfg-tab-button .kb-cfg-tab-label{
    display: block;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.1;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  /* Active: Kreis rot + Icon weiß */
  .kb-cfg-page .kb-cfg-tab-button.active{
    background: transparent;
    box-shadow: none;
  }
  .kb-cfg-page .kb-cfg-tab-button.active .kb-cfg-tab-ico{
    background: var(--accent);
    border-color: transparent;
    box-shadow: 0 14px 30px rgba(223,30,34,0.22);
  }
}

@media (min-width: 768px){
  /* Produktdetail Tabs: Tablet/Desktop immer in einer Reihe (wenn es eng wird: horizontal scrollen statt umbrechen) */
  .kb-cfg-page .kb-cfg-tabs-header{
    display:flex;
    flex-wrap:nowrap;
    overflow-x:auto;
    -webkit-overflow-scrolling: touch;
    gap: 10px;
    margin: 0 0 12px;
    padding: 8px 16px 26px;
    border-bottom: 0;
    scrollbar-width: none;
    -ms-overflow-style: none;
    scroll-snap-type: x proximity;
    align-items: center;
  }
  .kb-cfg-page .kb-cfg-tabs-header::-webkit-scrollbar{display:none;}

  .kb-cfg-page .kb-cfg-tab-button{
    flex: 1 1 0;
    min-width: 0;
    white-space: nowrap;
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 12px 14px;
  }
  .kb-cfg-page .kb-cfg-tab-button .kb-cfg-tab-label{
    font-size: 0.85rem;
    font-weight: 600;
  }
/* Einheitliches Innen-Padding (Tablet/Desktop) */
  .kb-cfg-page .hero-left,
  .kb-cfg-page .hero-right{padding: 22px 22px 20px;}
  .kb-cfg-page .kb-cfg-tabs-section,
  .kb-cfg-page .section-block,
  .kb-cfg-page .card{padding: 20px 20px 22px;}

  /* Fahrzeug auswählen Tabs: links/rechts Padding */
  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tabs-nav{padding: 2px 20px 10px;}
}

.kb-cfg-page .spec-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 10px;
  font-size: var(--kb-fs-sm);
}

.kb-cfg-page .spec-table th,
.kb-cfg-page .spec-table td {
  padding: 8px 10px;
  border-bottom: 1px solid rgba(0,0,0,0.08);
  text-align: left;
}

.kb-cfg-page .spec-table th {
  color: #111;
 /*  font-weight: 800; */
}

/* Standard Blocks */
.kb-cfg-page .section-block {
  background: var(--card);
  border-radius: 18px;
  padding: 18px 18px 20px;
  border: 1px solid rgba(0,0,0,0.06);
  box-shadow: 0 14px 40px rgba(0,0,0,0.06);
  font-size: var(--kb-fs-base);
  color: var(--muted);
}

.kb-cfg-page .section-block h2,
.kb-cfg-page .section-block h1 {
  font-size: 1.05rem;
  font-weight: 600;
  margin: 6px 0 12px;
  color: #111;
}

.kb-cfg-page .section-block p {
  line-height: 1.5;
}

.kb-cfg-page .section-block ul {
  margin-top: 8px;
  margin-left: 0;
  padding-left: 0;
  list-style-position: inside;
}

.kb-cfg-page .section-block li {
  margin-bottom: 6px;
}

/* FAQ (Accordion) */
.kb-cfg-page .faq-item{
  border-bottom: 1px solid rgba(0,0,0,0.08);
  padding: 10px 0;
}
.kb-cfg-page .faq-question{
  width: 100%;
  text-align: left;
  background: transparent;
  border: none;
  padding: 0;
  margin: 0;
  font: inherit;
  cursor: pointer;
  color: var(--text);
}
.kb-cfg-page .faq-answer{
  margin-top: 10px;
  color: var(--muted);
  line-height: 1.55;
}

/* Ergebnis-Template */
.kb-cfg-page .kb-cfg-results-subtitle {
  margin: -4px 0 10px;
  color: var(--muted);
}

.kb-cfg-page .kb-cfg-results-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 14px;
}

.kb-cfg-page .kb-cfg-result-card {
  display: block;
  background: #ffffff;
  border-radius: 16px;
  padding: 14px 14px 12px;
  border: 1px solid rgba(0,0,0,0.08);
  box-shadow: 0 10px 24px rgba(0,0,0,0.06);
}

.kb-cfg-page .kb-cfg-result-title {
font-weight: 700;
  color: #111;
  margin-bottom: 4px;
  text-transform: uppercase;
}

.kb-cfg-page .kb-cfg-result-subtitle {
  color: var(--muted);
  font-size: var(--kb-fs-sm);
  margin-bottom: 10px;
}

.kb-cfg-page .kb-cfg-result-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  color: var(--muted);
  font-size: var(--kb-fs-xs);
  margin-bottom: 10px;
}

.kb-cfg-page .kb-cfg-result-meta span {
  background: rgba(0,0,0,0.03);
  border: 1px solid rgba(0,0,0,0.05);
  padding: 6px 8px;
  border-radius: 999px;
}

.kb-cfg-page .kb-cfg-result-badge {
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: var(--kb-fs-xs);
}

.kb-cfg-page .kb-cfg-result-badge.is-inquiry {
  color: var(--accent);
  background: rgba(223,30,34,0.08);
  border: 1px solid rgba(223,30,34,0.18);
}

.kb-cfg-page .kb-cfg-result-badge.is-order {
  color: #1f7a35;
  background: rgba(40,167,69,0.10);
  border: 1px solid rgba(40,167,69,0.20);
}

/* FAQ Accordion */
.kb-cfg-page .faq-item {
  margin-bottom: 10px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,0.06);
  overflow: hidden;
  background: #ffffff;
}

.kb-cfg-page .faq-question {
  width: 100%;
  text-align: left;
  padding: 12px 14px;
  font-size: 0.95rem;
  border: none;
  background: transparent;
  cursor: pointer;
  position: relative;
  color: #111;
}

/* FAQ: Verlauf wie Tabs (Hover + geöffnet) */
.kb-cfg-page .faq-question{transition:background .18s ease,color .18s ease;}
.kb-cfg-page .faq-question:hover{background:linear-gradient(135deg,var(--accent),var(--accent-soft));color:#fff;}
.kb-cfg-page .faq-question:hover::after{opacity:.9;color:#fff;}
.kb-cfg-page .faq-item.open .faq-question{background:linear-gradient(135deg,var(--accent),var(--accent-soft));color:#fff;}
.kb-cfg-page .faq-item.open .faq-question::after{opacity:.9;color:#fff;}
.kb-cfg-page .faq-item.open{border-color:rgba(223,30,34,0.18);box-shadow:0 10px 24px rgba(223,30,34,0.10);}
.kb-cfg-page .faq-item.open .faq-answer{border-top-color:rgba(255,255,255,0.25);}

.kb-cfg-page .faq-question::after {
  content: "+";
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0.7;
}

.kb-cfg-page .faq-item.open .faq-question::after {
  content: "–";
}

.kb-cfg-page .faq-answer {
  display: none;
  padding: 10px 14px 14px;
  color: var(--muted);
  border-top: 1px solid rgba(0,0,0,0.06);
  font-size: 0.88rem;
  line-height: 1.5;
}

.kb-cfg-page .faq-item.open .faq-answer {
  display: block;
}

/* Anfrage-Modal */
.kb-cfg-inquiry-modal {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

.kb-cfg-inquiry-modal.open {
  display: flex;
}

.kb-cfg-inquiry-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.55);
}

.kb-cfg-inquiry-dialog {
  position: relative;
  background: #ffffff;
  border-radius: 16px;
  padding: 20px 24px;
  max-width: 640px;
  width: 100%;
  box-shadow: 0 24px 60px rgba(0,0,0,0.5);
  z-index: 1;
}

.kb-cfg-inquiry-dialog-inner {
  max-height: 80vh;
  overflow-y: auto;
}

.kb-cfg-inquiry-close {
  position: absolute;
  right: 10px;
  top: 8px;
  border: none;
  background: transparent;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  color: #111;
}


/* Marken Tabs (Shortcode) */
.kb-cfg-page.kb-cfg-brands-tabs {
  --kb-cfg-brands-cols: 4;
}

.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tabs-nav {
display: flex;
flex-wrap: nowrap;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
gap: 10px;
padding: 2px 0 10px;
margin-top: 6px;
scrollbar-width: none;
-ms-overflow-style: none;
scroll-snap-type: x proximity;
}


.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab {
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
border: 1px solid rgba(0,0,0,0.08);
background: #ffffff;
border-radius: 999px;
padding: 10px 14px;
font-weight: 900;
cursor: pointer;
box-shadow: 0 6px 16px rgba(0,0,0,0.04);
flex: 0 0 auto;
min-width: 120px;
white-space: nowrap;
scroll-snap-align: start;
}


.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab-icon {
  width: calc(var(--kb-cfg-brand-logo-size, 46px) * 0.55);
  height: calc(var(--kb-cfg-brand-logo-size, 46px) * 0.55);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 calc(var(--kb-cfg-brand-logo-size, 46px) * 0.55);
}

.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

/* Brands Tabs: Active-State Icon-Swap (optional) */
.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab .kb-cfg-icon--active{display:none;}
.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab.active .kb-cfg-icon--normal{display:none;}
.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab.active .kb-cfg-icon--active{display:block;}

.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab.active {
background: linear-gradient(135deg, var(--accent), var(--accent-soft));
color: #fff;
border-color: transparent;
box-shadow: 0 10px 24px rgba(223,30,34,0.20);
}


.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-panel {
  display: none;
}

.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-panel.active {
  display: block;
}

.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-grid {
  display: grid;
  grid-template-columns: repeat(var(--kb-cfg-brands-cols), minmax(0,1fr));
  gap: 14px;
}

.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brand-card {
  display: flex;
  gap: 12px;
  align-items: center;
  background: #ffffff;
  border-radius: 16px;
  padding: 12px 14px;
  border: 1px solid rgba(0,0,0,0.08);
  box-shadow: 0 10px 24px rgba(0,0,0,0.06);
  min-height: 64px;
}



/* Logo-Layout per Wrapper-Attribut (robust) */
.kb-cfg-page.kb-cfg-brands-tabs[data-logo-layout="top"] .kb-cfg-brand-card {
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 10px !important;
  min-height: auto;
}
.kb-cfg-page.kb-cfg-brands-tabs[data-logo-layout="top"] .kb-cfg-brand-name{width:100%;}
.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brand-card.is-logo-top{
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 10px !important;
  min-height: auto;
}

/* Fallback: wenn nur am Card-Element gesetzt (data-logo-layout) */
.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brand-card[data-logo-layout="top"]{
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 10px !important;
  min-height: auto;
}
.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brand-card[data-logo-layout="top"] .kb-cfg-brand-name{width:100%;}
.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brand-card.is-logo-top .kb-cfg-brand-name{
  width: 100%;
}

.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brand-card.is-hidden {
  display: none;
}

.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brand-logo {
  width: var(--kb-cfg-brand-logo-size,46px) !important;
  height: var(--kb-cfg-brand-logo-size,46px) !important;
  border-radius: 14px;
  background: rgba(0,0,0,0.03);
  border: 1px solid rgba(0,0,0,0.06);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  flex: 0 0 var(--kb-cfg-brand-logo-size,46px) !important;
}

.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brand-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brand-initial {
  font-weight: 900;
  color: var(--accent);
}

.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brand-name {
font-weight: 700;
  color: #111;
  text-transform: uppercase;
}

.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-more-wrap {
  display: flex;
  justify-content: center;
  margin-top: 14px;
}

.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-more {
  border: none;
  border-radius: 14px;
  padding: 10px 14px;
  font-weight: 600;
  font-size: 12px;
  line-height: 1.05;
  cursor: pointer;
  color: #fff;
  background: linear-gradient(135deg, #df1e22, #ff616b);
  box-shadow: 0 0 18px rgba(223,30,34,0.25);
}

@media (max-width: 640px){
  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-more{
    font-size: 12.5px;
  }
}


/* Responsive */
@media (max-width: 1024px) {
  .kb-cfg-page .hero { grid-template-columns: 1fr; }
  .kb-cfg-page .layout { grid-template-columns: 1fr; }
  .kb-cfg-page .kb-cfg-results-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tabs-nav { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}

@media (max-width: 640px) {
  .kb-cfg-page .page { padding: 16px; }
  .kb-cfg-page .hero-form-row { grid-template-columns: 90px minmax(240px, 1.5fr) 70px minmax(110px, 0.8fr) minmax(260px, 2.7fr); }
  .kb-cfg-page .usp-bar { grid-template-columns: 1fr; }
  .kb-cfg-page .kpi-grid { grid-template-columns: 1fr; }
  .kb-cfg-page .kb-cfg-results-grid { grid-template-columns: 1fr; }
  /* Mobile Tabs: horizontal scroll + pills */
  .kb-cfg-page .tabs-header {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    gap: 10px;
    margin: 0 -16px 12px;
    /* Shadow-Raum auch mobil, damit nichts abgeschnitten wird */
    padding: 6px 16px 22px;
    border-bottom: 0;
    scroll-snap-type: x proximity;
  }
  .kb-cfg-page .tabs-header::-webkit-scrollbar { display: none; }
  .kb-cfg-page .tab-button {
    flex: 0 0 auto;
    white-space: nowrap;
    border: 1px solid rgba(0,0,0,0.08);
    background: #fff;
    border-radius: 999px;
    padding: 10px 12px;
    font-size: 0.88rem;
    box-shadow: 0 6px 16px rgba(0,0,0,0.04);
    border-bottom: 0;
    scroll-snap-align: start;
  }
  .kb-cfg-page .tab-button.active {
    background: linear-gradient(135deg, var(--accent), var(--accent-soft));
    color: #fff;
    border-color: transparent;
    box-shadow: 0 10px 24px rgba(223,30,34,0.20);
  }

  /* Marken Tabs (Shortcode) mobil als horizontaler Scroller */
  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tabs-nav {
    display: flex;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    gap: 10px;
    padding: 2px 0 10px;
    margin-top: 6px;
    scroll-snap-type: x proximity;
  }
  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tabs-nav::-webkit-scrollbar { display: none; }
  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab {
    flex: 0 0 auto;
    min-width: 120px;
    white-space: nowrap;
    border-radius: 999px;
    padding: 10px 14px;
    scroll-snap-align: start;
  }
  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab.active {
    background: linear-gradient(135deg, var(--accent), var(--accent-soft));
    color: #fff;
    border-color: transparent;
    box-shadow: 0 10px 24px rgba(223,30,34,0.20);
  }

  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-grid { grid-template-columns: 1fr; }
}



/* === Configurator (Select-Felder) === */
.kb-cfg-configurator{display:flex;flex-direction:column;gap:10px}
.kb-cfg-configurator .kb-cfg-step--title{gap:0}
.kb-cfg-configurator .kb-cfg-configurator-title{font-weight:500;font-size:16px;line-height:1.2;margin:0}
.kb-cfg-configurator .kb-cfg-step{display:flex;flex-direction:column;gap:6px}
.kb-cfg-configurator .kb-cfg-step label{font-size:14px;font-weight:600;line-height:1.2}
.kb-cfg-configurator select{width:100%;max-width:100%;padding:10px 14px;border:1px solid rgba(0,0,0,.15);border-radius:9999px;background:#fff;font-size:15px;line-height:1.2}
.kb-cfg-configurator select:disabled{opacity:.6}
.kb-cfg-configurator .kb-cfg-result{margin-top:2px}
.kb-cfg-configurator .kb-cfg-detail-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:9999px;border:none;background:#df1e22;color:#fff;text-decoration:none;font-weight:500;font-size:0.95rem;box-shadow:none;width:100%;max-width:100%;}
.kb-cfg-configurator .kb-cfg-detail-button:hover{filter:brightness(1.03);}

/* Select-Felder: Desktop etwas kompakter, Mobil ausreichend Padding + 16px Font (iOS Zoom vermeiden) */
@media (min-width: 768px){
  .kb-cfg-configurator select{font-size:15px !important;}
}
@media (max-width: 767px){
  .kb-cfg-configurator select{
    font-size:16px !important;
    padding-left:16px !important;
  }
}


/* === Configurator Tabs (PKW/LKW/...) === */
.kb-cfg-configurator-tabs{width:100%; --kb-cfg-cat-icon-size: 18px;}
.kb-cfg-configurator-tabs .kb-cfg-tabs-nav{display:flex;gap:8px;overflow:auto;scrollbar-width:none;-ms-overflow-style:none;padding:4px 2px;margin-bottom:10px}
.kb-cfg-configurator-tabs .kb-cfg-tabs-nav{display:flex;gap:8px;overflow:auto;scrollbar-width:none;-ms-overflow-style:none;padding:6px 12px 18px;margin-bottom:10px}
.kb-cfg-configurator-tabs .kb-cfg-tabs-nav::-webkit-scrollbar{display:none}
.kb-cfg-configurator-tabs .kb-cfg-tab{white-space:nowrap;border:1px solid rgba(0,0,0,.15);background:#fff;border-radius:999px;padding:10px 12px;font-weight:800;font-size:13px;line-height:1}
.kb-cfg-configurator-tabs .kb-cfg-tab.is-active{border-color:rgba(0,0,0,.25);box-shadow:0 6px 18px rgba(0,0,0,.08)}
.kb-cfg-configurator-tabs .kb-cfg-tab-panel{display:none}
.kb-cfg-configurator-tabs .kb-cfg-tab-panel.is-active{display:block}


/* Configurator Tabs: Icons */
.kb-cfg-configurator-tabs .kb-cfg-tab-ico{
  width: var(--kb-cfg-cat-icon-size, 18px);
  height: var(--kb-cfg-cat-icon-size, 18px);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:0;
}
.kb-cfg-configurator-tabs .kb-cfg-tab-svg,
.kb-cfg-configurator-tabs .kb-cfg-tab-icon-img{
  width: var(--kb-cfg-cat-icon-size, 18px);
  height: var(--kb-cfg-cat-icon-size, 18px);
  display:block;
}
.kb-cfg-configurator-tabs .kb-cfg-tab-icon-img{object-fit:contain;}
.kb-cfg-configurator-tabs .kb-cfg-tab-label{display:inline-block}

/* Configurator Tabs: Active-State Icon-Swap (optional) */
.kb-cfg-configurator-tabs .kb-cfg-icon--active{display:none;}
.kb-cfg-configurator-tabs .kb-cfg-tab.is-active .kb-cfg-icon--normal{display:none;}
.kb-cfg-configurator-tabs .kb-cfg-tab.is-active .kb-cfg-icon--active{display:block;}
.kb-cfg-configurator-tabs .kb-cfg-icon--auto-white{filter: brightness(0) invert(1);}

@media (max-width: 640px){
  .kb-cfg-configurator-tabs .kb-cfg-tabs-nav{
    display:grid;
    grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
    overflow: visible;
    padding: 6px 0 14px;
    gap: 10px;
    scroll-snap-type: none;
  }
  .kb-cfg-configurator-tabs .kb-cfg-tab{
    width:100%;
    white-space: normal;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:6px;
    text-align:center;
    padding:10px 8px;
  }
  .kb-cfg-configurator-tabs .kb-cfg-tab-label{
    font-size: 11px;
    max-width: 100%;
    overflow:hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

/* Select-Felder: Mobil iOS – kein "Text klebt links" + kein Zoom (>=16px) */
@media (max-width: 767px){
  .kb-cfg-configurator select{
    font-size: 16px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* Desktop: Icon über Label + gleich breite Tabs */
@media (min-width: 768px){
  .kb-cfg-configurator-tabs .kb-cfg-tabs-nav{
    display:grid;
    grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
    overflow: visible;
    padding: 6px 18px 14px;
    gap: 10px;
    scroll-snap-type: none;
  }
  .kb-cfg-configurator-tabs .kb-cfg-tab{
    width:100%;
    white-space: normal;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:6px;
    text-align:center;
    padding:10px 8px;
  }
  .kb-cfg-configurator-tabs .kb-cfg-tab-label{font-size: 12px;}
}

@media (max-width: 360px){
  .kb-cfg-configurator-tabs .kb-cfg-tab-label{display:none;}
}
@media (min-width: 768px){
  /* Desktop: Selects schmäler (fixe Breite), Title immer oben */
  .kb-cfg-configurator{flex-direction:row;flex-wrap:wrap;align-items:flex-end;gap:12px;justify-content:flex-start !important;}
  .kb-cfg-configurator .kb-cfg-step:not(.kb-cfg-step--title){flex:0 0 190px !important;max-width:190px !important;min-width:190px !important;}
  .kb-cfg-configurator .kb-cfg-step--title{flex:0 0 100% !important;width:100% !important;order:-1 !important;}
  .kb-cfg-configurator .kb-cfg-result{margin-top:0 !important;display:flex !important;align-items:flex-end !important;flex:0 0 160px !important;max-width:160px !important;min-width:160px !important;}
  .kb-cfg-configurator .kb-cfg-detail-button{width:100% !important;max-width:100% !important;}
}


/* Warenkorb: Fahrzeugdaten horizontal (Tablet + Desktop) */
@media (min-width: 768px){
  .woocommerce-cart .wc-item-meta,
  .woocommerce-checkout .wc-item-meta{
    display:flex;
    flex-wrap:nowrap;
    gap:8px 14px;
    align-items:center;
    white-space:nowrap;
  }
  .woocommerce-cart .wc-item-meta li,
  .woocommerce-checkout .wc-item-meta li{
    margin:0 !important;
    padding:0 !important;
  }
  .woocommerce-cart .wc-item-meta li:after,
  .woocommerce-checkout .wc-item-meta li:after{
    content:"|";
    margin-left:14px;
    opacity:.35;
  }
  .woocommerce-cart .wc-item-meta li:last-child:after,
  .woocommerce-checkout .wc-item-meta li:last-child:after{
    content:"";
    margin:0;
  }
  .woocommerce-cart .wc-item-meta .wc-item-meta-label,
  .woocommerce-checkout .wc-item-meta .wc-item-meta-label{
    margin-right:6px;
  }
}


@media (min-width: 768px){
  .kb-cfg-cart-meta{flex-wrap:nowrap; white-space:nowrap;}
}

.kb-cfg-cart-meta{display:inline-flex; flex-wrap:wrap; gap:8px 14px; align-items:center;}
.kb-cfg-cart-meta-item{display:inline-flex; align-items:center; gap:6px;}
.kb-cfg-cart-meta-sep{opacity:0.55;}
/* Baujahr Tooltip (ohne Icon, erscheint über dem Feld bei falscher Eingabe) */
.kb-cfg-page .kb-cfg-year-wrap{
  position:relative;
  display:flex;
  align-items:center;
  gap:8px;
}
.kb-cfg-page .kb-cfg-year-wrap .hero-input{
  flex:1 1 auto;
}
.kb-cfg-page .kb-cfg-year-tooltip{
  position:absolute;
  left:0;
  right:0;
  top:-44px;
  background:#111;
  color:#fff;
  font-size:13px;
  line-height:1.35;
  padding:10px 12px;
  border-radius:12px;
  box-shadow: 0 14px 30px rgba(0,0,0,0.22);
  opacity:0;
  transform: translateY(6px);
  pointer-events:none;
  transition: opacity .18s ease, transform .18s ease;
}
.kb-cfg-page .kb-cfg-year-tooltip:after{
  content:'';
  position:absolute;
  left:22px;
  bottom:-8px;
  width:0;
  height:0;
  border-left:8px solid transparent;
  border-right:8px solid transparent;
  border-top:8px solid #111;
}
.kb-cfg-page .kb-cfg-year-wrap.is-invalid .kb-cfg-year-tooltip{
  opacity:1;
  transform: translateY(0);
}
.kb-cfg-page .kb-cfg-year-wrap.is-invalid input.hero-input{
  border-color:#d63638 !important;
  box-shadow: 0 0 0 2px rgba(214,54,56,0.15);
}
@media (max-width: 600px){
  .kb-cfg-page .kb-cfg-year-tooltip{ top:-52px; }
}

.kb-cfg-hero-form .hero-button{width:100%;}


/* Nur auf Anfrage Button: rechtsbündig & 50% (Desktop) */
@media (min-width: 768px){
  .kb-cfg-page .hero-form-row.hero-form-row-inquiry{grid-template-columns: 90px minmax(0,1fr);}
  .kb-cfg-page .hero-form-row.hero-form-row-inquiry .hero-button{justify-self:end;width:50%;}
}

@media (max-width: 767px){
  .kb-cfg-page .hero-form-row.hero-form-row-inquiry .hero-button{width:100%;}
}

.kb-cfg-page .kb-cfg-detail-button{ text-transform:none; }

.hero-price-note{margin-top:6px;font-size:0.85rem;opacity:0.85;line-height:1.35;}

.hero-price.is-inquiry{font-size:1.4rem;}

.kb-cfg-page select{border-radius:9999px;}


/* Preis-Hinweis nur anzeigen, wenn Inhalt vorhanden */
.kb-cfg-page .hero-price-details:empty { display: none; }


/* Chip-Galerie + 360° */
.kb-cfg-page .kb-cfg-media {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center;
}

.kb-cfg-page .kb-cfg-media-stage {
  width: 100%;
  position: relative;
}

.kb-cfg-page .kb-cfg-media-stage-inner {
  width: 100%;
  max-width: 520px;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  /* Format wie Referenzbild (4:3). Cropping bleibt via object-fit:cover auf dem Bild selbst. */
  aspect-ratio: 4 / 3;
  min-height: 260px;
}

.kb-cfg-page .kb-cfg-media-stage-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.kb-cfg-page .kb-cfg-media-stage-360 {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: #fff;
}
.kb-cfg-page .kb-cfg-media-stage-360-inner {
  width: 100%;
  height: 100%;
}
.kb-cfg-page .kb-cfg-media-stage-360-loader {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  opacity: 0.85;
  background: rgba(255,255,255,0.65);
}

.kb-cfg-page .kb-cfg-media-stage-360-inner .maex-360-viewer,
.kb-cfg-page .kb-cfg-media-modal-360-inner .maex-360-viewer {
  width: 100%;
  height: 100%;
}

.kb-cfg-page .kb-cfg-media-thumbs {
  width: 100%;
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding: 2px 2px 6px;
  -webkit-overflow-scrolling: touch;
}

.kb-cfg-page .kb-cfg-thumb {
  position: relative;
  flex: 0 0 auto;
  width: 86px;
  height: 64px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,0.12);
  background: #fff;
  padding: 0;
  overflow: hidden;
  cursor: pointer;
}

.kb-cfg-page .kb-cfg-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.kb-cfg-page .kb-cfg-thumb.is-active {
  border-color: rgba(223,30,34,0.9);
  box-shadow: 0 0 0 2px rgba(223,30,34,0.12);
}

.kb-cfg-page .kb-cfg-thumb-badge {
  position: absolute;
  right: 6px;
  bottom: 6px;
  font-size: 0.72rem;
  padding: 2px 6px;
  border-radius: 999px;
  color: #fff;
  background: rgba(223,30,34,0.92);
}

.kb-cfg-page .kb-cfg-media-zoom {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  aspect-ratio: 1 / 1;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,0.08);
  background: rgba(255,255,255,0.92);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
  line-height: 0;
  box-sizing: border-box;
  z-index: 10;
  color: rgba(0,0,0,0.72);
}

.kb-cfg-page .kb-cfg-media-zoom:hover {
  background: #fff;
}

.kb-cfg-page .kb-cfg-icon {
  width: 20px;
  height: 20px;
  display: block;
}

.kb-cfg-page .kb-cfg-media-stage-inner[role="button"] {
  cursor: zoom-in;
}

.kb-cfg-page .kb-cfg-zoom-icon {
  width: 18px;
  height: 18px;
  display: block;
  position: relative;
  border: 2px solid rgba(0,0,0,0.55);
  border-radius: 999px;
}

.kb-cfg-page .kb-cfg-zoom-icon:after {
  content: "";
  position: absolute;
  width: 9px;
  height: 2px;
  background: rgba(0,0,0,0.55);
  right: -7px;
  bottom: -3px;
  transform: rotate(45deg);
  border-radius: 2px;
}

/* Zoom Modal */
html.kb-cfg-modal-open { overflow: hidden; }

.kb-cfg-page .kb-cfg-media-modal {
  position: fixed;
  inset: 0;
  display: none;
  z-index: 99999;
}

.kb-cfg-page .kb-cfg-media-modal.open { display: block; }

.kb-cfg-page .kb-cfg-media-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.78);
}

.kb-cfg-page .kb-cfg-media-modal-dialog {
  position: relative;
  width: min(1100px, 92vw);
  margin: 5vh auto;
  background: #fff;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 18px 70px rgba(0,0,0,0.35);
}

.kb-cfg-page .kb-cfg-media-modal-close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 42px;
  height: 42px;
  min-width: 42px;
  min-height: 42px;
  aspect-ratio: 1 / 1;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,0.08);
  background: rgba(255,255,255,0.96);
  cursor: pointer;
  padding: 0;
  line-height: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  color: rgba(0,0,0,0.78);
}

.kb-cfg-page .kb-cfg-media-modal-body {
  padding: 56px 18px 18px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.kb-cfg-page .kb-cfg-media-modal-img {
  max-width: 100%;
  height: 78vh;
  max-height: none;
  width: auto;
  display: block;
  object-fit: contain;
}

@media (max-width: 900px) {
  .kb-cfg-page .kb-cfg-media-stage-inner { min-height: 240px; }
  .kb-cfg-page .kb-cfg-thumb { width: 78px; height: 58px; }
  .kb-cfg-page .kb-cfg-media-modal-body { padding: 56px 12px 12px; }
  .kb-cfg-page .kb-cfg-media-modal-img { height: 70vh; max-height: none; }
}

@media (max-width: 360px){
  .kb-cfg-page .kb-cfg-tab-button .kb-cfg-tab-label{display:none;}
}



/* Configurator: Mobile Selects größer */
@media (max-width: 767px){
  .kb-cfg-configurator select{
    padding: 14px 14px;
    font-size: 16px;
    line-height: 1.25;
  }
}

/* Configurator: UL/LI Einrückung +15px */
.kb-cfg-configurator ul{
  padding-left: 35px;
}

/* "Mehr anzeigen" Button (Fahrzeugtabs): auf Mobile kleiner */
@media (max-width: 600px){
  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-more{
    font-size: 11.5px;
    padding: 9px 12px;
  }
}


/* === Fix/Override: Configurator Tabs (PKW/LKW/...) === */
.kb-cfg-configurator-tabs{
  width:100%;
  --kb-cfg-cat-icon-size: 18px;
}
.kb-cfg-configurator-tabs .kb-cfg-tabs-nav{
  width:100%;
  display:grid;
  gap:10px;
  padding:8px 12px 12px;
  margin-bottom:12px;
  overflow:visible;
  grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
}
.kb-cfg-configurator-tabs .kb-cfg-tabs-nav::-webkit-scrollbar{display:none}

.kb-cfg-configurator-tabs .kb-cfg-tab{
  width:100%;
  white-space:nowrap;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  color:#111;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 12px;
  font-weight:800;
  font-size:13px;
  line-height:1.1;
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease, color .12s ease, border-color .12s ease;
}
.kb-cfg-configurator-tabs .kb-cfg-tab:focus{outline:none;box-shadow:0 0 0 3px rgba(10,217,207,.25)}
.kb-cfg-configurator-tabs .kb-cfg-tab.is-active{
  background:#df1e22;
  border-color:#df1e22;
  color:#fff;
  box-shadow:0 6px 18px rgba(0,0,0,.10);
}

.kb-cfg-configurator-tabs.is-ico-top .kb-cfg-tab{
  flex-direction:column;
  gap:6px;
  padding:10px 10px;
}

.kb-cfg-configurator-tabs .kb-cfg-tab-ico{
  width: var(--kb-cfg-cat-icon-size, 18px);
  height: var(--kb-cfg-cat-icon-size, 18px);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  line-height:0;
}
.kb-cfg-configurator-tabs .kb-cfg-tab-svg,
.kb-cfg-configurator-tabs .kb-cfg-tab-icon-img{
  width: 100% !important;
  height: 100% !important;
  display:block;
}
.kb-cfg-configurator-tabs .kb-cfg-tab-icon-img{object-fit:contain;max-width:none !important;}

.kb-cfg-configurator-tabs .kb-cfg-icon--active{display:none;}
.kb-cfg-configurator-tabs .kb-cfg-tab.is-active .kb-cfg-icon--normal{display:none;}
.kb-cfg-configurator-tabs .kb-cfg-tab.is-active .kb-cfg-icon--active{display:block;}

/* Auto-white (wenn kein Aktiv-Icon gesetzt ist) */
.kb-cfg-configurator-tabs .kb-cfg-tab.is-active .kb-cfg-icon--auto-white{
  filter: invert(1) grayscale(1) brightness(3) contrast(1.2);
}

.kb-cfg-configurator-tabs .kb-cfg-tab-label{
  display:inline-block;
  text-align:center;
}

/* Mobile/Tablet: etwas kompakter */
@media (max-width: 767px){
  .kb-cfg-configurator-tabs .kb-cfg-tabs-nav{
    grid-template-columns: repeat(auto-fit, minmax(84px, 1fr));
    gap:12px;
    padding:10px 12px 14px;
    margin-bottom:14px;
  }

  /* Mobile: Icon über dem Label, Label kleiner + runder Icon-Kreis */
  .kb-cfg-configurator-tabs .kb-cfg-tab{
    border:0;
    background:transparent;
    padding:0;
    flex-direction:column;
    gap:6px;
    font-size:11px;
    font-weight:700;
    line-height:1.15;
  }

  .kb-cfg-configurator-tabs .kb-cfg-tab-ico{
    /* Mobile: größerer Kreis + größere Icons (damit PNGs nicht „zu klein“ wirken)
       Basis ist --kb-cfg-cat-icon-size (kommt aus den Einstellungen des Shortcodes/WPBakery Elements)
       und wird am Handy automatisch etwas angehoben.
    */
    --kb-cfg-cat-icon-size-mobile: clamp(26px, calc(var(--kb-cfg-cat-icon-size, 18px) + 10px), 40px);
    --kb-cfg-cat-circle-size-mobile: clamp(56px, calc(var(--kb-cfg-cat-icon-size-mobile) + 30px), 76px);
    width: var(--kb-cfg-cat-circle-size-mobile);
    height: var(--kb-cfg-cat-circle-size-mobile);
    border-radius:999px;
    background:#fff;
    border:1px solid rgba(0,0,0,.12);
    box-shadow:0 8px 20px rgba(0,0,0,.10);
    display:flex;
    align-items:center;
    justify-content:center;
  }

  /* Wichtig: am Mobile darf das Icon NICHT 100% des Kreises füllen,
     sonst wirkt es je nach PNG-Transparent-Padding winzig oder unruhig.
     → wir zentrieren und geben eine feste Icon-Größe.
  */
  .kb-cfg-configurator-tabs .kb-cfg-tab-ico img,
  .kb-cfg-configurator-tabs .kb-cfg-tab-ico svg{
    width: var(--kb-cfg-cat-icon-size-mobile) !important;
    height: var(--kb-cfg-cat-icon-size-mobile) !important;
    max-width: none !important;
    max-height: none !important;
  }

  .kb-cfg-configurator-tabs .kb-cfg-tab.is-active{
    box-shadow:none;
    color:#df1e22;
  }
  .kb-cfg-configurator-tabs .kb-cfg-tab.is-active .kb-cfg-tab-ico{
    color:#fff;
    background:#df1e22;
    border-color:#df1e22;
  }

  .kb-cfg-configurator-tabs .kb-cfg-tab-label{
    font-size:10.5px;
    font-weight:600;
  }
}

/* Desktop: 5 Tabs immer gleich breit (100% / keine Scrollbar) */
@media (min-width: 1025px){
  .kb-cfg-configurator-tabs .kb-cfg-tabs-nav{
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}


/* === Fix/Override: Fahrzeug-Kategorie Tabs (Brands Tabs) === */
.kb-cfg-page.kb-cfg-brands-tabs{
  --kb-cfg-cat-icon-size: 18px;
  --kb-cfg-cat-circle-size: 46px;
}

.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tabs-nav{
  width:100% !important;
  display:grid !important;
  grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
  gap:12px;
  overflow:visible !important;
  padding: 0 0 16px;
  margin: 0 0 16px;
  scroll-snap-type:none !important;
}

.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab{
  width:100% !important;
  min-width:0 !important;
  white-space: normal !important;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding: 12px 14px;
}

.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab-text{
  font-size: 0.85rem;
  font-weight: 600;
  line-height: 1.1;
}

@media (max-width: 767px){
  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tabs-nav{
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap:10px;
    padding: 6px 0 14px;
    margin-bottom:12px;
  }
}

/* Mobile: Kreis-Icon + Label darunter kleiner */
@media (max-width: 640px){
  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab{
    border:0;
    background:transparent;
    padding:0;
    flex-direction:column;
    gap:6px;
    box-shadow:none;
  }

  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab-icon{
    width: var(--kb-cfg-cat-circle-size, 46px) !important;
    height: var(--kb-cfg-cat-circle-size, 46px) !important;
    flex:0 0 auto !important;
    border-radius:999px;
    background:#fff;
    border:1px solid rgba(0,0,0,.12);
    box-shadow:0 8px 20px rgba(0,0,0,.10);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0;
  }

  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab-icon img{
    width: var(--kb-cfg-cat-icon-size, 18px) !important;
    height: var(--kb-cfg-cat-icon-size, 18px) !important;
  }

  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab-text{
    font-size: 11px;
    font-weight: 700;
    line-height: 1.15;
  }

  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab.active{
    background:transparent;
    border:0;
    color:#111;
    box-shadow:none;
  }

  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab.active .kb-cfg-brands-tab-icon{
    background:#df1e22;
    border-color:#df1e22;
    box-shadow:0 10px 24px rgba(223,30,34,0.20);
  }

  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab.active .kb-cfg-brands-tab-text{
    color:#df1e22;
  }

  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab.active .kb-cfg-icon--auto-white{
    filter: brightness(0) invert(1);
  }
}


/* === Fahrzeug-Kategorie Tabs (Fahrzeug auswählen) – Grid + Mobile Kreis-Icons === */
.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tabs-nav{
  width:100%;
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
  gap:10px;
  padding:10px 12px 14px;
  margin:8px 0 14px;
  overflow:visible;
}

.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.15);
  background:#fff;
  color:#111;
  font-weight:600;
  line-height:1.1;
}

.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab-icon{
  width: var(--kb-cfg-brand-tab-icon, 28px) !important;
  height: var(--kb-cfg-brand-tab-icon, 28px) !important;
  flex:0 0 var(--kb-cfg-brand-tab-icon, 28px) !important;
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:0;
}

.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab-icon img{
  width:100% !important;
  height:100% !important;
  object-fit:contain;
  display:block;
}

.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab-text{
  font-size:13px;
  text-align:center;
}

.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab.active{
  background: linear-gradient(135deg, var(--accent), var(--accent-soft));
  color:#fff;
  border-color: transparent;
  box-shadow: 0 10px 24px rgba(223,30,34,0.20);
}

/* Desktop: 5 Tabs gleich breit */
@media (min-width: 1025px){
  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tabs-nav{
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

/* Mobile/Tablet: Kreis-Icons + Label darunter */
@media (max-width: 767px){
  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tabs-nav{
    grid-template-columns: repeat(auto-fit, minmax(84px, 1fr));
    gap:12px;
    padding:10px 12px 14px;
    margin:6px 0 12px;
  }

  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab{
    border:0;
    background:transparent;
    padding:0;
    flex-direction:column;
    gap:6px;
  }

  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab-icon{
    --kb-cfg-brand-tab-circle: clamp(70px, 20vw, 90px);
    --kb-cfg-brand-tab-inner: clamp(40px, calc(var(--kb-cfg-brand-tab-circle) - 30px), 54px);
    width: var(--kb-cfg-brand-tab-circle) !important;
    height: var(--kb-cfg-brand-tab-circle) !important;
    flex:0 0 var(--kb-cfg-brand-tab-circle) !important;
    border-radius:999px;
    background:#fff;
    border:1px solid rgba(0,0,0,.12);
    box-shadow:0 8px 20px rgba(0,0,0,.10);
  }

  /* Wichtig: fix skalieren (nicht 100% Kreis), damit PNG nicht winzig wirkt */
  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab-icon img{
    width: var(--kb-cfg-brand-tab-inner) !important;
    height: var(--kb-cfg-brand-tab-inner) !important;
    max-width:none !important;
    max-height:none !important;
  }

  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab.active .kb-cfg-brands-tab-icon{
    background:#df1e22;
    border-color:#df1e22;
  }

  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab-text{
    font-size:10.5px;
    font-weight:600;
  }
}


/* ============================================================
   Fahrzeug-Kategorie Tabs (PKW/LKW/BUS/TRAKTOR/BOOT)
   - gilt für Fahrzeug-Auswahl (Brands-Tabs) UND [kueberl_configurator_tabs]
   - Größen via Settings (CSS Variablen):
     --kb-cfg-cat-icon-size-d / --kb-cfg-cat-icon-size-m
     --kb-cfg-cat-label-size-d / --kb-cfg-cat-label-size-m
   ============================================================ */

.kb-cfg-configurator-tabs .kb-cfg-tabs-nav,
.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tabs-nav{
  display:grid;
  width:100%;
  gap:10px;
  align-items:stretch;
}

@media (min-width: 1025px){
  .kb-cfg-configurator-tabs .kb-cfg-tabs-nav,
  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tabs-nav{
    grid-template-columns: repeat(5, minmax(0,1fr));
  }
}
@media (min-width: 768px) and (max-width: 1024px){
  .kb-cfg-configurator-tabs .kb-cfg-tabs-nav,
  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tabs-nav{
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  }
}
@media (max-width: 767px){
  .kb-cfg-configurator-tabs .kb-cfg-tabs-nav,
  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tabs-nav{
    grid-template-columns: repeat(auto-fit, minmax(92px, 1fr));
    gap:12px;
  }
}

/* Desktop/Tablet Button Layout */
.kb-cfg-configurator-tabs .kb-cfg-tab,
.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-align:center;
}

/* Desktop Icon Größen */
.kb-cfg-configurator-tabs .kb-cfg-tab-ico{
  width: var(--kb-cfg-cat-icon-size-d, 22px);
  height: var(--kb-cfg-cat-icon-size-d, 22px);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}
.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab-icon{
  width: var(--kb-cfg-cat-icon-size-d, 22px);
  height: var(--kb-cfg-cat-icon-size-d, 22px);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}

.kb-cfg-configurator-tabs .kb-cfg-tab-label{
  font-size: var(--kb-cfg-cat-label-size-d, 14px);
  font-weight: 600;
  line-height: 1.1;
}
.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab-text{
  font-size: var(--kb-cfg-cat-label-size-d, 14px);
  font-weight: 600;
  line-height: 1.1;
}

/* Desktop Icon Position (nur Desktop/Tablet) */
@media (min-width: 768px){
  .kb-cfg-configurator-tabs.is-ico-top .kb-cfg-tab{
    flex-direction:column;
    gap:8px;
  }
  .kb-cfg-configurator-tabs.is-ico-left .kb-cfg-tab{
    flex-direction:row;
  }

  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tabs-nav.is-ico-top .kb-cfg-brands-tab{
    flex-direction:column;
    gap:8px;
  }
  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tabs-nav.is-ico-left .kb-cfg-brands-tab{
    flex-direction:row;
  }
}

/* Mobile: Kreis-Icons + Label darunter (fix) */
@media (max-width: 767px){
  .kb-cfg-configurator-tabs .kb-cfg-tab,
  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab{
    flex-direction:column !important;
    gap:8px;
    padding:10px 8px;
    min-height: 92px;
  }

  /* Active Hintergrund am Button entfernen (nur Kreis soll aktiv zeigen) */
  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab.active{
    background: transparent !important;
    box-shadow: none !important;
    border-color: transparent !important;
    color: inherit !important;
  }
  .kb-cfg-configurator-tabs .kb-cfg-tab.is-active{
    background: transparent !important;
    box-shadow: none !important;
    border-color: transparent !important;
    color: inherit !important;
  }

  .kb-cfg-configurator-tabs .kb-cfg-tab-ico,
  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab-icon{
    width: calc(var(--kb-cfg-cat-icon-size-m, 44px) + 28px);
    height: calc(var(--kb-cfg-cat-icon-size-m, 44px) + 28px);
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(0,0,0,.10);
  }

  /* tatsächliche Icon-Größe im Kreis */
  .kb-cfg-configurator-tabs .kb-cfg-tab-ico svg,
  .kb-cfg-configurator-tabs .kb-cfg-tab-ico img,
  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab-icon img,
  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab-icon svg{
    width: var(--kb-cfg-cat-icon-size-m, 44px) !important;
    height: var(--kb-cfg-cat-icon-size-m, 44px) !important;
    max-width: none !important;
    max-height: none !important;
  }

  .kb-cfg-configurator-tabs .kb-cfg-tab-label{
    font-size: var(--kb-cfg-cat-label-size-m, 11px);
    font-weight: 600;
    line-height: 1.1;
  }
  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab-text{
    font-size: var(--kb-cfg-cat-label-size-m, 11px);
    font-weight: 600;
    line-height: 1.1;
  }

  /* Active Kreis rot + Icon weiß */
  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab.active .kb-cfg-brands-tab-icon{
    background: var(--accent);
    border-color: transparent;
    color:#fff;
  }
  .kb-cfg-configurator-tabs .kb-cfg-tab.is-active .kb-cfg-tab-ico{
    background: var(--accent);
    border-color: transparent;
    color:#fff;
  }
}


/* =====================================================================
   FINAL OVERRIDE v1.5.14 – Icongrößen (Desktop) wirklich aus Settings
   Fix: Theme-Constraints (max-width/max-height) können PNG/SVG klein halten
   ===================================================================== */

/* Fahrzeug auswählen (Brands Tabs) */
.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab-icon img,
.kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab-icon svg{
  max-width: none !important;
  max-height: none !important;
}

/* Shortcode/WPBakery Tabs (PKW/LKW/...) */
.kb-cfg-configurator-tabs .kb-cfg-tab-ico img,
.kb-cfg-configurator-tabs .kb-cfg-tab-ico svg{
  max-width: none !important;
  max-height: none !important;
}

@media (max-width: 767px){
  /* Mobile muss Inline-Desktop-Größe übersteuern */
  .kb-cfg-configurator-tabs .kb-cfg-tab-ico{
    --kb-cfg-cat-circle-size-mobile: clamp(56px, calc(var(--kb-cfg-cat-icon-size-m, 28px) + 30px), 92px);
    width: var(--kb-cfg-cat-circle-size-mobile) !important;
    height: var(--kb-cfg-cat-circle-size-mobile) !important;
  }
  .kb-cfg-configurator-tabs .kb-cfg-tab-ico img,
  .kb-cfg-configurator-tabs .kb-cfg-tab-ico svg{
    width: var(--kb-cfg-cat-icon-size-m, 28px) !important;
    height: var(--kb-cfg-cat-icon-size-m, 28px) !important;
  }
}


/* =====================================================================
   FINAL OVERRIDE v1.5.15 – Mobile: Text IMMER unter dem Icon
   - Fahrzeug-Auswahl (Brands Tabs)
   - Shortcode/WPBakery Kategorie-Tabs
   ===================================================================== */

@media (max-width: 767px){
  /* Fahrzeug-Auswahl (Brands Tabs): unabhängig von Desktop-Setting immer Icon oben, Text unten */
  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab,
  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tabs-nav.is-ico-left .kb-cfg-brands-tab,
  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tabs-nav.is-ico-top .kb-cfg-brands-tab{
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab-text{
    display: block !important;
    width: 100% !important;
    text-align: center !important;
  }

  /* Active Button Background AUS (falls ältere CSS-Blöcke später noch greifen) */
  .kb-cfg-page.kb-cfg-brands-tabs .kb-cfg-brands-tab.active{
    background: transparent !important;
    box-shadow: none !important;
    border-color: transparent !important;
    color: inherit !important;
  }

  /* Shortcode/WPBakery Kategorie-Tabs: immer Icon oben, Text unten */
  .kb-cfg-configurator-tabs .kb-cfg-tab,
  .kb-cfg-configurator-tabs.is-ico-left .kb-cfg-tab,
  .kb-cfg-configurator-tabs.is-ico-top .kb-cfg-tab{
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 8px !important;
  }

  .kb-cfg-configurator-tabs .kb-cfg-tab-label{
    display: block !important;
    width: 100% !important;
    text-align: center !important;
  }
}

/* =====================================================================
   Vehicle Areas Shortcode [kueberl_vehicle_areas]
   FINAL Overrides (v1.5.30)
   - garantiert identische Icon-Größen wie die Fahrzeug-Tabs
   - Hover (nicht Active): roter Hintergrund
   - Icon-Swap (normal/active) funktioniert trotz anderer Tabs-Regeln
   ===================================================================== */

.kb-cfg-page.kb-cfg-brands-tabs.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab,
.kb-cfg-page.kb-cfg-brands-tabs.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:link,
.kb-cfg-page.kb-cfg-brands-tabs.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:visited{
  text-decoration: none !important;
  color: inherit !important;
}

/* Basis: Active-Icon immer verstecken (wir arbeiten über Hover) */
.kb-cfg-page.kb-cfg-brands-tabs.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab .kb-cfg-icon--active{display:none !important;}

/* Hover = rot + Icon swap */
.kb-cfg-page.kb-cfg-brands-tabs.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:hover{
  background: var(--accent) !important;
  border-color: var(--accent) !important;
  color: #fff !important;
}
.kb-cfg-page.kb-cfg-brands-tabs.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:hover .kb-cfg-icon--normal{display:none !important;}
.kb-cfg-page.kb-cfg-brands-tabs.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:hover .kb-cfg-icon--active{display:block !important;}

/* Wenn kein separates Hover-Icon hinterlegt ist, wird das "Active"-Icon automatisch weiß gefiltert */
.kb-cfg-page.kb-cfg-brands-tabs.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:hover .kb-cfg-icon--auto-white{
  filter: brightness(0) invert(1) !important;
}

/* Icon-Größen NICHT überschreiben: Fahrzeugbereiche sollen 1:1 die selben Regeln wie die Tabs nutzen.
   (Die globalen Category-Tabs Regeln greifen über --kb-cfg-cat-icon-size-d/m.) */


/* =====================================================================
   FIX v1.5.38_fixed100 – Detailseite Fullwidth + Mobile Overlap-Space
   ===================================================================== */

/*
  Problem (Screenshots): Auf der Fahrzeug-Detailseite bleibt rechts eine "leere Spalte" sichtbar.
  Ursache: Viele Themes (z.B. mit Sidebar-Layout) rendern den Inhalt in einer Content-Spalte.
  Lösung: Auf single-vehicle strecken wir den Konfigurator-Wrapper auf volle Viewport-Breite.
  (Theme-agnostisch, keine Eingriffe in Theme-/Redirect-Logik.)
*/
body.single-vehicle .kb-cfg-page{
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

/*
  Zusätzlicher Abstand unten auf Mobile, damit Fixed-Elemente (z.B. Sprach-Flaggen-Switcher)
  nicht über Inhalte/Tabs liegen.
*/
@media (max-width: 767px){
  body.single-vehicle .kb-cfg-page{
    padding-bottom: 96px !important;
  }
  body.single-vehicle .kb-cfg-page .page{
    padding-bottom: 96px !important;
  }
}


/* =====================================================================
   FIX v1.5.38_fixed101
   1) Fahrzeugbereiche ([kueberl_vehicle_areas]): Tap/Hover färbt nur den Icon-Kreis rot (kein roter Kasten),
      Label bleibt lesbar (nicht weiß), Icon bleibt sichtbar.
   2) Fahrzeug-Auswahl Selects: mehr Padding links.
   ===================================================================== */

/* 2) Select Padding links (Theme kann padding überschreiben -> !important) */
.kb-cfg-configurator select{
  padding-left: 18px !important;
}

/* 1) Touch/Mobile: iOS „sticky hover“ darf nicht das komplette Tab rot färben.
      Stattdessen: Kreis rot + Active-Icon, Label bleibt dunkel. */
@media (max-width: 767px), (hover: none){
  .kb-cfg-page.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:hover,
  .kb-cfg-page.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:active,
  .kb-cfg-page.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:focus,
  .kb-cfg-page.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:focus-visible{
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
    color: inherit !important;
  }

  .kb-cfg-page.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:hover .kb-cfg-brands-tab-icon,
  .kb-cfg-page.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:active .kb-cfg-brands-tab-icon,
  .kb-cfg-page.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:focus .kb-cfg-brands-tab-icon,
  .kb-cfg-page.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:focus-visible .kb-cfg-brands-tab-icon{
    background: var(--accent) !important;
    border-color: var(--accent) !important;
    color: #fff !important;
  }

  .kb-cfg-page.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:hover .kb-cfg-brands-tab-text,
  .kb-cfg-page.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:active .kb-cfg-brands-tab-text,
  .kb-cfg-page.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:focus .kb-cfg-brands-tab-text,
  .kb-cfg-page.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:focus-visible .kb-cfg-brands-tab-text{
    color: #111 !important;
  }

  /* Icon-Swap auch bei Tap/Focus (nicht nur :hover) */
  .kb-cfg-page.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:active .kb-cfg-icon--normal,
  .kb-cfg-page.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:focus .kb-cfg-icon--normal,
  .kb-cfg-page.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:focus-visible .kb-cfg-icon--normal{
    display:none !important;
  }
  .kb-cfg-page.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:active .kb-cfg-icon--active,
  .kb-cfg-page.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:focus .kb-cfg-icon--active,
  .kb-cfg-page.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:focus-visible .kb-cfg-icon--active{
    display:block !important;
  }
  .kb-cfg-page.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:active .kb-cfg-icon--auto-white,
  .kb-cfg-page.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:focus .kb-cfg-icon--auto-white,
  .kb-cfg-page.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:focus-visible .kb-cfg-icon--auto-white{
    filter: brightness(0) invert(1) !important;
  }
}


/* =====================================================================
   FIX v1.5.38_fixed102
   1) Produktdetail Tabs (Mobil): Active-Label darf NICHT weiß sein, weil der Button-Hintergrund transparent ist.
      -> Label dunkel, aber Icon im roten Kreis bleibt weiß.
   2) Fahrzeugbereiche ([kueberl_vehicle_areas]): Kein roter Außenkasten/Border beim Tap/Hover.
      -> Nur der Icon-Kreis wird rot, Label bleibt dunkel, Icon sichtbar (weiß).
   3) Selects in der Fahrzeug-Auswahl: mehr Padding links.
   ===================================================================== */

/* 3) Select Padding links – etwas mehr Raum als Standard */
.kb-cfg-configurator select{
  padding-left: 22px !important;
}

/* 1) Produktdetail Tabs (Mobil): Active Text dunkel, Icon bleibt weiß */
@media (max-width: 767px){
  .kb-cfg-page .kb-cfg-tab-button.active{
    color: #111 !important;
  }
  .kb-cfg-page .kb-cfg-tab-button.active .kb-cfg-tab-label{
    color: #111 !important;
  }
  .kb-cfg-page .kb-cfg-tab-button.active .kb-cfg-tab-ico{
    color: #fff !important;
  }
}

/* 2) Fahrzeugbereiche: Hover/Tap/Focus = nur Kreis rot, kein rotes Außen-Element */
.kb-cfg-page.kb-cfg-brands-tabs.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:hover,
.kb-cfg-page.kb-cfg-brands-tabs.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:active,
.kb-cfg-page.kb-cfg-brands-tabs.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:focus,
.kb-cfg-page.kb-cfg-brands-tabs.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:focus-visible{
  background: transparent !important;
  border-color: rgba(0,0,0,0.08) !important;
  box-shadow: none !important;
  color: inherit !important;
}

.kb-cfg-page.kb-cfg-brands-tabs.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:hover .kb-cfg-brands-tab-icon,
.kb-cfg-page.kb-cfg-brands-tabs.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:active .kb-cfg-brands-tab-icon,
.kb-cfg-page.kb-cfg-brands-tabs.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:focus .kb-cfg-brands-tab-icon,
.kb-cfg-page.kb-cfg-brands-tabs.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:focus-visible .kb-cfg-brands-tab-icon{
  background: var(--accent) !important;
  border-color: transparent !important;
  color: #fff !important; /* wichtig für SVG (currentColor) */
}

.kb-cfg-page.kb-cfg-brands-tabs.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:hover .kb-cfg-brands-tab-text,
.kb-cfg-page.kb-cfg-brands-tabs.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:active .kb-cfg-brands-tab-text,
.kb-cfg-page.kb-cfg-brands-tabs.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:focus .kb-cfg-brands-tab-text,
.kb-cfg-page.kb-cfg-brands-tabs.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:focus-visible .kb-cfg-brands-tab-text{
  color: #111 !important;
}

/* Icon-Swap auch bei Tap/Focus (und Hover) */
.kb-cfg-page.kb-cfg-brands-tabs.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:hover .kb-cfg-icon--normal,
.kb-cfg-page.kb-cfg-brands-tabs.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:active .kb-cfg-icon--normal,
.kb-cfg-page.kb-cfg-brands-tabs.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:focus .kb-cfg-icon--normal,
.kb-cfg-page.kb-cfg-brands-tabs.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:focus-visible .kb-cfg-icon--normal{display:none !important;}

.kb-cfg-page.kb-cfg-brands-tabs.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:hover .kb-cfg-icon--active,
.kb-cfg-page.kb-cfg-brands-tabs.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:active .kb-cfg-icon--active,
.kb-cfg-page.kb-cfg-brands-tabs.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:focus .kb-cfg-icon--active,
.kb-cfg-page.kb-cfg-brands-tabs.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:focus-visible .kb-cfg-icon--active{display:block !important;}

/* Wenn Active-Icon = Normal-Icon (auto-white), dann beim Anzeigen weiß filtern */
.kb-cfg-page.kb-cfg-brands-tabs.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:hover .kb-cfg-icon--auto-white,
.kb-cfg-page.kb-cfg-brands-tabs.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:active .kb-cfg-icon--auto-white,
.kb-cfg-page.kb-cfg-brands-tabs.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:focus .kb-cfg-icon--auto-white,
.kb-cfg-page.kb-cfg-brands-tabs.kb-cfg-vehicle-areas-links .kb-cfg-brands-tab:focus-visible .kb-cfg-icon--auto-white{filter: brightness(0) invert(1) !important;}


/* Accessibility */
.kb-cfg-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* FAQ Buttons (unterhalb der FAQ) */
.kb-cfg-faq-buttons{display:grid;gap:12px;margin-top:18px}
@media(min-width:1024px){.kb-cfg-faq-buttons{grid-template-columns:repeat(4,1fr)}}
@media(min-width:768px) and (max-width:1023px){.kb-cfg-faq-buttons{grid-template-columns:repeat(2,1fr)}}
@media (max-width: 767px){
  /* Mobil: alles einheitlich 100% breit inkl. Button */
  .kb-cfg-configurator{flex-direction:column !important;flex-wrap:nowrap !important;gap:10px !important;}
  .kb-cfg-configurator .kb-cfg-step,
  .kb-cfg-configurator .kb-cfg-result{width:100% !important;max-width:100% !important;min-width:0 !important;flex:0 0 auto !important;}
  .kb-cfg-configurator .kb-cfg-step--title{order:-1 !important;}
  .kb-cfg-configurator .kb-cfg-detail-button{width:100% !important;max-width:100% !important;}
}

/* =====================================================================
   HOTFIX – Konfigurator UI + FAQ (nur gezielte Fixes, nichts anderes)
   1) Konfigurator: Desktop Selects schmäler + Button fix, Titel immer oberhalb
   2) Konfigurator: Mobil alles 100% breit + höhere Controls
   3) FAQ: Accordion wieder wie original (nicht einfärben)
   4) FAQ-Buttons unten: Hover/Focus mit rotem Verlauf wie Tabs
   ===================================================================== */

/* 1) Konfigurator: Desktop Layout erzwingen (WPBakery/Theme Overrides neutralisieren) */
.kb-cfg-configurator{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:wrap !important;
  align-items:flex-end !important;
  gap:12px !important;
}
.kb-cfg-configurator .kb-cfg-step--title{
  flex:0 0 100% !important;
  width:100% !important;
  order:-1 !important;
  margin:0 0 2px 0 !important;
}
.kb-cfg-configurator .kb-cfg-step{
  flex:0 0 auto !important;
  width:190px !important;
  max-width:190px !important;
}
.kb-cfg-configurator .kb-cfg-step select{width:100% !important;}
.kb-cfg-configurator .kb-cfg-result{
  flex:0 0 auto !important;
  width:160px !important;
  max-width:160px !important;
  margin-top:0 !important;
}
.kb-cfg-configurator .kb-cfg-detail-button{
  width:100% !important;
  max-width:100% !important;
}

/* 2) Konfigurator: Mobil full width + höhere Selects/Button */
@media (max-width: 767px){
  .kb-cfg-configurator{
    flex-direction:column !important;
    flex-wrap:nowrap !important;
    align-items:stretch !important;
    width:100% !important;
    max-width:100% !important;
  }
  .kb-cfg-configurator .kb-cfg-step,
  .kb-cfg-configurator .kb-cfg-result{
    width:100% !important;
    max-width:100% !important;
  }
  .kb-cfg-configurator select{
    width:100% !important;
    max-width:100% !important;
    min-height:48px !important;
    font-size:16px !important;
  }
  .kb-cfg-configurator .kb-cfg-detail-button{
    width:100% !important;
    max-width:100% !important;
    min-height:48px !important;
  }
}

/* 3) FAQ Accordion: wieder original (kein Verlauf auf den Fragen) */
.kb-cfg-page .faq-question{
  transition:none !important;
}
.kb-cfg-page .faq-question:hover{
  background:transparent !important;
  color:#111 !important;
}
.kb-cfg-page .faq-question:hover::after{
  color:inherit !important;
  opacity:0.7 !important;
}
.kb-cfg-page .faq-item.open .faq-question{
  background:transparent !important;
  color:#111 !important;
}
.kb-cfg-page .faq-item.open{
  border-color: rgba(0,0,0,0.06) !important;
  box-shadow:none !important;
}
.kb-cfg-page .faq-item.open .faq-answer{
  border-top-color: rgba(0,0,0,0.06) !important;
}

/* 4) FAQ Buttons unten (kb-cfg-faq-btn): Verlauf wie Tabs */
.kb-cfg-faq-btn,
.kb-cfg-faq-btn:link,
.kb-cfg-faq-btn:visited{
  text-decoration:none !important;
  color:inherit !important;
}
.kb-cfg-faq-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px 14px;
  border-radius:9999px;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  font-weight:700;
  text-align:center;
}
.kb-cfg-faq-btn:hover,
.kb-cfg-faq-btn:focus,
.kb-cfg-faq-btn:focus-visible{
  background:linear-gradient(135deg,var(--accent),var(--accent-soft)) !important;
  border-color:transparent !important;
  color:#fff !important;
  outline:none !important;
}
.kb-cfg-faq-btn-ico{
  width:22px;
  height:22px;
  object-fit:contain;
  display:block;
}
.kb-cfg-faq-btn:hover .kb-cfg-faq-btn-ico,
.kb-cfg-faq-btn:focus .kb-cfg-faq-btn-ico,
.kb-cfg-faq-btn:focus-visible .kb-cfg-faq-btn-ico{
  filter:brightness(0) invert(1);
}


/* HOTFIX: Produktdetail Tabs – sehr kleine Mobile (Kreise dürfen nicht überlappen) */
@media (max-width: 420px){
  .kb-cfg-page .kb-cfg-tabs-header{
    grid-template-columns: repeat(4, minmax(0,1fr)) !important;
    gap: 10px !important;
  }
  .kb-cfg-page .kb-cfg-tab-button{
    min-height: 92px !important;
  }
  .kb-cfg-page .kb-cfg-tab-button .kb-cfg-tab-ico{
    width: 56px !important;
    height: 56px !important;
  }
  .kb-cfg-page .kb-cfg-tab-button .kb-cfg-tab-svg,
  .kb-cfg-page .kb-cfg-tab-button .kb-cfg-tab-icon-img{
    width: 26px !important;
    height: 26px !important;
  }
  .kb-cfg-page .kb-cfg-tab-button .kb-cfg-tab-label{
    font-size: 11px !important;
  }
}

@media (max-width: 340px){
  .kb-cfg-page .kb-cfg-tabs-header{
    gap: 8px !important;
  }
  .kb-cfg-page .kb-cfg-tab-button{
    min-height: 88px !important;
  }
  .kb-cfg-page .kb-cfg-tab-button .kb-cfg-tab-ico{
    width: 52px !important;
    height: 52px !important;
  }
  .kb-cfg-page .kb-cfg-tab-button .kb-cfg-tab-svg,
  .kb-cfg-page .kb-cfg-tab-button .kb-cfg-tab-icon-img{
    width: 24px !important;
    height: 24px !important;
  }
  .kb-cfg-page .kb-cfg-tab-button .kb-cfg-tab-label{
    font-size: 10px !important;
  }
}
/* HOTFIX: Technische Daten Tabelle mobil optimieren */
@media (max-width: 520px){
  .kb-cfg-page .spec-table{
    display:block !important;
    width:100% !important;
    border-collapse: separate !important;
    border-spacing: 0 10px !important;
    font-size: 14px !important;
  }
  .kb-cfg-page .spec-table tr:first-child{
    display:none !important;
  }
  .kb-cfg-page .spec-table tr{
    display:block !important;
    background:#fff !important;
    border:1px solid rgba(0,0,0,0.08) !important;
    border-radius:14px !important;
    overflow:hidden !important;
    margin:0 0 10px 0 !important;
  }
  .kb-cfg-page .spec-table td{
    display:flex !important;
    width:100% !important;
    justify-content:space-between !important;
    align-items:flex-start !important;
    gap:12px !important;
    padding:10px 12px !important;
    border-bottom:1px solid rgba(0,0,0,0.06) !important;
    text-align:left !important;
  }
  .kb-cfg-page .spec-table td:last-child{
    border-bottom:0 !important;
  }
  .kb-cfg-page .spec-table td:first-child{
    font-weight:700 !important;
    color:#111 !important;
    justify-content:flex-start !important;
  }
  .kb-cfg-page .spec-table td:nth-child(2)::before{
    content:"Serie" !important;
    font-weight:600 !important;
    color: rgba(0,0,0,0.60) !important;
    flex:0 0 auto !important;
    margin-right:12px !important;
  }
  .kb-cfg-page .spec-table td:nth-child(3)::before{
    content:"Optimiert" !important;
    font-weight:600 !important;
    color: rgba(0,0,0,0.60) !important;
    flex:0 0 auto !important;
    margin-right:12px !important;
  }

}

/* Warenkorb/Checkout: Fahrzeugdaten wieder als einzelne Zeilen (Woo Standard) */
@media (min-width: 768px){
  .woocommerce-cart .wc-item-meta,
  .woocommerce-checkout .wc-item-meta{
    display: block !important;
    white-space: normal !important;
  }
  .woocommerce-cart .wc-item-meta li,
  .woocommerce-checkout .wc-item-meta li{
    display: block !important;
  }
  .woocommerce-cart .wc-item-meta li:after,
  .woocommerce-checkout .wc-item-meta li:after{
    content: "" !important;
    margin: 0 !important;
  }
}

/* Konfigurator (WPBakery + Shortcode): Desktop schmäler, Title immer oben; Mobile 100% breit */
@media (min-width: 768px){
  .kb-cfg-configurator,
  .kb-cfg-configurator.kb-cfg-configurator-home{
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: flex-end !important;
    justify-content: flex-start !important;
    gap: 12px !important;
  }

  .kb-cfg-configurator .kb-cfg-step.kb-cfg-step--title,
  .kb-cfg-configurator.kb-cfg-configurator-home .kb-cfg-step.kb-cfg-step--title{
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    order: -1 !important;
  }

  .kb-cfg-configurator .kb-cfg-step:not(.kb-cfg-step--title),
  .kb-cfg-configurator.kb-cfg-configurator-home .kb-cfg-step:not(.kb-cfg-step--title){
    flex: 0 0 190px !important;
    min-width: 190px !important;
    max-width: 190px !important;
  }

  .kb-cfg-configurator .kb-cfg-result,
  .kb-cfg-configurator.kb-cfg-configurator-home .kb-cfg-result{
    flex: 0 0 160px !important;
    min-width: 160px !important;
    max-width: 160px !important;
    margin-top: 0 !important;
  }

  .kb-cfg-configurator .kb-cfg-detail-button,
  .kb-cfg-configurator.kb-cfg-configurator-home .kb-cfg-detail-button{
    width: 100% !important;
    max-width: 100% !important;
  }
}

@media (max-width: 767px){
  .kb-cfg-configurator,
  .kb-cfg-configurator.kb-cfg-configurator-home{
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    align-items: stretch !important;
  }
  .kb-cfg-configurator .kb-cfg-step,
  .kb-cfg-configurator .kb-cfg-result{
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
  }
  .kb-cfg-configurator select,
  .kb-cfg-configurator .kb-cfg-detail-button{
    width: 100% !important;
    max-width: 100% !important;
    min-height: 48px !important;
  }
}

/* ===== HOTFIX (2026-01-21): Sehr kleine Mobile Tabs + Tech-Tabelle mobil ===== */

/* Produktdetail Tabs: sehr kleine Mobile – Kreise dürfen nicht überlappen */
@media (max-width: 420px){
  .kb-cfg-page .kb-cfg-tabs-header{
    grid-template-columns: repeat(4, minmax(0,1fr)) !important;
    gap: 10px !important;
  }
  .kb-cfg-page .kb-cfg-tab-button{
    min-height: 92px !important;
  }
  .kb-cfg-page .kb-cfg-tab-button .kb-cfg-tab-ico{
    width: 56px !important;
    height: 56px !important;
  }
  .kb-cfg-page .kb-cfg-tab-button .kb-cfg-tab-svg,
  .kb-cfg-page .kb-cfg-tab-button .kb-cfg-tab-icon-img{
    width: 26px !important;
    height: 26px !important;
  }
  .kb-cfg-page .kb-cfg-tab-button .kb-cfg-tab-label{
    font-size: 11px !important;
  }
}

@media (max-width: 340px){
  .kb-cfg-page .kb-cfg-tabs-header{
    gap: 8px !important;
  }
  .kb-cfg-page .kb-cfg-tab-button{
    min-height: 88px !important;
  }
  .kb-cfg-page .kb-cfg-tab-button .kb-cfg-tab-ico{
    width: 52px !important;
    height: 52px !important;
  }
  .kb-cfg-page .kb-cfg-tab-button .kb-cfg-tab-svg,
  .kb-cfg-page .kb-cfg-tab-button .kb-cfg-tab-icon-img{
    width: 24px !important;
    height: 24px !important;
  }
  .kb-cfg-page .kb-cfg-tab-button .kb-cfg-tab-label{
    font-size: 10px !important;
  }
}
/* Technische Daten Tabelle: mobil als Cards (ohne horizontales Scrollen) */
@media (max-width: 520px){
  .kb-cfg-page .spec-table{
    display: block !important;
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 10px !important;
    font-size: 14px !important;
  }

  /* Kopfzeile (Serie/Optimiert) ausblenden */
  .kb-cfg-page .spec-table tr:first-child{
    display: none !important;
  }

  .kb-cfg-page .spec-table tr{
    display: block !important;
    background: #fff !important;
    border: 1px solid rgba(0,0,0,0.08) !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    margin: 0 0 10px 0 !important;
  }

  .kb-cfg-page .spec-table td{
    display: flex !important;
    width: 100% !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 12px !important;
    padding: 10px 12px !important;
    border-bottom: 1px solid rgba(0,0,0,0.06) !important;
    text-align: left !important;
  }
  .kb-cfg-page .spec-table td:last-child{
    border-bottom: 0 !important;
  }

  /* 1. Zeile = Name */
  .kb-cfg-page .spec-table td:first-child{
    font-weight: 800 !important;
    color: #111 !important;
    justify-content: flex-start !important;
  }

  /* 2.+3. Zeile bekommen Labels davor */
  .kb-cfg-page .spec-table td:nth-child(2)::before{
    content: "Serie" !important;
    font-weight: 700 !important;
    color: rgba(0,0,0,0.60) !important;
    flex: 0 0 auto !important;
    margin-right: 12px !important;
  }
  .kb-cfg-page .spec-table td:nth-child(3)::before{
    content: "Optimiert" !important;
    font-weight: 700 !important;
    color: rgba(0,0,0,0.60) !important;
    flex: 0 0 auto !important;
    margin-right: 12px !important;
  }

}

.kb-cfg-configurator .kb-cfg-detail-button{
  min-height:40px !important;
  height:40px !important;
  font-size:14px !important;
  line-height:1.1 !important;
  padding:0 16px !important;
}
@media (max-width: 767px){
  /* Nur rechts + unten Luft, links bleibt bündig */
  .kb-cfg-configurator{
    padding-top:0 !important;
    padding-right:16px !important;
    padding-bottom:16px !important;
    padding-left:0 !important;
  }
}

/* 2) Produktdetail Order-Row: Smartphone = Inputs nebeneinander, Button darunter */
@media (max-width: 767px){
  .kb-cfg-page .kb-cfg-order-grid{
    grid-template-columns: 1fr !important;
  }
  .kb-cfg-page .kb-cfg-order-grid .kb-cfg-order-fields{
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
  }
  .kb-cfg-page .kb-cfg-order-grid .kb-cfg-order-action{
    width:100% !important;
    justify-self: stretch !important;
  }
  .kb-cfg-page .kb-cfg-order-grid .kb-cfg-order-action .hero-button{
    width:100% !important;
  }
}
@media (max-width: 360px){
  .kb-cfg-page .kb-cfg-order-grid .kb-cfg-order-fields{
    grid-template-columns: 1fr !important;
  }

}

/* 360 Viewer (Shortcode) */
.kb-cfg-page .kb-cfg-media-modal-360 {
  width: 100%;
  height: 70vh;
  max-height: 70vh;
  position: relative;
}
.kb-cfg-page .kb-cfg-media-modal-360-inner {
  width: 100%;
  height: 100%;
}
.kb-cfg-page .kb-cfg-media-modal-360-loader {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  opacity: 0.85;
}
.kb-cfg-page .kb-cfg-360-error {
  padding: 14px;
  font-size: 14px;
  opacity: 0.9;
}
