/*
Theme Name:   FSV 1950 Gotha – Kadence Child
Theme URI:    https://fsv-1950-gotha.de
Description:  Child-Theme für den FSV 1950 Gotha e.V. Modernes, responsives Design in Anthrazit und FSV-Grün. Basiert auf Kadence.
Author:       FSV 1950 Gotha e.V.
Template:     kadence
Version:      3.0.0
Text Domain:  fsv-kadence-child
License:      GNU General Public License v2 or later
*/

/* ==========================================================================
   FARBPALETTE
   Anthrazit:   #32373c  (Primär – Header, Footer, Akzente)
   Dunkel:      #1e2225  (Footer-Hintergrund)
   Grün:        #81d742  (Akzent – Buttons, Labels, Hover)
   Grün dunkel: #5fa826  (Hover auf Grün)
   ========================================================================== */

:root {
  /* Kadence-Palette überschreiben */
  --global-palette1: #81d742;
  --global-palette2: #5fa826;
  --global-palette3: #32373c;
  --global-palette4: #474e55;
  --global-palette5: #6b7280;
  --global-palette6: #edfada;
  --global-palette7: #f7f8f6;
  --global-palette8: #f0f0f0;
  --global-palette9: #ffffff;

  /* Eigene Variablen */
  --fsv-green:        #81d742;
  --fsv-green-dark:   #5fa826;
  --fsv-green-light:  #edfada;
  --fsv-charcoal:     #32373c;
  --fsv-charcoal-mid: #474e55;
  --fsv-charcoal-dark:#1e2225;
  --fsv-text:         #2a2e32;
  --fsv-muted:        #6b7280;
  --fsv-border:       #e2e4e0;
  --fsv-bg:           #f7f8f6;

  /* Typografie */
  --fsv-font-heading: 'Barlow Condensed', 'Arial Narrow', Arial, sans-serif;
  --fsv-font-body:    'Barlow', Arial, sans-serif;
}

/* ==========================================================================
   LOKALE GOOGLE FONTS – Barlow + Barlow Condensed
   Dateien liegen in /wp-content/themes/fsv-kadence-child/fonts/
   ========================================================================== */

/* Barlow – Regular 400 */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('./fonts/barlow-v13-latin-regular.woff2') format('woff2');
}
/* Barlow – Medium 500 */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('./fonts/barlow-v13-latin-500.woff2') format('woff2');
}
/* Barlow – SemiBold 600 */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('./fonts/barlow-v13-latin-600.woff2') format('woff2');
}

/* Barlow Condensed – Regular 400 */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('./fonts/barlow-condensed-v13-latin-regular.woff2') format('woff2');
}
/* Barlow Condensed – SemiBold 600 */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('./fonts/barlow-condensed-v13-latin-600.woff2') format('woff2');
}
/* Barlow Condensed – Bold 700 */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('./fonts/barlow-condensed-v13-latin-700.woff2') format('woff2');
}
/* Barlow Condensed – ExtraBold 800 */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('./fonts/barlow-condensed-v13-latin-800.woff2') format('woff2');
}
/* Barlow Condensed – Black 900 */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url('./fonts/barlow-condensed-v13-latin-900.woff2') format('woff2');
}

/* ==========================================================================
   BASE
   ========================================================================== */
body {
  font-family: var(--fsv-font-body);
  color: var(--fsv-text);
  background: #ffffff;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--fsv-font-heading);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: -0.01em;
  color: var(--fsv-charcoal);
  line-height: 1.05;
}

h1 { font-size: clamp(2rem, 5vw, 3.5rem); }
h2 { font-size: clamp(1.6rem, 4vw, 2.6rem); }
h3 { font-size: clamp(1.2rem, 3vw, 1.8rem); }
h4 { font-size: 1.2rem; }

p { line-height: 1.7; }

a {
  color: var(--fsv-green-dark);
  text-decoration: none;
  transition: color .2s;
}
a:hover { color: var(--fsv-charcoal); }

/* ==========================================================================
   TOP BAR (Impressum / Datenschutz / Kontakt)
   ========================================================================== */
.kadence-top-header-row,
#masthead .site-top-header-inner-wrap {
  background-color: var(--fsv-charcoal-dark) !important;
}
.kadence-top-header-row a,
#masthead .site-top-header-inner-wrap a {
  color: rgba(255,255,255,.6) !important;
  font-size: .78rem;
  letter-spacing: .05em;
  text-transform: uppercase;
  transition: color .2s;
}
.kadence-top-header-row a:hover,
#masthead .site-top-header-inner-wrap a:hover {
  color: #fff !important;
}

/* ==========================================================================
   HEADER
   ========================================================================== */
.kadence-main-header-row,
#masthead .site-header-inner-wrap {
  background-color: var(--fsv-charcoal) !important;
  box-shadow: 0 2px 16px rgba(0,0,0,.3);
}

/* Logo-Text */
.site-title a,
.site-branding .site-title {
  font-family: var(--fsv-font-heading) !important;
  font-weight: 900 !important;
  color: #fff !important;
  font-size: 1.4rem !important;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.site-description {
  color: rgba(255,255,255,.45) !important;
  font-size: .7rem !important;
  text-transform: uppercase;
  letter-spacing: .08em;
}

/* ==========================================================================
   NAVIGATION
   ========================================================================== */
.main-navigation a,
.kadence-navigation a,
#site-navigation a {
  font-family: var(--fsv-font-heading) !important;
  font-weight: 700 !important;
  font-size: .82rem !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.78) !important;
  transition: color .2s, background .2s !important;
}
.main-navigation a:hover,
.kadence-navigation a:hover,
.main-navigation .current-menu-item > a,
.kadence-navigation .current-menu-item > a {
  color: var(--fsv-green) !important;
  background: transparent !important;
}

/* Dropdown */
.main-navigation .sub-menu,
.kadence-navigation .sub-menu {
  background: var(--fsv-charcoal-dark) !important;
  border-top: 3px solid var(--fsv-green) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.25) !important;
  border-radius: 0 0 6px 6px;
}
.main-navigation .sub-menu a,
.kadence-navigation .sub-menu a {
  color: rgba(255,255,255,.72) !important;
  font-size: .76rem !important;
  border-bottom: 1px solid rgba(255,255,255,.07) !important;
  padding: .55rem 1.1rem !important;
}
.main-navigation .sub-menu a:hover,
.kadence-navigation .sub-menu a:hover {
  background: rgba(129,215,66,.12) !important;
  color: var(--fsv-green) !important;
}

/* Mobile */
.kadence-menu-toggle, button.menu-toggle {
  color: #fff !important;
  border-color: rgba(255,255,255,.35) !important;
}
.main-navigation.toggled .nav-menu,
.kadence-navigation.toggled .nav-menu {
  background: var(--fsv-charcoal-dark) !important;
}

/* "Mitglied werden" CTA im Menü */
.main-navigation .menu-item-mitglied > a,
.kadence-navigation .menu-item-mitglied > a {
  background: var(--fsv-green) !important;
  color: var(--fsv-charcoal) !important;
  border-radius: 4px !important;
  padding: .45rem 1rem !important;
  font-weight: 900 !important;
}
.main-navigation .menu-item-mitglied > a:hover,
.kadence-navigation .menu-item-mitglied > a:hover {
  background: var(--fsv-green-dark) !important;
  color: #fff !important;
}

/* ==========================================================================
   BUTTONS
   ========================================================================== */
.wp-block-button__link,
.wp-block-button .wp-block-button__link,
.kadence-button, .kb-btn,
.button, input[type="submit"], button[type="submit"] {
  background-color: var(--fsv-green) !important;
  color: var(--fsv-charcoal) !important;
  border: none !important;
  border-radius: 4px !important;
  font-family: var(--fsv-font-heading) !important;
  font-weight: 900 !important;
  font-size: .88rem !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  padding: .8rem 2rem !important;
  transition: background .2s, transform .15s, box-shadow .2s !important;
}
.wp-block-button__link:hover,
.kadence-button:hover, .kb-btn:hover,
.button:hover, input[type="submit"]:hover, button[type="submit"]:hover {
  background-color: var(--fsv-green-dark) !important;
  color: #fff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(129,215,66,.35) !important;
}

/* Outline-Variante */
.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent !important;
  color: var(--fsv-charcoal) !important;
  border: 2px solid var(--fsv-charcoal) !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: var(--fsv-charcoal) !important;
  color: #fff !important;
  box-shadow: none !important;
}

/* ==========================================================================
   CONTENT
   ========================================================================== */
.entry-title, .page-title {
  position: relative;
  padding-bottom: .7rem;
  margin-bottom: 1.6rem;
}
.entry-title::after, .page-title::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0;
  width: 56px; height: 4px;
  background: var(--fsv-green);
  border-radius: 2px;
}

.entry-title a { color: var(--fsv-charcoal); }
.entry-title a:hover { color: var(--fsv-green-dark); }

.entry-meta, .posted-on, .byline, .cat-links {
  font-size: .8rem;
  color: var(--fsv-muted);
}

/* Kategorie-Tags */
.cat-links a, .tags-links a {
  display: inline-block;
  background: var(--fsv-green);
  color: var(--fsv-charcoal) !important;
  padding: .15rem .6rem;
  border-radius: 3px;
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-right: .25rem;
  font-family: var(--fsv-font-heading);
}
.cat-links a:hover, .tags-links a:hover {
  background: var(--fsv-green-dark) !important;
  color: #fff !important;
  text-decoration: none !important;
}

/* Post-Thumbnails */
.post-thumbnail img, .wp-post-image {
  border-radius: 6px;
  transition: transform .3s, box-shadow .3s;
}
.post-thumbnail:hover img { transform: scale(1.02); box-shadow: 0 8px 24px rgba(0,0,0,.15); }

/* Blockquote / Trainer-Zitate */
blockquote, .wp-block-quote {
  border-left: 4px solid var(--fsv-green) !important;
  background: var(--fsv-bg);
  padding: 1rem 1.5rem;
  border-radius: 0 6px 6px 0;
  font-style: italic;
  color: var(--fsv-muted);
}

/* ==========================================================================
   WIDGETS / SIDEBAR
   ========================================================================== */
.widget-title, .widgettitle {
  font-family: var(--fsv-font-heading);
  font-size: .85rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--fsv-charcoal);
  border-bottom: 3px solid var(--fsv-green);
  padding-bottom: .45rem;
  margin-bottom: 1rem;
}

/* ==========================================================================
   EVENTS CALENDAR (The Events Calendar Plugin)
   ========================================================================== */
.tribe-events-calendar th,
.tribe-common-h2,
.tribe-events .tribe-events-c-nav__next,
.tribe-events .tribe-events-c-nav__prev {
  color: var(--fsv-charcoal) !important;
  font-family: var(--fsv-font-heading) !important;
}
.tribe-common-c-btn,
.tribe-events .tribe-events-c-subscribe-dropdown__button,
.tribe-common-c-btn-border {
  background: var(--fsv-green) !important;
  color: var(--fsv-charcoal) !important;
  font-family: var(--fsv-font-heading) !important;
  font-weight: 800 !important;
  border: none !important;
}
.tribe-events-widget .tribe-event-date-start {
  color: var(--fsv-green-dark) !important;
  font-weight: 700;
}

/* ==========================================================================
   FORMULARE
   ========================================================================== */
input[type="text"], input[type="email"], input[type="tel"],
textarea, select {
  border: 1.5px solid var(--fsv-border) !important;
  border-radius: 4px !important;
  padding: .6rem .9rem !important;
  font-size: .9rem !important;
  font-family: var(--fsv-font-body) !important;
  transition: border-color .2s, box-shadow .2s !important;
  width: 100%;
}
input:focus, textarea:focus, select:focus {
  border-color: var(--fsv-green) !important;
  box-shadow: 0 0 0 3px rgba(129,215,66,.18) !important;
  outline: none !important;
}

/* Suche */
.search-form .search-submit {
  background: var(--fsv-green) !important;
  color: var(--fsv-charcoal) !important;
  border-radius: 0 4px 4px 0 !important;
  border: none !important;
  font-family: var(--fsv-font-heading) !important;
  font-weight: 800 !important;
}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.site-footer, #colophon {
  background: var(--fsv-charcoal-dark) !important;
  color: rgba(255,255,255,.6) !important;
}
.site-footer a, #colophon a {
  color: rgba(255,255,255,.55) !important;
  transition: color .2s;
}
.site-footer a:hover, #colophon a:hover {
  color: var(--fsv-green) !important;
  text-decoration: none !important;
}
.site-footer .widget-title, .site-footer .widgettitle {
  color: #fff !important;
  border-bottom-color: rgba(255,255,255,.2) !important;
}
.site-info, .footer-credits {
  border-top: 1px solid rgba(255,255,255,.1);
  padding-top: 1rem;
  font-size: .78rem;
  color: rgba(255,255,255,.35) !important;
}

/* ==========================================================================
   KADENCE BLOCKS – Anpassungen
   ========================================================================== */

/* Info-Box / Notice */
.kt-blocks-info-box-title {
  font-family: var(--fsv-font-heading) !important;
  text-transform: uppercase;
}

/* Section-Trennlinien */
.kt-divider { border-color: var(--fsv-green) !important; }

/* Accordion */
.kt-accordion-title-bar {
  font-family: var(--fsv-font-heading) !important;
  font-weight: 700 !important;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 768px) {
  h1 { font-size: 1.8rem; }
  h2 { font-size: 1.5rem; }
}
@media (max-width: 480px) {
  .wp-block-button__link, .button {
    padding: .7rem 1.4rem !important;
    font-size: .82rem !important;
  }
}

/* ==========================================================================
   SCROLLBAR (Webkit)
   ========================================================================== */
::-webkit-scrollbar { width: 7px; }
::-webkit-scrollbar-track { background: var(--fsv-bg); }
::-webkit-scrollbar-thumb { background: var(--fsv-green); border-radius: 4px; }


/* ==========================================================================
   COMPONENT & PAGE STYLES
   (Consolidated from Customizer – 31.05.2026)
   ========================================================================== */

Alles vorherige KOMPLETT ersetzen!


/* ── FONTS ──────────────────────────────────────────────────────── */
body { font-family: 'Barlow', Arial, sans-serif !important; }
h1,h2,h3,h4,h5,h6,.wp-block-heading {
  font-family: 'Barlow Condensed','Arial Narrow',Arial,sans-serif !important;
  text-transform: uppercase !important;
  font-weight: 800 !important;
  line-height: 1.05 !important;
}

/* ── UTILITY ────────────────────────────────────────────────────── */
.fsv-green { color: #81d742 !important; }

/* ── STICKY HEADER ──────────────────────────────────────────────── */
#masthead,.site-header,header.site-header {
  position: sticky !important; top: 0 !important; z-index: 9999 !important;
}

/* ── STARTSEITE: Titel & Padding weg ────────────────────────────── */
.home .entry-header,.home .page-header,.home .entry-title { display:none !important; }
.home .entry-content,.home #primary,.home .site-main,
.home .content-area,.home .wp-block-post-content {
  padding-top: 0 !important; margin-top: 0 !important;
}

/* ── SEKTIONEN: Basis ───────────────────────────────────────────── */
.fsv-section {
  padding-top: 4rem !important;
  padding-bottom: 4rem !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.wp-block-group { margin-top: 0 !important; margin-bottom: 0 !important; }

/* Abwechselnde Hintergründe */
.fsv-section-sports  { background-color: #ffffff !important; }
.fsv-trainer-section { background-color: #f7f8f6 !important; }
.fsv-section-news    { background-color: #ffffff !important; }
.fsv-section-events  { background-color: #f7f8f6 !important; }

/* ── SECTION LABEL (grüner Kleintext über Überschrift) ──────────── */
.fsv-section-label {
  color: #81d742 !important;
  font-family: 'Barlow Condensed',sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  margin-top: 0 !important;
  margin-bottom: 0.2rem !important;
  display: block !important;
}
.fsv-section-label + .wp-block-heading,
.fsv-section-label + h2,
.fsv-section-label + h3 {
  margin-top: 0 !important;
}

/* ── HERO ───────────────────────────────────────────────────────── */

/* FSV-HERO: background-image Zeilen entfernen, Rest bleibt */
.fsv-hero {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

.fsv-hero .wp-block-cover__background {
  background-color: #32373c !important;
  opacity: 0.73 !important;
}
.fsv-hero .wp-block-cover__inner-container,
.fsv-hero .wp-block-cover__inner-container * { color: #ffffff; }

/* Hero: Label direkt über H1 */
.fsv-hero__left .fsv-section-label { margin-bottom: 0.3rem !important; }
.fsv-hero__title {
  font-size: clamp(3rem,7vw,5.5rem) !important;
  line-height: 0.95 !important;
  letter-spacing: -0.02em !important;
  color: #ffffff !important;
  margin-top: 0 !important;
  margin-bottom: 1.2rem !important;
}
.fsv-hero__text {
  color: rgba(255,255,255,0.7) !important;
  font-size: 1.05rem !important;
  line-height: 1.65 !important;
  margin-top: 0 !important;
  margin-bottom: 2rem !important;
}

/* Stat-Karten */
.fsv-stat-card {
  background-color: rgba(255,255,255,0.07) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 10px !important;
  padding: 1.2rem 1.5rem !important;
  margin-bottom: 0.75rem !important;
  transition: background-color 0.2s, transform 0.2s !important;
}
.fsv-stat-card:last-child { margin-bottom: 0 !important; }
.fsv-stat-card:hover {
  background-color: rgba(255,255,255,0.13) !important;
  transform: translateX(-4px) !important;
}
.fsv-stat__num {
  color: #81d742 !important;
  font-size: 2.4rem !important;
  line-height: 1 !important;
  margin-top: 0 !important;
  margin-bottom: 0.25rem !important;
}
.fsv-stat__label {
  color: rgba(255,255,255,0.55) !important;
  font-size: 0.72rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.07em !important;
  margin: 0 !important;
  font-family: 'Barlow Condensed',sans-serif !important;
}

/* ── BUTTONS ────────────────────────────────────────────────────── */
.wp-block-button__link, a.wp-block-button__link {
  background-color: #81d742 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 4px !important;
  font-family: 'Barlow Condensed',sans-serif !important;
  font-weight: 900 !important;
  font-size: 0.9rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  padding: 0.8rem 2rem !important;
  transition: background-color 0.2s, transform 0.15s !important;
  text-decoration: none !important;
}
.wp-block-button__link:hover {
  background-color: #5fa826 !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
}
/* Outline-Button (hell auf dunkel - im Hero) */
.fsv-btn-outline .wp-block-button__link {
  background: transparent !important;
  color: #ffffff !important;
  border: 2px solid rgba(255,255,255,0.5) !important;
}
.fsv-btn-outline .wp-block-button__link:hover {
  background: rgba(255,255,255,0.1) !important;
  border-color: #ffffff !important;
  color: #ffffff !important;
}
/* Outline-Button dunkel (News-Sektion "Alle Beiträge") */
.fsv-btn-dark-outline .wp-block-button__link {
  background: transparent !important;
  color: #32373c !important;
  border: 2px solid #32373c !important;
}
.fsv-btn-dark-outline .wp-block-button__link:hover {
  background: #32373c !important;
  color: #ffffff !important;
}
/* Weißer Button auf grünem Hintergrund */
.fsv-btn-white .wp-block-button__link {
  background-color: #ffffff !important;
  color: #5fa826 !important;
}
.fsv-btn-white .wp-block-button__link:hover {
  background-color: rgba(255,255,255,0.9) !important;
  color: #3d7a18 !important;
}

/* ── LAUFBAND ───────────────────────────────────────────────────── */
.fsv-ticker-wrap {
  width: 100% !important; background: #81d742 !important;
  overflow: hidden !important; padding: 13px 0 !important; margin: 0 !important;
}
.fsv-ticker { overflow: hidden; white-space: nowrap; }
.fsv-ticker-inner { display: inline-flex; animation: fsv-scroll 35s linear infinite; }
.fsv-ticker-inner span {
  display: inline-block; padding: 0 28px;
  font-family: 'Barlow Condensed',sans-serif; font-weight: 700;
  font-size: 0.88rem; letter-spacing: 0.1em; text-transform: uppercase;
  color: rgba(0,0,0,0.75); border-right: 1px solid rgba(0,0,0,0.15);
}
@keyframes fsv-scroll {
  from { transform: translateX(0); } to { transform: translateX(-50%); }
}
.fsv-ticker-wrap:hover .fsv-ticker-inner { animation-play-state: paused; }

/* ── SPORT-KARTEN ───────────────────────────────────────────────── */
.fsv-section-sports { padding-left: 1.5rem !important; padding-right: 1.5rem !important; }
.fsv-section-sports > * { max-width: 1160px; margin-left: auto; margin-right: auto; }
.fsv-section-intro { color: #6b7280 !important; font-size: 0.98rem !important; margin-top: 0.75rem !important; margin-bottom: 2rem !important; }
.fsv-sports-grid { margin-bottom: 1rem !important; gap: 1rem !important; }
.fsv-sport-card {
  background: #ffffff !important;
  border: 1px solid #e2e4e0 !important;
  border-radius: 10px !important;
  padding: 1.8rem 1.4rem !important;
  transition: box-shadow 0.25s, transform 0.25s, border-color 0.25s !important;
  display: flex !important; flex-direction: column !important;
  position: relative !important; overflow: hidden !important;
}
.fsv-sport-card::before {
  content: '' !important;
  position: absolute !important; top: 0 !important; left: 0 !important; right: 0 !important;
  height: 3px !important; background: #81d742 !important;
  transform: scaleX(0) !important; transform-origin: left !important;
  transition: transform 0.3s !important;
}
.fsv-sport-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,0.1) !important; transform: translateY(-4px) !important; border-color: transparent !important; }
.fsv-sport-card:hover::before { transform: scaleX(1) !important; }
.fsv-sport-card__icon { font-size: 1.8rem !important; margin: 0 0 0.75rem !important; line-height: 1 !important; }
.fsv-sport-card__name { font-size: 1rem !important; font-weight: 800 !important; color: #32373c !important; margin: 0 0 0.3rem !important; text-transform: uppercase !important; }
.fsv-sport-card__sub { font-size: 0.78rem !important; color: #6b7280 !important; margin: 0 0 0.75rem !important; }
.fsv-sport-card__arrow { margin-top: auto !important; font-size: 1.1rem !important; }
.fsv-sport-card__arrow a { color: #81d742 !important; text-decoration: none !important; transition: transform 0.2s !important; display: inline-block !important; }
.fsv-sport-card:hover .fsv-sport-card__arrow a { transform: translateX(4px) !important; }

/* ── TRAINER-KARTEN ─────────────────────────────────────────────── */
.fsv-trainer-section { padding-left: 1.5rem !important; padding-right: 1.5rem !important; }
.fsv-trainer-section > * { max-width: 1160px; margin-left: auto; margin-right: auto; }
.fsv-trainer-card {
  background: #ffffff !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 16px rgba(0,0,0,0.07) !important;
  display: flex !important; flex-direction: column !important; height: 100% !important;
  transition: box-shadow 0.25s, transform 0.25s !important;
}
.fsv-trainer-card:hover {
  box-shadow: 0 10px 32px rgba(0,0,0,0.13) !important;
  transform: translateY(-3px) !important;
}
/* Cover-Block als Foto-Bereich */
.fsv-trainer-img,
.fsv-trainer-card .wp-block-cover {
  min-height: 200px !important;
  flex-shrink: 0 !important;
  position: relative !important;
}
.fsv-trainer-img--mid { background-color: #474e55 !important; }
/* Badge rechts oben */
.fsv-trainer-badge {
  position: absolute !important;
  top: 1rem !important; right: 1rem !important;
  background: #81d742 !important;
  color: #1e2225 !important;
  font-family: 'Barlow Condensed',sans-serif !important;
  font-size: 0.68rem !important; font-weight: 700 !important;
  letter-spacing: 0.08em !important; text-transform: uppercase !important;
  padding: 0.25rem 0.65rem !important; border-radius: 3px !important;
  display: inline-block !important; width: auto !important;
  margin: 0 !important; line-height: 1.5 !important;
}
/* Cover inner container für Badge-Positionierung */
.fsv-trainer-card .wp-block-cover__inner-container {
  padding: 0 !important; position: static !important;
  width: 100% !important; height: 100% !important;
}
.fsv-trainer-body { padding: 1.4rem !important; flex: 1 !important; }
.fsv-trainer-name {
  font-size: 1.2rem !important; color: #32373c !important;
  margin-top: 0 !important; margin-bottom: 0.25rem !important;
  text-transform: uppercase !important;
}
.fsv-trainer-role {
  font-size: 0.78rem !important; font-weight: 600 !important;
  text-transform: uppercase !important; letter-spacing: 0.06em !important;
  color: #81d742 !important; margin: 0 0 0.75rem !important;
}
.fsv-trainer-card .wp-block-quote,
.fsv-trainer-card blockquote {
  border-left: 3px solid #81d742 !important;
  background: transparent !important;
  padding: 0.4rem 0.8rem !important; margin: 0 !important;
  font-style: italic !important; color: #6b7280 !important;
  font-size: 0.88rem !important; line-height: 1.55 !important;
  box-shadow: none !important;
}
.fsv-trainer-card .wp-block-quote p { color: #6b7280 !important; font-style: italic !important; font-size: 0.88rem !important; }

/* ── NEWS ───────────────────────────────────────────────────────── */
.fsv-section-news { padding-left: 1.5rem !important; padding-right: 1.5rem !important; }
.fsv-section-news > * { max-width: 1160px; margin-left: auto; margin-right: auto; }
.fsv-news-header {
  display: flex !important; justify-content: space-between !important;
  align-items: flex-end !important; flex-wrap: wrap !important;
  gap: 1rem !important; margin-bottom: 2rem !important;
}
.fsv-news-header .wp-block-heading { margin: 0 !important; flex: 1 !important; }
ul.wp-block-latest-posts {
  display: grid !important; grid-template-columns: repeat(3,1fr) !important;
  gap: 1.5rem !important; list-style: none !important; padding: 0 !important; margin: 0 !important;
}
ul.wp-block-latest-posts li {
  display: flex !important; flex-direction: column !important;
  background: #f7f8f6 !important; border-radius: 10px !important;
  overflow: hidden !important; border: 1px solid rgba(0,0,0,0.05) !important;
  transition: box-shadow 0.25s, transform 0.25s !important;
}
ul.wp-block-latest-posts li:hover { box-shadow: 0 8px 24px rgba(0,0,0,0.1) !important; transform: translateY(-3px) !important; }
.wp-block-latest-posts__featured-image { margin: 0 !important; line-height: 0 !important; }
.wp-block-latest-posts__featured-image img { width: 100% !important; height: 190px !important; object-fit: cover !important; display: block !important; }
.wp-block-latest-posts__post-title,
ul.wp-block-latest-posts li > a {
  font-family: 'Barlow Condensed',sans-serif !important; font-weight: 700 !important;
  font-size: 1.05rem !important; text-transform: uppercase !important;
  color: #32373c !important; padding: 1rem 1rem 0.3rem !important;
  display: block !important; text-decoration: none !important; line-height: 1.2 !important;
}
.wp-block-latest-posts__post-title:hover { color: #5fa826 !important; }
.wp-block-latest-posts__post-date { font-size: 0.72rem !important; color: #81d742 !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.06em !important; padding: 0 1rem 0.3rem !important; display: block !important; }
.wp-block-latest-posts__post-excerpt { font-size: 0.85rem !important; color: #6b7280 !important; line-height: 1.55 !important; padding: 0 1rem 1rem !important; display: block !important; }
@media (max-width:900px) { ul.wp-block-latest-posts { grid-template-columns: 1fr !important; } }

/* ── EVENTS ─────────────────────────────────────────────────────── */
.fsv-section-events { padding-left: 1.5rem !important; padding-right: 1.5rem !important; }
.fsv-section-events > * { max-width: 1160px; margin-left: auto; margin-right: auto; }
.fsv-event-item {
  display: flex !important; align-items: center !important; gap: 1.2rem !important;
  padding: 1.1rem 0 !important;
  border-bottom: 1px solid #e2e4e0 !important;
  transition: padding-left 0.2s, border-color 0.2s !important;
  margin: 0 !important;
}
.fsv-event-item:hover { padding-left: 6px !important; border-color: #81d742 !important; }
.fsv-event-date {
  flex-shrink: 0 !important;
  background: #32373c !important; color: #ffffff !important;
  border-radius: 8px !important; padding: 0.5rem 0.75rem !important;
  text-align: center !important; min-width: 56px !important;
  display: flex !important; flex-direction: column !important; align-items: center !important;
  margin: 0 !important; line-height: 1 !important;
}
.fsv-event-date__day {
  font-family: 'Barlow Condensed',sans-serif !important;
  font-weight: 900 !important; font-size: 1.6rem !important;
  color: #ffffff !important; display: block !important;
}
.fsv-event-date__month {
  font-size: 0.65rem !important; text-transform: uppercase !important;
  letter-spacing: 0.05em !important; color: #81d742 !important;
  font-weight: 700 !important; display: block !important;
}
.fsv-event-info { flex: 1 !important; padding: 0 !important; }
.fsv-event-title { font-size: 1rem !important; color: #32373c !important; margin: 0 0 0.25rem !important; }
.fsv-event-time { font-size: 0.8rem !important; color: #6b7280 !important; margin: 0 !important; }
.fsv-event-cta {
  background-color: #32373c !important; border-radius: 12px !important;
  padding: 2rem !important;
}
.fsv-event-cta__title { color: #ffffff !important; font-size: 1.5rem !important; margin: 0 0 0.75rem !important; }
.fsv-event-cta__text { color: rgba(255,255,255,0.65) !important; font-size: 0.9rem !important; line-height: 1.6 !important; margin: 0 0 1.5rem !important; }

/* ── MEMBERSHIP BANNER ──────────────────────────────────────────── */
.fsv-membership {
  background: linear-gradient(135deg, #5fa826 0%, #81d742 100%) !important;
  padding-top: 4rem !important; padding-bottom: 4rem !important;
  padding-left: 1.5rem !important; padding-right: 1.5rem !important;
  margin: 0 !important;
}
.fsv-membership > .wp-block-columns { max-width: 1160px; margin-left: auto !important; margin-right: auto !important; }
.fsv-membership__label {
  font-family: 'Barlow Condensed',sans-serif !important;
  font-size: 0.9rem !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: 0.1em !important;
  color: rgba(255,255,255,0.8) !important;
  margin-top: 0 !important; margin-bottom: 0.3rem !important;
}
.fsv-membership__title {
  color: #ffffff !important;
  font-size: clamp(2rem,4vw,3rem) !important;
  margin-top: 0 !important; margin-bottom: 0.6rem !important;
}
.fsv-membership__text {
  color: rgba(255,255,255,0.8) !important;
  font-size: 1rem !important; margin: 0 !important;
}
.fsv-membership__contact {
  font-size: 0.9rem !important; margin-top: 0.75rem !important;
  color: rgba(255,255,255,0.75) !important;
}
.fsv-membership__contact a { color: rgba(255,255,255,0.85) !important; text-decoration: underline !important; }
.fsv-membership__contact a:hover { color: #ffffff !important; }

/* ── FOOTER ─────────────────────────────────────────────────────── */
#colophon,.site-footer { background-color: #1e2225 !important; }
.site-footer *,#colophon * { color: rgba(255,255,255,0.6) !important; }
.site-footer h1,.site-footer h2,.site-footer h3,.site-footer h4,
#colophon h1,#colophon h2,#colophon h3,#colophon h4 { color: #ffffff !important; }
.site-footer a,#colophon a { color: rgba(255,255,255,0.55) !important; text-decoration: none !important; }
.site-footer a:hover,#colophon a:hover { color: #81d742 !important; }
.site-info { color: rgba(255,255,255,0.3) !important; border-top: 1px solid rgba(255,255,255,0.08) !important; padding-top: 1rem !important; }

/* Button-Text weiß – Kadence-Override */
.wp-element-button,
.wp-block-button__link,
.wp-block-button a {
  color: #ffffff !important;
}
.fsv-btn-dark-outline .wp-element-button,
.fsv-btn-dark-outline .wp-block-button__link {
  color: #32373c !important;
}
.fsv-btn-white .wp-element-button,
.fsv-btn-white .wp-block-button__link {
  color: #5fa826 !important;
}

/* Laufband: Leerzeile vor dem Ticker entfernen */
.fsv-ticker-wrap,
.wp-block-html:has(.fsv-ticker-wrap) {
  margin-top: 0 !important;
  display: block !important;
}
/* Laufband-Text weiß */  
.fsv-ticker-inner span {
  color: #ffffff !important;
}

/* Hero margin-bottom = 0 */
.fsv-hero,
.wp-block-cover.fsv-hero {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Button-Text weiß – Kadence spezifischer Override */
.wp-block-button .wp-block-button__link,
.wp-block-button a.wp-block-button__link,
.wp-block-button a.wp-element-button,
.kb-button,
a.kb-button {
  color: #ffffff !important;
}
.wp-block-button .wp-block-button__link:visited,
.wp-block-button a.wp-element-button:visited {
  color: #ffffff !important;
}
/* Ausnahmen */
.fsv-btn-dark-outline .wp-block-button__link,
.fsv-btn-dark-outline a.wp-element-button {
  color: #32373c !important;
}
.fsv-btn-white .wp-block-button__link,
.fsv-btn-white a.wp-element-button {
  color: #5fa826 !important;
}

/* Outline-Button im Hero: weiß überschreiben */
.fsv-hero .wp-block-button.is-style-outline .wp-block-button__link,
.wp-block-cover .wp-block-button.is-style-outline .wp-block-button__link {
  color: #ffffff !important;
  border-color: rgba(255,255,255,0.5) !important;
  background: transparent !important;
}
.fsv-hero .wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-cover .wp-block-button.is-style-outline .wp-block-button__link:hover {
  color: #ffffff !important;
  border-color: #ffffff !important;
  background: rgba(255,255,255,0.1) !important;
}

/* ==========================================================================
   FSV – AKTUELLES-SEITE Add-on
   Einfach ans Ende des bestehenden CSS im Customizer anhängen!
   ========================================================================== */

/* Grid: 3 Spalten */
.fsv-query-loop .fsv-posts-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1.5rem !important;
  padding: 0 !important;
}

/* Einzelne Karte */
.fsv-news-card {
  background: #f7f8f6 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  border: 1px solid rgba(0,0,0,0.05) !important;
  display: flex !important;
  flex-direction: column !important;
  transition: box-shadow 0.25s, transform 0.25s !important;
  padding: 0 !important;
}
.fsv-news-card:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,0.1) !important;
  transform: translateY(-3px) !important;
}

/* Beitragsbild */
.fsv-news-card .wp-block-post-featured-image { margin: 0 !important; line-height: 0 !important; }
.fsv-news-card .wp-block-post-featured-image img {
  width: 100% !important; height: 200px !important;
  object-fit: cover !important; display: block !important; border-radius: 0 !important;
}
.fsv-news-card .wp-block-post-featured-image:empty {
  height: 200px !important;
  background: linear-gradient(135deg, #32373c, #474e55) !important;
  display: block !important;
}

/* Inhalt */
.fsv-news-card__body {
  padding: 1.1rem 1.1rem 1.4rem !important;
  flex: 1 !important; display: flex !important; flex-direction: column !important;
}

/* Datum */
.fsv-news-card .wp-block-post-date {
  font-size: 0.72rem !important; color: #81d742 !important;
  font-weight: 700 !important; text-transform: uppercase !important;
  letter-spacing: 0.06em !important; margin: 0 0 0.4rem !important; display: block !important;
}
.fsv-news-card .wp-block-post-date a { color: #81d742 !important; text-decoration: none !important; }

/* Titel */
.fsv-news-card .wp-block-post-title {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important; font-size: 1.1rem !important;
  text-transform: uppercase !important; line-height: 1.15 !important;
  margin: 0 0 0.6rem !important;
}
.fsv-news-card .wp-block-post-title a {
  color: #32373c !important; text-decoration: none !important; transition: color 0.2s !important;
}
.fsv-news-card .wp-block-post-title a:hover { color: #5fa826 !important; }

/* Auszug + Weiterlesen */
.fsv-news-card .wp-block-post-excerpt {
  font-size: 0.85rem !important; color: #6b7280 !important;
  line-height: 1.55 !important; margin: 0 !important; flex: 1 !important;
}
.fsv-news-card .wp-block-post-excerpt__more-link {
  color: #81d742 !important; font-weight: 600 !important;
  font-size: 0.85rem !important; text-decoration: none !important;
  display: inline-block !important; margin-top: 0.5rem !important;
}
.fsv-news-card .wp-block-post-excerpt__more-link:hover { color: #5fa826 !important; }

/* Pagination */
.fsv-pagination { margin-top: 3rem !important; gap: 0.5rem !important; }
.fsv-pagination .wp-block-query-pagination-previous,
.fsv-pagination .wp-block-query-pagination-next {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important; font-size: 0.9rem !important;
  text-transform: uppercase !important; letter-spacing: 0.06em !important;
  color: #32373c !important; text-decoration: none !important;
  padding: 0.6rem 1.2rem !important; border: 2px solid #e2e4e0 !important;
  border-radius: 4px !important; transition: border-color 0.2s, color 0.2s !important;
}
.fsv-pagination .wp-block-query-pagination-previous:hover,
.fsv-pagination .wp-block-query-pagination-next:hover {
  border-color: #81d742 !important; color: #81d742 !important;
}
.fsv-pagination .wp-block-query-pagination-numbers a,
.fsv-pagination .wp-block-query-pagination-numbers span {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important; font-size: 0.9rem !important;
  padding: 0.6rem 0.9rem !important; border: 2px solid #e2e4e0 !important;
  border-radius: 4px !important; color: #32373c !important;
  text-decoration: none !important; transition: all 0.2s !important;
}
.fsv-pagination .wp-block-query-pagination-numbers a:hover {
  border-color: #81d742 !important; color: #81d742 !important;
}
.fsv-pagination .wp-block-query-pagination-numbers .current {
  background: #81d742 !important; border-color: #81d742 !important; color: #ffffff !important;
}

/* Responsive */
@media (max-width: 900px) {
  .fsv-query-loop .fsv-posts-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px) {
  .fsv-query-loop .fsv-posts-grid { grid-template-columns: 1fr !important; }
}

/* ==========================================================================
   FSV – BEITRÄGE (Single Posts) Add-on
   Einfach ans Ende des bestehenden CSS im Customizer anhängen!
   Gilt für alle bestehenden und künftigen Beiträge automatisch.
   ========================================================================== */

/* ── BEITRAG: Basis-Layout ──────────────────────────────────────── */
.single-post .site-main,
.single-post #primary {
  max-width: 1160px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 3rem 1.5rem !important;
}

/* ── BEITRAGSBILD (Featured Image) oben ────────────────────────── */
.single-post .post-thumbnail {
  margin: 0 0 2.5rem !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  max-height: 480px !important;
}
.single-post .post-thumbnail img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 10px !important;
}

/* ── BEITRAGS-HEADER ────────────────────────────────────────────── */
.single-post .entry-header {
  display: block !important;  /* Sichtbar machen (war auf Startseite hidden) */
  margin-bottom: 2rem !important;
  padding-bottom: 1.5rem !important;
  border-bottom: 3px solid #81d742 !important;
}

/* Kategorie-Label über dem Titel */
.single-post .cat-links {
  display: block !important;
  margin-bottom: 0.5rem !important;
}
.single-post .cat-links a {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  color: #ffffff !important;
  background: #81d742 !important;
  padding: 0.2rem 0.65rem !important;
  border-radius: 3px !important;
  text-decoration: none !important;
  margin-right: 0.3rem !important;
}
.single-post .cat-links a:hover { background: #5fa826 !important; }

/* Beitrags-Titel */
.single-post .entry-title {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 900 !important;
  font-size: clamp(2rem, 5vw, 3.2rem) !important;
  text-transform: uppercase !important;
  color: #32373c !important;
  line-height: 1.05 !important;
  margin: 0.3rem 0 1rem !important;
}
/* Kein Unterstrich nach dem Titel (nur auf Startseite) */
.single-post .entry-title::after { display: none !important; }

/* Meta: Datum + Autor */
.single-post .entry-meta {
  font-size: 0.82rem !important;
  color: #6b7280 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 1rem !important;
  align-items: center !important;
}
.single-post .entry-meta a { color: #6b7280 !important; text-decoration: none !important; }
.single-post .entry-meta a:hover { color: #81d742 !important; }
.single-post .posted-on::before { content: '\1F4C5\00A0' !important; }
.single-post .posted-by::before    { content: '\270D\FE0F\00A0' !important; }
.single-post .posted-by::after    { content: '\00A0' !important; }

/* ── BEITRAGS-INHALT ────────────────────────────────────────────── */
.single-post .entry-content {
  font-family: 'Barlow', Arial, sans-serif !important;
  font-size: 1.05rem !important;
  line-height: 1.75 !important;
  color: #2a2e32 !important;
  max-width: 760px !important;  /* Lesebreite */
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Absätze */
.single-post .entry-content p {
  margin-bottom: 1.4rem !important;
  color: #2a2e32 !important;
}

/* Überschriften im Beitragstext */
.single-post .entry-content h2 {
  font-size: 1.8rem !important;
  color: #32373c !important;
  margin-top: 2.5rem !important;
  margin-bottom: 1rem !important;
  padding-bottom: 0.4rem !important;
  border-bottom: 2px solid #e2e4e0 !important;
}
.single-post .entry-content h3 {
  font-size: 1.35rem !important;
  color: #32373c !important;
  margin-top: 2rem !important;
  margin-bottom: 0.75rem !important;
}
.single-post .entry-content h4 {
  font-size: 1.1rem !important;
  color: #32373c !important;
  margin-top: 1.5rem !important;
  margin-bottom: 0.5rem !important;
}

/* Links im Text */
.single-post .entry-content a {
  color: #5fa826 !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(95,168,38,0.4) !important;
  transition: text-decoration-color 0.2s !important;
}
.single-post .entry-content a:hover {
  color: #32373c !important;
  text-decoration-color: #32373c !important;
}

/* Bilder im Beitragstext */
.single-post .entry-content img {
  border-radius: 8px !important;
  max-width: 100% !important;
  height: auto !important;
}
.single-post .entry-content figure { margin-bottom: 1.5rem !important; }
.single-post .entry-content figcaption {
  font-size: 0.8rem !important;
  color: #6b7280 !important;
  text-align: center !important;
  margin-top: 0.4rem !important;
  font-style: italic !important;
}

/* Zitate */
.single-post .entry-content blockquote,
.single-post .entry-content .wp-block-quote {
  border-left: 4px solid #81d742 !important;
  background: #f7f8f6 !important;
  padding: 1.2rem 1.5rem !important;
  margin: 1.5rem 0 !important;
  border-radius: 0 8px 8px 0 !important;
  font-style: italic !important;
  color: #474e55 !important;
}
.single-post .entry-content blockquote p { color: #474e55 !important; }

/* Listen */
.single-post .entry-content ul,
.single-post .entry-content ol {
  padding-left: 1.5rem !important;
  margin-bottom: 1.4rem !important;
}
.single-post .entry-content li { margin-bottom: 0.4rem !important; }
.single-post .entry-content ul li::marker { color: #81d742 !important; }

/* Trennlinie */
.single-post .entry-content hr,
.single-post .entry-content .wp-block-separator {
  border: none !important;
  border-top: 2px solid #e2e4e0 !important;
  margin: 2.5rem 0 !important;
}

/* Tabellen */
.single-post .entry-content table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin-bottom: 1.5rem !important;
  font-size: 0.92rem !important;
}
.single-post .entry-content th {
  background: #32373c !important;
  color: #ffffff !important;
  padding: 0.7rem 1rem !important;
  text-align: left !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  font-size: 0.82rem !important;
  letter-spacing: 0.06em !important;
}
.single-post .entry-content td {
  padding: 0.6rem 1rem !important;
  border-bottom: 1px solid #e2e4e0 !important;
  color: #2a2e32 !important;
}
.single-post .entry-content tr:nth-child(even) td {
  background: #f7f8f6 !important;
}

/* ── BEITRAGS-FOOTER: Tags ──────────────────────────────────────── */
.single-post .entry-footer {
  margin-top: 3rem !important;
  padding-top: 1.5rem !important;
  border-top: 1px solid #e2e4e0 !important;
  font-size: 0.82rem !important;
  color: #6b7280 !important;
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.single-post .tags-links a {
  display: inline-block !important;
  background: #f7f8f6 !important;
  border: 1px solid #e2e4e0 !important;
  color: #32373c !important;
  padding: 0.2rem 0.65rem !important;
  border-radius: 3px !important;
  font-size: 0.75rem !important;
  text-decoration: none !important;
  margin: 0.2rem 0.2rem 0 0 !important;
  transition: border-color 0.2s, color 0.2s !important;
}
.single-post .tags-links a:hover {
  border-color: #81d742 !important;
  color: #81d742 !important;
}

/* ── NAVIGATION: Vorheriger / Nächster Beitrag ──────────────────── */
.single-post .post-navigation {
  max-width: 760px !important;
  margin: 2.5rem auto 0 !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 1rem !important;
}
.single-post .nav-previous,
.single-post .nav-next {
  background: #f7f8f6 !important;
  border: 1px solid #e2e4e0 !important;
  border-radius: 8px !important;
  padding: 1rem 1.2rem !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
}
.single-post .nav-previous:hover,
.single-post .nav-next:hover {
  border-color: #81d742 !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
}
.single-post .nav-next { text-align: right !important; }
.single-post .post-navigation .nav-subtitle {
  font-size: 0.72rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: #81d742 !important;
  font-weight: 700 !important;
  display: block !important;
  margin-bottom: 0.3rem !important;
  font-family: 'Barlow Condensed', sans-serif !important;
}
.single-post .post-navigation .nav-title {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  text-transform: uppercase !important;
  color: #32373c !important;
  text-decoration: none !important;
}
.single-post .post-navigation a { text-decoration: none !important; }

/* ── RESPONSIVE ─────────────────────────────────────────────────── */
@media (max-width: 768px) {
  .single-post .post-navigation {
    grid-template-columns: 1fr !important;
  }
  .single-post .nav-next { text-align: left !important; }
  .single-post .entry-content {
    font-size: 1rem !important;
  }
}

/* ==========================================================================
   FSV – BEITRÄGE & AKTUELLES Fixes Add-on
   Ans Ende des bestehenden CSS im Customizer anhängen!
   ========================================================================== */

/* ── BEITRAGS-HEADER: Abstand zum Menü + Zentrierung ───────────── */
.single-post .entry-header {
  padding-top: 2.5rem !important;
  text-align: center !important;
}

/* Kategorie-Badge zentriert */
.single-post .cat-links {
  display: block !important;
  text-align: center !important;
  margin-bottom: 0.75rem !important;
}

/* Meta (Datum + Autor) ebenfalls zentriert */
.single-post .entry-meta {
  justify-content: center !important;
}

/* ── ABSTAND HEADER → INHALT reduzieren ─────────────────────────── */
.single-post .entry-header {
  margin-bottom: 1rem !important;
}
.single-post .entry-content {
  margin-top: 1rem !important;
}

/* ── ÄHNLICHE BEITRÄGE (Related Posts) ─────────────────────────── */

/* Kadence Related Posts Widget */
.single-post .related-posts-grid,
.single-post .wp-block-kadence-posts,
.single-post .kb-related-posts,
.single-post .related-posts {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1.5rem !important;
}

/* Jede Related-Post-Karte */
.single-post .related-posts article,
.single-post .kb-related-posts .kb-post-item,
.single-post .related-post-item {
  background: #f7f8f6 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  border: 1px solid rgba(0,0,0,0.05) !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Vorschaubild in Related Posts */
.single-post .related-posts article img,
.single-post .kb-related-posts img,
.single-post .related-post-item img {
  width: 100% !important;
  height: 160px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0 !important;
}

/* Titel in Related Posts: Größe + Farbe normalisieren */
.single-post .related-posts article h3,
.single-post .related-posts article h2,
.single-post .kb-related-posts .kb-post-title,
.single-post .related-post-item .entry-title,
.single-post .related-posts .entry-title {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  color: #32373c !important;
  line-height: 1.2 !important;
  padding: 0.9rem 1rem 0.4rem !important;
  margin: 0 !important;
}
.single-post .related-posts article h3 a,
.single-post .related-posts article h2 a,
.single-post .kb-related-posts .kb-post-title a,
.single-post .related-post-item .entry-title a {
  color: #32373c !important;
  text-decoration: none !important;
}
.single-post .related-posts article h3 a:hover,
.single-post .related-posts article h2 a:hover {
  color: #5fa826 !important;
}

/* Datum in Related Posts */
.single-post .related-posts article .posted-on,
.single-post .related-posts article time,
.single-post .kb-related-posts .kb-post-date {
  font-size: 0.72rem !important;
  color: #81d742 !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  padding: 0 1rem 0.5rem !important;
  display: block !important;
}

/* Excerpt in Related Posts */
.single-post .related-posts article .entry-summary,
.single-post .related-posts article .entry-excerpt,
.single-post .kb-related-posts .kb-post-excerpt {
  font-size: 0.82rem !important;
  color: #6b7280 !important;
  line-height: 1.5 !important;
  padding: 0 1rem 1rem !important;
  display: block !important;
}

/* Abschnitts-Titel "Ähnliche Beiträge" */
.single-post .related-posts > h2,
.single-post .related-posts > h3,
.single-post .related-posts-title {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 1.4rem !important;
  color: #32373c !important;
  text-transform: uppercase !important;
  margin-bottom: 1.5rem !important;
  padding-bottom: 0.5rem !important;
  border-bottom: 2px solid #e2e4e0 !important;
}

/* ── AKTUELLES-SEITE: Kacheln gleich hoch ───────────────────────── */
.fsv-query-loop .fsv-posts-grid {
  align-items: stretch !important;
}
.fsv-news-card {
  height: 100% !important;
}
/* Inhalt-Bereich wächst, Titel+Datum bleiben oben, Excerpt füllt Rest */
.fsv-news-card__body {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}
.fsv-news-card .wp-block-post-excerpt {
  flex: 1 !important;
}

/* ==========================================================================
   FSV – KATEGORIE- & ARCHIV-SEITEN (korrekte Selektoren)
   Altes fsv-addon-archive.css im Customizer ersetzen!
   ========================================================================== */

/* ── ARCHIV-CONTAINER: max-width & padding ──────────────────────── */
#archive-container.kadence-posts-list {
  max-width: 1160px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 1.5rem !important;
  list-style: none !important;
}

/* ── ARCHIV-HEADER ──────────────────────────────────────────────── */
.archive .page-header,
.category .page-header,
.tag .page-header {
  max-width: 1160px !important;
  margin: 0 auto 2.5rem !important;
  padding: 2.5rem 1.5rem 1.5rem !important;
  border-bottom: 3px solid #81d742 !important;
}
.archive .page-header::before,
.category .page-header::before {
  content: 'Kategorie' !important;
  display: block !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 0.78rem !important; font-weight: 700 !important;
  letter-spacing: 0.14em !important; text-transform: uppercase !important;
  color: #81d742 !important; margin-bottom: 0.3rem !important;
}
.tag .page-header::before {
  content: 'Schlagwort' !important;
  display: block !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 0.78rem !important; font-weight: 700 !important;
  letter-spacing: 0.14em !important; text-transform: uppercase !important;
  color: #81d742 !important; margin-bottom: 0.3rem !important;
}
.archive .page-title,
.category .page-title,
.tag .page-title {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 900 !important;
  font-size: clamp(2rem, 5vw, 3rem) !important;
  text-transform: uppercase !important;
  color: #32373c !important;
  line-height: 1.05 !important;
  margin: 0 !important;
}

/* ── JEDE KARTE (li.entry-list-item) ───────────────────────────── */
.kadence-posts-list .entry-list-item {
  list-style: none !important;
}

.kadence-posts-list .entry.loop-entry {
  background: #f7f8f6 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  border: 1px solid rgba(0,0,0,0.05) !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  transition: box-shadow 0.25s, transform 0.25s !important;
  box-shadow: none !important;
}
.kadence-posts-list .entry.loop-entry:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,0.1) !important;
  transform: translateY(-3px) !important;
}

/* ── VORSCHAUBILD ───────────────────────────────────────────────── */
.kadence-posts-list .post-thumbnail {
  margin: 0 !important;
  flex-shrink: 0 !important;
  display: block !important;
}
.kadence-posts-list .post-thumbnail-inner {
  overflow: hidden !important;
}
.kadence-posts-list .post-thumbnail img {
  width: 100% !important;
  height: 190px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0 !important;
  transition: transform 0.3s !important;
}
.kadence-posts-list .entry.loop-entry:hover .post-thumbnail img {
  transform: scale(1.03) !important;
}

/* ── INHALT-BEREICH ─────────────────────────────────────────────── */
.kadence-posts-list .entry-content-wrap {
  padding: 1rem 1.1rem 1.2rem !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
}

/* Kategorien-Links */
.kadence-posts-list .entry-taxonomies {
  margin-bottom: 0.5rem !important;
}
.kadence-posts-list .entry-taxonomies a {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: #ffffff !important;
  background: #81d742 !important;
  padding: 0.15rem 0.5rem !important;
  border-radius: 3px !important;
  text-decoration: none !important;
  margin-right: 0.2rem !important;
  margin-bottom: 0.2rem !important;
  display: inline-block !important;
  transition: background 0.2s !important;
}
.kadence-posts-list .entry-taxonomies a:hover {
  background: #5fa826 !important;
}

/* Beitrags-Titel */
.kadence-posts-list .entry-title {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 1.05rem !important;
  text-transform: uppercase !important;
  color: #32373c !important;
  line-height: 1.2 !important;
  margin: 0 0 0.4rem !important;
}
.kadence-posts-list .entry-title::after { display: none !important; }
.kadence-posts-list .entry-title a {
  color: #32373c !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
}
.kadence-posts-list .entry-title a:hover { color: #5fa826 !important; }

/* Datum + Autor */
.kadence-posts-list .entry-meta {
  font-size: 0.72rem !important;
  color: #6b7280 !important;
  margin-bottom: 0.6rem !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.5rem !important;
}
.kadence-posts-list .entry-meta a { color: #6b7280 !important; }
.kadence-posts-list .posted-on time { color: #81d742 !important; font-weight: 700 !important; }

/* Excerpt */
.kadence-posts-list .entry-summary {
  font-size: 0.85rem !important;
  color: #6b7280 !important;
  line-height: 1.55 !important;
  flex: 1 !important;
  margin: 0 !important;
}
.kadence-posts-list .entry-summary p {
  color: #6b7280 !important;
  font-size: 0.85rem !important;
  margin: 0 !important;
}

/* "Weiterlesen"-Link */
.kadence-posts-list .entry-footer { margin-top: 0.75rem !important; }
.kadence-posts-list .post-more-link {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.82rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: #81d742 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.3rem !important;
  transition: color 0.2s !important;
}
.kadence-posts-list .post-more-link:hover { color: #5fa826 !important; }
/* Pfeil-Icon neben "Weiterlesen" */
.kadence-posts-list .kadence-svg-icon { width: 16px !important; height: 16px !important; }

/* ── PAGINATION ──────────────────────────────────────────────────── */
.archive .pagination,
.category .pagination,
.tag .pagination {
  max-width: 1160px !important;
  margin: 2rem auto 3rem !important;
  padding: 0 1.5rem !important;
  display: flex !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  flex-wrap: wrap !important;
}
.archive .page-numbers,
.category .page-numbers,
.tag .page-numbers {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.9rem !important;
  padding: 0.6rem 0.9rem !important;
  border: 2px solid #e2e4e0 !important;
  border-radius: 4px !important;
  color: #32373c !important;
  text-decoration: none !important;
  transition: all 0.2s !important;
}
.archive .page-numbers:hover,
.category .page-numbers:hover {
  border-color: #81d742 !important;
  color: #81d742 !important;
}
.archive .page-numbers.current,
.category .page-numbers.current {
  background: #81d742 !important;
  border-color: #81d742 !important;
  color: #ffffff !important;
}

/* ── BREADCRUMBS ─────────────────────────────────────────────────── */
.breadcrumb-trail, .kadence-breadcrumbs {
  max-width: 1160px !important;
  margin: 0 auto !important;
  padding: 1rem 1.5rem 0 !important;
  font-size: 0.8rem !important;
  color: #6b7280 !important;
}
.breadcrumb-trail a, .kadence-breadcrumbs a {
  color: #81d742 !important;
  text-decoration: none !important;
}
.breadcrumb-trail a:hover { text-decoration: underline !important; }

/* ── RESPONSIVE ──────────────────────────────────────────────────── */
@media (max-width: 600px) {
  .archive .page-header,
  .category .page-header { padding: 2rem 1rem 1.5rem !important; }
  #archive-container.kadence-posts-list { padding: 0 1rem !important; }
}

/* Fix: Dark Outline Button - spezifischer Selektor schlägt alle anderen */
.wp-block-button.fsv-btn-dark-outline .wp-block-button__link,
.wp-block-button[class*="fsv-btn-dark-outline"] a.wp-block-button__link,
.wp-block-button[class*="fsv-btn-dark-outline"] a.wp-element-button {
  background: transparent !important;
  color: #32373c !important;
  border: 2px solid #32373c !important;
}
.wp-block-button[class*="fsv-btn-dark-outline"] a.wp-block-button__link:hover,
.wp-block-button[class*="fsv-btn-dark-outline"] a.wp-element-button:hover {
  background: #32373c !important;
  color: #ffffff !important;
  border-color: #32373c !important;
}

/* Kursplan: Leerzellen ohne Strich */
.fsv-kp-dash { display: none !important; }

/* ==========================================================================
   FSV – TRAINER-ÜBERSICHTSSEITE Add-on
   Einfach ans Ende des bestehenden CSS im Customizer anhängen!
   ========================================================================== */

/* Container der gesamten Seite */
.fsv-trainer-overview {
  background-color: #f7f8f6 !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}
.fsv-trainer-overview > * {
  max-width: 1160px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Gruppen-Überschrift "Vorstand", "Geschäftsführung", "Trainer:innen" */
.fsv-trainer-group-title {
  font-size: clamp(1.5rem, 3vw, 2rem) !important;
  color: #32373c !important;
  text-transform: uppercase !important;
  margin-top: 3rem !important;
  margin-bottom: 1.5rem !important;
  padding-bottom: 0.6rem !important;
  border-bottom: 3px solid #81d742 !important;
  display: inline-block !important;
  padding-right: 2rem !important;
}
/* Erste Gruppe etwas weniger Abstand zum Intro */
.fsv-trainer-overview .fsv-trainer-group-title:first-of-type {
  margin-top: 2rem !important;
}

/* Grid: 3 Spalten Standard, automatisch responsiv */
.fsv-trainer-grid {
  gap: 1.5rem !important;
  margin-bottom: 1rem !important;
  align-items: stretch !important;
}
.fsv-trainer-grid .wp-block-column {
  display: flex !important;
}
.fsv-trainer-grid .wp-block-column > .fsv-trainer-card {
  width: 100% !important;
  height: 100% !important;
}

/* Vorstands-Karten: leicht hervorgehoben */
.fsv-trainer-overview .fsv-trainer-grid:nth-of-type(1) .fsv-trainer-card {
  border-top: 0px solid #81d742 !important;
}

/* Responsive: 2 Spalten ab Tablet, 1 Spalte ab Mobile */
@media (max-width: 900px) {
  .fsv-trainer-grid {
    flex-wrap: wrap !important;
    gap: 1rem !important;
  }
  .fsv-trainer-grid .wp-block-column {
    flex-basis: calc(50% - 0.5rem) !important;
    min-width: calc(50% - 0.5rem) !important;
  }
}
@media (max-width: 600px) {
  .fsv-trainer-grid .wp-block-column {
    flex-basis: 100% !important;
    min-width: 100% !important;
  }
}

/* ==========================================================================
   FSV – TRAINER-ÜBERSICHT Fixes
   Ans Ende des bestehenden CSS im Customizer anhängen!
   ========================================================================== */

/* ── Fix 1: Gruppen-Überschriften innerhalb der 1160px-Box ─────── */
.fsv-trainer-overview .fsv-trainer-group-title {
  max-width: 1160px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: block !important;   /* war inline-block, verhindert auto-margin */
  width: 100% !important;
  box-sizing: border-box !important;
}

/* ── Fix 2: Kein Abstand zwischen Trainer-Kachel-Reihen ────────── */
.fsv-trainer-overview .wp-block-columns,
.fsv-trainer-overview .fsv-trainer-grid {
  margin-top: 1rem !important;
  margin-bottom: 3rem !important;  /* nur Abstand zur nächsten Gruppe */
  gap: 1.5rem !important;
}
/* Direkt aufeinanderfolgende Kachel-Reihen ohne Lücke */
.fsv-trainer-overview .fsv-trainer-grid + .fsv-trainer-grid {
  margin-top: 0 !important;
}
/* Letztes Grid vor einer neuen Gruppen-Überschrift */
.fsv-trainer-overview .fsv-trainer-grid + .fsv-trainer-group-title {
  margin-top: 4rem !important;
}
/* Ausnahme: der äußere Wrapper selbst behält sein Padding */
.fsv-trainer-overview.fsv-section {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

/* Fix: Grüner Unterstrich nur unter dem Text, nicht über die volle Box */
.fsv-trainer-overview .fsv-trainer-group-title {
  border-bottom: none !important;
  padding-bottom: 0 !important;
  position: relative !important;
}
.fsv-trainer-overview .fsv-trainer-group-title::after {
  content: '' !important;
  display: block !important;
  width: 4rem !important;
  height: 3px !important;
  background: #81d742 !important;
  margin-top: 0.5rem !important;
}

/* ==========================================================================
   FSV – SPORTANGEBOTE-ÜBERSICHT Add-on
   Ans Ende des bestehenden CSS anhängen!
   ========================================================================== */

/* ── Container ──────────────────────────────────────────────────── */
.fsv-sportangebote-overview {
  background-color: #ffffff !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}
.fsv-sportangebote-overview > * {
  max-width: 1160px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ── Grid: 2 Spalten ────────────────────────────────────────────── */
.fsv-sport-overview-grid {
  gap: 1.5rem !important;
  margin-top: 0 !important;
  margin-bottom: 1.5rem !important;
  align-items: stretch !important;
}
.fsv-sport-overview-col {
  display: flex !important;
}
.fsv-sport-overview-col > .fsv-sport-cat-card {
  width: 100% !important;
}

/* ── Kategorie-Karte ────────────────────────────────────────────── */
.fsv-sport-cat-card {
  background: #ffffff !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  border: 1px solid #e2e4e0 !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  transition: box-shadow 0.25s, transform 0.25s !important;
}
.fsv-sport-cat-card:hover {
  box-shadow: 0 8px 28px rgba(0,0,0,0.1) !important;
  transform: translateY(-3px) !important;
}

/* ── Foto-Bereich (Cover Block) ─────────────────────────────────── */
.fsv-sport-cat-img {
  min-height: 220px !important;
  flex-shrink: 0 !important;
  background-color: #474e55 !important;
  position: relative !important;
  cursor: pointer !important;
}
/* Hover: leichte Aufhellung */
.fsv-sport-cat-card:hover .fsv-sport-cat-img .wp-block-cover__background {
  opacity: 0.3 !important;
}

/* ── Kategorietitel über dem Foto ───────────────────────────────── */
.fsv-sport-cat-label {
  position: absolute !important;
  bottom: 1rem !important;
  left: 1rem !important;
  right: 1rem !important;
  top: auto !important;
  margin: 0 !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 1.5rem !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  color: #ffffff !important;
  line-height: 1.1 !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.5) !important;
}

/* ── Inhalt unter dem Foto ──────────────────────────────────────── */
.fsv-sport-cat-body {
  padding: 1.4rem !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}
.fsv-sport-cat-desc {
  font-size: 0.88rem !important;
  color: #6b7280 !important;
  line-height: 1.55 !important;
  margin: 0 0 1rem !important;
}

/* ── Chip-Links ─────────────────────────────────────────────────── */
.fsv-sport-chips {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.4rem !important;
  margin: 0 0 1.2rem !important;
  line-height: 1 !important;
  flex: 1 !important;
  align-content: flex-start !important;
}
.fsv-chip {
  display: inline-block !important;
  background: #f7f8f6 !important;
  border: 1px solid #e2e4e0 !important;
  color: #32373c !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  padding: 0.3rem 0.7rem !important;
  border-radius: 3px !important;
  text-decoration: none !important;
  transition: background 0.2s, border-color 0.2s, color 0.2s !important;
  white-space: nowrap !important;
}
.fsv-chip:hover {
  background: #81d742 !important;
  border-color: #81d742 !important;
  color: #ffffff !important;
}

/* ── "Mehr erfahren"-Button ─────────────────────────────────────── */
.fsv-sport-cat-btn {
  margin-top: auto !important;
}
.fsv-sport-cat-btn .wp-block-button__link {
  font-size: 0.82rem !important;
  padding: 0.5rem 1.2rem !important;
}

/* ── Responsive ─────────────────────────────────────────────────── */
@media (max-width: 768px) {
  .fsv-sport-overview-grid {
    flex-direction: column !important;
  }
  .fsv-sport-overview-col {
    flex-basis: 100% !important;
  }
}

/* Abdunklung des Cover-Bildes per CSS (dimRatio:0 im Block, Overlay per CSS) */
.fsv-sport-cat-img .wp-block-cover__background {
  opacity: 0.45 !important;
}
.fsv-sport-cat-card:hover .fsv-sport-cat-img .wp-block-cover__background {
  opacity: 0.3 !important;
}

/* Menü: hellerer Hintergrund */
.kadence-main-header-row,
#masthead .site-header-inner-wrap {
  background-color: var(--fsv-charcoal) !important;
}

/* Menü: größere Schrift - Kadence-spezifisch */
.main-navigation .nav-link,
.main-navigation a.nav-link,
#site-navigation a,
.primary-menu a,
.kadence-primary-menu > li > a {
  font-size: 0.9rem !important;
}

/* ==========================================================================
   FSV – SPORTBEREICH-SEITE Add-on
   Ersetzt die vorherige Version!
   ========================================================================== */

/* ── Äußerer Wrapper ────────────────────────────────────────────── */
.fsv-sport-page-wrap {
  background-color: #ffffff !important;
  padding: 3rem 1.5rem 4rem !important;
}
/* Kein doppeltes padding durch globale fsv-section-Regel */
.fsv-sport-page-wrap.fsv-section {
  padding-top: 3rem !important;
}

/* ── HERO: abgerundete Karte, innerhalb der 1160px-Box ──────────── */
.fsv-sport-hero {
  border-radius: 14px !important;
  overflow: hidden !important;
  background-color: #32373c !important;
  background-size: cover !important;
  background-position: center !important;
  margin-bottom: 3rem !important;
  /* Kein align:full — Breite kommt vom constrained parent */
  width: 100% !important;
}
.fsv-sport-hero .wp-block-cover__background {
  opacity: 0.55 !important;
  background-color: #32373c !important;
}
.fsv-sport-hero .wp-block-cover__inner-container {
  padding: 3.5rem !important;
  max-width: 100% !important;
}
.fsv-sport-hero .fsv-section-label {
  color: #81d742 !important;
  margin-bottom: 0.3rem !important;
}
.fsv-sport-hero__title {
  color: #ffffff !important;
  font-size: clamp(2.2rem, 5vw, 4rem) !important;
  line-height: 1 !important;
  margin-top: 0 !important;
  margin-bottom: 1rem !important;
}
.fsv-sport-hero__text {
  color: rgba(255,255,255,0.75) !important;
  font-size: 1.05rem !important;
  line-height: 1.65 !important;
  max-width: 600px !important;
  margin-top: 0 !important;
  margin-bottom: 1.5rem !important;
}
.fsv-sport-hero .fsv-btn-outline .wp-block-button__link {
  color: #ffffff !important;
  border-color: rgba(255,255,255,0.5) !important;
  background: transparent !important;
}
.fsv-sport-hero .fsv-btn-outline .wp-block-button__link:hover {
  border-color: #ffffff !important;
  background: rgba(255,255,255,0.1) !important;
}

/* ── INHALT ─────────────────────────────────────────────────────── */
.fsv-sport-page-cols {
  gap: 3rem !important;
  align-items: flex-start !important;
}
.fsv-sport-main { flex-basis: 65% !important; }
.fsv-sport-main h2 { margin-top: 0 !important; }
.fsv-sport-subheading {
  font-size: 1.2rem !important;
  margin-top: 2.5rem !important;
  margin-bottom: 0.75rem !important;
  padding-bottom: 0.4rem !important;
  border-bottom: 2px solid #e2e4e0 !important;
}
.fsv-sport-main .wp-block-table table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: 0.9rem !important;
}
.fsv-sport-main .wp-block-table thead th {
  background: #32373c !important;
  color: #ffffff !important;
  padding: 0.65rem 1rem !important;
  text-align: left !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  font-size: 0.82rem !important;
}
.fsv-sport-main .wp-block-table td {
  padding: 0.6rem 1rem !important;
  border-bottom: 1px solid #e2e4e0 !important;
}
.fsv-sport-main .wp-block-table.is-style-stripes tbody tr:nth-child(odd) td {
  background: #f7f8f6 !important;
}

/* ── SIDEBAR ────────────────────────────────────────────────────── */
.fsv-sport-sidebar { flex-basis: 35% !important; }
.fsv-sport-sidebar-box {
  background: #f7f8f6 !important;
  border-radius: 10px !important;
  padding: 1.6rem !important;
  margin-bottom: 1.5rem !important;
}
.fsv-sport-sidebar-title {
  font-size: 1rem !important;
  color: #32373c !important;
  text-transform: uppercase !important;
  margin-top: 0 !important;
  margin-bottom: 1rem !important;
  padding-bottom: 0.5rem !important;
  border-bottom: 3px solid #81d742 !important;
}
.fsv-sport-sidebar-item {
  font-size: 0.88rem !important;
  color: #6b7280 !important;
  margin-bottom: 0.75rem !important;
  line-height: 1.5 !important;
}
.fsv-sport-sidebar-item strong { color: #32373c !important; }
.fsv-sport-sidebar-item a { color: #5fa826 !important; }

/* ── RESPONSIVE ─────────────────────────────────────────────────── */
@media (max-width: 900px) {
  .fsv-sport-hero .wp-block-cover__inner-container { padding: 2.5rem !important; }
}
@media (max-width: 768px) {
  .fsv-sport-page-cols { flex-direction: column !important; }
  .fsv-sport-main, .fsv-sport-sidebar { flex-basis: 100% !important; }
  .fsv-sport-hero .wp-block-cover__inner-container { padding: 2rem 1.5rem !important; }
}

/* Sport-Kategorie-Seite: Seitenränder auf allen Geräten */
.fsv-sport-category,
.fsv-sport-subcats,
.fsv-sport-cat-info {
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}
.fsv-sport-category > *,
.fsv-sport-subcats > *,
.fsv-sport-cat-info > * {
  max-width: 1160px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ==========================================================================
   FSV – KURSPLAN-SEITE Add-on (an fsv-addon-sportangebote.css anhängen)
   ========================================================================== */
 
/* ── Header-Bereich ─────────────────────────────────────────────── */
.fsv-kursplan-header {
  background-color: #ffffff !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}
.fsv-kursplan-header > * {
  max-width: 1160px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
 
/* ── Meta-Boxen (3 Infokacheln oben) ───────────────────────────── */
.fsv-kursplan-meta {
  margin-top: 2rem !important;
  gap: 1.5rem !important;
}
.fsv-kursplan-meta-box {
  background: #f7f8f6 !important;
  border-radius: 10px !important;
  padding: 1.4rem !important;
  display: flex !important;
  gap: 1rem !important;
  align-items: flex-start !important;
}
.fsv-kursplan-meta-icon {
  font-size: 1.6rem !important;
  line-height: 1 !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}
.fsv-kursplan-meta-text {
  font-size: 0.88rem !important;
  color: #6b7280 !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}
.fsv-kursplan-meta-text strong { color: #32373c !important; }
.fsv-kursplan-meta-text a { color: #5fa826 !important; }
 
/* ── Kursplan-Sektionen ─────────────────────────────────────────── */
.fsv-kursplan-section {
  background-color: #ffffff !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}
.fsv-kursplan-section--alt {
  background-color: #f7f8f6 !important;
}
.fsv-kursplan-section > * {
  max-width: 1160px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.fsv-kursplan-group-title {
  font-size: clamp(1.6rem, 3vw, 2.2rem) !important;
  color: #32373c !important;
  margin-top: 0 !important;
  margin-bottom: 0.3rem !important;
}
.fsv-kursplan-section-intro {
  color: #6b7280 !important;
  font-size: 0.95rem !important;
  margin-top: 0 !important;
  margin-bottom: 1.5rem !important;
}
 
/* ── Kursplan-Auswahl-Karten ────────────────────────────────────── */
.fsv-kursplan-cards {
  background-color: #f7f8f6 !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}
.fsv-kursplan-choice { gap: 2rem !important; }
 
.fsv-kursplan-card-inner {
  background: #ffffff !important;
  border-radius: 14px !important;
  padding: 2.5rem 2rem !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  border-top: 4px solid #81d742 !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.07) !important;
  transition: box-shadow 0.25s, transform 0.25s !important;
}
.fsv-kursplan-card-inner:hover {
  box-shadow: 0 10px 32px rgba(0,0,0,0.12) !important;
  transform: translateY(-3px) !important;
}
.fsv-kursplan-card-inner--erwachsene {
  border-top-color: #32373c !important;
}
.fsv-kursplan-card-icon {
  font-size: 2.5rem !important;
  margin: 0 0 1rem !important;
  line-height: 1 !important;
}
.fsv-kursplan-card-title {
  font-size: clamp(1.5rem, 3vw, 2rem) !important;
  color: #32373c !important;
  margin-top: 0 !important;
  margin-bottom: 0.75rem !important;
}
.fsv-kursplan-card-desc {
  font-size: 0.92rem !important;
  color: #6b7280 !important;
  line-height: 1.65 !important;
  margin-bottom: 1.5rem !important;
  flex: 1 !important;
}
.fsv-kursplan-card .wp-block-buttons {
  margin-top: auto !important;
}

/* ==========================================================================
   FSV – VEREIN-SEITE Add-on
   Ans Ende des bestehenden CSS im Customizer anhängen!
   ========================================================================== */

/* ── ÜBER UNS ───────────────────────────────────────────────────── */
.fsv-verein-intro {
  background-color: #ffffff !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}
.fsv-verein-about-cols { gap: 3rem !important; align-items: flex-start !important; }
.fsv-verein-about-text { flex-basis: 62% !important; }
.fsv-verein-about-sidebar { flex-basis: 38% !important; }

/* Portrait-Foto */
.fsv-verein-portrait {
  border-radius: 10px !important;
  overflow: hidden !important;
  margin-bottom: 1.5rem !important;
}
.fsv-verein-portrait img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  border-radius: 10px !important;
}

/* Signatur-Absatz */
.fsv-verein-signature {
  background: #f7f8f6 !important;
  border-left: 4px solid #81d742 !important;
  padding: 1rem 1.2rem !important;
  border-radius: 0 8px 8px 0 !important;
  font-size: 0.92rem !important;
  color: #474e55 !important;
  margin-top: 1.5rem !important;
}
.fsv-verein-signoff {
  font-size: 0.92rem !important;
  color: #6b7280 !important;
  margin-top: 1rem !important;
}

/* Stat-Kacheln in der Sidebar */
.fsv-verein-stats {
  background: #32373c !important;
  border-radius: 10px !important;
  padding: 1.5rem !important;
}
.fsv-verein-stats-grid { gap: 0.5rem !important; }
.fsv-verein-stat__num {
  color: #81d742 !important;
  font-size: 1.8rem !important;
  line-height: 1 !important;
  margin: 0 0 0.2rem !important;
}
.fsv-verein-stat__label {
  color: rgba(255,255,255,0.55) !important;
  font-size: 0.72rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.07em !important;
  margin: 0 !important;
  font-family: 'Barlow Condensed', sans-serif !important;
}

/* ── UNTERSEITEN-KACHELN ────────────────────────────────────────── */
.fsv-verein-nav {
  background-color: #f7f8f6 !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}
.fsv-verein-nav-grid { gap: 1.5rem !important; }
.fsv-verein-nav-card {
  background: #ffffff !important;
  border-radius: 12px !important;
  padding: 2rem !important;
  height: 100% !important;
  border-top: 4px solid #81d742 !important;
  transition: box-shadow 0.25s, transform 0.25s !important;
  display: flex !important;
  flex-direction: column !important;
}
.fsv-verein-nav-card:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,0.1) !important;
  transform: translateY(-3px) !important;
}
.fsv-verein-nav-icon {
  font-size: 2rem !important;
  margin: 0 0 0.75rem !important;
  line-height: 1 !important;
}
.fsv-verein-nav-title {
  font-size: 1.1rem !important;
  color: #32373c !important;
  margin: 0 0 0.6rem !important;
}
.fsv-verein-nav-desc {
  font-size: 0.87rem !important;
  color: #6b7280 !important;
  line-height: 1.55 !important;
  margin: 0 0 1rem !important;
  flex: 1 !important;
}
.fsv-verein-nav-link {
  margin: 0 !important;
}
.fsv-verein-nav-link a {
  color: #81d742 !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.9rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  text-decoration: none !important;
}
.fsv-verein-nav-link a:hover { color: #5fa826 !important; }

/* ── CHRONIK TIMELINE ───────────────────────────────────────────── */
.fsv-chronik {
  background-color: #ffffff !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}
.fsv-timeline {
  position: relative !important;
  padding-left: 0 !important;
  margin-top: 2.5rem !important;
}
/* Vertikale Linie */
.fsv-timeline::before {
  content: '' !important;
  position: absolute !important;
  left: 88px !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 3px !important;
  background: linear-gradient(to bottom, #81d742, #e2e4e0) !important;
}

/* Ein Timeline-Eintrag */
.fsv-timeline-item {
  display: flex !important;
  gap: 2.5rem !important;
  margin-bottom: 3rem !important;
  position: relative !important;
  align-items: flex-start !important;
}
.fsv-timeline-item:last-child { margin-bottom: 0 !important; }

/* Jahreszahl links */
.fsv-timeline-year {
  flex-shrink: 0 !important;
  width: 80px !important;
  text-align: right !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 900 !important;
  font-size: 1.3rem !important;
  color: #81d742 !important;
  line-height: 1.6 !important;
  margin: 0 !important;
  position: relative !important;
}
/* Punkt auf der Linie */
.fsv-timeline-year::after {
  content: '' !important;
  position: absolute !important;
  right: -18px !important;
  top: 10px !important;
  width: 13px !important;
  height: 13px !important;
  border-radius: 50% !important;
  background: #81d742 !important;
  border: 3px solid #ffffff !important;
  box-shadow: 0 0 0 2px #81d742 !important;
}

/* Inhalt rechts */
.fsv-timeline-content {
  flex: 1 !important;
  background: #f7f8f6 !important;
  border-radius: 10px !important;
  padding: 1.4rem 1.6rem !important;
}
.fsv-timeline-title {
  font-size: 1.1rem !important;
  color: #32373c !important;
  margin: 0 0 0.25rem !important;
}
.fsv-timeline-date {
  font-size: 0.75rem !important;
  color: #81d742 !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  margin: 0 0 0.75rem !important;
}
.fsv-timeline-content p:last-child { margin-bottom: 0 !important; }

/* ── RESPONSIVE ─────────────────────────────────────────────────── */
@media (max-width: 900px) {
  .fsv-verein-about-text,
  .fsv-verein-about-sidebar { flex-basis: 100% !important; }
  .fsv-verein-about-cols { flex-direction: column !important; }
}
@media (max-width: 680px) {
  .fsv-timeline::before { left: 60px !important; }
  .fsv-timeline-year { width: 52px !important; font-size: 1rem !important; }
  .fsv-timeline-year::after { right: -14px !important; }
  .fsv-timeline-item { gap: 1.5rem !important; }
}

/* ==========================================================================
   FSV – GEBÜHREN & SATZUNG Add-on (an fsv-addon-verein.css anhängen)
   ========================================================================== */

/* ── GEBÜHREN: Preiskacheln ─────────────────────────────────────── */
.fsv-gebuehren-page {
  background-color: #ffffff !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}
.fsv-preis-grid {
  gap: 1.2rem !important;
  margin-top: 2rem !important;
  align-items: stretch !important;
}
.fsv-preis-card {
  background: #f7f8f6 !important;
  border-radius: 12px !important;
  padding: 2rem 1.5rem !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  border-top: 4px solid #e2e4e0 !important;
  transition: box-shadow 0.25s, transform 0.25s !important;
  height: 100% !important;
}
.fsv-preis-card:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,0.09) !important;
  transform: translateY(-3px) !important;
}
.fsv-preis-card--highlight {
  background: #32373c !important;
  border-top-color: #81d742 !important;
}
.fsv-preis-card--highlight .fsv-preis-name { color: #ffffff !important; }
.fsv-preis-card--highlight .fsv-preis-zahl { color: #81d742 !important; }
.fsv-preis-card--highlight .fsv-preis-einheit { color: rgba(255,255,255,0.6) !important; }
.fsv-preis-icon {
  font-size: 2rem !important;
  margin: 0 0 0.75rem !important;
  line-height: 1 !important;
}
.fsv-preis-name {
  font-size: 1rem !important;
  color: #32373c !important;
  margin: 0 0 1rem !important;
  text-transform: uppercase !important;
}
.fsv-preis-betrag {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  margin: 0 0 1.5rem !important;
  flex: 1 !important;
}
.fsv-preis-zahl {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 2.8rem !important;
  font-weight: 900 !important;
  color: #81d742 !important;
  line-height: 1 !important;
}
.fsv-preis-einheit {
  font-size: 0.78rem !important;
  color: #6b7280 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  margin-top: 0.3rem !important;
}
.fsv-preis-btn { margin-top: auto !important; width: 100% !important; }
.fsv-preis-btn .wp-block-button__link { width: 100% !important; text-align: center !important; font-size: 0.8rem !important; padding: 0.55rem 1rem !important; }
.fsv-gebuehren-hinweis {
  background: #f7f8f6 !important;
  border-left: 4px solid #81d742 !important;
  border-radius: 0 8px 8px 0 !important;
  padding: 1rem 1.4rem !important;
  margin-top: 2rem !important;
  font-size: 0.88rem !important;
  color: #474e55 !important;
}
.fsv-gebuehren-hinweis a { color: #5fa826 !important; }

/* ── SATZUNG ────────────────────────────────────────────────────── */
.fsv-satzung-page {
  background-color: #ffffff !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}
.fsv-satzung-download {
  display: flex !important;
  align-items: center !important;
  gap: 1.5rem !important;
  flex-wrap: wrap !important;
  background: #f7f8f6 !important;
  border-radius: 8px !important;
  padding: 1rem 1.4rem !important;
  margin: 1.5rem 0 !important;
}
.fsv-satzung-download-text { margin: 0 !important; font-size: 0.92rem !important; color: #32373c !important; }
.fsv-satzung-divider { border-color: #e2e4e0 !important; margin: 1.5rem 0 2rem !important; }
/* Paragraphen-Überschriften */
.fsv-satzung-para {
  font-size: 1.15rem !important;
  color: #32373c !important;
  margin-top: 2.5rem !important;
  margin-bottom: 0.6rem !important;
  padding-bottom: 0.35rem !important;
  border-bottom: 2px solid #81d742 !important;
}
.fsv-satzung-page p {
  font-size: 0.92rem !important;
  line-height: 1.7 !important;
  color: #474e55 !important;
  margin-bottom: 0.6rem !important;
}
/* Fix: fsv-btn-white Schriftfarbe grün — Edge-kompatibel */
.wp-block-button.fsv-btn-white .wp-block-button__link,
.wp-block-button.fsv-btn-white a.wp-block-button__link,
.wp-block-button.fsv-btn-white a.wp-element-button {
  color: #5fa826 !important;
  background-color: #ffffff !important;
}
.wp-block-button.fsv-btn-white .wp-block-button__link:hover,
.wp-block-button.fsv-btn-white a.wp-element-button:hover {
  color: #3d7a18 !important;
  background-color: rgba(255,255,255,0.9) !important;
}
/* ==========================================================================
   FSV – MITGLIED WERDEN Add-on
   Ans Ende des bestehenden CSS im Customizer anhängen!
   ========================================================================== */

/* ── HERO ───────────────────────────────────────────────────────── */
.fsv-mitglied-hero {
  background-color: #ffffff !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}
.fsv-mitglied-hero__text {
  font-size: 1.1rem !important;
  color: #6b7280 !important;
  line-height: 1.7 !important;
  max-width: 1160px !important;
  margin-bottom: 2rem !important;
}

/* ── VORTEILE ───────────────────────────────────────────────────── */
.fsv-mitglied-vorteile {
  background-color: #f7f8f6 !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}
.fsv-vorteil-grid { gap: 1.2rem !important; align-items: stretch !important; }
.fsv-vorteil-card {
  background: #ffffff !important;
  border-radius: 10px !important;
  padding: 1.8rem 1.4rem !important;
  height: 100% !important;
  border-top: 3px solid #81d742 !important;
  transition: box-shadow 0.25s, transform 0.25s !important;
}
.fsv-vorteil-card:hover {
  box-shadow: 0 6px 20px rgba(0,0,0,0.09) !important;
  transform: translateY(-3px) !important;
}
.fsv-vorteil-icon { font-size: 2rem !important; margin: 0 0 0.75rem !important; line-height: 1 !important; }
.fsv-vorteil-title { font-size: 1rem !important; color: #32373c !important; margin: 0 0 0.5rem !important; }
.fsv-vorteil-desc { font-size: 0.87rem !important; color: #6b7280 !important; line-height: 1.55 !important; margin: 0 !important; }

/* ── PROBETRAINING ──────────────────────────────────────────────── */
.fsv-mitglied-probe {
  background-color: #32373c !important;
  padding: 4rem 1.5rem !important;
}
.fsv-mitglied-probe h2,
.fsv-mitglied-probe p { color: rgba(255,255,255,0.85) !important; }
.fsv-mitglied-probe h2 { color: #ffffff !important; }
.fsv-mitglied-probe a { color: #81d742 !important; }
.fsv-mitglied-probe-cols { gap: 4rem !important; }
.fsv-probe-infobox {
  background: rgba(255,255,255,0.08) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  border-radius: 12px !important;
  padding: 2rem !important;
  text-align: center !important;
}
.fsv-probe-infobox__icon { font-size: 2.5rem !important; margin: 0 0 0.75rem !important; line-height: 1 !important; }
.fsv-probe-infobox__title { color: #ffffff !important; font-size: 1.2rem !important; margin: 0 0 0.75rem !important; }
.fsv-probe-infobox__text {
  color: rgba(255,255,255,0.7) !important;
  font-size: 0.92rem !important;
  line-height: 1.8 !important;
  margin: 0 0 1.5rem !important;
}

/* ── BEITRÄGE (kompakt, ohne Download-Button) ───────────────────── */
.fsv-mitglied-beitraege {
  background-color: #ffffff !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}
.fsv-mitglied-beitraege .fsv-preis-card { padding-bottom: 1.5rem !important; }

/* ── 3 SCHRITTE ─────────────────────────────────────────────────── */
.fsv-mitglied-schritte {
  background-color: #f7f8f6 !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}
.fsv-schritte-grid { gap: 1.5rem !important; align-items: stretch !important; }
.fsv-schritt-card {
  background: #ffffff !important;
  border-radius: 12px !important;
  padding: 2rem 1.6rem !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
}
.fsv-schritt-num {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 3.5rem !important;
  font-weight: 900 !important;
  color: #81d742 !important;
  opacity: 0.2 !important;
  line-height: 1 !important;
  margin: 0 0 0.5rem !important;
}
.fsv-schritt-title { font-size: 1.1rem !important; color: #32373c !important; margin: 0 0 0.75rem !important; }
.fsv-schritt-desc { font-size: 0.88rem !important; color: #6b7280 !important; line-height: 1.6 !important; margin: 0 0 1rem !important; flex: 1 !important; }
.fsv-schritt-contact { font-size: 0.85rem !important; color: #6b7280 !important; margin: 0 !important; line-height: 1.8 !important; }
.fsv-schritt-contact a { color: #5fa826 !important; }

/* ── FAQ ────────────────────────────────────────────────────────── */
.fsv-mitglied-faq {
  background-color: #ffffff !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}
.fsv-faq-item {
  border-bottom: 1px solid #e2e4e0 !important;
  padding-bottom: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}
.fsv-faq-item:last-child { border-bottom: none !important; margin-bottom: 0 !important; }
.fsv-faq-q {
  font-size: 1.05rem !important;
  color: #32373c !important;
  margin: 0 0 0.6rem !important;
  cursor: default !important;
}
.fsv-faq-a {
  font-size: 0.92rem !important;
  color: #6b7280 !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}
.fsv-faq-a a { color: #5fa826 !important; }

/* ── RESPONSIVE ─────────────────────────────────────────────────── */
@media (max-width: 900px) {
  .fsv-mitglied-probe-cols { flex-direction: column !important; gap: 2rem !important; }
}
@media (max-width: 768px) {
  .fsv-vorteil-grid,
  .fsv-schritte-grid { flex-direction: column !important; }
}

/* ==========================================================================
   FSV – KONTAKTSEITE Add-on
   Ans Ende des bestehenden CSS im Customizer anhängen!
   ========================================================================== */

/* ── LAYOUT ─────────────────────────────────────────────────────── */
.fsv-kontakt-page {
  background-color: #ffffff !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}
.fsv-kontakt-cols { gap: 3rem !important; align-items: flex-start !important; }
.fsv-kontakt-form-col { flex-basis: 58% !important; }
.fsv-kontakt-info-col { flex-basis: 42% !important; }

/* ── UNTERÜBERSCHRIFTEN ─────────────────────────────────────────── */
.fsv-kontakt-subheading {
  font-size: 1.3rem !important;
  color: #32373c !important;
  margin-top: 0 !important;
  margin-bottom: 1.2rem !important;
  padding-bottom: 0.5rem !important;
  border-bottom: 3px solid #81d742 !important;
}

/* ── FORMULAR-PLATZHALTER ───────────────────────────────────────── */
.fsv-kontakt-form-placeholder {
  background: #f7f8f6 !important;
  border: 2px dashed #81d742 !important;
  border-radius: 10px !important;
  padding: 2.5rem !important;
  text-align: center !important;
  color: #6b7280 !important;
  font-size: 0.92rem !important;
}
.fsv-kontakt-form-hint {
  font-size: 0.82rem !important;
  color: #81d742 !important;
  font-weight: 600 !important;
  margin-bottom: 1rem !important;
  background: #f0fae8 !important;
  padding: 0.5rem 1rem !important;
  border-radius: 4px !important;
  border-left: 3px solid #81d742 !important;
}

/* WPForms Styling anpassen */
.fsv-kontakt-form-col .wpforms-form .wpforms-field-label {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  font-size: 0.82rem !important;
  letter-spacing: 0.06em !important;
  color: #32373c !important;
  margin-bottom: 0.4rem !important;
}
.fsv-kontakt-form-col .wpforms-form input[type="text"],
.fsv-kontakt-form-col .wpforms-form input[type="email"],
.fsv-kontakt-form-col .wpforms-form textarea,
.fsv-kontakt-form-col .wpforms-form select {
  border: 1.5px solid #e2e4e0 !important;
  border-radius: 6px !important;
  padding: 0.7rem 1rem !important;
  font-family: 'Barlow', sans-serif !important;
  font-size: 0.92rem !important;
  width: 100% !important;
  transition: border-color 0.2s !important;
}
.fsv-kontakt-form-col .wpforms-form input:focus,
.fsv-kontakt-form-col .wpforms-form textarea:focus {
  border-color: #81d742 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(129,215,66,0.15) !important;
}
.fsv-kontakt-form-col .wpforms-form textarea {
  min-height: 140px !important;
  resize: vertical !important;
}
.fsv-kontakt-form-col .wpforms-submit-container .wpforms-submit {
  background-color: #81d742 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 4px !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 900 !important;
  font-size: 0.9rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  padding: 0.8rem 2rem !important;
  cursor: pointer !important;
  transition: background-color 0.2s !important;
}
.fsv-kontakt-form-col .wpforms-submit-container .wpforms-submit:hover {
  background-color: #5fa826 !important;
}

/* ── KONTAKT-BOXEN ──────────────────────────────────────────────── */
.fsv-kontakt-box {
  background: #f7f8f6 !important;
  border-radius: 10px !important;
  padding: 1.4rem 1.6rem !important;
  margin-bottom: 1.2rem !important;
}
.fsv-kontakt-box--green {
  background: #32373c !important;
}
.fsv-kontakt-box--green .fsv-kontakt-box-title { color: #ffffff !important; }
.fsv-kontakt-box--green p { color: rgba(255,255,255,0.8) !important; }
.fsv-kontakt-box--green a { color: #81d742 !important; }
.fsv-kontakt-box-title {
  font-size: 0.85rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: #81d742 !important;
  margin: 0 0 0.75rem !important;
  font-weight: 700 !important;
}
.fsv-kontakt-person {
  font-size: 0.95rem !important;
  color: #32373c !important;
  margin: 0 0 0.6rem !important;
  line-height: 1.5 !important;
}
.fsv-kontakt-details {
  font-size: 0.9rem !important;
  color: #474e55 !important;
  line-height: 1.8 !important;
  margin: 0 0 0.6rem !important;
}
.fsv-kontakt-details a { color: #5fa826 !important; text-decoration: none !important; }
.fsv-kontakt-details a:hover { text-decoration: underline !important; }
.fsv-kontakt-hinweis {
  font-size: 0.82rem !important;
  color: #6b7280 !important;
  line-height: 1.55 !important;
  margin: 0 !important;
  padding-top: 0.6rem !important;
  border-top: 1px solid #e2e4e0 !important;
}

/* ── ANFAHRT ────────────────────────────────────────────────────── */
.fsv-kontakt-anfahrt {
  background-color: #f7f8f6 !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}
.fsv-anfahrt-cols { gap: 2.5rem !important; align-items: flex-start !important; }
.fsv-karte-wrap { width: 100% !important; }
.fsv-karte-wrap iframe {
  width: 100% !important;
  border-radius: 10px !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.1) !important;
}
.fsv-anfahrt-info { padding-top: 0.5rem !important; }
.fsv-anfahrt-info p { font-size: 0.92rem !important; color: #474e55 !important; line-height: 1.6 !important; }

/* ── RESPONSIVE ─────────────────────────────────────────────────── */
@media (max-width: 900px) {
  .fsv-kontakt-cols,
  .fsv-anfahrt-cols { flex-direction: column !important; }
  .fsv-kontakt-form-col,
  .fsv-kontakt-info-col { flex-basis: 100% !important; }
}

/* ==========================================================================
   FSV – DYNAMISCHE EVENTS (Query Loop) Add-on
   Ans Ende des bestehenden CSS anhängen!
   ========================================================================== */

/* Query Loop Container */
.fsv-events-query { margin: 0 !important; padding: 0 !important; }

/* Jedes Event-Item im Loop */
.fsv-event-loop-item { display: block !important; }
.fsv-event-loop-item .fsv-event-item {
  display: flex !important;
  align-items: center !important;
  gap: 1.2rem !important;
  padding: 1.1rem 0 !important;
  border-bottom: 1px solid #e2e4e0 !important;
  transition: padding-left 0.2s, border-color 0.2s !important;
  margin: 0 !important;
  cursor: default !important;
}
.fsv-event-loop-item:hover .fsv-event-item {
  padding-left: 6px !important;
  border-color: #81d742 !important;
}

/* Datum-Badge */
.fsv-event-loop-item .fsv-event-date {
  flex-shrink: 0 !important;
  background: #32373c !important;
  border-radius: 8px !important;
  padding: 0.5rem 0.75rem !important;
  text-align: center !important;
  min-width: 56px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  margin: 0 !important;
  line-height: 1 !important;
}
.fsv-event-loop-item .fsv-event-date__day,
.fsv-event-loop-item .fsv-event-date .wp-block-post-date:first-child {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 900 !important;
  font-size: 1.6rem !important;
  color: #ffffff !important;
  display: block !important;
  margin: 0 !important;
}
.fsv-event-loop-item .fsv-event-date__month,
.fsv-event-loop-item .fsv-event-date .wp-block-post-date:last-child {
  font-size: 0.65rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: #81d742 !important;
  font-weight: 700 !important;
  display: block !important;
  margin: 0 !important;
}

/* Event-Titel und Zeit */
.fsv-event-loop-item .fsv-event-info {
  flex: 1 !important;
  padding: 0 !important;
}
.fsv-event-loop-item .fsv-event-title {
  font-size: 1rem !important;
  color: #32373c !important;
  margin: 0 0 0.25rem !important;
}
.fsv-event-loop-item .fsv-event-title a {
  color: #32373c !important;
  text-decoration: none !important;
}
.fsv-event-loop-item .fsv-event-title a:hover { color: #81d742 !important; }
.fsv-event-loop-item .fsv-event-time {
  font-size: 0.8rem !important;
  color: #6b7280 !important;
  margin: 0 !important;
}
.fsv-event-loop-item .fsv-event-time a {
  color: #6b7280 !important;
  text-decoration: none !important;
}

/* Kein Eintrag vorhanden */
.fsv-events-empty {
  color: #6b7280 !important;
  font-style: italic !important;
  font-size: 0.9rem !important;
}

/* ── MOBILE FIXES ───────────────────────────────────────────────── */

/* Fix 1: Beitragsbild auf Mobile zentriert */
@media (max-width: 768px) {
  .single-post .post-thumbnail.alignwide,
  .single-post .post-thumbnail.kadence-thumbnail-position-behind {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    position: relative !important;
    overflow: hidden !important;
    height: auto !important;
    min-height: unset !important;
    padding-bottom: 0 !important;
  }
  .single-post .post-thumbnail-inner {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    inset: auto !important;
  }
  .single-post .post-thumbnail-inner img {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    display: block !important;
  }
  /* Artikel-Abstand zum Bild normalisieren */
  .single-post .content-wrap {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }
}

/* Single-Post Mobile: Padding-Fix + abgerundete Ecken Beitragsbild */
@media (max-width: 768px) {
  .single-post .site-main,
  .single-post #primary {
    padding: 1.5rem 0 !important;
  }

  .single-post .post-thumbnail {
    border-radius: 10px !important;
    overflow: hidden !important;
  }
  .single-post .post-thumbnail-inner img {
    border-radius: 10px !important;
  }
}

/* 3. Veranstaltungsseite: Seitenränder auf Mobile */
@media (max-width: 768px) {
  .fsv-veranstaltungen-page {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
}


/* ── Kursplan Unterseiten (Kinder / Erwachsene) ─────────────────── */
.fsv-kursplan-sub {
  background-color: #ffffff !important;
}
.fsv-kursplan-section {
  background-color: #ffffff !important;
}
.fsv-kursplan-sub-inner {
  max-width: 1160px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 3rem 1.5rem 1.5rem !important;
  width: 100% !important;
}
.fsv-kursplan-section .fsv-kursplan-sub-inner {
  padding-top: 0.5rem !important;
  padding-bottom: 3rem !important;
}
