/* PROJEKT-CSS DIESER SITE — nicht von der Foundation ueberschrieben.
 * Ausgelagert am 2026-09-08 aus assets/css/sws-overrides.css, wo diese Regeln
 * neben der Foundation standen. Das Template laedt diese Datei NACH sws-overrides.css
 * und sws-managed.css; die Kaskade ist damit unveraendert, weil der Block schon vorher
 * am Dateiende stand. Belegt: Kopf + dieser Block ergaben die alte Datei byteweise.
 */
/* ==========================================================================
   WIEDERHERGESTELLT — site-eigene Modulregeln von bcl-lahn.de

   Diese Regeln standen in der site-eigenen sws-overrides.css und gingen beim
   Foundation-Rollout am 2026-08-26 verloren: `deploy_foundation.php` hat die Datei
   durch die erzeugte Foundation-Fassung ersetzt (bcl-lahn.de, 03:40 bzw. 04:37).
   Betroffen sind die Modulfamilien, die es in der Foundation gar nicht gibt — ihre
   Klassen kommen in der neuen Datei an keiner Stelle vor, das Markup rendert also
   voellig unformatiert.

   Uebernommen wurde NUR, was verwaist ist. Regeln, die die Foundation ueberarbeitet
   hat, bleiben unangetastet; aus Selektorlisten wurde jeweils nur der verwaiste Teil
   herausgeloest, damit hier nichts Aktuelles ueberstimmt wird.

   Quelle: Backups/deploy-2026-08-26-*/assets_css_sws-overrides.css
   ========================================================================== */

/* Figtree Extra Bold */

/* Body 2-spaltig als echtes Grid (statt CSS columns), damit der Button direkt unter
   der letzten Zeile der rechten Spalte sitzt — unabhängig davon, wie hoch die linke
   Spalte ist. */
.m-tis-body-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;                                   /* 36px Spaltenabstand */
    font-weight: 300;                            /* Figtree Light */
    font-size: 1rem;                             /* 18px @ XL */
    line-height: 1.55;
}
/* === Modul 04 · Bootsführerscheine (Termin-Kacheln) === */
/*
   Hintergrund bg-primary (Ultramarineblau 100). Oberer Rand läuft von links
   (12 px über „normalem" Rand) schräg nach rechts (auf 0) — dezenter Kipp-Effekt.
   Mittig oben ein 140-px-Kreis (dunkelblau) mit 120-px-Steuerrad (gelb) darin,
   Mitte liegt 25 px unter dem normalen oberen Rand.
   Unten rechts Boot-Dekoration (gelb). */
/* REGEL: BG-Klasse kommt aus der Section-Config — hier KEIN background-color. */
.m-bfs-section {
    color: #ffffff;
    position: relative;
    padding-top: 6.389rem;                        /* 115 px ab normalem Rand bis Content */
    /* padding-bottom dynamisch via Foundation-Regel
       `section:has(+ [data-section-top-decor]…)` (Zeile ~969):
       - mit Welle-Folge → clamp(60, 9.583vw, 184) px Puffer (greift mit !important)
       - ohne Welle-Folge → Standard-Section-Bottom unten (5 rem ≈ 80 px) */
    padding-bottom: 5rem;
}
/* 140-px-Kreis + 120-px-Steuerrad: konzentrisch mittig, Mitte 25 px unter dem normalen Rand.
   Kreis-Farbe folgt der Section-BG (via --m-bfs-decor). */
.m-bfs-wheel {
    position: absolute;
    top: -2.5rem;                                 /* -45 px — 140/2 − 25 = 45 px über dem Rand */
    left: 50%;
    transform: translateX(-50%);
    width: 7.778rem;                              /* 140 px */
    height: 7.778rem;
    background: var(--m-bfs-decor, transparent);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    z-index: 3;
}
.m-bfs-wheel-svg {
    width: 6.667rem;                              /* 120 px */
    height: 6.667rem;
    display: block;
}
.m-bfs-wrap { position: relative; z-index: 2; }
.m-bfs-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;               /* 50 : 50 */
    gap: 3.333rem;
}
/* Linke Spalte — Intro. Farben kommen aus der Section-Config (var(--section-*)). */
.m-bfs-title {
    font-size: 1.889rem;                          /* 34 px */
    color: var(--section-heading, #ffffff);
    line-height: 1.15;
    margin: 0 0 1rem 0;
}
.m-bfs-title-line1 { display: block; font-weight: 300; color: var(--section-muted, rgba(255,255,255,.7)); }
/* Figtree Light, gedämpft */
.m-bfs-title-line2 { display: block; font-weight: 800; text-transform: uppercase; letter-spacing: 0.02em; }
/* ExtraBold, erbt section-fg */

.m-bfs-body {
    font-weight: 300;
    font-size: 1rem;                              /* 18 px */
    line-height: 1.55;
    color: var(--section-fg, #ffffff);
}
.m-bfs-body > :first-child { margin-top: 0; }
.m-bfs-body p { margin: 0 0 0.833rem 0; }
.m-bfs-body p:last-child { margin-bottom: 0; }
.m-bfs-btn {
    display: inline-flex; align-items: center; gap: 0.5rem;
    background-color: var(--section-link-bg, #5076A2);
    color: var(--section-link-fg, #ffffff);
    font-weight: 400;
    font-size: 1rem;
    padding: 0.389rem 0.889rem;
    border-radius: 0.222rem;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    margin-top: 1.55rem;
    transition: filter 0.2s;
}
.m-bfs-btn:hover { filter: brightness(0.95); }
.m-bfs-btn-icon { width: 1.111rem; height: 1.111rem; color: var(--color-accent); flex-shrink: 0; }
/* Rechte Spalte — Termine
   Termine-Haupttitel unten bündig mit Line2 der linken Spalte:
   padding-top = Line1-Höhe (Line1 = 34 × 1.15 = 39.1 px) plus (Line2 − Termine-Titel)
               = 34 × 1.15 + (34 − 22) × 1.15 = 2.94 rem (= 52.9 px @ XL 18)  */
.m-bfs-termine { padding-top: 2.94rem; }
.m-bfs-termine-title {
    color: var(--section-fg, #ffffff);
    font-weight: 800;                             /* Figtree ExtraBold */
    font-size: 1.222rem;                          /* 22 px */
    line-height: 1.15;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    margin: 0 0 1rem 0;                           /* unten bündig mit Line2, Abstand wie linke Spalte */
}
/* Kategorien: 2 Spalten nebeneinander (max 2), dritte wenn nötig in 2. Zeile */
.m-bfs-kat-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 1rem;
    row-gap: 1.667rem;
}
.m-bfs-kat { display: flex; flex-direction: column; }
.m-bfs-kat-title {
    color: var(--section-fg, #ffffff);
    font-weight: 400;                             /* Figtree Regular — 18 px, nicht bold */
    font-size: 1rem;                              /* 18 px */
    line-height: 1.15;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    margin: 0 0 0.556rem 0;                       /* 10 px zur ersten Kachel */
}
/* Kacheln vertikal gestapelt, max 2 pro Kategorie */
.m-bfs-kachel-stack {
    display: flex;
    flex-direction: column;
    gap: 0.556rem;                                /* 10 px zwischen den Kacheln */
}
.m-bfs-kachel {
    display: flex; align-items: center; justify-content: space-between;
    gap: 0.667rem;
    background-color: var(--card-bg, #5076A2);
    color: var(--card-fg, #ffffff);
    padding: 0.889rem 1.111rem;                   /* 16/20 px */
    border-radius: 0.222rem;
    text-decoration: none;
    transition: filter 0.2s;
}
/* Top und Bottom haben jetzt eigenständige Box-Klassen (eigene --card-* via Inline-Style).
   Kein brightness-Filter — der Redakteur wählt die Farben explizit. */
.m-bfs-kachel:hover { filter: brightness(0.95); }
.m-bfs-kachel-grid {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 0.556rem;                         /* 10 px */
    row-gap: 0.167rem;                            /* 3 px */
    font-size: 1rem;                              /* 18 px */
    line-height: 1.35;
}
.m-bfs-kachel-label { font-weight: 400; }
/* Figtree Regular */
.m-bfs-kachel-value { font-weight: 700; }
/* Datum Bold */
.m-bfs-kachel-arrow { flex-shrink: 0; }
.m-bfs-kachel-arrow-svg { width: 1.111rem; height: 1.111rem; color: var(--color-accent); }
/* bfs-Section: zusätzliche 1.5rem Atemraum zwischen Inhalt-Unterkante (Termine-
   Box) und Welle/Boot, sonst klebt das Boot direkt an der Termine-Box (sichtbar
   bei Viewports >= 1920 px, wo das Foundation-Padding exakt der Welle-Höhe = 184 px). */
section.m-bfs-section:has(+ [data-section-top-decor]:not([data-section-top-decor=""]):not([data-section-top-decor="none"])),
section.m-bfs-section:has(+ style + [data-section-top-decor]:not([data-section-top-decor=""]):not([data-section-top-decor="none"])) {
    padding-bottom: calc(clamp(60px, 9.583vw, 184px) + 1.5rem) !important;
}
/* === Modul 06 · Über BCL (Split-Sektion) === */
/*
   Links vollbleed Bild bis Viewport-Mitte. Rechts innerhalb 1485-Inhaltsbox sitzt der Wrap
   ab Viewport-Mitte bis zum 1485-rechten-Rand. Im Wrap: Titel spannt über die komplette
   Wrap-Breite (Text + Vignette), darunter der Text, rechts-mittig das Steuerrad.
   REGEL: BG + Schriftfarben kommen aus der Section-Config. */
.m-abt-section {
    color: var(--section-fg, #ffffff);
    position: relative;
    overflow: hidden;                             /* Steuerrad/Bild clippen am Viewport */
    min-height: 26.667rem;                        /* 480 px */
}
/* Bild: linke Hälfte einer zentrierten 1920-Box, analog .m-tis-wrap (Skipperfreunde).
   Unter 1920 Viewport: `left:0`, `width:50%` → klassische Viewport-Mitte (wie bisher).
   Ab 1920 Viewport: `left` rueckt mittig ein, `width` cappt bei 960 — der Sektions-
   Hintergrund wird links und rechts sichtbar. Mathematisch: image-right = viewport/2
   in beiden Regimen, sodass der Wrap (`margin-left: 50%`) nahtlos anschliesst. */
.m-abt-img {
    position: absolute;
    top: 0; bottom: 0;
    left: max(0px, calc((100% - 1920px) / 2));
    width: min(50%, 960px);
    overflow: hidden;
}
.m-abt-img img {
    width: 100%; height: 100%; object-fit: cover; display: block;
}
.m-abt-wrap {
    margin-left: 50%;                             /* startet an Viewport-Mitte */
    /* Symmetrisch zur Bild-Cap-Logik (`.m-abt-img`): unter 1920 Viewport
       fuellt der Wrap die rechte Haelfte (margin-right=0). Ab 1920 cappt er
       am 1920-rechten Rand; rechts davon wird der Section-BG sichtbar — wie
       links neben dem Bild. So bleibt der Content bei jeder Aufloesung
       konstant 960 px breit, egal wie breit der Viewport ist. */
    margin-right: max(0px, calc((100% - 1920px) / 2));
    position: relative;
    min-height: 26.667rem;
    padding: 3.889rem 17rem 3.889rem 2.222rem;    /* 70 / 306 / 70 / 40 — rechts Freiraum fuer 260-px-Wheel + ~46 px Gap */
}
/* Wheel ist absolute am rechten Viewport-Rand — Content nimmt die volle Wrap-Breite. */
.m-abt-content {
    display: block;
}
.m-abt-title {
    color: var(--section-heading, var(--section-fg, #ffffff));
    font-size: 1.889rem;                          /* 34 px */
    line-height: 1.15;
    margin: 0 0 1.778rem 0;                       /* 32 px Abstand zum Body */
    position: relative;
    z-index: 2;                                   /* über dem Wheel, wenn sie sich visuell berühren */
}
.m-abt-title-line1 { display: block; font-weight: 800; text-transform: uppercase; letter-spacing: 0.02em; }
/* ExtraBold */
.m-abt-title-line2 { display: block; font-weight: 300; }
/* Light */
.m-abt-body {
    font-size: 0.944rem;                          /* 17 px */
    font-weight: 400;
    line-height: 1.5;
    color: var(--section-fg, #ffffff);
}
.m-abt-body--1col { columns: 1; }
.m-abt-body--2col { columns: 2; column-gap: 2.222rem; }
.m-abt-body p { margin: 0 0 1rem 0; break-inside: avoid; }
.m-abt-body p:last-child { margin-bottom: 0; }
.m-abt-btn {
    display: inline-flex; align-items: center; gap: 0.5rem;
    align-self: flex-start;
    margin-top: 1.778rem;                         /* 32 px */
    background-color: var(--section-link-bg, var(--color-primary));
    color: var(--section-link-fg, #ffffff);
    font-weight: 400;
    font-size: 1rem;                              /* 18 px */
    padding: 0.389rem 0.889rem;
    border-radius: 0.222rem;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    transition: filter 0.2s;
}
.m-abt-btn:hover { filter: brightness(0.95); }
/* Vignette: absolute am rechten Viewport-Rand, vertikal mittig in der Wrap-Box.
   Containing Block ist .m-abt-wrap (position:relative); right:0 = Wrap-Rechtsrand
   = Viewport-Rechtsrand (margin-right:0). */
.m-abt-wheel {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 14.444rem;                             /* 260 px Durchmesser */
    height: 14.444rem;
    z-index: 2;
}
.m-abt-wheel-svg { width: 100%; height: 100%; display: block; }
/* === Modul 12 · Kurs-Termine === */
/*
 * Kachelgrid mit Header + Empty-State.
 * Header oben (H1/H2 + Body mit eigener Ausrichtung), darunter die Kacheln
 * mit den nächsten Terminen einer Terminart. Farben kommen aus der Section-
 * Config (--section-*); Karten-Farben aus rex_sws_css_options (box_class).
 * Modul rendert nur Inhalt — Section/Wrapper/Decor liefert die CType-Config.
 */
.m-kurs-termine { color: var(--section-fg, inherit); }
/* Header: H1 (light, gedaempft) + H2 (extrabold, prominent), je per data-align
 * gesteuert; Body separat per data-align. Spiegelt die News-View-More-Optik. */
.m-kurs-termine-header {
    margin-bottom: 2.222rem;                                  /* 40 px Abstand zum Grid */
    text-align: center;
}
.m-kurs-termine-header[data-align="left"]   { text-align: left;   }
.m-kurs-termine-header[data-align="center"] { text-align: center; }
.m-kurs-termine-header[data-align="right"]  { text-align: right;  }
.m-kurs-termine-title {
    font-size: 1.889rem;                                      /* 34 px @ XL */
    line-height: 1.15;
    margin: 0 0 1rem 0;
    color: var(--section-heading, var(--section-fg, inherit));
}
.m-kurs-termine-h1 {
    display: block;
    font-weight: 300;
    color: var(--section-muted, var(--section-fg, inherit));
}
.m-kurs-termine-h2 {
    display: block;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}
.m-kurs-termine-body { color: var(--section-fg, inherit); }
.m-kurs-termine-body[data-align="left"]   { text-align: left;   }
.m-kurs-termine-body[data-align="center"] { text-align: center; }
.m-kurs-termine-body[data-align="right"]  { text-align: right;  }
.m-kurs-termine-body p { margin: 0 0 1rem 0; }
.m-kurs-termine-body p:last-child { margin-bottom: 0; }
/* Grid: 2 Spalten ab lg, 3 Spalten ab xl, 1 Spalte mobil. Karten gleich hoch
 * (align-items:stretch ist Grid-Default), Inhalt verteilt sich vertikal. */
.m-kurs-termine-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.333rem;                                            /* 24 px */
}
/* Termin-Kachel — Box-Variablen kommen aus rex_sws_css_options (box_class)
 * und werden vom Modul-Output als Inline-Style auf das <article> gesetzt. */
.m-kurs-termine-kachel {
    background-color: var(--card-bg, rgba(255,255,255,0.08));
    color: var(--card-fg, var(--section-fg, inherit));
    padding: 1.667rem 1.778rem;                               /* 30 / 32 px */
    border-radius: 0.444rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;                                                /* 18 px */
}
.m-kurs-termine-kachel-title {
    font-size: 1.222rem;                                      /* 22 px */
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: var(--card-heading, var(--card-fg, inherit));
    margin: 0;
    line-height: 1.2;
}
/* Meta als <dl> mit zwei Spalten: Label rechtsbündig (compact), Value links.
 * Kein Float — Grid 2-Col mit „auto 1fr" haelt das Label auf min-content. */
.m-kurs-termine-kachel-meta {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 0.444rem 0.889rem;                                   /* 8 / 16 px */
    margin: 0;
    font-size: 1rem;                                          /* 18 px @ XL */
    line-height: 1.4;
}
.m-kurs-termine-kachel-meta dt {
    font-weight: 400;
    color: var(--card-muted, var(--card-fg, inherit));
    margin: 0;
}
.m-kurs-termine-kachel-meta dd {
    font-weight: 700;
    margin: 0;
    color: var(--card-fg, inherit);
}
.m-kurs-termine-kachel-date { display: inline-block; }
.m-kurs-termine-kachel-time {
    display: inline-block;
    margin-left: 0.444rem;                                    /* 8 px */
    font-weight: 400;
    color: var(--card-muted, var(--card-fg, inherit));
}
/* Anmelde-Button — uppercase Pill, Karten-Link-Farben (link_bg/link_fg).
 * margin-top:auto schiebt den Button bei flex-column-Kacheln nach unten,
 * damit Karten unterschiedlicher Hoehe unten buendig sind. Icon links mit
 * gelber Akzentfarbe (analog .m-news-detail-back-icon). */
.m-kurs-termine-kachel-cta {
    align-self: flex-start;
    margin-top: auto;
    display: inline-flex; align-items: center;
    gap: 0.5rem;                                              /* 9 px Abstand Icon ↔ Text */
    padding: 0.444rem 1rem;                                   /* 8 / 18 px */
    background-color: var(--card-link-bg, var(--color-primary, #15365F));
    color: var(--card-link-fg, #ffffff);
    font-size: 1rem;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    text-decoration: none;
    border-radius: 0.222rem;
    transition: filter 0.2s;
}
.m-kurs-termine-kachel-cta:hover { filter: brightness(0.92); }
.m-kurs-termine-kachel-cta .m-kurs-termine-kachel-cta-icon {
    color: var(--color-accent, #fdc846);
    width: 1.111em;
    height: 1.111em;
    flex: 0 0 auto;
    display: inline-block;
}
.m-kurs-termine-kachel-cta .m-kurs-termine-kachel-cta-icon svg {
    width: 100%; height: 100%; display: block;
}
/* Empty-State (kein aktiver, zukuenftiger Termin) — gleiche Optik wie Body. */
.m-kurs-termine-empty {
    color: var(--section-fg, inherit);
    text-align: center;
    padding: 1.5rem 0;
}
.m-kurs-termine-empty p { margin: 0 0 1rem 0; }
.m-kurs-termine-empty p:last-child { margin-bottom: 0; }
/* m-bfs-wrap nutzt im Modul-Output die Klassen `m-max-w m-px-edge` → 42.67 px
 * Inner-Padding bei vw < 1565. Box-element-Sektionen auf derselben Seite
 * nutzen aber die 1.5-rem-Gutter-Formel (24 px bei vw < 1565). Damit der
 * BFS-Section-Inhalt auf der gleichen x-Linie sitzt wie box-element-
 * Sektionen, wird das Padding auf die identische Formel umgestellt. */
.m-bfs-section > .m-bfs-wrap {
    max-width: none;
    padding-left:  max(1.5rem, calc((min(100vw, 1920px) - 1485px) / 2));
    padding-right: max(1.5rem, calc((min(100vw, 1920px) - 1485px) / 2));
}

@media (max-width: 1023px) {
  .m-tis-body-grid { grid-template-columns: 1fr; gap: 0; }
  .m-bfs-section { padding-top: 4.5rem; padding-bottom: 3rem; }
  /* Termine-Titel braucht keinen baseline-Offset mehr, wenn untereinander */
      .m-bfs-termine { padding-top: 0; }
  .m-abt-section { min-height: 0; }
  .m-abt-img { position: static; width: 100%; aspect-ratio: 960 / 480; }
  .m-abt-wrap { margin-left: 0; margin-right: 0; width: 100%; min-height: 0; padding: 2rem 1.5rem; }
  .m-abt-body--2col { columns: 1; }
  .m-abt-wheel { display: none; }
}

@media (max-width: 1279px) {
  .m-bfs-grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .m-bfs-kachel-row { grid-template-columns: 1fr; }
}

@media (max-width: 639px) {
  .m-bfs-kat-grid { grid-template-columns: 1fr; }
  .m-bfs-section { padding-bottom: 5.5rem; }
}

@media (min-width: 64em) {
  /* 1024 */
      .m-kurs-termine-grid { grid-template-columns: 1fr 1fr; }
}

@media (min-width: 90em) {
  /* 1440 */
      .m-kurs-termine-grid { grid-template-columns: 1fr 1fr 1fr; gap: 1.778rem; }
}

/* ==========================================================================
   FARBEN ZURUECKGEBAUT — site-eigene Palette

   Der Foundation-Rollout am 2026-08-26 hat in Regeln, die es weiterhin gibt, die
   Hex-Werte ersetzt: Die Foundation liefert bewusst Tailwind-Vorgaben aus
   (blue-600 / amber-500 / slate-900), die ein Projekt ueber Tokens ueberschreiben
   soll. Wo das Token fehlt, schlaegt die Vorgabe durch — hier war das der Fall.

   Zurueckgebaut wird der ALTE AUSDRUCK, nicht sein Ergebnis: `var(--token, farbe)`
   bleibt `var(--token, farbe)`. Sonst waere die Farbe zwar richtig, aber ueber den
   Tailwind Manager nicht mehr steuerbar.

   DAUERHAFT gehoert das in die Tokens (Backend -> Page Composer -> Tailwind
   Manager): --section-link-bg, --card-link-bg und --card-fg sind auf dieser Site
   nirgends definiert. Solange sie fehlen, ist dieser Block noetig.
   ========================================================================== */

.box-element .text a.m-box-link-btn, .box-element .bildtextbox a.m-box-link-btn, .box-element .infobox a.m-box-link-btn, .box-element .html a.m-box-link-btn { background-color: var(--section-link-bg, #5076A2); }
.m-anmeldung-field input:focus, .m-anmeldung-field select:focus, .m-anmeldung-field textarea:focus { box-shadow: 0 0 0 3px rgba(253,200,70,0.25); }
.m-anmeldung-field input[type="text"], .m-anmeldung-field input[type="email"], .m-anmeldung-field input[type="tel"], .m-anmeldung-field input[type="date"], .m-anmeldung-field select, .m-anmeldung-field textarea { color: #15365F; }
.m-bg-col--card .m-bg-linkbox { background-color: var(--card-link-bg, var(--section-link-bg, #5076A2)); }
.m-bg-kachel .m-bg-linkbox, .m-bg-col--card .m-bg-linkbox { background-color: var(--card-link-bg, var(--section-link-bg, #5076A2)); }
.m-bg-linkbox { background-color: var(--section-link-bg, #5076A2); }
.m-bg-linkboxes--outline .m-bg-linkbox-item { border: 2px solid var(--section-link-bg, #5076A2); }
.m-bg-linkboxes--outline .m-bg-linkbox-item:hover { background-color: var(--section-link-bg, #5076A2); }
.m-bg-linkboxes--primary .m-bg-linkbox-item { background-color: var(--section-link-bg, #5076A2); }
.m-flyout-arrow { color: var(--color-accent); }
.m-flyout-icon, .m-flyout-icon * { fill: #5076A2 !important; }
.m-flyout-list a:hover { color: #15365F; }
.m-flyout-role { color: #5076A2; }
.m-flyout-tel-icon { color: var(--color-accent); }
.m-flyout-tel:hover { color: #15365F; }
.m-flyout-tile { color: #5076A2; }
.m-flyout-tile:hover .m-flyout-icon, .m-flyout-tile:hover .m-flyout-icon *, .m-flyout-tile[aria-expanded="true"] .m-flyout-icon, .m-flyout-tile[aria-expanded="true"] .m-flyout-icon * { fill: #15365F !important; }
.m-flyout-title { color: #5076A2; }
.m-footer-bar { background-color: #376295; }
.m-hero-box { background-color: #5076a2; }
.m-hero-dot.is-active { background-color: #5076a2; }
.m-hero-dot.is-active:hover { background-color: #5076a2; }
.m-kachel-btn { background-color: var(--card-link-bg, var(--section-link-bg, #5076A2)); }
.m-kontakt-field input:focus, .m-kontakt-field select:focus, .m-kontakt-field textarea:focus { box-shadow: 0 0 0 3px rgba(253,200,70,0.25); }
.m-kontakt-field input[type="text"], .m-kontakt-field input[type="email"], .m-kontakt-field input[type="tel"], .m-kontakt-field select, .m-kontakt-field textarea { color: #15365F; }
.m-megamenu-col-title, .m-megamenu-side-title { color: #5076A2; }
.m-mm-arrow-icon { color: #5076A2; }
.m-mm-panel-desc a { color: #5076A2; }
.m-mm-panel-img { background: #5076A2; }
.m-mobile-nav-panel { background: rgba(29, 57, 105, 0.025); }
.m-news-card--themed { color: var(--card-fg, #06235e); }
.m-news-card--themed .m-news-card-btn { background-color: var(--card-link-bg, var(--section-link-bg, #5076A2)); }
.m-news-card-btn { background-color: #5076A2; }
.m-news-cta { background-color: var(--section-link-bg, #5076A2); }
.m-news-pagination--current { background-color: #5076A2; }
.m-news-pagination--current { border-color: #5076A2; }
.m-news-pagination-link { color: #5076A2; }
.m-news-pagination-link:hover { background-color: #5076A2; }
.m-slider .swiper-pagination-bullet-active { background-color: #5076a2; }
.m-slider .swiper-pagination-bullet-active:hover { background-color: #5076a2; }

/* VERSUCH 2026-09-08 — geschlossene Flyout-Panels auf dem bisherigen Stand halten.
 *
 * sws_starter klappt geschlossene Panels seit 0.51.0 auch in der Hoehe zu
 * (max-height: 0 im geschlossenen Zustand, mit Uebergang). Das nimmt der
 * geschlossenen Kachel 5 px Hoehe und verschiebt den Kachelstapel nach oben.
 * Gemessen: obere Kachel 77 px vorher, 72 px nachher; Abstaende unveraendert.
 *
 * Die Regel im offenen Zustand (.is-open .m-flyout-panel { max-height: 100vh })
 * ist spezifischer und gewinnt weiterhin — das Aufklappen bleibt also.
 */
.m-flyout-panel { max-height: none; }

/* ===== BCL: Split-Sektion (m-abt) an das neue Foundation-Modul angepasst — 2026-09-14 =====
 * Grund: Foundation 0.51+ macht die 50:50-Aufteilung per Grid und fuehrt den neuen
 * Wrapper .m-abt-text ein. BCLs Alt-Overrides (absolutes Bild + margin-Wrap) bauten
 * dieselbe Aufteilung auf die alte Art und kollidierten damit — die Textspalte fiel
 * auf Wortbreite zusammen. Ausserdem hat die Foundation die Titelzeilen-Rollen
 * vertauscht und das Rad zur kleinen Vignette gemacht. Dieser Block stellt BCLs
 * Alt-Look ueber dem neuen Grid wieder her. */
.m-abt-img     { position: static; width: auto; height: auto; top: auto; left: auto; right: auto; bottom: auto; }
.m-abt-wrap    { margin-left: 0; margin-right: 0; }
.m-abt-content { position: static; }
.m-abt-title-line1 { font-size: 1.889rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.02em; color: var(--section-heading, var(--section-fg, #ffffff)); }
.m-abt-title-line2 { font-size: 1.889rem; font-weight: 300; text-transform: none; letter-spacing: normal; }
.m-abt-wheel   { top: 50%; bottom: auto; transform: translateY(-50%); width: 14.444rem; height: 14.444rem; max-width: none; }
