:root{--paper:#F4F1EA;--paper-2:#ECE7DC;--ink:#16130F;--ink-soft:#5E574C;--garnet:#7B2D3B;--garnet-dark:#8E3645;--line:#D8D2C6;}

/*
Theme Name:   Kardiologie Isar-Loisachtal (Divi Child)
Theme URI:    https://www.kardiologie-isar-loisachtal.de
Description:  Child-Theme für die Kardiologie Isar-Loisachtal. Globales Design-System (Richtung A — Editorial, Bone/Garnet, serifenlos). Divi 4. Token-Quelle: kardiologie-divi4-foundation.css (aus dem abgenommenen Prototyp extrahiert).
Author:       SONDERLING · Funk & Preller GbR
Author URI:   https://sonderling.agentur
Template:     Divi
Version:      1.0.1782742316311
*/

/* =====================================================================
   ABSCHNITT A — FOUNDATION (1:1 aus kardiologie-divi4-foundation.css)
   Maßgebliche Token-Quelle. k--Prefix. Aus dem abgenommenen Prototyp.
   Einzige Abweichung: 600;700;800&family=Hanken+Grotesk:wght@400;500;600&family=Spline+Sans+Mono:wght@400;500&display=swap'); */

/* 2) TOKENS (in Divi 4 die Token-Quelle) */
:root{
  /* Farben — als Global Colors zusaetzlich in der Divi-UI anlegen */
  --k-paper:#F4F1EA;        /* Hintergrund / Bone        */
  --k-ink:#16130F;          /* Text / Dunkel             */
  --k-ink-soft:#5E574C;     /* gedaempfter Text / Labels */
  --k-garnet:#7B2D3B;       /* Akzent                    */
  --k-garnet-dark:#8E3645;  /* Akzent Hover              */
  --k-line:#D8D2C6;         /* Haarlinien                */

  /* Schriften */
  --k-display:'Plus Jakarta Sans',sans-serif;  /* Headlines 700/800 */
  --k-body:'Hanken Grotesk',sans-serif;        /* Fliesstext 400/500/600 */
  --mono:'Spline Sans Mono',monospace;       /* Labels/Buttons 400/500 */

  /* Fluide Typo-Skala (D4-UI kann kein clamp -> hier) */
  --k-size-h1:clamp(44px,7vw,104px);
  --k-size-h2:clamp(34px,5.5vw,76px);
  --k-size-h3:clamp(20px,2.4vw,30px);
  --k-size-lead:clamp(19px,1.7vw,24px);

  /* Spacing / Gutter (D4-UI kann kein clamp -> hier) */
  --k-gx:clamp(20px,3.5vw,72px);            /* Seitenrand (full-bleed)   */
  --k-space-section:clamp(56px,7vw,110px);  /* Standard-Sektion          */
  --k-space-section-lg:clamp(64px,9vw,150px);/* grosse Sektion (Statement)*/
  --k-space-band:clamp(64px,9vw,140px);     /* dunkles Band (Termin)     */
  --k-space-row:clamp(24px,2.8vw,40px);     /* nummerierte Zeile         */
  --k-space-cell:clamp(24px,2.2vw,34px);    /* Karte (Team/Standort)     */
  --k-gap-grid:clamp(20px,3vw,56px);        /* Grid-Gap in Rows          */

  /* Sonstiges */
  --k-radius:2px;
  --k-hairline:1px solid var(--k-line);
}

/* 3) HEADLINE-SKALA (fluide — D4-Customizer kann kein clamp()). */
h1,h2,h3,h4{font-family:var(--k-display);letter-spacing:-0.02em;line-height:1.07}
h1{font-size:var(--k-size-h1);font-weight:800;line-height:1.0}
h2{font-size:var(--k-size-h2);font-weight:700}
h3{font-size:var(--k-size-h3);font-weight:600;letter-spacing:-0.015em}

/* 4) BODY-BASIS — primaer im Theme Customizer setzen. Fallback: */
/* body{font-family:var(--k-body);font-size:18px;line-height:1.6;color:var(--k-ink);background:var(--k-paper)} */

/* 5) UTILITY-KLASSEN — im Modul-Feld „CSS-Klasse" zuweisen */
.k-gx{padding-left:var(--k-gx)!important;padding-right:var(--k-gx)!important}

.k-sec{padding-top:var(--k-space-section)!important;padding-bottom:var(--k-space-section)!important}
.k-sec-lg{padding-top:var(--k-space-section-lg)!important;padding-bottom:var(--k-space-section-lg)!important}

.k-hair-top{border-top:var(--k-hairline)}
.k-hair-bottom{border-bottom:var(--k-hairline)}

.mono{font-family:var(--mono);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--k-ink-soft)}
.num{font-family:var(--mono);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--k-garnet)}
.lead{font-size:var(--k-size-lead);line-height:1.45;max-width:40ch}

.k-band{background:var(--k-ink)!important;color:var(--k-paper)!important}
.k-band h1,.k-band h2,.k-band h3,.k-band p,.k-band .lead{color:var(--k-paper)!important}
.k-band .mono{color:#A89E8E!important} */

/* =====================================================================
   ABSCHNITT B — DIVI-BUILD-ERGÄNZUNGEN (SONDERLING)
   Klassen, die foundation.css nicht enthält, aber der native Divi-Nachbau
   braucht (Header, Menü-Pill, Underline-Link, Spaltenlinien). k--Konvention.
   ===================================================================== */

/* Underline-Link (Hero „Leistungsspektrum", Sektions-Header „Alle …") */
.k-link{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--mono);font-size:14px;letter-spacing:.04em;text-transform:uppercase;
  color:var(--k-ink);text-decoration:none;
  border-bottom:1px solid var(--k-ink);padding-bottom:3px;transition:.2s;
}
.k-link:hover{color:var(--k-garnet);border-color:var(--k-garnet);gap:16px}

/* Sticky-Header-Hintergrund (auf die Header-Section im Theme Builder) */
.k-header{
  background:rgba(244,241,234,0.86)!important;
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--k-line)!important;
}

/* Menü-Pill — NUR auf den letzten Menüeintrag „Notfall · 112" (Garnet) */
.k-menu-btn > a{
  background:var(--k-garnet)!important;color:#fff!important;
  font-family:var(--mono)!important;font-size:13px!important;
  letter-spacing:.04em;text-transform:uppercase;
  padding:9px 16px!important;border-radius:var(--k-radius);transition:.2s;
}
.k-menu-btn > a:hover{background:var(--k-garnet-dark)!important;color:#fff!important}

/* Spaltenlinie (Hero-Video links, dunkles Band rechts) */
.k-border-left{border-left:var(--k-hairline)}
.k-border-top{border-top:var(--k-hairline)}

/* Hero-Sektion: Mindesthöhe + Abschlusslinie (Klasse auf die Hero-Section) */
.k-hero{min-height:clamp(520px,72vh,880px);border-bottom:var(--k-hairline)}

/* Akzentwort in Headlines (Hero „Präzise.") — aufrecht, Garnet.
   Verwendung: <em class="k-accent">Präzise.</em> */
.k-accent{font-style:normal;color:var(--k-garnet)}

/* CTA-Gruppe (Button + Underline-Link nebeneinander) */
.k-cta{display:flex;gap:26px;align-items:center;flex-wrap:wrap;margin-top:40px}

/* =====================================================================
   ABSCHNITT C — VB-RENDER-FIXES & PROTOTYP-PARITÄT (Full-bleed editorial)
   ===================================================================== */

/* Full-bleed: native Sektionen über die volle Breite mit Gutter
   (Prototyp nutzt durchgehend .gx = clamp(20,3.5vw,72), keine zentrierte 1080er-Spalte). */
.k-sec .et_pb_row,
.k-sec-lg .et_pb_row,
.k-band .et_pb_row{
  width:100% !important; max-width:100% !important;
  padding-left:var(--k-gx) !important; padding-right:var(--k-gx) !important;
}

/* Hero: full-bleed Grid 1.45fr/1fr — Text links mit Gutter, Video randlos rechts. */
.k-hero > .et_pb_row{
  display:grid !important; grid-template-columns:1.45fr 1fr !important; gap:0 !important;
  width:100% !important; max-width:100% !important; padding:0 !important; margin:0 !important;
  min-height:clamp(520px,72vh,880px);
}
.k-hero > .et_pb_row > .et_pb_column{
  width:auto !important; margin:0 !important; padding:0 !important; float:none !important;
}
.k-hero .et_pb_column:first-child{
  padding:clamp(36px,5vw,80px) clamp(36px,4vw,72px) clamp(40px,5vw,72px) var(--k-gx) !important;
  display:flex; flex-direction:column; justify-content:center;
}
.k-hero .et_pb_column:last-child{ border-left:1px solid var(--k-line); }
.k-hero .et_pb_column:last-child .et_pb_code,
.k-hero .et_pb_column:last-child .et_pb_code_inner{ height:100%; }
.k-hero .et_pb_column:last-child video{ width:100%; height:100%; object-fit:cover; display:block; }

@media(max-width:980px){
  .k-hero > .et_pb_row{ grid-template-columns:1fr !important; min-height:0; }
  .k-hero .et_pb_column:first-child{ padding:clamp(28px,6vw,48px) var(--k-gx) !important; }
  .k-hero .et_pb_column:last-child{ border-left:0; border-top:1px solid var(--k-line); }
  .k-hero .et_pb_column:last-child video{ min-height:340px; }
}

/* Statement (01): große Schrift, Akzentwort in Garnet, Lesebreite wie Prototyp (.big). */
.k-sec-lg .et_pb_text h2{ max-width:22ch; line-height:1.04; letter-spacing:-0.03em; }
.k-sec-lg .et_pb_text h2 b{ color:var(--k-garnet); font-weight:700; }

/* =====================================================================
   ABSCHNITT D - PROTOTYP-PARITAET (SONDERLING)
   ===================================================================== */
.et-l--header{position:sticky;top:0;z-index:9999;}
.k-team .et_pb_image img{aspect-ratio:4/5;object-fit:cover;width:100%;}
.k-standorte .et_pb_image img{aspect-ratio:16/11;object-fit:cover;width:100%;}
.k-ratgeber .et_pb_image img{aspect-ratio:3/2;object-fit:cover;width:100%;}
.k-team .et_pb_image,.k-standorte .et_pb_image,.k-ratgeber .et_pb_image{width:100% !important;}
.k-team h3{font-size:clamp(18px,1.5vw,22px) !important;font-weight:600;}
.k-standorte h3{font-size:clamp(18px,1.6vw,22px) !important;}
.k-team .et_pb_column .et_pb_text:last-child{font-size:15px;color:var(--k-ink-soft);}
.k-team .et_pb_column:not(:first-child),.k-standorte .et_pb_column:not(:first-child),.k-ratgeber .et_pb_column:not(:first-child){border-left:1px solid var(--k-line);}
.k-team .et_pb_column,.k-standorte .et_pb_column,.k-ratgeber .et_pb_column{padding-left:clamp(16px,1.6vw,28px);padding-right:clamp(16px,1.6vw,28px);}

/* ===== ABSCHNITT E - GLOBAL BG/FONTS + PRAXIS-BG ===== */
body{background:var(--k-paper) !important;color:var(--k-ink);font-family:'Hanken Grotesk',sans-serif !important;}
body .et_pb_text,body p,body li,body a,body input,body textarea,body .et_pb_contact_field,body .et_pb_contact_field input,body .et_pb_contact_field textarea{font-family:'Hanken Grotesk',sans-serif;}
body h1,body h2,body h3,body h4,.et_pb_text h1,.et_pb_text h2,.et_pb_text h3,.et_pb_text h4{font-family:'Plus Jakarta Sans',sans-serif !important;}
.k-praxis{background:linear-gradient(rgba(244,241,234,.90),rgba(244,241,234,.74)),url('/wp-content/uploads/2026/06/praxis-bg.webp') center/cover !important;min-height:clamp(420px,52vh,620px);display:flex;flex-direction:column;justify-content:center;}

/* ===== Lokale Fonts (DSGVO) + Typo-Feinschliff nach Prototyp ===== */
@font-face{font-family:'Plus Jakarta Sans';src:url('/wp-content/uploads/2026/06/PlusJakartaSans-Variable.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:'Hanken Grotesk';src:url('/wp-content/uploads/2026/06/HankenGrotesk-Variable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Spline Sans Mono';src:url('/wp-content/uploads/2026/06/SplineSansMono-Variable.woff2') format('woff2');font-weight:300 700;font-style:normal;font-display:swap}
.et_pb_text,.et_pb_text_inner{font-family:'Hanken Grotesk',sans-serif}
.et_pb_text p:not([style*="font-family"]),.et_pb_text_inner p:not([style*="font-family"]){font-family:'Hanken Grotesk',sans-serif !important}
.et_pb_text p:not([style*="font-size"]),.et_pb_text_inner p:not([style*="font-size"]){font-size:18px !important;line-height:1.6 !important}
.lead:not([style*="font-size"]){font-size:clamp(19px,1.7vw,24px) !important;line-height:1.45 !important}

/* ===== Leistungen: 2-Spalten + Trennerlinie ===== */
.k-svc-row{align-items:stretch}
.k-svc-row>.et_pb_column{margin-bottom:0 !important}
.k-svc-row .k-svc-figure{border-left:1px solid var(--k-line,#D8D2C6)}
.k-svc-row .k-svc-figure,.k-svc-row .k-svc-figure .et_pb_code,.k-svc-row .k-svc-figure .et_pb_code_inner{height:100%}
@media(max-width:980px){.k-svc-row .k-svc-figure{border-left:0;border-top:1px solid var(--k-line,#D8D2C6)}.k-svc-row .k-svc-figure>.et_pb_code{min-height:240px}}

/* === KX DESIGN-SYSTEM v3 (robust · am Dateiende · hier steuern) ============ */
:root{
  --paper:#F4F1EA;--paper-2:#ECE7DC;--ink:#16130F;--ink-soft:#5E574C;--garnet:#7B2D3B;--garnet-dark:#8E3645;--line:#D8D2C6;
  --fs-body:clamp(1.031rem,0.35vw + 0.938rem,1.156rem);--fs-lead:clamp(1.0625rem,0.45vw + 0.9rem,1.25rem);
  --fs-label:clamp(0.813rem,0.45vw + 0.656rem,0.969rem);--fs-btn:clamp(0.875rem,0.40vw + 0.750rem,1.031rem);
  --fs-h1:clamp(2.375rem,3.6vw + 1.1rem,4.5rem);--fs-h2:clamp(1.875rem,2.8vw + 0.85rem,3.375rem);--fs-h3:clamp(1.25rem,2.4vw,1.875rem);
}
html body,html .et_pb_text,html .et_pb_text_inner{font-family:'Hanken Grotesk',sans-serif;color:var(--ink);}
html .et_pb_text{font-size:var(--fs-body) !important;}
html .et_pb_text p:not([style*="font-size"]),html .et_pb_text_inner p:not([style*="font-size"]){font-size:var(--fs-body) !important;line-height:1.6 !important;}
html h1,html h2,html h3,html h4,html h5,html h6{font-family:'Plus Jakarta Sans',sans-serif;letter-spacing:-0.02em;line-height:1.07;}
html h1{font-weight:800;line-height:1.0;font-size:var(--fs-h1);}html h2{font-weight:700;font-size:var(--fs-h2);}html h3{font-weight:600;font-size:var(--fs-h3);}
html .mono,html .et_pb_text.mono,html .et_pb_text.mono p{font-family:'Spline Sans Mono',monospace !important;text-transform:uppercase;letter-spacing:.06em;font-size:var(--fs-label) !important;color:var(--ink-soft) !important;}
html .num,html .et_pb_text.num,html .et_pb_text.num p{font-family:'Spline Sans Mono',monospace !important;text-transform:uppercase;letter-spacing:.06em;font-size:var(--fs-label) !important;color:var(--garnet) !important;}
html .lead:not([style*="font-size"]){font-size:var(--fs-lead) !important;line-height:1.45 !important;}
html .et_pb_button.btn-red,html .et_pb_button.btn-black,html a.btn-red,html a.btn-black{font-family:'Spline Sans Mono',monospace !important;text-transform:uppercase;letter-spacing:.04em;font-size:var(--fs-btn) !important;font-weight:400 !important;padding:16px 26px !important;border:0 !important;border-radius:2px !important;transition:.2s !important;}
html .et_pb_button.btn-red:after,html .et_pb_button.btn-black:after,html .et_pb_button.btn-underline:after{content:"" !important;display:none !important;}
html .et_pb_button.btn-red,html a.btn-red{background:var(--garnet) !important;color:#fff !important;}
html .et_pb_button.btn-black,html a.btn-black{background:var(--ink) !important;color:var(--paper) !important;}
html .et_pb_button.btn-red:hover,html a.btn-red:hover{background:var(--garnet-dark) !important;}
html .et_pb_button.btn-black:hover,html a.btn-black:hover{background:var(--garnet) !important;color:#fff !important;}
html .et_pb_button.btn-underline,html a.btn-underline{font-family:'Spline Sans Mono',monospace !important;text-transform:uppercase;letter-spacing:.04em;font-size:var(--fs-btn) !important;background:transparent !important;color:var(--ink) !important;border:0 !important;border-bottom:1px solid var(--ink) !important;border-radius:0 !important;padding:0 0 3px !important;}
html .et_pb_button.btn-underline:hover,html a.btn-underline:hover{color:var(--garnet) !important;border-bottom-color:var(--garnet) !important;}
html .et_pb_contact_submit{font-family:'Spline Sans Mono',monospace !important;text-transform:uppercase;letter-spacing:.04em;font-size:var(--fs-btn) !important;font-weight:400 !important;padding:16px 26px !important;border:0 !important;border-radius:2px !important;background:var(--garnet) !important;color:var(--paper) !important;}
html .et_pb_contact_submit:hover{background:var(--garnet-dark) !important;color:#fff !important;}html .et_pb_contact_submit:after{content:"" !important;display:none !important;}
html #top-menu li a,html #mobile_menu li a{font-family:'Spline Sans Mono',monospace !important;text-transform:uppercase;letter-spacing:.04em;font-size:var(--fs-label) !important;}
html #top-menu li a{color:var(--ink-soft) !important;}/* Menü: Hover-Schrift weiß (auf rotem Hover-Feld, auch ohne Scroll) */
#et-top-navigation #top-menu li a:hover,
#et_mobile_nav_menu #mobile_menu li a:hover{ color:#fff !important; }
html .dipi-carousel-item-desc,html .dipi-carousel-item-desc p,html .dipi-carousel-item-content{font-size:var(--fs-body) !important;}
html .kx-footer a,html .kx-footer__hours,html .kx-footer__brand{font-size:var(--fs-label) !important;}
/* Aktives Menü-Item (aktuelle Seite): Schrift weiß auf rotem Feld — auch ohne Scroll */
#et-top-navigation #top-menu li.current-menu-item a,
#et-top-navigation #top-menu li.current_page_item a,
#et-top-navigation #top-menu li.current-menu-ancestor a,
#et-top-navigation #top-menu li.current_page_ancestor a,
#et_mobile_nav_menu #mobile_menu li.current-menu-item a{ color:#fff !important; }

/* Ärzte-Carousel (team-carousel): „mehr erfahren“ fest an der Kartenunterkante, bündig — gescopt, damit andere Carousels unberührt bleiben */
.team-carousel .dipi_carousel_child > .et_pb_module_inner{ height:100% !important; }
.team-carousel .dipi-carousel-child-wrapper{ height:100% !important; position:relative !important; padding-bottom:56px !important; }
.team-carousel .dipi-carousel-item-content{ position:static !important; }
.team-carousel .dipi-carousel-button-wrapper{ position:absolute !important; bottom:22px !important; left:20px !important; }
/* Menü/Header auf Mobil — Versatz (#page-container padding) wird per JS in functions.php entfernt */
@media (max-width:980px){
  /* 1 · Header mobil sticky halten (Divi macht ihn sonst absolute -> scrollt weg) */
  .et_fixed_nav #main-header{ position:fixed !important; }

  /* 2 · Blur/Hintergrund mobil */
  #main-header{
    background:rgba(244,241,234,.6) !important;
    -webkit-backdrop-filter:blur(10px) !important;
            backdrop-filter:blur(10px) !important;
  }

  /* 3 · Aufgeklapptes Mobil-Menü deckend (nicht durchscheinen) */
  #et_mobile_nav_menu #mobile_menu{
    background:var(--paper) !important;
    -webkit-backdrop-filter:none !important; backdrop-filter:none !important;
  }
}

/* Ärzte-Carousel Button „mehr erfahren“: Underline umschließt nur das Wort (wie btn-underline), nicht Full-Width; hover stabil. html-Prefix schlägt Divi-Pixel-Modul-CSS per Spezifität */
html body #page-container .et_pb_section .team-carousel .dipi-carousel-button{ display:inline-block !important; background:transparent !important; color:var(--ink) !important; font-family:'Spline Sans Mono',monospace !important; text-transform:uppercase !important; letter-spacing:.04em !important; font-size:var(--fs-btn) !important; font-weight:400 !important; line-height:1.4 !important; border:0 !important; border-bottom:1px solid var(--ink) !important; border-radius:0 !important; padding:0 0 3px !important; margin:0 !important; transition:color .2s, border-bottom-color .2s !important; }
html body #page-container .et_pb_section .team-carousel .dipi-carousel-button:hover{ color:var(--garnet) !important; background:transparent !important; border:0 !important; border-bottom:1px solid var(--garnet) !important; border-radius:0 !important; padding:0 0 3px !important; margin:0 !important; line-height:1.4 !important; transform:none !important; }
html body #page-container .et_pb_section .team-carousel .dipi-carousel-button:after{ content:"" !important; display:none !important; }
/* === Leichte-Sprache-Seite: große, gut lesbare Schrift, hoher Kontrast === */
.ls-page{ max-width:820px; }
html .ls-page, html .et_pb_text.ls-page p, html .et_pb_text.ls-page li{ font-family:'Hanken Grotesk',sans-serif !important; font-size:clamp(1.25rem,0.6vw + 1.1rem,1.5rem) !important; line-height:1.7 !important; color:var(--ink) !important; }
.ls-page h1{ font-family:'Plus Jakarta Sans',sans-serif !important; font-size:clamp(2rem,3vw,2.75rem) !important; line-height:1.15 !important; margin:0 0 .5em !important; color:var(--ink) !important; }
.ls-page h2{ font-family:'Plus Jakarta Sans',sans-serif !important; font-size:clamp(1.4rem,2vw,1.9rem) !important; line-height:1.2 !important; margin:1.5em 0 .35em !important; color:var(--garnet) !important; }
.ls-page p{ margin:0 0 .55em !important; }
.ls-page ul{ margin:.2em 0 1em 1.2em !important; }
.ls-page li{ margin:0 0 .45em !important; }
.ls-page a{ color:var(--garnet) !important; text-decoration:underline !important; }

/* LS-Absatz stark: schlägt html .et_pb_text_inner p (0,2,2) mit (0,3,3) */
html body .et_pb_text.ls-page .et_pb_text_inner p,
html body .et_pb_text.ls-page .et_pb_text_inner li{ font-size:clamp(1.25rem,0.6vw + 1.1rem,1.5rem) !important; line-height:1.7 !important; color:var(--ink) !important; }
/* === Studien-Seite: Studien-Karten === */
.stud-card{ background:var(--paper) !important; border:1px solid var(--line); border-radius:4px; padding:30px 32px; height:100%; }
.stud-card h3{ margin:.15em 0 .35em !important; color:var(--ink) !important; }
.stud-card p{ margin:0 0 .6em !important; }
/* Lead-Absatz auch als Inline-Klasse zuverlässig groß (schlägt html .et_pb_text p 0,2,2) */
html body .et_pb_text p.lead, html body .et_pb_text .lead{ font-size:var(--fs-lead) !important; line-height:1.45 !important; color:var(--ink) !important; }

/* === Menue: aktiver (uebergeordneter) Punkt = rote Pille wie Hover/aktuelle Seite, Schrift weiss. Divi-Pixel filled_background liefert die Pille sonst nur fuer current-menu-item + Hover. === */
html .filled_background #top-menu li.current-menu-ancestor > a > span,
html .filled_background #top-menu li.current-menu-parent > a > span,
html .filled_background .et-fixed-header #top-menu > li.current-menu-ancestor > a > span,
html .filled_background .et-fixed-header #top-menu > li.current-menu-parent > a > span{ background-color:var(--garnet-dark) !important; }
html #et-top-navigation #top-menu li.current-menu-ancestor > a,
html #et-top-navigation #top-menu li.current-menu-ancestor > a span,
html #et-top-navigation #top-menu li.current-menu-parent > a,
html #et-top-navigation #top-menu li.current-menu-parent > a span,
html .et-fixed-header #top-menu li.current-menu-ancestor > a,
html .et-fixed-header #top-menu li.current-menu-ancestor > a span{ color:#fff !important; }
/* === Dropdown/Untermenue lesbar: heller Dropdown (--paper) -> dunkle Schrift; Hover garnet; aktuelle Seite behaelt Pille+weiss === */
html #et-top-navigation #top-menu ul.sub-menu li a,
html #et-top-navigation #top-menu ul.sub-menu li a span,
html .et-fixed-header #top-menu ul.sub-menu li a,
html .et-fixed-header #top-menu ul.sub-menu li a span{ color:var(--ink-soft) !important; }
html #et-top-navigation #top-menu ul.sub-menu li a:hover,
html #et-top-navigation #top-menu ul.sub-menu li a:hover span,
html .et-fixed-header #top-menu ul.sub-menu li a:hover,
html .et-fixed-header #top-menu ul.sub-menu li a:hover span{ color:var(--garnet) !important; background-color:transparent !important; }
html #et-top-navigation #top-menu ul.sub-menu li.current-menu-item > a,
html #et-top-navigation #top-menu ul.sub-menu li.current-menu-item > a span,
html .et-fixed-header #top-menu ul.sub-menu li.current-menu-item > a,
html .et-fixed-header #top-menu ul.sub-menu li.current-menu-item > a span{ color:#fff !important; background:#8e3645 !important; }
/* Team-Sektion: feste beige Farbe, cache-unabhaengig (Divi lieferte den Sektions-Hintergrund unzuverlaessig -> Fallback Weiss) */
.et_pb_section.k-beige{ background-color:var(--paper-2) !important; }
/* Standort-Hero: auf kleineren Screens Leerraum reduzieren (feste 100px-Polster + margin:auto-Zentrierung + 90vh skalieren nicht mit) */
@media (max-width:1340px){
  .et_pb_section.k-hero-sec{ min-height:auto !important; }
  .et_pb_section.k-hero-sec .et_pb_row > .et_pb_column:nth-child(2) .et_pb_module{ margin-top:0 !important; }
}

/* === Menue-Hover/Dropdown Konsistenz === */
/* A) Dropdown-Eltern bleibt hervorgehoben solange Dropdown offen (Hover auf Eltern ODER Subitems) */
html #et-top-navigation #top-menu > li:hover > a{ color:#fff !important; }
html .filled_background #top-menu > li:hover > a > span,
html .filled_background .et-fixed-header #top-menu > li:hover > a > span{ background-color:var(--garnet) !important; }
/* B) Submenu-Items: current-Markierung NICHT als Dauer-Pille (auf /leistungen/ zeigen alle Subitems auf dieselbe Seite -> sonst alle rot) */
html #et-top-navigation #top-menu ul.sub-menu li.current-menu-item > a,
html #et-top-navigation #top-menu ul.sub-menu li.current-menu-item > a span{ color:#fff !important; }
html #et-top-navigation #top-menu ul.sub-menu li.current-menu-item > a > span,
html .filled_background #top-menu ul.sub-menu li.current-menu-item > a > span{ background-color:#8e3645 !important; }
/* C) Submenu-Hover (auch auf current) = garnet Text, gewinnt gegen B */
html #et-top-navigation #top-menu ul.sub-menu li a:hover,
html #et-top-navigation #top-menu ul.sub-menu li a:hover span{ color:var(--garnet) !important; background-color:transparent !important; }

/* Header-Container bei Burger-Breiten full-width (war ~30px eingerueckt) */
@media (max-width:1340px){
  #main-header .container.et_menu_container{ width:100% !important; max-width:100% !important; margin-left:0 !important; margin-right:0 !important; }
}

/* === Burger-Menue: Zustaende analog zur Desktop-Navigation (garnet Zeile + weisse Schrift), Pfeil erbt Farbe === */
html #et_mobile_nav_menu #mobile_menu li a{ color:var(--ink-soft) !important; }
html #et_mobile_nav_menu #mobile_menu li a:hover,
html #et_mobile_nav_menu #mobile_menu > li.current-menu-item > a,
html #et_mobile_nav_menu #mobile_menu > li.current-menu-ancestor > a,
html #et_mobile_nav_menu #mobile_menu > li.current-menu-parent > a{ background-color:var(--garnet-dark) !important; color:#fff !important; }
html #et_mobile_nav_menu #mobile_menu ul.sub-menu li.current-menu-item > a{ background-color:#8e3645 !important; color:#fff !important; }
html #et_mobile_nav_menu #mobile_menu ul.sub-menu li a:hover{ background-color:var(--garnet) !important; color:#fff !important; }
html #et_mobile_nav_menu #mobile_menu li.menu-item-has-children > a::before,
html #et_mobile_nav_menu #mobile_menu li.menu-item-has-children > a::after{ color:inherit !important; }

/* Burger-Dropdown: Pfeil nah am Text (Link=flex) + Submenu per kx-open (JS-Toggle) auf/zu */
#mobile_menu .menu-item-has-children > a{ display:flex !important; align-items:center !important; justify-content:flex-start !important; }
#mobile_menu .menu-item-has-children > a::before,
#mobile_menu .menu-item-has-children > a::after{ position:static !important; right:auto !important; left:auto !important; top:auto !important; transform:var(--kx-arot, none) !important; order:2 !important; width:auto !important; margin-left:0.5em !important; }
#mobile_menu .menu-item-has-children > .sub-menu{ display:none !important; }
#mobile_menu .menu-item-has-children.kx-open > .sub-menu{ display:block !important; max-height:none !important; overflow:visible !important; }

/* kx-arrow-gap: Abstand Label -> Pfeil im Burger (bessere Klickflaeche) */
#mobile_menu li.menu-item-has-children > a::after{ margin-left:0.75em !important; }
#mobile_menu li.menu-item-has-children > a{ padding-top:12px !important; padding-bottom:12px !important; }

/* kx-arrow-rot: Pfeil nach oben wenn Submenu offen */
#mobile_menu li.menu-item-has-children > a::after{ display:inline-block !important; transition:transform .2s ease !important; }

/* kx-arrow-glyph: Pfeil-Glyph tauschen (Transform auf Pseudo unzuverlaessig) - zu geschlossen, ab offen */
#mobile_menu li.menu-item-has-children > a::after{ content:"\25BE" !important; font-family:Arial,Helvetica,sans-serif !important; font-size:0.8em !important; line-height:1 !important; }
#mobile_menu li.menu-item-has-children.kx-open > a::after{ content:"\25B4" !important; }
\n\n/* kx-tog: echter Toggle-Button im Burger, Parent-Link bleibt klickbar */\n#mobile_menu li.menu-item-has-children > a::after{ display:none !important; content:"" !important; }\n#mobile_menu li.menu-item-has-children > a > .kx-tog{ display:inline-flex; align-items:center; justify-content:center; min-width:2.6em; align-self:stretch; margin-left:0.4em; cursor:pointer; }\n#mobile_menu li.menu-item-has-children > a > .kx-tog::before{ content:"\\25BE"; font-family:Arial,Helvetica,sans-serif; font-size:0.85em; line-height:1; color:inherit; }\n#mobile_menu li.menu-item-has-children.kx-open > a > .kx-tog::before{ content:"\\25B4"; }\n

/* ============ kx-gf-style v2: Gravity Forms im Divi-Formular-Look ============ */
.gform_wrapper{ font-family:'Hanken Grotesk', sans-serif; }
.gform_wrapper .gform_fields{ column-gap:3%; }
.gform_wrapper .gfield{ margin:0 0 20px 0; }
.gform_wrapper .gfield--type-text, .gform_wrapper .gfield--type-email, .gform_wrapper .gfield--type-phone, .gform_wrapper .gfield--type-number, .gform_wrapper .gfield--type-select{ grid-column:span 6 !important; }
.gform_wrapper .gfield--type-textarea, .gform_wrapper .gfield--type-html, .gform_wrapper .gfield--type-consent, .gform_wrapper .gfield--type-captcha, .gform_wrapper .gfield--type-honeypot{ grid-column:1 / -1 !important; }
@media (max-width:767px){ .gform_wrapper .gfield{ grid-column:1 / -1 !important; } }
.gform_wrapper .hidden_label .gfield_label, .gform_wrapper .gfield_label.screen-reader-text{ position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.gform_wrapper .gfield input[type=text], .gform_wrapper .gfield input[type=email], .gform_wrapper .gfield input[type=tel], .gform_wrapper .gfield input[type=number], .gform_wrapper .gfield select, .gform_wrapper .gfield textarea{ background:transparent !important; border:0 !important; border-bottom:1px solid var(--line) !important; border-radius:0 !important; box-shadow:none !important; padding:16px !important; font-family:'Hanken Grotesk', sans-serif !important; font-size:14px !important; color:#000 !important; width:100%; box-sizing:border-box; }
.gform_wrapper .gfield input::placeholder, .gform_wrapper .gfield textarea::placeholder{ color:#000 !important; opacity:1; font-family:'Hanken Grotesk', sans-serif; }
.gform_wrapper .gfield select{ cursor:pointer; height:auto !important; min-height:51px; line-height:1.3; }
.gform_wrapper .gfield textarea{ min-height:150px; }
.gform_wrapper .gfield input:focus, .gform_wrapper .gfield select:focus, .gform_wrapper .gfield textarea:focus{ outline:0 !important; box-shadow:none !important; background:var(--paper-2) !important; }
.gform_wrapper .gform_button, .gform_wrapper input[type=submit]{ font-family:'Spline Sans Mono', monospace !important; text-transform:uppercase; letter-spacing:.04em; font-size:var(--fs-btn) !important; font-weight:400 !important; padding:16px 26px !important; border:0 !important; border-radius:2px !important; background:var(--garnet) !important; color:var(--paper) !important; cursor:pointer; transition:.2s; }
.gform_wrapper .gform_button:hover, .gform_wrapper input[type=submit]:hover{ background:var(--garnet-dark) !important; }
.gform_wrapper .gfield_consent_label{ font-family:'Hanken Grotesk', sans-serif; font-size:var(--fs-label); color:var(--ink-soft); }
.gform_wrapper input[type=checkbox]{ width:auto !important; accent-color:var(--garnet); }
.kx-form-note{ font-size:var(--fs-label); color:var(--ink-soft); border-left:3px solid var(--garnet); padding-left:12px; }
.gform_wrapper .gfield_error input, .gform_wrapper .gfield_error select, .gform_wrapper .gfield_error textarea{ border-bottom-color:var(--garnet) !important; }
.gform_wrapper .gfield_validation_message, .gform_wrapper .validation_message{ color:var(--garnet) !important; font-size:var(--fs-label); background:transparent !important; border:0 !important; }
.gform_wrapper .gform_validation_errors{ background:var(--paper-2) !important; border:1px solid var(--garnet) !important; border-radius:2px; }
.gform_confirmation_message{ font-size:var(--fs-lead); color:var(--ink); border-left:3px solid var(--garnet); padding-left:16px; }

/* kx-bf-page: Barrierefreiheitsseite (ID 2805) — Header-Klarung + Linkfarben */
.page-id-2805 .et_pb_section:first-of-type, .page-id-63 .et_pb_section:first-of-type, .page-id-66 .et_pb_section:first-of-type{ padding-top:150px !important; }
@media (max-width:1340px){ .page-id-2805 .et_pb_section:first-of-type, .page-id-63 .et_pb_section:first-of-type, .page-id-66 .et_pb_section:first-of-type{ padding-top:60px !important; } }
.page-id-2805 .et_pb_text a, .page-id-63 .et_pb_text a, .page-id-66 .et_pb_text a{ color:var(--garnet) !important; text-decoration:underline; }
.page-id-2805 .et_pb_text a:hover, .page-id-63 .et_pb_text a:hover, .page-id-66 .et_pb_text a:hover{ color:var(--garnet-dark) !important; }
.page-id-2805 .et_pb_text ul li, .page-id-63 .et_pb_text ul li, .page-id-66 .et_pb_text ul li{ margin-bottom:10px; }
.page-id-63 .et_pb_text h3, .page-id-66 .et_pb_text h3{ margin-top:26px; }
.page-id-63 .et_pb_text p, .page-id-66 .et_pb_text p{ margin-bottom:10px; }

/* kx-section-default: Divi-Default-Weiss neutralisieren — Sektionen ohne explizite Farbe zeigen den Paper-Body (Seitenkonvention). Explizite Builder-Farben und k-beige gewinnen weiterhin. */
.et_pb_section{ background-color:transparent; }

/* kx-cookie-link: toter Cookie-Einstellungen-Link im Footer ausblenden (kein Consent-Tool vorhanden, Link zeigte auf #). Endgueltig entfernen beim naechsten Builder-Edit des Footer-Moduls. */
.kx-ftr__legal nav a[href="#"]{ display:none !important; }

/* kx-mobile-spacing: Divi-Gutter-1 setzt alle Modulabstaende auf 0 — mobil kleben gestapelte Buttons und Formulare am Vorgaenger. Gezielt nur diese Modultypen, damit enge Kartengruppen unberuehrt bleiben. */
@media (max-width: 980px){
  .et_pb_gutters1 .et_pb_column > .et_pb_button_module_wrapper:not(:first-child){ margin-top:28px !important; }
  .et_pb_gutters1 .et_pb_column > .et_pb_module:has(.gform_wrapper):not(:first-child){ margin-top:32px !important; }
  .et_pb_gutters1 .et_pb_column > .et_pb_module:has(.kx-form-note):not(:first-child){ margin-top:32px !important; }
}

/* kx-tog2: Burger-Toggle final — alter a::after-Pfeil aus, echter antippbarer Toggle-Button (48px Touchziel). Ueberschreibt kx-arrow-gap/glyph/rot. */
#mobile_menu li.menu-item-has-children > a::after,
#mobile_menu li.menu-item-has-children > a::before{ content:"" !important; display:none !important; }
#mobile_menu li.menu-item-has-children > a{ display:flex !important; align-items:center !important; justify-content:space-between !important; }
#mobile_menu li.menu-item-has-children > a > .kx-tog{ display:inline-flex !important; align-items:center !important; justify-content:center !important; min-width:48px !important; min-height:48px !important; margin-left:8px !important; flex:0 0 auto !important; cursor:pointer; }
#mobile_menu li.menu-item-has-children > a > .kx-tog::before{ content:"▾" !important; display:inline !important; font-family:Arial,Helvetica,sans-serif !important; font-size:1.1em; line-height:1; color:inherit; }
#mobile_menu li.menu-item-has-children.kx-open > a > .kx-tog::before{ content:"▴" !important; }

/* Maps-Buttons mobil: Abstand zum Vorgaenger (Gutter-1 nullt alle Margins) */
@media (max-width: 980px){
  .et_pb_column > .et_pb_button_module_wrapper:not(:first-child){ margin-top:28px !important; }
}

/* kx-hero-btn-fix: Die k-hero-sec-Regel (margin-top:0 fuer die Bildspalte) erwischt mobil auch den Maps-Button. Nur fuer Button-Wrapper zuruecknehmen. */
@media (max-width: 980px){
  .et_pb_section.k-hero-sec .et_pb_row > .et_pb_column .et_pb_button_module_wrapper:not(:first-child){ margin-top:28px !important; }
}

/* kx-tog3: Divi-Pfeilglyphen (ETmodules "3"/"2"), Pfeil nah am Wort, Touchziel 44px */
#mobile_menu li.menu-item-has-children > a{ justify-content:flex-start !important; }
#mobile_menu li.menu-item-has-children > a > .kx-tog{ min-width:44px !important; min-height:44px !important; margin-left:6px !important; }
#mobile_menu li.menu-item-has-children > a > .kx-tog::before{ content:"3" !important; font-family:ETmodules !important; font-size:16px !important; font-weight:normal !important; speak:none; }
#mobile_menu li.menu-item-has-children.kx-open > a > .kx-tog::before{ content:"2" !important; }

/* kx-tog4: Zeilenhoehe der Dropdown-Reiter an normale Menuepunkte angleichen (waren 68px statt 33px). Padding wie alle anderen; Touchflaeche des Pfeils per Padding+negativer Margin erweitert, ohne die Zeile zu vergroessern. */
#mobile_menu li.menu-item-has-children > a{ padding-top:5px !important; padding-bottom:5px !important; }
#mobile_menu li.menu-item-has-children > a > .kx-tog{
  min-height:0 !important;
  align-self:stretch !important;
  padding-top:9px !important;
  padding-bottom:9px !important;
  margin-top:-9px !important;
  margin-bottom:-9px !important;
}



/* kx-menu-v2 : alleinige Autoritaet fuer alle Menuezustaende (Desktop) */
html #et-top-navigation #top-menu > li > a{ color:var(--ink-soft) !important; }
html #et-top-navigation #top-menu > li > a > span{ background:transparent !important; background-color:transparent !important; }

/* Hauptreiter: aktiv und hover = rote Pille */
html #et-top-navigation #top-menu > li:hover > a > span,
html #et-top-navigation #top-menu > li > a:hover > span,
html #et-top-navigation #top-menu > li.current-menu-item > a > span,
html #et-top-navigation #top-menu > li.current-menu-ancestor > a > span,
html #et-top-navigation #top-menu > li.current-menu-parent > a > span{ background:#8E3645 !important; background-color:#8E3645 !important; }
html #et-top-navigation #top-menu > li:hover > a,
html #et-top-navigation #top-menu > li > a:hover,
html #et-top-navigation #top-menu > li.current-menu-item > a,
html #et-top-navigation #top-menu > li.current-menu-ancestor > a,
html #et-top-navigation #top-menu > li.current-menu-parent > a{ color:#fff !important; }

/* Submenu: Grundzustand, niemals Pille */
html #et-top-navigation #top-menu ul.sub-menu li > a,
html #et-top-navigation #top-menu ul.sub-menu li > a > span,
html #et-top-navigation #top-menu > li:hover ul.sub-menu li > a,
html #et-top-navigation #top-menu > li:hover ul.sub-menu li > a > span,
html #et-top-navigation #top-menu > li.current-menu-item ul.sub-menu li > a,
html #et-top-navigation #top-menu > li.current-menu-item ul.sub-menu li > a > span,
html #et-top-navigation #top-menu > li.current-menu-ancestor ul.sub-menu li > a,
html #et-top-navigation #top-menu > li.current-menu-ancestor ul.sub-menu li > a > span,
html #et-top-navigation #top-menu > li.current-menu-parent ul.sub-menu li > a,
html #et-top-navigation #top-menu > li.current-menu-parent ul.sub-menu li > a > span{ background:transparent !important; background-color:transparent !important; color:var(--ink-soft) !important; font-weight:400 !important; }

/* Submenu: echte Unterseite, auf der man sich befindet (Standorte) */
html #et-top-navigation #top-menu > li:hover ul.sub-menu li.current-menu-item > a:not([href*='#']),
html #et-top-navigation #top-menu > li:hover ul.sub-menu li.current-menu-item > a:not([href*='#']) > span,
html #et-top-navigation #top-menu > li.current-menu-ancestor ul.sub-menu li.current-menu-item > a:not([href*='#']),
html #et-top-navigation #top-menu > li.current-menu-ancestor ul.sub-menu li.current-menu-item > a:not([href*='#']) > span,
html #et-top-navigation #top-menu > li.current-menu-parent ul.sub-menu li.current-menu-item > a:not([href*='#']),
html #et-top-navigation #top-menu > li.current-menu-parent ul.sub-menu li.current-menu-item > a:not([href*='#']) > span{ color:#8E3645 !important; font-weight:600 !important; background:transparent !important; }

/* Submenu: aktiver Anker der aktuellen Seite (per JS gesetzt) */
html #et-top-navigation #top-menu ul.sub-menu li.kx-active > a,
html #et-top-navigation #top-menu ul.sub-menu li.kx-active > a > span,
html #et-top-navigation #top-menu > li:hover ul.sub-menu li.kx-active > a,
html #et-top-navigation #top-menu > li:hover ul.sub-menu li.kx-active > a > span,
html #et-top-navigation #top-menu > li.current-menu-item ul.sub-menu li.kx-active > a,
html #et-top-navigation #top-menu > li.current-menu-item ul.sub-menu li.kx-active > a > span,
html #et-top-navigation #top-menu > li.current-menu-ancestor ul.sub-menu li.kx-active > a,
html #et-top-navigation #top-menu > li.current-menu-ancestor ul.sub-menu li.kx-active > a > span,
html #et-top-navigation #top-menu > li.current-menu-parent ul.sub-menu li.kx-active > a,
html #et-top-navigation #top-menu > li.current-menu-parent ul.sub-menu li.kx-active > a > span{ color:#8E3645 !important; font-weight:600 !important; background:transparent !important; background-color:transparent !important; }

/* Submenu: Hover schlaegt alles, immer rote Schrift ohne Flaeche */
html #et-top-navigation #top-menu ul.sub-menu li > a:hover,
html #et-top-navigation #top-menu ul.sub-menu li > a:hover > span,
html #et-top-navigation #top-menu > li:hover ul.sub-menu li > a:hover,
html #et-top-navigation #top-menu > li:hover ul.sub-menu li > a:hover > span,
html #et-top-navigation #top-menu > li.current-menu-item ul.sub-menu li > a:hover,
html #et-top-navigation #top-menu > li.current-menu-item ul.sub-menu li > a:hover > span,
html #et-top-navigation #top-menu > li.current-menu-ancestor ul.sub-menu li > a:hover,
html #et-top-navigation #top-menu > li.current-menu-ancestor ul.sub-menu li > a:hover > span,
html #et-top-navigation #top-menu > li.current-menu-parent ul.sub-menu li > a:hover,
html #et-top-navigation #top-menu > li.current-menu-parent ul.sub-menu li > a:hover > span{ background:transparent !important; background-color:transparent !important; color:#8E3645 !important; }



/* kx-menu-v2-mobil : Burger-Menue nach derselben Logik wie Desktop */
html #main-header #mobile_menu li > a,
html #main-header #mobile_menu ul.sub-menu li > a{ background:transparent !important; background-color:transparent !important; }

/* Hauptreiter mobil: aktuelle Seite = rote Flaeche */
html #main-header #mobile_menu > li.current-menu-item > a,
html #main-header #mobile_menu > li.current-menu-ancestor > a,
html #main-header #mobile_menu > li.current-menu-parent > a{ background:#8E3645 !important; background-color:#8E3645 !important; color:#fff !important; }

/* Submenu mobil: Anker-Eintraege niemals hervorheben */
html #main-header #mobile_menu ul.sub-menu li.current-menu-item > a[href*='#']
{ background:transparent !important; background-color:transparent !important; color:var(--ink-soft) !important; font-weight:400 !important; }

/* Submenu mobil: echte Unterseite bzw. aktiver Anker = rote Schrift */
html #main-header #mobile_menu ul.sub-menu li.current-menu-item > a:not([href*='#']),
html #main-header #mobile_menu ul.sub-menu li.kx-active > a,
html #main-header #mobile_menu ul.sub-menu li.current-menu-item.kx-active > a{ background:transparent !important; background-color:transparent !important; color:#8E3645 !important; font-weight:600 !important; }
