/*
 Theme Name:   Fahrschule Henninges
 Theme URI:    https://fahrschule-henninges.de
 Description:  Individuelles Child Theme der Fahrschule Henninges
 Author:       Marketing Fahrschule
 Template:     hello-elementor
 Version:      1.0.0
*/

/* =========================================================
   HENNINGES – ÜBERGABEVERSION style.css
   =========================================================

   KURZANLEITUNG FÜR DIE ÜBERGABE
   ---------------------------------------------------------
   Diese Datei ist NICHT zum freien Umbauen gedacht.
   Bitte nur in den markierten Bereichen ändern.

   DU DARFST ÄNDERN:
   1) Farben / Radius / Grundwerte in Abschnitt A
   2) Standard-Abstände in Abschnitt B
   3) Button-Optik in Abschnitt C

   BITTE NICHT ÄNDERN:
   - WCS / Terminlogik
   - Plugin-Fixes
   - Responsive Sonderregeln
   - page-id / post-id Sonderfälle
   - Header-/Hero-Fixes

   WICHTIG:
   - Nur Werte ändern, keine Klassennamen umbenennen.
   - Bei Unsicherheit lieber vorhandene Seite duplizieren.
   - Diese Datei enthält auch technische Stabilitätsregeln.
   ========================================================= */

/* =========================================================
   SYSTEM-HINWEIS
   ---------------------------------------------------------
   Diese Basisdatei soll nur systemische Regeln enthalten.
   Projekt-/kundenspezifische Farben und Feinsteuerungen
   gehören künftig in fs-design-overrides.css.
   ========================================================= */

/* =========================================================
   INHALT
   ---------------------------------------------------------
   A) ÄNDERBAR – DESIGNTOKENS
   A2) OPTIONAL – ELEMENTOR SYNC / KOMPATIBILITÄT
   B) ÄNDERBAR – STANDARD-ABSTÄNDE
   C) ÄNDERBAR – BUTTONS
   D) SYSTEM – BASIS / HEADER / HERO
   E) SYSTEM – ICONS / ICON BOXEN / SOCIAL ICONS
   F) SYSTEM – DARK SURFACES / UTILITIES / ACCORDION / PORTFOLIO / LOGO
   G) SYSTEM – FLIPBOXEN / TABELLEN / EINZELSEITEN / TABS / NAV
   H) GESCHÜTZT – PLUGIN OVERRIDES
   I) GESCHÜTZT – WCS SYSTEM
   ========================================================= */

/* =========================================================
   A) ÄNDERBAR – DESIGNTOKENS
   ========================================================= */

:root{
  /* ========================================
     HIGHLIGHT BUTTON TOKENS
  ======================================== */
  --fp-highlight-button-bg: var(--fp-accent);
  --fp-highlight-button-bg-hover: var(--fp-primary-dark);
  --fp-highlight-button-text: var(--fp-text-invert);
  --fp-highlight-button-shadow: 0 8px 20px rgba(0,0,0,.25);

  /* ======================================================
     DESIGN SYSTEM – FÜHRENDE TOKENS
     ------------------------------------------------------
     Diese Tokens sind die zentrale Andockstelle für:
     - manuelle Design-Anpassungen
     - fs-design-overrides.css
     - spätere Tool-Automation (Logo -> Palette -> Tokens)
     ====================================================== */

  /* BRAND */
  --fp-primary: #1f4fb8;
  --fp-primary-dark: #142f73;
  --fp-accent: #1f4fb8;
  --fp-icon-color: var(--fp-accent);

  /* TEXT */
  --fp-text: #07080c;
  --fp-text-invert: #ffffff;
  --fp-text-on-dark: #ffffff;
  --fp-text-on-brand: #07080c;

  /* LIGHT SURFACES */
  --fp-bg-white: #ffffff;
  --fp-bg-light: #f3f5f9;
  --fp-bg-soft: #f7f9fc;

  /* DARK SURFACES */
  --fp-surface-dark-1: #1f2023;
  --fp-surface-dark-2: #131417;
  --fp-surface-dark-3: #060709;

  /* BRAND SURFACES / EFFECT STEPS */
  --fp-brand-1: #1f4fb8;
  --fp-brand-2: rgba(31,79,184,0.85);
  --fp-brand-3: rgba(20,47,115,0.95);
  --fp-brand-strong-1: rgba(31,79,184,0.95);
  --fp-brand-strong-2: rgba(31,79,184,0.70);
  --fp-brand-strong-3: rgba(20,47,115,0.95);

  /* BORDERS */
  --fp-border-light: rgba(7,8,12,.12);
  --fp-border-soft: rgba(7,8,12,.08);
  --fp-border-soft-strong: rgba(31,79,184,.45);
  --fp-border-invert: rgba(255,255,255,.18);

  /* SHADOWS / GLOWS */
  --fp-shadow-dark-soft: rgba(0,0,0,0.45);
  --fp-shadow-dark-strong: rgba(0,0,0,0.60);
  --fp-glow-brand-soft: rgba(31,79,184,0.18);
  --fp-glow-brand-strong: rgba(31,79,184,0.30);

  /* RADIUS / SYSTEM */
  --fp-radius: 8px;
  --fp-radius-soft: 16px;
  --fp-radius-xl: 22px;
  --fp-header-h: 110px;

  /* DESIGN-SYSTEM GRADIENTS */
  --fp-gradient-brand: linear-gradient(
    90deg,
    var(--fp-primary) 0%,
    var(--fp-primary-dark) 100%
  );
  --fp-gradient-brand-reverse: linear-gradient(
    90deg,
    var(--fp-primary-dark) 0%,
    var(--fp-primary) 100%
  );
  --fp-gradient-dark-diagonal: linear-gradient(
    129deg,
    var(--fp-text) 21%,
    var(--fp-primary) 130%
  );
  --fp-gradient-brand-radial: radial-gradient(
    at center,
    var(--fp-primary) -50%,
    var(--fp-text) 100%
  );
  --fp-gradient-surface-dark: radial-gradient(
    circle at top left,
    var(--fp-surface-dark-1) 0%,
    var(--fp-surface-dark-2) 60%,
    var(--fp-surface-dark-3) 100%
  );
  --fp-gradient-brand-surface: radial-gradient(
    circle at top left,
    var(--fp-brand-1) 0%,
    var(--fp-brand-2) 65%,
    var(--fp-brand-3) 100%
  );
  --fp-gradient-brand-surface-strong: radial-gradient(
    circle at top left,
    var(--fp-brand-strong-1) 0%,
    var(--fp-brand-strong-2) 55%,
    var(--fp-brand-strong-3) 100%
  );

  /* WCS-Farben – ziehen aus dem Hauptsystem */
  --wcs-accent: var(--fp-primary);
  --wcs-accent-dark: var(--fp-primary-dark);
  --wcs-text: var(--fp-text);
  --wcs-bg: var(--fp-bg-white);
  --wcs-bg-light: var(--fp-bg-light);
  --wcs-border: var(--fp-border-light);
  --wcs-border-soft: var(--fp-border-soft);
  --wcs-radius: var(--fp-radius-soft);

  /* WHATSAPP PLUGIN – SYSTEM MAPPING */
  --mf-wa-btn-bg: var(--fp-primary);
  --mf-wa-btn-bg-hover: var(--fp-primary-dark);
  --mf-wa-btn-text: var(--fp-text-invert);

  --mf-wa-panel-bg: var(--fp-bg-white);
  --mf-wa-panel-text: var(--fp-text);
  --mf-wa-panel-muted: rgba(7,8,12,.72);
  --mf-wa-panel-border: var(--fp-border-light);

  --mf-wa-header-bg: var(--fp-primary);
  --mf-wa-header-text: var(--fp-text-invert);

  --mf-wa-card-bg: var(--fp-bg-light);
  --mf-wa-card-text: var(--fp-text);

  --mf-wa-radius: var(--fp-radius-soft);
  --mf-wa-shadow: 0 18px 40px rgba(0,0,0,.16);
}

/* =========================================================
   A2) OPTIONAL – ELEMENTOR SYNC / KOMPATIBILITÄT
   ---------------------------------------------------------
   Diese Ebene ist nur eine KOMPATIBILITÄTSSCHICHT für
   bestehende Elementor-Projekte.

   WICHTIG:
   - Das führende Design-System sind die --fp-* Tokens.
   - Elementor darf optisch mitsynchronisiert werden,
     ist aber nicht mehr die Quelle der Wahrheit.
   - Projektbezogene Random-IDs sollten perspektivisch
     nicht mehr manuell gepflegt, sondern automatisch
     durch Tool-Sync / Overrides geschrieben werden.

   Solange ein bestehendes Projekt diese IDs bereits nutzt,
   dürfen sie zur Stabilität erhalten bleiben.
   ========================================================= */

:root {
  /* System-Slots */
  --e-global-color-primary:   var(--fp-text);
  --e-global-color-secondary: var(--fp-text-invert);
  --e-global-color-text:      var(--fp-text);

  /* Bestehende projektbezogene Kompatibilitäts-Mappings */
  --e-global-color-7fb8d35:   var(--fp-primary);
  --e-global-color-3abdacc:   var(--fp-primary-dark);
  --e-global-color-8a4203a:   var(--fp-bg-light);
  --e-global-color-9749358:   var(--fp-bg-soft);
}

/*
   HINWEIS FÜR DIE ZUKUNFT:
   Diese Ebene ist NICHT systemkritisch. Zielzustand ist:
   - --fp-* Tokens führen
   - Elementor wird optional mitgefüttert
   - keine manuelle Clone-Nachpflege mehr
*/

/* =========================================================
   THEME MODES
   ---------------------------------------------------------
   Body-Klasse via ACF / PHP:
   - fp-theme-standard
   - fp-theme-premium
   ========================================================= */

body.fp-theme-standard{
  --fp-primary: #1f4fb8;
  --fp-primary-dark: #142f73;
  --fp-accent: var(--fp-primary);
  --fp-icon-color: var(--fp-accent);

  --fp-text: #07080c;
  --fp-text-invert: #ffffff;
  --fp-text-on-dark: #ffffff;
  --fp-text-on-brand: #07080c;

  --fp-bg-white: #ffffff;
  --fp-bg-light: #f3f5f9;
  --fp-bg-soft: #f7f9fc;

  --fp-surface-dark-1: #1f2023;
  --fp-surface-dark-2: #131417;
  --fp-surface-dark-3: #060709;

  --fp-brand-1: var(--fp-primary);
  --fp-brand-2: rgba(31,79,184,0.85);
  --fp-brand-3: rgba(20,47,115,0.95);
  --fp-brand-strong-1: rgba(31,79,184,0.95);
  --fp-brand-strong-2: rgba(31,79,184,0.70);
  --fp-brand-strong-3: rgba(20,47,115,0.95);

  --fp-border-light: rgba(7,8,12,.12);
  --fp-border-soft: rgba(7,8,12,.08);
  --fp-border-soft-strong: rgba(31,79,184,.45);
  --fp-border-invert: rgba(255,255,255,.18);

  --fp-shadow-dark-soft: rgba(0,0,0,0.45);
  --fp-shadow-dark-strong: rgba(0,0,0,0.60);
  --fp-glow-brand-soft: rgba(31,79,184,0.18);
  --fp-glow-brand-strong: rgba(31,79,184,0.30);

  --fp-gradient-brand: linear-gradient(
    90deg,
    var(--fp-primary) 0%,
    var(--fp-primary-dark) 100%
  );
  --fp-gradient-brand-reverse: linear-gradient(
    90deg,
    var(--fp-primary-dark) 0%,
    var(--fp-primary) 100%
  );
  --fp-gradient-dark-diagonal: linear-gradient(
    129deg,
    var(--fp-text) 21%,
    var(--fp-primary) 130%
  );
  --fp-gradient-brand-radial: radial-gradient(
    at center,
    var(--fp-primary) -50%,
    var(--fp-text) 100%
  );
  --fp-gradient-surface-dark: radial-gradient(
    circle at top left,
    var(--fp-surface-dark-1) 0%,
    var(--fp-surface-dark-2) 60%,
    var(--fp-surface-dark-3) 100%
  );
  --fp-gradient-brand-surface: radial-gradient(
    circle at top left,
    var(--fp-brand-1) 0%,
    var(--fp-brand-2) 65%,
    var(--fp-brand-3) 100%
  );
  --fp-gradient-brand-surface-strong: radial-gradient(
    circle at top left,
    var(--fp-brand-strong-1) 0%,
    var(--fp-brand-strong-2) 55%,
    var(--fp-brand-strong-3) 100%
  );

  --wcs-accent: var(--fp-primary);
  --wcs-accent-dark: var(--fp-primary-dark);
  --wcs-text: var(--fp-text);
  --wcs-bg: var(--fp-bg-white);
  --wcs-bg-light: var(--fp-bg-light);
  --wcs-border: var(--fp-border-light);
  --wcs-border-soft: var(--fp-border-soft);
  --wcs-radius: var(--fp-radius-soft);

  --mf-wa-btn-bg: var(--fp-primary);
  --mf-wa-btn-bg-hover: var(--fp-primary-dark);
  --mf-wa-btn-text: var(--fp-text-invert);

  --mf-wa-panel-bg: var(--fp-bg-white);
  --mf-wa-panel-text: var(--fp-text);
  --mf-wa-panel-muted: rgba(7,8,12,.72);
  --mf-wa-panel-border: var(--fp-border-light);

  --mf-wa-header-bg: var(--fp-primary);
  --mf-wa-header-text: var(--fp-text-invert);

  --mf-wa-card-bg: var(--fp-bg-light);
  --mf-wa-card-text: var(--fp-text);
}

body.fp-theme-premium{
  --fp-primary: #e2c35a;
  --fp-primary-dark: #cfa24a;
  --fp-accent: var(--fp-primary);
  --fp-icon-color: var(--fp-accent);

  --fp-text: #080809;
  --fp-text-invert: #ffffff;
  --fp-text-on-dark: #ffffff;
  --fp-text-on-brand: #111111;

  --fp-bg-white: #080809;
  --fp-bg-light: #121315;
  --fp-bg-soft: #1b1b1d;

  --fp-surface-dark-1: #1b1b1d;
  --fp-surface-dark-2: #121315;
  --fp-surface-dark-3: #080809;

  --fp-brand-1: var(--fp-primary);
  --fp-brand-2: rgba(207,162,74,0.82);
  --fp-brand-3: rgba(166,124,33,0.95);
  --fp-brand-strong-1: rgba(226,195,90,0.95);
  --fp-brand-strong-2: rgba(207,162,74,0.72);
  --fp-brand-strong-3: rgba(166,124,33,0.95);

  --fp-border-light: rgba(255,255,255,.12);
  --fp-border-soft: rgba(255,255,255,.08);
  --fp-border-soft-strong: rgba(207,162,74,.45);
  --fp-border-invert: rgba(255,255,255,.18);

  --fp-shadow-dark-soft: rgba(0,0,0,0.45);
  --fp-shadow-dark-strong: rgba(0,0,0,0.60);
  --fp-glow-brand-soft: rgba(207,162,74,0.18);
  --fp-glow-brand-strong: rgba(207,162,74,0.30);

  --fp-gradient-brand: linear-gradient(
    90deg,
    var(--fp-primary) 0%,
    var(--fp-primary-dark) 100%
  );
  --fp-gradient-brand-reverse: linear-gradient(
    90deg,
    var(--fp-primary-dark) 0%,
    var(--fp-primary) 100%
  );
  --fp-gradient-dark-diagonal: linear-gradient(
    129deg,
    var(--fp-text) 21%,
    var(--fp-primary) 130%
  );
  --fp-gradient-brand-radial: radial-gradient(
    at center,
    var(--fp-primary) -50%,
    var(--fp-text) 100%
  );
  --fp-gradient-surface-dark: radial-gradient(
    circle at top left,
    var(--fp-surface-dark-1) 0%,
    var(--fp-surface-dark-2) 60%,
    var(--fp-surface-dark-3) 100%
  );
  --fp-gradient-brand-surface: radial-gradient(
    circle at top left,
    var(--fp-brand-1) 0%,
    var(--fp-brand-2) 65%,
    var(--fp-brand-3) 100%
  );
  --fp-gradient-brand-surface-strong: radial-gradient(
    circle at top left,
    var(--fp-brand-strong-1) 0%,
    var(--fp-brand-strong-2) 55%,
    var(--fp-brand-strong-3) 100%
  );

  --wcs-accent: var(--fp-primary);
  --wcs-accent-dark: var(--fp-primary-dark);
  --wcs-text: var(--fp-text-invert);
  --wcs-bg: var(--fp-surface-dark-2);
  --wcs-bg-light: var(--fp-surface-dark-1);
  --wcs-border: var(--fp-border-light);
  --wcs-border-soft: var(--fp-border-soft);
  --wcs-radius: var(--fp-radius-soft);

  --mf-wa-btn-bg: var(--fp-primary);
  --mf-wa-btn-bg-hover: var(--fp-primary-dark);
  --mf-wa-btn-text: var(--fp-text-on-brand);

  --mf-wa-panel-bg: var(--fp-surface-dark-2);
  --mf-wa-panel-text: var(--fp-text-invert);
  --mf-wa-panel-muted: rgba(255,255,255,.72);
  --mf-wa-panel-border: var(--fp-border-light);

  --mf-wa-header-bg: var(--fp-primary);
  --mf-wa-header-text: var(--fp-text-on-brand);

  --mf-wa-card-bg: var(--fp-surface-dark-1);
  --mf-wa-card-text: var(--fp-text-invert);
}

/* =========================================================
   SURFACE SYSTEM (SYSTEMISCH)
   ========================================================= */

:root{
  /* ========================================
     HIGHLIGHT BUTTON TOKENS
  ======================================== */
  --fp-highlight-button-bg: var(--fp-accent);
  --fp-highlight-button-bg-hover: var(--fp-primary-dark);
  --fp-highlight-button-text: var(--fp-text-invert);
  --fp-highlight-button-shadow: 0 8px 20px rgba(0,0,0,.25);

  --fp-surface-1: var(--fp-bg-white);
  --fp-surface-2: var(--fp-bg-light);
  --fp-surface-1-text: var(--fp-text);
  --fp-surface-2-text: var(--fp-text);
}

.fp-section-light{
  background-color: var(--fp-surface-1) !important;
  color: var(--fp-surface-1-text) !important;
}

.fp-section-soft{
  background-color: var(--fp-surface-2) !important;
  color: var(--fp-surface-2-text) !important;
}

@media (max-width: 767px){
  :root{ --fp-header-h: 92px; }
}

/* =========================================================
   B) ÄNDERBAR – STANDARD-ABSTÄNDE
   ========================================================= */

.pad-l{
  padding: 3em 1.25em 2.5em;
}

@media (min-width: 576px){
  .pad-l{ padding: 4em; }
}
@media (min-width: 992px){
  .pad-l{ padding: 5em; }
}
@media (min-width: 1200px){
  .pad-l{ padding: 9em 5em; }
}
@media (min-width: 1920px){
  .pad-l{ padding: 11em 8em; }
}

@media (max-width: 767px){
  .pad-l-boxed{
    padding: 3em 1.25em 2.5em !important;
  }

  .pad-l-boxed.e-con{
    width: 100% !important;
    max-width: 100% !important;
    --container-max-width: 100% !important;
    --content-width: 100% !important;
  }

  .pad-l-boxed.e-con.e-con-boxed > .e-con-inner,
  .pad-l-boxed.e-con > .e-con-inner{
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* =========================================================
   C) ÄNDERBAR – BUTTONS
   ========================================================= */

.elementor-button{
  transition:
    transform .25s ease,
    filter .25s ease,
    background-color .25s ease,
    color .25s ease,
    border-color .25s ease;

  background-image: var(--fp-gradient-brand) !important;
  border: 0 !important;
}

.elementor-button:hover,
.elementor-button:focus,
.elementor-button:active{
  background-image: var(--fp-gradient-brand-reverse) !important;

  transform: translateY(-1px);
  filter: brightness(97%);
}

.button-outline-dark .elementor-button{
  background: transparent;
  color: var(--fp-primary);
  box-shadow: inset 0 0 0 1px var(--fp-primary);
}

.button-outline-dark .elementor-button:hover{
  background: var(--fp-primary);
  color: var(--fp-text-invert);
}

.button-outline-light .elementor-button{
  background: transparent;
  color: var(--fp-text-invert);
  box-shadow: inset 0 0 0 1px var(--fp-text-invert);
}

.button-outline-light .elementor-button:hover{
  background: var(--fp-text-invert);
  color: var(--fp-text);
}

/* =========================================================
   D) SYSTEM – BASIS / HEADER / HERO
   ========================================================= */

html,
body{
  overflow-x: hidden;
}

html:not(.fp-header-ready) #hide-header-2{
  transition: none !important;
}

#hide-header-2{
  height: var(--fp-header-h) !important;
}

body{
  padding-top: var(--fp-header-h);
}

.hero-wrap{
  --min-height: 100vh !important;
  min-height: 100vh !important;
  overflow: visible !important;
  position: relative;
}

@media (max-width: 1536px) and (min-width: 992px){
  .hero-wrap{
    --min-height: calc(100vh + 180px) !important;
    min-height: calc(100vh + 180px) !important;
  }
}

@media (max-height: 820px) and (min-width: 992px){
  .hero-wrap{
    --min-height: calc(100vh + 220px) !important;
    min-height: calc(100vh + 220px) !important;
    padding-top: 120px !important;
  }
}

@media (max-height: 500px) and (max-width: 991px) and (orientation: landscape){
  .hero-wrap{
    --min-height: 100vh !important;
    min-height: 100vh !important;
    padding-top: 100px !important;
  }
}

h2,
.elementor-widget-heading h2.elementor-heading-title{
  background: none !important;
  -webkit-background-clip: initial !important;
  -webkit-text-fill-color: currentColor !important;
  color: var(--fp-text) !important;
}

h2{
  padding-bottom: 20px !important;
}

@media (max-width: 767px){
  h2{
    padding-bottom: 10px !important;
  }
}

main.hero-wrap{
  min-height: 100vh;
}

@media (max-height: 820px){
  main.hero-wrap{
    padding-bottom: 180px !important;
    padding-top: 120px !important;
  }
}

@media (max-height: 500px) and (orientation: landscape){
  main.hero-wrap{
    padding-bottom: 220px !important;
    padding-top: 100px !important;
  }
}

.fp-hero-h1 .elementor-heading-title{
  margin: 0 !important;
  text-wrap: balance;
}

@media (max-width: 991px){
  .fp-hero-h1 .elementor-heading-title{
    font-size: 48px !important;
    line-height: 1.05 !important;
  }
}

@media (max-height: 500px) and (orientation: landscape){
  .fp-hero-h1 .elementor-heading-title{
    font-size: 34px !important;
    line-height: 1.05 !important;
  }
}

@media (max-width: 1536px) and (min-width: 992px){
  .fp-hero-h1 .elementor-heading-title{ font-size: 6.1em !important; }
  .fp-hero-h1.is-2l .elementor-heading-title{ font-size: 5.5em !important; }
}
@media (max-width: 1366px) and (min-width: 992px){
  .fp-hero-h1 .elementor-heading-title{ font-size: 5.7em !important; }
  .fp-hero-h1.is-2l .elementor-heading-title{ font-size: 5.1em !important; }
}

/* =========================================================
   E) SYSTEM – ICONS / ICON BOXEN / SOCIAL ICONS
   ========================================================= */

/* ========================================
   ICON SYSTEM
======================================== */

/* Standard Icons (Primary) – NUR ICON, NICHT TEXT */
.fp-icon-default .elementor-icon,
.fp-icon-default i{
  color: var(--fp-primary) !important;
}

.fp-icon-default:hover .elementor-icon,
.fp-icon-default:hover i{
  color: var(--fp-primary-dark) !important;
}

/* White Icons (für dunkle / blaue Hintergründe) */
.fp-icon-white .elementor-icon,
.fp-icon-white i{
  color: var(--fp-text-invert) !important;
}

/* Accent Icons (optional / Kontrastfarbe) */
.fp-icon-accent .elementor-icon,
.fp-icon-accent i{
  color: var(--fp-accent) !important;
}

.fp-icon-accent:hover .elementor-icon,
.fp-icon-accent:hover i{
  color: var(--fp-primary) !important;
}

/* ----------------------------------------
   CUSTOM SVG / CANVA ICON SAFETY
   ----------------------------------------
   System-Icons mit currentColor bleiben steuerbar.
   Mehrfarbige eigene SVGs behalten ihre internen Farben.
---------------------------------------- */
.elementor-icon svg,
.elementor-icon-box-icon svg,
.elementor-icon-list-icon svg{
  color: inherit !important;
}

.elementor-icon svg [fill="currentColor"],
.elementor-icon-box-icon svg [fill="currentColor"],
.elementor-icon-list-icon svg [fill="currentColor"]{
  fill: currentColor !important;
}

.elementor-icon svg [stroke="currentColor"],
.elementor-icon-box-icon svg [stroke="currentColor"],
.elementor-icon-list-icon svg [stroke="currentColor"]{
  stroke: currentColor !important;
}

/* Icon-Listen:
   Elementor-/Font-Icons dürfen weiter über currentColor laufen.
   Eigene SVGs mit festen Farben sollen NICHT pauschal über den Wrapper
   mit fill/stroke eingefärbt werden. */
.elementor-icon-list-icon{
  height: var(--e-icon-list-icon-size,1em);
  width: var(--e-icon-list-icon-size,1em);
  margin: var(--e-icon-list-icon-margin,0 calc(var(--e-icon-list-icon-size, 1em) * .25) 0 0);
}

.elementor-icon-list-icon i{
  color: currentColor;
}

:not(.fp-icon-original) /* Original-SVG-Fills mit festen Attributen bleiben unangetastet */

:not(.fp-icon-original) /* Original-SVG-Strokes mit festen Attributen bleiben unangetastet */

/* Mehrfarbige Custom-SVGs niemals pauschal über Wrapper-Fill übermalen */
.elementor-icon svg,
.elementor-icon-box-icon svg,
.elementor-icon-list-icon svg,
.elementor-icon svg *,
.elementor-icon-box-icon svg *,
.elementor-icon-list-icon svg *{
  vector-effect: non-scaling-stroke;
}

/* ========================================
   ICON BOX SYSTEM
======================================== */

.fp-icon-box{
  display: block;
}

.fp-icon-box .elementor-icon-box-title,
.fp-icon-box .elementor-icon-box-title a,
.fp-icon-box .elementor-icon-box-description,
.fp-icon-box .elementor-icon-box-description p{
  color: var(--fp-text) !important;
}

.fp-icon-box:not(.fp-icon-white):not(.fp-icon-default):not(.fp-icon-accent) .elementor-icon,
.fp-icon-box:not(.fp-icon-white):not(.fp-icon-default):not(.fp-icon-accent) .elementor-icon i{
  color: var(--fp-primary) !important;
}

.fp-icon-box:not(.fp-icon-white):not(.fp-icon-default):not(.fp-icon-accent):hover .elementor-icon,
.fp-icon-box:not(.fp-icon-white):not(.fp-icon-default):not(.fp-icon-accent):hover .elementor-icon i{
  color: var(--fp-primary-dark) !important;
}

.fp-icon-box.fp-icon-default .elementor-icon,
.fp-icon-box.fp-icon-default .elementor-icon i{
  color: var(--fp-primary) !important;
}

.fp-icon-box.fp-icon-default:hover .elementor-icon,
.fp-icon-box.fp-icon-default:hover .elementor-icon i{
  color: var(--fp-primary-dark) !important;
}

.fp-icon-box.fp-icon-white .elementor-icon,
.fp-icon-box.fp-icon-white .elementor-icon i{
  color: var(--fp-text-invert) !important;
}

.fp-icon-box.fp-icon-white:hover .elementor-icon,
.fp-icon-box.fp-icon-white:hover .elementor-icon i{
  color: var(--fp-text-invert) !important;
}

.fp-icon-box.fp-icon-accent .elementor-icon,
.fp-icon-box.fp-icon-accent .elementor-icon i{
  color: var(--fp-accent) !important;
}

.fp-icon-box.fp-icon-accent:hover .elementor-icon,
.fp-icon-box.fp-icon-accent:hover .elementor-icon i{
  color: var(--fp-primary) !important;
}

.fp-icon-box .elementor-icon,
.fp-icon-box .elementor-icon i{
  transition:
    color .25s ease,
    transform .25s ease !important;
}

.fp-icon-box:hover .elementor-icon{
  transform: scale(1.04);
}

.dark-section .fp-icon-box .elementor-icon-box-title,
.dark-section .fp-icon-box .elementor-icon-box-title a,
.dark-section .fp-icon-box .elementor-icon-box-description,
.dark-section .fp-icon-box .elementor-icon-box-description p,
.fp-bg-dark .fp-icon-box .elementor-icon-box-title,
.fp-bg-dark .fp-icon-box .elementor-icon-box-title a,
.fp-bg-dark .fp-icon-box .elementor-icon-box-description,
.fp-bg-dark .fp-icon-box .elementor-icon-box-description p,
.fp-dark-gradient .fp-icon-box .elementor-icon-box-title,
.fp-dark-gradient .fp-icon-box .elementor-icon-box-title a,
.fp-dark-gradient .fp-icon-box .elementor-icon-box-description,
.fp-dark-gradient .fp-icon-box .elementor-icon-box-description p,
.dark-gradient-primary .fp-icon-box .elementor-icon-box-title,
.dark-gradient-primary .fp-icon-box .elementor-icon-box-title a,
.dark-gradient-primary .fp-icon-box .elementor-icon-box-description,
.fp-footer-gradient .fp-icon-box .elementor-icon-box-title,
.fp-footer-gradient .fp-icon-box .elementor-icon-box-title a,
.fp-footer-gradient .fp-icon-box .elementor-icon-box-description,
.fp-footer-gradient .fp-icon-box .elementor-icon-box-description p{
  color: var(--fp-text-invert) !important;
}

.dark-section .fp-icon-box:not(.fp-icon-default):not(.fp-icon-white):not(.fp-icon-accent) .elementor-icon,
.dark-section .fp-icon-box:not(.fp-icon-default):not(.fp-icon-white):not(.fp-icon-accent) .elementor-icon i,
.fp-bg-dark .fp-icon-box:not(.fp-icon-default):not(.fp-icon-white):not(.fp-icon-accent) .elementor-icon,
.fp-bg-dark .fp-icon-box:not(.fp-icon-default):not(.fp-icon-white):not(.fp-icon-accent) .elementor-icon i,
.fp-dark-gradient .fp-icon-box:not(.fp-icon-default):not(.fp-icon-white):not(.fp-icon-accent) .elementor-icon,
.fp-dark-gradient .fp-icon-box:not(.fp-icon-default):not(.fp-icon-white):not(.fp-icon-accent) .elementor-icon i,
.dark-gradient-primary .fp-icon-box:not(.fp-icon-default):not(.fp-icon-white):not(.fp-icon-accent) .elementor-icon,
.dark-gradient-primary .fp-icon-box:not(.fp-icon-default):not(.fp-icon-white):not(.fp-icon-accent) .elementor-icon i,
.fp-footer-gradient .fp-icon-box:not(.fp-icon-default):not(.fp-icon-white):not(.fp-icon-accent) .elementor-icon,
.fp-footer-gradient .fp-icon-box:not(.fp-icon-default):not(.fp-icon-white):not(.fp-icon-accent) .elementor-icon i{
  color: var(--fp-text-invert) !important;
}

.dark-section .fp-icon-box:not(.fp-icon-default):not(.fp-icon-white):not(.fp-icon-accent):hover .elementor-icon,
.dark-section .fp-icon-box:not(.fp-icon-default):not(.fp-icon-white):not(.fp-icon-accent):hover .elementor-icon i,
.fp-bg-dark .fp-icon-box:not(.fp-icon-default):not(.fp-icon-white):not(.fp-icon-accent):hover .elementor-icon,
.fp-bg-dark .fp-icon-box:not(.fp-icon-default):not(.fp-icon-white):not(.fp-icon-accent):hover .elementor-icon i,
.fp-dark-gradient .fp-icon-box:not(.fp-icon-default):not(.fp-icon-white):not(.fp-icon-accent):hover .elementor-icon,
.fp-dark-gradient .fp-icon-box:not(.fp-icon-default):not(.fp-icon-white):not(.fp-icon-accent):hover .elementor-icon i,
.dark-gradient-primary .fp-icon-box:not(.fp-icon-default):not(.fp-icon-white):not(.fp-icon-accent):hover .elementor-icon,
.dark-gradient-primary .fp-icon-box:not(.fp-icon-default):not(.fp-icon-white):not(.fp-icon-accent):hover .elementor-icon i,
.fp-footer-gradient .fp-icon-box:not(.fp-icon-default):not(.fp-icon-white):not(.fp-icon-accent):hover .elementor-icon,
.fp-footer-gradient .fp-icon-box:not(.fp-icon-default):not(.fp-icon-white):not(.fp-icon-accent):hover .elementor-icon i{
  color: var(--fp-text-invert) !important;
}

/* ========================================
   SOCIAL ICONS – FINAL LOGIK
   Standard und Premium bewusst getrennt
======================================== */

/* Standard Theme:
   Kreis = feste Icon-Farbe
   Symbol = weiß */
body.fp-theme-standard .fp-social-primary .elementor-social-icon{
  background-color: var(--fp-accent) !important;
  color: var(--fp-text-invert) !important;
}

body.fp-theme-standard .fp-social-primary .elementor-social-icon i,
body.fp-theme-standard .fp-social-primary .elementor-social-icon svg,
body.fp-theme-standard .fp-social-primary .elementor-social-icon svg *{
  color: var(--fp-text-invert) !important;
  fill: var(--fp-text-invert) !important;
  stroke: var(--fp-text-invert) !important;
}

body.fp-theme-standard .fp-social-primary .elementor-social-icon:hover{
  background-color: var(--fp-accent) !important;
  color: var(--fp-text-invert) !important;
}

/* Premium Theme:
   Kreis = primary
   Symbol = text_on_brand */
body.fp-theme-premium .fp-social-primary .elementor-social-icon{
  background-color: var(--fp-primary) !important;
  color: var(--fp-text-on-brand) !important;
}

body.fp-theme-premium .fp-social-primary .elementor-social-icon i,
body.fp-theme-premium .fp-social-primary .elementor-social-icon svg,
body.fp-theme-premium .fp-social-primary .elementor-social-icon svg *{
  color: var(--fp-text-on-brand) !important;
  fill: var(--fp-text-on-brand) !important;
  stroke: var(--fp-text-on-brand) !important;
}

body.fp-theme-premium .fp-social-primary .elementor-social-icon:hover{
  background-color: var(--fp-primary) !important;
  color: var(--fp-text-on-brand) !important;
}

/* =========================================================
   F) SYSTEM – DARK SURFACES / UTILITIES / ACCORDION / PORTFOLIO / LOGO
   ========================================================= */

/* ========================================
   DARK SECTION + SURFACES
======================================== */

.dark-section{
  color: var(--fp-text-invert);
  --heading-on-dark: var(--fp-text-on-dark);
}

.dark-section .elementor-widget-heading h1.elementor-heading-title,
.dark-section .elementor-widget-heading h2.elementor-heading-title,
.dark-section .elementor-widget-heading h3.elementor-heading-title,
.dark-section .elementor-widget-heading h4.elementor-heading-title,
.dark-section .elementor-widget-heading h5.elementor-heading-title,
.dark-section .elementor-widget-heading h6.elementor-heading-title{
  color: var(--heading-on-dark) !important;
}

.fp-bg-dark{
  background-color: var(--fp-text) !important;
  background-image: none !important;
}

.fp-dark-gradient{
  background-color: var(--fp-text) !important;
  background-image: var(--fp-gradient-dark-diagonal) !important;
}

.dark-gradient-primary{
  background-color: var(--fp-text) !important;
  background-image: var(--fp-gradient-brand-radial) !important;
}

.fp-footer-gradient{
  background-color: var(--fp-text) !important;
  background-image: var(--fp-gradient-dark-diagonal) !important;
}

.bg-white{ background-color: var(--fp-bg-white); }
.bg-light{ background-color: var(--fp-bg-light); }

.elementor-widget-accordion .elementor-accordion .elementor-tab-title{
  background: var(--fp-gradient-brand) !important;

  color: var(--fp-text-invert) !important;
  border-radius: 6px !important;
  margin-bottom: 10px !important;
  transition: background .35s ease !important;
}

@media (hover:hover){
  .elementor-widget-accordion .elementor-accordion .elementor-tab-title:hover{
      background: var(--fp-gradient-brand-reverse) !important;
  }
}

.elementor-widget-accordion .elementor-accordion .elementor-tab-title.elementor-active{
  background: var(--fp-gradient-brand-reverse) !important;
}

/* =========================================================
   PREMIUM – ACCORDION H3 ON BRAND FIX
   ---------------------------------------------------------
   H3-Titel im goldenen Accordion wieder dunkel ziehen.
   ========================================================= */
body.fp-theme-premium .elementor-widget-accordion .elementor-accordion .elementor-tab-title h3,
body.fp-theme-premium .elementor-widget-accordion .elementor-accordion .elementor-tab-title h3 a,
body.fp-theme-premium .elementor-widget-accordion .elementor-accordion .elementor-tab-title .elementor-accordion-title{
  background: none !important;
  -webkit-background-clip: initial !important;
  -webkit-text-fill-color: currentColor !important;
  background-clip: border-box !important;
  color: var(--fp-text-on-brand) !important;
  text-shadow: none !important;
}

/* =========================================================
   PREMIUM – ACCORDION ICON COLOR FIX
   ---------------------------------------------------------
   Icons auf goldenen Accordion-Titeln wieder dunkel ziehen.
   ========================================================= */
body.fp-theme-premium .elementor-widget-accordion .elementor-accordion .elementor-tab-title .elementor-accordion-icon,
body.fp-theme-premium .elementor-widget-accordion .elementor-accordion .elementor-tab-title .elementor-accordion-icon i,
body.fp-theme-premium .elementor-widget-accordion .elementor-accordion .elementor-tab-title .elementor-accordion-icon svg{
  color: var(--fp-text-on-brand) !important;
  fill: var(--fp-text-on-brand) !important;
  stroke: var(--fp-text-on-brand) !important;
}

.elementor-widget-accordion .elementor-accordion .elementor-accordion-icon svg{
  width: 1.4em !important;
  height: 1.4em !important;
  fill: currentColor;
}

.elementor-widget-accordion .elementor-accordion .elementor-tab-content p{
  margin-bottom: 15px !important;
}

.elementor-widget-accordion .elementor-accordion .elementor-tab-content ul + p,
.elementor-widget-accordion .elementor-accordion .elementor-tab-content ol + p{
  margin-top: 15px !important;
}

.elementor-widget-accordion .elementor-accordion .elementor-tab-content li{
  margin-left: -20px !important;
}

.elementor-widget-accordion .elementor-accordion .elementor-tab-content{
  background-color: var(--fp-bg-light) !important;
}

.offcanvas-trigger{
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.elementor-portfolio-item__overlay{
  padding: 50px;
  hyphens: auto;
}

a .elementor-portfolio-item__overlay{
  background-image: var(--fp-gradient-brand-radial);
}

.d-logo {
  display: block;
}
.l-logo {
  display: none;
}

.elementor-sticky--effects .l-logo {
  display: block;
}
.elementor-sticky--effects .d-logo {
  display: none;
}

body.header-dark-bg .d-logo {
  display: none !important;
}
body.header-dark-bg .l-logo {
  display: block !important;
}

body.header-light-bg .d-logo {
  display: block !important;
}
body.header-light-bg .l-logo {
  display: none !important;
}

.loop-card__content{
  background: var(--fp-gradient-brand) !important;
}

/* =========================================================
   G) SYSTEM – FLIPBOXEN / TABELLEN / EINZELSEITEN / TABS / NAV
   ========================================================= */

.elementor-widget-flip-box.fp-flip{
  --fp-gray-1: var(--fp-surface-dark-1);
  --fp-gray-2: var(--fp-surface-dark-2);
  --fp-gray-3: var(--fp-surface-dark-3);
  --fp-text-dark: var(--fp-text-on-brand);
}

.elementor-widget-flip-box.fp-flip .elementor-flip-box,
.elementor-widget-flip-box.fp-flip .elementor-flip-box__layer,
.elementor-widget-flip-box.fp-flip .elementor-flip-box__front,
.elementor-widget-flip-box.fp-flip .elementor-flip-box__back{
  border-radius: 22px;
  overflow: hidden;
}

.elementor-widget-flip-box.fp-flip:hover .elementor-flip-box{
  box-shadow:
    0 18px 60px var(--fp-shadow-dark-strong),
    0 0 30px var(--fp-glow-brand-strong);
}

.elementor-widget-flip-box.fp-flip .elementor-flip-box__front,
.elementor-widget-flip-box.fp-flip .elementor-flip-box__back,
.elementor-widget-flip-box.fp-flip .elementor-flip-box__layer{
  transition: transform 0.8s ease !important;
}

@media (max-width: 767px){
  .elementor-widget-flip-box.fp-flip .elementor-flip-box__front,
  .elementor-widget-flip-box.fp-flip .elementor-flip-box__back{
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center;
  }

  .elementor-widget-flip-box.fp-flip .elementor-flip-box__layer__inner{
    position: static !important;
    transform: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 18px 18px 20px !important;
  }

  .elementor-widget-flip-box.fp-flip .elementor-flip-box__layer__title{
    margin: 0 0 10px !important;
  }

  .elementor-widget-flip-box.fp-flip .elementor-flip-box__layer__description{
    margin: 0 !important;
  }
}

@media (max-width: 767px){
  .fullwidth_fix{
    background: var(--fp-text) !important;
  }
}

body.single-class .fp-termin-carousel{
  --padding-left: 0px !important;
  --padding-right: 0px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.single-class .fp-termin-carousel > .e-con-inner{
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.single-class a.wcs-btn--action.wcs-btn{
  transition: transform .2s ease, filter .2s ease;
}

body.single-class a.wcs-btn--action.wcs-btn:hover{
  transform: translateX(7px);
  filter: brightness(95%);
}

@media (max-width: 767px){
  body.single-class a.wcs-btn--action.wcs-btn,
  body.single-class a.elementor-button-link,
  body.single-class a.elementor-button-link .elementor-button{
    display: inline-flex !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 300px !important;
    max-width: calc(100% - 40px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media (max-width: 767px) {
  body.single-class .bkf-detail-buttons .elementor-widget-shortcode .elementor-widget-container {
    display: flex;
    justify-content: center;
  }
}

.fahrplan-simple{
  list-style: none;
  padding: 0;
  margin: 0;
}

.fahrplan-simple li{
  margin: 0;
  padding: 0;
}

.fahrplan-simple li:not(.sub){
  display: grid;
  grid-template-columns: 4rem 1fr;
  align-items: start;
}

.fahrplan-simple .nr{ font-weight: 800; }
.fahrplan-simple .txt{ font-weight: 600; }

.fahrplan-simple li.sub{
  padding-left: 4rem;
  font-weight: 400;
}

@media (max-width: 767px){
  .fahrplan-simple li:not(.sub){
    grid-template-columns: 3rem 1fr;
  }
  .fahrplan-simple li.sub{
    padding-left: 3rem;
  }
}

.fahrplan-toggle .sub{ display:none; }
.fahrplan-toggle.open .sub{ display:list-item; }
.fahrplan-simple li br{ display:none !important; }

.fahrplan-toggle .elementor-button{
  background: none !important;
  border: none !important;
  padding: 0 !important;
  font-weight: 700 !important;
  color: var(--fp-primary) !important;
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  box-shadow: none !important;
}

.fahrplan-toggle .elementor-button:hover{
  text-decoration: underline;
}

.fahrplan-toggle .elementor-button::after{
  content: "↓";
  transition: transform .2s ease;
}

.fahrplan-toggle.open .elementor-button::after{
  content: "↑";
}

/* Tabellen für Sonderfahrten */
.fs-table.fs-table-sonderfahrten thead,
.fs-table.fs-table-sonderfahrten thead tr,
.fs-table.fs-table-sonderfahrten thead th {
  background: var(--fp-primary) !important;
  color: var(--fp-text-invert) !important;
}

.fs-table.fs-table-sonderfahrten tbody td {
  color: var(--fp-text) !important;
}

.fs-table.fs-table-sonderfahrten tbody tr:nth-child(odd) td {
  background: var(--fp-bg-white) !important;
}

.fs-table.fs-table-sonderfahrten tbody tr:nth-child(even) td {
  background: var(--fp-bg-light) !important;
}

@media (max-width: 767px) {
  .fs-table.fs-table-sonderfahrten,
  .fs-table.fs-table-sonderfahrten thead,
  .fs-table.fs-table-sonderfahrten tbody,
  .fs-table.fs-table-sonderfahrten th,
  .fs-table.fs-table-sonderfahrten td,
  .fs-table.fs-table-sonderfahrten tr {
    display: block;
    width: 100%;
  }

  .fs-table.fs-table-sonderfahrten thead {
    display: none;
  }

  .fs-table.fs-table-sonderfahrten tr {
    margin-bottom: 16px;
    border: 1px solid var(--fp-border-light);
    border-radius: 8px;
    overflow: hidden;
    background: var(--fp-bg-white);
  }

  .fs-table.fs-table-sonderfahrten td {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    width: 100%;
    box-sizing: border-box;
    padding: 12px 14px;
    text-align: right;
    border: none !important;
    border-bottom: 1px solid var(--fp-border-soft) !important;
    background: var(--fp-bg-white) !important;
    color: var(--fp-text) !important;
  }

  .fs-table.fs-table-sonderfahrten td:last-child {
    border-bottom: none !important;
  }

  .fs-table.fs-table-sonderfahrten td::before {
    content: attr(data-label);
    font-weight: 700;
    text-align: left;
    color: var(--fp-text);
    flex: 1 1 auto;
  }

  .fs-table.fs-table-sonderfahrten tbody tr:first-child td {
    border-bottom: 2px solid var(--fp-border-soft-strong) !important;
  }
}

/* Loop Carousel Navigation */
.elementor-swiper-button,
.swiper-button-prev,
.swiper-button-next{
  background-color: var(--fp-primary) !important;
  color: var(--fp-text-invert) !important;
  opacity: 1 !important;
}

.elementor-swiper-button svg,
.swiper-button-prev svg,
.swiper-button-next svg{
  fill: var(--fp-text-invert) !important;
  stroke: var(--fp-text-invert) !important;
  color: var(--fp-text-invert) !important;
}

.elementor-swiper-button:hover,
.swiper-button-prev:hover,
.swiper-button-next:hover{
  background-color: var(--fp-primary-dark) !important;
  color: var(--fp-text-invert) !important;
}

.elementor-swiper-button:hover svg,
.swiper-button-prev:hover svg,
.swiper-button-next:hover svg{
  fill: var(--fp-text-invert) !important;
  stroke: var(--fp-text-invert) !important;
  color: var(--fp-text-invert) !important;
}

.swiper-pagination-bullet{
  background-color: var(--fp-primary) !important;
  opacity: 0.4;
}

.swiper-pagination-bullet-active{
  background-color: var(--fp-primary) !important;
  opacity: 1;
}

/* Off-Canvas Navigation – Farben */
.elementor-nav-menu .elementor-item,
.elementor-nav-menu .elementor-sub-item{
  background-color: var(--fp-text) !important;
  color: var(--fp-text-invert) !important;
}

.elementor-nav-menu .sub-arrow,
.elementor-nav-menu .sub-arrow i,
.elementor-nav-menu .sub-arrow svg{
  color: var(--fp-text-invert) !important;
  fill: var(--fp-text-invert) !important;
  stroke: var(--fp-text-invert) !important;
}

.elementor-nav-menu .elementor-item:hover,
.elementor-nav-menu .elementor-item:focus,
.elementor-nav-menu .elementor-item.elementor-item-active,
.elementor-nav-menu .elementor-sub-item:hover,
.elementor-nav-menu .elementor-sub-item:focus,
.elementor-nav-menu .elementor-sub-item.elementor-item-active{
  background-color: var(--fp-text) !important;
  color: var(--fp-primary) !important;
}

.elementor-nav-menu .elementor-item:hover .sub-arrow,
.elementor-nav-menu .elementor-item:focus .sub-arrow,
.elementor-nav-menu .elementor-item.elementor-item-active .sub-arrow,
.elementor-nav-menu .elementor-sub-item:hover .sub-arrow,
.elementor-nav-menu .elementor-sub-item:focus .sub-arrow,
.elementor-nav-menu .elementor-sub-item.elementor-item-active .sub-arrow,
.elementor-nav-menu .elementor-item:hover .sub-arrow i,
.elementor-nav-menu .elementor-item:focus .sub-arrow i,
.elementor-nav-menu .elementor-item.elementor-item-active .sub-arrow i,
.elementor-nav-menu .elementor-sub-item:hover .sub-arrow i,
.elementor-nav-menu .elementor-sub-item:focus .sub-arrow i,
.elementor-nav-menu .elementor-sub-item.elementor-item-active .sub-arrow i,
.elementor-nav-menu .elementor-item:hover .sub-arrow svg,
.elementor-nav-menu .elementor-item:focus .sub-arrow svg,
.elementor-nav-menu .elementor-item.elementor-item-active .sub-arrow svg,
.elementor-nav-menu .elementor-sub-item:hover .sub-arrow svg,
.elementor-nav-menu .elementor-sub-item:focus .sub-arrow svg,
.elementor-nav-menu .elementor-sub-item.elementor-item-active .sub-arrow svg{
  color: var(--fp-primary) !important;
  fill: var(--fp-primary) !important;
  stroke: var(--fp-primary) !important;
}

.elementor-sticky--effects .stickyheader-section{
  background-color: var(--fp-text) !important;
}

/* Tabs */
.fp-tabs-primary .e-n-tab-title{
  background: var(--fp-primary) !important;
  color: var(--fp-text-invert) !important;
  transition: background .25s ease;
}

.fp-tabs-primary .e-n-tab-title:hover,
.fp-tabs-primary .e-n-tab-title[aria-selected="true"],
.fp-tabs-primary .e-n-tab-title:focus{
  background: var(--fp-text) !important;
  color: var(--fp-text-invert) !important;
}

.fp-tabs-classes .e-n-tab-title{
  background: var(--fp-bg-light) !important;
  color: var(--fp-accent) !important;
  transition: background .25s ease, color .25s ease;
}

.fp-tabs-classes .e-n-tab-title:hover,
.fp-tabs-classes .e-n-tab-title[aria-selected="true"],
.fp-tabs-classes .e-n-tab-title:focus{
  background: var(--fp-text) !important;
  color: var(--fp-text-invert) !important;
}

/* =========================================================
   H) GESCHÜTZT – PLUGIN OVERRIDES
   ========================================================= */

.ti-date{ color: var(--fp-text) !important; }

.ti-read-more span.ti-read-more-active{
  color: var(--fp-primary) !important;
}
.ti-read-more span.ti-read-more-active:hover{
  color: var(--fp-primary-dark) !important;
}

/* ========================================
   WHATSAPP PLUGIN – SYSTEM INTEGRATION
   Marketing Fahrschule
   ------------------------------------------------
   Ziel:
   - Plugin-Funktion im Backend
   - Optik über zentrales Designsystem
   - skalierbar für Klone / Mehrseitenbetrieb
======================================== */

/* Floating Button */
body #wa .wa__btn_popup,
body #wa .wa__btn_popup_icon,
body #wa .wa__btn_el{
  background: var(--mf-wa-btn-bg) !important;
  color: var(--mf-wa-btn-text) !important;
  border: 0 !important;
  border-radius:50% !important;
  box-shadow: var(--mf-wa-shadow) !important;
}

body #wa .wa__btn_popup:hover,
body #wa .wa__btn_popup:focus,
body #wa .wa__btn_el:hover,
body #wa .wa__btn_el:focus{
  background: var(--mf-wa-btn-bg-hover) !important;
  color: var(--mf-wa-btn-text) !important;
}

/* Button-Label / Text */
body #wa .wa__btn_popup_txt,
body #wa .wa__btn_txt,
body #wa .wa__btn_txt .wa__btn_title{
  color: var(--mf-wa-panel-text) !important;
  font-family: inherit !important;
}

body #wa .wa__btn_popup_txt{
  background: var(--mf-wa-panel-bg) !important;
  border: 1px solid var(--mf-wa-panel-border) !important;
  border-radius: var(--fp-radius) !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.10) !important;
  padding: 10px 14px !important;
}

/* SVG / Icon-Farbe */
body #wa svg,
body #wa .wa__btn_popup_icon svg,
body #wa .wa__btn_el svg{
  fill: currentColor !important;
  stroke: currentColor !important;
}

/* Chat-Fenster / Popup */
body #wa .wa__popup_chat_box,
body #wa .wa__popup_content,
body #wa .wa__popup_whatsapp,
body #wa .wa__popup_chat_box .wa__popup_content{
  background: var(--mf-wa-panel-bg) !important;
  color: var(--mf-wa-panel-text) !important;
  border: 1px solid var(--mf-wa-panel-border) !important;
  border-radius: var(--mf-wa-radius) !important;
  box-shadow: var(--mf-wa-shadow) !important;
}

/* Header / Kopfbereich */
body #wa .wa__popup_heading,
body #wa .wa__popup_header,
body #wa .wa__popup_head{
  background: var(--mf-wa-header-bg) !important;
  color: var(--mf-wa-header-text) !important;
  border-top-left-radius: var(--mf-wa-radius) !important;
  border-top-right-radius: var(--mf-wa-radius) !important;
}

body #wa .wa__popup_heading *,
body #wa .wa__popup_header *,
body #wa .wa__popup_head *{
  color: var(--mf-wa-header-text) !important;
}

/* Titel / Intro / Hinweise */
body #wa .wa__popup_title{
  color: var(--mf-wa-header-text) !important;
  font-family: inherit !important;
  font-weight: 700 !important;
}

body #wa .wa__popup_intro,
body #wa .wa__popup_notice{
  color: var(--mf-wa-panel-muted) !important;
  font-family: inherit !important;
}

/* Agenten / Karten */
body #wa .wa__member,
body #wa .wa__cs_info,
body #wa .wa__popup_content .wa__member{
  background: var(--mf-wa-card-bg) !important;
  color: var(--mf-wa-card-text) !important;
  border: 1px solid var(--mf-wa-panel-border) !important;
  border-radius: var(--fp-radius) !important;
}

body #wa .wa__member:hover,
body #wa .wa__member:focus{
  background: var(--fp-bg-soft) !important;
}

/* Namen / Status */
body #wa .wa__member_name,
body #wa .wa__cs_info .wa__cs_name{
  color: var(--mf-wa-panel-text) !important;
  font-weight: 600 !important;
}

body #wa .wa__member_duty,
body #wa .wa__cs_info .wa__cs_status{
  color: var(--mf-wa-panel-muted) !important;
}

/* Typografie */
body #wa,
body #wa *{
  font-family: inherit !important;
}

/* Mobile */
@media (max-width: 767px){
  body #wa .wa__popup_chat_box,
  body #wa .wa__popup_content,
  body #wa .wa__popup_whatsapp{
    border-radius: 16px !important;
  }

  body #wa .wa__btn_popup_txt{
    max-width: 220px !important;
  }
}

.wcs-timetable--countdown.wcs-timetable--countdown-without-image{
  background: radial-gradient(
    at center,
    var(--fp-primary),
    var(--fp-primary-dark)
  ) !important;
}

/* Footer – Links in Icon List immer weiß */
.elementor-location-footer .elementor-icon-list-item a {
  color: var(--fp-bg-white) !important;
  text-decoration: none;
}

.elementor-location-footer .elementor-icon-list-item a:hover {
  color: var(--fp-bg-white) !important;
}

.elementor-location-footer .elementor-widget-icon-list .elementor-icon-list-item a {
  width: auto !important;
  display: inline-flex !important;
  align-items: center;
}

/* Kontaktblock – Links weiß */
.fs-contact-block a {
  color: var(--fp-bg-white) !important;
  text-decoration: none;
}

.fs-contact-block a:hover {
  color: var(--fp-bg-white) !important;
  text-decoration: underline;
}

/* =========================================================
   PREMIUM – CONTACT SECTION LINK FIX
   ---------------------------------------------------------
   Links / Tel-Links in der dunklen Kontaktsektion:
   - normal weiß
   - Hover gold
   ========================================================= */
body.fp-theme-premium .dark-section.fp-dark-gradient .elementor-widget-icon-list .elementor-icon-list-item a,
body.fp-theme-premium .dark-section.fp-dark-gradient .elementor-widget-text-editor a,
body.fp-theme-premium .dark-section.fp-dark-gradient .fs-contact-block a{
  color: var(--fp-text-invert) !important;
}

body.fp-theme-premium .dark-section.fp-dark-gradient .elementor-widget-icon-list .elementor-icon-list-item a:hover,
body.fp-theme-premium .dark-section.fp-dark-gradient .elementor-widget-text-editor a:hover,
body.fp-theme-premium .dark-section.fp-dark-gradient .fs-contact-block a:hover{
  color: var(--fp-primary) !important;
}

/* =========================================================
   I) GESCHÜTZT – WCS SYSTEM
   ========================================================= */

/* =========================================================
   WCS – COLORS & TEXT FIX (GLOBAL / PREMIUM SAFE)
   ========================================================= */

/* Filter / States – ohne harte Farben */
.wcs-filters__title,
.wcs-filters__filter-wrapper:hover,
.wcs-filter:checked{
  color: var(--fp-primary) !important;
}

/* Terminliste – Lesbarkeit (Premium Dark Mode) */
body.fp-theme-premium [id^="wcs-app-"] .wcs-class__time-duration,
body.fp-theme-premium [id^="wcs-app-"] .wcs-class__time-duration *{
  color: var(--fp-text-invert) !important;
}

/* Zeit hervorheben (optional) */
body.fp-theme-premium [id^="wcs-app-"] .wcs-class__time-duration > span:first-child{
  color: var(--fp-primary) !important;
  font-weight: 600;
}

[id^="wcs-app-"]{
  min-width: 0 !important;
}

[id^="wcs-app-"] .wcs-timetable{
  min-width: 0 !important;
}

[id^="wcs-app-"] .wcs-timetable__list{
  min-width: 0 !important;
}

[id^="wcs-app-"] .wcs-timetable__list .wcs-class{
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  padding: 28px 0 !important;
  border-top: 1px solid var(--wcs-border-soft) !important;
}

[id^="wcs-app-"] .wcs-timetable__list .wcs-class__image,
[id^="wcs-app-"] .wcs-timetable__list .wcs-class__time,
[id^="wcs-app-"] .wcs-timetable__list .wcs-class__meta,
[id^="wcs-app-"] .wcs-timetable__list .wcs-class__action{
  margin: 0 !important;
  min-width: 0 !important;
}

[id^="wcs-app-"] .wcs-class__image{
  aspect-ratio: 1 / 1 !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  border-radius: var(--wcs-radius) !important;
  overflow: hidden !important;
}

[id^="wcs-app-"] .wcs-class__time{
  align-self: center !important;
  color: var(--wcs-accent) !important;
}

[id^="wcs-app-"] .wcs-class__time .wcs-class__inner-flex{
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

[id^="wcs-app-"] .wcs-class__meta{
  min-width: 0 !important;
  width: 100% !important;
}

[id^="wcs-app-"] .wcs-class__title{
  margin: 0 0 12px !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: initial !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  line-height: 1.14 !important;
  max-width: 100% !important;
}

[id^="wcs-app-"] .wcs-class__time-duration{
  line-height: 1.35 !important;
}

[id^="wcs-app-"] .wcs-class__time-duration span{
  white-space: normal !important;
}

[id^="wcs-app-"] .wcs-class__action{
  box-sizing: border-box !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

[id^="wcs-app-"] .wcs-class__action .wcs-class__inner-flex{
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

[id^="wcs-app-"] .wcs-class__action .wcs-btn{
  white-space: nowrap !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* ========================================
   WCS – ZENTRALE DESIGNANBINDUNG
   ------------------------------------------------
   Ersetzt instanzgebundene Altregeln wie:
   .wcs-timetable--XX { color: #... }
   Ziel: keine projektbezogenen Farb-Leaks mehr
======================================== */

[id^="wcs-app-"] .wcs-class__title,
[id^="wcs-app-"] .wcs-class__time,
[id^="wcs-app-"] .wcs-class__date,
[id^="wcs-app-"] .wcs-class__date-time,
[id^="wcs-app-"] .wcs-timetable__list .wcs-class__title a{
  color: var(--wcs-text) !important;
}

[id^="wcs-app-"] .wcs-class__time{
  color: var(--wcs-accent) !important;
}

[id^="wcs-app-"] .wcs-class__action .wcs-btn,
[id^="wcs-app-"] a.wcs-btn--action.wcs-btn{
  background: var(--wcs-accent) !important;
  color: var(--fp-text-invert) !important;
  border-radius: var(--fp-radius) !important;
}

[id^="wcs-app-"] .wcs-class__action .wcs-btn:hover,
[id^="wcs-app-"] .wcs-class__action .wcs-btn:focus,
[id^="wcs-app-"] a.wcs-btn--action.wcs-btn:hover,
[id^="wcs-app-"] a.wcs-btn--action.wcs-btn:focus{
  background: var(--wcs-accent-dark) !important;
  color: var(--fp-text-invert) !important;
}

[id^="wcs-app-"] .wcs-timetable--carousel .ti-time,
[id^="wcs-app-"] .wcs-timetable--carousel .wcs-class__title,
[id^="wcs-app-"] .wcs-timetable--carousel .wcs-class__title a{
  color: var(--wcs-accent) !important;
}

[id^="wcs-app-"] .wcs-timetable--carousel .owl-dots .active,
[id^="wcs-app-"] .wcs-timetable--carousel .owl-dot.active span{
  background-color: var(--wcs-accent) !important;
  color: var(--wcs-accent) !important;
}

[id^="wcs-app-"] .wcs-timetable--carousel .owl-nav .owl-prev:hover,
[id^="wcs-app-"] .wcs-timetable--carousel .owl-nav .owl-next:hover{
  color: var(--wcs-accent) !important;
}

[id^="wcs-app-"] .wcs-filters__filter-column,
[id^="wcs-app-"] .wcs-filters__filter-wrapper{
  color: var(--wcs-text) !important;
}

[id^="wcs-app-"] .wcs-filters__filter-wrapper select,
[id^="wcs-app-"] .wcs-filters__filter-wrapper input,
[id^="wcs-app-"] .wcs-filters__filter-wrapper .select2-selection{
  background: var(--wcs-bg) !important;
  color: var(--wcs-text) !important;
  border-color: var(--wcs-border) !important;
  border-radius: var(--wcs-radius) !important;
}

[id^="wcs-app-"] .wcs-filters__filter-wrapper span:last-child{
  white-space: nowrap !important;
}

.wcs-layout--two-filters [id^="wcs-app-"].wcs-timetable--filters-left,
.wcs-layout--one-filter [id^="wcs-app-"].wcs-timetable--filters-left{
  display: grid !important;
  grid-template-columns: 300px minmax(0, 1fr) !important;
  column-gap: 32px !important;
  align-items: start !important;
}

.wcs-layout--two-filters [id^="wcs-app-"] .wcs-filters__container,
.wcs-layout--one-filter [id^="wcs-app-"] .wcs-filters__container{
  width: 300px !important;
  max-width: 300px !important;
  min-width: 300px !important;
}

.wcs-layout--no-filters [id^="wcs-app-"]{
  display: block !important;
}

.wcs-layout--no-filters [id^="wcs-app-"].wcs-timetable--filters-left{
  display: block !important;
  grid-template-columns: none !important;
}

.wcs-layout--no-filters [id^="wcs-app-"] .wcs-filters__container{
  display: none !important;
}

.wcs-layout--no-filters [id^="wcs-app-"] .wcs-timetable__list{
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.wcs-list--centered [id^="wcs-app-"] .wcs-timetable__list{
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (min-width: 1340px){
  .wcs-layout--two-filters [id^="wcs-app-"] .wcs-filters,
  .wcs-layout--one-filter [id^="wcs-app-"] .wcs-filters{
    display: flex !important;
    flex-direction: column !important;
    gap: 28px !important;
  }

  .wcs-layout--two-filters [id^="wcs-app-"] .wcs-filters__filter-column,
  .wcs-layout--one-filter [id^="wcs-app-"] .wcs-filters__filter-column{
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
}

@media (min-width: 1800px){
  [id^="wcs-app-"] .wcs-timetable__list .wcs-class{
    display: grid !important;
    grid-template-columns: 170px 130px minmax(0, 1fr) 320px !important;
    column-gap: 28px !important;
    align-items: center !important;
  }

  [id^="wcs-app-"] .wcs-class__image{
    width: 170px !important;
    height: 170px !important;
  }

  [id^="wcs-app-"] .wcs-class__time{
    width: 130px !important;
    justify-self: center !important;
    text-align: center !important;
  }

  [id^="wcs-app-"] .wcs-class__action{
    width: 320px !important;
    min-width: 320px !important;
    max-width: 320px !important;
    justify-self: end !important;
  }

  [id^="wcs-app-"] .wcs-class__action .wcs-class__inner-flex{
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
    width: 100% !important;
  }

  .wcs-layout--two-filters [id^="wcs-app-"].wcs-timetable--filters-left,
  .wcs-layout--one-filter [id^="wcs-app-"].wcs-timetable--filters-left{
    grid-template-columns: 260px minmax(0, 1fr) !important;
    column-gap: 28px !important;
  }

  .wcs-layout--two-filters [id^="wcs-app-"] .wcs-filters__container,
  .wcs-layout--one-filter [id^="wcs-app-"] .wcs-filters__container{
    width: 260px !important;
    max-width: 260px !important;
    min-width: 260px !important;
  }

  .wcs-layout--no-filters [id^="wcs-app-"] .wcs-timetable__list{
    max-width: 1300px !important;
  }

  .wcs-layout--no-filters [id^="wcs-app-"] .wcs-timetable__list .wcs-class{
    grid-template-columns: 170px 120px minmax(0, 1fr) 340px !important;
    column-gap: 24px !important;
  }

  .wcs-layout--no-filters [id^="wcs-app-"] .wcs-class__action{
    width: 340px !important;
    min-width: 340px !important;
    max-width: 340px !important;
  }
}

.wcs-addons--blink{
  animation: none !important;
  -webkit-animation: none !important;
}

@media (min-width: 1340px) and (max-width: 1799px){
  .wcs-layout--two-filters [id^="wcs-app-"].wcs-timetable--filters-left,
  .wcs-layout--one-filter [id^="wcs-app-"].wcs-timetable--filters-left{
    grid-template-columns: 220px minmax(0, 1fr) !important;
    column-gap: 22px !important;
  }

  .wcs-layout--two-filters [id^="wcs-app-"] .wcs-filters__container,
  .wcs-layout--one-filter [id^="wcs-app-"] .wcs-filters__container{
    width: 220px !important;
    max-width: 220px !important;
    min-width: 220px !important;
  }

  [id^="wcs-app-"] .wcs-timetable__list .wcs-class{
    display: grid !important;
    grid-template-columns: 140px 110px minmax(0, 1fr) 240px !important;
    column-gap: 20px !important;
    align-items: center !important;
  }

  [id^="wcs-app-"] .wcs-class__image{
    width: 140px !important;
    height: 140px !important;
  }

  [id^="wcs-app-"] .wcs-class__time{
    width: 110px !important;
    justify-self: center !important;
    text-align: center !important;
  }

  [id^="wcs-app-"] .wcs-class__action{
    width: 240px !important;
    min-width: 240px !important;
    max-width: 240px !important;
    justify-self: end !important;
  }

  [id^="wcs-app-"] .wcs-class__action .wcs-class__inner-flex{
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
  }

  .wcs-layout--no-filters [id^="wcs-app-"] .wcs-timetable__list .wcs-class{
    grid-template-columns: 170px 110px minmax(0, 1fr) 320px !important;
    column-gap: 24px !important;
  }

  .wcs-layout--no-filters [id^="wcs-app-"] .wcs-class__action{
    width: 320px !important;
    min-width: 320px !important;
    max-width: 320px !important;
  }
}

@media (min-width: 1120px) and (max-width: 1339px){
  [id^="wcs-app-"] .wcs-timetable__list .wcs-class{
    display: grid !important;
    grid-template-columns: 128px 90px minmax(0, 1fr) 220px !important;
    grid-template-areas: "img time meta action" !important;
    column-gap: 18px !important;
    row-gap: 0 !important;
    align-items: center !important;
  }

  [id^="wcs-app-"] .wcs-class__image{
    grid-area: img !important;
    width: 128px !important;
    height: 128px !important;
    align-self: center !important;
  }

  [id^="wcs-app-"] .wcs-class__time{
    grid-area: time !important;
    width: 90px !important;
    justify-self: center !important;
    text-align: center !important;
    align-self: center !important;
  }

  [id^="wcs-app-"] .wcs-class__meta{
    grid-area: meta !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  [id^="wcs-app-"] .wcs-class__action{
    grid-area: action !important;
    width: 220px !important;
    min-width: 220px !important;
    max-width: 220px !important;
    justify-self: end !important;
    align-self: center !important;
  }

  [id^="wcs-app-"] .wcs-class__action .wcs-class__inner-flex{
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    width: 100% !important;
  }

  .wcs-layout--two-filters [id^="wcs-app-"] .wcs-class__action,
  .wcs-layout--one-filter [id^="wcs-app-"] .wcs-class__action{
    width: 170px !important;
    min-width: 170px !important;
    max-width: 170px !important;
  }

  .wcs-layout--two-filters [id^="wcs-app-"] .wcs-class__action .wcs-class__inner-flex,
  .wcs-layout--one-filter [id^="wcs-app-"] .wcs-class__action .wcs-class__inner-flex{
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 10px !important;
  }

  .wcs-layout--two-filters [id^="wcs-app-"] .wcs-class__action .wcs-btn,
  .wcs-layout--one-filter [id^="wcs-app-"] .wcs-class__action .wcs-btn{
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    text-align: center !important;
    margin: 0 !important;
  }
}

@media (min-width: 768px) and (max-width: 1119px){
  .wcs-layout--two-filters [id^="wcs-app-"].wcs-timetable--filters-left,
  .wcs-layout--one-filter [id^="wcs-app-"].wcs-timetable--filters-left{
    display: grid !important;
    grid-template-columns: 190px minmax(0, 1fr) !important;
    column-gap: 18px !important;
    align-items: start !important;
  }

  .wcs-layout--two-filters [id^="wcs-app-"] .wcs-filters__container,
  .wcs-layout--one-filter [id^="wcs-app-"] .wcs-filters__container{
    width: 190px !important;
    max-width: 190px !important;
    min-width: 190px !important;
  }

  .wcs-layout--two-filters [id^="wcs-app-"] .wcs-filters,
  .wcs-layout--one-filter [id^="wcs-app-"] .wcs-filters{
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
  }

  .wcs-layout--two-filters [id^="wcs-app-"] .wcs-filters__filter-column,
  .wcs-layout--one-filter [id^="wcs-app-"] .wcs-filters__filter-column{
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 1.2vh 0 !important;
    margin-bottom: 0 !important;
  }

  [id^="wcs-app-"] .wcs-timetable__list .wcs-class{
    display: grid !important;
    grid-template-columns: 128px 80px minmax(0, 1fr) 170px !important;
    grid-template-areas: "img time meta action" !important;
    column-gap: 16px !important;
    row-gap: 0 !important;
    align-items: center !important;
  }

  [id^="wcs-app-"] .wcs-class__image{
    grid-area: img !important;
    width: 128px !important;
    height: 128px !important;
    align-self: center !important;
  }

  [id^="wcs-app-"] .wcs-class__time{
    grid-area: time !important;
    width: 80px !important;
    justify-self: center !important;
    text-align: center !important;
    align-self: center !important;
  }

  [id^="wcs-app-"] .wcs-class__meta{
    grid-area: meta !important;
    width: 100% !important;
  }

  [id^="wcs-app-"] .wcs-class__action{
    grid-area: action !important;
    width: 170px !important;
    min-width: 170px !important;
    max-width: 170px !important;
    justify-self: end !important;
    align-self: center !important;
  }

  [id^="wcs-app-"] .wcs-class__action .wcs-class__inner-flex{
    width: 100% !important;
    gap: 8px !important;
  }

  .wcs-layout--two-filters [id^="wcs-app-"] .wcs-class__action .wcs-class__inner-flex,
  .wcs-layout--one-filter [id^="wcs-app-"] .wcs-class__action .wcs-class__inner-flex{
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
  }

  .wcs-layout--two-filters [id^="wcs-app-"] .wcs-class__action .wcs-btn,
  .wcs-layout--one-filter [id^="wcs-app-"] .wcs-class__action .wcs-btn{
    width: 100% !important;
    text-align: center !important;
    margin: 0 !important;
  }
}

@media (max-width: 767px){
  .wcs-layout--two-filters [id^="wcs-app-"].wcs-timetable--filters-left,
  .wcs-layout--one-filter [id^="wcs-app-"].wcs-timetable--filters-left{
    display: block !important;
  }

  .wcs-layout--two-filters [id^="wcs-app-"] .wcs-filters__container,
  .wcs-layout--one-filter [id^="wcs-app-"] .wcs-filters__container{
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-bottom: 24px !important;
  }

  .wcs-layout--two-filters [id^="wcs-app-"] .wcs-filters{
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
    align-items: start !important;
    width: 100% !important;
  }

  .wcs-layout--two-filters [id^="wcs-app-"] .wcs-filters__filter-column{
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 2vh 0 !important;
    margin-bottom: 1.5vh !important;
  }

  .wcs-layout--one-filter [id^="wcs-app-"] .wcs-filters{
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
  }

  .wcs-layout--one-filter [id^="wcs-app-"] .wcs-filters__filter-column{
    flex: 0 1 100% !important;
    width: 100% !important;
    max-width: 320px !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 2vh 0 !important;
    text-align: left !important;
  }

  .wcs-layout--one-filter [id^="wcs-app-"] .wcs-filters__filter-wrapper{
    width: 100% !important;
    justify-content: flex-start !important;
  }

  [id^="wcs-app-"] .wcs-timetable__list .wcs-class{
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "time"
      "meta"
      "action" !important;
    row-gap: 8px !important;
    column-gap: 0 !important;
    align-items: start !important;
    padding: 18px 0 !important;
  }

  [id^="wcs-app-"] .wcs-class__image{
    display: none !important;
  }

  [id^="wcs-app-"] .wcs-class__time{
    grid-area: time !important;
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    text-align: left !important;
    justify-self: start !important;
    align-self: start !important;
  }

  [id^="wcs-app-"] .wcs-class__time .wcs-class__inner-flex{
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: baseline !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
  }

  [id^="wcs-app-"] .wcs-class__time .wcs-class__inner-flex > span{
    display: inline !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    white-space: nowrap !important;
    line-height: 1.1 !important;
    flex: 0 0 auto !important;
    font-size: 16px !important;
    font-weight: 400 !important;
  }

  [id^="wcs-app-"] .wcs-class__meta{
    grid-area: meta !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  [id^="wcs-app-"] .wcs-class__meta .wcs-class__inner-flex{
    display: block !important;
  }

  [id^="wcs-app-"] .wcs-class__title{
    margin: 0 0 6px !important;
    max-width: none !important;
    font-size: 24px !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
  }

  [id^="wcs-app-"] .wcs-class__time-duration{
    font-size: 15px !important;
    line-height: 1.35 !important;
  }

  [id^="wcs-app-"] .wcs-class__action{
    grid-area: action !important;
    width: 100% !important;
    margin: 2px 0 0 !important;
  }

  [id^="wcs-app-"] .wcs-class__action .wcs-class__inner-flex{
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
  }

  [id^="wcs-app-"] .wcs-class__action .wcs-btn{
    padding: 8px 14px !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
  }
}

[id^="wcs-app-"] li.wcs-class.wcs-timetable__zero-data{
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  min-height: 180px !important;
  padding: 0 !important;
  text-align: center !important;
}

[id^="wcs-app-"] li.wcs-class.wcs-timetable__zero-data .wcs-class__image,
[id^="wcs-app-"] li.wcs-class.wcs-timetable__zero-data .wcs-class__time,
[id^="wcs-app-"] li.wcs-class.wcs-timetable__zero-data .wcs-class__action{
  display: none !important;
}

[id^="wcs-app-"] li.wcs-class.wcs-timetable__zero-data .wcs-class__meta{
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  text-align: center !important;
}

[id^="wcs-app-"] li.wcs-class.wcs-timetable__zero-data .wcs-class__meta .wcs-class__inner-flex{
  display: block !important;
  width: 100% !important;
  margin: 0 auto !important;
  text-align: center !important;
}

[id^="wcs-app-"] li.wcs-class.wcs-timetable__zero-data .wcs-class__meta h3{
  display: inline-block !important;
  margin: 0 auto !important;
  white-space: nowrap !important;
  text-align: center !important;
}

/* WCS Carousel */
[id^="wcs-app-"] .wcs-timetable--carousel .wcs-class{
  display: block !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 20px !important;
  border-top: 0 !important;
  box-sizing: border-box !important;
}

[id^="wcs-app-"] .wcs-timetable--carousel .wcs-class__image{
  display: block !important;
  width: auto !important;
  height: auto !important;
  aspect-ratio: auto !important;
  margin: 0 0 16px !important;
  border-radius: 0 !important;
  overflow: visible !important;
}

[id^="wcs-app-"] .wcs-timetable--carousel .wcs-class__image img{
  border-radius: 0 !important;
  overflow: visible !important;
}

[id^="wcs-app-"] .wcs-timetable--carousel .wcs-class__time{
  width: auto !important;
  text-align: left !important;
  justify-self: auto !important;
  align-self: auto !important;
}

[id^="wcs-app-"] .wcs-timetable--carousel .wcs-class__time .wcs-class__inner-flex{
  display: block !important;
  flex-direction: initial !important;
  align-items: initial !important;
  gap: 0 !important;
}

[id^="wcs-app-"] .wcs-timetable--carousel .wcs-class__meta,
[id^="wcs-app-"] .wcs-timetable--carousel .wcs-class__title,
[id^="wcs-app-"] .wcs-timetable--carousel .wcs-class__date-time{
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

[id^="wcs-app-"] .wcs-timetable--carousel .wcs-spacer{
  display: block !important;
}

[id^="wcs-app-"] .wcs-timetable--carousel .wcs-class__action{
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
}

[id^="wcs-app-"] .wcs-timetable--carousel .wcs-class .wcs-class__meta,
[id^="wcs-app-"] .wcs-timetable--carousel .wcs-class > .wcs-class__meta{
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 6px !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

[id^="wcs-app-"] .wcs-timetable--carousel .wcs-class .wcs-class__meta > span,
[id^="wcs-app-"] .wcs-timetable--carousel .wcs-class > .wcs-class__meta > span{
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  white-space: nowrap !important;
}

[id^="wcs-app-"] .wcs-timetable--carousel .wcs-class .wcs-class__meta > span:last-child,
[id^="wcs-app-"] .wcs-timetable--carousel .wcs-class > .wcs-class__meta > span:last-child{
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body.single-class [id^="wcs-app-"] .wcs-timetable--carousel .wcs-class__date-time{
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 10px !important;
}

body.single-class [id^="wcs-app-"] .wcs-timetable--carousel .wcs-class__time,
body.single-class [id^="wcs-app-"] .wcs-timetable--carousel .wcs-class__date{
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
}

body.single-class [id^="wcs-app-"] .wcs-timetable--carousel .wcs-class__time,
body.single-class [id^="wcs-app-"] .wcs-timetable--carousel .wcs-class__time > span:last-child,
body.single-class [id^="wcs-app-"] .wcs-timetable--carousel .wcs-class__date span,
body.single-class [id^="wcs-app-"] .wcs-timetable--carousel .wcs-class__time span{
  white-space: nowrap !important;
}

@media (max-width: 767px){
  [id^="wcs-app-"] .wcs-timetable--carousel .wcs-class{
    grid-template-columns: none !important;
    grid-template-areas: none !important;
    row-gap: 0 !important;
    column-gap: 0 !important;
  }

  [id^="wcs-app-"] .wcs-timetable--carousel .wcs-class__image{
    display: block !important;
  }
}

[id^="wcs-app-"] .wcs-timetable--carousel .owl-stage{
  padding-left: 0 !important;
}

[id^="wcs-app-"].wcs-timetable__container:has(.wcs-timetable--carousel){
  padding: 0 !important;
}

.fp-text-primary{
  color: var(--fp-primary) !important;
}

.fp-text-white{
  color: var(--fp-text-invert) !important;
}

.fp-text-accent{
  color: var(--fp-accent) !important;
}

/* ========================================
   TEXT HIGHLIGHTS FIX (ELEMENTOR HEADLINES)
======================================== */
.elementor-widget-heading .elementor-heading-title .fp-text-primary{
  color: var(--fp-primary) !important;
  -webkit-text-fill-color: var(--fp-primary) !important;
}
.elementor-widget-heading .elementor-heading-title .fp-text-white{
  color: var(--fp-text-invert) !important;
  -webkit-text-fill-color: var(--fp-text-invert) !important;
}
.elementor-widget-heading .elementor-heading-title .fp-text-accent{
  color: var(--fp-accent) !important;
  -webkit-text-fill-color: var(--fp-accent) !important;
}

body.single-class h1,
body.single-class .elementor-widget-heading h1.elementor-heading-title{
  color: var(--fp-primary) !important;
}

.wcs-btn--action {
  background-color: var(--fp-primary) !important;
  color: var(--fp-text-invert) !important;
  border-radius: var(--fp-radius);
}

.wcs-btn--action:hover {
  background-color: var(--fp-primary-dark) !important;
}

.bkf-detail-buttons a.wcs-btn--action{
  background: var(--fp-primary) !important;
  color: var(--fp-text-invert) !important;
  box-shadow: 0 0 12px rgba(0,0,0,0.15) !important;
}

.fp-footer-dark{
  background: var(--fp-text) !important;
  color: var(--fp-text-invert) !important;
}

.fp-footer-dark a{
  color: var(--fp-text-invert) !important;
  opacity: 0.85;
}

.fp-footer-dark a:hover{
  opacity: 1;
}

/* WCS Carousel auf dunklem Hintergrund – Text weiß */
body.single-class [id^="wcs-app-"] .wcs-timetable--carousel .wcs-class__date span,
body.single-class [id^="wcs-app-"] .wcs-timetable--carousel .wcs-class__time span,
body.single-class [id^="wcs-app-"] .wcs-timetable--carousel .wcs-class__time > span:last-child{
  color: var(--fp-text-invert) !important;
}

/* WCS Carousel auf dunklem Hintergrund – Kalender/Icon weiß */
body.single-class [id^="wcs-app-"] .wcs-timetable--carousel .ti-calendar:before,
body.single-class [id^="wcs-app-"] .wcs-timetable--carousel .ti-time:before,
body.single-class [id^="wcs-app-"] .wcs-timetable--carousel .ti-location-pin:before{
  color: var(--fp-text-invert) !important;
}

/* =========================================================
   WhatsApp Button – FIX (Form + Hover sauber)
========================================================= */

/* Button selbst */
[id*="wa"], 
[class*="whatsapp"], 
[class*="wa-button"]{
  overflow: hidden !important;
}

/* Hintergrund korrekt setzen */
[id*="wa"], 
[class*="whatsapp"], 
[class*="wa-button"]{
  background: var(--mf-wa-btn-bg) !important;
  color: var(--mf-wa-btn-text) !important;
}

/* Hover NUR leicht verändern (kein Overlay!) */
[id*="wa"]:hover, 
[class*="whatsapp"]:hover, 
[class*="wa-button"]:hover{
  background: var(--mf-wa-btn-bg-hover) !important;
}

/* WICHTIG: Pseudo-Overlay killen */
[id*="wa"]::before,
[id*="wa"]::after,
[class*="whatsapp"]::before,
[class*="whatsapp"]::after,
[class*="wa-button"]::before,
[class*="wa-button"]::after{
  display: none !important;
  content: none !important;
}

/* Falls Plugin ein inneres DIV für Hover nutzt */
[id*="wa"] div,
[class*="whatsapp"] div{
  background: transparent !important;
}

/* =========================================================
   EYEBROW SYSTEM
   ========================================================= */

.fp-eyebrow,
.fp-eyebrow .elementor-heading-title{
  font-family: var(--fp-eyebrow-font-family) !important;
  font-size: var(--fp-eyebrow-font-size) !important;
  line-height: var(--fp-eyebrow-line-height) !important;
  letter-spacing: var(--fp-eyebrow-letter-spacing) !important;
  text-transform: var(--fp-eyebrow-text-transform) !important;
  color: var(--fp-eyebrow-color) !important;
  margin: 0 !important;
}

/* Invertierte Variante auf dunklem Hintergrund */
.dark-section .fp-eyebrow,
.dark-section .fp-eyebrow .elementor-heading-title,
.fp-bg-dark .fp-eyebrow,
.fp-bg-dark .fp-eyebrow .elementor-heading-title,
.fp-dark-gradient .fp-eyebrow,
.fp-dark-gradient .fp-eyebrow .elementor-heading-title,
.dark-gradient-primary .fp-eyebrow,
.dark-gradient-primary .fp-eyebrow .elementor-heading-title,
.fp-footer-gradient .fp-eyebrow,
.fp-footer-gradient .fp-eyebrow .elementor-heading-title{
  color: var(--fp-eyebrow-color-invert) !important;
}

/* WhatsApp Icon (Pseudo-Element) – gezielt weiß */
body #wa .wa__btn_popup_icon::before{
  color: var(--mf-wa-btn-text) !important;
}

/* ========================================
   WCS BUTTON SYSTEM FIX
   ======================================== */

/* Default Button (Details) */
.wcs-btn{
  background: transparent !important;
  color: var(--fp-text) !important;
  border: 1px solid var(--fp-border-light) !important;
}

/* Hover für Details */
.wcs-btn:hover{
  background: var(--fp-bg-light) !important;
  color: var(--fp-text) !important;
}

/* Action Button bleibt Primary */
.wcs-btn.wcs-btn--action{
  background: var(--fp-primary) !important;
  color: var(--fp-text-invert) !important;
  border: none !important;
}

/* Hover Action */
.wcs-btn.wcs-btn--action:hover{
  background: var(--fp-primary-dark) !important;
}

/* ========================================
   WCS BUTTON SYSTEM FIX – spezifisch
   ======================================== */

/* Default Button (Details) */
[id^="wcs-app-"] .wcs-class__action .wcs-btn:not(.wcs-btn--action){
  background: var(--fp-bg-light) !important;
  color: var(--fp-text) !important;
  border: 1px solid var(--fp-border-light) !important;
  box-shadow: none !important;
}

/* Hover für Details */
[id^="wcs-app-"] .wcs-class__action .wcs-btn:not(.wcs-btn--action):hover,
[id^="wcs-app-"] .wcs-class__action .wcs-btn:not(.wcs-btn--action):focus{
  background: var(--fp-bg-soft) !important;
  color: var(--fp-text) !important;
  border-color: var(--fp-border-light) !important;
}

/* Action Button bleibt Primary */
[id^="wcs-app-"] .wcs-class__action .wcs-btn.wcs-btn--action,
[id^="wcs-app-"] a.wcs-btn.wcs-btn--action{
  background: var(--fp-primary) !important;
  color: var(--fp-text-invert) !important;
  border: none !important;
}

/* Hover Action */
[id^="wcs-app-"] .wcs-class__action .wcs-btn.wcs-btn--action:hover,
[id^="wcs-app-"] .wcs-class__action .wcs-btn.wcs-btn--action:focus,
[id^="wcs-app-"] a.wcs-btn.wcs-btn--action:hover,
[id^="wcs-app-"] a.wcs-btn.wcs-btn--action:focus{
  background: var(--fp-primary-dark) !important;
  color: var(--fp-text-invert) !important;
}

/* =========================================================
   FONT SYSTEM (Marketing Fahrschule)
   ========================================================= */

:root{
  /* ========================================
     HIGHLIGHT BUTTON TOKENS
  ======================================== */
  --fp-highlight-button-bg: var(--fp-accent);
  --fp-highlight-button-bg-hover: var(--fp-primary-dark);
  --fp-highlight-button-text: var(--fp-text-invert);
  --fp-highlight-button-shadow: 0 8px 20px rgba(0,0,0,.25);

  --fp-font-headline: "League Gothic", sans-serif;
  --fp-font-body: "Tahoma", sans-serif;

  /* EYEBROW SYSTEM – TOKENS */
  --fp-eyebrow-font-family: "Saira Condensed", sans-serif;
  --fp-eyebrow-font-size: 1.2em;
  --fp-eyebrow-font-size-mobile: 1em;
  --fp-eyebrow-line-height: 1.2;
  --fp-eyebrow-letter-spacing: 0;
  --fp-eyebrow-text-transform: uppercase;
  --fp-eyebrow-color: var(--fp-text);
  --fp-eyebrow-color-invert: var(--fp-text-invert);
}

/* =========================================================
   GLOBAL HEADLINES FIX
   ========================================================= */

h1, h2,
.elementor-widget-heading h1,
.elementor-widget-heading h2{
  font-family: var(--fp-font-headline) !important;
  line-height: 1 !important;
}

/* =========================================================
   HERO H1
   ========================================================= */

.fp-hero-h1 .elementor-heading-title{
  font-size: 6.9em !important;
}

@media (min-width: 2400px){
  .fp-hero-h1 .elementor-heading-title{
    font-size: 9.5em !important;
  }
}

@media (max-width: 1200px){
  .fp-hero-h1 .elementor-heading-title{
    font-size: 5.4em !important;
  }
}

@media (max-width: 1024px){
  .fp-hero-h1 .elementor-heading-title{
    font-size: 5em !important;
  }
}

@media (max-width: 880px){
  .fp-hero-h1 .elementor-heading-title{
    font-size: 4.6em !important;
  }
}

@media (max-width: 767px){
  .fp-hero-h1 .elementor-heading-title{
    font-size: 48px !important;
  }
}

/* =========================================================
   H1 – TERMINSEITEN
   ========================================================= */

body.single-class h1,
body.single-class .elementor-widget-heading h1{
  font-size: 3.2em !important;
}

@media (max-width: 1200px){
  body.single-class h1,
  body.single-class .elementor-widget-heading h1{
    font-size: 2.9em !important;
  }
}

@media (max-width: 880px){
  body.single-class h1,
  body.single-class .elementor-widget-heading h1{
    font-size: 2.6em !important;
  }
}

@media (max-width: 767px){
  body.single-class h1,
  body.single-class .elementor-widget-heading h1{
    font-size: 30px !important;
  }
}

/* =========================================================
   H2 SYSTEM
   ========================================================= */

h2,
.elementor-widget-heading h2{
  font-family: var(--fp-font-headline) !important;
  line-height: 1 !important;
}

/* =========================================================
   H2 – TERMINSEITEN
   ========================================================= */

body.single-class h2,
body.single-class .elementor-widget-heading h2{
  font-size: 2.1em !important;
}

@media (max-width: 767px){
  body.single-class h2,
  body.single-class .elementor-widget-heading h2{
    font-size: 2em !important;
  }
}

/* =========================================================
   GLOBAL LINK COLORS – SYSTEM OVERRIDE
   ========================================================= */

a{
  color: var(--fp-primary);
  text-decoration: none;
}

a:hover,
a:focus{
  color: var(--fp-primary-dark);
  text-decoration: none;
}

/* Elementor spezifisch (verhindert globale Farben-Leaks) */
.elementor a{
  color: var(--fp-primary);
}

.elementor a:hover,
.elementor a:focus{
  color: var(--fp-primary-dark);
}

/* =========================================================
   TABS (SYSTEM)
   ========================================================= */

:root{
  /* ========================================
     HIGHLIGHT BUTTON TOKENS
  ======================================== */
  --fp-highlight-button-bg: var(--fp-accent);
  --fp-highlight-button-bg-hover: var(--fp-primary-dark);
  --fp-highlight-button-text: var(--fp-text-invert);
  --fp-highlight-button-shadow: 0 8px 20px rgba(0,0,0,.25);

  --fp-tab-bg: var(--fp-bg-light);
  --fp-tab-bg-hover: var(--fp-bg-soft);
  --fp-tab-bg-active: var(--fp-text);
  --fp-tab-text: var(--fp-primary);
  --fp-tab-text-hover: var(--fp-primary-dark);
  --fp-tab-text-active: var(--fp-text-invert);
  --fp-tab-border: var(--fp-border-light);
  --fp-tab-radius: var(--fp-radius);
}

.fp-tabs .e-n-tab-title{
  background: var(--fp-tab-bg) !important;
  color: var(--fp-tab-text) !important;
  border: 1px solid var(--fp-tab-border) !important;
  border-radius: var(--fp-tab-radius) !important;
  transition: background .25s ease, color .25s ease, border-color .25s ease;
}

.fp-tabs .e-n-tab-title:hover,
.fp-tabs .e-n-tab-title:focus{
  background: var(--fp-tab-bg-hover) !important;
  color: var(--fp-tab-text-hover) !important;
}

.fp-tabs .e-n-tab-title[aria-selected="true"],
.fp-tabs .e-n-tab-title.elementor-active{
  background: var(--fp-tab-bg-active) !important;
  color: var(--fp-tab-text-active) !important;
  border-color: var(--fp-tab-bg-active) !important;
}

.fp-tabs .e-n-tab-title[aria-selected="true"] *,
.fp-tabs .e-n-tab-title.elementor-active *{
  color: var(--fp-tab-text-active) !important;
}

.fp-tabs .e-n-tabs-content{
  border-top: 0 !important;
}

@media (max-width: 767px){
  .fp-tabs .e-n-tab-title{
    width: 100%;
    text-align: center;
    justify-content: center;
  }
}

/* =========================================================
   TABS – SAFE INITIAL STATE FIX
   ========================================================= */

.fp-tabs .e-n-tabs-heading .e-n-tab-title,
.fp-tabs .e-n-tabs-heading .e-n-tab-title span,
.fp-tabs .e-n-tabs-heading .e-n-tab-title .e-n-tab-title-text{
  color: var(--fp-tab-text) !important;
}

.fp-tabs .e-n-tabs-heading .e-n-tab-title{
  background: var(--fp-tab-bg) !important;
  border-color: var(--fp-tab-border) !important;
}

.fp-tabs .e-n-tabs-heading .e-n-tab-title[aria-selected="true"],
.fp-tabs .e-n-tabs-heading .e-n-tab-title[aria-selected="true"] span,
.fp-tabs .e-n-tabs-heading .e-n-tab-title[aria-selected="true"] .e-n-tab-title-text{
  color: var(--fp-tab-text-active) !important;
}

.fp-tabs .e-n-tabs-heading .e-n-tab-title[aria-selected="true"]{
  background: var(--fp-tab-bg-active) !important;
  border-color: var(--fp-tab-bg-active) !important;
}

/* =========================================================
   SURFACE SYSTEM (ROBUST – HIERARCHIE-UNABHÄNGIG)
   ========================================================= */

.fp-surface{
  background: var(--fp-bg-white);
  color: var(--fp-text);
}

/* Wenn irgendwo im Elternbereich ein Dark-Kontext existiert */
.fp-bg-dark .fp-surface{
  background: var(--fp-bg-soft);
  color: var(--fp-text-invert);
}

/* FALLBACK: Wenn Elementor die Struktur "kaputt" macht */
.fp-bg-dark.fp-surface{
  background: var(--fp-bg-soft);
  color: var(--fp-text-invert);
}

/* =========================================================
   THEME: PREMIUM – DARK MODE OVERRIDES
   ========================================================= */

body.fp-theme-premium{
  background: var(--fp-surface-dark-3);
  color: var(--fp-text-invert);
}

body.fp-theme-premium h2,
body.fp-theme-premium .elementor-widget-heading h2.elementor-heading-title,
body.fp-theme-premium .elementor-widget-heading h3.elementor-heading-title,
body.fp-theme-premium .elementor-widget-heading h4.elementor-heading-title,
body.fp-theme-premium .elementor-widget-heading h5.elementor-heading-title,
body.fp-theme-premium .elementor-widget-heading h6.elementor-heading-title{
  color: var(--fp-text-invert) !important;
}

body.fp-theme-premium .fp-section-light,
body.fp-theme-premium .fp-section-soft,
body.fp-theme-premium .fp-surface{
  background: var(--fp-surface-dark-2) !important;
  color: var(--fp-text-invert) !important;
}

body.fp-theme-premium .fp-bg-white{
  background: var(--fp-surface-dark-3) !important;
}

body.fp-theme-premium .fp-bg-light,
body.fp-theme-premium .bg-light{
  background: var(--fp-surface-dark-2) !important;
}

body.fp-theme-premium .bg-white{
  background: var(--fp-surface-dark-3) !important;
}

body.fp-theme-premium .elementor-widget-accordion .elementor-accordion .elementor-tab-content{
  background-color: var(--fp-surface-dark-2) !important;
  color: var(--fp-text-invert) !important;
}

body.fp-theme-premium .elementor-button{
  color: var(--fp-text-on-brand) !important;
}

body.fp-theme-premium .button-outline-dark .elementor-button{
  background: transparent !important;
  color: var(--fp-primary) !important;
  box-shadow: inset 0 0 0 1px var(--fp-primary) !important;
}

body.fp-theme-premium .button-outline-dark .elementor-button:hover{
  background: var(--fp-primary) !important;
  color: var(--fp-text-on-brand) !important;
}

body.fp-theme-premium .button-outline-light .elementor-button{
  background: transparent !important;
  color: var(--fp-text-invert) !important;
  box-shadow: inset 0 0 0 1px var(--fp-text-invert) !important;
}

body.fp-theme-premium .button-outline-light .elementor-button:hover{
  background: var(--fp-text-invert) !important;
  color: var(--fp-text) !important;
}

body.fp-theme-premium .fp-tabs .e-n-tab-title{
  background: var(--fp-surface-dark-1) !important;
  color: var(--fp-primary) !important;
  border-color: var(--fp-border-light) !important;
}

body.fp-theme-premium .fp-tabs .e-n-tab-title:hover,
body.fp-theme-premium .fp-tabs .e-n-tab-title:focus{
  background: var(--fp-surface-dark-2) !important;
  color: var(--fp-primary) !important;
}

body.fp-theme-premium .fp-tabs .e-n-tab-title[aria-selected="true"],
body.fp-theme-premium .fp-tabs .e-n-tab-title.elementor-active{
  background: var(--fp-primary) !important;
  color: var(--fp-text-on-brand) !important;
  border-color: var(--fp-primary) !important;
}

body.fp-theme-premium .fp-tabs .e-n-tab-title[aria-selected="true"] *,
body.fp-theme-premium .fp-tabs .e-n-tab-title.elementor-active *{
  color: var(--fp-text-on-brand) !important;
}

body.fp-theme-premium a{
  color: var(--fp-primary);
}

body.fp-theme-premium a:hover,
body.fp-theme-premium a:focus{
  color: var(--fp-primary-dark);
}

body.fp-theme-premium .elementor-nav-menu .elementor-item:hover,
body.fp-theme-premium .elementor-nav-menu .elementor-item:focus,
body.fp-theme-premium .elementor-nav-menu .elementor-item.elementor-item-active,
body.fp-theme-premium .elementor-nav-menu .elementor-sub-item:hover,
body.fp-theme-premium .elementor-nav-menu .elementor-sub-item:focus,
body.fp-theme-premium .elementor-nav-menu .elementor-sub-item.elementor-item-active{
  color: var(--fp-primary) !important;
}

body.fp-theme-premium .fp-footer-dark{
  background: var(--fp-surface-dark-3) !important;
  color: var(--fp-text-invert) !important;
}

/* =========================================================
   TRUSTINDEX – PREMIUM THEME
   Premium-spezifische Aufhellung entfernen:
   Trustindex-Inhalte sollen wie im Standard dunkel bleiben.
   ========================================================= */

/* Sterne/Branding bleiben unberührt; nur Text auf dunkel zurückholen. */

/* =========================================================
   THEME: PREMIUM – FINISH FIXES
   ========================================================= */

/* Icon List Links in dunklen Premium-Bereichen */
body.fp-theme-premium .elementor-widget-icon-list .elementor-icon-list-item a{
  color: var(--fp-text-invert) !important;
}

body.fp-theme-premium .elementor-widget-icon-list .elementor-icon-list-item a:hover,
body.fp-theme-premium .elementor-widget-icon-list .elementor-icon-list-item a:focus{
  color: var(--fp-primary) !important;
}

body.fp-theme-premium .elementor-widget-icon-list .elementor-icon-list-icon i,
body.fp-theme-premium .elementor-widget-icon-list .elementor-icon-list-icon svg{
  color: var(--fp-primary) !important;
  fill: var(--fp-primary) !important;
  stroke: var(--fp-primary) !important;
}

/* Globaler Page Background im Premium-Mode */
body.fp-theme-premium{
  background-color: var(--fp-surface-dark-3) !important;
}

body.fp-theme-premium .elementor[data-elementor-type="wp-page"],
body.fp-theme-premium .elementor[data-elementor-type="single-page"],
body.fp-theme-premium .elementor-section-wrap,
body.fp-theme-premium .e-con{
  background-color: transparent;
}

/* Divider / Übergang Hero -> Soft */
body.fp-theme-premium .hero-wrap.to-soft{
  border-bottom-color: var(--fp-surface-dark-2) !important;
  background-image: linear-gradient(
    to bottom,
    transparent 0%,
    var(--fp-surface-dark-2) 100%
  ) !important;
}

body.fp-theme-premium .hero-wrap.to-soft::before,
body.fp-theme-premium .hero-wrap.to-soft::after{
  border-color: var(--fp-surface-dark-2) !important;
  background-color: var(--fp-surface-dark-2) !important;
}

/* =========================================================
   THEME: PREMIUM – V5 CONTRAST / LOOP / DIVIDER FIXES
   ========================================================= */

/* Globaler Seitenhintergrund wie fp-bg-dark */
body.fp-theme-premium{
  background-color: var(--fp-text) !important;
}

/* Eyebrows auf dunklen Premium-Flächen sicher invertieren */
body.fp-theme-premium .fp-eyebrow,
body.fp-theme-premium .fp-eyebrow .elementor-heading-title,
body.fp-theme-premium .dark-section .fp-eyebrow,
body.fp-theme-premium .dark-section .fp-eyebrow .elementor-heading-title,
body.fp-theme-premium .fp-bg-dark .fp-eyebrow,
body.fp-theme-premium .fp-bg-dark .fp-eyebrow .elementor-heading-title,
body.fp-theme-premium .fp-dark-gradient .fp-eyebrow,
body.fp-theme-premium .fp-dark-gradient .fp-eyebrow .elementor-heading-title,
body.fp-theme-premium .dark-gradient-primary .fp-eyebrow,
body.fp-theme-premium .dark-gradient-primary .fp-eyebrow .elementor-heading-title,
body.fp-theme-premium .fp-footer-gradient .fp-eyebrow,
body.fp-theme-premium .fp-footer-gradient .fp-eyebrow .elementor-heading-title{
  color: var(--fp-text-invert) !important;
}

/* Übergang / Divider wirklich dunkel ziehen */
body.fp-theme-premium .hero-wrap.to-soft,
body.fp-theme-premium .to-soft{
  border-bottom-color: var(--fp-text) !important;
  background-image: linear-gradient(
    to bottom,
    transparent 0%,
    var(--fp-text) 100%
  ) !important;
}

body.fp-theme-premium .hero-wrap.to-soft::before,
body.fp-theme-premium .hero-wrap.to-soft::after,
body.fp-theme-premium .to-soft::before,
body.fp-theme-premium .to-soft::after{
  border-color: var(--fp-text) !important;
  background-color: var(--fp-text) !important;
}

/* Loop-/Card-Hintergründe: weiße Ecken und helle Restflächen beseitigen */
body.fp-theme-premium .elementor-loop-container,
body.fp-theme-premium .elementor-posts-container,
body.fp-theme-premium .loop-card,
body.fp-theme-premium .loop-card__inner,
body.fp-theme-premium .loop-card__content,
body.fp-theme-premium .elementor-loop-item,
body.fp-theme-premium .elementor-loop-item > *{
  background-color: transparent;
}

body.fp-theme-premium .loop-card__content,
body.fp-theme-premium .elementor-loop-item .loop-card__content{
  background: var(--fp-gradient-brand) !important;
  color: var(--fp-text-on-brand) !important;
}

/* Text auf goldenen Loop-/Highlight-Flächen dunkel ziehen */
body.fp-theme-premium .loop-card__content,
body.fp-theme-premium .loop-card__content *,
body.fp-theme-premium .fp-surface-highlight,
body.fp-theme-premium .fp-surface-highlight *,
body.fp-theme-premium .fp-theme-premium-on-brand,
body.fp-theme-premium .fp-theme-premium-on-brand *{
  color: var(--fp-text-on-brand) !important;
}

/* Goldene Flächen / Container mit abgerundeten Ecken sauber füllen */
body.fp-theme-premium .fp-surface,
body.fp-theme-premium .fp-reviews,
body.fp-theme-premium .fp-reviews-white{
  background: var(--fp-surface-dark-2) !important;
  color: var(--fp-text-invert) !important;
}

/* Premium Buttons: auf Goldflächen dunkler Button mit weißer Schrift */
body.fp-theme-premium .elementor-button{
  color: var(--fp-text-on-brand) !important;
}

body.fp-theme-premium .fp-surface-highlight .elementor-button,
body.fp-theme-premium .loop-card__content .elementor-button,
body.fp-theme-premium .fp-theme-premium-on-brand .elementor-button,
body.fp-theme-premium .fp-surface-premium.fp-b .elementor-button,
body.fp-theme-premium .fp-surface-premium.fp-a:hover .elementor-button{
  background: var(--fp-text) !important;
  background-image: none !important;
  color: var(--fp-text-invert) !important;
  border: 0 !important;
}

body.fp-theme-premium .fp-surface-highlight .elementor-button:hover,
body.fp-theme-premium .loop-card__content .elementor-button:hover,
body.fp-theme-premium .fp-theme-premium-on-brand .elementor-button:hover,
body.fp-theme-premium .fp-surface-premium.fp-b .elementor-button:hover,
body.fp-theme-premium .fp-surface-premium.fp-a:hover .elementor-button:hover{
  background: var(--fp-surface-dark-2) !important;
  background-image: none !important;
  color: var(--fp-text-invert) !important;
  filter: none !important;
}

/* Normale Buttons auf dunklen Flächen weiter gold mit dunklem Text */
body.fp-theme-premium .fp-bg-dark .elementor-button,
body.fp-theme-premium .fp-dark-gradient .elementor-button,
body.fp-theme-premium .dark-gradient-primary .elementor-button,
body.fp-theme-premium .fp-footer-gradient .elementor-button{
  color: var(--fp-text-on-brand) !important;
}

/* Icon-List-Text in goldenen Karten dunkel */
body.fp-theme-premium .loop-card__content .elementor-widget-icon-list .elementor-icon-list-item a,
body.fp-theme-premium .fp-surface-highlight .elementor-widget-icon-list .elementor-icon-list-item a{
  color: var(--fp-text-on-brand) !important;
}

body.fp-theme-premium .loop-card__content .elementor-widget-icon-list .elementor-icon-list-icon i,
body.fp-theme-premium .loop-card__content .elementor-widget-icon-list .elementor-icon-list-icon svg,
body.fp-theme-premium .fp-surface-highlight .elementor-widget-icon-list .elementor-icon-list-icon i,
body.fp-theme-premium .fp-surface-highlight .elementor-widget-icon-list .elementor-icon-list-icon svg{
  color: var(--fp-text-on-brand) !important;
  fill: var(--fp-text-on-brand) !important;
  stroke: var(--fp-text-on-brand) !important;
}

/* =========================================================
   G) SYSTEM – PLUGIN OVERRIDES (WCS / SWIPER)
   ========================================================= */

/* WCS Carousel – Pfeile */
body.fp-theme-premium .wcs-carousel .swiper-button-next,
body.fp-theme-premium .wcs-carousel .swiper-button-prev{
  color: var(--fp-primary) !important;
}

body.fp-theme-premium .wcs-carousel .swiper-button-next:hover,
body.fp-theme-premium .wcs-carousel .swiper-button-prev:hover{
  color: var(--fp-primary-dark) !important;
}

/* Dots */
body.fp-theme-premium .wcs-carousel .swiper-pagination-bullet{
  background: rgba(255,255,255,0.2) !important;
  opacity: 1 !important;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  transition: all 0.2s ease;
}

body.fp-theme-premium .wcs-carousel .swiper-pagination-bullet-active{
  background: var(--fp-primary) !important;
  transform: scale(1.2);
}

/* =========================================================
   PREMIUM CONTACT GRADIENT (SOFT GLOW)
========================================================= */
body.fp-theme-premium .dark-section.fp-dark-gradient{
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(
      circle at 50% 78%,
      color-mix(in srgb, var(--fp-primary) 22%, transparent) 0%,
      color-mix(in srgb, var(--fp-primary) 14%, transparent) 18%,
      color-mix(in srgb, var(--fp-primary) 8%, transparent) 34%,
      transparent 62%
    ),
    radial-gradient(
      circle at 18% 16%,
      color-mix(in srgb, var(--fp-primary) 10%, transparent) 0%,
      transparent 42%
    ),
    radial-gradient(
      circle at 82% 12%,
      color-mix(in srgb, var(--fp-primary) 8%, transparent) 0%,
      transparent 38%
    ),
    var(--fp-gradient-surface-dark) !important;
  color: var(--fp-text-invert);
}

body.fp-theme-premium .dark-section.fp-dark-gradient::before{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(
      circle at 50% 76%,
      color-mix(in srgb, var(--fp-primary) 16%, transparent) 0%,
      transparent 52%
    );
  opacity: 1;
}

/* =========================================================
   PREMIUM GOLD H2 (NO ANIMATION)
========================================================= */
body.fp-theme-premium .dark-section.fp-dark-gradient h2{
  background: var(--fp-gradient-brand) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  color: transparent !important;
  text-shadow: none !important;
}

/* =========================================================
   PREMIUM – fp-tabs FINAL POLISH (TOKEN CLEAN)
   ========================================================= */

body.fp-theme-premium .elementor-widget-n-tabs.fp-tabs .e-n-tab-title{
  background: var(--fp-bg-white) !important;
  color: var(--fp-text-invert) !important;
  border: 1px solid var(--fp-primary) !important;
  border-radius: 10px !important;
  transition: all .25s ease;
}

/* Hover = dunkler Zustand + helle Schrift */
body.fp-theme-premium .elementor-widget-n-tabs.fp-tabs .e-n-tab-title:hover{
  background: var(--fp-surface-dark-2) !important;
  color: var(--fp-text-invert) !important;
  border-color: var(--fp-primary) !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 18px var(--fp-glow-brand-soft);
}

/* Active = Gold + dunkle Schrift */
body.fp-theme-premium .elementor-widget-n-tabs.fp-tabs .e-n-tab-title[aria-selected="true"]{
  background: var(--fp-primary) !important;
  color: var(--fp-text-on-brand) !important;
  border-color: var(--fp-primary) !important;
  box-shadow: 0 4px 14px var(--fp-glow-brand-soft);
}

/* Text immer korrekt */
body.fp-theme-premium .elementor-widget-n-tabs.fp-tabs .e-n-tab-title *,
body.fp-theme-premium .elementor-widget-n-tabs.fp-tabs .e-n-tab-title:hover *,
body.fp-theme-premium .elementor-widget-n-tabs.fp-tabs .e-n-tab-title[aria-selected="true"] *{
  color: inherit !important;
}

/* =========================================================
   WCS Design
   ========================================================= */

  body.fp-theme-premium [id^="wcs-app-"] .wcs-class__action a.wcs-btn.wcs-btn--action{
  background: var(--fp-primary) !important;
  color: var(--fp-text-on-brand) !important;
  border: none !important;
}

body.fp-theme-premium [id^="wcs-app-"] .wcs-class__action a.wcs-btn:not(.wcs-btn--action){
  background: transparent !important;
  color: var(--fp-text-invert) !important;
  border: 1px solid var(--fp-border-soft-strong) !important;
}

body.fp-theme-premium [id^="wcs-app-"] .wcs-class__action a.wcs-btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 8px 18px var(--fp-glow-brand-soft);
}

body.fp-theme-premium [id^="wcs-app-"] .wcs-class__action a.wcs-btn.wcs-btn--action:hover{
  background: var(--fp-primary-dark) !important;
  color: var(--fp-text-on-brand) !important;
}
   
/* =========================================================
   PREMIUM – Browser Scrollbar
   ========================================================= */

/* Firefox */
body.fp-theme-premium{
  scrollbar-color: var(--fp-primary) var(--fp-bg-light);
  scrollbar-width: auto;
}

/* WebKit */
body.fp-theme-premium::-webkit-scrollbar{
  width: 12px;
}

body.fp-theme-premium::-webkit-scrollbar-track{
  background: var(--fp-bg-light);
}

body.fp-theme-premium::-webkit-scrollbar-thumb{
  background: var(--fp-primary);
  border-radius: 999px;
  border: 2px solid var(--fp-bg-light);
}

body.fp-theme-premium::-webkit-scrollbar-thumb:hover{
  background: var(--fp-primary-dark);
}

/* =========================================================
   PREMIUM – WCS Detailseiten Background Fix
   ========================================================= */

/* kompletter Body */
body.fp-theme-premium[class*="wcs"]{
  background: var(--fp-gradient-surface-dark) !important;
  color: var(--fp-text-invert);
}

/* Hauptcontainer vom WCS */
body.fp-theme-premium [id^="wcs-app-"]{
  background: transparent !important;
}

/* einzelne Karten / Inhalte */
body.fp-theme-premium .wcs-class,
body.fp-theme-premium .wcs-single-class{
  background: var(--fp-surface-dark-1) !important;
  border: 1px solid var(--fp-border-soft) !important;
  border-radius: var(--fp-radius-soft);
}

/* =========================================================
   PREMIUM – Fahrplan "Mehr lesen" (fahrplan-btn)
   ========================================================= */

body.fp-theme-premium .fahrplan-btn{
  color: var(--fp-primary) !important;
}

/* optional: Hover etwas edler */
body.fp-theme-premium .fahrplan-btn:hover{
  color: var(--fp-primary-dark) !important;
}

/* =========================================================
   PREMIUM – WCS Shortcode Button (Termin Detail)
   ========================================================= */

body.fp-theme-premium .wcs-btn.wcs-btn--action{
  color: var(--fp-text-on-brand) !important;
}

/* =========================================================
   PREMIUM – GOLD HEADLINES FIX
   ---------------------------------------------------------
   Gilt nur im Premium Theme:
   - H2 auf dunklen Flächen
   - H3 auf dunklen Flächen
   - H1 auf Termin-Detailseiten
========================================================= */
body.fp-theme-premium .fp-section-light h2,
body.fp-theme-premium .fp-section-soft h2,
body.fp-theme-premium .dark-section h2,
body.fp-theme-premium .fp-section-light h3,
body.fp-theme-premium .fp-section-soft h3,
body.fp-theme-premium .dark-section h3,
body.fp-theme-premium.single-class h1,
body.fp-theme-premium.single-class .elementor-widget-heading h1.elementor-heading-title{
  background: var(--fp-gradient-brand) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  color: transparent !important;
  text-shadow: none !important;
}

/* =========================================================
   PREMIUM – LOOP CARD CONTENT SPECIAL CASE
   ---------------------------------------------------------
   Für goldene Loop-Flächen im Premium Theme:
   - Headlines wieder dunkel
   - Fließtext dunkel
   - Buttons invertiert für sauberen Kontrast
   ========================================================= */
body.fp-theme-premium .loop-card__content h1,
body.fp-theme-premium .loop-card__content h2,
body.fp-theme-premium .loop-card__content h3,
body.fp-theme-premium .loop-card__content .elementor-widget-heading h1.elementor-heading-title,
body.fp-theme-premium .loop-card__content .elementor-widget-heading h2.elementor-heading-title,
body.fp-theme-premium .loop-card__content .elementor-widget-heading h3.elementor-heading-title{
  background: none !important;
  -webkit-background-clip: initial !important;
  -webkit-text-fill-color: currentColor !important;
  background-clip: border-box !important;
  color: var(--fp-text-on-brand) !important;
  text-shadow: none !important;
}

body.fp-theme-premium .loop-card__content,
body.fp-theme-premium .loop-card__content p,
body.fp-theme-premium .loop-card__content .elementor-widget-text-editor,
body.fp-theme-premium .loop-card__content .elementor-widget-text-editor p,
body.fp-theme-premium .loop-card__content .elementor-widget-text-editor span,
body.fp-theme-premium .loop-card__content .elementor-icon-list-item,
body.fp-theme-premium .loop-card__content .elementor-icon-list-item a{
  color: var(--fp-text-on-brand) !important;
}

body.fp-theme-premium .loop-card__content .elementor-button,
body.fp-theme-premium .loop-card__content .elementor-button:visited{
  background: var(--fp-text) !important;
  background-image: none !important;
  color: var(--fp-text-invert) !important;
  border: 0 !important;
  box-shadow: 0 8px 22px rgba(0,0,0,.18) !important;
}

body.fp-theme-premium .loop-card__content .elementor-button:hover,
body.fp-theme-premium .loop-card__content .elementor-button:focus,
body.fp-theme-premium .loop-card__content .elementor-button:active{
  background: var(--fp-surface-dark-2) !important;
  background-image: none !important;
  color: var(--fp-text-invert) !important;
  filter: none !important;
}

body.fp-theme-premium .loop-card__content .elementor-button *,
body.fp-theme-premium .loop-card__content .elementor-button:hover *,
body.fp-theme-premium .loop-card__content .elementor-button:focus *{
  color: inherit !important;
}

/* Premium – fp-section surfaces match body */
body.fp-theme-premium .fp-section-light,
body.fp-theme-premium .fp-section-soft,
body.fp-theme-premium .fp-surface{
  background: var(--fp-surface-dark-3) !important;
}

/* Premium – Elementor Shape Divider unten deaktivieren */
body.fp-theme-premium .elementor-shape-bottom{
  display: none !important;
}

/* =========================================================
   PREMIUM – CONTENT BOXES (Führerscheinklassen)
   ---------------------------------------------------------
   Alle Info-Boxen automatisch auf Premium (Gold Border + Glow)
   ========================================================= */

body.fp-theme-premium 
.theorie-ausbildung,
body.fp-theme-premium 
.ausbildung-pruefung,
body.fp-theme-premium 
.wissenswertes,
body.fp-theme-premium 
.du-darfst-fahren,
body.fp-theme-premium 
.praktische-ausbildung,
body.fp-theme-premium 
.voraussetzungen,
body.fp-theme-premium 
.einsatz-moeglichkeiten {

    border: 1px solid var(--fp-primary) !important;
    box-shadow: 0 0 0 1px var(--fp-glow-brand-soft);
}

/* =========================================================
   PREMIUM – KONTAKT GLOW (FOCUSED / NICHT FLÄCHIG)
   ========================================================= */

body.fp-theme-premium .fp-contact-glow-inner{
  position: relative;
  isolation: isolate;
}

body.fp-theme-premium .fp-contact-glow-inner::before{
  content: "";
  position: absolute;

  /* 🔥 WICHTIG: kleiner & zentral */
  width: 420px;
  height: 420px;

  top: 55%;
  left: 50%;
  transform: translate(-50%, -50%);

  pointer-events: none;
  z-index: 0;

  background:
    radial-gradient(
      circle,
      rgba(226,195,90,0.28) 0%,
      rgba(226,195,90,0.18) 18%,
      rgba(226,195,90,0.10) 32%,
      rgba(226,195,90,0.05) 45%,
      transparent 60%
    );

  /* 🔥 weniger blur → mehr Fokus */
  filter: blur(28px);
}

/* Content bleibt darüber */
body.fp-theme-premium .fp-contact-glow-inner > *{
  position: relative;
  z-index: 1;
}

/* Tablet */
@media (max-width: 1024px){
  body.fp-theme-premium .fp-contact-glow-inner::before{
    width: 340px;
    height: 340px;
    filter: blur(24px);
  }
}

/* Mobile */
@media (max-width: 767px){
  body.fp-theme-premium .fp-contact-glow-inner::before{
    width: 260px;
    height: 260px;
    filter: blur(20px);
  }
}

/* =========================================================
   PREMIUM – KONTAKT GLOW (WIDER / SAME POWER)
   ========================================================= */

/* =========================================================
   PREMIUM – KONTAKT GLOW (HIGH IMPACT / STRONG CORE)
   ========================================================= */

body.fp-theme-premium .fp-contact-glow-inner{
  position: relative;
  isolation: isolate;
  z-index: 0;
}

body.fp-theme-premium .fp-contact-glow-inner::before{
  content: "";
  position: absolute;

  width: 700px;
  height: 700px;

  top: 62%;
  left: 50%;
  transform: translate(-50%, -50%);

  pointer-events: none;
  z-index: -1;

  background:
    radial-gradient(
      circle,
      rgba(255,220,120,0.75) 0%,   /* 🔥 harter Lichtkern */
      rgba(255,210,100,0.55) 12%,
      rgba(226,195,90,0.32) 26%,
      rgba(226,195,90,0.16) 42%,
      rgba(226,195,90,0.08) 56%,
      transparent 72%
    );

  filter: blur(38px);
}

body.fp-theme-premium .fp-contact-glow-inner::after{
  content: "";
  position: absolute;

  width: 320px;
  height: 320px;

  top: 55%;
  left: 70%;
  transform: translate(-50%, -50%);

  pointer-events: none;
  z-index: -1;

  background: radial-gradient(
    circle,
    rgba(255,220,120,0.45) 0%,
    rgba(226,195,90,0.18) 30%,
    transparent 65%
  );

  filter: blur(26px);
}

/* Mobile */
@media (max-width: 767px){
  body.fp-theme-premium .fp-contact-glow-inner::before{
    width: 360px;
    height: 360px;
    filter: blur(22px);
  }
}

/* =========================================================
   KONTAKTFORMULAR – BUTTON FONT SIZE
   ========================================================= */

.contact-consult .elementor-button{
  font-size: 26px !important;
}

@media (max-width: 1366px){
  .contact-consult .elementor-button{
    font-size: 20px !important;
  }
}

/* =========================================================
   PREMIUM – HOTSPOT TOOLTIPS ONLY
   ========================================================= */

body.fp-theme-premium .e-hotspot__tooltip{
  background: var(--fp-surface-dark-3) !important;
  color: var(--fp-text-invert) !important;
  border: 1px solid var(--fp-border-soft-strong) !important;
  border-radius: var(--fp-radius-xl) !important;
  box-shadow:
    0 18px 60px var(--fp-shadow-dark-strong),
    0 0 24px var(--fp-glow-brand-soft) !important;
}

/* Headline im Tooltip */
body.fp-theme-premium .e-hotspot__tooltip h1,
body.fp-theme-premium .e-hotspot__tooltip h2,
body.fp-theme-premium .e-hotspot__tooltip h3,
body.fp-theme-premium .e-hotspot__tooltip h4,
body.fp-theme-premium .e-hotspot__tooltip h5,
body.fp-theme-premium .e-hotspot__tooltip h6{
  color: var(--fp-primary) !important;
  background: none !important;
  -webkit-background-clip: initial !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
}

/* Fließtext */
body.fp-theme-premium .e-hotspot__tooltip,
body.fp-theme-premium .e-hotspot__tooltip p,
body.fp-theme-premium .e-hotspot__tooltip li,
body.fp-theme-premium .e-hotspot__tooltip span,
body.fp-theme-premium .e-hotspot__tooltip a{
  color: var(--fp-text-invert) !important;
  -webkit-text-fill-color: currentColor !important;
}

/* Links im Tooltip */
body.fp-theme-premium .e-hotspot__tooltip a:hover{
  color: var(--fp-primary) !important;
}

/* =========================================================
   VERLAUF FOOTER GRADIENT PREMIUM
   ========================================================= */

body.fp-theme-premium .fp-footer-gradient{
  background-color: var(--fp-surface-dark-3) !important;
  background-image: linear-gradient(
    115deg,
    var(--fp-surface-dark-3) 0%,
    var(--fp-surface-dark-3) 48%,
    color-mix(in srgb, var(--fp-surface-dark-3) 88%, var(--fp-primary)) 64%,
    color-mix(in srgb, var(--fp-surface-dark-3) 72%, var(--fp-primary)) 78%,
    color-mix(in srgb, var(--fp-surface-dark-3) 48%, var(--fp-primary)) 90%,
    color-mix(in srgb, var(--fp-surface-dark-3) 18%, var(--fp-primary)) 100%
  ) !important;
}

/* =========================================================
   TRUSTINDEX – RESET / BASIS
   ========================================================= */

.ti-widget{
  font-family: inherit !important;
}

.ti-widget *{
  color: inherit !important;
}

/* =========================================================
   TRUSTINDEX – STANDARD THEME
   ========================================================= */

body.fp-theme-standard .ti-widget{
  background: var(--fp-bg-white) !important;
  color: var(--fp-text) !important;
  border-radius: var(--fp-radius) !important;
  border: 1px solid var(--fp-border-light) !important;
  padding: 16px !important;
}

body.fp-theme-standard .ti-widget .ti-rating-text{
  color: var(--fp-text) !important;
}

/* =========================================================
   TRUSTINDEX – PREMIUM THEME
   ========================================================= */

/* Text */
/* Sterne (wichtig!) */
body.fp-theme-premium .ti-widget svg{
  fill: var(--fp-primary) !important;
}

/* Google Logo NICHT zerstören */
body.fp-theme-premium .ti-widget img{
  filter: none !important;
}

.ti-widget .ti-review-content{
  color: var(--fp-text) !important;
}

.ti-widget .ti-review-content *{
  color: var(--fp-text) !important;
  background: none !important;
}

/* =========================================================
   J) SYSTEM – DESIGN TOOL CONTRAST / PREMIUM HEADING FIX
   ---------------------------------------------------------
   Zweck:
   1) Premium-Headlines nicht mehr fest in Gold erzwingen
   2) Containerbasierte Kontrastsicherung für CTAs auf
      Brand-/Highlight-Flächen
   WICHTIG:
   - Kontrastlogik bewusst auf CONTAINER-Ebene
   - geeignet für Loop Cards und manuelle Wrapper (.fp-on-brand)
   ========================================================= */

/* ---------------------------------------------------------
   Premium Headings: feste Gold-HEX durch Systemtokens ersetzen
   --------------------------------------------------------- */
body.fp-theme-premium .fp-section-light h2,
body.fp-theme-premium .fp-section-soft h2,
body.fp-theme-premium .dark-section h2,
body.fp-theme-premium .fp-section-light h3,
body.fp-theme-premium .fp-section-soft h3,
body.fp-theme-premium .dark-section h3,
body.fp-theme-premium.single-class h1,
body.fp-theme-premium.single-class .elementor-widget-heading h1.elementor-heading-title{
  background: var(--fp-gradient-brand) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  color: transparent !important;
  text-shadow: none !important;
}

/* ---------------------------------------------------------
   Kontrast-Sicherheitszonen
   Nutzung:
   - automatisch in .loop-card__content
   - manuell über Wrapper-Klasse .fp-on-brand
   - optional für bestehende Highlight-Flächen
   --------------------------------------------------------- */
.fp-on-brand,
.fp-surface-highlight,
.loop-card__content{
  --fp-on-brand-button-bg: var(--fp-text);
  --fp-on-brand-button-bg-hover: var(--fp-surface-dark-2, var(--fp-primary-dark));
  --fp-on-brand-button-text: var(--fp-text-invert);
  --fp-on-brand-button-shadow: 0 8px 22px rgba(0,0,0,.18);
}

/* Buttons innerhalb von Brand-Flächen automatisch invertieren */
.fp-on-brand .elementor-button,
.fp-on-brand .elementor-button:visited,
.fp-surface-highlight .elementor-button,
.fp-surface-highlight .elementor-button:visited,
.loop-card__content .elementor-button,
.loop-card__content .elementor-button:visited{
  background: var(--fp-on-brand-button-bg) !important;
  background-image: none !important;
  color: var(--fp-on-brand-button-text) !important;
  border: 0 !important;
  box-shadow: var(--fp-on-brand-button-shadow) !important;
}

.fp-on-brand .elementor-button:hover,
.fp-on-brand .elementor-button:focus,
.fp-on-brand .elementor-button:active,
.fp-surface-highlight .elementor-button:hover,
.fp-surface-highlight .elementor-button:focus,
.fp-surface-highlight .elementor-button:active,
.loop-card__content .elementor-button:hover,
.loop-card__content .elementor-button:focus,
.loop-card__content .elementor-button:active{
  background: var(--fp-on-brand-button-bg-hover) !important;
  background-image: none !important;
  color: var(--fp-on-brand-button-text) !important;
  filter: none !important;
}

.fp-on-brand .elementor-button *,
.fp-on-brand .elementor-button:hover *,
.fp-on-brand .elementor-button:focus *,
.fp-surface-highlight .elementor-button *,
.fp-surface-highlight .elementor-button:hover *,
.fp-surface-highlight .elementor-button:focus *,
.loop-card__content .elementor-button *,
.loop-card__content .elementor-button:hover *,
.loop-card__content .elementor-button:focus *{
  color: inherit !important;
}

/* Outline-Buttons in Sicherheitszonen ebenfalls lesbar halten */
.fp-on-brand .button-outline-dark .elementor-button,
.fp-surface-highlight .button-outline-dark .elementor-button,
.loop-card__content .button-outline-dark .elementor-button{
  background: transparent !important;
  color: var(--fp-on-brand-button-text) !important;
  box-shadow: inset 0 0 0 1px var(--fp-on-brand-button-text) !important;
}

.fp-on-brand .button-outline-dark .elementor-button:hover,
.fp-surface-highlight .button-outline-dark .elementor-button:hover,
.loop-card__content .button-outline-dark .elementor-button:hover{
  background: var(--fp-on-brand-button-text) !important;
  color: var(--fp-on-brand-button-bg) !important;
}

/* Premium: Links/Buttons auf Highlight-Flächen sauber mitziehen */
body.fp-theme-premium .fp-on-brand .fahrplan-btn,
body.fp-theme-premium .fp-surface-highlight .fahrplan-btn,
body.fp-theme-premium .loop-card__content .fahrplan-btn{
  color: var(--fp-on-brand-button-text) !important;
}

body.fp-theme-premium .fp-on-brand .fahrplan-btn:hover,
body.fp-theme-premium .fp-surface-highlight .fahrplan-btn:hover,
body.fp-theme-premium .loop-card__content .fahrplan-btn:hover{
  color: var(--fp-on-brand-button-text) !important;
  opacity: .88;
}

/* ========================================
   CUSTOM SVG SAFETY – FINAL OVERRIDE
   Mehrfarbige SVGs (z. B. Canva) dürfen NICHT
   über globale SVG-Regeln voll eingefärbt werden.
   Standard-Icons mit currentColor bleiben steuerbar.
======================================== */
.fp-icon-default .elementor-icon svg,
.fp-icon-white .elementor-icon svg,
.fp-icon-accent .elementor-icon svg,
.fp-icon-box .elementor-icon svg,
.dark-section .fp-icon-box .elementor-icon svg,
.fp-bg-dark .fp-icon-box .elementor-icon svg,
.fp-dark-gradient .fp-icon-box .elementor-icon svg,
.dark-gradient-primary .fp-icon-box .elementor-icon svg,
.fp-footer-gradient .fp-icon-box .elementor-icon svg{
  fill: initial !important;
  stroke: initial !important;
}

.fp-icon-default .elementor-icon svg [fill="currentColor"],
.fp-icon-white .elementor-icon svg [fill="currentColor"],
.fp-icon-accent .elementor-icon svg [fill="currentColor"],
.fp-icon-box .elementor-icon svg [fill="currentColor"],
.dark-section .fp-icon-box .elementor-icon svg [fill="currentColor"],
.fp-bg-dark .fp-icon-box .elementor-icon svg [fill="currentColor"],
.fp-dark-gradient .fp-icon-box .elementor-icon svg [fill="currentColor"],
.dark-gradient-primary .fp-icon-box .elementor-icon svg [fill="currentColor"],
.fp-footer-gradient .fp-icon-box .elementor-icon svg [fill="currentColor"]{
  fill: currentColor !important;
}

.fp-icon-default .elementor-icon svg [stroke="currentColor"],
.fp-icon-white .elementor-icon svg [stroke="currentColor"],
.fp-icon-accent .elementor-icon svg [stroke="currentColor"],
.fp-icon-box .elementor-icon svg [stroke="currentColor"],
.dark-section .fp-icon-box .elementor-icon svg [stroke="currentColor"],
.fp-bg-dark .fp-icon-box .elementor-icon svg [stroke="currentColor"],
.fp-dark-gradient .fp-icon-box .elementor-icon svg [stroke="currentColor"],
.dark-gradient-primary .fp-icon-box .elementor-icon svg [stroke="currentColor"],
.fp-footer-gradient .fp-icon-box .elementor-icon svg [stroke="currentColor"]{
  stroke: currentColor !important;
}

.fp-icon-default :not(.fp-icon-original) .elementor-icon svg [fill]:not([fill="none"]):not([fill="currentColor"]),
.fp-icon-white :not(.fp-icon-original) .elementor-icon svg [fill]:not([fill="none"]):not([fill="currentColor"]),
.fp-icon-accent :not(.fp-icon-original) .elementor-icon svg [fill]:not([fill="none"]):not([fill="currentColor"]),
.fp-icon-box :not(.fp-icon-original) .elementor-icon svg [fill]:not([fill="none"]):not([fill="currentColor"]),
.dark-section .fp-icon-box :not(.fp-icon-original) .elementor-icon svg [fill]:not([fill="none"]):not([fill="currentColor"]),
.fp-bg-dark .fp-icon-box :not(.fp-icon-original) .elementor-icon svg [fill]:not([fill="none"]):not([fill="currentColor"]),
.fp-dark-gradient .fp-icon-box :not(.fp-icon-original) .elementor-icon svg [fill]:not([fill="none"]):not([fill="currentColor"]),
.dark-gradient-primary .fp-icon-box :not(.fp-icon-original) .elementor-icon svg [fill]:not([fill="none"]):not([fill="currentColor"]),
.fp-footer-gradient .fp-icon-box :not(.fp-icon-original) .elementor-icon svg [fill]:not([fill="none"]):not([fill="currentColor"]){
  fill: revert !important;
}

.fp-icon-default :not(.fp-icon-original) .elementor-icon svg [stroke]:not([stroke="none"]):not([stroke="currentColor"]),
.fp-icon-white :not(.fp-icon-original) .elementor-icon svg [stroke]:not([stroke="none"]):not([stroke="currentColor"]),
.fp-icon-accent :not(.fp-icon-original) .elementor-icon svg [stroke]:not([stroke="none"]):not([stroke="currentColor"]),
.fp-icon-box :not(.fp-icon-original) .elementor-icon svg [stroke]:not([stroke="none"]):not([stroke="currentColor"]),
.dark-section .fp-icon-box :not(.fp-icon-original) .elementor-icon svg [stroke]:not([stroke="none"]):not([stroke="currentColor"]),
.fp-bg-dark .fp-icon-box :not(.fp-icon-original) .elementor-icon svg [stroke]:not([stroke="none"]):not([stroke="currentColor"]),
.fp-dark-gradient .fp-icon-box :not(.fp-icon-original) .elementor-icon svg [stroke]:not([stroke="none"]):not([stroke="currentColor"]),
.dark-gradient-primary .fp-icon-box :not(.fp-icon-original) .elementor-icon svg [stroke]:not([stroke="none"]):not([stroke="currentColor"]),
.fp-footer-gradient .fp-icon-box :not(.fp-icon-original) .elementor-icon svg [stroke]:not([stroke="none"]):not([stroke="currentColor"]){
  stroke: revert !important;
}

/* TRUSTINDEX – Premium: Name & Datum korrekt färben */
body.fp-theme-premium .ti-widget .ti-name,
body.fp-theme-premium .ti-widget .ti-date{
  color: var(--fp-text) !important;
}

/* =========================================================
   FIX: fp-icon-white NUR im Standard Theme weiß
========================================================= */
body.fp-theme-standard .fp-icon-white .elementor-icon,
body.fp-theme-standard .fp-icon-white .elementor-icon i,
body.fp-theme-standard .fp-icon-white .elementor-icon svg,
body.fp-theme-standard .fp-icon-white .elementor-icon svg *,
body.fp-theme-standard .fp-icon-white .elementor-icon-box-icon,
body.fp-theme-standard .fp-icon-white .elementor-icon-box-icon i,
body.fp-theme-standard .fp-icon-white .elementor-icon-box-icon svg,
body.fp-theme-standard .fp-icon-white .elementor-icon-box-icon svg *{
  color: var(--fp-text-invert) !important;
  fill: var(--fp-text-invert) !important;
  stroke: var(--fp-text-invert) !important;
}

/* ========================================
   BUTTON – HIGHLIGHT VARIANT
======================================== */
.elementor-button.button-highlight{
  background: var(--fp-highlight-button-bg) !important;
  background-image: none !important;
  color: var(--fp-highlight-button-text) !important;
  box-shadow: var(--fp-highlight-button-shadow);
}

.elementor-button.button-highlight:hover,
.elementor-button.button-highlight:focus{
  background: var(--fp-highlight-button-bg-hover) !important;
  background-image: none !important;
  color: var(--fp-highlight-button-text) !important;
}

/* =========================================================
   ORIGINAL SVG ICONS – CONTAINER OPT-OUT
   ---------------------------------------------------------
   Wenn ein übergeordneter Container die Klasse
   .fp-icon-original trägt, bleiben enthaltene Custom-/Canva-
   SVGs farblich unangetastet.
   ========================================================= */

.fp-icon-original .elementor-icon svg [fill]:not([fill="none"]):not([fill="currentColor"]),
.fp-icon-original .elementor-icon-box-icon svg [fill]:not([fill="none"]):not([fill="currentColor"]),
.fp-icon-original .elementor-icon-list-icon svg [fill]:not([fill="none"]):not([fill="currentColor"]){
  fill: unset !important;
}

.fp-icon-original .elementor-icon svg [stroke]:not([stroke="none"]):not([stroke="currentColor"]),
.fp-icon-original .elementor-icon-box-icon svg [stroke]:not([stroke="none"]):not([stroke="currentColor"]),
.fp-icon-original .elementor-icon-list-icon svg [stroke]:not([stroke="none"]):not([stroke="currentColor"]){
  stroke: unset !important;
}

/* =========================================================
   ORIGINAL SVG ICONS – CONTAINER OPT-OUT FINAL
   ---------------------------------------------------------
   Für Container mit .fp-icon-original werden auch Icon-Box-
   Wrapper-Farben neutralisiert, damit Canva-/Custom-SVGs in
   Icon-Widgets, Icon-Boxen und Icon-Listen wirklich ihre
   Originaldarstellung behalten.
   ========================================================= */

.fp-icon-original .elementor-icon,
.fp-icon-original .elementor-icon i,
.fp-icon-original .elementor-icon-box-icon,
.fp-icon-original .elementor-icon-box-icon i,
.fp-icon-original .elementor-icon-list-icon,
.fp-icon-original .elementor-icon-list-icon i{
  color: initial !important;
}

.fp-icon-original .elementor-icon svg,
.fp-icon-original .elementor-icon-box-icon svg,
.fp-icon-original .elementor-icon-list-icon svg,
.fp-icon-original .elementor-icon svg *,
.fp-icon-original .elementor-icon-box-icon svg *,
.fp-icon-original .elementor-icon-list-icon svg *{
  color: initial !important;
}


/* =========================================================
   SWIPER NAV BUTTONS (KREIS / BRAND / FIX)
   ========================================================= */

body .elementor-swiper-button,
body .swiper-button-prev,
body .swiper-button-next{
  display: flex !important;
  align-items: center;
  justify-content: center;

  width: 64px !important;
  height: 64px !important;
  min-width: 64px !important;
  min-height: 64px !important;

  background-color: var(--fp-primary) !important;
  color: var(--fp-text-invert) !important;

  border-radius: 50% !important;
  padding: 0 !important;
  opacity: 1 !important;
  box-sizing: border-box !important;
}

/* SVG Pfeile größer und präsenter */
body .elementor-swiper-button svg,
body .swiper-button-prev svg,
body .swiper-button-next svg{
  width: 30px !important;
  height: 30px !important;

  fill: var(--fp-text-invert) !important;
  stroke: var(--fp-text-invert) !important;
  color: var(--fp-text-invert) !important;

  transform: scale(1.2);
  transform-origin: center;
}

/* Falls Icons als <i> kommen */
body .elementor-swiper-button i,
body .swiper-button-prev i,
body .swiper-button-next i{
  font-size: 30px !important;
  line-height: 1 !important;
  color: var(--fp-text-invert) !important;
}

/* Falls Icons als <i> kommen */
body .elementor-swiper-button i,
body .swiper-button-prev i,
body .swiper-button-next i{
  color: var(--fp-text-invert) !important;
}

/* Hover bleibt stabil (kein Farbwechsel-Chaos) */
body .elementor-swiper-button:hover,
body .swiper-button-prev:hover,
body .swiper-button-next:hover{
  background-color: var(--fp-primary) !important;
  color: var(--fp-text-invert) !important;
  opacity: 1 !important;
}

body .elementor-swiper-button:hover svg,
body .swiper-button-prev:hover svg,
body .swiper-button-next:hover svg{
  fill: var(--fp-text-invert) !important;
  stroke: var(--fp-text-invert) !important;
}

/* =========================================================
   WHATSAPP WIDGET FIX
   ========================================================= */

/* Texte / Hinweise */
body #wa .wa__popup_intro,
body #wa .wa__popup_notice{
  color: var(--mf-wa-panel-muted) !important;
  font-family: inherit !important;
  background: none !important;
}

body #wa .wa__popup_title{
  color: var(--mf-wa-header-text) !important;
  font-family: inherit !important;
  font-weight: 700 !important;
  background: none !important;
}

/* Globaler SVG-/Icon-/Background-Reset für WhatsApp
   funktioniert in Standard + Premium */
body #wa .wa__btn_popup,
body #wa .wa__btn_popup *,
body #wa .wa__btn_popup_icon,
body #wa .wa__btn_popup_icon *,
body #wa .wa__btn_el,
body #wa .wa__btn_el *,
body [class*="whatsapp"],
body [class*="wa-button"]{
  background: none !important;
  box-shadow: none !important;
}

/* Medien / SVG explizit neutralisieren */
body #wa svg,
body #wa img,
body #wa .wa__btn_popup svg,
body #wa .wa__btn_popup img,
body #wa .wa__btn_popup_icon svg,
body #wa .wa__btn_popup_icon img,
body #wa .wa__btn_el svg,
body #wa .wa__btn_el img{
  background: none !important;
  box-shadow: none !important;
}

/* Nur Premium:
   Text im betroffenen Bereich bewusst dunkel halten */
body.fp-theme-premium .whatsapp,
body.fp-theme-premium .wa-button,
body.fp-theme-premium .wa__btn_popup,
body.fp-theme-premium [class*="whatsapp"],
body.fp-theme-premium [class*="wa__"]{
  color: #111111 !important;
}


/* WhatsApp Panel Hintergrund fix */
body #wa .wa__popup_chat_box,
body #wa .wa__popup_chat_box .wa__stt,
body #wa .wa__popup_chat_box .wa__content {
    background: var(--fp-surface-dark-2) !important;
    color: var(--fp-text-on-dark) !important;
}


#motorrad-tabs,
#pkw-tabs {
    scroll-margin-top: 180px;
}


/* =========================================================
   BORLABS COOKIE – SYSTEM SKIN (Conversion-Fokus)
   ========================================================= */

/* ================================
   BASE (ruhig & neutral halten)
================================ */
.brlbs-cmpnt-dialog,
.brlbs-cmpnt-dialog-bar {
    background: #ffffff !important;
    color: #222 !important;
}

/* Texte leicht gedimmt (weniger visuelles Rauschen) */
.brlbs-cmpnt-text-description,
.brlbs-cmpnt-text-more-information,
.brlbs-cmpnt-text-revoke,
.brlbs-cmpnt-non-eu-data-transfer {
    color: #666 !important;
}

/* ================================
   PRIMARY CTA (DER wichtige Button)
================================ */
.brlbs-btn-accept-all {
    background: var(--fp-accent) !important;
    color: #fff !important;
    border: 1px solid var(--fp-accent) !important;

    border-radius: 999px !important;
    font-weight: 600 !important;

    box-shadow: 0 8px 20px rgba(0,0,0,0.15) !important;
    transition: all 0.2s ease;
}

.brlbs-btn-accept-all:hover {
    transform: translateY(-1px);
    filter: brightness(0.95);
}

/* ================================
   SECONDARY (bewusst unattraktiv)
================================ */
.brlbs-cmpnt-btn-preferences {
    background: #f1f1f1 !important;
    color: #666 !important;
    border: 1px solid #ddd !important;

    border-radius: 999px !important;
    font-weight: 500 !important;

    box-shadow: none !important;
}

.brlbs-cmpnt-btn-preferences:hover {
    background: #e5e5e5 !important;
}

/* ================================
   SAVE BUTTON (unten in Präferenzen)
   -> neutral halten!
================================ */
.brlbs-cmpnt-btn:not(.brlbs-btn-accept-all):not(.brlbs-cmpnt-btn-preferences) {
    background: #f1f1f1 !important;
    color: #333 !important;
    border: 1px solid #ddd !important;
    box-shadow: none !important;
}

/* ================================
   "ALLE AUSWÄHLEN / ABWÄHLEN"
   -> bewusst schwarz lassen
================================ */
.brlbs-cmpnt-btn-selection {
    background: #111 !important;
    color: #fff !important;
    border: 1px solid #111 !important;

    border-radius: 999px !important;
    font-size: 0.85em !important;
}

.brlbs-cmpnt-btn-selection:hover {
    background: #000 !important;
}

/* ================================
   LINKS (Footer + Header)
   -> bewusst unauffällig
================================ */
.brlbs-cmpnt-link {
    color: #999 !important;
    text-decoration: none !important;
    font-size: 0.9em !important;
}

.brlbs-cmpnt-link:hover {
    color: #666 !important;
    text-decoration: underline !important;
}

/* Back Button extra schwach */
.brlbs-cmpnt-back-button {
    color: #aaa !important;
}

/* ================================
   TABS (Präferenzen)
================================ */
.brlbs-cmpnt-tab {
    color: #777 !important;
}

.brlbs-cmpnt-tab-active {
    color: #000 !important;
    font-weight: 600 !important;
}

/* ================================
   ACCORDION / SERVICE GROUPS
   -> bewusst neutral lassen
================================ */
.brlbs-cmpnt-card {
    background: #f7f7f7 !important;
    border-radius: 12px !important;
}

/* ================================
   CONSENT DOTS (kleine Punkte)
================================ */
.brlbs-cmpnt-consent-list-item-dot {
    background: #ccc !important;
}

/* ================================
   CLOSE BUTTON (oben rechts)
================================ */
.brlbs-cmpnt-close-button {
    color: #aaa !important;
}

/* ================================
   MOBILE SAFETY
================================ */
@media (max-width: 768px) {
    .brlbs-btn-accept-all {
        font-size: 1rem !important;
    }
}