/*
Theme Name:  SV Waldau 1946
Description: Astra Child Theme – SV Waldau 1946 e.V. | Schwarz & Gelb
Template:    astra
Version:     1.15
Author:      SV Waldau 1946 e.V.
Text Domain: sv-waldau-astra
*/

/* Lokale Schriftarten (DSGVO-konform, kein Google-Server-Aufruf) */
@import url('fonts/fonts.css');

/* ===================================================
   VEREINSFARBEN
   =================================================== */
:root {
    --sv-gelb:    #F5B800;
    --sv-gelb-d:  #D9A200;
    --sv-schwarz: #1A1A1A;
    --sv-grau:    #2B2B2B;
    --sv-weiss:   #FFFFFF;
    --sv-bg:      #F4F4F4;

    /* Astra-Variablen */
    --ast-global-color-0: #F5B800;
    --ast-global-color-1: #D9A200;
    --ast-global-color-2: #1A1A1A;
    --ast-global-color-3: #2B2B2B;
    --ast-global-color-4: #4A4A4A;
    --ast-global-color-5: #FFFFFF;
    --ast-global-color-6: #F4F4F4;
    --ast-global-color-7: #FAFAFA;
    --sv-grau-text: #777777;
}

/* ===================================================
   TYPOGRAFIE
   =================================================== */
body,
p,
.entry-content,
input, textarea, select, button {
    font-family: 'Inter', sans-serif;
}

h1, h2, h3, h4, h5, h6,
.entry-title,
.entry-title a,
.ast-archive-title,
.site-title a,
.ast-site-title a,
.widget-title,
.widgettitle {
    font-family: 'Oswald', sans-serif;
    letter-spacing: 0.3px;
}

/* ===================================================
   HEADER – vollständig schwarz, keine weißen Balken
   =================================================== */

/* Alle Kinder des masthead schwarz */
#masthead,
#masthead > *,
#masthead > * > *,
.ast-primary-header-bar,
.main-header-bar,
.site-primary-header-wrap,
.ast-main-header-wrap,
.ast-builder-grid-row,
.ast-builder-grid-row-container,
.ast-builder-grid-row-container-inner,
.ast-grid-left-section,
.ast-grid-center-section,
.ast-grid-right-section,
.site-header-primary-section-left,
.site-header-primary-section-right,
.site-header-primary-section-center,
.ast-builder-layout-element,
.ast-builder-layout-element-content,
.ast-hf-menu-wrap,
.ast-site-identity,
.ast-site-identity-wrap,
.ast-masthead-custom-menu-items,
.header-main-layout-1 .ast-primary-header-bar,
.header-main-layout-3 .ast-primary-header-bar,
.ast-header-break-point + *,
[data-section="section-hb-primary-header"],
.ast-primary-header,
.ast-header-stacked,
.ast-header-horizontal,
.header-main-layout-2,
.ast-above-header-bar,
.ast-below-header-bar {
    background-color: var(--sv-schwarz) !important;
    background-image: none !important;
    border-color: transparent !important;
}

/* Gelber Unterstrich am masthead */
#masthead,
.ast-primary-header-bar,
.main-header-bar {
    border-bottom: 3px solid var(--sv-gelb) !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.35) !important;
}

/* Trennlinien zwischen Header-Spalten entfernen */
.ast-builder-grid-row-container::before,
.ast-builder-grid-row-container::after,
.ast-grid-left-section::after,
.ast-grid-right-section::before,
.ast-builder-layout-element::before,
.ast-builder-layout-element::after {
    display: none !important;
    border: none !important;
    background: none !important;
}

/* Site-Titel */
.site-title a,
.ast-site-title a {
    color: var(--sv-gelb) !important;
}
.site-description,
.ast-site-description {
    color: rgba(255,255,255,0.6) !important;
}

/* Logo-Größe */
.ast-site-logo-wrap img,
.custom-logo {
    max-height: 62px !important;
    width: auto !important;
}

/* Nav-Wrapper in Header */
.ast-builder-menu-1,
.ast-main-header-bar-alignment,
.main-header-bar-navigation,
.site-navigation {
    width: 100% !important;
}

.main-header-menu,
ul#ast-hf-menu-1,
.ast-nav-menu {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 0 !important;
    justify-content: flex-end !important;
}

/* ===================================================
   NAVIGATION
   =================================================== */
.main-navigation a,
.ast-main-header-bar-alignment .main-navigation a,
#ast-fixed-header .main-navigation a {
    color: #FFFFFF !important;
    font-family: 'Oswald', sans-serif !important;
    font-weight: 500 !important;
    letter-spacing: 0.5px !important;
    font-size: 0.9rem !important;
    text-transform: uppercase !important;
}

.main-navigation a:hover,
.main-navigation li.current-menu-item > a,
.main-navigation li.current_page_item > a {
    color: var(--sv-gelb) !important;
}

.main-navigation .sub-menu {
    background: var(--sv-schwarz) !important;
    border-top: 2px solid var(--sv-gelb) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.3) !important;
}
.main-navigation .sub-menu a {
    color: #FFFFFF !important;
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}
.main-navigation .sub-menu a:hover {
    color: var(--sv-gelb) !important;
    background: rgba(245,184,0,0.1) !important;
}

/* Hamburger Mobil */
.ast-mobile-menu-trigger .ast-icon,
button.menu-toggle {
    color: #FFFFFF !important;
}

/* ===================================================
   GLOBALER FARBBALKEN OBEN (Akzentlinie)
   =================================================== */
body::before {
    content: '';
    display: block;
    height: 4px;
    background: linear-gradient(90deg,
        var(--sv-schwarz) 0%,   var(--sv-schwarz) 50%,
        var(--sv-gelb)    50%,  var(--sv-gelb)    100%
    );
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;
}
#masthead { margin-top: 4px; }

/* ===================================================
   SEITENHINTERGRUND
   =================================================== */
body,
.site-content,
#primary,
#content,
.content-area {
    background-color: var(--sv-bg) !important;
}

.entry-content,
.wp-block-post-content,
article.page,
article.post {
    background-color: transparent !important;
}

/* Inhaltsbereiche auf weißem Hintergrund */
.ast-article-post,
.page-content,
.single-post .site-main article {
    background-color: #FFFFFF !important;
    border-radius: 6px;
    overflow: hidden;
}

/* ===================================================
   LINKS & AKZENTFARBEN
   =================================================== */
a { color: var(--sv-gelb); }
a:hover { color: var(--sv-gelb-d); }

.entry-title a { color: var(--sv-schwarz) !important; }
.entry-title a:hover { color: var(--sv-gelb) !important; }

/* ===================================================
   BUTTONS
   =================================================== */
.ast-button,
.wp-block-button__link,
button[type="submit"],
input[type="submit"] {
    background-color: var(--sv-gelb) !important;
    color: var(--sv-schwarz) !important;
    border-color: var(--sv-gelb) !important;
    font-family: 'Oswald', sans-serif !important;
    font-weight: 600 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    border-radius: 3px !important;
    transition: all 0.2s !important;
}
.ast-button:hover,
.wp-block-button__link:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
    background-color: var(--sv-schwarz) !important;
    color: var(--sv-gelb) !important;
    border-color: var(--sv-schwarz) !important;
}

/* ===================================================
   HERO-BEREICH (Startseite) – volles Breite, kein Kasten
   =================================================== */
.sv-hero {
    background: var(--sv-schwarz) !important;
    background-image:
        linear-gradient(135deg, rgba(245,184,0,0.06) 0%, transparent 60%),
        linear-gradient(to bottom, #1A1A1A 0%, #222222 100%) !important;
    border-radius: 0 !important;
    /* Volle Breite – gleiche Technik wie Astra's .alignfull */
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    margin-top: -32px !important;
    margin-bottom: 0 !important;
    position: static !important;
    left: auto !important;
    transform: none !important;
    padding: 90px 5vw 80px !important;
    border-bottom: 5px solid var(--sv-gelb) !important;
    box-shadow: none !important;
    text-align: center !important;
}

.sv-hero h1 {
    color: var(--sv-gelb) !important;
    font-size: clamp(2rem, 4.5vw, 3.2rem) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    line-height: 1.15 !important;
    margin-bottom: 20px !important;
}

.sv-hero p {
    color: rgba(255,255,255,0.85) !important;
    font-size: 1.1rem !important;
    line-height: 1.7 !important;
    margin-bottom: 36px !important;
    max-width: 560px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.sv-hero .wp-block-buttons {
    justify-content: center !important;
    gap: 16px !important;
}

.sv-hero .wp-block-button__link {
    padding: 14px 36px !important;
    font-size: 1rem !important;
}

.sv-hero .is-style-outline .wp-block-button__link {
    background-color: transparent !important;
    color: var(--sv-gelb) !important;
    border: 2px solid var(--sv-gelb) !important;
}
.sv-hero .is-style-outline .wp-block-button__link:hover {
    background-color: var(--sv-gelb) !important;
    color: var(--sv-schwarz) !important;
}

/* Abstand nach dem Hero */
.sv-hero + * {
    margin-top: 56px !important;
}

/* ===================================================
   SECTION-HEADING (h2 zentriert auf Startseite)
   =================================================== */
.entry-content h2.wp-block-heading {
    font-size: 1.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    text-align: center;
    position: relative;
    padding-bottom: 16px;
    margin-bottom: 32px;
    color: var(--sv-schwarz);
}

.entry-content h2.wp-block-heading::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 50px;
    height: 4px;
    background: var(--sv-gelb);
    border-radius: 2px;
}

/* ===================================================
   NEWS-KARTEN (Latest Posts Block)
   =================================================== */
.wp-block-latest-posts,
.entry-content .wp-block-latest-posts {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 24px !important;
    padding: 0 !important;
    list-style: none !important;
    max-width: 860px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.wp-block-latest-posts li {
    background: #FFFFFF !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 0 !important;
    list-style: none !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    transition: transform 0.2s, box-shadow 0.2s !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.07) !important;
}
.wp-block-latest-posts li:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.12) !important;
}

/* Beitragsbild */
.wp-block-latest-posts__featured-image,
.wp-block-latest-posts__featured-image.alignleft,
.wp-block-latest-posts__featured-image.alignright,
.wp-block-latest-posts__featured-image.aligncenter {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    display: block !important;
}
.wp-block-latest-posts__featured-image a {
    display: block !important;
    width: 100% !important;
    overflow: hidden !important;
}
.wp-block-latest-posts__featured-image img {
    width: 100% !important;
    height: 200px !important;
    object-fit: cover !important;
    border-radius: 0 !important;
    display: block !important;
    float: none !important;
    margin: 0 !important;
    transition: transform 0.4s !important;
}
.wp-block-latest-posts li:hover .wp-block-latest-posts__featured-image img {
    transform: scale(1.05) !important;
}

/* Text-Bereich */
.wp-block-latest-posts li > a,
.wp-block-latest-posts li > .wp-block-latest-posts__post-date,
.wp-block-latest-posts li > .wp-block-latest-posts__post-excerpt {
    padding-left: 20px !important;
    padding-right: 20px !important;
    display: block !important;
    float: none !important;
}

.wp-block-latest-posts li > a.wp-block-latest-posts__post-title {
    padding-top: 16px !important;
    border-top: 4px solid var(--sv-gelb) !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 1.05rem !important;
    font-weight: 600 !important;
    color: var(--sv-schwarz) !important;
    text-decoration: none !important;
    line-height: 1.35 !important;
    margin-bottom: 6px !important;
}
.wp-block-latest-posts li > a.wp-block-latest-posts__post-title:hover {
    color: var(--sv-gelb) !important;
}

.wp-block-latest-posts li > .wp-block-latest-posts__post-excerpt {
    padding-bottom: 20px !important;
}

.wp-block-latest-posts__post-date {
    color: #999 !important;
    font-size: 0.72rem !important;
    font-family: 'Inter', sans-serif !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    display: block !important;
    margin-bottom: 6px !important;
    padding-top: 2px !important;
}

.wp-block-latest-posts__post-excerpt {
    color: #555 !important;
    font-size: 0.875rem !important;
    line-height: 1.6 !important;
}

/* ===================================================
   "ALLE BEITRÄGE" BUTTON
   =================================================== */
.sv-alle-beitraege {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: 28px !important;
    padding: 12px 32px !important;
    background: transparent !important;
    border: 2px solid var(--sv-schwarz) !important;
    border-radius: 3px !important;
    color: var(--sv-schwarz) !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    transition: all 0.2s !important;
}
.sv-alle-beitraege:hover {
    background: var(--sv-schwarz) !important;
    color: var(--sv-gelb) !important;
}

/* ===================================================
   INFO-SPALTEN (Startseite)
   =================================================== */

/* Letzter Block auf Seite bekommt Abstand nach unten */
.entry-content > .wp-block-columns:last-child,
.entry-content > .wp-block-group:last-child,
.entry-content > *:last-child {
    margin-bottom: 56px !important;
}

.wp-block-columns,
.wp-block-columns.is-layout-flex {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 20px !important;
    margin-top: 48px !important;
    align-items: stretch !important;
}

.wp-block-column {
    background-color: #FFFFFF !important;
    border-radius: 6px !important;
    padding: 32px 28px !important;
    border-top: 4px solid var(--sv-gelb) !important;
    flex: 1 1 0% !important;
    min-width: 0 !important;
    transition: box-shadow 0.2s, transform 0.2s !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
}
.wp-block-column:hover {
    box-shadow: 0 6px 24px rgba(0,0,0,0.10) !important;
    transform: translateY(-2px) !important;
}

.wp-block-column .sv-icon {
    font-size: 2rem;
    display: block;
    margin-bottom: 12px;
    line-height: 1;
}

.wp-block-column h3 {
    color: var(--sv-schwarz) !important;
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin-bottom: 10px !important;
}

.wp-block-column p {
    color: #666 !important;
    font-size: 0.9rem !important;
    line-height: 1.65 !important;
    margin: 0 !important;
}

/* Klickbare "Der Verein"-Karten */
.sv-fact-link {
    display: block !important;
    color: inherit !important;
    text-decoration: none !important;
}
.sv-fact-arrow {
    display: inline-block !important;
    margin-top: 14px !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    color: var(--sv-gelb) !important;
    transition: transform 0.2s !important;
}
.wp-block-column:hover .sv-fact-arrow {
    transform: translateX(4px) !important;
}

/* Buttons in Spalten */
.wp-block-buttons,
.wp-block-buttons.is-layout-flex {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    align-items: center !important;
}

/* ===================================================
   JUBILÄUM 80 JAHRE
   =================================================== */

/* Hero-Slogan */
.sv-hero-slogan {
    font-family: 'Oswald', sans-serif !important;
    font-size: clamp(1.4rem, 3vw, 2rem) !important;
    font-weight: 700 !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    color: var(--sv-gelb) !important;
    margin-bottom: 8px !important;
}

/* Badge im Hero */
.sv-jubilee-badge {
    display: inline-block !important;
    background: var(--sv-gelb) !important;
    color: var(--sv-schwarz) !important;
    padding: 6px 20px !important;
    border-radius: 30px !important;
    font-family: 'Oswald', sans-serif !important;
    font-weight: 700 !important;
    font-size: 0.9rem !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    margin-bottom: 24px !important;
    width: auto !important;
}
.sv-jubilee-badge p {
    color: var(--sv-schwarz) !important;
    margin: 0 !important;
    font-size: 0.9rem !important;
    font-weight: 700 !important;
}

/* Jubiläums-Banner unter dem Hero */
.sv-jubilee-banner {
    background: var(--sv-gelb) !important;
    padding: 40px 5vw !important;
    margin: 0 !important;
}
.sv-jubilee-banner h2 {
    color: var(--sv-schwarz) !important;
    font-size: clamp(1.3rem, 2.2vw, 1.8rem) !important;
    margin-bottom: 12px !important;
    white-space: nowrap !important;
}
.sv-jubilee-banner p {
    color: var(--sv-schwarz) !important;
    font-size: 1rem !important;
    opacity: 0.8 !important;
    margin: 0 !important;
}
.sv-jubilee-banner .wp-block-columns {
    margin-top: 0 !important;
}
.sv-jubilee-banner .wp-block-column {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* Nächstes Spiel (1. Mannschaft) */
.sv-nextmatch {
    padding: 48px 5vw !important;
    margin: 0 !important;
    text-align: center !important;
}
.sv-nextmatch-box {
    max-width: 640px !important;
    margin: 0 auto !important;
    background: #FFFFFF !important;
    border-radius: 6px !important;
    border-top: 4px solid var(--sv-gelb) !important;
    overflow: hidden !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
    padding: 8px !important;
}
.sv-nextmatch-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: 20px !important;
    padding: 12px 32px !important;
    background: var(--sv-schwarz) !important;
    color: var(--sv-gelb) !important;
    font-family: 'Oswald', sans-serif !important;
    font-weight: 600 !important;
    font-size: 0.9rem !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    border-radius: 3px !important;
    transition: all 0.2s !important;
}
.sv-nextmatch-link:hover {
    background: var(--sv-gelb) !important;
    color: var(--sv-schwarz) !important;
}

/* Instagram-Feed: vorerst ausblenden, bis Account verbunden ist */
.sv-instagram {
    display: none !important;
}

/* Jubiläumsfest-Banner (Save the Date) */
.sv-fest-banner {
    background: var(--sv-schwarz) !important;
    padding: 48px 5vw !important;
    margin: 0 !important;
    text-align: center !important;
}
.sv-fest-badge {
    display: inline-block !important;
    background: var(--sv-gelb) !important;
    color: var(--sv-schwarz) !important;
    padding: 6px 20px !important;
    border-radius: 30px !important;
    font-family: 'Oswald', sans-serif !important;
    font-weight: 700 !important;
    font-size: 0.8rem !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    margin-bottom: 18px !important;
}
.sv-fest-banner h2 {
    color: var(--sv-gelb) !important;
    font-size: clamp(1.6rem, 4vw, 2.6rem) !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin: 0 0 8px !important;
}
.sv-fest-date {
    font-family: 'Oswald', sans-serif !important;
    font-size: clamp(1.4rem, 3vw, 2rem) !important;
    font-weight: 700 !important;
    color: #FFFFFF !important;
    margin: 0 0 14px !important;
}
.sv-fest-banner p {
    color: rgba(255,255,255,0.7) !important;
    font-size: 1rem !important;
    line-height: 1.6 !important;
    max-width: 600px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Zahlen im Jubiläums-Banner */
.sv-jubilee-year {
    font-family: 'Oswald', sans-serif !important;
    font-size: 2.8rem !important;
    font-weight: 700 !important;
    color: var(--sv-schwarz) !important;
    margin: 0 !important;
    line-height: 1 !important;
}
.sv-jubilee-label {
    font-size: 0.75rem !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    color: rgba(0,0,0,0.6) !important;
    margin: 4px 0 0 !important;
}

/* ===================================================
   TEAM-CARDS (Homepage + Mannschaftsseiten)
   =================================================== */
.sv-facts .wp-block-column,
.sv-team-card {
    text-align: center !important;
}

.sv-team-card h3 {
    font-size: 1.3rem !important;
    margin-bottom: 12px !important;
}

.sv-team-card p {
    margin-bottom: 6px !important;
}

/* Mannschaftsseite Hero-Untertitel */
.sv-hero-team h1 {
    font-size: clamp(2.2rem, 5vw, 3.8rem) !important;
}

.sv-hero-team p {
    font-size: 0.9rem !important;
    opacity: 0.7 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    max-width: 700px !important;
}

/* BFV-Widget-Container */
.wp-block-column #bfv_1mann,
.wp-block-column [id^="bfv"] {
    width: 100% !important;
}

/* FuPa Spielplan-Karte (ersetzt kaputtes BFV-Widget) */
.sv-fupa-spielplan-card {
    background: #FFFFFF;
    border-radius: 6px;
    border-top: 4px solid var(--sv-gelb);
    padding: 32px 28px;
    text-align: center;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.sv-fupa-spielplan-icon {
    font-size: 2.5rem;
    margin-bottom: 16px;
    line-height: 1;
}
.sv-fupa-spielplan-text {
    color: #555;
    font-size: 0.95rem;
    line-height: 1.6;
    margin-bottom: 20px;
}
.sv-fupa-spielplan-btn {
    display: inline-block;
    padding: 12px 28px;
    background: var(--sv-gelb);
    color: var(--sv-schwarz) !important;
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    font-size: 0.95rem;
    letter-spacing: 1px;
    text-transform: uppercase;
    text-decoration: none !important;
    border-radius: 3px;
    transition: background 0.2s, color 0.2s;
}
.sv-fupa-spielplan-btn:hover {
    background: var(--sv-schwarz);
    color: var(--sv-gelb) !important;
}

/* Mannschafts-Info-Boxen */
.sv-infobox,
.sv-fupa-box,
.sv-links-box {
    background: #FFFFFF !important;
    border-radius: 6px !important;
    padding: 24px !important;
    margin-bottom: 20px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.07) !important;
    border-top: 4px solid var(--sv-gelb) !important;
}

.sv-infobox h3,
.sv-fupa-box h3,
.sv-links-box h3 {
    font-size: 1rem !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin-bottom: 14px !important;
    padding-bottom: 10px !important;
    border-bottom: 2px solid #F0F0F0 !important;
}

/* Info-Tabelle ohne Zebra-Streifen */
.sv-info-table table {
    width: 100% !important;
    font-size: 0.875rem !important;
}
.sv-info-table td {
    padding: 6px 4px !important;
    border-bottom: 1px solid #F4F4F4 !important;
    vertical-align: top !important;
}
.sv-info-table td:first-child {
    width: 45% !important;
    color: #888 !important;
}
.sv-info-table tr:nth-child(even) td {
    background: transparent !important;
}

/* FuPa-Box Button */
.sv-fupa-box .wp-block-button__link {
    width: 100% !important;
    text-align: center !important;
    background: var(--sv-gelb) !important;
    border-color: var(--sv-gelb) !important;
    color: var(--sv-schwarz) !important;
    font-size: 0.9rem !important;
}
.sv-fupa-box .wp-block-button__link:hover {
    background: var(--sv-schwarz) !important;
    border-color: var(--sv-schwarz) !important;
    color: var(--sv-gelb) !important;
}

/* Team-Layout: Spalten oben ausrichten, nicht strecken */
.sv-team-layout.wp-block-columns {
    align-items: flex-start !important;
}

@media (max-width: 768px) {
    .sv-team-layout {
        flex-direction: column !important;
    }
    .sv-team-layout .wp-block-column {
        flex-basis: 100% !important;
    }
}

/* ===================================================
   SEITEN-TITELBALKEN (entry-header) – ausblenden auf Seiten,
   da der Hero-Block den Titel bereits enthält
   =================================================== */
article.page .entry-header,
article.page .page-header {
    display: none !important;
}

/* ===================================================
   SEPARATOREN
   =================================================== */
.wp-block-separator {
    border-color: #E0E0E0 !important;
    opacity: 1 !important;
    margin: 40px auto !important;
    max-width: 80px !important;
    border-width: 3px !important;
    border-style: solid !important;
    border-color: var(--sv-gelb) !important;
}

/* ===================================================
   BEITRAGSSEITE (single post / archive)
   =================================================== */
.ast-article-post .entry-title a {
    color: var(--sv-schwarz);
}
.ast-article-post .entry-title a:hover {
    color: var(--sv-gelb);
}
.ast-article-post {
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
    transition: box-shadow 0.2s, transform 0.2s;
    background: #FFFFFF !important;
}
.ast-article-post:hover {
    box-shadow: 0 6px 24px rgba(0,0,0,0.11);
    transform: translateY(-2px);
}

.cat-links a,
.entry-meta a {
    color: var(--sv-gelb) !important;
    font-weight: 600;
}

/* ===================================================
   WIDGET-ÜBERSCHRIFTEN
   =================================================== */
.widget-title,
.widgettitle {
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding-bottom: 10px;
    border-bottom: 3px solid var(--sv-gelb);
    margin-bottom: 16px;
}

/* ===================================================
   TABELLEN
   =================================================== */
table th {
    background-color: var(--sv-schwarz) !important;
    color: var(--sv-gelb) !important;
    font-family: 'Oswald', sans-serif !important;
    font-weight: 600;
    letter-spacing: 0.5px;
    padding: 12px 14px;
}
table td {
    padding: 9px 14px;
    border-bottom: 1px solid #EEEEEE;
}
table tr:nth-child(even) td { background-color: #F9F6E8; }
table tr:hover td { background-color: #FFF9E0; }
.wp-block-table th {
    background-color: var(--sv-schwarz) !important;
    color: var(--sv-gelb) !important;
}

/* ===================================================
   ÜBERSCHRIFTEN global
   =================================================== */
h1, h2, h3, h4 { color: var(--sv-schwarz); }

/* ===================================================
   SOCIAL MEDIA BAR (im Footer)
   =================================================== */
.sv-social-bar {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 16px 20px !important;
    background-color: var(--sv-schwarz) !important;
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}
.sv-social-group {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 14px !important;
}
.sv-social-label {
    font-family: 'Oswald', sans-serif !important;
    font-size: 0.65rem !important;
    font-weight: 600 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    color: rgba(255,255,255,0.35) !important;
    margin-right: 2px !important;
}
.sv-social-bar a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: rgba(255,255,255,0.55) !important;
    transition: color 0.2s, transform 0.2s !important;
    text-decoration: none !important;
}
.sv-social-bar a:hover {
    color: var(--sv-gelb) !important;
    transform: translateY(-2px) !important;
    text-decoration: none !important;
}
.sv-social-bar svg {
    width: 24px !important;
    height: 24px !important;
    fill: currentColor !important;
    display: block !important;
}
.sv-legal-links {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 10px 20px 16px !important;
    background-color: var(--sv-schwarz) !important;
    font-size: 0.78rem !important;
}
.sv-legal-links a {
    color: rgba(255,255,255,0.55) !important;
    text-decoration: none !important;
    transition: color 0.2s !important;
}
.sv-legal-links a:hover {
    color: var(--sv-gelb) !important;
}
.sv-legal-sep {
    color: rgba(255,255,255,0.3) !important;
}

/* ===================================================
   FOOTER
   =================================================== */
#colophon,
.site-footer,
.ast-small-footer,
footer.site-footer {
    background-color: var(--sv-schwarz) !important;
    color: #BBBBBB !important;
    border-top: 4px solid var(--sv-gelb) !important;
}

#colophon a,
.site-footer a,
.ast-small-footer a {
    color: var(--sv-gelb) !important;
}
#colophon a:hover,
.site-footer a:hover {
    color: #FFFFFF !important;
    text-decoration: underline;
}

.ast-small-footer-section {
    color: #888888;
    font-size: 0.85rem;
}

/* Copyright-Zeile kleiner & dezenter (inkl. "Astra-WordPress-Theme"-Link) */
.ast-footer-copyright,
.ast-footer-copyright p,
.ast-footer-copyright * {
    font-size: 0.75rem !important;
    font-weight: 400 !important;
    color: rgba(255,255,255,0.35) !important;
}
.ast-footer-copyright a:hover {
    color: var(--sv-gelb) !important;
}

#colophon .widget-title,
.site-footer .widget-title {
    color: var(--sv-gelb) !important;
    border-bottom-color: rgba(245,184,0,0.4) !important;
}

/* ===================================================
   MOBILE
   =================================================== */
@media (max-width: 921px) {
    #masthead,
    .ast-primary-header-bar,
    .ast-mobile-header-wrap,
    .ast-mobile-header,
    .ast-header-break-point .ast-primary-header-bar {
        background-color: var(--sv-schwarz) !important;
    }
    .ast-site-logo-wrap img { max-height: 48px !important; }

    /* Mobile Menü: flex-Override aufheben damit Astra-Dropdown funktioniert */
    .ast-header-break-point .main-header-menu,
    .ast-header-break-point ul#ast-hf-menu-1,
    .ast-header-break-point .ast-nav-menu {
        display: block !important;
        flex-wrap: unset !important;
        justify-content: unset !important;
        width: 100% !important;
    }
    .ast-header-break-point .main-header-menu > li,
    .ast-header-break-point .ast-nav-menu > li {
        display: block !important;
        width: 100% !important;
    }
    .ast-header-break-point .main-header-menu a,
    .ast-header-break-point .ast-nav-menu a {
        display: block !important;
        padding: 12px 20px !important;
        color: #FFFFFF !important;
        border-bottom: 1px solid rgba(255,255,255,0.1) !important;
        font-size: 1rem !important;
    }
    .ast-header-break-point .main-header-menu a:hover {
        color: var(--sv-gelb) !important;
    }

    /* Popup/Drawer Mobil */
    #ast-mobile-popup,
    .ast-mobile-popup-drawer,
    .ast-mobile-popup-drawer .ast-mobile-popup-inner {
        background-color: var(--sv-schwarz) !important;
    }
    #ast-mobile-popup a { color: #FFFFFF !important; }
    #ast-mobile-popup a:hover { color: var(--sv-gelb) !important; }

    /* Hero mobil */
    .sv-hero {
        padding: 60px 6vw 52px !important;
        margin-top: -20px !important;
    }
    .sv-hero h1 { font-size: 1.9rem !important; }
    .sv-hero p  { font-size: 1rem !important; }

    .wp-block-latest-posts,
    .entry-content .wp-block-latest-posts {
        grid-template-columns: 1fr !important;
    }

    .wp-block-columns,
    .wp-block-columns.is-layout-flex {
        flex-wrap: wrap !important;
        flex-direction: column !important;
    }
    .wp-block-column,
    .wp-block-column.is-layout-flow {
        flex: 1 1 100% !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}

@media (max-width: 600px) {
    .wp-block-latest-posts,
    .entry-content .wp-block-latest-posts {
        grid-template-columns: 1fr !important;
        max-width: 100% !important;
    }
    .sv-hero h1 { font-size: 1.6rem !important; }
}

/* ===================================================
   DARTS-PORTAL (Spikern)
   =================================================== */
.sv-darts-portal { border: 2px solid var(--sv-schwarz); }
.sv-darts-tabs {
    display: flex;
    gap: 0;
    background: var(--sv-schwarz);
}
.sv-darts-tab {
    flex: 1;
    padding: 10px 0;
    font-family: 'Oswald', sans-serif;
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    border: none;
    background: transparent;
    color: rgba(255,255,255,0.55);
    cursor: pointer;
    transition: color 0.15s, background 0.15s;
}
.sv-darts-tab:hover { color: #fff; }
.sv-darts-tab--active {
    background: var(--sv-gelb);
    color: var(--sv-schwarz) !important;
}

/* ===================================================
   SAISON-ARCHIV
   =================================================== */
.sv-archiv {
    max-width: 560px;
    margin: 0 auto;
}
.sv-archiv-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 9px 0;
    border-bottom: 1px solid #e0e0e0;
}
.sv-archiv-row:first-child {
    border-top: 3px solid var(--sv-gelb);
    padding-top: 12px;
}
.sv-archiv-saison {
    font-family: 'Oswald', sans-serif;
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.5px;
    color: var(--sv-schwarz);
}
.sv-archiv-links {
    display: flex;
    gap: 8px;
}
.sv-archiv-btn {
    display: inline-block;
    padding: 3px 13px;
    font-size: 0.75rem;
    font-weight: 600;
    font-family: 'Oswald', sans-serif;
    letter-spacing: 1px;
    text-transform: uppercase;
    text-decoration: none !important;
    border: 2px solid var(--sv-schwarz);
    color: var(--sv-schwarz) !important;
    transition: background 0.15s, border-color 0.15s;
    white-space: nowrap;
}
.sv-archiv-btn:hover {
    background: var(--sv-gelb) !important;
    border-color: var(--sv-gelb) !important;
}
.sv-archiv-btn--leer {
    border-color: #ccc !important;
    color: #ccc !important;
    pointer-events: none;
}
@media (max-width: 540px) {
    .sv-archiv-saison { font-size: 0.85rem; }
    .sv-archiv-btn    { padding: 3px 9px; font-size: 0.7rem; }
}


/* Schiedsrichter-Karten: CSS wird per wp_head auf Seite 1875 ausgegeben (functions.php) */
