/* =====================================================================
   Bärn treit – Custom-Theme (Fonts & Farben)
   ---------------------------------------------------------------------
   Wird von Clubdesk NACH allen Standard-Dateien geladen und überschreibt
   damit die fest verdrahteten Werte in layout/page.css.
   Umfang bewusst auf Schriften & Farben begrenzt (kein Layout-Umbau).

   Palette (Vorgabe next.MD, aus CMYK umgerechnet):
     Primär .................. #B0001D   (C16 M100 Y86 K18)
     Primär dunkel ........... #8F0018   (Scroll-/Tiefen-Zustand)
     Hintergrund .............. #DFF2EB   (C8 M0 Y3 K5)
     Überschriften-Farbe ...... #113845   (C87 M58 Y48 K48)
     Akzent (Gold) ............ #EAB055   (Hover / aktiv)
     Text auf Primär .......... #FFFFFF
     Fliesstext ............... #333333
   ===================================================================== */

/* ---------------------------------------------------------------------
   Schrift: Libre Caslon Text (Überschriften) – SELBST GEHOSTET
   ---------------------------------------------------------------------
   Statische Schnitte 400 (Normal) und 700 (Fett), je latin/latin-ext.
   Die .woff2-Dateien liegen im selben Ordner wie diese CSS-Datei
   (Clubdesk → «Eigene Dateien»). Werden sie unter einem anderen Pfad
   ausgeliefert, die url() unten entsprechend anpassen.
   Kein Google-Aufruf → keine Datenschutz-/Cookie-Problematik.
   ------------------------------------------------------------------- */
@font-face {
    font-family: 'Libre Caslon Text';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('libre-caslon-text-latin-400.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
                   U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F,
                   U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Libre Caslon Text';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('libre-caslon-text-latin-ext-400.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7,
                   U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF,
                   U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0,
                   U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Libre Caslon Text';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('libre-caslon-text-latin-700.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
                   U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F,
                   U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Libre Caslon Text';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('libre-caslon-text-latin-ext-700.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7,
                   U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF,
                   U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0,
                   U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
    --bt-primary:        #AF1A2D;
    --bt-primary-dark:   #8F0018;
    --bt-background:     #DFF2EB;
    --bt-heading-color:  #113845;
    --bt-accent:         var(--bt-primary-dark);
    --bt-on-primary:     #FFFFFF;
    --bt-text:           #333333;
    --bt-tile-bg:        #4E7C85;   /* #225B67 um 20% aufgehellt – Kopf der Termin-Kacheln; Kontrast zu #EEE 4.0:1 */
    --bt-heading-font:   'Libre Caslon Text', Georgia, 'Times New Roman', serif;
    --bt-body-font:      'Open Sans', Helvetica, Arial, sans-serif;
    --bt-callout-font:   'Oswald', Helvetica, Arial, sans-serif;   /* Header-Taglines (h5/h6) – aktuell = Clubdesk-Default, könnte sich ändern */

    /* Typografie – Basis 20px (Vorgabe next.MD), dezente Überschriften-Skala
       (Verhältnis ~1.25). Werte in rem beziehen sich auf die
       Basis-Schriftgrösse (html = 20px). */
    --bt-font-base: 20px;
    --bt-lh-body:   1.6;
    --bt-p-spacing: 1.15em;   /* Absatzabstand (~23px) statt Clubdesks 2em/~36px */

    --bt-h1: 2rem;      /* ~40px */
    --bt-h2: 1.6rem;    /* ~32px */
    --bt-h3: 1.35rem;   /* ~27px */
    --bt-h4: 1.15rem;   /* ~23px */
    --bt-h5: 1rem;      /* ~20px */
    --bt-h6: 0.9rem;    /* ~18px */
}

/* ---------------------------------------------------------------------
   1. SCHRIFTEN – Überschriften auf Libre Caslon Text
   ------------------------------------------------------------------- */

/* Logo in der Navigationsleiste (ersetzt den Text "Bärn treit").
   SVG ist weiss/transparent – funktioniert sowohl auf dem transparenten
   Nav-Overlay über dem Header-Bild als auch auf rotem Scroll-Hintergrund.

   Die Nav-Bar ist ein Flex-Row (.cd-navigation-bar-content), deren Höhe
   sich am Inhalt orientiert – ein einfach eingesetztes <img> würde die
   ganze Leiste aufblähen. Stattdessen: im Flex-Layout nur eine kleine
   Fläche reservieren (Klick-/Layout-Grösse), das <img> selbst absolut
   und deutlich grösser positionieren, oben an der Leiste ausgerichtet –
   es "blutet" dadurch nach unten ins Header-Bild aus. */
.cd-club-logo-and-name {
    position: relative;
    width: 60px;
    height: 29px;
    overflow: visible;
}
.bt-club-logo-link {
    display: block;
    width: 100%;
    height: 100%;
}
.bt-club-logo {
    display: block;
    position: absolute;
    top: 8px;
    left: 11px;
    height: 117px;
    width: auto;
    transition: filter 0.4s;
}
/* Logo überragt die schmale Leiste weit nach unten – im gescrollten und
   im Megamenü-Zustand liegt der untere Teil auf weissem Inhalt/Menü statt
   auf dem Header-Bild. Schlagschatten (formtreu dank drop-shadow statt
   box-shadow) hält das weisse Logo dort sichtbar. */
.cd-scroll .bt-club-logo,
.cd-megamenu-open .bt-club-logo {
    filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.35));
}
/* Bug (next.MD): Clubdesk setzt Bildern unterhalb 576px ein eigenes
   `max-width: 100%` (+ object-fit: fill) für responsive Inhaltsbilder. Das
   trifft auch unser absolut positioniertes, bewusst über den 40px-Rahmen
   hinausragendes Logo und staucht es bei fixer height nicht-proportional
   auf 40px zusammen. max-width: none nimmt die Deckelung zurück, sodass
   width:auto wieder das Seitenverhältnis anhand der height bestimmt
   (genau wie oberhalb 576px). */
@media (max-width: 576px) {
    .cd-club-logo-and-name { width: 40px; height: 23px; }
    .bt-club-logo { top: 5px; left: 7px; height: 80px; width: auto !important; max-width: none !important; }
}

/* Scope über die echten <header>/<main>-Elemente statt Klassen-Aufzählung
   (siehe layout/page.mustache: genau ein <header class="header-wrapper">
   und ein <main class="content-wrapper">; .cd-content/.cd-block-content
   liegen innerhalb von <main>, die Sidebar liegt ausserhalb von beiden
   und bleibt wie bisher unangetastet).

   main h1–h6: geschriebene Inhalts-Überschriften – Marken-Schrift/-Farbe
   + Grössen-Skala in einer Regel pro Ebene. Clubdesk-Titelblöcke
   (TitleBlock, <h1 id="block_..._title">) werden von Clubdesk selbst
   dimensioniert und bleiben bewusst ausgenommen (`:not([id$="_title"])`).
   !important auf font-family und color: Clubdesks eigenes content.css setzt
   `.cd-light h1..h6` / `.cd-dark h1..h6` (Hell/Dunkel-Sektionsthema) mit
   Klassen-Selektoren – selbst die einfachste Variante `.cd-light h1` hat
   Spezifität (0,1,1) und schlägt damit unsere reinen Element-Selektoren
   `main h1` / `header h1` (0,0,2), egal wie viele Element-Teile die haben.
   Ohne !important würde unsere Farbe je nach Hell/Dunkel-Einstellung der
   Sektion von Clubdesk überschrieben (siehe content.css:245ff., 287ff. etc. –
   dieselbe Kollision existiert für main genauso wie für header). Bei
   font-size nicht nötig (Inhalts-Überschriften tragen keine Inline-Grösse). */
main h1 { font-family: var(--bt-heading-font) !important; font-weight: 700; font-size: var(--bt-h1); line-height: 1.2; color: var(--bt-heading-color) !important; }
main h2 { font-family: var(--bt-heading-font) !important; font-weight: 700; font-size: var(--bt-h2); line-height: 1.2; color: var(--bt-heading-color) !important; }
main h3 { font-family: var(--bt-heading-font) !important; font-weight: 700; font-size: var(--bt-h3); line-height: 1.2; color: var(--bt-heading-color) !important; }
main h4 { font-family: var(--bt-heading-font) !important; font-weight: 700; font-size: var(--bt-h4); line-height: 1.2; color: var(--bt-heading-color) !important; }
main h5 { font-family: var(--bt-heading-font) !important; font-weight: 700; font-size: var(--bt-h5); line-height: 1.2; color: var(--bt-heading-color) !important; }
main h6 { font-family: var(--bt-heading-font) !important; font-weight: 700; font-size: var(--bt-h6); line-height: 1.2; color: var(--bt-heading-color) !important; }
/* Libre Caslon Text ist statisch 400/700 – 600 würde unzuverlässig gematcht. */

/* header h1–h3: echte Titel im Header-Banner (z.B. Seiten-/Abschnittstitel)
   – gleiche Marken-Schrift/-Farbe wie main. h5/h6 im Header sind Taglines/
   Callouts (siehe 1c. HERO unten) und bewusst NICHT hier enthalten – die
   bekommen ihre eigene Schrift (--bt-callout-font), da sie inhaltlich/
   gestalterisch etwas anderes sind als Inhalts-Überschriften. */
header h1, header h2, header h3 {
    font-family: var(--bt-heading-font) !important;
    font-weight: 700;
    line-height: 1.2;
    color: var(--bt-heading-color) !important;
}

/* Fliesstext auf Open Sans (von Clubdesk selbst gehostet, siehe page.css) statt
   des Standard-Contentfonts Onest. Nur <main>, damit Navigation/Header/
   Megamenü (Roboto/Open Sans bzw. --bt-callout-font) unberührt bleiben. */
main {
    font-family: var(--bt-body-font);
}

/* ---------------------------------------------------------------------
   1b. TYPOGRAFIE – Basis-Schriftgrösse & Überschriften-Skala
   ---------------------------------------------------------------------
   Clubdesk setzt standardmässig html,body = 17px (Font «Onest») und
   überlässt h2–h6 den winzigen Browser-Standardgrössen. Hier setzen wir
   die Basis auf 20px (Vorgabe next.MD) und definieren eine dezente,
   konsistente Skala.
   ------------------------------------------------------------------- */

html, body {
    font-size: var(--bt-font-base);   /* 20px – überschreibt Clubdesks 16px */
}

body {
    background-color: var(--bt-background);
}

/* Silbentrennung für Fliesstext (Vorgabe next.MD 2026-10-05). Wirkt dank
   <html lang="de"> mit dem deutschen Trennwörterbuch des Browsers.
   hyphens vererbt sich → auf body an, für Überschriften, Buttons,
   Navigation, Kachel-Titel und E-Mail-Adressen wieder aus.
   hyphenate-limit-chars: Wörter erst ab 6 Zeichen, min. 3 vor/nach der
   Trennung (keine "Le-ben"-Stummel); ignoriert, wo nicht unterstützt. */
body {
    -webkit-hyphens: auto;
    hyphens: auto;
    hyphenate-limit-chars: 6 3 3;
}
h1, h2, h3, h4, h5, h6,
button, input, select, textarea,
.cd-button, a.cd-button-login,
.cd-navigation-bar-container, .cd-megamenu,
.cd-tile-v-main-heading, .cd-tile-h-main-heading,
.cd-tile-v-detail-heading, .cd-tile-h-detail-heading,
a[href^="mailto:"] {
    -webkit-hyphens: manual;
    hyphens: manual;
}

/* Clubdesks content.css setzt auf p/li/div/td eine EIGENE, nicht von
   html/body geerbte font-size: 16px (siehe p{}, html,td,div{}-Regeln in
   content.css) – die Basis-Grösse oben allein erreicht Fliesstext also
   nicht. Deshalb hier explizit auf <main> übertragen. */
main p, main li {
    font-size: var(--bt-font-base);
}

/* Angenehmere Zeilenhöhe für Fliesstext (nur <main>, damit die Navigation
   unberührt bleibt). */
main, main p, main li {
    line-height: var(--bt-lh-body);
}

/* Absatzabstand – Clubdesks p { margin-bottom: 2em } (~36px) ist zu gross.
   Auf <main> beschränkt; letzter Absatz ohne Abstand, damit Blöcke unten
   nicht zusätzlich Luft bekommen. */
main p {
    margin-bottom: var(--bt-p-spacing);
}
main p:last-child {
    margin-bottom: 0;
}

/* ---------------------------------------------------------------------
   1c. HERO – Vereinsname (Tagline 1, h5) & Untertitel (Tagline 2, h6)
   ---------------------------------------------------------------------
   Der Header-Banner enthält einen TextBlock mit zwei bare Überschriften
   (Clubdesk-Konvention für grosse Display-Schrift): <h5>Bärn treit</h5>
   und <h6>Gemeinsam bis zuletzt.</h6>. Ungestylt erben sie Clubdesks
   content.css-Defaults: h5 = 120px/140px, h6 = 56px/100px.
   Liegen ausserhalb von <main>, daher eigene Regeln.
   Beide Grössen & Zeilenhöhen sind pro Breakpoint aufeinander abgestimmt
   (h6 bleibt deutlich untergeordnet); Zeilenhöhe nimmt bei kleineren
   Grössen relativ zu (bessere Lesbarkeit, mehr Zeilenumbrüche).
   Eigene Schrift (--bt-callout-font) statt --bt-heading-font: Callouts im
   Header sind gestalterisch etwas anderes als Inhalts-/Titel-Überschriften.
   Text-Shadow: weisse Schrift ist auf hellen Bildpartien schlecht lesbar →
   weicher dunkler Schein. Nur header h5/h6 (die weissen Taglines), nicht
   header h1–h3 (dunkle --bt-heading-color) und nichts ausserhalb <header>. */
header h5, header h6 {
    font-family: var(--bt-callout-font);
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6), 0 0 12px rgba(0, 0, 0, 0.6);
}
header h5 {
    font-size: 72px;
    line-height: 1.15;
}
header h6 {
    font-size: 32px;
    line-height: 1.3;
}
@media (max-width: 992px) {
    header h5 { font-size: 48px; line-height: 1.2;  }
    header h6 { font-size: 24px; line-height: 1.35; }
}
@media (max-width: 576px) {
    header h5 { font-size: 32px; line-height: 1.25; }
    header h6 { font-size: 18px; line-height: 1.4;  }
}

/* ---------------------------------------------------------------------
   1d. KACHELN (Tiles) – Titel in .cd-tile-v-main-heading / .cd-tile-h-main-heading
   ---------------------------------------------------------------------
   Clubdesk setzt Kachel-Titel (z.B. "Besinnungsweg auf dem Bremgartenfriedhof")
   fix auf 16px (content.css: .cd-tile-v-main-heading, .cd-tile-h-main-heading) –
   kleiner als unsere neue Basis (20px) und kleiner als jede h1–h6-Stufe. Das
   sind KEINE <h*>-Elemente (eigene <div>-Klassen), daher greifen unsere
   h1–h6-Regeln hier nicht; separate Regel nötig. Schrift/Gewicht (Open Sans,
   700) entsprechen bereits unserer Vorgabe, nur die Grösse wird angehoben.
   main + Klasse (main .cd-tile-...) hat Spezifität (0,1,1) gegen Clubdesks
   (0,1,0) – kein !important nötig (nur color wird von Clubdesk per
   .cd-light/.cd-dark überschrieben, nicht font-size).

   Zwei-Stufen-System für alle Kachel-Varianten (v/h vereinheitlicht):
   - "Heading"-Rolle (main-heading, detail-heading) = --bt-h6 (18px).
     Clubdesk selbst ist hier zwischen v (16px) und h (24px) inkonsistent –
     hier bewusst vereinheitlicht statt die Diskrepanz zu übernehmen.
   - "Subheading"-Rolle (main-subheading, detail-subheading) = 14px, analog
     zur Tabellen-Kopfzeile (Abschnitt 7) – ein Wert statt vier leicht
     unterschiedlicher (11/12px), da Clubdesks Unterschiede hier keine
     erkennbare gestalterische Absicht tragen, nur historisch gewachsen sind. */
main .cd-tile-v-main-heading,
main .cd-tile-h-main-heading,
main .cd-tile-v-detail-heading,
main .cd-tile-h-detail-heading {
    font-size: var(--bt-h6);
}
main .cd-tile-v-main-subheading,
main .cd-tile-h-main-subheading,
main .cd-tile-v-detail-subheading,
main .cd-tile-h-detail-subheading {
    font-size: 14px;
}

/* Kachel-Detailfelder (z.B. "Ort", "Typ", "Teilnehmer" in Termin-Kacheln):
   Label = Subheading-Rolle (14px, wie oben), Wert = normale Fliesstext-
   Grösse (var(--bt-font-base), wie main p/li). Die sichtbaren Feldnamen
   sind .cd-tile-{v,h}-detail-label/-value (10px/16px) – NICHT
   .cd-data-label/-value (11px/16px, eigene Klasse, auf dieser Seite
   aktuell nirgends im DOM; trotzdem mitgestylt falls sie anderswo
   auftaucht, z.B. Formulare). */
main .cd-data-label,
main .cd-tile-v-detail-label,
main .cd-tile-h-detail-label {
    font-size: 14px;
}
main .cd-data-value,
main .cd-tile-v-detail-value,
main .cd-tile-h-detail-value {
    font-size: var(--bt-font-base);
}

/* Terminliste (horizontale Kacheln, z.B. "Nächste Termine" auf der
   Startseite) – Vorgabe next.MD 2026-10-05:
   - abgerundete Ecken 10px; overflow:hidden, damit der farbige Kopf
     (.cd-tile-h-main-area) die Rundung mitmacht. Clubdesk setzt die
     Radien als (0,1,0)-Regel → main + Klasse (0,1,1) genügt.
   - Kopf-Hintergrund = --bt-tile-bg statt Clubdesks Bordeaux #770419;
     background-color kommt über die .cd-light/.cd-dark-Kette → !important.
   - Feldname ("Ort") ausgeblendet, Wert 18px (statt der 20px oben).
   Gleiche Behandlung für die vertikalen Kacheln (-v-) der Projektliste
   (NewsItemList-Tile, Bild oben – overflow:hidden rundet auch das Bild). */
main .cd-tile-h-box,
main .cd-tile-v-box {
    border-radius: 10px;
    overflow: hidden;
}
main .cd-tile-h-main-area,
main .cd-tile-v-main-area {
    background-color: var(--bt-tile-bg) !important;
}
main .cd-tile-h-detail-label,
main .cd-tile-v-detail-label {
    display: none;
}
main .cd-tile-h-detail-value,
main .cd-tile-v-detail-value {
    font-size: 18px;
}

/* Umbruch statt Abschneiden: Clubdesk setzt auf Kachel-Titel und
   Detailzeilen white-space:nowrap + text-overflow:ellipsis, wodurch z.B.
   ein langer "Ort" in schmalen Spalten mit "…" endet (next.MD 2026-10-30).
   Titel und einfache Werte dürfen umbrechen; overflow-wrap fängt lange
   Wörter wie "Performancespace369" ab. */
main .cd-tile-h-main-heading,
main .cd-tile-v-main-heading,
main .cd-tile-h-detail-value,
main .cd-tile-v-detail-value {
    white-space: normal;
    overflow-wrap: anywhere;
}

/* Projektlisten (NewsItemList, z.B. /projekte/abgeschlossene, /aktuelle,
   Themengruppen-Seiten): die Subheading-Zeile ist nur das Publikations-
   datum (analog .cd-additional-subheading in der Detailansicht) → aus-
   geblendet. Bei den vertikalen Kacheln (Startseite, /projekte) ist sie
   leer, wird aber der Konsistenz halber mit ausgeblendet. NICHT in den
   Terminlisten (EventList): dort ist die Subheading das Termindatum. */
main .cd-newslist-tile-h .cd-tile-h-main-subheading,
main .cd-newslist-tile-v .cd-tile-v-main-subheading {
    display: none;
}

/* Hover-Effekt der Kacheln auch für "Karten"-Blöcke, d.h. Textblöcke mit
   eigener Hintergrundfarbe (z.B. die Vorstands-Karten unter
   /verein/vorstand). Clubdesk rendert die Blockfarbe als absolut
   positioniertes <span class="cd-backgroundPane" style="background-color:…">
   direkt im .cd-block – daran erkennen wir sie. Schatten = exakt Clubdesks
   .cd-light .cd-tile-*-box:hover; Übergang 0.2s statt hartem Umschalten.
   10px Radius wie die Kacheln. */
main .cd-block:has(> .cd-backgroundPane[style*="background-color"]) {
    border-radius: 10px;
    overflow: hidden;   /* rundet auch die absolut positionierte Farbfläche */
    transition: box-shadow 0.2s ease;
}
main .cd-block:has(> .cd-backgroundPane[style*="background-color"]):hover {
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.3);
}

/* Themengruppen (/mitmachen/themengruppen): sechs Karten (Textblock +
   Button "Mitmachen") in drei Sektionen à zwei .cd-col.m6 – die Buttons
   erzwingen Sektionen, anders als auf der Vorstands-Seite. Bewusst
   seiten-spezifisch über die Sektions-IDs (Vorgabe next.MD; ändern sich,
   wenn die Sektionen in Clubdesk neu angelegt werden).
   - Ganze Spalte = Karte: weiss, 10px Radius, Hover wie Vorstands-Karten.
   - Innenabstände kommen aus dem Editor (Textblock mit weissem Hintergrund,
     margin/padding 15px – gleiche Einstellungen wie auf der Vorstands-
     Seite) und werden hier nicht überschrieben; der innere Schatten dieses
     Textblocks wird unterdrückt, damit nur die Karte schattiert.
   - 15px Aussenabstand je Karte → 30px Raster wie bei den Vorstands-Karten
     (Clubdesk-Spaltenbreite 100% / ab 577px 50% entsprechend gekürzt).
   - Sektions-Innenabstand (Clubdesk: 40px oben / 50px unten) zwischen den
     drei Sektionen entfernt, damit die Karten im selben 30px-Raster
     untereinander stehen; oben/unten aussen bleibt er. */
#section_1000088 .cd-col.m6,
#section_1000089 .cd-col.m6,
#section_1000090 .cd-col.m6 {
    background-color: #FFFFFF;
    border-radius: 10px;
    transition: box-shadow 0.2s ease;
    margin: 15px;
    flex: 0 0 calc(100% - 30px);
    max-width: calc(100% - 30px);
}
@media (min-width: 577px) {
    #section_1000088 .cd-col.m6,
    #section_1000089 .cd-col.m6,
    #section_1000090 .cd-col.m6 {
        flex-basis: calc(50% - 30px);
        max-width: calc(50% - 30px);
    }
}
#section_1000088 .cd-col.m6:hover,
#section_1000089 .cd-col.m6:hover,
#section_1000090 .cd-col.m6:hover {
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.3);
}
#section_1000088 .cd-col.m6 .cd-block:hover,
#section_1000089 .cd-col.m6 .cd-block:hover,
#section_1000090 .cd-col.m6 .cd-block:hover {
    box-shadow: none;
}
#section_1000088,
#section_1000089 {
    padding-bottom: 0;
}
#section_1000089,
#section_1000090 {
    padding-top: 0;
}

/* Termin-Detailansicht (Feld "Text"): der Beschreibungstext steckt in
   .cd-data-value.cd-data-html.tinyMceContent > p. Clubdesks
   .tinyMceContent > * { font-size:16px; line-height:1.4 } (0,1,0) schlägt
   unser main p (0,0,2) – deshalb eigene, spezifischere Regel, damit der
   Text wie normaler Fliesstext aussieht (20px / 1.6). */
main .cd-data-value.cd-data-html.tinyMceContent > * {
    font-size: var(--bt-font-base);
    line-height: var(--bt-lh-body);
}

/* Projekt-Detailansicht (NewsItem): der Teaser unter dem Titel
   (p.cd-additional-teaser) ist der Lead/Intro → Konvention 120% der Basis
   (24px). Clubdesks .cd-additional-teaser (0,1,0) setzt 16px und schlägt
   main p (0,0,2); main + Klasse (0,1,1) genügt. Normales Gewicht statt
   Clubdesks 700. Darunter etwas Luft vor der Bildergalerie.
   Die Datum/Autor-Zeile über dem Titel (.cd-additional-subheading,
   z.B. "11.09.2026, Fritschy Donat") wird ausgeblendet. */
main .cd-additional-subheading {
    display: none;
}
main .cd-additional-teaser {
    font-size: calc(var(--bt-font-base) * 1.2);
    font-weight: 400;
}
main .cd-carousel-container {
    margin-top: 2rem;
}

/* ---------------------------------------------------------------------
   2. FARBEN – Navigationsleiste (Hintergrund)
   ------------------------------------------------------------------- */

/* Gescrollt / Megamenü offen */
.cd-scroll .cd-navigation-bar-container,
.cd-megamenu-open .cd-navigation-bar-container {
    background-color: var(--bt-primary);
    box-shadow: 0 2px 4px -1px rgba(0,0,0,0.2),
                0 4px 5px 0 rgba(0,0,0,0.14),
                0 1px 10px 0 rgba(0,0,0,0.12);
}

/* Seiten ohne Header (Navigationsleiste immer gefüllt) */
.cd-header-empty .cd-navigation-bar-container {
    background: var(--bt-primary);
}

/* Clubdesk setzt per :focus einen 3px-Outline-Kasten auf praktisch alles
   (Logo, Menü-Button, Megamenü-Links, Buttons, Links, Kacheln, Überschriften
   – ~780 :focus-Regeln in content.css/page.css, ausschliesslich outline-*),
   also auch bei Maus-Klick, nicht nur bei Tastatur-Fokus.
   :not(:focus-visible) blendet ihn nur beim Klick aus; Tastatur-Navigation
   bleibt (Barrierefreiheit) weiterhin sichtbar fokussiert. Textfelder sind
   für Browser immer :focus-visible → behalten ihren Rahmen auch beim Klick.
   !important, weil Clubdesks Regeln teils höhere Spezifität haben
   (z.B. .cd-megamenu .cd-menu-level-1 a:focus = 0,3,1); unbedenklich, da
   die Regel nie den Tastatur-Fokus trifft. */
:focus:not(:focus-visible) {
    outline: none !important;
}

/* ---------------------------------------------------------------------
   3. FARBEN – Megamenü-Links (Text auf weissem Grund = Primärrot)
   ------------------------------------------------------------------- */

.cd-megamenu .cd-menu-level-1 a,
.cd-megamenu .cd-menu-level-2 a,
.cd-megamenu .cd-menu-level-3 a {
    color: var(--bt-primary);
}

.cd-megamenu .cd-menu-level-1 a:focus { outline-color: var(--bt-primary); }
.cd-megamenu .cd-menu-level-2 a:focus { outline-color: var(--bt-primary); }
.cd-megamenu .cd-menu-level-3 a:focus { outline-color: var(--bt-primary); }

/* Hover / aktiv – Gold-Akzent (ersetzt das frühere Google-Blau #1A73E8) */
.cd-megamenu a.cd-menu-item.cd-menu-active,
.cd-megamenu a.cd-menu-item:hover {
    color: var(--bt-accent);
}

/* ---------------------------------------------------------------------
   4. Login/Logout – als letzter, dezenter Eintrag im Megamenü
   ------------------------------------------------------------------- */

/* page.mustache rendert Login/Logout nicht mehr als Pill-Button in der
   Navigationsleiste, sondern als <li class="bt-menu-login"> am Ende der
   .cd-menu-level-1-Liste. Diese ist auf dem Desktop eine Flex-Zeile (Spalten
   nebeneinander) → flex-basis: 100% zwingt den Eintrag in eine eigene Zeile
   UNTER die Hauptpunkte; mobil (≤992px) sind die <li> ohnehin 100% breit.
   Eigene Klasse statt .cd-menu-item, damit Clubdesk-Menü-JS ihn ignoriert. */

/* Der Pill-Button (22px + Padding + 10px Margin oben/unten) gab der Leiste
   ihre Höhe (gemessen 62.8px, auf allen Breiten); ohne ihn schrumpfte sie auf
   die Höhe des Menü-Buttons (~31px) und Logo/Menü rückten nach oben. */
.cd-navigation-bar-content {
    min-height: 63px;
}

/* "Menü"-Button: 24px auf ALLEN Breiten (vom User live ausprobiert).
   Ersetzt Clubdesks 22px (Desktop) und v.a. das mobile
   `@media (max-width: 576px) { font-size: 4vmin }` aus page.css, das auf
   Phones nur ~16px ergab. Gleiche Spezifität, custom.css lädt zuletzt →
   die ungescopte Regel gewinnt auch gegen die Media-Query. */
.cd-megamenu-button {
    font-size: 24px;
}

/* Auf dem Desktop ist das Menü rechts gefloatet (shrink-to-fit): ohne
   contain würde die Breite dieses Eintrags (Text + Margins) zur Menübreite
   addiert und Trennlinie/Login stünden ~80px rechts von "Kontakt".
   contain: inline-size → trägt 0px bei; Abstände daher nur INNERHALB des
   <li> (Linie als ::before, Margin am Link), nicht als Margin am <li>. */
.cd-megamenu .cd-menu-level-1 > ul > li.bt-menu-login {
    flex-basis: 100%;
    contain: inline-size;
    margin-top: 15px;
}

.cd-megamenu .cd-menu-level-1 > ul > li.bt-menu-login::before {
    content: "";
    display: block;
    margin: 0 20px 10px;
    border-top: 1px solid rgba(0, 0, 0, 0.12);
}

/* Desktop (ab 993px, wo Clubdesk das Menü rechts ausrichtet): rechtsbündig,
   bündig mit dem Textende des letzten Hauptpunkts ("Kontakt"). */
@media (min-width: 993px) {
    .cd-megamenu .cd-menu-level-1 > ul > li.bt-menu-login {
        text-align: right;
    }
}

.cd-megamenu .cd-menu-level-1 a.bt-menu-login-link {
    margin: 0 20px;
    font-size: 16px;
    font-weight: 400;
    color: #6b6b6b;
}

.cd-megamenu .cd-menu-level-1 a.bt-menu-login-link:hover {
    color: var(--bt-accent);
}

/* ---------------------------------------------------------------------
   5. FARBEN – Cookie-Banner
   ------------------------------------------------------------------- */

.cc-window,
.cc-revoke {
    background-color: var(--bt-primary);
}

/* „Weiterlesen“-Link & Ablehnen-Button im Banner = Gold-Akzent */
a.cc-link,
a.cc-link:active,
a.cc-link:visited,
.cc-bottom,
.cc-btn:first-child {
    color: var(--bt-accent);
}

a.cc-link:hover,
a.cc-link:active:hover,
a.cc-link:visited:hover,
.cc-bottom:hover {
    color: var(--bt-on-primary);
}

/* Zustimmen-Button: weisser Grund, Primärrot-Text */
.cc-btn {
    background-color: var(--bt-on-primary);
    color: var(--bt-primary);
}

/* ---------------------------------------------------------------------
   6. INHALTS-BUTTONS (.cd-button-primary/-secondary/-tertiary)
   ---------------------------------------------------------------------
   Content-CTA-Buttons (z.B. "Mitmachen", "Über Bärn treit" im Header-Banner
   der Startseite) – nicht zu verwechseln mit .cd-button-login (Navigation,
   oben bereits gestylt). Clubdesk liefert sie in Roboto und in der ALTEN
   Vereinsfarbe Bordeaux #770419 (Primär, siehe docs/clubdesk-css-reference.md)
   bzw. neutralem Grau (Tertiär) – hier auf unsere Palette & Schrift
   umgestellt. Können sowohl im Header als auch im Content vorkommen, daher
   ohne main/header-Scope.
   Farben: !important nötig (Clubdesks .cd-light/.cd-dark-Kollision, siehe
   Referenz-Doku). Schrift: kein !important nötig – Clubdesks eigene
   Basis-Regel ist selbst nicht themenabhängig, und bei gleicher Spezifität
   gewinnt unser später geladenes custom.css automatisch. */
a.cd-button-primary, input.cd-button-primary, button.cd-button-primary,
a.cd-button-secondary, input.cd-button-secondary, button.cd-button-secondary,
a.cd-button-tertiary, input.cd-button-tertiary, button.cd-button-tertiary {
    font-family: var(--bt-body-font);
}

/* Primär: gefüllt, wie der Login-Button in der Navigation (Rot → Akzent bei Hover) */
a.cd-button-primary, input.cd-button-primary, button.cd-button-primary {
    background-color: var(--bt-primary) !important;
    border-color: var(--bt-primary) !important;
    color: var(--bt-on-primary) !important;
}
a.cd-button-primary:hover, input.cd-button-primary:hover, button.cd-button-primary:hover {
    background-color: var(--bt-accent) !important;
    border-color: var(--bt-accent) !important;
    color: var(--bt-on-primary) !important;
}

/* Sekundär: Outline-Stil, füllt bei Hover wie Primär */
a.cd-button-secondary, input.cd-button-secondary, button.cd-button-secondary {
    background-color: transparent !important;
    border-color: var(--bt-primary) !important;
    color: var(--bt-primary) !important;
}
a.cd-button-secondary:hover, input.cd-button-secondary:hover, button.cd-button-secondary:hover {
    background-color: var(--bt-accent) !important;
    border-color: var(--bt-accent) !important;
    color: var(--bt-on-primary) !important;
}

/* Tertiär: zurückhaltend, keine Füllfarbe (folgt Clubdesks eigener
   neutraler Grundidee, aber mit unserer Überschriften-Farbe statt Grau) */
a.cd-button-tertiary, input.cd-button-tertiary, button.cd-button-tertiary {
    border-color: var(--bt-heading-color) !important;
    color: var(--bt-heading-color) !important;
}
a.cd-button-tertiary:hover, input.cd-button-tertiary:hover, button.cd-button-tertiary:hover {
    border-color: var(--bt-primary) !important;
    color: var(--bt-primary) !important;
}

/* ---------------------------------------------------------------------
   7. TABELLEN (.cd-table)
   ---------------------------------------------------------------------
   Clubdesk setzt Tabellen-Kopfzeile fix auf 11px und Werte auf 16px,
   beides kleiner als unsere Basis. Beide Selektoren matchen Clubdesks
   eigene Regeln exakt (gleiche Spezifität (0,2,0)) – bei Gleichstand
   gewinnt automatisch unser später geladenes custom.css, kein !important
   nötig (nur Farbe wäre themenabhängig, hier nicht angetastet). */
.cd-table .cd-table-header {
    font-size: 14px;
    font-weight: 700;
}
.cd-table .cd-table-value {
    font-size: var(--bt-font-base);
}

/* ---------------------------------------------------------------------
   8. LINKS im Inhalt (<main>)
   ---------------------------------------------------------------------
   Vorgabe next.MD: Links in der Farbe des umgebenden Texts, beim Hover
   unterstrichen und dunkler; verlinkte Überschriften in Überschriften-
   farbe. color: inherit erledigt beides (Fliesstext → Textfarbe,
   h1–h6 → --bt-heading-color). Clubdesk färbt Links blau über die
   .cd-light/.cd-dark-Kette → !important.

   Unterstreichung statt border-bottom: text-decoration mit eigener
   Dicke/Abstand/Farbe sieht aus wie eine Border-Linie, bricht aber sauber
   über Zeilenumbrüche, spart Unterlängen aus (skip-ink) und verschiebt
   kein Layout. In Ruhe nur eine dezente Linie (sonst wären Links im
   Fliesstext unsichtbar – und auf Touch-Geräten gibt es kein Hover),
   beim Hover volle Linie + dunklere Farbe. color-mix() mit currentColor
   leitet die Töne von der jeweiligen Textfarbe ab.
   Ausgenommen: Buttons (.cd-button) und Bild-Links (Galerie/Lightbox). */
main a:not(.cd-button):not(:has(img)),
main a:not(.cd-button):not(:has(img)):visited {
    color: inherit !important;
    text-decoration-line: underline !important;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.2em;
    text-decoration-color: color-mix(in srgb, currentColor 35%, transparent);
    transition: color 0.2s ease, text-decoration-color 0.2s ease;
}
main a:not(.cd-button):not(:has(img)):hover,
main a:not(.cd-button):not(:has(img)):visited:hover {
    color: color-mix(in srgb, currentColor 60%, #000000) !important;
    text-decoration-color: currentColor;
    text-decoration-thickness: 2px;
}

/* Footer-Hintergrund: Markenrot statt Clubdesks #333333. Die Farbe steht
   inline auf .cd-backgroundPane (Sektionseinstellung) → !important. */
footer .cd-backgroundPane {
    background-color: var(--bt-primary) !important;
}

/* Footer-Links (dunkle Sektion): weiss statt Clubdesks Hellblau #81BBD5,
   ohne Unterstreichung; beim Hover eine dünne Linie als Rückmeldung
   (gleiches Prinzip wie die Inhalts-Links oben). Farbe über die
   .cd-dark-Kette → !important. */
footer a:not(.cd-button),
footer a:not(.cd-button):visited {
    color: var(--bt-on-primary) !important;
    text-decoration: none !important;
    text-underline-offset: 0.2em;
}
footer a:not(.cd-button):hover,
footer a:not(.cd-button):visited:hover {
    text-decoration: underline !important;
    text-decoration-thickness: 1px !important;
}
