:root {
    /* —— Brand (existing WBV red) —— */
    --color-brand: var(--wp--preset--color--custom-wbv-rot, #d9231e);
    --color-brand-hover: #c51f1b;
    --color-brand-active: #b91c18;
    --color-brand-subtle: #fdf1f0;

    /* —— Text —— */
    --color-text-primary: var(--wp--preset--color--custom-wbv-anthrazit, #202020);
    --color-text-secondary: #5f5f5f;
    --color-text-muted: #7a7a7a;
    --color-text-inverse: #ffffff;

    /* —— Surfaces —— */
    --color-surface: #ffffff;
    --color-surface-subtle: #f4f4f4;
    --color-surface-muted: #f4f4f4;
    --wp--preset--color--accent-5: #f4f4f4;

    /* —— Borders —— */
    --color-border: #e3e3e3;
    --color-border-strong: #cacaca;

    /* —— States —— */
    --color-focus: var(--color-brand);
    --color-error: #b42318;
    --color-success: #18794e;

    /* —— Spacing scale —— */
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-5: 24px;
    --space-6: 32px;
    --space-7: 48px;
    --space-8: 64px;
    --space-9: 96px;
    --space-10: 128px;
    /* Named aliases */
    --space-xs: var(--space-2);
    --space-sm: var(--space-4);
    --space-md: var(--space-5);
    --space-lg: var(--space-6);
    --space-xl: var(--space-7);
    --space-2xl: var(--space-8);

    /* —— Radius (round-forward; use tokens site-wide) —— */
    --radius-sm: 10px;   /* tags, chips, small controls */
    --radius-md: 16px;   /* cards, list rows, panels, images */
    --radius-lg: 24px;   /* large surfaces, map frames */
    --radius-pill: 999px; /* search, buttons, toggles */

    /* —— Shadows —— */
    --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.06);
    --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.1);

    /* —— Layout —— */
    --container-max: 1360px;
    --mobile-gutter: var(--space-4, 16px);
    --page-gutter: var(--container-padding, 56px);
    --container-padding: 56px;
    --section-space: var(--space-9);
    --section-space-compact: var(--space-8);
    --section-gap-large: var(--space-9);
    --section-gap-medium: var(--space-7);
    --content-gap: var(--space-5);
    --text-max-width: 40rem;
    --image-radius: var(--radius-md);
    --border-color: var(--color-border);
    --surface-neutral: var(--color-surface-muted);
    --surface-warm: var(--color-surface-subtle);
    --grid-gap: var(--space-6);
    /* Shared header + homepage hero rail (widens on large screens) */
    --wbv-wide-rail: min(
        calc(100% - var(--wbv-page-gap)),
        var(--wbv-max-width, 1360px)
    );

    /* —— Motion —— */
    --transition-fast: 150ms ease;
    --transition-base: 220ms ease;

    /* —— Typography (fixed scale — desktop defaults, mobile in @media) ——
       Use these tokens only; avoid one-off rem/px/clamp sizes.
       Display  H1  H2  H3  H4  Body-lg  Body  Small  Meta  Button
       48→32   40→28 32→24 24→20 20→18  18→17   16    14     12    16→15
    */
    --font-sans: Manrope, sans-serif;

    --weight-regular: 400;
    --weight-medium: 500;
    --weight-semibold: 600;
    --weight-bold: 700;

    --leading-display: 1.08;
    --leading-heading: 1.15;
    --leading-title: 1.25;
    --leading-body: 1.55;
    --leading-small: 1.45;
    --leading-meta: 1.4;
    --leading-ui: 1.2;

    --tracking-display: -0.008em;
    --tracking-heading: -0.005em;
    --tracking-title: 0.01em;
    --tracking-meta: 0.02em;

    /* Headings — compact federation scale (afternoon baseline) */
    --text-display: clamp(2rem, 1.7rem + 1vw, 2.5rem); /* ~32–40 */
    --text-h1: clamp(2rem, 1.7rem + 1vw, 2.5rem);      /* ~32–40 page titles */
    --text-h2: 1.75rem; /* 28 — section titles (Organisation typescale) */
    --text-h3: 1.25rem;         /* 20 */
    --text-h4: 1.125rem;        /* 18 — cards / group titles */

    /* Body & UI */
    --text-body-lg: 1.0625rem;  /* 17 — leads */
    --text-body: 1rem;          /* 16 */
    --text-small: 0.875rem;     /* 14 */
    --text-meta: 0.8125rem;     /* 13 — dates, tags, captions */

    /* Buttons & text links */
    --text-button: 1rem;        /* 16 */
    --text-button-sm: 0.875rem; /* 14 */
    --text-link: 0.9375rem;     /* 15 — text CTAs / “Mehr erfahren” */

    /* Legacy leading aliases */
    --leading-tight: var(--leading-display);
    --leading-snug: var(--leading-title);

    /* Component aliases → scale (no freestyle sizes) */
    --wbv-reel-title-size: var(--text-h4);
    --wbv-reel-title-lh: var(--leading-title);
    --wbv-reel-excerpt-size: var(--text-small);
    --wbv-reel-excerpt-lh: var(--leading-small);
    --wbv-reel-meta-size: var(--text-meta);
    --wbv-reel-meta-secondary: var(--text-meta);
    --wbv-reel-cta-size: var(--text-link);

    /* —— Legacy layout aliases —— */
    --wbv-max-width: var(--container-max);
    --wbv-page-gap: calc(var(--container-padding) * 2);
    --wbv-header-pad-x: var(--container-padding);
    --wbv-header-height: 72px;
    --wbv-header-height-mobile: 60px;

    /* —— Vertical rhythm (site-wide) ——
       Section bands use padding-top only between siblings so the
       visual gap title←→previous content stays one token, not a sum.
    */
    --wbv-section-y: var(--space-8);          /* 64 — default band / post-hero gap */
    --wbv-section-y-sm: var(--space-7);       /* 48 — compact / mobile */
    --wbv-section-header-gap: var(--space-5); /* 24 — section title → content */
    --wbv-section-gap: var(--wbv-section-y);  /* in-page section stack */
    --wbv-section-gap-sm: var(--wbv-section-y-sm);

    /* Hub image strip (4 hubs only) + page intro / shell */
    --wbv-fed-strip-h: clamp(150px, 12vw, 180px);
    --wbv-fed-strip-h-sm: clamp(120px, 28vw, 150px);
    --wbv-fed-gap-after: var(--space-7, 48px);
    --wbv-fed-intro-gap: var(--wbv-fed-gap-after, 48px);
    /* Content ↔ footer / banner ↔ content: same 48px shell (match Dokumente) */
    --wbv-page-end: var(--wbv-fed-gap-after, 48px);
    --wbv-page-intro-top: var(--wbv-fed-gap-after, 48px);
    --wbv-page-intro-bottom: var(--wbv-fed-gap-after, 48px);
    /* Hero sheet curve + gap into first content (curve already softens the edge) */
    --wbv-hero-curve: clamp(22px, 2.5vw, 32px);
    --wbv-hero-gap-after: var(--space-4, 16px);
    --wbv-post-hero-pad-diagonal: var(--wbv-section-y);
    --wbv-post-hero-pad-overlay: var(--wbv-hero-gap-after);  /* hero sheet → content */
    --wbv-post-hero-pad-quiet: var(--wbv-hero-gap-after);
    --wbv-post-hero-pad-media: var(--wbv-section-y);


    --header-sticky-height: var(--wbv-header-height);
    --wbv-nav-gap: 32px;
    --wbv-nav-bp: 1100px;
    --wbv-nav-logo-gap: 40px;
    --wbv-red: var(--color-brand);
    --wbv-ink: var(--color-text-primary);
    --wbv-muted: var(--color-text-secondary);
    --wbv-line: var(--color-border);
    --wbv-hover-tint: var(--color-brand-subtle);

    /* Stacking hierarchy */
    --z-content: 0;
    --z-hero: 1;
    --z-hero-overlay: 2;
    --z-header: 50;
    --z-mobile-backdrop: 90;
    --z-mobile-panel: 100;
}

@media (max-width: 1199px) {
    :root {
        --container-padding: 32px;
        --section-space: var(--space-8);
        --section-space-compact: var(--space-7);
        --grid-gap: var(--space-5);
        --wbv-section-y: var(--space-7); /* 48 */
        --wbv-section-y-sm: var(--space-6); /* 32 */
        --wbv-page-end: var(--wbv-fed-gap-after, 48px);
    }
}

@media (max-width: 767px) {
    :root {
        --mobile-gutter: 16px;
        --mobile-section-space: 44px;
        --mobile-section-space-large: 52px;
        --mobile-content-gap: 20px;
        --mobile-card-gap: 12px;
        --mobile-card-padding: 16px;
        --mobile-hero-h: clamp(195px, 55vw, 247px);

        --container-padding: var(--mobile-gutter);
        --page-gutter: var(--mobile-gutter);
        --wbv-page-gap: calc(var(--mobile-gutter) * 2);
        --wbv-header-pad-x: var(--mobile-gutter);
        --wbv-wide-rail: calc(100% - var(--wbv-page-gap));
        --section-space: var(--mobile-section-space-large);
        --section-space-compact: var(--mobile-section-space);
        --grid-gap: var(--mobile-card-gap);
        --wbv-nav-gap: 22px;
        --wbv-header-height-mobile: 60px;
        --header-sticky-height: var(--wbv-header-height-mobile);
        --wbv-section-y: var(--mobile-section-space);
        --wbv-section-y-sm: 32px;
        --wbv-section-header-gap: 12px;
        --wbv-fed-gap-after: 36px;
        --wbv-page-end: 36px;
        --wbv-page-intro-top: 36px;
        --wbv-page-intro-bottom: 28px;
        --wbv-hero-curve: clamp(18px, 4.5vw, 28px);
        --wbv-hero-gap-after: var(--space-3, 12px);
        --wbv-post-hero-pad-overlay: var(--wbv-hero-gap-after);
        --wbv-post-hero-pad-quiet: var(--wbv-hero-gap-after);

        --text-display: 1.75rem;
        --text-h1: 1.8125rem;
        --text-h2: 1.5rem;
        --text-h3: 1.125rem;
        --text-h4: 1.0625rem;
        --text-body-lg: 1rem;
        --text-body: 0.9375rem;
        --text-small: 0.875rem;
        --text-meta: 0.75rem;
        --text-button: 0.9375rem;
        --text-button-sm: 0.875rem;
        --text-link: 0.9375rem;
        --text-eyebrow: 0.6875rem;
    }
}

@media (min-width: 1280px) {
    :root {
        /* Extra outer gutter so side carousel arrows clear hero copy */
        --wbv-wide-rail: min(calc(100% - 160px), 1720px);
    }
}

@media (min-width: 1440px) {
    :root {
        --wbv-wide-rail: min(calc(100% - 160px), 1720px);
    }
}

@media (prefers-reduced-motion: reduce) {
    :root {
        --transition-fast: 0ms;
        --transition-base: 0ms;
    }

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Prevent horizontal page scroll from full-bleed / overflow children */
html {
    overflow-x: clip;
}

body {
    overflow-x: clip;
    max-width: 100%;
}

/*
   WP Theme setzt Root-Padding (spacing--50) auf .has-global-padding und
   kompensiert .alignfull mit negativen Margins → Overflow + doppelte Einzüge.
   Seitenbreite steuern wir über --wbv-page-gap / Content-Klassen.
*/
body {
    --wp--style--root--padding-left: 0px;
    --wp--style--root--padding-right: 0px;
}

main#wp--skip-link--target.has-global-padding,
main#wp--skip-link--target > .alignfull.has-global-padding,
main#wp--skip-link--target .entry-content.has-global-padding {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/*
   WordPress berechnet .alignfull-Margins aus --wp--style--root--padding-*
   und per-container-Regeln (margin: calc(24px * -1) etc.).
   Das erzeugt systematisch horizontalen Overflow — daher global auf 0.
*/
.has-global-padding > .alignfull,
[class*="wp-container"] > .alignfull,
.wp-block-group > .alignfull,
.wp-site-blocks > .alignfull {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: none !important;
}


/* =========================================================
   DESIGN SYSTEM — base + shared components
   ========================================================= */

html {
    scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
}

body {
    font-family: var(--font-sans);
    font-size: var(--text-body);
    font-weight: var(--weight-regular);
    line-height: var(--leading-body);
    color: var(--color-text-primary);
    background: var(--color-surface);
}

.wbv-container,
.wbv-home-inner {
    width: calc(100% - var(--wbv-page-gap));
    max-width: var(--container-max);
    margin-inline: auto;
    box-sizing: border-box;
}

/* WP-exported inline layout (782px) — align to mobile gutter token */
@media (max-width: 782px) {
    .wbv-hero-wide,
    .wbv-cards-wide,
    .wbv-content-wide {
        width: calc(100% - var(--wbv-page-gap)) !important;
        max-width: var(--container-max, 1360px);
        margin-inline: auto;
        box-sizing: border-box;
    }
}

/* —— Type roles (prefer tokens / these classes over freestyle sizes) —— */
.wbv-type-display,
.wbv-hero__title {
    font-size: var(--text-display);
    font-weight: var(--weight-bold);
    line-height: var(--leading-display);
    letter-spacing: var(--tracking-display);
}

.wbv-type-h1,
.entry-content > h1,
.wp-block-post-title,
.wbv-page-header h1 {
    font-size: var(--text-h1);
    font-weight: var(--weight-bold);
    line-height: var(--leading-heading);
    letter-spacing: var(--tracking-display);
    color: var(--color-text-primary);
}

.wbv-type-h2,
.entry-content > h2,
.wbv-home-verband > .wbv-home-inner > h2,
.wbv-section-header h2,
.wbv-vb-section > h2,
.wbv-sb-how > h2,
.wbv-dev-section > h2,
.wbv-edu-section > h2,
.wbv-home-news__title,
.wbv-home-termine__title,
.wbv-events__title {
    font-size: var(--text-h2);
    font-weight: var(--weight-bold);
    line-height: var(--leading-heading);
    letter-spacing: var(--tracking-heading);
}

.wbv-type-h3,
.entry-content > h3,
.wbv-area-card__title {
    font-size: var(--text-h3);
    font-weight: var(--weight-bold);
    line-height: var(--leading-title);
    letter-spacing: var(--tracking-title);
}

.wbv-type-h4,
.wbv-news-archive-content h3 {
    font-size: var(--text-h4);
    font-weight: var(--weight-bold);
    line-height: var(--leading-title);
    letter-spacing: var(--tracking-title);
}

.wbv-type-lead,
.wbv-hero__intro,
.wbv-vb-section > .wbv-vb-section-intro,
.wbv-dev-section__intro,
.wbv-text-lead {
    font-size: var(--text-body-lg);
    font-weight: var(--weight-regular);
    line-height: var(--leading-body);
}

.wbv-type-body,
.entry-content > p,
.wbv-home-verband > .wbv-home-inner > p,
.wbv-text-content {
    font-size: var(--text-body);
    font-weight: var(--weight-regular);
    line-height: var(--leading-body);
    color: var(--color-text-primary);
}

.wbv-text-content,
.wbv-home-verband > .wbv-home-inner > p.wp-block-paragraph:first-of-type {
    max-width: 72ch;
}

.wbv-type-small,
.wbv-meta,
.meta {
    font-size: var(--text-small);
    font-weight: var(--weight-medium);
    line-height: var(--leading-small);
    color: var(--color-text-secondary);
}

.wbv-type-meta,
.wbv-hero__context {
    font-size: var(--text-meta);
    font-weight: var(--weight-semibold);
    line-height: var(--leading-meta);
    letter-spacing: var(--tracking-meta);
}

/* Section rhythm — homepage owns its vertical rhythm via page CSS */
.wbv-home-maincards,
.wbv-home-verband,
.wbv-home-after-hero,
.wbv-home-partners {
    /* padding set in homepage stylesheet */
}

/* Buttons */
.wp-block-button__link,
.wp-element-button,
.wbv-button,
.wbv-button--primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 20px !important;
    border: 0;
    border-radius: var(--radius-md) !important;
    background: var(--color-brand) !important;
    color: var(--color-text-inverse) !important;
    font-family: var(--font-sans);
    font-size: var(--text-button) !important;
    font-weight: var(--weight-semibold) !important;
    line-height: var(--leading-ui) !important;
    text-decoration: none !important;
    box-shadow: none !important;
    transition: background var(--transition-fast), color var(--transition-fast);
}

.wp-block-button__link:hover,
.wp-block-button__link:focus-visible,
.wp-element-button:hover,
.wp-element-button:focus-visible,
.wbv-button--primary:hover,
.wbv-button--primary:focus-visible {
    background: var(--color-brand-hover) !important;
    color: var(--color-text-inverse) !important;
}

.wbv-button--secondary {
    background: var(--color-surface) !important;
    color: var(--color-text-primary) !important;
    border: 1px solid var(--color-border-strong) !important;
}

.wbv-button--secondary:hover,
.wbv-button--secondary:focus-visible {
    background: var(--color-surface-muted) !important;
    color: var(--color-text-primary) !important;
}

.wbv-button--sm {
    min-height: 40px;
    padding: 8px 16px !important;
    font-size: var(--text-button-sm) !important;
}

/* Text CTAs */
.wbv-text-link,
a.wbv-text-link,
.wbv-hero__link,
.wbv-news-archive-more {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--color-brand) !important;
    font-weight: var(--weight-semibold);
    font-size: var(--text-link);
    line-height: var(--leading-ui);
    text-decoration: none !important;
    background: none !important;
    border: 0 !important;
    padding: 0 !important;
    min-height: auto !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.wbv-text-link::after,
.wbv-news-archive-more::after {
    content: "→";
    transition: transform var(--transition-fast);
}

.wbv-text-link:hover::after,
.wbv-text-link:focus-visible::after,
a:hover .wbv-news-archive-more::after,
a:focus-visible .wbv-news-archive-more::after {
    transform: translateX(3px);
}

/* Forms */
input[type="text"],
input[type="email"],
input[type="search"],
input[type="tel"],
input[type="url"],
input[type="number"],
select,
textarea,
.wbv-form-control {
    min-height: 48px;
    padding: 12px 16px;
    border: 1px solid var(--color-border-strong);
    border-radius: var(--radius-md);
    background: var(--color-surface);
    color: var(--color-text-primary);
    font-family: var(--font-sans);
    font-size: var(--text-body);
    line-height: 1.4;
    box-sizing: border-box;
}

/* Search fields: pill + muted fill (site standard) */
input[type="search"] {
    border: 0;
    border-radius: var(--radius-pill);
    background: var(--color-surface-muted);
    padding-inline: 18px;
}

textarea {
    min-height: 120px;
}

input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.wbv-form-control:focus-visible {
    outline: 2px solid var(--color-focus);
    outline-offset: 2px;
    border-color: var(--color-brand);
}

/* Tables */
.entry-content .wp-block-table,
.entry-content .wbv-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.entry-content .wp-block-table table,
.entry-content .wbv-table,
.entry-content table:not(.wbv-kalender-table) {
    width: 100%;
    border-collapse: collapse;
}

.entry-content .wp-block-table thead th,
.entry-content .wbv-table thead th,
.entry-content table:not(.wbv-kalender-table) thead th {
    background: var(--color-surface-muted);
    color: var(--color-text-primary);
    font-weight: 700;
    text-align: left;
    padding: var(--space-3) var(--space-4);
    border-bottom: 1px solid var(--color-border-strong);
    border-right: 0;
    border-left: 0;
}

.entry-content .wp-block-table td,
.entry-content .wbv-table td,
.entry-content table:not(.wbv-kalender-table) td {
    padding: var(--space-3) var(--space-4);
    border-bottom: 1px solid var(--color-border);
    border-right: 0;
    border-left: 0;
    vertical-align: top;
}

.entry-content .wp-block-table tbody tr:hover td,
.entry-content .wbv-table tbody tr:hover td {
    background: var(--color-surface-muted);
}

/* Verband section CTA → text link */
.wbv-home-verband > .wbv-home-inner > .wp-block-buttons {
    margin-top: var(--space-6);
}

.wbv-home-verband > .wbv-home-inner > .wp-block-buttons .wp-block-button__link,
.wbv-home-verband > .wbv-home-inner > .wp-block-buttons .wp-element-button {
    display: inline-flex !important;
    align-items: center;
    gap: 4px;
    min-height: auto !important;
    padding: 0 !important;
    background: transparent !important;
    color: var(--color-brand) !important;
    border-radius: 0 !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}

.wbv-home-verband > .wbv-home-inner > .wp-block-buttons .wp-block-button__link::after,
.wbv-home-verband > .wbv-home-inner > .wp-block-buttons .wp-element-button::after {
    content: "→";
    transition: transform var(--transition-fast);
}

.wbv-home-verband > .wbv-home-inner > .wp-block-buttons .wp-block-button__link:hover::after,
.wbv-home-verband > .wbv-home-inner > .wp-block-buttons .wp-element-button:hover::after {
    transform: translateX(3px);
}

/* Global focus visibility for interactive chrome */
a:focus-visible,
button:focus-visible,
.wp-block-button__link:focus-visible,
.wbv-nav__link:focus-visible,
.wbv-nav__toggle:focus-visible,
.wbv-header__kontakt:focus-visible,
.wbv-header__menu-btn:focus-visible {
    outline: 2px solid var(--color-focus);
    outline-offset: 2px;
}

/* Badges / tags */
.wbv-badge {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 2px 10px;
    border-radius: var(--radius-pill);
    background: var(--color-brand-subtle);
    color: var(--color-brand);
    font-size: var(--text-small);
    font-weight: 600;
    line-height: 1.2;
}

.entry-content > p a,
.entry-content .wp-block-paragraph a {
    color: var(--color-brand);
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-thickness: 1px;
}

.entry-content > p a:hover,
.entry-content .wp-block-paragraph a:hover {
    color: var(--color-brand-hover);
}

/* Homepage feature cards */
.wbv-home-maincards .wp-block-columns {
    gap: var(--grid-gap) !important;
}

.wbv-home-maincards .wp-block-column > .wp-block-group {
    height: 100%;
    padding: var(--space-6) !important;
    background: var(--color-surface-subtle) !important;
    border-top: 3px solid var(--color-brand) !important;
    border-radius: var(--radius-md);
    box-shadow: none;
    text-align: left !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box;
}

/* Legacy WP column cards (unused on homepage reel; keep scoped) */
.wbv-home-maincards .wp-block-column h3,
.wbv-home-maincards .wp-block-column p,
.wbv-home-maincards .wp-block-column .wp-block-buttons {
    text-align: left !important;
    justify-content: flex-start !important;
}

.wbv-home-maincards .wp-block-column h3 {
    margin: 0 0 var(--space-3);
    font-size: var(--text-h3);
    line-height: var(--leading-snug);
}

.wbv-home-maincards .wp-block-column p {
    margin: 0 0 var(--space-5);
    color: var(--color-text-secondary);
    font-size: var(--text-body);
    line-height: var(--leading-body);
    flex: 1;
}

.wbv-home-maincards .wp-block-buttons {
    margin-top: auto !important;
}

.wbv-home-maincards .wp-block-button__link,
.wbv-home-maincards .wp-element-button {
    display: inline-flex !important;
    align-items: center;
    gap: 4px;
    min-height: auto !important;
    padding: 0 !important;
    background: transparent !important;
    color: var(--color-brand) !important;
    border-radius: 0 !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}

.wbv-home-maincards .wp-block-button__link::after,
.wbv-home-maincards .wp-element-button::after {
    content: "→";
    transition: transform var(--transition-fast);
}

.wbv-home-maincards .wp-block-button__link:hover::after,
.wbv-home-maincards .wp-element-button:hover::after {
    transform: translateX(3px);
}

/* Homepage editorial verband block — lighter than feature cards */
.wbv-home-verband > .wbv-home-inner > h2 {
    margin: 0 0 var(--space-4);
}

.wbv-home-verband > .wbv-home-inner > p.wp-block-paragraph {
    margin: 0 0 var(--space-7);
    color: var(--color-text-secondary);
    font-size: var(--text-body-lg);
    line-height: var(--leading-body);
    max-width: 72ch;
}

.wbv-home-verband .wp-block-columns {
    gap: var(--grid-gap) !important;
}

.wbv-home-verband .wp-block-column > .wp-block-separator {
    width: 28px !important;
    max-width: 28px !important;
    margin: 0 0 var(--space-4) !important;
    border: 0 !important;
    height: 3px !important;
    background: var(--color-brand) !important;
}

.wbv-home-verband .wp-block-column h3 {
    margin: 0 0 var(--space-3);
    font-size: var(--text-h4);
    font-weight: 700;
}

.wbv-home-verband .wp-block-column p {
    margin: 0;
    color: var(--color-text-secondary);
    max-width: 40ch;
}

.wbv-home-verband .wbv-home-inline-cta {
    margin-top: var(--space-4);
}

.wbv-home-verband .wbv-home-inline-cta a {
    color: var(--color-brand) !important;
    font-weight: 600;
    text-decoration: none !important;
}

.wbv-home-verband .wbv-home-inline-cta a:hover {
    text-decoration: underline !important;
}

/* Partner strip — framing handled on homepage */
.wbv-home-partners,
.wbv-home-partner {
    border: 0;
    box-shadow: none;
}

/* Page headers (internal pages) */
body.page:not(.home) .wp-block-post-title {
    margin-bottom: var(--space-4);
}

body.page:not(.home) .entry-content > p:first-of-type {
    max-width: 72ch;
    font-size: var(--text-body-lg);
    line-height: var(--leading-body);
    color: var(--color-text-secondary);
}

/* Sticky header clearance for in-page anchors / scroll */
html {
    scroll-padding-top: calc(var(--header-sticky-height, 84px) + 12px);
}

/* Footer polish */
footer.wp-block-template-part {
    border-top: 1px solid var(--color-border);
    background: var(--color-surface);
}

footer.wp-block-template-part a {
    color: var(--color-text-secondary);
    text-decoration: none;
    font-size: 0.9375rem;
    line-height: 1.4;
}

footer.wp-block-template-part a:hover,
footer.wp-block-template-part a:focus-visible {
    color: var(--color-brand);
}

footer.wp-block-template-part .has-small-font-size {
    font-size: 0.875rem !important;
    line-height: 1.45;
}

@media (max-width: 767px) {
    footer.wp-block-template-part .wp-block-group.is-content-justification-space-between.is-layout-flex {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 16px !important;
    }

    footer.wp-block-template-part .wp-block-navigation__container {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 10px !important;
    }

    footer.wp-block-template-part .wp-block-navigation-item__content {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        font-size: 0.9375rem !important;
    }

    footer.wp-block-template-part .has-small-font-size {
        font-size: 0.8125rem !important;
    }

    footer.wp-block-template-part .wp-block-navigation__responsive-container-open {
        display: none !important;
    }

    footer.wp-block-template-part .wp-block-navigation__responsive-container {
        display: block !important;
        position: static !important;
        width: auto !important;
        height: auto !important;
        overflow: visible !important;
        background: transparent !important;
    }

    footer.wp-block-template-part .wp-block-navigation__responsive-container-close {
        display: none !important;
    }

    footer.wp-block-template-part .wp-block-navigation__responsive-dialog,
    footer.wp-block-template-part .wp-block-navigation__responsive-close,
    footer.wp-block-template-part .wp-block-navigation__responsive-container-content {
        position: static !important;
        padding: 0 !important;
        margin: 0 !important;
        background: transparent !important;
    }
}


/* =========================================================
   HEADER + NAVIGATION (redesign)
   ========================================================= */

header.wp-block-template-part.wbv-header-root {
    position: sticky;
    top: 0;
    z-index: var(--z-header);
    background: #fff;
    border-bottom: 1px solid var(--wbv-line);
    transition:
        background-color 0.22s ease,
        border-color 0.22s ease,
        box-shadow 0.22s ease,
        backdrop-filter 0.22s ease,
        color 0.22s ease;
}

header.wp-block-template-part.wbv-header-root.is-scrolled {
    background: #fff;
    border-bottom-color: var(--wbv-line);
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}

/* Homepage uses the same solid sticky/fixed header as all other pages.
   Hero sits below the bar (no transparent overlay / no home-only height). */
body.home .wp-site-blocks > main {
    margin-block-start: 0 !important;
    margin-top: 0 !important;
}

.wbv-header {
    width: 100%;
}

.wbv-header__inner {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0;
    width: calc(100% - var(--wbv-page-gap, calc(var(--container-padding) * 2)));
    max-width: var(--container-max, 1360px);
    min-height: var(--wbv-header-height);
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
    box-sizing: border-box;
}

.wbv-header__brand {
    display: inline-flex;
    align-items: center;
    gap: 0;
    flex-shrink: 0;
    text-decoration: none;
    color: var(--wbv-ink);
    min-width: 0;
    margin-right: 0;
}

.wbv-header__brand:hover,
.wbv-header__brand:focus-visible {
    text-decoration: none;
    color: var(--wbv-ink);
}

.wbv-header__logo {
    width: auto;
    height: 44px;
    max-width: 52px;
    object-fit: contain;
    display: block;
    flex-shrink: 0;
    background: transparent;
}

.wbv-header__title {
    display: none !important;
}

.wbv-nav {
    margin-left: var(--wbv-nav-logo-gap, 40px);
    margin-right: 0;
    flex: 0 1 auto;
    flex-shrink: 1;
    min-width: 0;
    position: relative;
}

.wbv-header__tools {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
    flex-shrink: 0;
    padding-left: 24px;
}

.wbv-nav__list {
    display: flex;
    align-items: center;
    gap: var(--wbv-nav-gap);
    margin: 0;
    padding: 0;
    list-style: none;
    flex-wrap: nowrap;
}

.wbv-nav__item {
    position: relative;
    margin: 0;
    list-style: none;
    /* Size only from the in-flow pair — never from the absolute dropdown */
    flex: 0 0 auto;
    width: max-content;
    max-width: 100%;
}

.wbv-nav__item--has-children {
    /* Same row height open/closed (toggle + link padding) */
    min-height: 48px;
}

.wbv-nav__pair {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    min-height: 48px;
}

.wbv-nav__link {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 12px 0;
    font-family: Manrope, sans-serif;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -0.01em;
    line-height: 1.25;
    color: var(--wbv-ink);
    text-decoration: none !important;
    white-space: nowrap;
    background: transparent;
    border: 0;
    cursor: pointer;
}

.wbv-nav__toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    opacity: 0.55;
}

.wbv-nav__toggle:hover,
.wbv-nav__toggle:focus-visible {
    color: var(--wbv-red);
    background: transparent;
    opacity: 1;
}

.wbv-nav__link:hover,
.wbv-nav__link:focus-visible {
    color: var(--wbv-red);
    text-decoration: none !important;
}

.wbv-nav__item.is-active > .wbv-nav__link,
.wbv-nav__item.is-active > .wbv-nav__pair > .wbv-nav__link,
.wbv-nav__item.is-open > .wbv-nav__pair > .wbv-nav__link {
    color: var(--wbv-red);
    font-weight: 600;
}

/* ÖTV-style: active = red label, no underline bar */
.wbv-nav__item.is-active > .wbv-nav__link::after,
.wbv-nav__item.is-active > .wbv-nav__pair > .wbv-nav__link::after,
.wbv-nav__item.is-open > .wbv-nav__pair > .wbv-nav__link::after {
    content: none;
}

.wbv-nav__chevron {
    display: block;
    flex-shrink: 0;
    width: 11px;
    height: 11px;
    transform-origin: 50% 50%;
    transition: transform 0.18s ease;
}

.wbv-nav__item.is-open .wbv-nav__toggle .wbv-nav__chevron,
.wbv-mobile__item.is-open .wbv-mobile__toggle .wbv-nav__chevron {
    transform: rotate(180deg);
}

.wbv-nav__dropdown {
    /* Fixed width (not max-content) so abspos panel never reflows the flex nav */
    position: absolute;
    top: 100%;
    left: 0;
    right: auto;
    transform: none;
    z-index: calc(var(--z-header) + 1);
    box-sizing: border-box;
    width: 280px;
    min-width: 280px;
    max-width: min(280px, calc(100vw - 32px));
    margin: 0;
    padding: 8px;
    list-style: none;
    background: #fff;
    border: 1px solid var(--border-color, var(--color-border));
    border-radius: var(--radius-md);
    box-shadow: 0 8px 24px rgba(32, 32, 32, 0.08);
    overscroll-behavior: contain;
}

/* Near the right edge: pin dropdown to the item’s right side */
.wbv-nav__item--has-children:nth-last-child(-n+2) > .wbv-nav__dropdown {
    left: auto;
    right: 0;
}

.wbv-nav__dropdown[hidden] {
    display: none !important;
}

.wbv-nav__item.is-open > .wbv-nav__dropdown:not([hidden]) {
    display: block;
}

/* Hover bridge so cursor can move into dropdown without closing */
.wbv-nav__dropdown::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -16px;
    height: 16px;
}

/* Keep header chrome from clipping or reflowing around open panels */
header.wp-block-template-part.wbv-header-root,
.wbv-header,
.wbv-header__inner,
.wbv-nav,
.wbv-nav__list {
    overflow: visible;
}

.wbv-nav__sublist {
    margin: 0;
    padding: 0;
    list-style: none;
}

/* —— Compact service links (header only) —— */
.wbv-sports {
    flex-shrink: 0;
}

.wbv-sports__list {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 4px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.wbv-sports__item {
    margin: 0;
    list-style: none;
    flex: 0 0 auto;
}

.wbv-sports__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 3px;
    box-sizing: border-box;
    min-height: 32px;
    padding: 4px 10px;
    border: 0;
    border-radius: var(--radius-sm);
    background: var(--surface-neutral, #f4f4f4);
    color: var(--wbv-ink);
    font-family: var(--font-sans);
    font-size: 13px;
    font-weight: 500;
    line-height: 1.2;
    text-align: center;
    text-decoration: none !important;
    white-space: nowrap;
    transition: background var(--transition-fast), color var(--transition-fast);
}

.wbv-sports__link:hover,
.wbv-sports__link:focus-visible {
    background: #ecece8;
    color: var(--wbv-ink);
    text-decoration: none !important;
}

.wbv-sports__link:focus-visible {
    outline: 2px solid var(--wbv-red);
    outline-offset: 2px;
}

.wbv-sports__link.is-active,
.wbv-sports__link[aria-current="page"] {
    background: var(--color-brand-subtle, #fdf1f0);
    color: var(--wbv-red);
}

.wbv-sports--header {
    margin-left: 0;
    flex-shrink: 0;
}

.wbv-sports--mobile {
    margin: 0;
}

.wbv-sports--mobile .wbv-sports__list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 6px;
}

.wbv-sports--mobile .wbv-sports__link {
    display: inline-flex;
    justify-content: center;
    width: auto;
    min-height: 32px;
    padding: 4px 10px;
    border-radius: var(--radius-sm);
    background: var(--surface-neutral, #f4f4f4);
    font-size: 13px;
    font-weight: 500;
    text-align: center;
}

.wbv-sports--mobile .wbv-sports__link:hover,
.wbv-sports--mobile .wbv-sports__link:focus-visible {
    background: #ecece8;
}

.wbv-sports--mobile .wbv-sports__link.is-active,
.wbv-sports--mobile .wbv-sports__link[aria-current="page"] {
    background: var(--color-brand-subtle, #fdf1f0);
    color: var(--wbv-red);
}

.wbv-nav__subitem {
    margin: 0;
    list-style: none;
}

.wbv-nav__sublink {
    display: flex;
    align-items: center;
    box-sizing: border-box;
    min-height: 40px;
    padding: 8px 12px;
    border-radius: var(--radius-sm);
    font-family: var(--font-sans);
    font-size: 15px;
    font-weight: 500;
    line-height: 1.3;
    color: var(--wbv-ink);
    text-decoration: none !important;
    transition: background var(--transition-fast), color var(--transition-fast);
}

.wbv-nav__sublink:hover,
.wbv-nav__sublink:focus-visible {
    background: var(--wbv-hover-tint);
    color: var(--wbv-red);
    text-decoration: none !important;
}

.wbv-nav__subitem.is-active > .wbv-nav__sublink {
    color: var(--wbv-red);
    font-weight: 600;
    background: var(--wbv-hover-tint);
}

.wbv-nav__link--label {
    cursor: pointer;
}

button.wbv-nav__link--label {
    appearance: none;
    -webkit-appearance: none;
    text-align: left;
}

.wbv-header__kontakt {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
    margin-left: 4px;
    padding: 8px 0;
    font-family: Manrope, sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--wbv-ink);
    text-decoration: none !important;
    white-space: nowrap;
}

.wbv-header__kontakt:hover,
.wbv-header__kontakt:focus-visible,
.wbv-header__kontakt.is-active {
    color: var(--wbv-red);
    text-decoration: none !important;
}

.wbv-header__kontakt-arrow {
    font-weight: 500;
    transition: transform 0.15s ease;
}

.wbv-header__kontakt:hover .wbv-header__kontakt-arrow {
    transform: translateX(2px);
}

.wbv-header__menu-btn {
    display: none;
    position: relative;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    min-width: 48px;
    min-height: 48px;
    margin-left: auto;
    padding: 0;
    border: 0;
    border-radius: var(--radius-md);
    background: transparent;
    color: var(--wbv-ink);
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.wbv-header__menu-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

.wbv-header__menu-icon--close {
    display: none;
}

header.wbv-header-root.is-menu-open .wbv-header__menu-icon--open {
    display: none;
}

header.wbv-header-root.is-menu-open .wbv-header__menu-icon--close {
    display: flex;
}

.wbv-header__menu-btn:hover {
    background: var(--wbv-hover-tint);
    color: var(--wbv-red);
}

.wbv-header__menu-btn:focus {
    outline: none;
}

.wbv-header__menu-btn:focus-visible {
    outline: 2px solid var(--wbv-red);
    outline-offset: 3px;
    background: var(--wbv-hover-tint);
    color: var(--wbv-red);
}

body.home header.wp-block-template-part.wbv-header-root.is-menu-open .wbv-header__menu-btn {
    background: var(--wbv-hover-tint);
    color: var(--wbv-red);
}

.wbv-header__brand:focus-visible,
.wbv-nav__link:focus-visible,
.wbv-nav__toggle:focus-visible,
.wbv-nav__sublink:focus-visible,
.wbv-header__kontakt:focus-visible,
.wbv-header__menu-btn:focus-visible,
.wbv-mobile__link:focus-visible,
.wbv-mobile__sublink:focus-visible,
.wbv-mobile__toggle:focus-visible {
    outline: 2px solid var(--wbv-red);
    outline-offset: 3px;
}

.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
}

/* Mobile panel (hidden on desktop) */
.wbv-mobile {
    display: none;
    background: #fff;
}

.wbv-mobile__nav {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    width: calc(100% - var(--wbv-page-gap));
    max-width: var(--wbv-max-width);
    min-height: 100%;
    margin: 0 auto;
    padding: 12px 0 28px;
}

.wbv-mobile__section-label {
    margin: 0 0 10px;
    padding: 0;
    color: var(--color-text-secondary, #5f5f5f);
    font-family: var(--font-sans);
    font-size: var(--text-meta, 0.75rem);
    font-weight: var(--weight-semibold, 600);
    letter-spacing: 0.08em;
    line-height: 1.3;
    text-transform: uppercase;
}

.wbv-mobile__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.wbv-mobile__footer {
    margin-top: auto;
    padding-top: 24px;
    border-top: 1px solid #ececec;
}

.wbv-mobile__footer .wbv-mobile__section-label {
    margin-bottom: 12px;
}

.wbv-mobile__item {
    border-bottom: 1px solid #ececec;
}

.wbv-mobile__item:last-child {
    border-bottom: 0;
}

.wbv-mobile__row {
    display: flex;
    align-items: stretch;
    height: 68px;
    box-sizing: border-box;
}

.wbv-mobile__link {
    display: flex;
    align-items: center;
    flex: 1 1 auto;
    box-sizing: border-box;
    height: 68px;
    min-height: 68px;
    margin: 0;
    padding: 0;
    border: 0;
    font-family: Manrope, sans-serif;
    font-size: 19px;
    font-weight: 600;
    line-height: 1.2;
    color: var(--wbv-ink);
    text-decoration: none !important;
    background: transparent;
    cursor: pointer;
}

.wbv-mobile__item.is-active > .wbv-mobile__link,
.wbv-mobile__item.is-active > .wbv-mobile__row > .wbv-mobile__link {
    color: inherit;
    box-shadow: none;
}

.wbv-mobile__link:hover,
.wbv-mobile__link:focus-visible {
    color: var(--wbv-red);
    text-decoration: none !important;
}

.wbv-mobile__toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 48px;
    box-sizing: border-box;
    width: 48px;
    height: 68px;
    min-height: 68px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--wbv-ink);
    cursor: pointer;
}

.wbv-mobile__toggle:hover,
.wbv-mobile__toggle:focus-visible {
    color: var(--wbv-red);
}

.wbv-mobile__submenu {
    margin: 0;
    padding: 0 0 8px 12px;
    list-style: none;
}

.wbv-mobile__submenu[hidden] {
    display: none !important;
}

.wbv-mobile__sublink {
    display: flex;
    align-items: center;
    box-sizing: border-box;
    height: 48px;
    min-height: 48px;
    margin: 0;
    padding: 0;
    font-family: Manrope, sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;
    color: var(--wbv-muted);
    text-decoration: none !important;
}

.wbv-mobile__sublink:hover,
.wbv-mobile__sublink:focus-visible {
    color: var(--wbv-red);
    text-decoration: none !important;
}

.wbv-mobile__subitem.is-active > .wbv-mobile__sublink {
    color: inherit;
}

.wbv-mobile__link--label {
    cursor: pointer;
}

button.wbv-mobile__link,
button.wbv-mobile__link--label {
    appearance: none;
    -webkit-appearance: none;
    width: auto;
    text-align: left;
}

body.wbv-nav-open {
    overflow: hidden;
    touch-action: none;
}

/* Legacy WP header layout (pre-JS hydration / fallback) */
header.wp-block-template-part:not(.wbv-header-root)
> .wp-block-group.alignfull
> .wp-block-group
> .wp-block-group.alignwide {
    width: calc(100% - var(--wbv-page-gap)) !important;
    max-width: var(--wbv-max-width) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box;
}

/* Desktop → mobile switch before crowding */
@media (max-width: 1100px) {
    :root {
        --wbv-page-gap: 40px;
        --wbv-header-pad-x: 24px;
        /* Matches real bar height (menu btn 48 + padding) for fixed spacer + panel top */
        --wbv-header-height-mobile: 84px;
        --header-sticky-height: var(--wbv-header-height-mobile);
        --wbv-wide-rail: min(calc(100% - 48px), var(--wbv-max-width, 1360px));
    }

    .wbv-header__inner {
        min-height: var(--wbv-header-height-mobile);
        gap: 12px;
        padding-block: 14px;
    }

    .wbv-header__brand {
        gap: 10px;
    }

    .wbv-header__logo {
        width: auto;
        height: 44px;
        max-width: 44px;
    }

    .wbv-header__title {
        display: none !important;
    }

    .wbv-nav,
    .wbv-header__tools,
    .wbv-header__kontakt,
    .wbv-sports--header {
        display: none !important;
    }

    .wbv-header__menu-btn {
        display: inline-flex;
        margin-left: auto;
        width: 48px;
        height: 48px;
        min-width: 48px;
        min-height: 48px;
        border-radius: var(--radius-md);
    }

    .wbv-mobile:not([hidden]) {
        display: flex;
        flex-direction: column;
        position: fixed;
        top: var(--wbv-header-height-mobile);
        left: 0;
        right: 0;
        bottom: 0;
        z-index: var(--z-mobile-panel);
        max-height: none;
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        background: #fff;
        border-top: 1px solid var(--wbv-line);
        box-shadow: none;
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
    }

    .wbv-mobile[hidden] {
        display: none !important;
        visibility: hidden;
        pointer-events: none;
    }

    header.wp-block-template-part.wbv-header-root {
        /* fixed is reliable on mobile; sticky breaks with overflow-x: clip on html/body */
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: var(--z-header);
    }

    body.home header.wp-block-template-part.wbv-header-root {
        position: fixed;
        z-index: var(--z-header);
    }

    /* Reserve space so content is not under the fixed header (all pages) */
    .wp-site-blocks > main,
    main#wp--skip-link--target {
        padding-top: var(--header-sticky-height, var(--wbv-header-height-mobile, 72px));
    }

    /* Keep interactive header chrome above the fixed panel */
    header.wp-block-template-part.wbv-header-root.is-menu-open {
        z-index: calc(var(--z-mobile-panel) + 1);
    }

    header.wp-block-template-part.wbv-header-root.is-menu-open .wbv-header__inner {
        position: relative;
        z-index: calc(var(--z-mobile-panel) + 2);
        background: #fff;
    }
}

@media (max-width: 767px) {
    :root {
        --wbv-header-height-mobile: 60px;
        --header-sticky-height: var(--wbv-header-height-mobile);
    }

    .wbv-header__inner {
        width: var(--wbv-wide-rail);
        min-height: var(--wbv-header-height-mobile);
        padding-block: 8px;
        gap: 10px;
    }

    .wbv-header__logo {
        width: auto;
        height: 36px;
        max-width: 42px;
    }

    .wbv-header__menu-btn {
        width: 44px;
        height: 44px;
        min-width: 44px;
        min-height: 44px;
    }
}

@media (min-width: 1101px) and (max-width: 1280px) {
    :root {
        --wbv-nav-gap: 28px;
        --wbv-nav-logo-gap: 32px;
        --wbv-header-height: 72px;
    }

    .wbv-nav__link {
        font-size: 14.5px;
    }

    .wbv-header__logo {
        width: auto;
        height: 42px;
        max-width: 48px;
    }
}


/* =========================================================
   FOOTER
   ========================================================= */

footer.wp-block-template-part
> .wp-block-group.has-global-padding
> .wp-block-group.alignwide {
    width: calc(100% - var(--wbv-page-gap)) !important;
    max-width: var(--wbv-max-width) !important;

    margin-left: auto !important;
    margin-right: auto !important;

    box-sizing: border-box;
}


/* Footer-Zeilen über volle verfügbare Breite */

footer.wp-block-template-part
.wp-block-group.alignfull.is-content-justification-space-between {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    justify-content: space-between !important;
}


/* Footer kompakter */

footer.wp-block-template-part
> .wp-block-group.has-global-padding {
    padding-top: 30px !important;
    padding-bottom: 26px !important;
}


/* Footer-Navigation nach rechts */

footer.wp-block-template-part .wp-block-navigation {
    margin-left: auto !important;
}


/* =========================================================
   NORMALE WORDPRESS-SEITEN GLOBAL VERBREITERN
   ========================================================= */

/*
   Gilt für normale Seiten wie:
   Aktuelles
   Verband
   Organisation
   Nachwuchs
   Ausbildung
   Wiener Liga
   Technical Officials
   Para Badminton
   usw.

   Wichtig: kein 100vw + calc(50% - 50vw) — das erzeugt
   horizontalen Overflow (Scrollbar-Breite / verschachtelte Padding).
*/

body.page
.entry-content.alignfull.wp-block-post-content {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    box-sizing: border-box;
}


/*
   Normale direkte Inhaltsblöcke auf die WBV-Breite bringen.
*/

body.page
.entry-content.wp-block-post-content
> :where(
    .wp-block-group,
    .wp-block-columns,
    .wp-block-media-text,
    .wp-block-table,
    .wp-block-query,
    .wp-block-buttons,
    .wp-block-image,
    .wp-block-list,
    h1,
    h2,
    h3,
    h4,
    p
) {
    width: calc(100% - var(--wbv-page-gap));
    max-width: var(--wbv-max-width);

    margin-left: auto;
    margin-right: auto;

    box-sizing: border-box;
}


/*
   Echte Full-Width-Blöcke behalten ihre Full-Width-Funktion.
*/

body.page
.entry-content.wp-block-post-content
> .alignfull {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
}


/* =========================================================
   WBV-SPEZIALKLASSEN
   ========================================================= */

.wbv-content-wide,
.wbv-cards-wide,
.wbv-hero-wide,
.wp-block-media-text.wbv-hero-wide {
    width: calc(100% - var(--wbv-page-gap)) !important;
    max-width: var(--wbv-max-width) !important;

    margin-left: auto !important;
    margin-right: auto !important;

    box-sizing: border-box;
}


/* =========================================================
   HERO / MEDIA TEXT
   ========================================================= */

.wbv-hero-wide .wp-block-media-text__content {
    max-width: none !important;

    padding-left: 36px;
    padding-right: 36px;
}

.wbv-hero-wide .wp-block-media-text__media {
    width: 100%;
}

.wbv-hero-wide .wp-block-media-text__media img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}


/* Hero-Aufteilung Desktop */

@media (min-width: 1200px) {

    .wbv-hero-wide.wp-block-media-text {
        grid-template-columns:
            minmax(0, 1.15fr)
            minmax(420px, 0.85fr);

        column-gap: 48px;
    }

}


/* =========================================================
   WBV-KACHELN
   ========================================================= */

.wbv-cards-wide {
    gap: var(--grid-gap);
}

.wbv-cards-wide > .wp-block-column {
    min-width: 0;
}


/* =========================================================
   WBV-TURNIERE
   ========================================================= */

/*
   Die WordPress-Seite selbst ist inzwischen breit.
   Die dynamisch erzeugte Turnier-App erhält ebenfalls
   die volle WBV-Inhaltsbreite.
*/

body.page #wbv-turniere-app {
    width: calc(100% - var(--wbv-page-gap)) !important;
    max-width: var(--wbv-max-width) !important;

    margin-left: auto !important;
    margin-right: auto !important;

    box-sizing: border-box;
}


/* Filter */

#wbv-turniere-filter {
    width: 100% !important;
    max-width: none !important;

    box-sizing: border-box;
}


/* Turnierliste */

#wbv-turniere-liste {
    width: 100% !important;
    max-width: none !important;

    box-sizing: border-box;
}


/* eventuell verwendeter Widget-Container */

.wbv-turniere-widget {
    width: 100% !important;
    max-width: none !important;

    box-sizing: border-box;
}


/* Überschrift "Aktuelle Turniere" passend zur Turnier-App */

body.page
.entry-content.wp-block-post-content
> h2:has(+ #wbv-turniere-app) {
    width: calc(100% - var(--wbv-page-gap)) !important;
    max-width: var(--wbv-max-width) !important;

    margin-left: auto !important;
    margin-right: auto !important;
}


/* einzelne Turnierkarten */

.wbv-turnier {
    width: 100%;
    box-sizing: border-box;
}


/*
   Auf breiten Bildschirmen darf die Hauptinformation
   innerhalb einer Turnierkarte mehr Platz bekommen.
*/

@media (min-width: 1200px) {

    .wbv-turnier-main {
        grid-template-columns:
            minmax(0, 1.2fr)
            minmax(340px, 0.8fr);
    }

}


/* =========================================================
   RESPONSIVE - KLEINER DESKTOP
   ========================================================= */

@media (max-width: 1300px) {

    :root {
        --wbv-page-gap: 50px;
    }

    .wbv-hero-wide.wp-block-media-text {
        column-gap: 32px;
    }

    .wbv-hero-wide .wp-block-media-text__content {
        padding-left: 26px;
        padding-right: 26px;
    }

}


/* =========================================================
   RESPONSIVE - TABLET
   ========================================================= */

@media (max-width: 1000px) {

    :root {
        --wbv-page-gap: 32px;
    }

    .wbv-hero-wide.wp-block-media-text {
        column-gap: 24px;
    }

    .wbv-hero-wide .wp-block-media-text__content {
        padding-left: 20px;
        padding-right: 20px;
    }

}


/* =========================================================
   RESPONSIVE - MOBILE
   ========================================================= */

@media (max-width: 800px) {

    .wbv-turnier-main {
        grid-template-columns: 1fr;
        gap: 0.4rem;
    }

}


/* =========================================================
   RESPONSIVE - SMARTPHONE
   ========================================================= */

@media (max-width: 700px) {

    /* Hero untereinander — Bild zuerst */

    .wbv-hero-wide.wp-block-media-text {
        grid-template-columns: 1fr !important;
    }

    .wbv-hero-wide.wp-block-media-text > .wp-block-media-text__media {
        order: 1;
        grid-column: 1;
        grid-row: 1;
    }

    .wbv-hero-wide.wp-block-media-text > .wp-block-media-text__content {
        order: 2;
        grid-column: 1;
        grid-row: 2;
        padding-left: 0;
        padding-right: 0;
        padding-top: 20px;
        padding-bottom: 20px;
    }

    .wbv-hero-wide .wp-block-media-text__media {
        min-height: 220px;
    }


    /* Footer */

    footer.wp-block-template-part
    .wp-block-group.alignfull.is-content-justification-space-between {
        gap: 12px;
    }

}

/* ===== WBV QUALITY DESIGN START ===== */

.wbv-cards-wide .wp-block-buttons.has-custom-css {
    padding: 0 !important;
}

/* Left-accent content boxes (rules / info) */
.wp-block-group[style*="border-left-color"] {
    padding-left: var(--space-5) !important;
    border-left-width: 3px !important;
}

.wp-block-group[style*="border-left-color"] > h2:first-child,
.wp-block-group[style*="border-left-color"] > h3:first-child {
    margin-top: 0;
}

.wbv-news-archive-more a {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--color-brand) !important;
    font-weight: 600;
    text-decoration: none !important;
    background: transparent !important;
    padding: 0 !important;
}

/* Feature / category cards on content pages */
.wbv-cards-wide .wp-block-group.has-accent-5-background-color,
.wbv-cards-wide .wp-block-group[style*="border-top"] {
    border-radius: var(--radius-md);
    padding: var(--space-6) !important;
    box-shadow: none;
}

/* ===== WBV QUALITY DESIGN END ===== */

/* =========================================================
   WBV TURNIERE FEINSCHLIFF
   Seite 85 — agenda redesign is page-local.
   Do not reintroduce red left borders or card layouts here.
   ========================================================= */

body.page-id-85 .wbv-tu-row {
    border-left: 0 !important;
}

body.page-id-85 .wbv-keine-turniere {
    background: transparent;
}


/* =========================================================
   WBV NEW PAGES INTEGRATION
   ========================================================= */


/* ----- Terminkalender: Link zur Turnierliste ----- */

.wbv-calendar-more {
    margin-top: 10px !important;
    margin-bottom: 0 !important;
    font-size: 0.9rem;
    font-weight: 600;
}

.wbv-calendar-more a {
    text-decoration: none;
}

.wbv-calendar-more a:hover {
    text-decoration: underline;
}


/* ----- Mitmachen-Seite ----- */

/*
 * Folder soll sichtbar bleiben, aber nicht den gesamten
 * oberen Seitenbereich dominieren.
 */

body .wp-block-image img[src*="WBV-Mitarbeit-Folder"] {
    width: auto !important;
    max-width: 520px !important;
    max-height: 720px !important;
    object-fit: contain;
    display: block;
    margin-left: auto;
    margin-right: auto;
}


/* Text im Hero angenehmer lesbar */

body .wp-block-columns:has(img[src*="WBV-Mitarbeit-Folder"])
.wp-block-column:first-child {
    align-self: center;
}


/* ----- Neue Informationsseiten ----- */

body .wp-block-group.has-accent-5-background-color,
.has-accent-5-background-color {
    box-sizing: border-box;
    background-color: var(--color-surface-subtle, #f4f4f4) !important;
}


/* Mobile */

@media (max-width: 781px) {

    body .wp-block-image img[src*="WBV-Mitarbeit-Folder"] {
        max-width: 100% !important;
        max-height: none !important;
    }

}



/* Legacy WP overlay nav styles removed — see .wbv-header / .wbv-mobile */



/* =========================================================
   FEDERATION HEADER SYSTEM
   Hub image strip (4 hubs only) + page intro.
   Homepage keeps .wbv-home-hero (exception).
   ========================================================= */

.wbv-fed {
    --wbv-fed-object-position: 50% 45%;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: var(--space-5, 24px) 0 0;
    box-sizing: border-box;
    position: relative;
    background: transparent;
}

.entry-content.is-layout-constrained > .wbv-fed,
.has-global-padding > .wbv-fed {
    max-width: none !important;
}

.wbv-fed__inner {
    width: calc(100% - var(--wbv-page-gap, calc(var(--container-padding, 20px) * 2)));
    max-width: var(--wbv-max-width, 1360px);
    margin: 0 auto;
    position: relative;
    box-sizing: border-box;
}

.wbv-fed__strip {
    margin: 0;
    width: 100%;
    height: var(--wbv-fed-strip-h);
    overflow: hidden;
    border-radius: var(--radius-md);
    background: var(--color-surface-subtle, #f4f4f4);
}

.wbv-fed__strip img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: var(--wbv-fed-object-position);
    border-radius: inherit;
}

/* Hub crops only */
.wbv-fed--verband { --wbv-fed-object-position: 58% 48%; }
.wbv-fed--vereine { --wbv-fed-object-position: 68% 46%; }
.wbv-fed--spielbetrieb { --wbv-fed-object-position: 58% 44%; }
.wbv-fed--entwicklung { --wbv-fed-object-position: 62% 42%; }

.wbv-fed--no-strip {
    display: none;
}

/* Page intro */
.wbv-page-intro {
    width: calc(100% - var(--wbv-page-gap, calc(var(--container-padding, 20px) * 2)));
    max-width: var(--wbv-max-width, 1360px);
    margin: 0 auto;
    padding: var(--wbv-page-intro-top, 64px) 0 var(--wbv-page-intro-bottom, 56px);
    box-sizing: border-box;
    text-align: left;
}

.wbv-page-intro__eyebrow {
    margin: 0 0 8px;
    color: var(--color-brand, #d9231e);
    font-size: var(--text-meta, 0.75rem);
    font-weight: var(--weight-semibold, 600);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    line-height: 1.2;
}

.wbv-page-intro__title,
.wbv-page-intro h1 {
    margin: 0 0 12px;
    max-width: 36rem;
    color: var(--color-text-primary, #202020);
    font-size: var(--text-h1, 3rem);
    font-weight: var(--weight-bold, 700);
    line-height: 1.12;
    letter-spacing: -0.02em;
}

.wbv-page-intro__lead {
    margin: 0;
    max-width: 46rem; /* ~736px */
    color: var(--color-text-secondary, #5f5f5f);
    font-size: var(--text-body-lg, 1.125rem);
    line-height: 1.55;
}

/* =========================================================
   SUBPAGE HERO (ÖTV Präsidium pattern)
   Full-bleed photo + centered white H1; lead below on white.
   Not used on homepage or the 4 hub strips.
   ========================================================= */

.wbv-subhero {
    --wbv-subhero-h: clamp(260px, 28vw, 340px);
    position: relative;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background: #1a1a1a;
    box-sizing: border-box;
}

/* Thin photo banners (~30% taller than previous strip) */
.wbv-subhero--banner {
    --wbv-subhero-h: clamp(156px, 18vw, 218px);
}

/* Soft sheet transition into page content */
.wbv-subhero::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    height: var(--wbv-hero-curve);
    background: var(--color-surface, #ffffff);
    border-radius: var(--radius-lg, 24px) var(--radius-lg, 24px) 0 0;
    pointer-events: none;
}

.entry-content.is-layout-constrained > .wbv-subhero,
.has-global-padding > .wbv-subhero,
.wp-block-post-content > .wbv-subhero {
    max-width: none !important;
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}

.wbv-subhero__media {
    position: absolute;
    inset: 0;
    margin: 0;
}

.wbv-subhero__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: var(--wbv-subhero-pos, center 40%);
}

.wbv-subhero__overlay {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: var(--wbv-subhero-h);
    /* Bottom clears the white sheet curve */
    padding: 40px 24px calc(var(--wbv-hero-curve) + 28px);
    box-sizing: border-box;
    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0.12) 0%,
        rgba(0, 0, 0, 0.18) 45%,
        rgba(0, 0, 0, 0.42) 100%
    );
}

.wbv-subhero__title {
    margin: 0;
    max-width: 28rem;
    color: #fff;
    font-family: var(--font-sans, Manrope, sans-serif);
    font-size: clamp(1.75rem, 1.4rem + 1vw, 2.25rem); /* ~28–36 */
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: -0.02em;
    text-align: center;
    text-wrap: balance;
}

/* Image-only hero (news articles) — full-bleed like sub-chapters, no title */
.wbv-subhero--image .wbv-subhero__overlay {
    padding: 0;
    background: none;
}

.wbv-subhero--image + .wbv-article {
    padding-top: var(--wbv-hero-gap-after, var(--wbv-fed-gap-after, 48px));
}

.wbv-subhero__lead-wrap {
    width: calc(100% - var(--wbv-page-gap, calc(var(--container-padding, 20px) * 2)));
    max-width: var(--wbv-max-width, 1360px);
    margin: 0 auto;
    padding: var(--wbv-hero-gap-after, 16px) 0 var(--wbv-fed-gap-after, 48px);
    box-sizing: border-box;
}

.wbv-subhero__lead {
    margin: 0;
    max-width: 46rem; /* ~736px */
    padding-right: 24px;
    border-right: 1px solid var(--color-border, #e3e3e3);
    color: var(--color-text-primary, #202020);
    font-size: var(--text-body-lg, 1.125rem);
    line-height: 1.55;
}

/* Subhero → first content: tighter — sheet curve already softens the edge */
.wbv-subhero + [class*="-page"] {
    margin-top: var(--wbv-hero-gap-after, 16px) !important;
    padding-top: 0 !important;
}

/* Hub image strip (no curve) keeps the standard shell gap */
.wbv-fed:not(.wbv-fed--no-strip) + [class*="-page"] {
    margin-top: var(--wbv-fed-gap-after, 48px) !important;
    padding-top: 0 !important;
}

.wbv-subhero + .wbv-subhero__lead-wrap + [class*="-page"],
.wbv-subhero__lead-wrap + [class*="-page"] {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.wbv-subhero + .wbv-page-intro {
    padding-top: var(--wbv-hero-gap-after, 16px);
    margin-top: 0;
}

@media (max-width: 767px) {
    .wbv-subhero,
    .wbv-subhero--banner {
        --wbv-subhero-h: var(--mobile-hero-h, clamp(195px, 55vw, 247px));
    }

    .wbv-subhero__overlay {
        padding: 16px var(--mobile-gutter) calc(var(--wbv-hero-curve) + 20px);
    }

    .wbv-subhero--banner .wbv-subhero__overlay {
        padding: 0;
    }

    .wbv-subhero__title {
        font-size: var(--text-display, 1.75rem);
        line-height: 1.12;
        max-width: none;
        padding-inline: 4px;
    }

    .wbv-subhero__lead-wrap {
        padding: var(--wbv-hero-gap-after, 12px) 0 var(--space-6, 32px);
    }

    .wbv-subhero__lead {
        border-right: 0;
        padding-right: 0;
        font-size: var(--text-body, 0.9375rem);
    }
}

/* Hub strip → intro spacing (~48–56px) */
.wbv-fed:not(.wbv-fed--no-strip) + .wbv-page-intro,
.wbv-fed:not(.wbv-fed--no-strip) + [class*="-page"] > .wbv-page-intro:first-child {
    padding-top: var(--wbv-fed-gap-after, 48px);
    padding-bottom: var(--wbv-fed-intro-gap, 48px);
}

.wbv-fed + [class*="-page"] {
    padding-top: 0 !important;
}

.wbv-fed + .wbv-page-intro + [class*="-page"],
.wbv-page-intro + [class*="-page"] {
    padding-top: 0 !important;
}

/* Editorial link blocks (hub refinement) */
.wbv-ed-feature {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    gap: clamp(24px, 3vw, 48px);
    align-items: center;
    margin: 0 0 var(--wbv-section-gap, 64px);
}

.wbv-ed-feature__media {
    margin: 0;
    overflow: hidden;
    border-radius: var(--radius-md);
    aspect-ratio: 16 / 10;
}

.wbv-ed-feature__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.wbv-ed-feature__title {
    margin: 0 0 10px;
    font-size: clamp(1.375rem, 1.2rem + 0.5vw, 1.75rem);
    font-weight: 700;
    line-height: 1.2;
}

.wbv-ed-feature__text {
    margin: 0 0 16px;
    max-width: 34rem;
    color: var(--color-text-secondary, #5f5f5f);
    font-size: 1.0625rem;
    line-height: 1.55;
}

.wbv-ed-feature__link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--color-brand, #d9231e) !important;
    font-weight: 600;
    text-decoration: none !important;
}

.wbv-ed-feature__link::after { content: "→"; }

.wbv-ed-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 40px;
    margin: 0 0 var(--wbv-section-gap, 64px);
    border-top: 1px solid var(--border-color, #e3e3e3);
}

.wbv-ed-card {
    display: block;
    min-width: 0;
    margin: 0;
    border-bottom: 1px solid var(--border-color, #e3e3e3);
    background: transparent;
    box-shadow: none;
}

.wbv-ed-card a {
    display: grid;
    grid-template-columns: minmax(120px, 180px) minmax(0, 1fr);
    gap: 8px 24px;
    align-items: center;
    padding: 24px 0;
    height: auto;
    color: inherit;
    text-decoration: none !important;
}

.wbv-ed-card__media {
    margin: 0;
    overflow: hidden;
    border-radius: var(--radius-md);
    aspect-ratio: 16 / 10;
    background: var(--surface-neutral, #f4f4f4);
    grid-column: 1;
    grid-row: 1 / span 2;
}

.wbv-ed-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.wbv-ed-card__title {
    margin: 0 0 6px;
    font-size: 1.1875rem;
    font-weight: 700;
    line-height: 1.25;
    grid-column: 2;
}

.wbv-ed-card a:hover .wbv-ed-card__title,
.wbv-ed-card a:focus-visible .wbv-ed-card__title {
    color: var(--wbv-red);
}

.wbv-ed-card__text {
    margin: 0;
    max-width: 36rem;
    color: var(--color-text-secondary, #5f5f5f);
    font-size: 0.9375rem;
    line-height: 1.5;
    grid-column: 2;
}

/* Pathway (Entwicklung) — alternating rows, tight rhythm */
.wbv-pathway {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.wbv-pathway__item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) minmax(0, 1.15fr);
    gap: clamp(16px, 2.5vw, 40px);
    align-items: center;
    min-height: 0;
    max-height: none;
    padding: 28px 0;
    border-top: 1px solid var(--border-color, #e3e3e3);
}

.wbv-pathway__item:last-child {
    border-bottom: 1px solid var(--border-color, #e3e3e3);
}

.wbv-pathway__item:nth-child(even) {
    grid-template-columns: minmax(0, 1.15fr) auto minmax(0, 1fr);
}

.wbv-pathway__item:nth-child(even) .wbv-pathway__media {
    order: -1;
}

.wbv-pathway__item:nth-child(even) .wbv-pathway__num {
    order: 0;
}

.wbv-pathway__num {
    font-size: clamp(1.5rem, 1.2rem + 0.8vw, 2rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--color-brand, #d9231e);
    line-height: 1;
}

.wbv-pathway__title {
    margin: 0 0 6px;
    font-size: 1.25rem;
    font-weight: 700;
}

.wbv-pathway__text {
    margin: 0;
    color: var(--color-text-secondary, #5f5f5f);
    font-size: 1rem;
    line-height: 1.5;
}

.wbv-pathway__media {
    margin: 0;
    overflow: hidden;
    border-radius: var(--radius-md);
    height: clamp(200px, 28vw, 280px);
    max-height: 280px;
}

.wbv-pathway__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.wbv-pathway__item a {
    color: inherit;
    text-decoration: none !important;
}

.wbv-pathway__link {
    display: inline-flex;
    margin-top: 10px;
    color: var(--color-brand, #d9231e) !important;
    font-weight: 600;
    font-size: 0.9375rem;
    text-decoration: none !important;
}

.wbv-pathway__link::after { content: " →"; }

/* Utility link row (Spielbetrieb after events) */
.wbv-util-links {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px 28px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.wbv-util-links a {
    display: block;
    padding-top: 14px;
    border-top: 3px solid var(--color-brand, #d9231e);
    color: inherit;
    text-decoration: none !important;
}

.wbv-util-links strong {
    display: block;
    margin: 0 0 6px;
    font-size: 1.125rem;
}

.wbv-util-links span {
    display: block;
    color: var(--color-text-secondary, #5f5f5f);
    font-size: 0.9375rem;
    line-height: 1.45;
}

/* Secondary actions (Vereine) */
.wbv-secondary-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 28px;
    margin: 0 0 var(--wbv-section-gap-sm, 48px);
    padding: 0;
    list-style: none;
}

.wbv-secondary-actions a {
    color: var(--color-brand, #d9231e) !important;
    font-weight: 600;
    text-decoration: none !important;
}

.wbv-secondary-actions a::after { content: " →"; }

/* Numbered institutional pillars (home + hubs) */
.wbv-home-pillars {
    margin: var(--space-5, 24px) 0 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid var(--border-color, #e3e3e3);
}

.wbv-home-pillar {
    display: grid;
    grid-template-columns: 3.25rem minmax(0, 1fr);
    gap: 12px 20px;
    padding: 26px 0;
    border-bottom: 1px solid var(--border-color, #e3e3e3);
}

.wbv-home-pillar__num {
    color: var(--wbv-red, #d9231e);
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.4;
}

.wbv-home-pillar__title {
    margin: 0 0 8px;
    font-size: var(--text-h4, 1.25rem);
    font-weight: 700;
    line-height: 1.25;
}

.wbv-home-pillar p {
    margin: 0;
    max-width: 40rem;
    color: var(--color-text-secondary, #5f5f5f);
    font-size: 0.9375rem;
    line-height: 1.55;
}

/* Federation footer */
.wbv-footer {
    width: 100%;
    margin-top: 0;
    padding: 56px 0 32px;
    background: var(--color-surface-subtle, #f4f4f4);
    border-top: 1px solid var(--color-border, #e3e3e3);
    box-sizing: border-box;
}

.wbv-footer__inner {
    width: calc(100% - var(--wbv-page-gap, calc(var(--container-padding, 20px) * 2)));
    max-width: var(--wbv-max-width, 1360px);
    margin: 0 auto;
    box-sizing: border-box;
}

.wbv-footer__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) repeat(3, minmax(0, 1fr));
    gap: 28px 32px;
    margin-bottom: 28px;
}

.wbv-footer__brand {
    margin: 0 0 10px;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: -0.015em;
}

.wbv-footer address {
    margin: 0;
    font-style: normal;
    color: var(--color-text-secondary, #5f5f5f);
    font-size: 0.875rem;
    line-height: 1.55;
}

.wbv-footer a {
    color: var(--color-text-primary, #202020);
    text-decoration: none;
}

.wbv-footer a:hover,
.wbv-footer a:focus-visible {
    color: var(--color-brand, #d9231e);
}

.wbv-footer__col-title {
    margin: 0 0 12px;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-text-secondary, #5f5f5f);
}

.wbv-footer__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.wbv-footer__list li + li {
    margin-top: 10px;
}

.wbv-footer__list a {
    font-size: 0.9375rem;
    font-weight: 500;
}

.wbv-footer__bottom {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 24px;
    padding-top: 20px;
    border-top: 1px solid var(--color-border, #e3e3e3);
    color: var(--color-text-secondary, #5f5f5f);
    font-size: 0.8125rem;
}

.wbv-footer__legal {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.wbv-footer__legal a {
    color: var(--color-text-secondary, #5f5f5f);
    font-size: 0.8125rem;
}

@media (max-width: 1023px) {
    .wbv-ed-feature {
        grid-template-columns: 1fr;
    }

    .wbv-ed-grid {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .wbv-pathway__item,
    .wbv-pathway__item:nth-child(even) {
        grid-template-columns: 1fr;
        gap: 16px;
        padding: 24px 0;
    }

    .wbv-pathway__item:nth-child(even) .wbv-pathway__media {
        order: -1;
    }

    .wbv-pathway__num {
        order: 0;
    }

    .wbv-pathway__media {
        height: 200px;
        max-height: 220px;
    }

    .wbv-util-links {
        grid-template-columns: 1fr;
    }

    .wbv-footer__grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 767px) {
    .wbv-fed {
        padding-top: var(--space-4, 16px);
    }

    .wbv-fed__strip {
        height: var(--wbv-fed-strip-h-sm);
        border-radius: var(--radius-md);
    }

    .wbv-page-intro {
        padding-top: var(--wbv-page-intro-top, 64px);
        padding-bottom: var(--wbv-page-intro-bottom, 48px);
    }

    .wbv-fed:not(.wbv-fed--no-strip) + .wbv-page-intro {
        padding-top: var(--space-6, 32px);
    }

    .wbv-page-intro__lead {
        font-size: var(--text-body, 1rem);
    }

    .wbv-ed-card a {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 18px 0;
    }

    .wbv-footer {
        padding: 40px 0 24px;
    }

    body.page-id-218 .wbv-footer {
        padding: 40px 0 24px !important;
    }

    body.page-id-218 footer.wp-block-template-part > .wp-block-group {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    .wbv-footer__grid {
        grid-template-columns: 1fr;
        gap: 24px;
        margin-bottom: 24px;
    }

    .wbv-footer__col-title {
        font-size: var(--text-eyebrow, 0.6875rem);
        margin-bottom: 10px;
    }

    .wbv-footer__list a {
        font-size: var(--text-body, 0.9375rem);
    }

    .wbv-footer address {
        font-size: var(--text-body, 0.9375rem);
    }

    .wbv-footer__bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        padding-top: 20px;
    }

    .wbv-footer__legal a,
    .wbv-footer__bottom p {
        font-size: 0.875rem;
    }
}

/* Spielbetrieb hub: upcoming list only (no month grid) */
.wbv-events-preview .wbv-events__filters,
.wbv-events-preview .wbv-events__toggle,
.wbv-events-preview .wbv-events__calendar {
    display: none !important;
}

.wbv-events-preview .wbv-events__layout {
    display: block;
}

.wbv-events-preview .wbv-events__agenda {
    margin: 0;
    padding: 0;
    border: 0;
}


/* =========================================================
   WBV INTERNAL PAGE HERO SYSTEM — REMOVED
   Replaced by hub strip (.wbv-fed) + .wbv-page-intro.
   ========================================================= */


/* =========================================================
   VERBAND — overview hub (WBV design system)
   ========================================================= */

body.page-id-14 {
    --wbv-page-gap: calc(var(--container-padding) * 2);
}

body.page-id-14 .wp-block-post-title {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

body.page-id-14 main.has-global-padding,
body.page-id-14 main > .wp-block-group.has-global-padding,
body.page-id-14 .entry-content.has-global-padding {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.page-id-14 main > .wp-block-group.has-global-padding {
    padding-bottom: var(--space-8, 64px) !important;
}

body.page-id-14 .entry-content.wp-block-post-content {
    padding-top: 0 !important;
    margin-block-start: 0 !important;
}

body.page-id-14 .entry-content.is-layout-constrained > .wbv-hero {
    max-width: none !important;
}

body.page-id-14 .entry-content.is-layout-constrained > .wbv-vb-page {
    max-width: var(--wbv-max-width) !important;
}

.wbv-vb-page {
    width: calc(100% - var(--wbv-page-gap));
    max-width: var(--wbv-max-width);
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    padding-bottom: var(--wbv-page-end, var(--space-9, 96px));
}

/* ---------- Sections ---------- */
.wbv-vb-section {
    margin-bottom: var(--wbv-section-gap, 64px);
    scroll-margin-top: calc(var(--wbv-header-height, 96px) + 16px);
}

.wbv-vb-section:last-child {
    margin-bottom: 0;
}

.wbv-vb-section > h2 {
    margin: 0 0 12px;
    font-family: var(--font-sans, Manrope, sans-serif);
    font-size: 1.75rem;
    line-height: 1.25;
    font-weight: 700;
    letter-spacing: -0.015em;
    color: var(--color-text-primary, #202020);
}

.wbv-vb-section > .wbv-vb-section-intro {
    margin: 0 0 28px;
    max-width: 760px;
    font-size: 0.9375rem;
    line-height: 1.55;
    color: var(--color-text-secondary, #555555);
}

/* ---------- Primary area cards ---------- */
.wbv-vb-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    align-items: stretch;
}

.wbv-vb-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 28px 28px 24px;
    border: 1px solid var(--color-border, #e3e3e3);
    border-radius: var(--radius-md);
    background: var(--color-surface-subtle, #f4f4f4);
    box-sizing: border-box;
    transition: border-color 200ms ease, box-shadow 200ms ease, transform 200ms ease;
}

.wbv-vb-card:hover {
    border-color: #d4d0c6;
    box-shadow: 0 1px 0 rgba(32, 32, 32, 0.04);
    transform: translateY(-1px);
}

.wbv-vb-card:hover .wbv-vb-cta {
    color: var(--color-brand-hover, #c51f1b) !important;
}

.wbv-vb-card img {
    width: 60px;
    height: 60px;
    object-fit: contain;
    object-position: left center;
    margin: 0 0 14px;
    display: block;
}

.wbv-vb-card h3 {
    margin: 0 0 10px;
    font-size: 1.1875rem;
    font-weight: 700;
    line-height: 1.25;
    color: var(--color-text-primary, #202020);
}

.wbv-vb-card p {
    margin: 0 0 20px;
    flex: 1;
    font-size: 0.9375rem;
    line-height: 1.5;
    color: var(--color-text-secondary, #5f5f5f);
}

.wbv-vb-cta {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: auto;
    color: var(--color-brand, #d9231e) !important;
    font-size: 0.9375rem;
    font-weight: 600;
    text-decoration: none !important;
    background: none !important;
    border: 0 !important;
    padding: 0 !important;
    min-height: auto !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.wbv-vb-cta::after {
    content: "→";
    transition: transform 180ms ease;
}

.wbv-vb-cta:hover::after,
.wbv-vb-cta:focus-visible::after {
    transform: translateX(2px);
}

.wbv-vb-cta:focus-visible {
    outline: 2px solid var(--color-focus, #d9231e);
    outline-offset: 2px;
}

/* ---------- Zentrale Aufgaben — editorial, no cards ---------- */
.wbv-vb-tasks {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 32px 40px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.wbv-vb-task {
    margin: 0;
    padding: 20px 0 0;
    border-top: 1px solid var(--color-border, #e3e3e3);
    background: transparent;
    box-sizing: border-box;
}

.wbv-vb-task-num {
    display: block;
    margin: 0 0 10px;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    color: var(--color-brand, #d9231e);
}

.wbv-vb-task-label {
    display: block;
    margin: 0 0 8px;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--color-text-primary, #202020);
}

.wbv-vb-task p {
    margin: 0;
    font-size: 0.9375rem;
    line-height: 1.5;
    color: var(--color-text-secondary, #5f5f5f);
}

/* ---------- Contact CTA band ---------- */
.wbv-vb-help {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    padding: 40px 36px;
    border-radius: var(--radius-md);
    background: var(--color-surface-subtle, #f4f4f4);
    box-sizing: border-box;
}

.wbv-vb-help__copy {
    min-width: 0;
    max-width: 40rem;
}

.wbv-vb-help h2 {
    margin: 0 0 8px;
    font-size: var(--text-h3);
    line-height: var(--leading-title);
    font-weight: var(--weight-bold);
    color: var(--color-text-primary, #202020);
}

.wbv-vb-help p {
    margin: 0;
    font-size: 1rem;
    line-height: 1.5;
    color: var(--color-text-secondary, #5f5f5f);
}

.wbv-vb-help .wbv-vb-cta {
    flex-shrink: 0;
    font-size: 1rem;
}

@media (max-width: 1023px) {
    .wbv-vb-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .wbv-vb-grid .wbv-vb-card:last-child {
        grid-column: 1 / -1;
        max-width: calc(50% - 12px);
    }
}

@media (max-width: 900px) {
    .wbv-vb-page {
        padding-bottom: 64px;
    }

    .wbv-vb-section {
        margin-bottom: var(--wbv-section-gap-sm, 48px);
    }

    .wbv-vb-tasks {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .wbv-vb-task {
        padding: 20px 0;
    }
}

@media (max-width: 767px) {
    .wbv-vb-grid {
        grid-template-columns: 1fr;
    }

    .wbv-vb-grid .wbv-vb-card:last-child {
        grid-column: auto;
        max-width: none;
    }

    .wbv-vb-card {
        padding: 24px;
    }

    .wbv-vb-card img {
        width: 52px;
        height: 52px;
    }

    .wbv-vb-help {
        flex-direction: column;
        align-items: flex-start;
        gap: 18px;
        padding: 28px 24px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .wbv-vb-card,
    .wbv-vb-cta::after {
        transition: none;
    }

    .wbv-vb-card:hover {
        transform: none;
    }
}


/* =========================================================
   DESIGNER PAGE CSS: ORGANISATION
   ========================================================= */

/* =========================================================
   ORGANISATION — WBV design system
   ========================================================= */

body.page-id-56 .wp-block-post-title {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

body.page-id-56 main.has-global-padding,
body.page-id-56 main > .wp-block-group.has-global-padding,
body.page-id-56 .entry-content.has-global-padding {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.page-id-56 .entry-content.wp-block-post-content {
    padding-top: 0 !important;
    margin-block-start: 0 !important;
}

.wbv-org-page {
    width: calc(100% - var(--wbv-page-gap));
    max-width: var(--wbv-max-width);
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

.wbv-org-body {
    }

@media (max-width: 767px) {
    .wbv-org-body { }
}

.wbv-org-section {
    margin-bottom: var(--space-8, 64px);
    scroll-margin-top: calc(var(--wbv-header-height, 96px) + 16px);
}

.wbv-org-section > h2 {
    margin: 0 0 12px;
    font-family: var(--font-sans, Manrope, sans-serif);
    font-size: 1.75rem;
    line-height: 1.25;
    font-weight: 700;
    letter-spacing: -0.015em;
    color: var(--color-text-primary, #202020);
}

.wbv-org-section > .wbv-org-section-intro {
    margin: 0 0 28px;
    max-width: 760px;
    font-size: 0.9375rem;
    line-height: 1.55;
    color: var(--color-text-secondary, #555555);
}

/* Präsidium — institutional rows, not profile cards */
.wbv-org-presidium-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    border-top: 1px solid var(--border-color, #e3e3e3);
}

.wbv-org-person {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px 24px;
    align-items: baseline;
    padding: 18px 0;
    border: 0;
    border-bottom: 1px solid var(--border-color, #e3e3e3);
    border-radius: 0;
    background: transparent;
    box-sizing: border-box;
}

.wbv-org-person--lead {
    grid-column: auto;
    border-top: 0;
    background: transparent;
}

.wbv-org-person h3 {
    margin: 0;
    grid-column: 1;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.25;
    color: var(--color-text-primary, #202020);
}

.wbv-org-person--lead h3 {
    font-size: 1.2rem;
}

.wbv-org-role {
    grid-column: 1;
    margin: 2px 0 0;
    color: var(--color-text-secondary, #5f5f5f);
    font-size: 0.9375rem;
}

.wbv-org-person .wbv-org-cta {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: center;
    margin-top: 0;
}

.wbv-org-cta {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: auto;
    color: var(--color-brand, #d9231e) !important;
    font-size: 0.9375rem;
    font-weight: 600;
    text-decoration: none !important;
    background: none !important;
    border: 0 !important;
    padding: 0 !important;
    min-height: auto !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.wbv-org-cta::after {
    content: "→";
    transition: transform var(--transition-fast, 150ms ease);
}

.wbv-org-cta:hover::after,
.wbv-org-cta:focus-visible::after {
    transform: translateX(3px);
}

.wbv-org-cta:focus-visible {
    outline: 2px solid var(--color-focus, #d9231e);
    outline-offset: 2px;
}

/* Referat groups */
.wbv-org-group {
    margin-bottom: var(--space-7, 48px);
}

.wbv-org-group:last-child { margin-bottom: 0; }

.wbv-org-group-title {
    margin: 0 0 var(--space-4, 16px);
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-text-secondary, #5f5f5f);
}

.wbv-org-referat-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    border-top: 1px solid var(--border-color, #e3e3e3);
}

.wbv-org-referat {
    display: grid;
    grid-template-columns: minmax(11rem, 0.9fr) minmax(0, 1.4fr) auto;
    gap: 8px 28px;
    align-items: start;
    scroll-margin-top: calc(var(--wbv-header-height, 96px) + 16px);
    padding: 18px 0;
    border: 0;
    border-bottom: 1px solid var(--border-color, #e3e3e3);
    border-radius: 0;
    background: transparent;
    box-sizing: border-box;
}

.wbv-org-referat.is-vacant {
    background: transparent;
}

.wbv-org-referat h4 {
    margin: 0;
    grid-column: 1;
    grid-row: 1;
    font-size: 1.0625rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--color-text-primary, #202020);
}

.wbv-org-person-name {
    margin: 2px 0 0;
    grid-column: 1;
    grid-row: 2;
    font-size: 0.9375rem;
    font-weight: 500;
    color: var(--color-text-secondary, #5f5f5f);
}

.wbv-org-badge {
    display: inline-flex;
    align-items: center;
    grid-column: 1;
    grid-row: 2;
    min-height: 22px;
    margin: 4px 0 0;
    padding: 0;
    width: fit-content;
    border-radius: 0;
    background: transparent;
    color: var(--color-brand, #d9231e);
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.2;
}

.wbv-org-duties-label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.wbv-org-duties {
    margin: 0;
    padding: 0;
    list-style: none;
    grid-column: 2;
    grid-row: 1 / span 3;
    color: var(--color-text-secondary, #5f5f5f);
    font-size: 0.9375rem;
    line-height: 1.45;
}

.wbv-org-duties li { margin-bottom: 4px; }
.wbv-org-duties li:last-child { margin-bottom: 0; }

.wbv-org-desc {
    margin: 0;
    grid-column: 2;
    grid-row: 1 / span 3;
    color: var(--color-text-secondary, #5f5f5f);
    font-size: 0.9375rem;
    line-height: 1.5;
}

.wbv-org-referat > .wbv-org-cta {
    grid-column: 3;
    grid-row: 1 / span 3;
    align-self: center;
    margin-top: 0;
    white-space: nowrap;
}

.wbv-org-fallback {
    margin-top: var(--space-6, 32px);
    padding-top: var(--space-5, 24px);
    border-top: 1px solid var(--color-border, #e3e3e3);
}

.wbv-org-fallback p {
    margin: 0 0 var(--space-2, 8px);
    color: var(--color-text-secondary, #5f5f5f);
    font-size: 1rem;
}

/* Shared section title + intro — Organisation typescale (sitewide) */
.wbv-nw-section > h2,
.wbv-nw-section__head > h2,
.wbv-ss-section > h2,
.wbv-ss-section__head > h2,
.wbv-edu-section > h2,
.wbv-edu-section__head > h2,
.wbv-to-section > h2 {
    margin: 0 0 12px;
    font-family: var(--font-sans, Manrope, sans-serif);
    font-size: 1.75rem;
    line-height: 1.25;
    font-weight: 700;
    letter-spacing: -0.015em;
    color: var(--color-text-primary, #202020);
}

.wbv-nw-section-intro,
.wbv-ss-section-intro,
.wbv-edu-section-intro,
.wbv-to-section > p {
    margin: 0 0 28px;
    max-width: 760px;
    font-size: 0.9375rem;
    line-height: 1.55;
    color: var(--color-text-secondary, #555555);
}

.wbv-nw-section__head .wbv-nw-section-intro,
.wbv-ss-section__head .wbv-ss-section-intro,
.wbv-edu-section__head .wbv-edu-section-intro {
    margin-bottom: 0;
}
.wbv-org-ehrenamt {
    --wbv-cta-banner-bg: url("/wp-content/uploads/2026/08/WBV_CTA_Banner_Shuttlecock.jpg");
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 0.85fr);
    gap: 20px 32px;
    align-items: center;
    padding: clamp(22px, 2.8vw, 30px) clamp(24px, 3vw, 36px);
    border-radius: 18px;
    overflow: hidden;
    background-color: #0c1a33;
    box-sizing: border-box;
    isolation: isolate;
}

.wbv-org-ehrenamt::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            102deg,
            rgba(8, 20, 46, 0.96) 0%,
            rgba(8, 20, 46, 0.9) 48%,
            rgba(8, 20, 46, 0.45) 72%,
            rgba(8, 20, 46, 0.2) 100%
        );
    z-index: 0;
}

.wbv-org-ehrenamt::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: var(--wbv-cta-banner-bg);
    background-size: cover;
    background-position: 78% 42%;
    z-index: -1;
}

.wbv-org-ehrenamt > * {
    position: relative;
    z-index: 1;
    min-width: 0;
}

.wbv-org-ehrenamt h2,
body [class*="-section--cta"] .wbv-org-ehrenamt h2 {
    margin: 0 0 8px !important;
    max-width: 40rem;
    font-family: Manrope, sans-serif !important;
    font-size: 1.5rem !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    letter-spacing: -0.015em !important;
    color: #fff !important;
}

.wbv-org-ehrenamt p,
.wbv-org-ehrenamt__lead,
.wbv-org-ehrenamt__role,
body [class*="-section--cta"] .wbv-org-ehrenamt p,
body [class*="-section--cta"] .wbv-org-ehrenamt__lead,
body [class*="-section--cta"] .wbv-org-ehrenamt__role {
    margin: 0 0 8px !important;
    max-width: 40rem;
    font-family: Manrope, sans-serif !important;
    font-size: 0.875rem !important;
    line-height: 1.5 !important;
    font-weight: 400 !important;
    color: rgba(255, 255, 255, 0.82) !important;
}

.wbv-org-ehrenamt p:last-child,
body [class*="-section--cta"] .wbv-org-ehrenamt p:last-child {
    margin-bottom: 0 !important;
}

.wbv-org-ehrenamt__lead,
body [class*="-section--cta"] .wbv-org-ehrenamt__lead {
    font-weight: 700 !important;
    color: #fff !important;
}

.wbv-org-ehrenamt-points,
body [class*="-section--cta"] .wbv-org-ehrenamt-points {
    margin: 8px 0 0 !important;
    padding: 0 0 0 1.1em;
    max-width: 40rem;
    color: rgba(255, 255, 255, 0.82) !important;
    font-family: Manrope, sans-serif !important;
    font-size: 0.875rem !important;
    line-height: 1.5 !important;
}

.wbv-org-ehrenamt-points li {
    margin-bottom: 4px;
}

.wbv-org-ehrenamt__action,
.wbv-org-ehrenamt__actions {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    gap: 10px;
}

body .wbv-org-ehrenamt .wbv-org-cta,
body .wbv-org-ehrenamt .wbv-org-primary,
body .wbv-org-ehrenamt .wp-block-button__link,
body [class*="-section--cta"] .wbv-org-ehrenamt__action a,
body [class*="-section--cta"] .wbv-org-ehrenamt__actions a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    width: fit-content !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 0 18px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--color-brand, #d9231e) !important;
    color: #fff !important;
    font-family: Manrope, sans-serif !important;
    font-size: 0.9375rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    transition: background-color 0.18s ease;
}

body .wbv-org-ehrenamt .wbv-org-cta::after,
body .wbv-org-ehrenamt .wbv-org-primary::after,
body .wbv-org-ehrenamt .wp-block-button__link::after,
body [class*="-section--cta"] .wbv-org-ehrenamt__action a::after,
body [class*="-section--cta"] .wbv-org-ehrenamt__actions a::after {
    content: none !important;
}

body .wbv-org-ehrenamt .wbv-org-cta:hover,
body .wbv-org-ehrenamt .wbv-org-cta:focus-visible,
body .wbv-org-ehrenamt .wbv-org-primary:hover,
body .wbv-org-ehrenamt .wbv-org-primary:focus-visible,
body .wbv-org-ehrenamt .wp-block-button__link:hover,
body .wbv-org-ehrenamt .wp-block-button__link:focus-visible,
body [class*="-section--cta"] .wbv-org-ehrenamt__action a:hover,
body [class*="-section--cta"] .wbv-org-ehrenamt__action a:focus-visible,
body [class*="-section--cta"] .wbv-org-ehrenamt__actions a:hover,
body [class*="-section--cta"] .wbv-org-ehrenamt__actions a:focus-visible {
    background: var(--color-brand-hover, #c51f1b) !important;
    color: #fff !important;
    text-decoration: none !important;
}

body .wbv-org-ehrenamt .wbv-org-cta:focus-visible,
body .wbv-org-ehrenamt .wbv-org-primary:focus-visible,
body .wbv-org-ehrenamt .wp-block-button__link:focus-visible,
body [class*="-section--cta"] .wbv-org-ehrenamt__action a:focus-visible,
body [class*="-section--cta"] .wbv-org-ehrenamt__actions a:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 2px;
}

/* Full-bleed CTA — space above banner, flush to footer */
body [class*="-section"]:has(+ [class*="-section--cta"]) {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

body [class*="-section"] + [class*="-section--cta"] {
    border-top: 0 !important;
    padding-top: 80px !important;
    margin-top: 0 !important;
}

body [class*="-page"] > [class*="-section--cta"],
body [class*="-section--cta"],
body [class*="-section--cta"]:last-child {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

body [class*="-section--cta"] > .wbv-org-ehrenamt {
    grid-column: 1 / -1 !important;
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        min(
            calc(100% - var(--wbv-page-gap, 40px)),
            var(--wbv-max-width, 1360px)
        )
        minmax(0, 1fr);
    gap: 16px 0;
    align-items: start;
    border-radius: 0 !important;
    padding: 80px 0 56px;
}

body [class*="-section--cta"] .wbv-org-ehrenamt > * {
    grid-column: 2;
}

body [class*="-section--cta"] .wbv-org-ehrenamt__action,
body [class*="-section--cta"] .wbv-org-ehrenamt__actions {
    align-items: flex-start;
    justify-content: flex-start;
}

body [class*="-section--cta"] .wbv-org-ehrenamt__actions {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 10px 16px;
}

@media (min-width: 1200px) {
    .wbv-org-presidium-grid {
        grid-template-columns: minmax(0, 1fr);
    }
    .wbv-org-person--lead {
        grid-column: auto;
    }
}

@media (max-width: 900px) {
    .wbv-org-referat {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 6px 16px;
    }
    .wbv-org-duties,
    .wbv-org-desc {
        grid-column: 1;
        grid-row: 3;
    }
    .wbv-org-referat > .wbv-org-cta {
        grid-column: 2;
        grid-row: 1 / span 2;
    }
    .wbv-org-ehrenamt {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .wbv-org-ehrenamt__action,
    .wbv-org-ehrenamt__actions {
        align-items: flex-start;
    }
    body [class*="-section--cta"] > .wbv-org-ehrenamt {
        grid-template-columns:
            minmax(0, 1fr)
            min(
                calc(100% - var(--wbv-page-gap, 40px)),
                var(--wbv-max-width, 1360px)
            )
            minmax(0, 1fr) !important;
        gap: 16px 0;
        border-radius: 0 !important;
    }
}

@media (max-width: 767px) {
    .wbv-org-presidium-grid,
    .wbv-org-referat-grid {
        grid-template-columns: 1fr;
    }
    .wbv-org-person--lead { grid-column: auto; }
    .wbv-org-ehrenamt {
        grid-template-columns: 1fr;
        gap: 16px;
        padding: 20px 16px;
        min-height: 140px;
        border-radius: 0;
    }
    .wbv-org-ehrenamt h2,
    body [class*="-section--cta"] .wbv-org-ehrenamt h2 {
        font-size: 1.375rem !important;
        line-height: 1.2 !important;
    }
    .wbv-org-ehrenamt p,
    body [class*="-section--cta"] .wbv-org-ehrenamt p {
        font-size: 0.875rem !important;
    }
    body .wbv-org-ehrenamt .wbv-org-cta,
    body .wbv-org-ehrenamt .wbv-org-primary,
    body .wbv-org-ehrenamt .wp-block-button__link,
    body [class*="-section--cta"] .wbv-org-ehrenamt__action a,
    body [class*="-section--cta"] .wbv-org-ehrenamt__actions a {
        min-height: 34px !important;
        padding: 0 14px !important;
        font-size: 0.8125rem !important;
        font-weight: 600 !important;
    }
    .wbv-org-ehrenamt::after {
        background-position: 85% 40%;
    }
    .wbv-org-ehrenamt__action,
    .wbv-org-ehrenamt__actions {
        align-items: flex-start;
    }

    body [class*="-section--cta"] > .wbv-org-ehrenamt {
        grid-template-columns:
            minmax(0, 1fr)
            min(
                calc(100% - var(--wbv-page-gap, 32px)),
                var(--wbv-max-width, 1360px)
            )
            minmax(0, 1fr) !important;
        gap: 16px 0;
        padding: 40px 0 32px !important;
        min-height: 140px;
        border-radius: 0 !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .wbv-org-cta::after { transition: none; }
}


/* =========================================================
   RANK TILES
   Filled gray cards + overlapping outlined numbers
   Nachwuchs / Schulsport / Ausbildung numbered blocks
   ========================================================= */

body.page-id-20 .wbv-nw-pillars,
body.page-id-115 .wbv-ss-cols:not(.wbv-cols-plain),
body.page-id-22 .wbv-edu-cols:not(.wbv-cols-plain) {
    align-items: stretch;
    gap: 22px 32px;
    padding-left: 1.5rem;
    overflow: visible;
}

body.page-id-20 .wbv-nw-pillar,
body.page-id-115 .wbv-ss-cols:not(.wbv-cols-plain) .wbv-ss-item,
body.page-id-22 .wbv-edu-cols:not(.wbv-cols-plain) .wbv-edu-item {
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    height: 100%;
    min-height: 100%;
    margin: 0;
    padding: 20px 22px 22px 3.35rem;
    border: 0;
    border-radius: var(--radius-md, 16px);
    background: var(--color-surface-muted, #f4f4f4);
    box-sizing: border-box;
    overflow: visible;
}

body.page-id-20 .wbv-nw-pillar__num,
body.page-id-115 .wbv-ss-cols:not(.wbv-cols-plain) .wbv-ss-item__num,
body.page-id-22 .wbv-edu-cols:not(.wbv-cols-plain) .wbv-edu-item__num {
    position: absolute;
    left: -0.22em;
    bottom: -0.08em;
    z-index: 3;
    display: block;
    width: auto;
    min-height: 0;
    margin: 0;
    padding: 0;
    font-family: Manrope, sans-serif;
    font-size: clamp(3.75rem, 5.2vw, 5.5rem);
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.07em;
    line-height: 0.72;
    color: #fff;
    -webkit-text-fill-color: #fff;
    -webkit-text-stroke: 0.055em var(--color-brand, #d9231e);
    paint-order: stroke fill;
    filter: drop-shadow(3px 4px 0 rgba(32, 32, 32, 0.16));
    pointer-events: none;
    user-select: none;
}

body.page-id-115 .wbv-ss-cols:not(.wbv-cols-plain) .wbv-ss-item .wbv-org-cta,
body.page-id-22 .wbv-edu-cols:not(.wbv-cols-plain) .wbv-edu-item .wbv-org-cta {
    margin-top: auto;
    padding-top: 20px !important;
}

body.page-id-20 .wbv-nw-pillar__label,
body.page-id-20 .wbv-nw-pillar h3,
body.page-id-20 .wbv-nw-pillar p,
body.page-id-115 .wbv-ss-item__label,
body.page-id-115 .wbv-ss-item h3,
body.page-id-115 .wbv-ss-item p,
body.page-id-115 .wbv-ss-item .wbv-org-cta,
body.page-id-22 .wbv-edu-item__label,
body.page-id-22 .wbv-edu-item h3,
body.page-id-22 .wbv-edu-item p,
body.page-id-22 .wbv-edu-item .wbv-org-cta {
    position: relative;
    z-index: 1;
}


/* Editorial columns: no gray card, small red numbers */
body.page-id-115 .wbv-ss-cols.wbv-cols-plain,
body.page-id-22 .wbv-edu-cols.wbv-cols-plain {
    align-items: start;
    gap: 32px 48px;
    padding-left: 0;
    overflow: visible;
}

body.page-id-22 .wbv-edu-cols.wbv-cols-plain.wbv-edu-cols--2 {
    gap: 0;
}

body.page-id-22 .wbv-edu-cols.wbv-cols-plain.wbv-edu-cols--2 > li:first-child {
    padding-right: 40px;
    border-right: 1px solid var(--color-border, #e3e3e3);
}

body.page-id-22 .wbv-edu-cols.wbv-cols-plain.wbv-edu-cols--2 > li:last-child {
    padding-left: 40px;
}

body.page-id-115 .wbv-cols-plain .wbv-ss-item,
body.page-id-22 .wbv-cols-plain .wbv-edu-item {
    position: static;
    isolation: auto;
    display: block;
    height: auto;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
}

body.page-id-115 .wbv-cols-plain .wbv-ss-item__num,
body.page-id-22 .wbv-cols-plain .wbv-edu-item__num {
    position: static;
    left: auto;
    bottom: auto;
    z-index: auto;
    display: block;
    width: auto;
    min-height: 0;
    margin: 0 0 10px;
    padding: 0;
    font-family: inherit;
    font-size: 0.75rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.04em;
    line-height: 1.2;
    color: var(--color-brand, #d9231e);
    -webkit-text-fill-color: var(--color-brand, #d9231e);
    -webkit-text-stroke: 0;
    paint-order: normal;
    filter: none;
    pointer-events: auto;
    user-select: auto;
}

body.page-id-115 .wbv-cols-plain .wbv-ss-item .wbv-org-cta,
body.page-id-22 .wbv-cols-plain .wbv-edu-item .wbv-org-cta {
    margin-top: 16px;
    padding-top: 0;
}

@media (max-width: 900px) {
    body.page-id-115 .wbv-ss-cols.wbv-cols-plain,
    body.page-id-22 .wbv-edu-cols.wbv-cols-plain {
        gap: 0;
    }

    body.page-id-22 .wbv-edu-cols.wbv-cols-plain.wbv-edu-cols--2 > li:first-child {
        padding-right: 0;
        border-right: 0;
    }

    body.page-id-22 .wbv-edu-cols.wbv-cols-plain.wbv-edu-cols--2 > li:last-child {
        padding-left: 0;
    }

    body.page-id-115 .wbv-ss-cols.wbv-cols-plain > li,
    body.page-id-22 .wbv-edu-cols.wbv-cols-plain > li {
        padding: 24px 0;
        border-top: 1px solid var(--color-border, #e3e3e3);
    }

    body.page-id-115 .wbv-ss-cols.wbv-cols-plain > li:first-child,
    body.page-id-22 .wbv-edu-cols.wbv-cols-plain > li:first-child {
        padding-top: 0;
        border-top: 0;
    }

    body.page-id-115 .wbv-ss-cols.wbv-cols-plain > li:last-child,
    body.page-id-22 .wbv-edu-cols.wbv-cols-plain > li:last-child {
        padding-bottom: 0;
    }
}


/* =========================================================
   DESIGNER PAGE CSS: SPORTAUSSCHUSS
   ========================================================= */

/* =========================================================
   SPORTAUSSCHUSS & SCHIEDSGERICHT — WBV design system
   Aligns with Organisation page patterns
   ========================================================= */

body.page-id-58 .wp-block-post-title {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

body.page-id-58 main.has-global-padding,
body.page-id-58 main > .wp-block-group.has-global-padding,
body.page-id-58 .entry-content.has-global-padding {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.page-id-58 .entry-content.wp-block-post-content {
    padding-top: 0 !important;
    margin-block-start: 0 !important;
}

.wbv-sg-page {
    width: calc(100% - var(--wbv-page-gap));
    max-width: var(--wbv-max-width);
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

.wbv-sg-body {
    }

@media (max-width: 767px) {
    .wbv-sg-body { }
}

.wbv-sg-section {
    margin-bottom: var(--space-8, 64px);
    scroll-margin-top: calc(var(--wbv-header-height, 96px) + 16px);
}

.wbv-sg-section > h2 {
    margin: 0 0 12px;
    font-family: var(--font-sans, Manrope, sans-serif);
    font-size: 1.75rem;
    line-height: 1.25;
    font-weight: 700;
    letter-spacing: -0.015em;
    color: var(--color-text-primary, #202020);
}

.wbv-sg-section > .wbv-sg-section-intro {
    margin: 0 0 28px;
    max-width: 760px;
    font-size: 0.9375rem;
    line-height: 1.55;
    color: var(--color-text-secondary, #555555);
}

/* Membership grids */
.wbv-sg-members {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--grid-gap, 24px);
}

.wbv-sg-person {
    display: flex;
    flex-direction: column;
    padding: var(--space-5, 24px);
    border: 1px solid var(--color-border, #e3e3e3);
    border-radius: var(--radius-md, 16px);
    background: var(--color-surface, #fff);
    box-sizing: border-box;
}

.wbv-sg-person--lead {
    grid-column: 1 / -1;
    border-top: 3px solid var(--color-brand, #d9231e);
    background: var(--color-surface-subtle, #f4f4f4);
}

.wbv-sg-person h3 {
    margin: 0 0 6px;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.25;
    color: var(--color-text-primary, #202020);
}

.wbv-sg-person--lead h3 {
    font-size: 1.25rem;
}

.wbv-sg-role {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--color-text-secondary, #5f5f5f);
}

/* Schiedsgericht: slightly cooler distinction without red overload */
.wbv-sg-section--court .wbv-sg-person--lead {
    border-top-color: var(--color-text-primary, #202020);
}

.wbv-sg-group-label {
    margin: 0 0 var(--space-4, 16px);
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-text-secondary, #5f5f5f);
}

/* Regelwerke closing CTA */
.wbv-sg-docs {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 48px 32px;
    border-radius: var(--radius-md, 16px);
    background: var(--color-surface-subtle, #f4f4f4);
    box-sizing: border-box;
}

.wbv-sg-docs h2 {
    margin: 0 0 12px;
    font-family: var(--font-sans, Manrope, sans-serif);
    font-size: 1.75rem;
    line-height: 1.25;
    font-weight: 700;
    letter-spacing: -0.015em;
    color: var(--color-text-primary, #202020);
}

.wbv-sg-docs p {
    margin: 0 0 28px;
    max-width: 760px;
    font-size: 0.9375rem;
    line-height: 1.55;
    color: var(--color-text-secondary, #555555);
}

.wbv-sg-docs .wbv-sg-primary {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    margin: 0;
    padding: 10px 20px !important;
    border-radius: var(--radius-md, 16px) !important;
    background: var(--color-brand, #d9231e) !important;
    color: #fff !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

.wbv-sg-docs .wbv-sg-primary:hover {
    background: var(--color-brand-hover, #c51f1b) !important;
}

.wbv-sg-docs .wbv-sg-primary:focus-visible {
    outline: 2px solid var(--color-focus, #d9231e);
    outline-offset: 3px;
}

@media (min-width: 1200px) {
    .wbv-sg-members {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .wbv-sg-person--lead {
        grid-column: 1 / -1;
    }
}

@media (max-width: 767px) {
    .wbv-sg-members {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--mobile-card-gap, 12px);
    }
    .wbv-sg-person--lead {
        grid-column: 1 / -1;
    }
    .wbv-sg-person {
        padding: var(--mobile-card-padding, 16px);
    }
    .wbv-sg-docs {
        padding: 24px 16px;
    }
}

@media (max-width: 389px) {
    .wbv-sg-members {
        grid-template-columns: 1fr;
    }
    .wbv-sg-person--lead { grid-column: auto; }
}


/* =========================================================
   DESIGNER PAGE CSS: SPIELBETRIEB
   ========================================================= */

/* =========================================================
   SPIELBETRIEB — simplified overview (hero + explanation)
   ========================================================= */

body.page-id-18 {
    --wbv-page-gap: calc(var(--container-padding) * 2);
}

body.page-id-18 .wp-block-post-title {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

body.page-id-18 main.has-global-padding,
body.page-id-18 main > .wp-block-group.has-global-padding,
body.page-id-18 .entry-content.has-global-padding {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.page-id-18 main > .wp-block-group.has-global-padding {
    padding-bottom: var(--space-8, 64px) !important;
}

body.page-id-18 .entry-content.wp-block-post-content {
    padding-top: 0 !important;
    margin-block-start: 0 !important;
}

body.page-id-18 .entry-content.is-layout-constrained > .wbv-hero {
    max-width: none !important;
}

.wbv-sb-page {
    width: calc(100% - var(--wbv-page-gap));
    max-width: var(--wbv-max-width, var(--container-max, 1360px));
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

/* --- Explanation section --- */

.wbv-sb-body {
    padding-top: var(--wbv-post-hero-pad-overlay, var(--space-5, 24px));
    padding-bottom: var(--wbv-page-end, 48px);
}

.wbv-sb-how {
    margin: 0;
}

.wbv-sb-how > h2 {
    margin: 0 0 12px;
    font-family: var(--font-sans, Manrope, sans-serif);
    font-size: 1.75rem;
    line-height: 1.25;
    font-weight: 700;
    letter-spacing: -0.015em;
    color: var(--color-text-primary, #202020);
}

.wbv-sb-how__intro {
    margin: 0 0 28px;
    max-width: 760px;
    font-size: 0.9375rem;
    line-height: 1.55;
    color: var(--color-text-secondary, #555555);
}

.wbv-sb-pillars {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 40px 48px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.wbv-sb-pillar {
    margin: 0;
    padding: 0;
    background: none;
    border: 0;
    box-shadow: none;
}

.wbv-sb-pillar::before {
    content: "";
    display: block;
    width: 28px;
    height: 3px;
    margin: 0 0 var(--space-4, 16px);
    background: var(--color-brand, #d9231e);
}

.wbv-sb-pillar-label {
    display: block;
    margin: 0 0 8px;
    font-size: 0.75rem; /* 12px */
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-text-secondary, #5f5f5f);
}

.wbv-sb-pillar h3 {
    margin: 0 0 var(--space-3, 12px);
    font-size: var(--text-h4);
    line-height: var(--leading-title);
    font-weight: var(--weight-bold);
    color: var(--color-text-primary, #202020);
}

.wbv-sb-pillar p {
    margin: 0 0 var(--space-4, 16px);
    font-size: 0.9375rem; /* 15px */
    line-height: 1.5;
    color: var(--color-text-secondary, #5f5f5f);
    max-width: 36ch;
}

.wbv-sb-pillar-links {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin: 0;
    padding: 0;
}

.wbv-sb-text-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--color-brand, #d9231e) !important;
    font-size: 0.9375rem; /* 15px */
    font-weight: 600;
    text-decoration: none !important;
}

.wbv-sb-text-link::after {
    content: "→";
    transition: transform var(--transition-fast, 150ms ease);
}

.wbv-sb-text-link:hover::after,
.wbv-sb-text-link:focus-visible::after {
    transform: translateX(2px);
}

.wbv-sb-text-link:focus-visible {
    outline: 2px solid var(--color-focus, #d9231e);
    outline-offset: 2px;
}

@media (max-width: 1100px) {
.wbv-sb-pillars {
        gap: 32px 36px;
    }
}

@media (max-width: 1024px) {
.wbv-sb-pillars {
        grid-template-columns: 1fr;
        gap: 36px;
    }
}

@media (max-width: 767px) {
.wbv-sb-body {
        padding-top: var(--wbv-post-hero-pad-overlay, var(--space-5, 24px));
        padding-bottom: var(--wbv-page-end, 48px);
    }

.wbv-sb-how__intro {
        margin-bottom: var(--space-6, 32px);
    }

.wbv-sb-pillars {
        gap: 36px;
    }

.wbv-sb-pillar p {
        max-width: none;
    }
}


/* =========================================================
   DESIGNER PAGE CSS: VEREINE
   ========================================================= */

/* =========================================================
   VEREINE — page shell (club finder styles live in wbv-vereine.js)
   ========================================================= */

body.page-id-16 {
    --wbv-page-gap: calc(var(--container-padding) * 2);
}

body.page-id-16 .wp-block-post-title {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

body.page-id-16 main.has-global-padding,
body.page-id-16 main > .wp-block-group.has-global-padding,
body.page-id-16 .entry-content.has-global-padding {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.page-id-16 main > .wp-block-group.has-global-padding {
    padding-bottom: var(--space-8, 64px) !important;
}

body.page-id-16 .entry-content.wp-block-post-content {
    padding-top: 0 !important;
    margin-block-start: 0 !important;
}

body.page-id-16 .entry-content.is-layout-constrained > .wbv-hero {
    max-width: none !important;
}

.wbv-ve-page {
    width: 100%;
    max-width: none;
    margin: 0;
    box-sizing: border-box;
    padding-bottom: var(--wbv-page-end, 48px);
    --wbv-ve-rail: min(
        calc(100% - var(--wbv-page-gap, 40px)),
        var(--wbv-max-width, 1360px)
    );
}

body.page-id-16 .entry-content.is-layout-constrained > .wbv-ve-page {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.page-id-16 .wbv-subhero + .wbv-ve-page {
    margin-top: 0 !important;
}

/* Hero sheet matches club search toolbar gray (no white strip) */
body.page-id-16 .wbv-subhero::after {
    background: var(--color-surface-subtle, #f4f4f4);
}

body.page-id-18 .wbv-subhero + .wbv-kalender-page {
    margin-top: 0 !important;
}

/* Hero sheet matches search toolbar gray (no white strip) */
body.page-id-18 .wbv-subhero::after {
    background: var(--color-surface-subtle, #f4f4f4);
}

.wbv-ve-body { }

.wbv-ve-features {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    margin-bottom: var(--wbv-section-gap-sm, 48px);
}

.wbv-ve-feature {
    display: flex;
    flex-direction: column;
    padding: 22px;
    border-radius: var(--radius-md, 16px);
    background: var(--color-surface-subtle, #f4f4f4);
    box-sizing: border-box;
}

.wbv-ve-feature img {
    width: 64px;
    height: 64px;
    object-fit: contain;
    object-position: left center;
    margin-bottom: 14px;
    display: block;
}

.wbv-ve-feature h2 {
    margin: 0 0 8px;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.3;
}

.wbv-ve-feature p {
    margin: 0 0 16px;
    color: var(--color-text-secondary, #5f5f5f);
    font-size: 0.9375rem;
    line-height: 1.5;
    flex: 1;
}

.wbv-ve-feature-cta {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: auto;
    color: var(--color-brand, #d9231e);
    font-size: 0.9375rem;
    font-weight: 600;
    text-decoration: none;
}

.wbv-ve-feature-cta::after { content: "→"; }

.wbv-ve-feature-cta:focus-visible {
    outline: 2px solid var(--color-focus, #d9231e);
    outline-offset: 2px;
}

@media (max-width: 900px) {
.wbv-ve-features { grid-template-columns: 1fr; }

.wbv-ve-feature img {
    width: 52px;
    height: 52px;
}
}

.wbv-ve-finder {
    scroll-margin-top: calc(var(--wbv-header-height, 96px) + 16px);
    margin-bottom: 24px;
}

.wbv-ve-finder > h2 {
    margin: 0 0 12px;
    font-family: var(--font-sans, Manrope, sans-serif);
    font-size: 1.75rem;
    line-height: 1.25;
    font-weight: 700;
    letter-spacing: -0.015em;
    color: var(--color-text-primary, #202020);
}

.wbv-ve-finder > .wbv-ve-finder-intro {
    margin: 0 0 28px;
    max-width: 760px;
    font-size: 0.9375rem;
    line-height: 1.55;
    color: var(--color-text-secondary, #555555);
}


/* =========================================================
   DESIGNER PAGE CSS: DOKUMENTE
   ========================================================= */

/* =========================================================
   DOKUMENTE & REGELWERKE — WBV design system
   Aligns with Organisation / News page patterns
   ========================================================= */

body.page-id-87 {
    --wbv-page-gap: calc(var(--container-padding) * 2);
}

body.page-id-87 .wp-block-post-title {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

body.page-id-87 main.has-global-padding,
body.page-id-87 main > .wp-block-group.has-global-padding,
body.page-id-87 .entry-content.has-global-padding {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.page-id-87 main > .wp-block-group.has-global-padding {
    padding-bottom: var(--space-8, 64px) !important;
}

body.page-id-87 .entry-content.wp-block-post-content {
    padding-top: 0 !important;
    margin-block-start: 0 !important;
}

.wbv-doc-page {
    width: calc(100% - var(--wbv-page-gap));
    max-width: var(--wbv-max-width);
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

.wbv-doc-body {
    }

@media (max-width: 767px) {
    .wbv-doc-body { }
}

.wbv-doc-note {
    margin: 0 0 32px;
    max-width: 42rem;
    font-size: 0.875rem;
    line-height: 1.5;
    color: var(--color-text-secondary, #5f5f5f);
}

.wbv-doc-section {
    margin-bottom: 64px;
    scroll-margin-top: calc(var(--wbv-header-height, 96px) + 16px);
}

.wbv-doc-section > h2 {
    margin: 0 0 12px;
    font-family: var(--font-sans, Manrope, sans-serif);
    font-size: 1.75rem;
    line-height: 1.25;
    font-weight: 700;
    letter-spacing: -0.015em;
    color: var(--color-text-primary, #202020);
}

.wbv-doc-section > .wbv-doc-section-intro {
    margin: 0 0 28px;
    max-width: 760px;
    font-size: 0.9375rem;
    line-height: 1.55;
    color: var(--color-text-secondary, #555555);
}

.wbv-doc-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    align-items: stretch;
    border-top: 1px solid var(--border-color, #e3e3e3);
}

.wbv-doc-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 6px 24px;
    align-items: baseline;
    min-width: 0;
    height: auto;
    padding: 18px 0;
    border: 0;
    border-bottom: 1px solid var(--border-color, #e3e3e3);
    border-radius: 0;
    background: transparent;
    box-sizing: border-box;
}

.wbv-doc-card h3 {
    margin: 0;
    grid-column: 1;
    font-size: 1.0625rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--color-text-primary, #202020);
}

.wbv-doc-type {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin: 0;
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: var(--color-text-muted, #7a7a7a);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    grid-column: 1;
}

.wbv-doc-card p {
    margin: 0;
    grid-column: 1;
    flex: none;
    max-width: 40rem;
    color: var(--color-text-secondary, #5f5f5f);
    font-size: 0.9375rem;
    line-height: 1.5;
}

.wbv-doc-cta {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: 0;
    grid-column: 2;
    grid-row: 1 / span 3;
    align-self: center;
    color: var(--color-brand, #d9231e) !important;
    font-size: 0.9375rem;
    font-weight: 600;
    text-decoration: none !important;
    background: none !important;
    border: 0 !important;
    padding: 0 !important;
    min-height: auto !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    white-space: nowrap;
}

.wbv-doc-cta::after {
    content: "→";
    transition: transform var(--transition-fast, 150ms ease);
}

.wbv-doc-cta:hover::after,
.wbv-doc-cta:focus-visible::after {
    transform: translateX(3px);
}

.wbv-doc-cta:focus-visible {
    outline: 2px solid var(--color-focus, #d9231e);
    outline-offset: 2px;
}

.wbv-doc-help {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 48px 32px;
    border-radius: var(--radius-md, 16px);
    background: var(--color-surface-subtle, #f4f4f4);
    box-sizing: border-box;
}

.wbv-doc-help h2 {
    margin: 0 0 12px;
    font-family: var(--font-sans, Manrope, sans-serif);
    font-size: 1.75rem;
    line-height: 1.25;
    font-weight: 700;
    letter-spacing: -0.015em;
    color: var(--color-text-primary, #202020);
}

.wbv-doc-help p {
    margin: 0 0 28px;
    max-width: 760px;
    font-size: 0.9375rem;
    line-height: 1.55;
    color: var(--color-text-secondary, #555555);
}

.wbv-doc-help .wbv-doc-primary {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    margin: 0;
    padding: 10px 20px !important;
    border-radius: var(--radius-md, 16px) !important;
    background: var(--color-brand, #d9231e) !important;
    color: #fff !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

.wbv-doc-help .wbv-doc-primary:hover {
    background: var(--color-brand-hover, #c51f1b) !important;
}

.wbv-doc-help .wbv-doc-primary:focus-visible {
    outline: 2px solid var(--color-focus, #d9231e);
    outline-offset: 3px;
}

@media (max-width: 1199px) {
    .wbv-doc-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .wbv-doc-grid { grid-template-columns: 1fr; gap: 16px; }
    .wbv-doc-section { margin-bottom: 48px; }
    .wbv-doc-help { padding: 32px 24px; }
    .wbv-doc-body { }
}

@media (prefers-reduced-motion: reduce) {
    .wbv-doc-cta::after { transition: none; }
}


/* =========================================================
   WBV TURNIERE - DESIGNER COMPONENT STYLES
   ========================================================= */

.wbv-tu-page {
width: calc(100% - var(--wbv-page-gap));
    max-width: var(--wbv-max-width, 1360px);
    margin: 0 auto;
    box-sizing: border-box;
}

.wbv-tu-dir {
scroll-margin-top: calc(var(--header-sticky-height, 84px) + 16px);
}

.wbv-tu-dir__header {
display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px 24px;
    margin: 0 0 22px;
}

.wbv-tu-dir__header h2 {
margin: 0;
    font-size: var(--text-h3);
    font-weight: var(--weight-bold);
    line-height: var(--leading-title);
    letter-spacing: var(--tracking-heading);
    color: var(--color-text-primary, #202020);
    scroll-margin-top: calc(var(--header-sticky-height, 84px) + 16px);
}

.wbv-tu-dir__count {
margin: 0;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--color-text-secondary, #5f5f5f);
}

.wbv-turnier-filter {
    margin: 0 0 12px;
    padding: 18px 20px;
    border: 1px solid var(--color-border, #e3e3e3);
    border-radius: var(--radius-md);
    background: var(--color-surface, #fff);
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
}

.wbv-tu-filter-bar {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
    gap: 14px 16px;
    align-items: end;
    width: 100%;
}

.wbv-tu-filter-panel {
    display: none;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 16px;
    padding-top: 14px;
    border-top: 1px solid var(--color-border, #e3e3e3);
    width: 100%;
}

.wbv-tu-filter-panel.is-open,
.wbv-tu-filter-panel:not([hidden]) {
    display: grid;
}

.wbv-tu-filter-panel[hidden] {
    display: none !important;
}

.wbv-tu-filter-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 14px;
    border: 1px solid var(--color-border, #e3e3e3);
    border-radius: var(--radius-md);
    background: var(--color-surface-muted, #f4f4f4);
    color: var(--color-text-primary, #202020);
    font-family: inherit;
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
}

.wbv-tu-filter-toggle[aria-expanded="true"] {
    border-color: var(--color-brand, #d9231e);
    color: var(--color-brand, #d9231e);
    background: var(--color-brand-subtle, #fdf1f0);
}

.wbv-turnier-filter label {
display: flex;
    flex-direction: column;
    gap: 6px;
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--color-text-primary, #202020);
}

.wbv-turnier-filter select {
display: block;
    width: 100%;
    min-height: 44px;
    margin: 0;
    padding: 0 12px;
    border: 1px solid var(--color-border, #e3e3e3);
    border-radius: var(--radius-md);
    background: var(--color-surface, #fff);
    color: var(--color-text-primary, #202020);
    font-family: inherit;
    font-size: 0.9375rem;
    box-sizing: border-box;
}

.wbv-turnier-filter select:focus-visible {
outline: 2px solid var(--color-focus, #d9231e);
    outline-offset: 2px;
}

.wbv-tu-reset {
display: none;
    align-items: center;
    gap: 4px;
    margin: 0 0 28px;
    padding: 0;
    border: 0;
    background: none;
    color: var(--color-brand, #d9231e);
    font-family: inherit;
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
}

.wbv-tu-reset.is-visible {
display: inline-flex;
}

.wbv-tu-reset::after {
content: "→";
}

.wbv-tu-reset:focus-visible,
.wbv-tu-filter-toggle:focus-visible {
outline: 2px solid var(--color-focus, #d9231e);
    outline-offset: 2px;
}

.wbv-tu-filter-panel .wbv-tu-reset {
margin: 4px 0 0;
    grid-column: 1 / -1;
}

.wbv-tu-month {
margin: 0;
}

.wbv-tu-month + .wbv-tu-month {
margin-top: 32px;
}

.wbv-tu-month__title {
margin: 0 0 10px;
    font-size: 1.1875rem; /* 19px ≈ 18–20 */
    font-weight: 700;
    line-height: 1.25;
    color: var(--color-text-primary, #202020);
    scroll-margin-top: calc(var(--header-sticky-height, 84px) + 16px);
}

.wbv-tu-list {
margin: 0;
    padding: 0;
    list-style: none;
}

.wbv-tu-row {
display: grid;
    grid-template-columns: 80px minmax(0, 1.5fr) minmax(260px, 0.9fr) minmax(150px, 180px);
    gap: 12px 20px;
    align-items: start;
    padding: 18px 4px;
    border-bottom: 1px solid var(--color-border, #e3e3e3);
    box-sizing: border-box;
    transition: background var(--transition-fast, 150ms ease);
}

.wbv-tu-row:first-child {
border-top: 1px solid var(--color-border, #e3e3e3);
}

.wbv-tu-row:hover,
.wbv-tu-row:focus-within {
background: var(--color-surface-subtle, #f4f4f4);
}

.wbv-tu-date {
display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    padding-top: 1px;
}

.wbv-tu-date__day {
font-size: 1.5rem; /* 24px */
    font-weight: 700;
    line-height: 1;
    color: var(--color-text-primary, #202020);
    letter-spacing: -0.02em;
}

.wbv-tu-date__month {
font-size: 0.6875rem; /* 11px */
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--color-brand, #d9231e);
}

.wbv-tu-date__year {
font-size: 0.6875rem;
    font-weight: 600;
    color: var(--color-text-secondary, #5f5f5f);
}

.wbv-tu-main {
min-width: 0;
}

.wbv-tu-title {
margin: 0 0 6px;
    font-size: 1.0625rem; /* 17px */
    font-weight: 700;
    line-height: 1.3;
    color: var(--color-text-primary, #202020);
    overflow-wrap: anywhere;
}

.wbv-tu-meta {
display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 8px;
}

.wbv-tu-badge {
display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 22px;
    padding: 1px 8px;
    border-radius: var(--radius-pill);
    background: var(--color-surface-muted, #f4f4f4);
    color: var(--color-text-secondary, #5f5f5f);
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.2;
}

.wbv-tu-badge::before {
content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
    flex: 0 0 auto;
}

.wbv-tu-badge--erwachsene {
color: #555555; background: #f3f3f3;
}

.wbv-tu-badge--nachwuchs {
color: #c2185b; background: #fdf0f5;
}

.wbv-tu-badge--senioren {
color: #c49a00; background: #fbf6e4;
}

.wbv-tu-badge--allgemeine {
color: #555555; background: #f3f3f3;
}

.wbv-tu-status {
display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 1px 8px;
    border-radius: var(--radius-pill);
    border: 1px solid var(--color-border, #e3e3e3);
    background: transparent;
    color: var(--color-text-secondary, #5f5f5f);
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.2;
}

.wbv-tu-next {
display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 1px 8px;
    border-radius: var(--radius-pill);
    background: var(--color-brand-subtle, #fdf1f0);
    color: var(--color-brand, #d9231e);
    font-size: 0.6875rem;
    font-weight: 600;
    line-height: 1.2;
}

.wbv-tu-submeta {
margin: 0;
    font-size: 0.8125rem; /* 13px */
    line-height: 1.4;
    color: var(--color-text-secondary, #5f5f5f);
}

.wbv-tu-venue {
min-width: 0;
}

.wbv-tu-venue-action {
display: contents;
}

.wbv-tu-venue__name {
margin: 0 0 3px;
    font-size: 0.9375rem; /* 15px */
    font-weight: 600;
    line-height: 1.35;
    color: var(--color-text-primary, #202020);
}

.wbv-tu-venue__addr,
.wbv-tu-venue__courts {
margin: 0;
    font-size: 0.8125rem;
    line-height: 1.4;
    color: var(--color-text-secondary, #5f5f5f);
}

.wbv-tu-action-slot {
min-width: 0;
    justify-self: end;
    align-self: start;
    padding-top: 2px;
}

.wbv-tu-action {
display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--color-brand, #d9231e) !important;
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none !important;
    white-space: nowrap;
}

.wbv-tu-action:hover,
.wbv-tu-action:focus-visible {
text-decoration: underline !important;
}

.wbv-tu-action:focus-visible {
outline: 2px solid var(--color-focus, #d9231e);
    outline-offset: 2px;
}

.wbv-tu-docs {
margin-top: 56px;
    padding: 28px 0 0;
    border-top: 1px solid var(--color-border, #e3e3e3);
}

.wbv-tu-docs__label {
margin: 0 0 6px;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--color-text-secondary, #5f5f5f);
}

.wbv-tu-docs p {
margin: 0 0 10px;
    max-width: 40rem;
    font-size: 0.9375rem;
    line-height: 1.5;
    color: var(--color-text-secondary, #5f5f5f);
}

.wbv-tu-docs a {
display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--color-brand, #d9231e) !important;
    font-size: 0.9375rem;
    font-weight: 600;
    text-decoration: none !important;
}

.wbv-tu-docs a::after {
content: "→";
}

.wbv-tu-docs a:focus-visible {
outline: 2px solid var(--color-focus, #d9231e);
    outline-offset: 2px;
}

@media (max-width: 1024px) {
.wbv-tu-filter-bar {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.wbv-tu-filter-toggle {
        grid-column: 1 / -1;
        justify-self: start;
}

.wbv-tu-row {
grid-template-columns: 72px minmax(0, 1fr);
        gap: 10px 16px;
        padding: 18px 2px;
}

.wbv-tu-venue-action {
grid-column: 2;
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        justify-content: space-between;
        gap: 8px 24px;
}

.wbv-tu-venue {
flex: 1 1 220px;
        min-width: 0;
        display: block;
}

.wbv-tu-action-slot {
flex: 0 0 auto;
        justify-self: auto;
        padding-top: 0;
}

}

@media (max-width: 767px) {
.wbv-tu-page {
max-width: none;
        padding-bottom: 8px;
}

.wbv-tu-dir__header {
margin-bottom: 16px;
}

.wbv-tu-dir__header h2 {
font-size: 1.5rem; /* 24px */
}

.wbv-tu-dir__count {
font-size: 0.8125rem;
}

.wbv-turnier-filter {
display: block;
        padding: 14px 16px;
        margin-bottom: 0;
}

.wbv-tu-filter-bar {
display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 12px;
        align-items: end;
}

.wbv-tu-filter-toggle {
display: inline-flex !important;
        align-items: center;
        justify-content: center;
        min-height: 44px;
        padding: 0 14px;
        border: 1px solid var(--color-border, #e3e3e3);
        border-radius: var(--radius-md);
        background: var(--color-surface, #fff);
        color: var(--color-text-primary, #202020);
        font-family: inherit;
        font-size: 0.9375rem;
        font-weight: 600;
        cursor: pointer;
        white-space: nowrap;
}

.wbv-tu-filter-toggle[aria-expanded="true"] {
border-color: var(--color-brand, #d9231e);
        color: var(--color-brand, #d9231e);
}

.wbv-tu-filter-panel {
display: none;
        grid-template-columns: none;
        margin-top: 12px;
        padding-top: 12px;
        border-top: 1px solid var(--color-border, #e3e3e3);
}

.wbv-tu-filter-panel.is-open {
display: grid;
        gap: 12px;
}

.wbv-tu-filter-panel label {
display: flex;
}

.wbv-tu-reset,
    .wbv-tu-reset.is-visible {
display: none;
}

.wbv-tu-filter-panel.is-open .wbv-tu-reset.is-visible {
display: inline-flex !important;
        margin: 4px 0 0;
        min-height: 44px;
}

#wbv-turnier-liste {
margin-top: 28px;
}

.wbv-tu-month + .wbv-tu-month {
margin-top: 30px;
}

.wbv-tu-month__title {
margin-bottom: 6px;
        font-size: 1.125rem; /* 18px */
}

.wbv-tu-row {
grid-template-columns: 48px minmax(0, 1fr);
        gap: 8px 12px;
        padding: 16px 0;
        align-items: start;
}

.wbv-tu-venue-action {
grid-column: 2;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
}

.wbv-tu-date__day {
font-size: 1.375rem; /* 22px */
}

.wbv-tu-date__month {
font-size: 0.625rem; /* 10px */
}

.wbv-tu-title {
margin-bottom: 6px;
        font-size: 1rem; /* 16px */
        line-height: 1.3;
}

.wbv-tu-badge,
    .wbv-tu-status,
    .wbv-tu-next {
min-height: 20px;
        padding: 0 7px;
        font-size: 0.6875rem; /* 11px */
}

.wbv-tu-submeta {
font-size: 0.8125rem;
        line-height: 1.4;
}

.wbv-tu-venue {
margin-top: 10px;
        width: 100%;
}

.wbv-tu-venue__name {
font-size: 0.9375rem; /* 15px */
        margin-bottom: 2px;
}

.wbv-tu-venue__addr,
    .wbv-tu-venue__courts {
font-size: 0.8125rem;
}

.wbv-tu-action-slot {
justify-self: start;
        margin-top: 10px;
        padding-top: 0;
}

.wbv-tu-action {
font-size: 0.875rem;
        min-height: 44px;
        white-space: normal;
}

.wbv-tu-docs {
margin-top: 40px;
        padding: 24px 0 0;
}

.wbv-tu-docs p {
font-size: 0.9375rem;
}

}

@media (max-width: 380px) {
.wbv-tu-filter-bar {
grid-template-columns: 1fr;
}

.wbv-tu-filter-toggle {
justify-self: stretch;
}

}

@media (prefers-reduced-motion: reduce) {
.wbv-tu-row {
transition: none;
}

}



/* =========================================================
   WBV DESIGNER CONTENT WIDTH FIX
   Nachwuchs / Schulsport / Ausbildung / Technical Officials
   Kontakt / News
   ========================================================= */

/*
   WordPress .is-layout-constrained setzt direkte Kinder sonst
   wieder auf die globale Content-Breite (~900px).
   Die Designer-Seiten besitzen bereits ihre eigene 1360px-Achse.
*/
body.page-id-10 .entry-content.is-layout-constrained > .wbv-news-page,
body.page-id-20 .entry-content.is-layout-constrained > .wbv-dev-page,
body.page-id-115 .entry-content.is-layout-constrained > .wbv-dev-page,
body.page-id-22 .entry-content.is-layout-constrained > .wbv-dev-page,
body.page-id-24 .entry-content.is-layout-constrained > .wbv-contact-page {
    width: calc(100% - var(--wbv-page-gap)) !important;
    max-width: var(--wbv-max-width, 1360px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* Rail-grid Spielbetrieb / Entwicklung pages — full width, internal rail */
body.page-id-18 .entry-content.is-layout-constrained > .wbv-kalender-page,
body.page-id-83 .entry-content.is-layout-constrained > .wbv-liga-page,
body.page-id-20 .entry-content.is-layout-constrained > .wbv-nw-page,
body.page-id-115 .entry-content.is-layout-constrained > .wbv-ss-page,
body.page-id-22 .entry-content.is-layout-constrained > .wbv-edu-page,
body.page-id-183 .entry-content.is-layout-constrained > .wbv-to-page {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

/* Hero bleibt auf diesen Designer-Seiten full width */
body.page-id-18 .entry-content.is-layout-constrained > .wbv-hero,
body.page-id-10 .entry-content.is-layout-constrained > .wbv-hero,
body.page-id-20 .entry-content.is-layout-constrained > .wbv-hero,
body.page-id-115 .entry-content.is-layout-constrained > .wbv-hero,
body.page-id-22 .entry-content.is-layout-constrained > .wbv-hero,
body.page-id-183 .entry-content.is-layout-constrained > .wbv-hero,
body.page-id-24 .entry-content.is-layout-constrained > .wbv-hero {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}


/* =========================================================
   WBV DESIGNER AGENDA WIDGET
   Nachwuchs / Schulsport und weitere kleine Turnierlisten
   ========================================================= */

.wbv-turniere-widget {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box;
}

.wbv-agenda {
    margin: 0;
    padding: 0;
    list-style: none;
}

.wbv-agenda__row {
    display: grid;
    grid-template-columns:
        72px
        minmax(0, 1.35fr)
        minmax(200px, 1fr)
        1.25rem;
    gap: 14px 24px;
    align-items: start;
    padding: 16px 4px;
    border-bottom: 1px solid var(--color-border, #e3e3e3);
    box-sizing: border-box;
    transition: background var(--transition-fast, 150ms ease);
}

a.wbv-agenda__row {
    color: inherit;
    text-decoration: none !important;
    cursor: pointer;
}

a.wbv-agenda__row:hover .wbv-agenda__title,
a.wbv-agenda__row:focus-visible .wbv-agenda__title {
    color: var(--color-brand, #d9231e);
}

a.wbv-agenda__row:hover .wbv-agenda__go,
a.wbv-agenda__row:focus-visible .wbv-agenda__go {
    transform: translateX(3px);
}

.wbv-agenda__go {
    align-self: center;
    justify-self: end;
    min-height: 1.125rem;
    color: var(--color-brand, #d9231e);
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1;
    transition: transform 150ms ease;
}

.wbv-agenda__row:first-child {
    border-top: 1px solid var(--color-border, #e3e3e3);
}

.wbv-agenda__row:hover,
.wbv-agenda__row:focus-within {
    background: var(--color-surface-subtle, #f4f4f4);
}

.wbv-agenda__date {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding-top: 2px;
}

.wbv-agenda__day {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.02em;
    color: var(--color-text-primary, #202020);
}

.wbv-agenda__month {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--color-brand, #d9231e);
}

.wbv-agenda__main,
.wbv-agenda__venue {
    min-width: 0;
}

.wbv-agenda__title {
    margin: 0 0 6px;
    font-size: 1.0625rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--color-text-primary, #202020);
    overflow-wrap: anywhere;
}

.wbv-agenda__meta {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.4;
    color: var(--color-text-secondary, #5f5f5f);
}

.wbv-agenda__halle {
    margin: 0 0 4px;
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1.35;
    color: var(--color-text-primary, #202020);
}

.wbv-agenda__addr {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.4;
    color: var(--color-text-secondary, #5f5f5f);
}

.wbv-agenda__links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin-top: 10px;
}

.wbv-agenda__link,
.wbv-turniere-alle {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-height: 44px;
    color: var(--color-brand, #d9231e) !important;
    font-size: 0.9375rem;
    font-weight: 600;
    text-decoration: none !important;
}

.wbv-agenda__link:hover,
.wbv-agenda__link:focus-visible,
.wbv-turniere-alle:hover,
.wbv-turniere-alle:focus-visible {
    text-decoration: underline !important;
}

.wbv-agenda__link:focus-visible,
.wbv-turniere-alle:focus-visible {
    outline: 2px solid var(--color-focus, #d9231e);
    outline-offset: 2px;
}

.wbv-turniere-keine {
    margin: 0;
    padding: 20px 22px;
    border-radius: var(--radius-md);
    background: var(--color-surface-subtle, #f4f4f4);
    color: var(--color-text-secondary, #5f5f5f);
    font-size: 0.9375rem;
    line-height: 1.5;
}

.wbv-turniere-keine p {
    margin: 0 0 8px;
}

.wbv-turniere-keine p:last-child {
    margin-bottom: 0;
}

.wbv-turniere-alle-wrap {
    margin-top: 18px;
}

@media (max-width: 800px) {
    .wbv-agenda__row {
        grid-template-columns: 48px minmax(0, 1fr) 1.25rem;
        gap: 6px 10px;
        row-gap: 14px;
        padding: 20px 0;
    }

    .wbv-agenda__go {
        grid-column: 3;
        grid-row: 1 / span 2;
        align-self: center;
        padding-left: 2px;
    }

    .wbv-agenda__venue {
        grid-column: 2;
        margin-top: 2px;
    }

    .wbv-agenda__title {
        margin: 0 0 8px;
    }

    .wbv-agenda__meta {
        margin: 0;
    }

    .wbv-agenda__halle {
        margin: 0 0 4px;
    }

    .wbv-agenda__day {
        font-size: 1.25rem;
    }

    .wbv-agenda__links {
        margin-top: 12px;
    }
}

@media (max-width: 767px) {
    body.page-id-10 .entry-content.is-layout-constrained > .wbv-news-page,
    body.page-id-20 .entry-content.is-layout-constrained > .wbv-dev-page,
    body.page-id-115 .entry-content.is-layout-constrained > .wbv-dev-page,
    body.page-id-22 .entry-content.is-layout-constrained > .wbv-dev-page,
    body.page-id-24 .entry-content.is-layout-constrained > .wbv-contact-page {
        width: calc(100% - var(--wbv-page-gap)) !important;
    }
}

/* END WBV DESIGNER CONTENT WIDTH FIX */


/* =========================================================
   WBV STARTSEITE — HERO UNTER TRANSPARENTEM HEADER
   ========================================================= */

/* Home header matches sitewide solid bar — no transparent overlay */
body.page-id-218 {
    --wbv-home-header-overlap: 0px;
}

/* Hero beginnt direkt am oberen Viewport-Rand */
body.page-id-218 main.wp-block-group {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

body.page-id-218 .entry-content.wp-block-post-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.page-id-218 .wbv-home-hero {
    position: relative;
    margin-top: 0 !important;
    width: 100vw !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    overflow: hidden;
}

body.page-id-218 .wbv-home-hero::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    height: var(--wbv-hero-curve);
    background: var(--color-surface, #ffffff);
    border-radius: var(--radius-lg, 24px) var(--radius-lg, 24px) 0 0;
    pointer-events: none;
}

/* Hero height / padding owned by wbv-news-slider.js responsive rules */



/* =========================================================
   WBV STARTSEITE — HEADER ECHT UEBER HERO
   ========================================================= */

/*
 * Der komplette Template-Part muss aus dem normalen
 * Dokumentfluss heraus. Nicht nur innere Header-Elemente.
 * fixed = bleibt beim Scrollen sichtbar (wie sticky auf anderen Seiten).
 */
/* Legacy WP header-over-hero overrides removed — solid sitewide header */


/* Home main: no extra WP top margin; mobile fixed-header spacer stays via ≤1100 rule */
body.page-id-218 .wp-site-blocks > main,
body.page-id-218 main#wp--skip-link--target {
    margin-top: 0 !important;
}

@media (min-width: 1101px) {
    body.page-id-218 .wp-site-blocks > main,
    body.page-id-218 main#wp--skip-link--target {
        padding-top: 0 !important;
    }
}


/* Auch der äußere WordPress-Seitenwrapper darf oben keinen Abstand haben */
body.page-id-218 main#wp--skip-link--target
> .wp-block-group.alignfull.has-global-padding {
    padding-top: 0 !important;
    margin-top: 0 !important;
}


/* Hero beginnt unter dem solid header (kein Overlay) */
body.page-id-218 .entry-content > .wbv-home-hero,
body.page-id-218 .wbv-home-hero {
    margin-top: 0 !important;
    padding-top: 0 !important;
}


/* Legacy home header white-on-hero text rules removed — solid sitewide nav */

/* =========================================================
   STARTSEITE - SOCIAL MEDIA
   ========================================================= */

.wbv-home-social {
    margin: 0;
    padding: 48px 0 64px;
    background: var(--color-surface-subtle, #f4f4f4);
}

.wbv-home-social__content {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(280px, 0.8fr);
    gap: 48px;
    align-items: end;
    padding-top: 32px;
    border-top: 1px solid var(--color-border, #e3e3e3);
}

.wbv-home-social__eyebrow {
    margin: 0 0 10px;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-brand, #d9231e);
}

.wbv-home-social h2 {
    margin: 0 0 12px;
    font-size: var(--text-h2);
    line-height: var(--leading-heading);
    font-weight: var(--weight-bold);
    letter-spacing: var(--tracking-heading);
    color: var(--color-text-primary, #202020);
}

.wbv-home-social p {
    max-width: 46rem;
    margin: 0;
    font-size: 1rem;
    line-height: 1.55;
    color: var(--color-text-secondary, #5f5f5f);
}

.wbv-home-social__links {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
}

.wbv-home-social__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 14px 0;
    border-bottom: 1px solid var(--color-border, #e3e3e3);
    color: var(--color-text-primary, #202020) !important;
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none !important;
}

.wbv-home-social__link:first-child {
    border-top: 1px solid var(--color-border, #e3e3e3);
}

.wbv-home-social__link span:last-child {
    color: var(--color-brand, #d9231e);
    transition: transform var(--transition-fast, 150ms ease);
}

.wbv-home-social__link:hover,
.wbv-home-social__link:focus-visible {
    color: var(--color-brand, #d9231e) !important;
}

.wbv-home-social__link:hover span:last-child,
.wbv-home-social__link:focus-visible span:last-child {
    transform: translateX(3px);
}

@media (max-width: 800px) {

    .wbv-home-social {
        padding: 40px 0 48px;
    }

    .wbv-home-social__content {
        grid-template-columns: 1fr;
        gap: 28px;
    }
}



/* =========================================================
   NEWS - FILTERABSTAENDE
   ========================================================= */

@media (min-width: 1200px) {

    body.page-id-10 .wbv-news-tools {
        column-gap: 28px !important;
    }

}



/* =========================================================
   STARTSEITE - MOBILES MENUE WIEDER NORMAL
   Geschlossener Header darf ueber Hero weiss sein,
   geoeffnetes Mobile-Menue ist wie auf Unterseiten.
   ========================================================= */

@media (max-width: 781px) {

    /* Geoeffneter Header / Mobile-Panel */
    body.home header.wp-block-template-part.wbv-header-root.is-menu-open {
        background: #ffffff !important;
        color: var(--wbv-ink, #202020) !important;
        border-bottom-color: rgba(32, 32, 32, 0.08) !important;
    }

    body.home header.wp-block-template-part.wbv-header-root.is-menu-open
    .wbv-header__title,

    body.home header.wp-block-template-part.wbv-header-root.is-menu-open
    .wbv-header__brand,

    body.home header.wp-block-template-part.wbv-header-root.is-menu-open
    .wbv-header__brand:link,

    body.home header.wp-block-template-part.wbv-header-root.is-menu-open
    .wbv-header__brand:visited,

    body.home header.wp-block-template-part.wbv-header-root.is-menu-open
    .wbv-header__menu-btn {
        color: var(--wbv-ink, #202020) !important;
        opacity: 1 !important;
    }


    /* Mobiles Menue */
    body.home header.wp-block-template-part.wbv-header-root.is-menu-open
    .wbv-mobile {
        background: #ffffff !important;
        color: var(--wbv-ink, #202020) !important;
    }

    body.home header.wp-block-template-part.wbv-header-root.is-menu-open
    .wbv-mobile__link,

    body.home header.wp-block-template-part.wbv-header-root.is-menu-open
    .wbv-mobile__link:link,

    body.home header.wp-block-template-part.wbv-header-root.is-menu-open
    .wbv-mobile__link:visited,

    body.home header.wp-block-template-part.wbv-header-root.is-menu-open
    .wbv-mobile__sublink,

    body.home header.wp-block-template-part.wbv-header-root.is-menu-open
    .wbv-mobile__sublink:link,

    body.home header.wp-block-template-part.wbv-header-root.is-menu-open
    .wbv-mobile__sublink:visited {
        color: var(--wbv-ink, #202020) !important;
        opacity: 1 !important;
    }


    /* Accordion-Pfeile */
    body.home header.wp-block-template-part.wbv-header-root.is-menu-open
    .wbv-mobile__toggle,

    body.home header.wp-block-template-part.wbv-header-root.is-menu-open
    .wbv-mobile__toggle svg,

    body.home header.wp-block-template-part.wbv-header-root.is-menu-open
    .wbv-mobile__toggle path {
        color: var(--wbv-ink, #202020) !important;
        stroke: var(--wbv-ink, #202020) !important;
    }


    /* Kein Active-State im Mobile-Menü (weder aktuelle Seite noch geöffnetes Accordion) */
    body.home header.wp-block-template-part.wbv-header-root.is-menu-open
    .wbv-mobile__item.is-active > .wbv-mobile__link,

    body.home header.wp-block-template-part.wbv-header-root.is-menu-open
    .wbv-mobile__item.is-open > .wbv-mobile__row > .wbv-mobile__link {
        color: var(--wbv-ink, #202020) !important;
        box-shadow: none !important;
    }

}


/* —— Shared page-shell rhythm (tokens) ——
   All non-home pages: L/R via --wbv-page-gap + max-width,
   top via subhero/intro/fed-gap (48), bottom via --wbv-page-end (48).
*/
.wbv-dev-page,
.wbv-vb-page,
.wbv-sb-page,
.wbv-news-page,
.wbv-contact-page,
.wbv-vp-page,
.wbv-tu-page,
.wbv-legal-page,
.wbv-article {
    width: calc(100% - var(--wbv-page-gap));
    max-width: var(--wbv-max-width, 1360px);
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    padding-bottom: var(--wbv-page-end, 48px);
}

/* Legal prose — Impressum, Datenschutz */
.wbv-legal-prose {
    max-width: 42rem;
}

.wbv-legal-prose section + section {
    margin-top: 1.75rem;
}

.wbv-legal-prose h2 {
    margin: 0 0 0.625rem;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: -0.01em;
    color: var(--color-text-primary, #202020);
}

.wbv-legal-prose > h2 {
    margin-top: 2.5rem;
    font-size: 1.25rem;
}

.wbv-legal-prose > h2:first-child {
    margin-top: 0;
}

.wbv-legal-prose p {
    margin: 0 0 1rem;
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--color-text-secondary, #555555);
}

.wbv-legal-prose p:last-child {
    margin-bottom: 0;
}

.wbv-legal-prose p strong {
    color: var(--color-text-primary, #202020);
    font-weight: 700;
}

.wbv-legal-prose a {
    color: var(--color-brand, #d9231e);
    text-decoration: none;
}

.wbv-legal-prose a:hover,
.wbv-legal-prose a:focus-visible {
    text-decoration: underline;
}

.wbv-legal-prose a:focus-visible {
    outline: 2px solid var(--color-brand, #d9231e);
    outline-offset: 2px;
}

/* Rail-grid shells: full width; L/R via internal rail, top via subhero gap */
.wbv-org-page,
.wbv-sg-page,
.wbv-doc-page,
.wbv-doc-body,
.wbv-nw-page,
.wbv-ss-page,
.wbv-edu-page,
.wbv-liga-page,
.wbv-to-page {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    padding-bottom: 0;
    box-sizing: border-box;
}

/* Kalender: full width, single bottom pad on shell */
.wbv-kalender-page {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-bottom: var(--wbv-fed-gap-after, 48px);
    box-sizing: border-box;
}

/* Drop stacked WP main bottom padding on every page except home */
body:not(.home):not(.page-id-218)
main > .wp-block-group.alignfull.has-global-padding {
    padding-bottom: 0 !important;
}

.wbv-vb-section {
    margin-bottom: var(--wbv-section-gap, var(--space-8, 64px));
}

.wbv-org-section,
.wbv-sg-section,
.wbv-doc-section {
    margin-bottom: 0;
}

.wbv-sb-body:not(.wbv-sb-page) {
    padding-top: var(--wbv-post-hero-pad-overlay, var(--space-5, 24px));
}

.wbv-sb-how + .wbv-sb-how {
    margin-top: var(--wbv-section-gap, var(--space-8, 64px));
}

.wbv-vb-section-intro + .wbv-area-grid,
.wbv-sb-how__intro + .wbv-area-grid {
    margin-top: 8px;
}

.wbv-vb-page > .wbv-vb-section:first-child > .wbv-area-grid,
.wbv-sb-page > .wbv-sb-how:first-child > .wbv-area-grid,
.wbv-sb-body > .wbv-sb-how:first-child > .wbv-area-grid {
    margin-top: 0;
}


/* =========================================================
   AREA CARDS — hub link-outs (Verband / Spielbetrieb / Entwicklung)
   Image → tags → title → text → pill CTA
   ========================================================= */

.wbv-area-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
    gap: clamp(16px, 1.6vw, 24px);
    align-items: stretch;
}

/* Hub pages: keep all area cards in one row on desktop */
.wbv-sb-page .wbv-area-grid,
.wbv-vb-page .wbv-area-grid {
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
}

.wbv-sb-page .wbv-area-grid {
    /* 4 Spielbetrieb cards */
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.wbv-vb-page .wbv-area-grid {
    /* Verband / Entwicklung: 3 cards */
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.wbv-sb-page .wbv-area-card__media,
.wbv-vb-page .wbv-area-card__media {
    aspect-ratio: 4 / 3;
}

.wbv-sb-page .wbv-area-card__body,
.wbv-vb-page .wbv-area-card__body {
    gap: 8px;
    padding-top: 12px;
}

.wbv-sb-page .wbv-area-card__title,
.wbv-vb-page .wbv-area-card__title {
    font-size: var(--text-h4, 1.25rem);
    line-height: 1.25;
}

.wbv-sb-page .wbv-area-card__text,
.wbv-vb-page .wbv-area-card__text {
    font-size: 0.875rem;
    line-height: 1.45;
}

.wbv-sb-page .wbv-area-card__cta,
.wbv-vb-page .wbv-area-card__cta {
    padding: 8px 14px;
    font-size: 0.8125rem;
}

.wbv-area-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    background: transparent;
}

.wbv-area-card__link {
    display: flex;
    flex-direction: column;
    flex: 1;
    height: 100%;
    color: inherit;
    text-decoration: none !important;
}

.wbv-area-card__link:focus-visible {
    outline: 2px solid var(--color-brand, #d9231e);
    outline-offset: 4px;
}

.wbv-area-card__media {
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #ececec;
}

.wbv-area-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease;
}

.wbv-area-card__link:hover .wbv-area-card__media img,
.wbv-area-card__link:focus-visible .wbv-area-card__media img {
    transform: scale(1.03);
}

.wbv-area-card__body {
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 12px;
    padding: 18px 0 0;
    box-sizing: border-box;
}

.wbv-area-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 14px;
    margin: 0;
    font-family: Manrope, sans-serif;
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.35;
    color: var(--color-text-muted, #7a7a7a);
}

.wbv-area-card__title {
    margin: 0;
    color: var(--color-text-primary, #202020);
}

.wbv-area-card__text {
    margin: 0;
    font-size: var(--text-small);
    font-weight: var(--weight-regular);
    line-height: var(--leading-small);
    color: var(--color-text-secondary, #5f5f5f);
}

.wbv-area-card__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    margin-top: auto;
    padding: 10px 18px;
    border: 1px solid var(--color-border-strong, #cacaca);
    border-radius: var(--radius-pill);
    background: #fff;
    color: var(--color-text-primary, #202020) !important;
    font-size: var(--text-button-sm);
    font-weight: var(--weight-semibold);
    line-height: var(--leading-ui);
    transition:
        border-color 0.18s ease,
        background-color 0.18s ease,
        color 0.18s ease;
}

.wbv-area-card__link:hover .wbv-area-card__cta,
.wbv-area-card__link:focus-visible .wbv-area-card__cta {
    border-color: var(--color-text-primary, #202020);
    background: var(--color-text-primary, #202020);
    color: #fff !important;
}

@media (max-width: 1100px) {
    .wbv-sb-page .wbv-area-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .wbv-area-grid,
    .wbv-sb-page .wbv-area-grid,
    .wbv-vb-page .wbv-area-grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .wbv-area-card__media,
    .wbv-sb-page .wbv-area-card__media,
    .wbv-vb-page .wbv-area-card__media {
        aspect-ratio: 16 / 9;
    }
}

@media (prefers-reduced-motion: reduce) {
    .wbv-area-card__media img,
    .wbv-area-card__cta {
        transition: none;
    }
}


/* =========================================================
   NEWS ARTICLE — editorial reading template
   ========================================================= */

.wbv-article {
    width: calc(100% - var(--wbv-page-gap, 80px));
    max-width: var(--wbv-max-width, 1360px);
    margin: 0 auto;
    padding: var(--wbv-fed-gap-after, 48px) 0 var(--wbv-page-end, 48px);
    box-sizing: border-box;
}

.wbv-article__header {
    max-width: 40rem;
    margin: 0 0 28px;
}

.wbv-article__meta {
    margin: 0 0 12px;
    color: var(--color-text-secondary, #5f5f5f);
    font-size: var(--text-meta, 0.75rem);
    font-weight: 500;
    line-height: 1.4;
}

.wbv-article__category {
    color: var(--color-brand, #d9231e);
    font-weight: 600;
}

.wbv-article__title {
    margin: 0 0 14px;
    font-size: clamp(1.75rem, 1.4rem + 1.2vw, 2.5rem);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: var(--color-text-primary, #202020);
}

.wbv-article__lead {
    margin: 0;
    max-width: 38rem;
    font-size: 1.125rem;
    line-height: 1.55;
    color: var(--color-text-secondary, #5f5f5f);
}

.wbv-article__media {
    margin: 0 0 36px;
    max-width: 56rem;
    overflow: hidden;
    background: var(--color-surface-muted, #f4f4f4);
}

.wbv-article__media img {
    display: block;
    width: 100%;
    height: auto;
}

.wbv-article__body {
    max-width: 40rem;
    font-size: 1.0625rem;
    line-height: 1.7;
    color: var(--color-text-primary, #202020);
}

.wbv-article__body > *:first-child { margin-top: 0; }
.wbv-article__body p { margin: 0 0 1.15em; }
.wbv-article__body a {
    color: var(--color-brand, #d9231e);
    text-decoration-thickness: 1px;
    text-underline-offset: 0.12em;
}

.wbv-article__back {
    margin: 40px 0 0;
    max-width: 40rem;
}

.wbv-article__back a {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--color-brand, #d9231e) !important;
    font-size: 0.9375rem;
    font-weight: 600;
    text-decoration: none !important;
}

.wbv-article__back a:focus-visible {
    outline: 2px solid var(--color-focus, #d9231e);
    outline-offset: 2px;
}

.wbv-article-related {
    margin-top: 56px;
    padding-top: 28px;
    border-top: 1px solid var(--border-color, #e3e3e3);
    max-width: 40rem;
}

.wbv-article-related h2 {
    margin: 0 0 16px;
    font-size: 1.125rem;
    font-weight: 700;
}

.wbv-article-related ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.wbv-article-related li {
    border-bottom: 1px solid var(--border-color, #e3e3e3);
}

.wbv-article-related a {
    display: grid;
    gap: 4px;
    padding: 14px 0;
    color: inherit;
    text-decoration: none !important;
}

.wbv-article-related a:focus-visible {
    outline: 2px solid var(--color-focus, #d9231e);
    outline-offset: 2px;
}

.wbv-article-related__meta {
    color: var(--color-text-secondary, #5f5f5f);
    font-size: var(--text-meta, 0.75rem);
    font-weight: 500;
}

.wbv-article-related__title {
    color: var(--color-text-primary, #202020);
    font-size: 1rem;
    font-weight: 650;
    line-height: 1.35;
}

.wbv-article-related a:hover .wbv-article-related__title {
    color: var(--color-brand, #d9231e);
}

@media (max-width: 767px) {
    .wbv-article {
        width: calc(100% - var(--wbv-page-gap));
        padding-top: 28px;
    }
    .wbv-article__lead {
        font-size: 1.0625rem;
    }
}

/* Mobile gutter — final authority after legacy breakpoint overrides */
@media (max-width: 767px) {
    :root {
        --container-padding: var(--mobile-gutter);
        --page-gutter: var(--mobile-gutter);
        --wbv-page-gap: calc(var(--mobile-gutter) * 2);
        --wbv-header-pad-x: var(--mobile-gutter);
        --wbv-wide-rail: calc(100% - var(--wbv-page-gap));
        --wbv-header-height-mobile: 60px;
    }
}

/* =========================================================
   MOBILE DESIGN SYSTEM (<=767px)
   Desktop unchanged. Shared rhythm, type, cards, heroes.
   ========================================================= */
@media (max-width: 767px) {
    body.page-id-20 .wbv-subhero--banner,
    body.page-id-115 .wbv-subhero--banner,
    body.page-id-22 .wbv-subhero--banner,
    body.page-id-18 .wbv-subhero--banner,
    body.page-id-16 .wbv-subhero--banner,
    body.page-id-83 .wbv-subhero--banner,
    body.page-id-183 .wbv-subhero--banner {
        --wbv-subhero-h: var(--mobile-hero-h, clamp(195px, 55vw, 247px));
    }

    .wbv-org-section,
    .wbv-sg-section,
    .wbv-doc-section,
    .wbv-to-section,
    .wbv-nw-section,
    .wbv-ss-section,
    .wbv-edu-section {
        --wbv-org-section-y: var(--mobile-section-space, 44px);
        --wbv-sg-section-y: var(--mobile-section-space, 44px);
        --wbv-doc-section-y: var(--mobile-section-space, 44px);
        --wbv-to-section-y: var(--mobile-section-space, 44px);
        --wbv-nw-section-y: var(--mobile-section-space, 44px);
        --wbv-ss-section-y: var(--mobile-section-space, 44px);
        --wbv-edu-section-y: var(--mobile-section-space, 44px);
    }

    .wbv-org-section:not(.wbv-org-section--cta),
    .wbv-sg-section:not(.wbv-sg-section--cta),
    .wbv-doc-section:not(.wbv-doc-section--cta),
    .wbv-to-section:not(.wbv-to-section--cta),
    .wbv-nw-section:not(.wbv-nw-section--cta),
    .wbv-ss-section:not(.wbv-ss-section--cta),
    .wbv-edu-section:not(.wbv-edu-section--cta) {
        padding-bottom: 0 !important;
    }

    .wbv-org-section + .wbv-org-section:not(.wbv-org-section--cta),
    .wbv-sg-section + .wbv-sg-section:not(.wbv-sg-section--cta),
    .wbv-doc-section + .wbv-doc-section:not(.wbv-doc-section--cta),
    .wbv-to-section + .wbv-to-section:not(.wbv-to-section--cta),
    .wbv-nw-section + .wbv-nw-section:not(.wbv-nw-section--cta),
    .wbv-ss-section + .wbv-ss-section:not(.wbv-ss-section--cta),
    .wbv-edu-section + .wbv-edu-section:not(.wbv-edu-section--cta) {
        padding-top: var(--mobile-section-space, 44px) !important;
    }

    /* Equal space above/below full-width section dividers */
    .wbv-org-section:not(.wbv-org-section--cta):has(+ .wbv-org-section:not(.wbv-org-section--cta)),
    .wbv-sg-section:not(.wbv-sg-section--cta):has(+ .wbv-sg-section:not(.wbv-sg-section--cta)),
    .wbv-doc-section:not(.wbv-doc-section--cta):has(+ .wbv-doc-section:not(.wbv-doc-section--cta)),
    .wbv-to-section:not(.wbv-to-section--cta):has(+ .wbv-to-section:not(.wbv-to-section--cta)),
    .wbv-nw-section:not(.wbv-nw-section--cta):has(+ .wbv-nw-section:not(.wbv-nw-section--cta)),
    .wbv-ss-section:not(.wbv-ss-section--cta):has(+ .wbv-ss-section:not(.wbv-ss-section--cta)),
    .wbv-edu-section:not(.wbv-edu-section--cta):has(+ .wbv-edu-section:not(.wbv-edu-section--cta)) {
        padding-bottom: var(--mobile-section-space, 44px) !important;
    }

    body [class*="-section"] + [class*="-section--cta"] {
        padding-top: 40px !important;
    }

    .wbv-org-section > h2,
    .wbv-org-section__head > h2,
    .wbv-sg-section > h2,
    .wbv-doc-section > h2,
    .wbv-to-section > h2,
    .wbv-nw-section > h2,
    .wbv-nw-section__head > h2,
    .wbv-ss-section > h2,
    .wbv-ss-section__head > h2,
    .wbv-edu-section > h2,
    .wbv-edu-section__head > h2,
    .wbv-contact-help,
    .wbv-contact-direct > h2 {
        font-size: var(--text-h2, 1.5rem) !important;
        line-height: 1.15 !important;
    }

    .wbv-page-intro__title {
        font-size: var(--text-h1, 1.8125rem) !important;
        line-height: 1.1 !important;
    }

    .wbv-org-section-intro,
    .wbv-sg-section-intro,
    .wbv-ss-section-intro,
    .wbv-nw-section-intro,
    .wbv-edu-section-intro,
    .wbv-doc-section-intro,
    .wbv-page-intro__lead,
    .wbv-to-section p,
    .wbv-contact-path p {
        font-size: var(--text-body, 0.9375rem) !important;
        line-height: 1.5 !important;
    }

    body.page-id-24 .wbv-page-intro__lead {
        font-size: 1rem !important;
    }

    .wbv-org-section > h2,
    .wbv-sg-section > h2,
    .wbv-nw-section > h2,
    .wbv-ss-section > h2,
    .wbv-edu-section > h2,
    .wbv-to-section > h2,
    .wbv-doc-section > h2 {
        margin-bottom: 10px !important;
    }

    .wbv-org-section > .wbv-org-section-intro,
    .wbv-sg-section > .wbv-sg-section-intro,
    .wbv-nw-section > .wbv-nw-section-intro,
    .wbv-ss-section > .wbv-ss-section-intro,
    .wbv-edu-section > .wbv-edu-section-intro,
    .wbv-doc-section > .wbv-doc-section-intro {
        margin-bottom: 22px !important;
    }

    body.page-id-56 .wbv-org-presidium-grid {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-areas:
            "photo"
            "p1"
            "p2"
            "p3"
            "k1"
            "k2" !important;
        gap: var(--mobile-card-gap, 12px) !important;
    }

    body.page-id-83 .wbv-org-presidium-grid,
    body.page-id-83 .wbv-org-presidium-grid--4 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: var(--mobile-card-gap, 12px) !important;
    }

    body.page-id-56 .wbv-org-referat-grid,
    body.page-id-83 .wbv-org-referat-grid,
    body.page-id-83 .wbv-org-referat-grid--3 {
        grid-template-columns: 1fr !important;
        gap: var(--mobile-card-gap, 12px) !important;
    }

    body.page-id-56 .wbv-org-person,
    body.page-id-83 .wbv-org-person:not(.wbv-liga-fact),
    body.page-id-56 .wbv-org-referat,
    body.page-id-83 .wbv-org-referat,
    body.page-id-20 .wbv-nw-card,
    .wbv-sg-person,
    .wbv-doc-card {
        padding: var(--mobile-card-padding, 16px) !important;
        min-height: 0 !important;
        box-shadow: none !important;
        border-radius: var(--radius-md, 16px);
    }

    body.page-id-56 .wbv-org-person,
    body.page-id-56 .wbv-org-referat {
        gap: 8px;
    }

    body.page-id-56 .wbv-org-role,
    body.page-id-56 .wbv-org-person-name,
    body.page-id-56 .wbv-org-badge,
    body.page-id-56 .wbv-org-duties,
    body.page-id-56 .wbv-org-desc {
        margin-top: 0;
    }

    body.page-id-56 .wbv-org-person .wbv-org-cta,
    body.page-id-56 .wbv-org-referat > .wbv-org-cta {
        margin-top: 0;
        padding-top: 0;
    }

    body.page-id-83 .wbv-org-referat {
        gap: 8px;
    }

    body.page-id-83 .wbv-org-desc,
    body.page-id-83 .wbv-org-meta,
    body.page-id-83 .wbv-org-duties {
        margin-top: 0;
    }

    body.page-id-83 .wbv-org-referat > .wbv-org-cta,
    body.page-id-83 .wbv-org-referat > .wbv-liga-doc-actions {
        margin-top: 0;
        padding-top: 0;
    }

    body.page-id-56 .wbv-org-group {
        margin-bottom: 28px !important;
    }

    body.page-id-56 .wbv-org-group-title {
        font-size: var(--text-eyebrow, 0.6875rem) !important;
        margin-bottom: 12px !important;
    }

    .wbv-sg-members {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: var(--mobile-card-gap, 12px) !important;
    }

    .wbv-sg-person--lead {
        grid-column: 1 / -1 !important;
    }

    body.page-id-83 .wbv-liga-steps {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
    }

    body.page-id-83 .wbv-liga-cols {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }

    body.page-id-83 .wbv-liga-cols > div:first-child {
        padding-right: 0 !important;
        border-right: 0 !important;
    }

    body.page-id-83 .wbv-org-person:not(.wbv-liga-fact) .wbv-org-badge {
        font-size: var(--text-meta, 0.75rem) !important;
    }

    body.page-id-83 .wbv-org-role,
    body.page-id-83 .wbv-org-desc,
    body.page-id-83 .wbv-liga-step p,
    body.page-id-83 .wbv-org-meta {
        font-size: var(--text-body, 0.9375rem) !important;
        line-height: 1.5 !important;
    }

    body.page-id-83 .wbv-org-meta {
        font-size: var(--text-meta, 0.75rem) !important;
    }

    body.page-id-56 .wbv-org-person h3,
    body.page-id-83 .wbv-org-person h3,
    body.page-id-83 .wbv-liga-step h3,
    body.page-id-20 .wbv-nw-pillar h3,
    body.page-id-115 .wbv-ss-item h3,
    body.page-id-22 .wbv-edu-item h3,
    .wbv-sg-person h3,
    .wbv-doc-card h3 {
        font-size: var(--text-h3, 1.125rem) !important;
        overflow-wrap: anywhere;
    }

    body.page-id-20 .wbv-nw-pillars,
    body.page-id-115 .wbv-ss-cols:not(.wbv-cols-plain),
    body.page-id-22 .wbv-edu-cols:not(.wbv-cols-plain) {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
        padding-left: 1.15rem !important;
    }

    body.page-id-20 .wbv-nw-pillar,
    body.page-id-115 .wbv-ss-cols:not(.wbv-cols-plain) .wbv-ss-item,
    body.page-id-22 .wbv-edu-cols:not(.wbv-cols-plain) .wbv-edu-item {
        padding: 16px 16px 18px 2.75rem !important;
        border: 0 !important;
        height: 100%;
        min-height: 100%;
    }

    body.page-id-20 .wbv-nw-pillar__num,
    body.page-id-115 .wbv-ss-cols:not(.wbv-cols-plain) .wbv-ss-item__num,
    body.page-id-22 .wbv-edu-cols:not(.wbv-cols-plain) .wbv-edu-item__num {
        font-size: 3.25rem;
        letter-spacing: -0.07em;
        -webkit-text-stroke-width: 0.06em;
        filter: drop-shadow(2px 3px 0 rgba(32, 32, 32, 0.16));
    }

    body.page-id-115 .wbv-ss-cols.wbv-cols-plain,
    body.page-id-22 .wbv-edu-cols.wbv-cols-plain {
        padding-left: 0 !important;
        gap: 0 !important;
    }

    body.page-id-115 .wbv-cols-plain .wbv-ss-item,
    body.page-id-22 .wbv-cols-plain .wbv-edu-item {
        padding: 24px 0 !important;
        height: auto;
        min-height: 0;
        background: transparent !important;
        border-radius: 0;
    }

    body.page-id-115 .wbv-cols-plain .wbv-ss-item:first-child,
    body.page-id-22 .wbv-cols-plain .wbv-edu-item:first-child {
        padding-top: 0 !important;
    }

    body.page-id-115 .wbv-cols-plain .wbv-ss-item:last-child,
    body.page-id-22 .wbv-cols-plain .wbv-edu-item:last-child {
        padding-bottom: 0 !important;
    }

    body.page-id-115 .wbv-cols-plain .wbv-ss-item__num,
    body.page-id-22 .wbv-cols-plain .wbv-edu-item__num {
        position: static;
        font-size: var(--text-eyebrow, 0.6875rem);
        font-weight: 700;
        letter-spacing: 0.04em;
        line-height: 1.2;
        color: var(--color-brand, #d9231e);
        -webkit-text-fill-color: var(--color-brand, #d9231e);
        -webkit-text-stroke: 0;
        filter: none;
    }

    body.page-id-22 .wbv-edu-row {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    body.page-id-183 .wbv-to-section > h2 {
        font-size: var(--text-h2, 1.5rem) !important;
        max-width: none;
    }

    .wbv-contact-paths {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
        border-top: 0 !important;
    }

    .wbv-contact-path {
        padding: 0 0 24px !important;
        border-bottom: 1px solid var(--color-border, #e3e3e3);
        margin-bottom: 24px;
    }

    .wbv-contact-path:last-child {
        margin-bottom: 0;
        border-bottom: 0;
        padding-bottom: 0 !important;
    }

    .wbv-contact-path h3 {
        font-size: var(--text-h3, 1.125rem) !important;
        margin-bottom: 8px !important;
    }

    .wbv-contact-path__link {
        padding-top: 10px;
    }

    .wbv-contact-help {
        margin-bottom: 20px !important;
    }

    .wbv-contact-direct {
        margin-top: 28px !important;
        padding-top: 28px !important;
    }

    .wbv-contact-direct > h2 {
        margin-bottom: 16px !important;
    }

    .wbv-contact-direct__email,
    .wbv-contact-direct__address {
        font-size: var(--text-body, 0.9375rem) !important;
    }

    .wbv-doc-grid {
        gap: 12px !important;
    }

    .wbv-doc-card {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    .wbv-doc-cta {
        font-size: 0.875rem !important;
    }
}

@media (max-width: 389px) {
    body.page-id-83 .wbv-org-presidium-grid,
    body.page-id-83 .wbv-org-presidium-grid--4,
    .wbv-sg-members {
        grid-template-columns: 1fr !important;
    }

    .wbv-sg-person--lead {
        grid-column: auto !important;
    }
}


/* =========================================================
   DESIGNER UPDATE 2 - ORGANISATION / PAGE 56
   aus Cursor-Snapshot uebernommen
   ========================================================= */

/* =========================================================
   ORGANISATION — editorial card layout (page-scoped)
   Compact afternoon typescale — do not enlarge
   ========================================================= */

body.page-id-56 {
    --wbv-page-gap: calc(var(--container-padding) * 2);
}

body.page-id-56 .wp-block-post-title {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

body.page-id-56 main.has-global-padding,
body.page-id-56 main > .wp-block-group.has-global-padding,
body.page-id-56 .entry-content.has-global-padding {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.page-id-56 main > .wp-block-group.has-global-padding {
    padding-bottom: 0 !important;
}

body.page-id-56 .entry-content.wp-block-post-content {
    padding-top: 0 !important;
    margin-block-start: 0 !important;
}

/* Content starts directly under hero (gap via global .wbv-subhero + [class*="-page"]) */
body.page-id-56 .wbv-org-page {
    width: 100%;
    max-width: none;
    margin: 0;
    box-sizing: border-box;
    --wbv-org-rail: min(
        calc(100% - var(--wbv-page-gap, 40px)),
        var(--wbv-max-width, 1360px)
    );
    --wbv-org-section-y: clamp(56px, 5vw, 80px);
    --wbv-section-cta-y: var(--wbv-org-section-y);
}

body.page-id-56 .wbv-org-section {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        var(--wbv-org-rail)
        minmax(0, 1fr);
    width: 100%;
    margin: 0;
    padding: 0 0 var(--wbv-org-section-y);
    box-sizing: border-box;
    scroll-margin-top: calc(var(--wbv-header-height, 96px) + 16px);
}

body.page-id-56 .wbv-org-section > * {
    grid-column: 2;
    min-width: 0;
}

/* Full-width Trennung wie Startseite (Präsidium ↔ Referate ↔ Ehrenamt) */
body.page-id-56 .wbv-org-section + .wbv-org-section {
    border-top: 1px solid var(--color-border, #e3e3e3);
    padding-top: var(--wbv-org-section-y);
}

body.page-id-56 .wbv-org-section:last-child {
    padding-bottom: var(--wbv-fed-gap-after, 48px);
}

body.page-id-56 .wbv-org-section > h2 {
    margin: 0 0 12px;
    font-family: Manrope, sans-serif;
    font-size: 1.75rem; /* 28px */
    line-height: 1.25;
    font-weight: 700;
    letter-spacing: -0.015em;
    color: var(--color-text-primary, #202020);
}

body.page-id-56 .wbv-org-section > .wbv-org-section-intro {
    margin: 0 0 28px;
    max-width: 760px;
    font-size: 0.9375rem; /* 15px */
    line-height: 1.55;
    color: var(--color-text-secondary, #555555);
}

/* Team photo — left column on desktop, full width on mobile */
body.page-id-56 .wbv-org-team-photo {
    grid-area: photo;
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
    min-width: 0;
    min-height: 0;
    height: 100%;
}

body.page-id-56 .wbv-org-team-photo__media {
    flex: 1 1 auto;
    margin: 0;
    min-height: 0;
    height: 100%;
    overflow: hidden;
    border-radius: var(--radius-md, 16px);
    background: var(--color-surface-subtle, #f4f4f4);
}

body.page-id-56 .wbv-org-team-photo__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 58%;
}

/* —— Präsidium: 33% image | 33% 3 cards | 33% 2 cards —— */
body.page-id-56 .wbv-org-presidium-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-areas:
        "photo p1 k1"
        "photo p2 k2"
        "photo p3 .";
    gap: 16px;
    border-top: 0;
    align-items: stretch;
}

body.page-id-56 .wbv-org-person--p1 { grid-area: p1; }
body.page-id-56 .wbv-org-person--p2 { grid-area: p2; }
body.page-id-56 .wbv-org-person--p3 { grid-area: p3; }
body.page-id-56 .wbv-org-person--k1 { grid-area: k1; }
body.page-id-56 .wbv-org-person--k2 { grid-area: k2; }

body.page-id-56 .wbv-org-person {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    min-width: 0;
    padding: 26px 28px;
    border: 1px solid var(--color-border, #e3e3e3);
    border-radius: var(--radius-md, 16px);
    background: #fff;
    box-shadow: none;
    box-sizing: border-box;
}

body.page-id-56 .wbv-org-person--lead {
    background: #fff;
}

body.page-id-56 .wbv-org-person h3 {
    margin: 0;
    font-size: 1.125rem; /* 18px */
    font-weight: 700;
    line-height: 1.3;
    color: var(--color-text-primary, #202020);
}

body.page-id-56 .wbv-org-person--lead h3 {
    font-size: 1.125rem;
}

body.page-id-56 .wbv-org-role {
    margin: 6px 0 0;
    color: var(--color-text-secondary, #555555);
    font-size: 0.9375rem; /* 15px */
    line-height: 1.4;
}

body.page-id-56 .wbv-org-person .wbv-org-cta {
    align-self: flex-start;
    margin-top: 18px;
    padding-top: 0;
}

/* —— Shared CTA —— */
body.page-id-56 .wbv-org-cta {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: auto;
    color: var(--color-brand, #d9231e) !important;
    font-size: 0.875rem; /* 14px */
    font-weight: 600;
    line-height: 1.3;
    text-decoration: none !important;
    background: none !important;
    border: 0 !important;
    padding: 0 !important;
    min-height: auto !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    white-space: normal;
}

body.page-id-56 .wbv-org-cta::after {
    content: "→";
    transition: transform 150ms ease;
}

body.page-id-56 .wbv-org-cta:hover::after,
body.page-id-56 .wbv-org-cta:focus-visible::after {
    transform: translateX(3px);
}

body.page-id-56 .wbv-org-cta:focus-visible {
    outline: 2px solid var(--color-brand, #d9231e);
    outline-offset: 2px;
}

/* —— Referat groups —— */
body.page-id-56 .wbv-org-group {
    margin-bottom: 40px;
}

body.page-id-56 .wbv-org-group:last-of-type {
    margin-bottom: 0;
}

body.page-id-56 .wbv-org-group-title {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0 0 16px;
    font-size: 0.8125rem; /* 13px */
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-text-secondary, #555555);
}

body.page-id-56 .wbv-org-group-title::after {
    content: "";
    flex: 1 1 auto;
    height: 1px;
    background: var(--color-border, #e3e3e3);
}

body.page-id-56 .wbv-org-referat-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    border-top: 0;
    align-items: start;
}

body.page-id-56 .wbv-org-referat {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    min-height: 0;
    scroll-margin-top: calc(var(--wbv-header-height, 96px) + 16px);
    padding: 26px 28px;
    border: 1px solid var(--color-border, #e3e3e3);
    border-radius: var(--radius-md, 16px);
    background: #fff;
    box-shadow: none;
    box-sizing: border-box;
}

body.page-id-56 .wbv-org-referat.is-vacant {
    background: var(--color-surface-subtle, #f4f4f4);
    border-color: #edd9d4;
}

body.page-id-56 .wbv-org-referat h4 {
    margin: 0;
    grid-column: auto;
    grid-row: auto;
    font-size: 1.125rem; /* 18px */
    font-weight: 700;
    line-height: 1.3;
    color: var(--color-text-primary, #202020);
}

body.page-id-56 .wbv-org-person-name {
    margin: 6px 0 0;
    grid-column: auto;
    grid-row: auto;
    font-size: 0.9375rem; /* 15px */
    font-weight: 500;
    line-height: 1.4;
    color: var(--color-text-primary, #202020);
}

body.page-id-56 .wbv-org-badge {
    display: inline-flex;
    align-items: center;
    grid-column: auto;
    grid-row: auto;
    margin: 8px 0 0;
    padding: 2px 0;
    width: fit-content;
    min-height: auto;
    border-radius: 0;
    background: transparent;
    color: var(--color-brand, #d9231e);
    font-size: 0.8125rem; /* 13px */
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.2;
}

body.page-id-56 .wbv-org-duties-label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

body.page-id-56 .wbv-org-duties {
    margin: 10px 0 0;
    padding: 0;
    list-style: none;
    grid-column: auto;
    grid-row: auto;
    color: var(--color-text-secondary, #555555);
    font-size: 0.9375rem; /* 15px */
    line-height: 1.5;
}

body.page-id-56 .wbv-org-duties li {
    margin-bottom: 2px;
}

body.page-id-56 .wbv-org-duties li:last-child {
    margin-bottom: 0;
}

body.page-id-56 .wbv-org-desc {
    margin: 10px 0 0;
    grid-column: auto;
    grid-row: auto;
    color: var(--color-text-secondary, #555555);
    font-size: 0.9375rem; /* 15px */
    line-height: 1.5;
}

body.page-id-56 .wbv-org-referat > .wbv-org-cta {
    align-self: flex-start;
    margin-top: 18px;
    padding-top: 0;
    white-space: normal;
}

/* —— Ehrenamt CTA band —— */

/* —— Responsive —— */
@media (max-width: 1100px) {
    body.page-id-56 .wbv-org-presidium-grid {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-areas:
            "photo"
            "p1"
            "p2"
            "p3"
            "k1"
            "k2" !important;
        gap: 16px;
    }

    body.page-id-56 .wbv-org-team-photo {
        height: auto;
    }

    body.page-id-56 .wbv-org-team-photo__media {
        flex: 0 0 auto;
        height: auto;
        aspect-ratio: 16 / 9;
    }

    body.page-id-56 .wbv-org-team-photo,
    body.page-id-56 .wbv-org-person {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
}

@media (max-width: 900px) {
    body.page-id-56 .wbv-org-referat-grid {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 767px) {
    body.page-id-56 .wbv-org-page {
        --wbv-org-rail: calc(100% - var(--wbv-page-gap));
        --wbv-org-section-y: var(--mobile-section-space, 44px);
    }

    body.page-id-56 .wbv-org-presidium-grid {
        gap: var(--mobile-card-gap, 12px) !important;
    }

    body.page-id-56 .wbv-org-team-photo__media {
        aspect-ratio: 16 / 9;
        border-radius: var(--radius-sm, 10px);
    }

    body.page-id-56 .wbv-org-team-photo__media img {
        object-position: center 55%;
    }

    body.page-id-56 .wbv-org-referat-grid {
        grid-template-columns: 1fr;
        gap: var(--mobile-card-gap, 12px);
    }

    body.page-id-56 .wbv-org-person,
    body.page-id-56 .wbv-org-referat {
        width: 100%;
        max-width: 100%;
        padding: var(--mobile-card-padding, 16px);
        gap: 8px;
        box-sizing: border-box;
    }

    body.page-id-56 .wbv-org-role,
    body.page-id-56 .wbv-org-person-name,
    body.page-id-56 .wbv-org-badge,
    body.page-id-56 .wbv-org-duties,
    body.page-id-56 .wbv-org-desc {
        margin-top: 0;
    }

    body.page-id-56 .wbv-org-person .wbv-org-cta,
    body.page-id-56 .wbv-org-referat > .wbv-org-cta {
        margin-top: 0;
        padding-top: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.page-id-56 .wbv-org-cta::after {
        transition: none;
    }
}

/* =========================================================
   DESIGNER UPDATE 2 - FOOTER SOCIAL LINKS
   ========================================================= */

.wbv-footer__social {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    margin-top: 18px;
}

.wbv-footer__social a {
    color: inherit;
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
}

.wbv-footer__social a:hover,
.wbv-footer__social a:focus-visible {
    color: var(--color-brand, #d9231e);
    text-decoration: underline;
    text-underline-offset: 3px;
}



/* =========================================================
   DESIGNER UPDATE 2 - ORGANISATION HERO DIREKT UNTER HEADER
   ========================================================= */

body.page-id-56 main > .wp-block-group.alignfull.has-global-padding {
    padding-top: 0 !important;
}



/* =========================================================
   DESIGNER UPDATE 2 - STATISCHE SEITEN
   Organisation (56) ist separate Referenzintegration.
   ========================================================= */


/* =========================================================
   DESIGNER UPDATE 2 - AUSBILDUNG / PAGE 22
   ========================================================= */

/* Ausbildung — aligned with Organisation / Nachwuchs / Schulsport page system */

body.page-id-22 {
    --wbv-page-gap: calc(var(--container-padding) * 2);
}

body.page-id-22 .wp-block-post-title {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

body.page-id-22 main.has-global-padding,
body.page-id-22 main > .wp-block-group.has-global-padding,
body.page-id-22 .entry-content.has-global-padding {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.page-id-22 .entry-content.wp-block-post-content {
    padding-top: 0 !important;
    margin-block-start: 0 !important;
}

body.page-id-22 main > .wp-block-group.has-global-padding {
    padding-bottom: 0 !important;
}

body.page-id-22 .wbv-edu-page {
    width: 100%;
    max-width: none;
    margin: 0;
    box-sizing: border-box;
    --wbv-edu-rail: min(
        calc(100% - var(--wbv-page-gap, 40px)),
        var(--wbv-max-width, 1360px)
    );
    --wbv-edu-section-y: clamp(48px, 4.5vw, 72px);
    --wbv-section-cta-y: var(--wbv-edu-section-y);
}

body.page-id-22 .wbv-edu-section {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        var(--wbv-edu-rail)
        minmax(0, 1fr);
    width: 100%;
    margin: 0;
    padding: 0 0 var(--wbv-edu-section-y);
    box-sizing: border-box;
    scroll-margin-top: calc(var(--wbv-header-height, 96px) + 16px);
}

body.page-id-22 .wbv-edu-section > * {
    grid-column: 2;
    min-width: 0;
}

body.page-id-22 .wbv-edu-section + .wbv-edu-section {
    border-top: 1px solid var(--color-border, #e3e3e3);
    padding-top: var(--wbv-edu-section-y);
}

body.page-id-22 .wbv-edu-section:last-child {
    padding-bottom: var(--wbv-fed-gap-after, 48px);
}

body.page-id-22 .wbv-edu-section > h2,
body.page-id-22 .wbv-edu-section__head > h2 {
    margin: 0 0 12px;
    font-size: 1.75rem;
    line-height: 1.25;
    font-weight: 700;
    letter-spacing: -0.015em;
    color: var(--color-text-primary, #202020);
}

body.page-id-22 .wbv-edu-section-intro {
    margin: 0 0 28px;
    max-width: 760px;
    font-size: 0.9375rem;
    line-height: 1.55;
    color: var(--color-text-secondary, #555555);
}

body.page-id-22 .wbv-edu-section__head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px 24px;
    margin-bottom: 20px;
}

body.page-id-22 .wbv-edu-section__head > h2 {
    margin: 0;
}

body.page-id-22 .wbv-edu-cols {
    display: grid;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.page-id-22 .wbv-edu-cols:not(.wbv-cols-plain) {
    padding-left: 1.5rem;
}

body.page-id-22 .wbv-edu-cols--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.page-id-22 .wbv-edu-item__label {
    display: block;
    margin: 0 0 8px;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--color-text-muted, #7a7a7a);
}

body.page-id-22 .wbv-edu-item h3 {
    margin: 0 0 10px;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--color-text-primary, #202020);
}

body.page-id-22 .wbv-edu-item p {
    margin: 0;
    font-size: 0.9375rem;
    line-height: 1.5;
    color: var(--color-text-secondary, #555555);
}

body.page-id-22 .wbv-edu-item .wbv-org-cta {
    margin-top: auto;
    padding-top: 20px !important;
}

body.page-id-22 .wbv-edu-row {
    display: grid;
    grid-template-columns: minmax(140px, 0.85fr) minmax(0, 2fr) auto;
    gap: 16px 32px;
    align-items: start;
    margin: 0;
    padding: 4px 0 0;
}

body.page-id-22 .wbv-edu-row h3 {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--color-text-primary, #202020);
}

body.page-id-22 .wbv-edu-row p {
    margin: 0;
    font-size: 0.9375rem;
    line-height: 1.5;
    color: var(--color-text-secondary, #555555);
}

body.page-id-22 .wbv-edu-row__action {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    padding-top: 2px;
}

body.page-id-22 .wbv-org-cta {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--color-brand, #d9231e) !important;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: none !important;
    background: none !important;
    border: 0 !important;
    padding: 0 !important;
    white-space: normal;
}

body.page-id-22 .wbv-org-cta::after {
    content: "→";
    transition: transform 150ms ease;
}

body.page-id-22 .wbv-org-cta--ext::after {
    content: "↗";
}

body.page-id-22 .wbv-org-cta:hover::after,
body.page-id-22 .wbv-org-cta:focus-visible::after {
    transform: translateX(3px);
}

body.page-id-22 .wbv-org-cta:focus-visible {
    outline: 2px solid var(--color-brand, #d9231e);
    outline-offset: 2px;
}

body.page-id-22 .wbv-turniere-keine {
    background: #fff;
    border-top: 1px solid var(--color-border, #e3e3e3);
    border-bottom: 1px solid var(--color-border, #e3e3e3);
    border-radius: 0;
    padding: 20px 0;
}

@media (max-width: 900px) {
    body.page-id-22 .wbv-edu-cols--2 {
        grid-template-columns: 1fr;
    }

    body.page-id-22 .wbv-edu-row {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    body.page-id-22 .wbv-edu-row__action {
        justify-content: flex-start;
        padding-top: 4px;
    }

}

@media (max-width: 767px) {
    body.page-id-22 .wbv-edu-page {
        --wbv-edu-rail: calc(100% - var(--wbv-page-gap));
        --wbv-edu-section-y: var(--mobile-section-space, 44px);
    }

    body.page-id-22 .wbv-subhero--banner {
        --wbv-subhero-h: var(--mobile-hero-h, clamp(195px, 55vw, 247px));
    }
}

@media (prefers-reduced-motion: reduce) {
    body.page-id-22 .wbv-org-cta::after {
        transition: none;
    }
}

/* Thin photo banner — no title overlay (same as Turniere) */
@media (min-width: 768px) {
    body.page-id-22 .wbv-subhero--banner {
        --wbv-subhero-h: clamp(156px, 18vw, 218px);
    }
}

body.page-id-22 .wbv-subhero--banner .wbv-subhero__overlay {
    min-height: var(--wbv-subhero-h);
    padding: 0;
    background: none;
}


/* =========================================================
   DESIGNER UPDATE 2 - WIENER-LIGA / PAGE 83
   ========================================================= */

/* =========================================================
   WIENER LIGA — aligned with Organisation (page-scoped)
   Reuses wbv-org-* component family; liga-only open layouts below
   ========================================================= */

body.page-id-83 {
    --wbv-page-gap: calc(var(--container-padding) * 2);
}

body.page-id-83 .wp-block-post-title {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

body.page-id-83 main.has-global-padding,
body.page-id-83 main > .wp-block-group.has-global-padding,
body.page-id-83 .entry-content.has-global-padding {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.page-id-83 main > .wp-block-group.has-global-padding {
    padding-bottom: 0 !important;
}

body.page-id-83 .entry-content.wp-block-post-content {
    padding-top: 0 !important;
    margin-block-start: 0 !important;
}

body.page-id-83 .wbv-org-page {
    width: 100%;
    max-width: none;
    margin: 0;
    box-sizing: border-box;
    --wbv-org-rail: min(
        calc(100% - var(--wbv-page-gap, 40px)),
        var(--wbv-max-width, 1360px)
    );
    --wbv-org-section-y: clamp(56px, 5vw, 80px);
    --wbv-section-cta-y: var(--wbv-org-section-y);
}

body.page-id-83 .wbv-org-section {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        var(--wbv-org-rail)
        minmax(0, 1fr);
    width: 100%;
    margin: 0;
    padding: 0 0 var(--wbv-org-section-y);
    box-sizing: border-box;
    scroll-margin-top: calc(var(--wbv-header-height, 96px) + 16px);
}

body.page-id-83 .wbv-org-section > * {
    grid-column: 2;
    min-width: 0;
}

body.page-id-83 .wbv-org-section + .wbv-org-section {
    border-top: 1px solid var(--color-border, #e3e3e3);
    padding-top: var(--wbv-org-section-y);
}

body.page-id-83 .wbv-org-section:last-child {
    padding-bottom: var(--wbv-fed-gap-after, 48px);
}

body.page-id-83 .wbv-org-section > h2 {
    margin: 0 0 12px;
    font-family: Manrope, sans-serif;
    font-size: 1.75rem;
    line-height: 1.25;
    font-weight: 700;
    letter-spacing: -0.015em;
    color: var(--color-text-primary, #202020);
}

body.page-id-83 .wbv-org-section > .wbv-org-section-intro {
    margin: 0 0 28px;
    max-width: 760px;
    font-size: 0.9375rem;
    line-height: 1.55;
    color: var(--color-text-secondary, #555555);
}

/* —— Organisation card family (facts, referate, documents) —— */
body.page-id-83 .wbv-org-presidium-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    border-top: 0;
    align-items: stretch;
}

body.page-id-83 .wbv-org-presidium-grid--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* —— Auf einen Blick: filled tiles + overlapping rank numbers —— */
body.page-id-83 .wbv-liga-facts {
    gap: 22px 32px;
    padding-left: 1.5rem;
    overflow: visible;
    align-items: stretch;
}

body.page-id-83 .wbv-liga-facts .wbv-liga-fact {
    position: relative;
    isolation: isolate;
    height: 100%;
    min-height: 100%;
    padding: 20px 22px 22px 3.35rem;
    border: 0;
    background: var(--color-surface-muted, #f4f4f4);
    overflow: visible;
}

body.page-id-83 .wbv-liga-facts .wbv-liga-fact .wbv-org-badge {
    position: absolute;
    left: -0.22em;
    bottom: -0.08em;
    z-index: 3;
    display: block;
    width: auto;
    min-height: 0;
    margin: 0;
    padding: 0;
    font-family: Manrope, sans-serif;
    font-size: clamp(3.75rem, 5.2vw, 5.5rem);
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.07em;
    line-height: 0.72;
    color: #fff;
    -webkit-text-fill-color: #fff;
    -webkit-text-stroke: 0.055em var(--color-brand, #d9231e);
    paint-order: stroke fill;
    filter: drop-shadow(3px 4px 0 rgba(32, 32, 32, 0.16));
    pointer-events: none;
    user-select: none;
}

body.page-id-83 .wbv-liga-facts .wbv-liga-fact h3,
body.page-id-83 .wbv-liga-facts .wbv-liga-fact .wbv-org-role {
    position: relative;
    z-index: 1;
}

body.page-id-83 .wbv-liga-facts .wbv-liga-fact .wbv-org-role {
    margin-top: 12px;
}

body.page-id-83 .wbv-org-person {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    min-height: 100%;
    padding: 28px 30px;
    border: 1px solid var(--color-border, #e3e3e3);
    border-radius: var(--radius-md, 16px);
    background: #fff;
    box-shadow: none;
    box-sizing: border-box;
}

body.page-id-83 .wbv-org-person h3 {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--color-text-primary, #202020);
}

body.page-id-83 .wbv-org-person h3 a {
    color: inherit;
    text-decoration: none;
}

body.page-id-83 .wbv-org-person h3 a:hover,
body.page-id-83 .wbv-org-person h3 a:focus-visible {
    color: var(--color-brand, #d9231e);
}

body.page-id-83 .wbv-org-role {
    margin: 6px 0 0;
    color: var(--color-text-secondary, #555555);
    font-size: 0.875rem;
    line-height: 1.45;
}

body.page-id-83 .wbv-org-badge {
    display: inline-flex;
    align-items: center;
    margin: 0 0 8px;
    padding: 0;
    width: fit-content;
    border-radius: 0;
    background: transparent;
    color: var(--color-brand, #d9231e);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.2;
}

body.page-id-83 .wbv-org-referat-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    border-top: 0;
}

body.page-id-83 .wbv-org-referat-grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.page-id-83 .wbv-org-referat {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    min-height: 100%;
    scroll-margin-top: calc(var(--wbv-header-height, 96px) + 16px);
    padding: 26px 28px;
    border: 1px solid var(--color-border, #e3e3e3);
    border-radius: var(--radius-md, 16px);
    background: #fff;
    box-shadow: none;
    box-sizing: border-box;
}

body.page-id-83 .wbv-org-referat h4 {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--color-text-primary, #202020);
}

body.page-id-83 .wbv-org-duties {
    margin: 0;
    padding: 0;
    list-style: none;
    color: var(--color-text-primary, #202020);
    font-size: 0.9375rem;
    line-height: 1.5;
}

body.page-id-83 .wbv-org-duties li {
    margin-bottom: 2px;
}

body.page-id-83 .wbv-org-duties li:last-child {
    margin-bottom: 0;
}

body.page-id-83 .wbv-org-desc {
    margin: 0;
    color: var(--color-text-secondary, #555555);
    font-size: 0.9375rem;
    line-height: 1.5;
}

body.page-id-83 .wbv-org-meta {
    margin: 0;
    font-size: 0.8125rem;
    line-height: 1.4;
    color: var(--color-text-muted, #7a7a7a);
}

body.page-id-83 .wbv-org-referat > .wbv-org-cta,
body.page-id-83 .wbv-org-referat > .wbv-liga-doc-actions {
    align-self: flex-start;
    margin-top: 0;
    padding-top: 0;
}

body.page-id-83 .wbv-liga-doc-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
}

/* —— Shared CTA —— */
body.page-id-83 .wbv-org-cta {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: 0;
    color: var(--color-brand, #d9231e) !important;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: none !important;
    background: none !important;
    border: 0 !important;
    padding: 0 !important;
    min-height: auto !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    white-space: normal;
}

body.page-id-83 .wbv-org-cta::after {
    content: "→";
    transition: transform 150ms ease;
}

body.page-id-83 .wbv-org-cta--ext::after {
    content: "↗";
}

body.page-id-83 .wbv-org-cta:hover::after,
body.page-id-83 .wbv-org-cta:focus-visible::after {
    transform: translateX(3px);
}

body.page-id-83 .wbv-org-cta:focus-visible {
    outline: 2px solid var(--color-brand, #d9231e);
    outline-offset: 2px;
}

/* —— Timeline: So läuft die Saison —— */
body.page-id-83 .wbv-liga-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0 32px;
    margin: 0;
    padding: 0;
    list-style: none;
    position: relative;
}

body.page-id-83 .wbv-liga-steps::before {
    content: "";
    position: absolute;
    top: 15px;
    left: 16px;
    right: 16px;
    height: 1px;
    background: var(--color-border, #e3e3e3);
    pointer-events: none;
}

body.page-id-83 .wbv-liga-step {
    position: relative;
    min-width: 0;
}

body.page-id-83 .wbv-liga-step__num {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    margin: 0 0 16px;
    border: 1px solid var(--color-brand, #d9231e);
    border-radius: var(--radius-pill, 999px);
    background: #fff;
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    color: var(--color-brand, #d9231e);
}

body.page-id-83 .wbv-liga-step h3 {
    margin: 0 0 8px;
    font-size: 1.0625rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--color-text-primary, #202020);
}

body.page-id-83 .wbv-liga-step p {
    margin: 0;
    font-size: 0.9375rem;
    line-height: 1.5;
    color: var(--color-text-secondary, #555555);
}

/* —— Wiener Ligen / Wiener Klassen —— */
body.page-id-83 .wbv-liga-cols {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 40px;
    margin: 0 0 28px;
    align-items: start;
}

body.page-id-83 .wbv-liga-cols > div:first-child {
    padding-right: 40px;
    border-right: 1px solid var(--color-border, #e3e3e3);
}

body.page-id-83 .wbv-liga-cols h3 {
    margin: 0 0 12px;
    font-family: Manrope, sans-serif;
    font-size: var(--text-h4, 1.125rem);
    font-weight: var(--weight-bold, 700);
    line-height: var(--leading-title, 1.3);
    letter-spacing: var(--tracking-title, -0.015em);
    color: var(--color-text-primary, #202020);
}

body.page-id-83 .wbv-liga-cols .wbv-org-duties {
    margin: 0;
    color: var(--color-text-primary, #202020);
}

body.page-id-83 .wbv-liga-total {
    margin: 16px 0 0;
    font-family: Manrope, sans-serif;
    font-size: var(--text-h3, 1.25rem);
    font-weight: var(--weight-bold, 700);
    line-height: 1.2;
    letter-spacing: var(--tracking-title, -0.015em);
    color: var(--color-text-primary, #202020);
}

body.page-id-83 .wbv-liga-klasse {
    gap: 8px;
}

body.page-id-83 .wbv-liga-klasse .wbv-liga-total {
    margin: 0;
    font-size: var(--text-h3, 1.25rem);
}

body.page-id-83 .wbv-liga-klasse .wbv-org-duties {
    margin: 0;
    color: var(--color-text-secondary, #555555);
}

/* —— Open editorial: Spielplan CTA —— */
body.page-id-83 .wbv-liga-action-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px 32px;
    margin: 0;
    padding: 0;
}

body.page-id-83 .wbv-liga-action-row__copy {
    flex: 1 1 280px;
    max-width: 40rem;
}

body.page-id-83 .wbv-liga-action-row__copy p {
    margin: 0;
    font-size: 0.9375rem;
    line-height: 1.55;
    color: var(--color-text-secondary, #555555);
}

body.page-id-83 .wbv-liga-action-row__cta {
    display: flex;
    align-items: flex-start;
    padding-top: 2px;
}

body.page-id-83 .wbv-liga-action-row__cta .wbv-org-cta {
    margin-top: 0;
}

/* —— Responsive —— */
@media (max-width: 1100px) {
    body.page-id-83 .wbv-org-presidium-grid,
    body.page-id-83 .wbv-org-presidium-grid--4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.page-id-83 .wbv-liga-steps {
        grid-template-columns: 1fr;
        gap: 0;
    }

    body.page-id-83 .wbv-liga-steps::before {
        display: none;
    }

    body.page-id-83 .wbv-liga-step {
        display: grid;
        grid-template-columns: 32px minmax(0, 1fr);
        column-gap: 16px;
        padding-bottom: 28px;
    }

    body.page-id-83 .wbv-liga-step:last-child {
        padding-bottom: 0;
    }

    body.page-id-83 .wbv-liga-step:not(:last-child)::after {
        content: "";
        position: absolute;
        top: 32px;
        bottom: 0;
        left: 15px;
        width: 1px;
        background: var(--color-border, #e3e3e3);
        pointer-events: none;
    }

    body.page-id-83 .wbv-liga-step__num {
        grid-column: 1;
        grid-row: 1 / span 2;
        align-self: start;
        margin: 0;
    }

    body.page-id-83 .wbv-liga-step h3 {
        grid-column: 2;
        margin: 4px 0 6px;
    }

    body.page-id-83 .wbv-liga-step p {
        grid-column: 2;
    }

    body.page-id-83 .wbv-org-referat-grid--3 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.page-id-83 .wbv-org-referat-grid--3 > .wbv-org-referat:last-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 900px) {
    body.page-id-83 .wbv-org-referat-grid {
        grid-template-columns: 1fr;
    }

    body.page-id-83 .wbv-org-referat-grid--3 > .wbv-org-referat:last-child {
        grid-column: auto;
    }

    body.page-id-83 .wbv-liga-cols {
        grid-template-columns: 1fr;
        gap: 28px;
        margin-bottom: 24px;
    }

    body.page-id-83 .wbv-liga-cols > div:first-child {
        padding-right: 0;
        padding-bottom: 28px;
        border-right: 0;
        border-bottom: 1px solid var(--color-border, #e3e3e3);
    }

    body.page-id-83 .wbv-liga-action-row__cta {
        width: 100%;
    }
}

@media (max-width: 767px) {
    body.page-id-83 .wbv-org-page {
        --wbv-org-rail: calc(100% - var(--wbv-page-gap));
        --wbv-org-section-y: var(--mobile-section-space, 44px);
    }

    body.page-id-83 .wbv-org-presidium-grid,
    body.page-id-83 .wbv-org-presidium-grid--4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--mobile-card-gap, 12px);
    }

    body.page-id-83 .wbv-liga-facts {
        gap: 18px 28px;
        padding-left: 1.15rem;
    }

    body.page-id-83 .wbv-liga-facts .wbv-liga-fact {
        height: 100%;
        min-height: 100%;
        padding: 16px 16px 16px 2.75rem;
        border: 0;
        background: var(--color-surface-muted, #f4f4f4);
    }

    body.page-id-83 .wbv-liga-facts .wbv-liga-fact .wbv-org-badge {
        top: -0.06em;
        bottom: auto;
        font-size: 3.25rem;
        -webkit-text-stroke-width: 0.06em;
        filter: drop-shadow(2px 3px 0 rgba(32, 32, 32, 0.16));
    }

    body.page-id-83 .wbv-org-referat-grid,
    body.page-id-83 .wbv-org-referat-grid--3 {
        grid-template-columns: 1fr;
        gap: var(--mobile-card-gap, 12px);
    }

    body.page-id-83 .wbv-org-referat-grid--3 > .wbv-org-referat:last-child {
        grid-column: auto;
    }

    body.page-id-83 .wbv-org-person,
    body.page-id-83 .wbv-org-referat {
        padding: var(--mobile-card-padding, 16px);
        min-height: 0;
    }

    body.page-id-83 .wbv-liga-doc-row__actions,
    body.page-id-83 .wbv-liga-doc-actions {
        width: 100%;
    }
}

@media (max-width: 389px) {
    body.page-id-83 .wbv-org-presidium-grid,
    body.page-id-83 .wbv-org-presidium-grid--4 {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.page-id-83 .wbv-org-cta::after {
        transition: none;
    }
}

/* Thin photo banner — no title overlay (same as Entwicklung) */
@media (max-width: 767px) {
    body.page-id-83 .wbv-subhero--banner {
        --wbv-subhero-h: var(--mobile-hero-h, clamp(195px, 55vw, 247px));
    }
}

@media (min-width: 768px) {
    body.page-id-83 .wbv-subhero--banner {
        --wbv-subhero-h: clamp(156px, 18vw, 218px);
    }
}

body.page-id-83 .wbv-subhero--banner .wbv-subhero__overlay {
    min-height: var(--wbv-subhero-h);
    padding: 0;
    background: none;
}


/* =========================================================
   DESIGNER UPDATE 2 - NACHWUCHS / PAGE 20
   ========================================================= */

/* Nachwuchs — aligned with Organisation page system */

body.page-id-20 {
    --wbv-page-gap: calc(var(--container-padding) * 2);
}

body.page-id-20 .wp-block-post-title {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

body.page-id-20 main.has-global-padding,
body.page-id-20 main > .wp-block-group.has-global-padding,
body.page-id-20 .entry-content.has-global-padding {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.page-id-20 .entry-content.wp-block-post-content {
    padding-top: 0 !important;
    margin-block-start: 0 !important;
}

body.page-id-20 main > .wp-block-group.has-global-padding {
    padding-bottom: 0 !important;
}

body.page-id-20 .wbv-nw-page {
    width: 100%;
    max-width: none;
    margin: 0;
    box-sizing: border-box;
    --wbv-nw-rail: min(
        calc(100% - var(--wbv-page-gap, 40px)),
        var(--wbv-max-width, 1360px)
    );
    --wbv-nw-section-y: clamp(48px, 4.5vw, 72px);
    --wbv-section-cta-y: var(--wbv-nw-section-y);
}

body.page-id-20 .wbv-nw-section {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        var(--wbv-nw-rail)
        minmax(0, 1fr);
    width: 100%;
    margin: 0;
    padding: 0 0 var(--wbv-nw-section-y);
    box-sizing: border-box;
    scroll-margin-top: calc(var(--wbv-header-height, 96px) + 16px);
}

body.page-id-20 .wbv-nw-section > * {
    grid-column: 2;
    min-width: 0;
}

body.page-id-20 .wbv-nw-section + .wbv-nw-section {
    border-top: 1px solid var(--color-border, #e3e3e3);
    padding-top: var(--wbv-nw-section-y);
}

body.page-id-20 .wbv-nw-section:last-child {
    padding-bottom: var(--wbv-fed-gap-after, 48px);
}

body.page-id-20 .wbv-nw-section > h2,
body.page-id-20 .wbv-nw-section__head > h2 {
    margin: 0 0 12px;
    font-size: 1.75rem;
    line-height: 1.25;
    font-weight: 700;
    letter-spacing: -0.015em;
    color: var(--color-text-primary, #202020);
}

body.page-id-20 .wbv-nw-section-intro {
    margin: 0;
    max-width: 760px;
    font-size: 0.9375rem;
    line-height: 1.55;
    color: var(--color-text-secondary, #555555);
}

body.page-id-20 .wbv-nw-section > .wbv-nw-section-intro {
    margin: 0 0 28px;
}

body.page-id-20 .wbv-nw-section__head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px 24px;
    margin-bottom: 20px;
}

body.page-id-20 .wbv-nw-section__head > h2 {
    margin: 0;
}

body.page-id-20 .wbv-nw-pillars {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
    padding: 0 0 0 1.5rem;
    list-style: none;
}

body.page-id-20 .wbv-nw-pillar__label {
    display: block;
    margin: 0 0 8px;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--color-text-muted, #7a7a7a);
}

body.page-id-20 .wbv-nw-pillar h3 {
    margin: 0 0 10px;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--color-text-primary, #202020);
}

body.page-id-20 .wbv-nw-pillar p {
    margin: 0;
    font-size: 0.9375rem;
    line-height: 1.5;
    color: var(--color-text-secondary, #555555);
}

body.page-id-20 .wbv-nw-card-grid {
    display: grid;
    gap: 16px;
}

body.page-id-20 .wbv-nw-card-grid--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.page-id-20 .wbv-nw-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    min-height: 100%;
    padding: 26px 28px;
    border: 1px solid var(--color-border, #e3e3e3);
    border-radius: var(--radius-md, 16px);
    background: #fff;
    box-shadow: none;
    box-sizing: border-box;
}

body.page-id-20 .wbv-nw-card h3 {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--color-text-primary, #202020);
}

body.page-id-20 .wbv-nw-card p {
    margin: 8px 0 16px;
    font-size: 0.9375rem;
    line-height: 1.5;
    color: var(--color-text-secondary, #555555);
}

body.page-id-20 .wbv-nw-card > .wbv-org-cta {
    margin-top: auto;
}

body.page-id-20 .wbv-org-cta {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--color-brand, #d9231e) !important;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: none !important;
    background: none !important;
    border: 0 !important;
    padding: 0 !important;
    white-space: normal;
}

body.page-id-20 .wbv-org-cta::after {
    content: "→";
    transition: transform 150ms ease;
}

body.page-id-20 .wbv-org-cta--ext::after {
    content: "↗";
}

body.page-id-20 .wbv-org-cta:hover::after,
body.page-id-20 .wbv-org-cta:focus-visible::after {
    transform: translateX(3px);
}

body.page-id-20 .wbv-org-cta:focus-visible {
    outline: 2px solid var(--color-brand, #d9231e);
    outline-offset: 2px;
}

body.page-id-20 .wbv-turniere-keine {
    background: #fff;
    border-top: 1px solid var(--color-border, #e3e3e3);
    border-bottom: 1px solid var(--color-border, #e3e3e3);
    border-radius: 0;
    padding: 20px 0;
}

@media (max-width: 1100px) {
    body.page-id-20 .wbv-nw-pillars {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    body.page-id-20 .wbv-nw-card-grid--2 {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 767px) {
    body.page-id-20 .wbv-nw-page {
        --wbv-nw-rail: calc(100% - var(--wbv-page-gap));
        --wbv-nw-section-y: var(--mobile-section-space, 44px);
    }

    body.page-id-20 .wbv-nw-pillars {
        grid-template-columns: 1fr;
    }

    body.page-id-20 .wbv-nw-card {
        padding: var(--mobile-card-padding, 16px);
        min-height: 0;
    }

    body.page-id-20 .wbv-subhero--banner {
        --wbv-subhero-h: var(--mobile-hero-h, clamp(195px, 55vw, 247px));
    }
}

@media (prefers-reduced-motion: reduce) {
    body.page-id-20 .wbv-org-cta::after {
        transition: none;
    }
}

/* Thin photo banner — no title overlay (same as Turniere) */
@media (min-width: 768px) {
    body.page-id-20 .wbv-subhero--banner {
        --wbv-subhero-h: clamp(156px, 18vw, 218px);
    }
}

body.page-id-20 .wbv-subhero--banner .wbv-subhero__overlay {
    min-height: var(--wbv-subhero-h);
    padding: 0;
    background: none;
}


/* =========================================================
   DESIGNER UPDATE 2 - SCHULSPORT / PAGE 115
   ========================================================= */

/* Schulsport — aligned with Organisation / Nachwuchs page system */

body.page-id-115 {
    --wbv-page-gap: calc(var(--container-padding) * 2);
}

body.page-id-115 .wp-block-post-title {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

body.page-id-115 main.has-global-padding,
body.page-id-115 main > .wp-block-group.has-global-padding,
body.page-id-115 .entry-content.has-global-padding {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.page-id-115 .entry-content.wp-block-post-content {
    padding-top: 0 !important;
    margin-block-start: 0 !important;
}

body.page-id-115 main > .wp-block-group.has-global-padding {
    padding-bottom: 0 !important;
}

body.page-id-115 .wbv-ss-page {
    width: 100%;
    max-width: none;
    margin: 0;
    box-sizing: border-box;
    --wbv-ss-rail: min(
        calc(100% - var(--wbv-page-gap, 40px)),
        var(--wbv-max-width, 1360px)
    );
    --wbv-ss-section-y: clamp(48px, 4.5vw, 72px);
    --wbv-section-cta-y: var(--wbv-ss-section-y);
}

body.page-id-115 .wbv-ss-section {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        var(--wbv-ss-rail)
        minmax(0, 1fr);
    width: 100%;
    margin: 0;
    padding: 0 0 var(--wbv-ss-section-y);
    box-sizing: border-box;
    scroll-margin-top: calc(var(--wbv-header-height, 96px) + 16px);
}

body.page-id-115 .wbv-ss-section > * {
    grid-column: 2;
    min-width: 0;
}

body.page-id-115 .wbv-ss-section + .wbv-ss-section {
    border-top: 1px solid var(--color-border, #e3e3e3);
    padding-top: var(--wbv-ss-section-y);
}

body.page-id-115 .wbv-ss-section:last-child {
    padding-bottom: var(--wbv-fed-gap-after, 48px);
}

body.page-id-115 .wbv-ss-section > h2,
body.page-id-115 .wbv-ss-section__head > h2 {
    margin: 0 0 12px;
    font-size: 1.75rem;
    line-height: 1.25;
    font-weight: 700;
    letter-spacing: -0.015em;
    color: var(--color-text-primary, #202020);
}

body.page-id-115 .wbv-ss-section-intro {
    margin: 0 0 28px;
    max-width: 760px;
    font-size: 0.9375rem;
    line-height: 1.55;
    color: var(--color-text-secondary, #555555);
}

body.page-id-115 .wbv-ss-section__head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px 24px;
    margin-bottom: 20px;
}

body.page-id-115 .wbv-ss-section__head > h2 {
    margin: 0;
}

body.page-id-115 .wbv-ss-cols {
    display: grid;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.page-id-115 .wbv-ss-cols:not(.wbv-cols-plain) {
    padding-left: 1.5rem;
}

body.page-id-115 .wbv-ss-cols--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.page-id-115 .wbv-ss-cols--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.page-id-115 .wbv-ss-item__label {
    display: block;
    margin: 0 0 8px;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--color-text-muted, #7a7a7a);
}

body.page-id-115 .wbv-ss-item h3 {
    margin: 0 0 10px;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--color-text-primary, #202020);
}

body.page-id-115 .wbv-ss-item p {
    margin: 0;
    font-size: 0.9375rem;
    line-height: 1.5;
    color: var(--color-text-secondary, #555555);
}

body.page-id-115 .wbv-ss-item .wbv-org-cta {
    margin-top: auto;
    padding-top: 20px !important;
}

body.page-id-115 .wbv-org-cta {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--color-brand, #d9231e) !important;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: none !important;
    background: none !important;
    border: 0 !important;
    padding: 0 !important;
    white-space: normal;
}

body.page-id-115 .wbv-org-cta::after {
    content: "→";
    transition: transform 150ms ease;
}

body.page-id-115 .wbv-org-cta:hover::after,
body.page-id-115 .wbv-org-cta:focus-visible::after {
    transform: translateX(3px);
}

body.page-id-115 .wbv-org-cta:focus-visible {
    outline: 2px solid var(--color-brand, #d9231e);
    outline-offset: 2px;
}

body.page-id-115 .wbv-turniere-keine {
    background: #fff;
    border-top: 1px solid var(--color-border, #e3e3e3);
    border-bottom: 1px solid var(--color-border, #e3e3e3);
    border-radius: 0;
    padding: 20px 0;
}

@media (max-width: 1100px) {
    body.page-id-115 .wbv-ss-cols--3 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    body.page-id-115 .wbv-ss-cols--2,
    body.page-id-115 .wbv-ss-cols--3 {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    body.page-id-115 .wbv-ss-page {
        --wbv-ss-rail: calc(100% - var(--wbv-page-gap));
        --wbv-ss-section-y: var(--mobile-section-space, 44px);
    }

    body.page-id-115 .wbv-subhero--banner {
        --wbv-subhero-h: var(--mobile-hero-h, clamp(195px, 55vw, 247px));
    }
}

@media (prefers-reduced-motion: reduce) {
    body.page-id-115 .wbv-org-cta::after {
        transition: none;
    }
}

/* Thin photo banner — no title overlay (same as Turniere) */
@media (min-width: 768px) {
    body.page-id-115 .wbv-subhero--banner {
        --wbv-subhero-h: clamp(156px, 18vw, 218px);
    }
}

body.page-id-115 .wbv-subhero--banner .wbv-subhero__overlay {
    min-height: var(--wbv-subhero-h);
    padding: 0;
    background: none;
}


/* =========================================================
   DESIGNER UPDATE 2 - TECHNICAL-OFFICIALS / PAGE 183
   ========================================================= */

/* Technical Officials — low-maintenance routing page */

body.page-id-183 {
    --wbv-page-gap: calc(var(--container-padding) * 2);
}

body.page-id-183 .wp-block-post-title {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

body.page-id-183 main.has-global-padding,
body.page-id-183 main > .wp-block-group.has-global-padding,
body.page-id-183 .entry-content.has-global-padding {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.page-id-183 .entry-content.wp-block-post-content {
    padding-top: 0 !important;
    margin-block-start: 0 !important;
}

body.page-id-183 main > .wp-block-group.has-global-padding {
    padding-bottom: 0 !important;
}

body.page-id-183 .wbv-to-page {
    width: 100%;
    max-width: none;
    margin: 0;
    box-sizing: border-box;
    --wbv-to-rail: min(
        calc(100% - var(--wbv-page-gap, 40px)),
        var(--wbv-max-width, 1360px)
    );
    --wbv-to-section-y: clamp(48px, 4.5vw, 72px);
    --wbv-section-cta-y: var(--wbv-to-section-y);
}

body.page-id-183 .wbv-to-section {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        var(--wbv-to-rail)
        minmax(0, 1fr);
    width: 100%;
    margin: 0;
    padding: 0 0 var(--wbv-to-section-y);
    box-sizing: border-box;
}

body.page-id-183 .wbv-to-section > * {
    grid-column: 2;
    min-width: 0;
}

body.page-id-183 .wbv-to-section + .wbv-to-section {
    border-top: 1px solid var(--color-border, #e3e3e3);
    padding-top: var(--wbv-to-section-y);
}

body.page-id-183 .wbv-to-section:last-child {
    padding-bottom: var(--wbv-fed-gap-after, 48px);
}

body.page-id-183 .wbv-to-section > h2 {
    margin: 0 0 12px;
    font-size: 1.75rem;
    line-height: 1.25;
    font-weight: 700;
    letter-spacing: -0.015em;
    color: var(--color-text-primary, #202020);
}

body.page-id-183 .wbv-to-section p {
    margin: 0 0 16px;
    max-width: 760px;
    font-size: 0.9375rem;
    line-height: 1.55;
    color: var(--color-text-secondary, #555555);
}

body.page-id-183 .wbv-to-section p:last-of-type {
    margin-bottom: 20px;
}

body.page-id-183 .wbv-to-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 16px 24px;
    margin: 0;
}

body.page-id-183 .wbv-org-cta {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--color-brand, #d9231e) !important;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: none !important;
    background: none !important;
    border: 0 !important;
    padding: 0 !important;
    white-space: normal;
}

body.page-id-183 .wbv-org-cta::after {
    content: "→";
    transition: transform 150ms ease;
}

body.page-id-183 .wbv-org-cta--ext::after {
    content: "↗";
}

body.page-id-183 .wbv-org-cta:hover::after,
body.page-id-183 .wbv-org-cta:focus-visible::after {
    transform: translateX(3px);
}

body.page-id-183 .wbv-org-cta:focus-visible {
    outline: 2px solid var(--color-brand, #d9231e);
    outline-offset: 2px;
}

@media (max-width: 767px) {
    body.page-id-183 .wbv-to-page {
        --wbv-to-rail: calc(100% - var(--wbv-page-gap));
        --wbv-to-section-y: var(--mobile-section-space, 44px);
    }

    body.page-id-183 .wbv-to-section > h2 {
        font-size: var(--text-h2, 1.5rem);
    }
}

@media (prefers-reduced-motion: reduce) {
    body.page-id-183 .wbv-org-cta::after {
        transition: none;
    }
}

/* Thin photo banner — no title overlay (same as Entwicklung) */
@media (max-width: 767px) {
    body.page-id-183 .wbv-subhero--banner {
        --wbv-subhero-h: var(--mobile-hero-h, clamp(195px, 55vw, 247px));
    }
}

@media (min-width: 768px) {
    body.page-id-183 .wbv-subhero--banner {
        --wbv-subhero-h: clamp(156px, 18vw, 218px);
    }
}

body.page-id-183 .wbv-subhero--banner .wbv-subhero__overlay {
    min-height: var(--wbv-subhero-h);
    padding: 0;
    background: none;
}


/* =========================================================
   DESIGNER UPDATE 2 - DOKUMENTE-REGELWERKE / PAGE 87
   ========================================================= */

/* =========================================================
   DOKUMENTE & REGELWERKE — WBV design system
   Aligns with Organisation / News page patterns
   ========================================================= */

body.page-id-87 {
    --wbv-page-gap: calc(var(--container-padding) * 2);
}

body.page-id-87 .wp-block-post-title {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

body.page-id-87 main.has-global-padding,
body.page-id-87 main > .wp-block-group.has-global-padding,
body.page-id-87 .entry-content.has-global-padding {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.page-id-87 main > .wp-block-group.has-global-padding {
    padding-bottom: 0 !important;
}

body.page-id-87 .entry-content.wp-block-post-content {
    padding-top: 0 !important;
    margin-block-start: 0 !important;
}

.wbv-doc-page {
    width: 100%;
    max-width: none;
    margin: 0;
    box-sizing: border-box;
    --wbv-doc-rail: min(
        calc(100% - var(--wbv-page-gap, 40px)),
        var(--wbv-max-width, 1360px)
    );
    --wbv-doc-section-y: clamp(56px, 5vw, 80px);
    --wbv-section-cta-y: var(--wbv-doc-section-y);
}

.wbv-doc-body {
    }

@media (max-width: 767px) {
    .wbv-doc-body { }
}

.wbv-doc-section {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        var(--wbv-doc-rail)
        minmax(0, 1fr);
    width: 100%;
    margin: 0;
    padding: 0 0 var(--wbv-doc-section-y);
    box-sizing: border-box;
    scroll-margin-top: calc(var(--wbv-header-height, 96px) + 16px);
}

.wbv-doc-section > * {
    grid-column: 2;
    min-width: 0;
}

/* Full-width Trennung wie Organisation / Startseite */
.wbv-doc-section + .wbv-doc-section {
    border-top: 1px solid var(--color-border, #e3e3e3);
    padding-top: var(--wbv-doc-section-y);
}

.wbv-doc-section:last-child {
    padding-bottom: var(--wbv-fed-gap-after, 48px);
}

.wbv-doc-section > h2 {
    margin: 0 0 12px;
    font-family: Manrope, sans-serif;
    font-size: 1.75rem;
    line-height: 1.25;
    font-weight: 700;
    letter-spacing: -0.015em;
    color: var(--color-text-primary, #202020);
}

.wbv-doc-section > .wbv-doc-section-intro {
    margin: 0 0 28px;
    max-width: 760px;
    font-size: 0.9375rem;
    line-height: 1.55;
    color: var(--color-text-secondary, #555555);
}

.wbv-doc-grid {
    display: flex;
    flex-direction: column;
    gap: 12px;
    border-top: 0;
}

.wbv-doc-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
        "title type"
        "text cta";
    gap: 6px 24px;
    align-items: baseline;
    min-width: 0;
    margin: 0;
    padding: 22px 24px;
    border: 1px solid var(--color-border, #e3e3e3);
    border-radius: var(--radius-md, 16px);
    background: #fff;
    box-sizing: border-box;
}

.wbv-doc-card h3 {
    grid-area: title;
    margin: 0;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--color-text-primary, #202020);
}

.wbv-doc-type {
    grid-area: type;
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin: 0;
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: var(--color-text-muted, #7a7a7a);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    justify-self: end;
}

.wbv-doc-card p {
    grid-area: text;
    margin: 0;
    max-width: 42rem;
    color: var(--color-text-secondary, #5f5f5f);
    font-size: 0.9375rem;
    line-height: 1.5;
}

.wbv-doc-cta {
    grid-area: cta;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: 0;
    justify-self: end;
    align-self: end;
    color: var(--color-brand, #d9231e) !important;
    font-size: 0.9375rem;
    font-weight: 600;
    text-decoration: none !important;
    background: none !important;
    border: 0 !important;
    padding: 0 !important;
    min-height: auto !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    white-space: nowrap;
}

.wbv-doc-cta::after {
    content: "→";
    transition: transform var(--transition-fast, 150ms ease);
}

.wbv-doc-cta:hover::after,
.wbv-doc-cta:focus-visible::after {
    transform: translateX(3px);
}

.wbv-doc-cta:focus-visible {
    outline: 2px solid var(--color-focus, #d9231e);
    outline-offset: 2px;
}

@media (max-width: 1199px) {
    .wbv-doc-grid {
        /* rows stay one column */
    }
}

@media (max-width: 767px) {
    .wbv-doc-page {
        --wbv-doc-rail: calc(100% - var(--wbv-page-gap));
        --wbv-doc-section-y: var(--mobile-section-space, 44px);
    }

    .wbv-doc-card {
        grid-template-columns: 1fr;
        grid-template-areas:
            "type"
            "title"
            "text"
            "cta";
        gap: 8px;
        padding: var(--mobile-card-padding, 16px);
    }
    .wbv-doc-type,
    .wbv-doc-cta {
        justify-self: start;
    }
    .wbv-doc-body { }
}

@media (prefers-reduced-motion: reduce) {
    .wbv-doc-cta::after { transition: none; }
}


/* =========================================================
   DESIGNER UPDATE 2 - KONTAKT / PAGE 24
   ========================================================= */

body.page-id-24 .wp-block-post-title {
    display: none !important;
    margin: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
}

body.page-id-24 main.has-global-padding,
body.page-id-24 main > .wp-block-group.has-global-padding,
body.page-id-24 .entry-content.has-global-padding {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.page-id-24 .entry-content.wp-block-post-content {
    padding-top: 0 !important;
    margin-block-start: 0 !important;
}

body.page-id-24 main > .wp-block-group.has-global-padding {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

body.page-id-24 .entry-content.is-layout-constrained > .wbv-hero {
    max-width: none !important;
}

.wbv-contact-page {
    width: calc(100% - var(--wbv-page-gap));
    max-width: var(--wbv-max-width, 1360px);
    margin: 0 auto;
    padding-bottom: var(--wbv-page-end, var(--space-9, 96px));
    box-sizing: border-box;
}

.wbv-contact-help {
    margin: 0 0 20px;
    font-size: clamp(1.25rem, 1.1rem + 0.4vw, 1.5rem);
    font-weight: 700;
    line-height: 1.25;
    color: var(--color-text-primary, #202020);
}

.wbv-contact-paths {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px 40px;
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid var(--color-border, #e3e3e3);
}

.wbv-contact-path {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 22px 0 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-sizing: border-box;
    text-align: left;
}

.wbv-contact-path::before {
    content: none;
}

.wbv-contact-path h3 {
    margin: 0 0 12px;
    font-size: clamp(1.1875rem, 1.1rem + 0.25vw, 1.3125rem);
    font-weight: 700;
    line-height: 1.25;
    color: var(--color-text-primary, #202020);
}

.wbv-contact-path p {
    margin: 0;
    font-size: 0.9375rem;
    line-height: 1.5;
    color: var(--color-text-secondary, #5f5f5f);
}

.wbv-contact-path__link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: auto;
    padding-top: 20px;
    min-height: 44px;
    box-sizing: border-box;
    color: var(--color-brand, #d9231e) !important;
    font-size: 0.9375rem;
    font-weight: 600;
    text-decoration: none !important;
    word-break: break-word;
}

.wbv-contact-path__link::after {
    content: "→";
    flex-shrink: 0;
    transition: transform var(--transition-fast, 150ms ease);
}

.wbv-contact-path__link:hover::after,
.wbv-contact-path__link:focus-visible::after {
    transform: translateX(2px);
}

.wbv-contact-path__link:focus-visible {
    outline: 2px solid var(--color-focus, #d9231e);
    outline-offset: 2px;
}

.wbv-contact-direct {
    margin-top: 68px;
    padding-top: 32px;
    border-top: 1px solid var(--color-border, #e3e3e3);
}

.wbv-contact-direct > h2 {
    margin: 0 0 28px;
    font-size: clamp(1.625rem, 1.45rem + 0.5vw, 1.875rem);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.015em;
    color: var(--color-text-primary, #202020);
}

.wbv-contact-direct__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px 48px;
}

.wbv-contact-direct__label {
    display: block;
    margin: 0 0 10px;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--color-text-secondary, #5f5f5f);
}

.wbv-contact-direct__email {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--color-brand, #d9231e) !important;
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none !important;
    word-break: break-word;
}

.wbv-contact-direct__email:hover,
.wbv-contact-direct__email:focus-visible {
    text-decoration: underline !important;
    text-underline-offset: 2px;
}

.wbv-contact-direct__email:focus-visible {
    outline: 2px solid var(--color-focus, #d9231e);
    outline-offset: 2px;
}

.wbv-contact-direct__address {
    margin: 0;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5;
    color: var(--color-text-primary, #202020);
    font-style: normal;
}

@media (max-width: 900px) {
    .wbv-contact-page {
        padding-bottom: var(--wbv-page-end, var(--space-9, 96px));
    }

    .wbv-contact-paths {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .wbv-contact-path {
        padding: 18px 0 0;
    }

    .wbv-contact-direct {
        margin-top: 56px;
    }

    .wbv-contact-direct__grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }
}

@media (max-width: 767px) {
    .wbv-contact-page {
        width: calc(100% - var(--wbv-page-gap));
    }
    .wbv-contact-path p {
        font-size: var(--text-body, 0.9375rem);
    }

    .wbv-contact-paths {
        border-top: 0;
    }

    .wbv-contact-path h3 {
        font-size: var(--text-h3, 1.125rem);
    }

    .wbv-contact-path__link,
    .wbv-contact-direct__email,
    .wbv-contact-direct__address {
        font-size: var(--text-body, 0.9375rem);
    }

    .wbv-contact-direct {
        margin-top: 36px;
    }

    .wbv-contact-direct > h2 {
        font-size: var(--text-h2, 1.5rem);
    }
}

@media (prefers-reduced-motion: reduce) {
    .wbv-contact-path__link::after {
        transition: none;
    }
}


/* =========================================================
   DESIGNER UPDATE 2 - DATENSCHUTZERKLAERUNG / PAGE 3
   ========================================================= */

body.page-id-3 {
    --wbv-page-gap: calc(var(--container-padding) * 2);
}

body.page-id-3 main.has-global-padding,
body.page-id-3 main > .wp-block-group.has-global-padding,
body.page-id-3 .entry-content.has-global-padding {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.page-id-3 .entry-content.wp-block-post-content {
    padding-top: 0 !important;
    margin-block-start: 0 !important;
}

body.page-id-3 main > .wp-block-group.has-global-padding {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}


/* =========================================================
   DESIGNER UPDATE 2 - IMPRESSUM / PAGE 37
   ========================================================= */

body.page-id-37 {
    --wbv-page-gap: calc(var(--container-padding) * 2);
}

body.page-id-37 main.has-global-padding,
body.page-id-37 main > .wp-block-group.has-global-padding,
body.page-id-37 .entry-content.has-global-padding {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.page-id-37 .entry-content.wp-block-post-content {
    padding-top: 0 !important;
    margin-block-start: 0 !important;
}

body.page-id-37 main > .wp-block-group.has-global-padding {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}


/* Designer-Unterseiten direkt unter Header */
body.page-id-22 main > .wp-block-group.alignfull.has-global-padding,
body.page-id-83 main > .wp-block-group.alignfull.has-global-padding,
body.page-id-20 main > .wp-block-group.alignfull.has-global-padding,
body.page-id-115 main > .wp-block-group.alignfull.has-global-padding,
body.page-id-183 main > .wp-block-group.alignfull.has-global-padding,
body.page-id-87 main > .wp-block-group.alignfull.has-global-padding,
body.page-id-24 main > .wp-block-group.alignfull.has-global-padding,
body.page-id-3 main > .wp-block-group.alignfull.has-global-padding,
body.page-id-37 main > .wp-block-group.alignfull.has-global-padding {
    padding-top: 0 !important;
}


/* =========================================================
   DESIGNER UPDATE 2 - TERMINPLAN DIREKT UNTER HEADER
   ========================================================= */

body.page-id-18 main > .wp-block-group.alignfull.has-global-padding {
    padding-top: 0 !important;
}



/* =========================================================
   DESIGNER UPDATE 2 - STARTSEITE VOLLSTAENDIG
   Cursor Snapshot 2026-08-30
   ========================================================= */


/* ==============================================
   STARTSEITE ZUSATZBLOCK
   ============================================== */

.wbv-home-inline-cta {
            margin-top: 12px;
            margin-bottom: 0;
        }

        .wbv-home-inline-cta a {
            color: #e4002b;
            font-size: 0.9rem;
            font-weight: 700;
            text-decoration: none;
        }

        .wbv-home-inline-cta a:hover,
        .wbv-home-inline-cta a:focus {
            text-decoration: underline;
        }

/* ==============================================
   STARTSEITE HAUPTBLOCK
   ============================================== */

/* =========================================================
   HOMEPAGE — visual recovery (hierarchy / grid / rhythm)
   Scoped to body.home / page-id-218. No IA or content changes.
   ========================================================= */

body.page-id-218,
body.home {
    /* Same horizontal rail + header height as all other pages */
    --wbv-home-rail: min(
        calc(100% - var(--wbv-page-gap)),
        var(--container-max)
    );

    --font-size-home-section-title: clamp(1.5rem, 1.35rem + 0.45vw, 1.75rem); /* 24–28 */
    --font-size-home-card-title: clamp(1.0625rem, 1rem + 0.2vw, 1.1875rem); /* 17–19 */
    --font-size-home-intro: 1.0625rem; /* 17 */
    --font-size-home-body: 0.9375rem; /* 15 */
    --font-size-home-meta: 0.8125rem; /* 13 */

    /* Compact section rhythm — editorial density */
    --wbv-home-section-y: clamp(64px, 5vw, 80px);
    --wbv-home-section-y-bottom: clamp(56px, 4.5vw, 72px);
    --wbv-home-header-gap: 22px;
    --wbv-home-intro-gap: 24px;
    --wbv-home-grid-gap: 22px;
}

@media (max-width: 1023px) {
    body.page-id-218,
    body.home {
        --wbv-home-section-y: 56px;
        --wbv-home-section-y-bottom: 48px;
        --wbv-home-intro-gap: 20px;
        --wbv-home-grid-gap: 20px;
    }
}

@media (max-width: 767px) {
    body.page-id-218,
    body.home {
        --font-size-home-section-title: 1.5rem; /* 24 */
        --font-size-home-card-title: 1.125rem;
        --font-size-home-intro: 1rem;
        --font-size-home-body: 0.9375rem;
        --font-size-home-meta: 0.8125rem;
        --wbv-home-section-y: 48px;
        --wbv-home-section-y-bottom: 48px;
        --wbv-home-header-gap: 18px;
        --wbv-home-intro-gap: 18px;
    }
}

body.page-id-218 .wp-block-post-title {
    display: none !important;
    margin: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
}

body.page-id-218 .alignfull.wbv-home-full {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* .wbv-home-inner width/max-width: shared with .wbv-container in wbv-global.css */

body.page-id-218 main.wp-block-group { padding-top: 0 !important; }

body.page-id-218 main.has-global-padding,
body.page-id-218 main > .wp-block-group.has-global-padding,
body.page-id-218 .entry-content.has-global-padding {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.page-id-218 main.wp-block-group > .wp-block-group.alignfull {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

body.page-id-218 .entry-content.wp-block-post-content {
    padding-top: 0 !important;
    margin-block-start: 0 !important;
    margin-top: 0 !important;
}

.wbv-home-hero {
    width: 100%;
    max-width: none;
    margin: 0 !important;
    position: relative;
    z-index: var(--z-hero, 1);
}

body.page-id-218 .entry-content > .wbv-home-hero {
    margin-block-start: 0 !important;
}

.wbv-home-section-header {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px 24px;
    margin: 0 0 var(--wbv-home-header-gap, 16px);
}

.wbv-home-section-header h2,
.wbv-home-section-title,
.wbv-home-news__title {
    margin: 0;
    font-size: var(--font-size-home-section-title);
    line-height: 1.15;
    font-weight: 700;
    letter-spacing: var(--tracking-heading, -0.005em);
    color: var(--color-text-primary, #202020);
}

.wbv-home-section-link,
.wbv-home-news__all {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--color-brand, #d9231e) !important;
    font-weight: 600;
    font-size: 0.9375rem;
    line-height: 1.3;
    text-decoration: none !important;
}

.wbv-home-section-link::after,
.wbv-home-news__all::after {
    content: "→";
    transition: transform 150ms ease;
}

.wbv-home-section-link:hover::after,
.wbv-home-section-link:focus-visible::after,
.wbv-home-news__all:hover::after,
.wbv-home-news__all:focus-visible::after {
    transform: translateX(3px);
}

.wbv-home-section-intro {
    margin: 0 0 var(--wbv-home-intro-gap, 28px);
    max-width: 640px;
    font-size: var(--font-size-home-intro);
    line-height: 1.5;
    color: var(--color-text-secondary, #5f5f5f);
}

/* —— Aktuelles (editorial reel) —— */
.wbv-home-after-hero {
    margin-block-start: 0 !important;
    margin-top: 0 !important;
    /* Sheet curve already softens the hero edge — slightly less top pad */
    padding-top: calc(var(--wbv-home-section-y) - var(--wbv-hero-curve, 28px) + 8px);
    padding-bottom: var(--wbv-home-section-y-bottom);
    background: #fff;
    overflow: visible;
}

.wbv-home-news {
    margin: 0;
    padding-bottom: 0;
    overflow: visible;
}

.wbv-home-after-hero .wbv-home-inner,
.wbv-home-maincards .wbv-home-inner {
    overflow: visible;
}

.wbv-home-news__header {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px 24px;
    margin-bottom: var(--wbv-home-header-gap, 14px);
}

/* News editorial reel — component owns layout; light home polish only */
body.home .wbv-news-ed__layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 28px 36px;
    align-items: stretch;
}

body.home .wbv-news-ed__meta {
    font-size: var(--font-size-home-meta, 0.8125rem);
}

@media (max-width: 900px) {
    body.home .wbv-news-ed__layout {
        grid-template-columns: 1fr;
        gap: 8px;
    }
}

/* —— Events —— */
.wbv-home-events,
.wbv-home-maincards,
.wbv-home-verband,
.wbv-home-partners {
    margin-block-start: 0 !important;
}

.wbv-home-events {
    margin: 0;
    padding: var(--wbv-home-section-y) 0 var(--wbv-home-section-y-bottom);
    background: #fff;
    border-top: 1px solid var(--color-border, #e3e3e3);
}

body.home .wbv-events__title {
    font-size: var(--font-size-home-section-title);
    line-height: 1.15;
    letter-spacing: var(--tracking-heading, -0.005em);
}

body.home .wbv-events__header {
    margin-bottom: var(--wbv-home-header-gap, 14px);
}

/* List-only Events preview — 50/50 two columns (3+3), 2 on mobile */
body.home .wbv-events.is-preview .wbv-events__layout,
body.home .wbv-events-preview .wbv-events__layout {
    display: block;
    grid-template-columns: none;
    gap: 0;
}

body.home .wbv-events.is-preview .wbv-events__calendar,
body.home .wbv-events-preview .wbv-events__calendar,
body.home .wbv-events.is-preview .wbv-events__toggle,
body.home .wbv-events-preview .wbv-events__toggle,
body.home .wbv-events__filters {
    display: none !important;
}

body.home .wbv-events.is-preview .wbv-events__agenda,
body.home .wbv-events-preview .wbv-events__agenda {
    padding: 0;
    border: 0;
    max-width: none;
}

body.home .wbv-events.is-preview .wbv-events__list,
body.home .wbv-events-preview .wbv-events__list {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: repeat(3, auto);
    grid-auto-flow: column;
    column-gap: 36px;
    row-gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.home .wbv-events__agenda-label {
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    margin-top: 4px;
    margin-bottom: 12px;
}

body.home .wbv-events.is-preview .wbv-events__row,
body.home .wbv-events-preview .wbv-events__row {
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 14px;
    padding: 12px 0;
    align-items: start;
}

body.home .wbv-events.is-preview .wbv-events__item:nth-child(3n+1) .wbv-events__row,
body.home .wbv-events-preview .wbv-events__item:nth-child(3n+1) .wbv-events__row {
    padding-top: 4px;
}

body.home .wbv-events__item-title {
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1.3;
}

body.home .wbv-events__item-meta {
    font-size: var(--font-size-home-meta);
    margin-top: 2px;
}

body.home .wbv-events__date-day {
    font-size: 1.125rem;
    line-height: 1.1;
}

body.home .wbv-events__date-month {
    font-size: 0.6875rem;
}

body.home .wbv-events__all {
    font-size: 0.875rem;
    font-weight: 600;
}

body.home .wbv-events__footer {
    margin-top: 16px;
}

@media (max-width: 767px) {
    body.home .wbv-events.is-preview .wbv-events__list,
    body.home .wbv-events-preview .wbv-events__list {
        display: flex;
        flex-direction: column;
        grid-template-columns: none;
        grid-auto-flow: row;
        column-gap: 0;
    }

    body.home .wbv-events.is-preview .wbv-events__item:nth-child(n+3),
    body.home .wbv-events-preview .wbv-events__item:nth-child(n+3) {
        display: none;
    }

    body.home .wbv-events.is-preview .wbv-events__item:first-child .wbv-events__row,
    body.home .wbv-events-preview .wbv-events__item:first-child .wbv-events__row {
        padding-top: 4px;
    }
}

/* —— Badminton in Wien (Bereichsübersicht) —— */
.wbv-home-maincards {
    margin: 0;
    padding: var(--wbv-home-section-y) 0 var(--wbv-home-section-y-bottom);
    background: #fff;
    border-top: 1px solid var(--color-border, #e3e3e3);
    overflow: visible;
}

.wbv-home-maincards .wbv-home-section-header {
    margin-bottom: var(--wbv-home-header-gap, 14px);
}

.wbv-home-maincards .wbv-home-section-intro {
    margin: 0 0 var(--wbv-home-intro-gap, 28px);
}

.wbv-home-overview {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    margin: 0;
    padding: 0;
}

.wbv-home-overview__card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 22px 22px 20px;
    border: 1px solid var(--color-border, #e3e3e3);
    border-radius: var(--radius-md, 16px);
    background: #fff;
    box-sizing: border-box;
}

.wbv-home-overview__title {
    margin: 0 0 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--color-border, #e3e3e3);
    font-size: var(--font-size-home-card-title);
    line-height: 1.25;
    font-weight: 700;
    color: var(--color-text-primary, #202020);
}

.wbv-home-overview__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.wbv-home-overview__list li + li {
    margin-top: 4px;
}

.wbv-home-overview__list a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 12px;
    margin: 0 -12px;
    border-radius: 10px;
    font-size: var(--font-size-home-body);
    font-weight: 500;
    line-height: 1.4;
    color: var(--color-text-primary, #202020);
    text-decoration: none !important;
    transition: background-color 150ms ease, color 150ms ease;
}

.wbv-home-overview__list a::after {
    content: "→";
    flex: 0 0 auto;
    color: var(--color-brand, #d9231e);
    font-weight: 500;
    transition: transform 150ms ease;
}

.wbv-home-overview__list a:hover,
.wbv-home-overview__list a:focus-visible {
    background: var(--color-surface-subtle, #f4f4f4);
    color: var(--color-brand, #d9231e);
}

.wbv-home-overview__list a:hover::after,
.wbv-home-overview__list a:focus-visible::after {
    transform: translateX(3px);
}

.wbv-home-overview__list a:focus-visible {
    outline: 2px solid var(--color-brand, #d9231e);
    outline-offset: 0;
}

@media (min-width: 768px) {
    .wbv-home-overview {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 20px;
    }

    .wbv-home-overview__card {
        padding: 24px 22px 22px;
    }
}

/* —— Verband: 3 equal columns —— */
.wbv-home-verband {
    margin: 0;
    padding: var(--wbv-home-section-y) 0 var(--wbv-home-section-y-bottom);
    background: #fff;
    border-top: 1px solid var(--color-border, #e3e3e3);
}

.wbv-home-verband .wbv-home-section-header {
    margin-bottom: var(--wbv-home-header-gap, 14px);
}

.wbv-home-verband .wbv-home-section-intro {
    max-width: 640px;
}

.wbv-home-pillars {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px 28px;
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 0;
}

.wbv-home-pillar {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0;
    padding: 16px 0 0;
    border-top: 2px solid var(--color-brand, #d9231e);
    border-bottom: 0;
    background: transparent;
}

.wbv-home-pillar__num {
    color: var(--color-brand, #d9231e);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.3;
}

.wbv-home-pillar__title {
    margin: 0;
    font-size: var(--font-size-home-card-title);
    font-weight: 700;
    line-height: 1.25;
}

.wbv-home-pillar p {
    margin: 0;
    max-width: none;
    color: var(--color-text-secondary, #5f5f5f);
    font-size: var(--font-size-home-body);
    line-height: 1.5;
}

.wbv-home-verband .wbv-home-inline-cta {
    margin-top: 6px;
}

.wbv-home-verband .wbv-home-inline-cta a {
    color: var(--color-brand, #d9231e) !important;
    font-weight: 600;
    font-size: 0.875rem;
    text-decoration: none !important;
}

.wbv-home-verband .wbv-home-inline-cta a:hover,
.wbv-home-verband .wbv-home-inline-cta a:focus-visible {
    text-decoration: underline !important;
}

.wbv-home-verband > .wbv-home-inner > .wp-block-buttons {
    display: none !important;
}

@media (max-width: 900px) {
    .wbv-home-pillars {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .wbv-home-pillar {
        padding: 18px 0;
        border-top: 0;
        border-bottom: 1px solid var(--color-border, #e3e3e3);
    }

    .wbv-home-pillar:first-child {
        border-top: 2px solid var(--color-brand, #d9231e);
        padding-top: 16px;
    }
}

/* —— Partners —— */
.wbv-home-partners {
    margin: 0;
    padding: 56px 0 64px;
    background: #fff;
    border-top: 1px solid var(--color-border, #e3e3e3);
}

.wbv-home-partners .wbv-home-section-header {
    margin-bottom: 20px;
}

.wbv-home-partner-grid {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 24px 48px;
}

.wbv-home-partner-card {
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-sizing: border-box;
}

.wbv-home-partner-card img {
    display: block;
    max-width: 160px;
    max-height: 48px;
    width: auto;
    height: auto;
    object-fit: contain;
}

body.page-id-218 .wbv-footer {
    padding: 56px 0 32px;
}

@media (max-width: 767px) {
    body.page-id-218 .wbv-footer {
        padding: 40px 0 24px;
    }

    body.page-id-218 footer.wp-block-template-part > .wp-block-group {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
}

body.page-id-218 footer.wp-block-template-part > .wp-block-group {
    padding-top: 40px !important;
    padding-bottom: 28px !important;
}

body.page-id-218 footer .wp-block-spacer {
    display: none !important;
}

@media (prefers-reduced-motion: reduce) {
    .wbv-home-maincards .wbv-area-card__media img {
        transition: none;
    }
    .wbv-home-maincards .wbv-area-card__link:hover .wbv-area-card__media img {
        transform: none;
    }
}


/* =========================================================
   DESIGNER UPDATE 2 - NEWS VOLLSTAENDIG
   Cursor Snapshot 2026-08-30
   ========================================================= */

/* =========================================================
   NEWS ARCHIV — WBV design system
   ========================================================= */

body.page-id-10 .wp-block-post-title {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Restore proper page gap (global ≤1300 override is only 50px total). */
body.page-id-10 {
    --wbv-page-gap: calc(var(--container-padding) * 2);
}

/* Remove WP horizontal padding so one container system owns alignment. */
body.page-id-10 main.has-global-padding,
body.page-id-10 main > .wp-block-group.has-global-padding,
body.page-id-10 .entry-content.has-global-padding {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.page-id-10 main > .wp-block-group.has-global-padding {
    padding-bottom: var(--space-8, 64px) !important;
}

body.page-id-10 .entry-content.wp-block-post-content {
    padding-top: 0 !important;
    margin-block-start: 0 !important;
}

/* Shared content axis — header, filters, year, grid */
.wbv-news-container {
    width: calc(100% - var(--wbv-page-gap));
    max-width: var(--wbv-max-width);
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

.wbv-news-page {
    width: calc(100% - var(--wbv-page-gap));
    max-width: var(--wbv-max-width);
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    padding-top: var(--wbv-post-hero-pad-quiet, 40px);
}


.wbv-news-feature {
    margin: 0 0 48px;
}

.wbv-news-feature__link {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
    gap: 28px 40px;
    align-items: center;
    color: inherit;
    text-decoration: none !important;
}

.wbv-news-feature__link:focus-visible {
    outline: 2px solid var(--color-focus, #d9231e);
    outline-offset: 4px;
}

.wbv-news-feature__media {
    margin: 0;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    border-radius: var(--radius-sm, 10px);
    background: var(--color-surface-muted, #f4f4f4);
}

.wbv-news-feature__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--transition-base, 220ms ease);
}

.wbv-news-feature__link:hover img {
    transform: scale(1.02);
}

.wbv-news-no-image {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--color-surface-subtle, #f4f4f4);
    color: var(--color-brand, #d9231e);
    font-weight: 700;
}

.wbv-news-feature__meta,
.wbv-news-ed-item__meta {
    margin: 0 0 8px;
    color: var(--color-text-secondary, #5f5f5f);
    font-size: var(--text-meta, 0.75rem);
    font-weight: 500;
    line-height: 1.4;
}

.wbv-news-feature__title {
    margin: 0 0 12px;
    max-width: 22ch;
    color: var(--color-text-primary, #202020);
    font-size: clamp(1.5rem, 1.25rem + 0.8vw, 2rem);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

.wbv-news-feature__link:hover .wbv-news-feature__title {
    color: var(--color-brand, #d9231e);
}

.wbv-news-feature__excerpt {
    margin: 0 0 16px;
    max-width: 38rem;
    color: var(--color-text-secondary, #5f5f5f);
    font-size: 1.0625rem;
    line-height: 1.55;
}

.wbv-news-feature__more {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--color-brand, #d9231e);
    font-size: 0.9375rem;
    font-weight: 600;
}

.wbv-news-feature__more::after {
    content: "→";
    transition: transform var(--transition-fast, 150ms ease);
}

.wbv-news-feature__link:hover .wbv-news-feature__more::after {
    transform: translateX(3px);
}

.wbv-news-ed-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 40px 28px;
    align-items: start;
}

.wbv-news-ed-item {
    min-width: 0;
    margin: 0;
}

.wbv-news-ed-item__link {
    display: grid;
    gap: 14px;
    color: inherit;
    text-decoration: none !important;
}

.wbv-news-ed-item__link:focus-visible {
    outline: 2px solid var(--color-focus, #d9231e);
    outline-offset: 4px;
}

.wbv-news-ed-item__media {
    aspect-ratio: 3 / 2;
    overflow: hidden;
    border-radius: var(--radius-sm, 10px);
    background: var(--color-surface-muted, #f4f4f4);
}

.wbv-news-ed-item__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--transition-base, 220ms ease);
}

.wbv-news-ed-item__link:hover img {
    transform: scale(1.02);
}

.wbv-news-ed-item__title {
    margin: 0 0 8px;
    color: var(--color-text-primary, #202020);
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.01em;
}

.wbv-news-ed-item__link:hover .wbv-news-ed-item__title {
    color: var(--color-brand, #d9231e);
}

.wbv-news-ed-item__excerpt {
    margin: 0 0 12px;
    color: var(--color-text-secondary, #5f5f5f);
    font-size: 0.9375rem;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
}

.wbv-news-ed-item__more {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--color-brand, #d9231e);
    font-size: 0.875rem;
    font-weight: 600;
}

.wbv-news-ed-item__more::after {
    content: "→";
    transition: transform var(--transition-fast, 150ms ease);
}

.wbv-news-ed-item__link:hover .wbv-news-ed-item__more::after {
    transform: translateX(3px);
}

.wbv-news-empty {
    padding: var(--space-6, 32px) 0;
    border: 0;
    background: transparent;
}

.wbv-news-empty p {
    margin: 0 0 var(--space-3, 12px);
    color: var(--color-text-secondary, #5f5f5f);
    font-size: 1rem;
    line-height: 1.5;
}

.wbv-news-empty p:first-child {
    margin-bottom: var(--space-2, 8px);
    color: var(--color-text-primary, #202020);
    font-weight: 600;
}

.wbv-news-empty-reset {
    display: inline-flex;
    margin-top: var(--space-2, 8px);
    padding: 0;
    border: 0;
    background: none;
    color: var(--color-brand, #d9231e);
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 2px;
}

@media (max-width: 900px) {
    .wbv-news-feature__link {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .wbv-news-ed-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 32px 20px;
    }
}

@media (max-width: 767px) {
    /* First card matches the compact card design used for the rest */
    .wbv-news-feature {
        margin-bottom: 28px;
    }

    .wbv-news-feature__link {
        gap: 14px;
        align-items: start;
    }

    .wbv-news-feature__media {
        aspect-ratio: 3 / 2;
    }

    .wbv-news-feature__title {
        max-width: none;
        margin: 0 0 8px;
        font-size: 1.125rem;
        letter-spacing: -0.01em;
    }

    .wbv-news-feature__excerpt {
        display: none;
    }

    .wbv-news-feature__more {
        font-size: 0.875rem;
    }

    .wbv-news-ed-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .wbv-news-ed-item__excerpt {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .wbv-news-feature__media img,
    .wbv-news-ed-item__media img,
    .wbv-news-feature__more::after,
    .wbv-news-ed-item__more::after {
        transition: none;
    }
    .wbv-news-feature__link:hover img,
    .wbv-news-ed-item__link:hover img {
        transform: none;
    }
}

/* =========================================================
   DESIGNER UPDATE 2 - NEWS DIREKT UNTER HEADER
   ========================================================= */

body.page-id-10 main > .wp-block-group.alignfull.has-global-padding {
    padding-top: 0 !important;
}



/* =========================================================
   DESIGNER UPDATE 2 - TERMINPLAN VOLLSTAENDIG
   Cursor Snapshot 2026-08-30
   ========================================================= */

body.page-id-18 .wp-block-post-title {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

body.page-id-18 {
    --wbv-page-gap: calc(var(--container-padding) * 2);
    background: #fff;
}

body.page-id-18 main.has-global-padding,
body.page-id-18 main > .wp-block-group.has-global-padding,
body.page-id-18 .entry-content.has-global-padding {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.page-id-18 .entry-content.wp-block-post-content {
    padding-top: 0 !important;
    margin-block-start: 0 !important;
}

body.page-id-18 main > .wp-block-group.has-global-padding {
    padding-bottom: 0 !important;
}

body.page-id-18 .wbv-kalender-page {
    width: 100% !important;
    max-width: none !important;
    margin: 0;
    box-sizing: border-box;
    padding-bottom: 0;
}

body.page-id-18 .wbv-subhero + .wbv-kalender-page {
    margin-top: 0 !important;
}

/* Hero sheet matches search toolbar gray (no white strip) */
body.page-id-18 .wbv-subhero::after {
    background: var(--color-surface-subtle, #f4f4f4);
}

body.page-id-18 #wbv-events-app {
    width: 100%;
}

/* Thin photo banner — no title overlay */
@media (min-width: 768px) {
    body.page-id-18 .wbv-subhero--banner {
        --wbv-subhero-h: clamp(156px, 18vw, 218px);
    }
}

@media (max-width: 767px) {
    body.page-id-18 .wbv-subhero--banner {
        --wbv-subhero-h: var(--mobile-hero-h, clamp(195px, 55vw, 247px));
    }
}

body.page-id-18 .wbv-subhero--banner .wbv-subhero__overlay {
    min-height: var(--wbv-subhero-h);
    padding: 0;
    background: none;
}



/* Terminplan direkt unter Header */

body.page-id-18 main > .wp-block-group.alignfull.has-global-padding {
    padding-top: 0 !important;
}



/* =========================================================
   DESIGNER UPDATE 2 - VEREINSUEBERSICHT / PAGE 16
   Cursor Snapshot 2026-08-30
   ========================================================= */

/* =========================================================
   VEREINE — page shell (club finder styles live in wbv-vereine.js)
   ========================================================= */

body.page-id-16 {
    --wbv-page-gap: calc(var(--container-padding) * 2);
}

body.page-id-16 .wp-block-post-title {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

body.page-id-16 main.has-global-padding,
body.page-id-16 main > .wp-block-group.has-global-padding,
body.page-id-16 .entry-content.has-global-padding {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.page-id-16 main > .wp-block-group.has-global-padding {
    padding-bottom: var(--space-8, 64px) !important;
}

body.page-id-16 .entry-content.wp-block-post-content {
    padding-top: 0 !important;
    margin-block-start: 0 !important;
}

body.page-id-16 .entry-content.is-layout-constrained > .wbv-hero {
    max-width: none !important;
}

.wbv-ve-page {
    width: 100%;
    max-width: none;
    margin: 0;
    box-sizing: border-box;
    padding-bottom: var(--wbv-page-end, 48px);
    --wbv-ve-rail: min(
        calc(100% - var(--wbv-page-gap, 40px)),
        var(--wbv-max-width, 1360px)
    );
}

body.page-id-16 .entry-content.is-layout-constrained > .wbv-ve-page {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.page-id-16 .wbv-subhero + .wbv-ve-page {
    margin-top: 0 !important;
}

/* Hero sheet matches club search toolbar gray (no white strip) */
body.page-id-16 .wbv-subhero::after {
    background: var(--color-surface-subtle, #f4f4f4);
}

body.page-id-16 .wbv-ve-finder {
    margin-top: 0;
    margin-bottom: 0;
}

.wbv-ve-features {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    margin-bottom: var(--wbv-section-gap-sm, 48px);
}

.wbv-ve-feature {
    display: flex;
    flex-direction: column;
    padding: 22px;
    border-radius: var(--radius-md, 8px);
    background: var(--color-surface-subtle, #f4f4f4);
    box-sizing: border-box;
}

.wbv-ve-feature img {
    width: 64px;
    height: 64px;
    object-fit: contain;
    object-position: left center;
    margin-bottom: 14px;
    display: block;
}

.wbv-ve-feature h2 {
    margin: 0 0 8px;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.3;
}

.wbv-ve-feature p {
    margin: 0 0 16px;
    color: var(--color-text-secondary, #5f5f5f);
    font-size: 0.9375rem;
    line-height: 1.5;
    flex: 1;
}

.wbv-ve-feature-cta {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: auto;
    color: var(--color-brand, #d9231e);
    font-size: 0.9375rem;
    font-weight: 600;
    text-decoration: none;
}

.wbv-ve-feature-cta::after { content: "→"; }

.wbv-ve-feature-cta:focus-visible {
    outline: 2px solid var(--color-focus, #d9231e);
    outline-offset: 2px;
}

@media (max-width: 900px) {
.wbv-ve-features { grid-template-columns: 1fr; }

.wbv-ve-feature img {
    width: 52px;
    height: 52px;
}
}

.wbv-ve-finder {
    scroll-margin-top: calc(var(--wbv-header-height, 96px) + 16px);
}

/* Thin photo banner — no title overlay */
@media (min-width: 768px) {
    body.page-id-16 .wbv-subhero--banner {
        --wbv-subhero-h: clamp(156px, 18vw, 218px);
    }
}

@media (max-width: 767px) {
    body.page-id-16 .wbv-subhero--banner {
        --wbv-subhero-h: var(--mobile-hero-h, clamp(195px, 55vw, 247px));
    }
}

body.page-id-16 .wbv-subhero--banner .wbv-subhero__overlay {
    min-height: var(--wbv-subhero-h);
    padding: 0;
    background: none;
}

/* Vereinsseite direkt unter Header */

body.page-id-16 main > .wp-block-group.alignfull.has-global-padding {
    padding-top: 0 !important;
}



/* =========================================================
   DESIGNER UPDATE 2 - WBV SONDERSEITEN
   Mitmachen              page-id-107
   Mitglied werden        page-id-269
   Para Badminton         page-id-189
   News einreichen        page-id-292
   Sportausschuss         page-id-58

   Bestehende Inhalte und Funktionen bleiben unveraendert.
   ========================================================= */


/* ---------------------------------------------------------
   WordPress Standardabstand unter dem Header entfernen
   --------------------------------------------------------- */

body.page-id-107 main > .wp-block-group.alignfull.has-global-padding,
body.page-id-269 main > .wp-block-group.alignfull.has-global-padding,
body.page-id-189 main > .wp-block-group.alignfull.has-global-padding,
body.page-id-292 main > .wp-block-group.alignfull.has-global-padding,
body.page-id-58 main > .wp-block-group.alignfull.has-global-padding {
    padding-top: 0 !important;
}


/* ---------------------------------------------------------
   WordPress Seitentitel ausblenden.
   Die WBV-Seiten verwenden ihre eigene Seitenüberschrift.
   --------------------------------------------------------- */

body.page-id-107 .wp-block-post-title,
body.page-id-269 .wp-block-post-title,
body.page-id-189 .wp-block-post-title,
body.page-id-292 .wp-block-post-title,
body.page-id-58 .wp-block-post-title {
    display: none;
}


/* ---------------------------------------------------------
   Äußeren WordPress-Container neutralisieren.
   Die WBV-Komponenten steuern ihre Breite selbst.
   --------------------------------------------------------- */

body.page-id-107 .entry-content.wp-block-post-content,
body.page-id-269 .entry-content.wp-block-post-content,
body.page-id-189 .entry-content.wp-block-post-content,
body.page-id-292 .entry-content.wp-block-post-content,
body.page-id-58 .entry-content.wp-block-post-content {
    margin-top: 0 !important;
}


/* ---------------------------------------------------------
   WBV Subhero wie auf den neuen Designer-Unterseiten
   direkt an den Header anschließen
   --------------------------------------------------------- */

body.page-id-107 .entry-content > .wbv-subhero:first-child,
body.page-id-269 .entry-content > .wbv-subhero:first-child,
body.page-id-189 .entry-content > .wbv-subhero:first-child,
body.page-id-292 .entry-content > .wbv-subhero:first-child,
body.page-id-58 .entry-content > .wbv-subhero:first-child {
    margin-top: 0 !important;
}


/* ---------------------------------------------------------
   Einheitlicher Seitenrhythmus für normale Inhaltsbereiche.
   Bereits speziell gestaltete WBV-Komponenten behalten
   ihre eigenen Abstände.
   --------------------------------------------------------- */

body.page-id-107,
body.page-id-269,
body.page-id-189,
body.page-id-292,
body.page-id-58 {
    --wbv-special-rail: min(
        calc(100% - var(--wbv-page-gap, 40px)),
        var(--wbv-max-width, 1360px)
    );
}


/* Normale direkte Inhaltsgruppen auf Designerbreite */

body.page-id-107 .entry-content > .wp-block-group:not(.alignfull),
body.page-id-269 .entry-content > .wp-block-group:not(.alignfull),
body.page-id-189 .entry-content > .wp-block-group:not(.alignfull),
body.page-id-292 .entry-content > .wp-block-group:not(.alignfull),
body.page-id-58 .entry-content > .wp-block-group:not(.alignfull) {
    width: var(--wbv-special-rail);
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}


/* ---------------------------------------------------------
   Mobile
   --------------------------------------------------------- */

@media (max-width: 700px) {

    body.page-id-107,
    body.page-id-269,
    body.page-id-189,
    body.page-id-292,
    body.page-id-58 {
        --wbv-page-gap: 32px;
    }
}



/* =========================================================
   NEWS EINREICHEN
   Formularfunktion bleibt vollständig beim MU-Plugin.
   Nur der äußere Seitenrahmen wird harmonisiert.
   ========================================================= */

body.page-id-292 form,
body.page-id-292 .wbv-news-submit,
body.page-id-292 .wbv-news-form {
    box-sizing: border-box;
    max-width: 100%;
}



/* =========================================================
   DESIGNER UPDATE 2 - SONDERSEITEN FINAL ALIGNMENT
   Hero links auf gleicher Achse wie Seiteninhalt
   ========================================================= */

body.page-id-107,
body.page-id-269,
body.page-id-189,
body.page-id-292,
body.page-id-58 {
    --wbv-special-rail: min(
        calc(100% - var(--wbv-page-gap, 40px)),
        var(--wbv-max-width, 1360px)
    );
}


/* ---------------------------------------------------------
   HERO / EINLEITUNGSBEREICH

   Egal ob wbv-subhero, anderer WBV-Hero oder normale
   erste Gruppe: Text wird links auf die Designer-Rail gesetzt.
   --------------------------------------------------------- */

body.page-id-107 .entry-content > .wbv-subhero,
body.page-id-269 .entry-content > .wbv-subhero,
body.page-id-189 .entry-content > .wbv-subhero,
body.page-id-292 .entry-content > .wbv-subhero,
body.page-id-58  .entry-content > .wbv-subhero {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}


/* vorhandene Subhero-Inhalte */

body.page-id-107 .wbv-subhero__overlay,
body.page-id-269 .wbv-subhero__overlay,
body.page-id-189 .wbv-subhero__overlay,
body.page-id-292 .wbv-subhero__overlay,
body.page-id-58  .wbv-subhero__overlay,

body.page-id-107 .wbv-subhero__shell,
body.page-id-269 .wbv-subhero__shell,
body.page-id-189 .wbv-subhero__shell,
body.page-id-292 .wbv-subhero__shell,
body.page-id-58  .wbv-subhero__shell {
    width: var(--wbv-special-rail) !important;
    max-width: var(--wbv-max-width, 1360px) !important;
    margin-left: auto !important;
    margin-right: auto !important;

    text-align: left !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;

    box-sizing: border-box !important;
}


/* Text innerhalb des Hero immer links */

body.page-id-107 .wbv-subhero h1,
body.page-id-269 .wbv-subhero h1,
body.page-id-189 .wbv-subhero h1,
body.page-id-292 .wbv-subhero h1,
body.page-id-58  .wbv-subhero h1,

body.page-id-107 .wbv-subhero p,
body.page-id-269 .wbv-subhero p,
body.page-id-189 .wbv-subhero p,
body.page-id-292 .wbv-subhero p,
body.page-id-58  .wbv-subhero p {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}


/* ---------------------------------------------------------
   Falls die Sonderseite keinen wbv-subhero verwendet:
   erster Bereich mit H1 ebenfalls auf dieselbe Rail setzen.
   --------------------------------------------------------- */

body.page-id-107 .entry-content > :first-child:has(h1),
body.page-id-269 .entry-content > :first-child:has(h1),
body.page-id-189 .entry-content > :first-child:has(h1),
body.page-id-292 .entry-content > :first-child:has(h1),
body.page-id-58  .entry-content > :first-child:has(h1) {
    box-sizing: border-box !important;
    text-align: left !important;
}


/* innerer Inhaltscontainer des ersten Bereichs */

body.page-id-107 .entry-content > :first-child:has(h1) > *,
body.page-id-269 .entry-content > :first-child:has(h1) > *,
body.page-id-189 .entry-content > :first-child:has(h1) > *,
body.page-id-292 .entry-content > :first-child:has(h1) > *,
body.page-id-58  .entry-content > :first-child:has(h1) > * {
    text-align: left !important;
}


/* =========================================================
   SPORTAUSSCHUSS / SCHIEDSGERICHT
   Gestreckte Darstellung korrigieren
   ========================================================= */

body.page-id-58 {
    --wbv-sg-rail: min(
        calc(100% - var(--wbv-page-gap, 40px)),
        var(--wbv-max-width, 1360px)
    );
}


/* äußere Seitenschale darf full width bleiben */

body.page-id-58 .entry-content.wp-block-post-content {
    width: 100% !important;
    max-width: none !important;
}


/* eigentliche Inhaltsbereiche auf Designer-Rail */

body.page-id-58 .entry-content > .wp-block-group:not(.alignfull),
body.page-id-58 .wbv-sg-page > *,
body.page-id-58 .wbv-sg-section > *,
body.page-id-58 .wbv-sg-body > * {
    width: var(--wbv-sg-rail) !important;
    max-width: var(--wbv-max-width, 1360px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}


/* keine künstliche horizontale Streckung */

body.page-id-58 .wbv-sg-section,
body.page-id-58 .wbv-sg-body,
body.page-id-58 .wbv-sg-page {
    max-width: none !important;
    box-sizing: border-box !important;
}


/* ---------------------------------------------------------
   Mobile
   --------------------------------------------------------- */

@media (max-width: 767px) {

    body.page-id-107,
    body.page-id-269,
    body.page-id-189,
    body.page-id-292,
    body.page-id-58 {
        --wbv-page-gap: 32px;
    }

}



/* =========================================================
   DESIGNER UPDATE 2 - SONDERSEITEN FINAL
   echte Seitenstruktur: .wbv-hero
   ========================================================= */


/* ---------------------------------------------------------
   GEMEINSAME DESIGN-RAIL
   --------------------------------------------------------- */

body.page-id-107,
body.page-id-269,
body.page-id-189,
body.page-id-292,
body.page-id-58 {
    --wbv-special-rail: min(
        calc(100% - var(--wbv-page-gap, 40px)),
        var(--wbv-max-width, 1360px)
    );
}


/* ---------------------------------------------------------
   WORDPRESS ABSTAND ZWISCHEN HEADER UND HERO ENTFERNEN

   bewusst ohne .alignfull, da die tatsächlichen Wrapper
   dieser Sonderseiten diese Klasse nicht zwingend besitzen.
   --------------------------------------------------------- */

body.page-id-107 main > .wp-block-group.has-global-padding,
body.page-id-269 main > .wp-block-group.has-global-padding,
body.page-id-189 main > .wp-block-group.has-global-padding,
body.page-id-292 main > .wp-block-group.has-global-padding,
body.page-id-58 main > .wp-block-group.has-global-padding {
    padding-top: 0 !important;
}


/* ---------------------------------------------------------
   HERO FULL WIDTH
   --------------------------------------------------------- */

body.page-id-107 .entry-content > .wbv-hero,
body.page-id-269 .entry-content > .wbv-hero,
body.page-id-189 .entry-content > .wbv-hero,
body.page-id-292 .entry-content > .wbv-hero,
body.page-id-58 .entry-content > .wbv-hero {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    box-sizing: border-box !important;
}


/* ---------------------------------------------------------
   HERO-INHALT AUF DIE GLEICHE LINKE ACHSE WIE DER CONTENT
   --------------------------------------------------------- */

body.page-id-107 .wbv-hero__shell,
body.page-id-269 .wbv-hero__shell,
body.page-id-189 .wbv-hero__shell,
body.page-id-292 .wbv-hero__shell,
body.page-id-58 .wbv-hero__shell {
    width: var(--wbv-special-rail) !important;
    max-width: var(--wbv-max-width, 1360px) !important;

    margin-left: auto !important;
    margin-right: auto !important;

    box-sizing: border-box !important;
}


/* Hero-Copy niemals zentrieren */

body.page-id-107 .wbv-hero__copy,
body.page-id-269 .wbv-hero__copy,
body.page-id-189 .wbv-hero__copy,
body.page-id-292 .wbv-hero__copy,
body.page-id-58 .wbv-hero__copy {
    text-align: left !important;

    align-items: flex-start !important;
    justify-content: flex-start !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
}


/* Texte ebenfalls explizit links */

body.page-id-107 .wbv-hero__context,
body.page-id-107 .wbv-hero__title,
body.page-id-107 .wbv-hero__intro,

body.page-id-269 .wbv-hero__context,
body.page-id-269 .wbv-hero__title,
body.page-id-269 .wbv-hero__intro,

body.page-id-189 .wbv-hero__context,
body.page-id-189 .wbv-hero__title,
body.page-id-189 .wbv-hero__intro,

body.page-id-292 .wbv-hero__context,
body.page-id-292 .wbv-hero__title,
body.page-id-292 .wbv-hero__intro,

body.page-id-58 .wbv-hero__context,
body.page-id-58 .wbv-hero__title,
body.page-id-58 .wbv-hero__intro {
    text-align: left !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
}


/* Hero-Aktionslinks ebenfalls links */

body.page-id-107 .wbv-hero__actions,
body.page-id-269 .wbv-hero__actions,
body.page-id-189 .wbv-hero__actions,
body.page-id-292 .wbv-hero__actions,
body.page-id-58 .wbv-hero__actions {
    justify-content: flex-start !important;
}


/* =========================================================
   DIE EINZELNEN SONDERSEITEN
   Content exakt auf dieselbe Rail wie der Hero
   ========================================================= */

body.page-id-107 .wbv-join-page,
body.page-id-269 .wbv-member-page,
body.page-id-189 .wbv-para-page,
body.page-id-292 .wbv-news-submit-page {
    width: var(--wbv-special-rail) !important;
    max-width: var(--wbv-max-width, 1360px) !important;

    margin-left: auto !important;
    margin-right: auto !important;

    box-sizing: border-box !important;
}


/* =========================================================
   SPORTAUSSCHUSS / SCHIEDSGERICHT
   bisher gestreckten Content korrigieren
   ========================================================= */

body.page-id-58 .wbv-sg-page {
    width: var(--wbv-special-rail) !important;
    max-width: var(--wbv-max-width, 1360px) !important;

    margin-left: auto !important;
    margin-right: auto !important;

    box-sizing: border-box !important;
}


/* Sections dürfen nicht selbst wieder auf Viewportbreite gehen */

body.page-id-58 .wbv-sg-section {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    box-sizing: border-box !important;
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 767px) {

    body.page-id-107,
    body.page-id-269,
    body.page-id-189,
    body.page-id-292,
    body.page-id-58 {
        --wbv-page-gap: 32px;
    }

}



/* =========================================================
   MITMACHEN - HERO FINAL
   Text links / Bild kompakt rechts
   ========================================================= */

@media (min-width: 901px) {

    body.page-id-107 .wbv-hero--mitmachen .wbv-hero__shell {
        display: grid !important;
        grid-template-columns:
            minmax(0, 1.15fr)
            minmax(360px, 0.85fr) !important;

        align-items: center !important;
        gap: clamp(48px, 5vw, 80px) !important;
    }


    /* Text links */

    body.page-id-107 .wbv-hero--mitmachen .wbv-hero__copy {
        grid-column: 1 !important;
        grid-row: 1 !important;

        width: 100% !important;
        max-width: 700px !important;

        text-align: left !important;
        align-items: flex-start !important;
    }


    /* Bildbereich rechts */

    body.page-id-107 .wbv-hero--mitmachen .wbv-hero__media-wrap {
        grid-column: 2 !important;
        grid-row: 1 !important;

        width: 100% !important;
        max-width: 520px !important;

        margin-left: auto !important;
        margin-right: 0 !important;

        align-self: center !important;
    }


    /* Bild selbst nicht mehr auf Hero-Breite aufblasen */

    body.page-id-107 .wbv-hero--mitmachen .wbv-hero__media {
        width: 100% !important;
        max-width: 520px !important;

        margin: 0 !important;
    }


    body.page-id-107 .wbv-hero--mitmachen .wbv-hero__media img {
        display: block !important;

        width: 100% !important;
        max-width: 520px !important;
        height: auto !important;

        object-fit: contain !important;
    }

}


/* ---------------------------------------------------------
   Tablet / Mobile:
   untereinander statt zu eng nebeneinander
   --------------------------------------------------------- */

@media (max-width: 900px) {

    body.page-id-107 .wbv-hero--mitmachen .wbv-hero__shell {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    body.page-id-107 .wbv-hero--mitmachen .wbv-hero__copy {
        width: 100% !important;
        max-width: none !important;
    }

    body.page-id-107 .wbv-hero--mitmachen .wbv-hero__media-wrap {
        width: 100% !important;
        max-width: 520px !important;

        margin-left: 0 !important;
        margin-right: auto !important;
    }

    body.page-id-107 .wbv-hero--mitmachen .wbv-hero__media img {
        width: 100% !important;
        height: auto !important;
        object-fit: contain !important;
    }

}



/* =========================================================
   WBV - MOBILE FINAL FIXES
   1. Home Abstand nach Hero
   2. News 16px Seitenpadding
   3. Sportausschuss Hero kompakter
   4. Dokumentlinks rechts
   ========================================================= */


/* =========================================================
   1. STARTSEITE MOBIL
   Kein zusätzlicher Abstand zwischen Hero und erstem Bereich
   ========================================================= */

@media (max-width: 767px) {

    body.page-id-218 .wbv-home-after-hero {
        margin-top: 0 !important;
        margin-block-start: 0 !important;
        padding-top: 0 !important;
    }

}


/* =========================================================
   2. NEWS MOBIL
   16px Innenabstand links und rechts
   ========================================================= */

@media (max-width: 767px) {

    body.page-id-10 .entry-content.is-layout-constrained > .wbv-news-page,
    body.page-id-10 .wbv-news-page {
        width: 100% !important;
        max-width: none !important;

        margin-left: 0 !important;
        margin-right: 0 !important;

        padding-left: 16px !important;
        padding-right: 16px !important;

        box-sizing: border-box !important;
    }

}


/* =========================================================
   3. SPORTAUSSCHUSS / SCHIEDSGERICHT MOBIL
   Hero kompakter
   Desktop bleibt unverändert
   ========================================================= */

@media (max-width: 767px) {

    body.page-id-58 .wbv-hero--sg,
    body.page-id-58 .wbv-hero--verband-media {
        min-height: 0 !important;
        height: auto !important;
    }


    body.page-id-58 .wbv-hero--sg .wbv-hero__shell {
        display: flex !important;
        flex-direction: column !important;

        width: calc(100% - 32px) !important;
        max-width: none !important;

        gap: 20px !important;

        padding-top: 20px !important;
        padding-bottom: 24px !important;

        align-items: stretch !important;
    }


    /* Bild auf Mobil deutlich kompakter */

    body.page-id-58 .wbv-hero--sg .wbv-hero__media-wrap {
        order: 2 !important;

        width: 100% !important;
        max-width: none !important;

        margin: 0 !important;

        min-height: 0 !important;
        height: auto !important;
    }


    body.page-id-58 .wbv-hero--sg .wbv-hero__media {
        width: 100% !important;
        height: 180px !important;
        min-height: 0 !important;

        margin: 0 !important;

        overflow: hidden !important;
    }


    body.page-id-58 .wbv-hero--sg .wbv-hero__media img {
        display: block !important;

        width: 100% !important;
        height: 180px !important;

        object-fit: cover !important;
        object-position: center !important;
    }


    /* Text zuerst */

    body.page-id-58 .wbv-hero--sg .wbv-hero__copy {
        order: 1 !important;

        width: 100% !important;
        max-width: none !important;

        padding: 0 !important;
        margin: 0 !important;
    }


    body.page-id-58 .wbv-hero--sg .wbv-hero__title {
        font-size: clamp(1.8rem, 8vw, 2.25rem) !important;
        line-height: 1.08 !important;
    }


    body.page-id-58 .wbv-hero--sg .wbv-hero__intro {
        margin-top: 12px !important;

        font-size: 0.9375rem !important;
        line-height: 1.5 !important;
    }


    /* Seitennavigation im Hero kompakt halten */

    body.page-id-58 .wbv-hero--sg .wbv-hero__nav {
        margin-top: 18px !important;
    }


    body.page-id-58 .wbv-hero--sg .wbv-hero__nav-list {
        gap: 6px 14px !important;
    }


    /* diagonale Deko auf Mobil nicht unnötig vergrößern */

    body.page-id-58 .wbv-hero--sg .wbv-hero__diag-line {
        display: none !important;
    }

}


/* =========================================================
   4. DOKUMENTE & REGELWERKE
   "PDF öffnen" immer rechts
   ========================================================= */

body.page-id-87 .wbv-doc-cta {
    justify-self: end !important;
    align-self: end !important;

    margin-left: auto !important;
    margin-right: 0 !important;

    text-align: right !important;
}


/* Mobile hatte bisher ausdrücklich justify-self:start.
   Das wird hier bewusst wieder nach rechts gesetzt. */

@media (max-width: 767px) {

    body.page-id-87 .wbv-doc-cta {
        justify-self: end !important;

        margin-left: auto !important;
        margin-right: 0 !important;

        text-align: right !important;
    }

}




/* =========================================================
   WBV - SG + DOKUMENTE FINAL
   2026-08-31
   ========================================================= */


/* =========================================================
   SPORTAUSSCHUSS / SCHIEDSGERICHT - DESKTOP

   Kompakter Zweispalten-Hero:
   Bild links, Text rechts.
   ========================================================= */

@media (min-width: 768px) {

    body.page-id-58 .wbv-hero--sg {
        min-height: 0 !important;
        height: auto !important;
    }

    body.page-id-58 .wbv-hero--sg .wbv-hero__shell {
        display: grid !important;
        grid-template-columns:
            minmax(320px, 0.82fr)
            minmax(0, 1.18fr) !important;

        align-items: center !important;

        gap: clamp(40px, 5vw, 72px) !important;

        padding-top: 32px !important;
        padding-bottom: 32px !important;
    }

    body.page-id-58 .wbv-hero--sg .wbv-hero__media-wrap {
        width: 100% !important;
        max-width: 500px !important;

        min-height: 0 !important;
        height: auto !important;

        margin: 0 !important;
    }

    body.page-id-58 .wbv-hero--sg .wbv-hero__media {
        width: 100% !important;
        height: 300px !important;
        min-height: 0 !important;

        overflow: hidden !important;
    }

    body.page-id-58 .wbv-hero--sg .wbv-hero__media img {
        display: block !important;

        width: 100% !important;
        height: 300px !important;

        object-fit: cover !important;
        object-position: center !important;
    }

    body.page-id-58 .wbv-hero--sg .wbv-hero__copy {
        width: 100% !important;
        max-width: 700px !important;

        margin: 0 !important;
        padding: 0 !important;
    }

}


/* =========================================================
   SPORTAUSSCHUSS / SCHIEDSGERICHT - MOBILE

   Hero bleibt vollständig erhalten:
   Text oben, kompaktes Bild darunter.
   ========================================================= */

@media (max-width: 767px) {

    body.page-id-58 .wbv-hero--sg {
        display: block !important;

        min-height: 0 !important;
        height: auto !important;

        overflow: visible !important;
    }

    body.page-id-58 .wbv-hero--sg .wbv-hero__shell {
        display: flex !important;
        flex-direction: column !important;

        width: calc(100% - 32px) !important;
        max-width: none !important;

        margin-left: auto !important;
        margin-right: auto !important;

        padding: 24px 0 28px !important;

        gap: 22px !important;

        align-items: stretch !important;
    }

    body.page-id-58 .wbv-hero--sg .wbv-hero__copy {
        display: block !important;
        order: 1 !important;

        width: 100% !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    body.page-id-58 .wbv-hero--sg .wbv-hero__title {
        margin-top: 0 !important;

        font-size: 2rem !important;
        line-height: 1.08 !important;
    }

    body.page-id-58 .wbv-hero--sg .wbv-hero__intro {
        margin-top: 12px !important;
        margin-bottom: 0 !important;

        font-size: 0.9375rem !important;
        line-height: 1.5 !important;
    }

    body.page-id-58 .wbv-hero--sg .wbv-hero__nav {
        margin-top: 18px !important;
    }

    body.page-id-58 .wbv-hero--sg .wbv-hero__media-wrap {
        display: block !important;
        order: 2 !important;

        position: relative !important;

        width: 100% !important;
        max-width: none !important;

        height: 180px !important;
        min-height: 180px !important;

        margin: 0 !important;

        overflow: hidden !important;
    }

    body.page-id-58 .wbv-hero--sg .wbv-hero__media {
        display: block !important;

        position: relative !important;

        width: 100% !important;
        height: 180px !important;
        min-height: 180px !important;

        margin: 0 !important;
    }

    body.page-id-58 .wbv-hero--sg .wbv-hero__media img {
        display: block !important;

        position: relative !important;

        width: 100% !important;
        height: 180px !important;

        opacity: 1 !important;
        visibility: visible !important;

        object-fit: cover !important;
        object-position: center !important;
    }

}


/* =========================================================
   DOKUMENTE & REGELWERKE

   Link als eigener rechter Bereich.
   ========================================================= */

body.page-id-87 .wbv-doc-card {
    display: grid !important;

    grid-template-columns:
        minmax(0, 1fr)
        max-content !important;

    grid-template-areas:
        "title cta"
        "type  cta"
        "text  cta" !important;

    column-gap: 32px !important;
    row-gap: 6px !important;

    align-items: start !important;
}


body.page-id-87 .wbv-doc-card h3 {
    grid-area: title !important;
}


body.page-id-87 .wbv-doc-type {
    grid-area: type !important;

    justify-self: start !important;
}


body.page-id-87 .wbv-doc-card p {
    grid-area: text !important;
}


body.page-id-87 .wbv-doc-cta {
    grid-area: cta !important;

    justify-self: end !important;
    align-self: center !important;

    margin: 0 !important;

    text-align: right !important;

    white-space: nowrap !important;
}


/* Mobile:
   Inhalt bleibt einspaltig,
   PDF-Link bekommt trotzdem seine eigene rechtsbündige Zeile.
*/

@media (max-width: 767px) {

    body.page-id-87 .wbv-doc-card {
        grid-template-columns:
            minmax(0, 1fr)
            auto !important;

        grid-template-areas:
            "type type"
            "title title"
            "text text"
            ". cta" !important;

        column-gap: 12px !important;
        row-gap: 8px !important;
    }

    body.page-id-87 .wbv-doc-cta {
        grid-area: cta !important;

        justify-self: end !important;
        align-self: center !important;

        margin: 4px 0 0 auto !important;

        text-align: right !important;
    }

}




/* =========================================================
   SPORTAUSSCHUSS / SCHIEDSGERICHT - FINAL
   ========================================================= */


/* Abstand zwischen Hero und erstem Inhaltsbereich entfernen */

body.page-id-58 .wbv-hero--sg + .wbv-sg-page {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.page-id-58 .wbv-sg-page {
    padding-top: 0 !important;
}

body.page-id-58 .wbv-sg-section:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}


/* ---------------------------------------------------------
   MOBILE: Bild zuerst, Text danach
   --------------------------------------------------------- */

@media (max-width: 767px) {

    body.page-id-58 main > .wp-block-group.has-global-padding,
    body.page-id-58 .entry-content.wp-block-post-content {
        padding-top: 0 !important;
        margin-top: 0 !important;
        margin-block-start: 0 !important;
    }

    body.page-id-58 .wbv-hero--sg {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    body.page-id-58 .wbv-hero--sg .wbv-hero__shell {
        padding-top: 0 !important;
        gap: 18px !important;
    }

    body.page-id-58 .wbv-hero--sg .wbv-hero__media-wrap {
        order: 1 !important;
        margin-top: 0 !important;
    }

    body.page-id-58 .wbv-hero--sg .wbv-hero__copy {
        order: 2 !important;
        margin-top: 0 !important;
    }

    body.page-id-58 .wbv-hero--sg .wbv-hero__media,
    body.page-id-58 .wbv-hero--sg .wbv-hero__media img {
        height: 180px !important;
    }

    body.page-id-58 .wbv-hero--sg + .wbv-sg-page {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    body.page-id-58 .wbv-sg-section:first-child {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

}


/* ---------------------------------------------------------
   DESKTOP: Hero direkt in Inhalt übergehen lassen
   --------------------------------------------------------- */

@media (min-width: 768px) {

    body.page-id-58 .wbv-hero--sg {
        margin-bottom: 0 !important;
    }

    body.page-id-58 .wbv-hero--sg + .wbv-sg-page {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

}



/* =========================================================
   DOKUMENTE & REGELWERKE - FINAL
   Link strukturell rechts
   ========================================================= */

body.page-id-87 .wbv-doc-card {
    display: grid !important;
    grid-template-columns:
        minmax(0, 1fr)
        auto !important;

    grid-template-areas: none !important;

    gap: 24px !important;
    align-items: center !important;
}


body.page-id-87 .wbv-doc-card__content {
    min-width: 0 !important;
}


body.page-id-87 .wbv-doc-card__content h3,
body.page-id-87 .wbv-doc-card__content .wbv-doc-type,
body.page-id-87 .wbv-doc-card__content p {
    display: block !important;

    grid-area: auto !important;
    grid-column: auto !important;
    grid-row: auto !important;
}


body.page-id-87 .wbv-doc-card__content .wbv-doc-type {
    margin-top: 6px !important;
    justify-self: start !important;
}


body.page-id-87 .wbv-doc-card__content p {
    margin-top: 8px !important;
}


body.page-id-87 .wbv-doc-card__action {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;

    min-width: max-content !important;

    margin-left: auto !important;
}


body.page-id-87 .wbv-doc-card__action .wbv-doc-cta {
    display: inline-flex !important;

    grid-area: auto !important;
    grid-column: auto !important;
    grid-row: auto !important;

    justify-self: auto !important;
    align-self: auto !important;

    margin: 0 !important;

    text-align: right !important;

    white-space: nowrap !important;
}


/* Mobile: Text links, CTA weiterhin ganz rechts */

@media (max-width: 767px) {

    body.page-id-87 .wbv-doc-card {
        grid-template-columns:
            minmax(0, 1fr)
            auto !important;

        gap: 12px !important;

        align-items: center !important;
    }

    body.page-id-87 .wbv-doc-card__content {
        min-width: 0 !important;
    }

    body.page-id-87 .wbv-doc-card__action {
        align-self: center !important;
        justify-self: end !important;

        margin-left: auto !important;
    }

    body.page-id-87 .wbv-doc-card__action .wbv-doc-cta {
        font-size: 0.875rem !important;
    }

}



/* =========================================================
   SPORTAUSSCHUSS / SCHIEDSGERICHT
   DESIGNER UPDATE 2 - FINALER ORIGINALBLOCK
   ========================================================= */

/* =========================================================
   SPORTAUSSCHUSS & SCHIEDSGERICHT — WBV design system
   Aligns with Organisation page patterns
   ========================================================= */

body.page-id-58 {
    --wbv-page-gap: calc(var(--container-padding) * 2);
}

body.page-id-58 .wp-block-post-title {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

body.page-id-58 main.has-global-padding,
body.page-id-58 main > .wp-block-group.has-global-padding,
body.page-id-58 .entry-content.has-global-padding {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.page-id-58 main > .wp-block-group.has-global-padding {
    padding-bottom: 0 !important;
}

body.page-id-58 .entry-content.wp-block-post-content {
    padding-top: 0 !important;
    margin-block-start: 0 !important;
}

.wbv-sg-page {
    width: 100%;
    max-width: none;
    margin: 0;
    box-sizing: border-box;
    --wbv-sg-rail: min(
        calc(100% - var(--wbv-page-gap, 40px)),
        var(--wbv-max-width, 1360px)
    );
    --wbv-sg-section-y: clamp(56px, 5vw, 80px);
    --wbv-section-cta-y: var(--wbv-sg-section-y);
}

.wbv-sg-body {
    }

@media (max-width: 767px) {
    .wbv-sg-body { }
}

.wbv-sg-section {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        var(--wbv-sg-rail)
        minmax(0, 1fr);
    width: 100%;
    margin: 0;
    padding: 0 0 var(--wbv-sg-section-y);
    box-sizing: border-box;
    scroll-margin-top: calc(var(--wbv-header-height, 96px) + 16px);
}

.wbv-sg-section > * {
    grid-column: 2;
    min-width: 0;
}

/* Full-width Trennung wie Organisation / Startseite */
.wbv-sg-section + .wbv-sg-section {
    border-top: 1px solid var(--color-border, #e3e3e3);
    padding-top: var(--wbv-sg-section-y);
}

.wbv-sg-section:last-child {
    padding-bottom: var(--wbv-fed-gap-after, 48px);
}

.wbv-sg-section > h2 {
    margin: 0 0 12px;
    font-family: Manrope, sans-serif;
    font-size: 1.75rem;
    line-height: 1.25;
    font-weight: 700;
    letter-spacing: -0.015em;
    color: var(--color-text-primary, #202020);
}

.wbv-sg-section > .wbv-sg-section-intro {
    margin: 0 0 28px;
    max-width: 760px;
    font-size: 0.9375rem;
    line-height: 1.55;
    color: var(--color-text-secondary, #555555);
}

/* Membership grids */
.wbv-sg-members {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--grid-gap, 24px);
}

.wbv-sg-person {
    display: flex;
    flex-direction: column;
    padding: var(--space-5, 24px);
    border: 1px solid var(--color-border, #e3e3e3);
    border-radius: var(--radius-md, 8px);
    background: var(--color-surface, #fff);
    box-sizing: border-box;
}

.wbv-sg-person--lead {
    grid-column: 1 / -1;
    border-top: 3px solid var(--color-brand, #d9231e);
    background: var(--color-surface-subtle, #f4f4f4);
}

.wbv-sg-person h3 {
    margin: 0 0 6px;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.25;
    color: var(--color-text-primary, #202020);
}

.wbv-sg-person--lead h3 {
    font-size: 1.25rem;
}

.wbv-sg-role {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--color-text-secondary, #5f5f5f);
}

/* Schiedsgericht: slightly cooler distinction without red overload */
.wbv-sg-section--court .wbv-sg-person--lead {
    border-top-color: var(--color-text-primary, #202020);
}

.wbv-sg-group-label {
    margin: 0 0 var(--space-4, 16px);
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-text-secondary, #5f5f5f);
}

@media (min-width: 1200px) {
    .wbv-sg-members {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .wbv-sg-person--lead {
        grid-column: 1 / -1;
    }
}

@media (max-width: 767px) {
    .wbv-sg-page {
        --wbv-sg-rail: calc(100% - var(--wbv-page-gap));
        --wbv-sg-section-y: var(--mobile-section-space, 44px);
    }

    .wbv-sg-members {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--mobile-card-gap, 12px);
    }
    .wbv-sg-person--lead { grid-column: 1 / -1; }
    .wbv-sg-person { padding: var(--mobile-card-padding, 16px); }
}

@media (max-width: 389px) {
    .wbv-sg-members {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   SPORTAUSSCHUSS - HERO FINAL OVERRIDE
   Der Designer-Seiteninhalt bleibt original,
   der bereits abgestimmte kompakte Hero bleibt erhalten.
   ========================================================= */

@media (min-width: 768px) {

    body.page-id-58 .wbv-hero--sg {
        min-height: 0 !important;
        height: auto !important;
        margin-bottom: 0 !important;
    }

    body.page-id-58 .wbv-hero--sg .wbv-hero__shell {
        display: grid !important;

        grid-template-columns:
            minmax(320px, 0.82fr)
            minmax(0, 1.18fr) !important;

        align-items: center !important;

        gap: clamp(40px, 5vw, 72px) !important;

        padding-top: 32px !important;
        padding-bottom: 32px !important;
    }

    body.page-id-58 .wbv-hero--sg .wbv-hero__media-wrap {
        width: 100% !important;
        max-width: 500px !important;

        margin: 0 !important;
    }

    body.page-id-58 .wbv-hero--sg .wbv-hero__media,
    body.page-id-58 .wbv-hero--sg .wbv-hero__media img {
        width: 100% !important;
        height: 300px !important;

        object-fit: cover !important;
    }

}


@media (max-width: 767px) {

    body.page-id-58 main > .wp-block-group.has-global-padding,
    body.page-id-58 .entry-content.wp-block-post-content {
        padding-top: 0 !important;
        margin-top: 0 !important;
        margin-block-start: 0 !important;
    }

    body.page-id-58 .wbv-hero--sg {
        display: block !important;

        min-height: 0 !important;
        height: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        overflow: visible !important;
    }

    body.page-id-58 .wbv-hero--sg .wbv-hero__shell {
        display: flex !important;
        flex-direction: column !important;

        width: calc(100% - 32px) !important;
        max-width: none !important;

        margin: 0 auto !important;

        padding: 0 0 24px !important;

        gap: 18px !important;
    }

    body.page-id-58 .wbv-hero--sg .wbv-hero__media-wrap {
        display: block !important;
        order: 1 !important;

        width: 100% !important;
        height: 180px !important;

        margin: 0 !important;

        overflow: hidden !important;
    }

    body.page-id-58 .wbv-hero--sg .wbv-hero__media,
    body.page-id-58 .wbv-hero--sg .wbv-hero__media img {
        display: block !important;

        width: 100% !important;
        height: 180px !important;

        object-fit: cover !important;
        object-position: center !important;
    }

    body.page-id-58 .wbv-hero--sg .wbv-hero__copy {
        order: 2 !important;

        width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;
    }

}


/* Kein zusätzlicher Abstand zwischen Hero und erstem Abschnitt */

body.page-id-58 .wbv-hero--sg + .wbv-sg-page {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.page-id-58 .wbv-sg-section:first-child {
    padding-top: 0 !important;
    margin-top: 0 !important;
}



/* =========================================================
   SPORTAUSSCHUSS / SCHIEDSGERICHT - HERO OVERLAY FINAL
   Bild vollflaechig, Text weiss im Bild
   ========================================================= */

body.page-id-58 .wbv-hero--sg {
    position: relative !important;

    width: 100% !important;
    max-width: none !important;

    min-height: 420px !important;

    margin: 0 !important;

    overflow: hidden !important;

    background: #202020 !important;
}


body.page-id-58 .wbv-hero--sg .wbv-hero__shell {
    position: relative !important;

    display: block !important;

    width: 100% !important;
    max-width: none !important;

    min-height: 420px !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* Bild nimmt den gesamten Hero ein */

body.page-id-58 .wbv-hero--sg .wbv-hero__media-wrap {
    position: absolute !important;
    inset: 0 !important;

    display: block !important;

    width: 100% !important;
    max-width: none !important;

    height: 100% !important;
    min-height: 100% !important;

    margin: 0 !important;

    overflow: hidden !important;
}


body.page-id-58 .wbv-hero--sg .wbv-hero__media {
    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;
}


body.page-id-58 .wbv-hero--sg .wbv-hero__media img {
    display: block !important;

    width: 100% !important;
    height: 100% !important;

    object-fit: cover !important;
    object-position: center !important;
}


/* Dunkles Overlay fuer Lesbarkeit */

body.page-id-58 .wbv-hero--sg::after {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    z-index: 1 !important;

    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,.64) 0%,
            rgba(0,0,0,.48) 42%,
            rgba(0,0,0,.18) 72%,
            rgba(0,0,0,.08) 100%
        ) !important;

    pointer-events: none !important;
}


/* Text direkt im Bild */

body.page-id-58 .wbv-hero--sg .wbv-hero__copy {
    position: relative !important;
    z-index: 2 !important;

    width: min(
        calc(100% - var(--wbv-page-gap, 40px)),
        var(--wbv-max-width, 1360px)
    ) !important;

    max-width: var(--wbv-max-width, 1360px) !important;

    min-height: 420px !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding: 72px 0 !important;

    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;

    box-sizing: border-box !important;
}


body.page-id-58 .wbv-hero--sg .wbv-hero__title,
body.page-id-58 .wbv-hero--sg .wbv-hero__intro,
body.page-id-58 .wbv-hero--sg .wbv-hero__nav,
body.page-id-58 .wbv-hero--sg .wbv-hero__nav-label,
body.page-id-58 .wbv-hero--sg .wbv-hero__nav a {
    color: #ffffff !important;
}


body.page-id-58 .wbv-hero--sg .wbv-hero__title {
    max-width: 720px !important;

    margin: 0 !important;

    font-size: clamp(2.25rem, 4vw, 3.5rem) !important;
    line-height: 1.05 !important;

    text-shadow: 0 1px 2px rgba(0,0,0,.15) !important;
}


body.page-id-58 .wbv-hero--sg .wbv-hero__intro {
    max-width: 760px !important;

    margin: 18px 0 0 !important;

    color: rgba(255,255,255,.92) !important;
}


body.page-id-58 .wbv-hero--sg .wbv-hero__nav {
    margin-top: 24px !important;
}


body.page-id-58 .wbv-hero--sg .wbv-hero__nav-list {
    display: flex !important;
    flex-wrap: wrap !important;

    gap: 8px 20px !important;
}


body.page-id-58 .wbv-hero--sg .wbv-hero__nav a {
    text-decoration-color: rgba(255,255,255,.65) !important;
}


/* alte diagonale Deko entfernen */

body.page-id-58 .wbv-hero--sg .wbv-hero__diag-line {
    display: none !important;
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 767px) {

    body.page-id-58 .wbv-hero--sg,
    body.page-id-58 .wbv-hero--sg .wbv-hero__shell {
        min-height: 360px !important;
    }

    body.page-id-58 .wbv-hero--sg .wbv-hero__copy {
        width: calc(100% - 32px) !important;

        min-height: 360px !important;

        padding: 40px 0 !important;
    }

    body.page-id-58 .wbv-hero--sg .wbv-hero__title {
        font-size: 2rem !important;
        line-height: 1.06 !important;
    }

    body.page-id-58 .wbv-hero--sg .wbv-hero__intro {
        margin-top: 14px !important;

        font-size: 0.9375rem !important;
        line-height: 1.45 !important;
    }

    body.page-id-58 .wbv-hero--sg .wbv-hero__nav {
        margin-top: 18px !important;
    }

    body.page-id-58 .wbv-hero--sg::after {
        background:
            linear-gradient(
                90deg,
                rgba(0,0,0,.70) 0%,
                rgba(0,0,0,.56) 60%,
                rgba(0,0,0,.34) 100%
            ) !important;
    }

}


/* kein Abstand nach Hero */

body.page-id-58 .wbv-hero--sg + .wbv-sg-page {
    margin-top: 0 !important;
    padding-top: 0 !important;
}



/* =========================================================
   SPORTAUSSCHUSS - HERO NUR TITEL
   Intro + Navigation darunter
   ========================================================= */

body.page-id-58 .wbv-hero--sg .wbv-hero__copy {
    justify-content: center !important;
}

body.page-id-58 .wbv-hero--sg .wbv-hero__title {
    margin: 0 !important;
}


/* Intro-Bereich unter Hero */

body.page-id-58 .wbv-sg-intro-block {
    width: min(
        calc(100% - var(--wbv-page-gap, 40px)),
        var(--wbv-max-width, 1360px)
    );

    margin: 0 auto;

    padding: 32px 0 40px;

    box-sizing: border-box;
}


body.page-id-58 .wbv-sg-page-intro {
    max-width: 760px;

    margin: 0;

    color: var(--color-text-secondary, #555555);

    font-size: 0.9375rem;
    line-height: 1.55;
}


/* Navigation unter Hero wieder dunkel */

body.page-id-58 .wbv-sg-intro-block .wbv-hero__nav {
    margin-top: 20px !important;
}


body.page-id-58 .wbv-sg-intro-block .wbv-hero__nav-label,
body.page-id-58 .wbv-sg-intro-block .wbv-hero__nav a {
    color: var(--color-text-primary, #202020) !important;
}


body.page-id-58 .wbv-sg-intro-block .wbv-hero__nav-list {
    display: flex !important;
    flex-wrap: wrap !important;

    gap: 8px 20px !important;

    margin-bottom: 0 !important;
}


@media (max-width: 767px) {

    body.page-id-58 .wbv-sg-intro-block {
        width: calc(100% - 32px);

        padding-top: 24px;
        padding-bottom: 32px;
    }

}



/* =========================================================
   SPORTAUSSCHUSS / SCHIEDSGERICHT
   SUBHERO WIE ORGANISATION
   ========================================================= */

body.page-id-58 .wbv-subhero {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}


/* Erster Inhaltsbereich beginnt wie bei Organisation
   direkt nach dem gemeinsamen Subhero-Abstand. */

body.page-id-58 .wbv-subhero + .wbv-sg-page {
    margin-top: 0 !important;
    padding-top: 0 !important;
}


body.page-id-58 .wbv-sg-section:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}


/* Mobile ebenfalls exakt über den gemeinsamen Subhero */

@media (max-width: 767px) {

    body.page-id-58 .wbv-subhero {
        margin-top: 0 !important;
    }

}



/* =========================================================
   SPORTAUSSCHUSS / SCHIEDSGERICHT
   HERO + REGELWERKE CTA FINAL FIX
   ========================================================= */


/* ---------------------------------------------------------
   HERO
   Kein transparenter Innenrahmen / keine sichtbare Overlay-Box.
   Bild bleibt wie Organisation.
   --------------------------------------------------------- */

body.page-id-58 .wbv-subhero {
    position: relative !important;

    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    overflow: hidden !important;
}


body.page-id-58 .wbv-subhero__media {
    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
}


body.page-id-58 .wbv-subhero__media img {
    width: 100% !important;
    height: 100% !important;

    object-fit: cover !important;
    object-position: var(--wbv-subhero-pos, center 48%) !important;
}


/* Overlay nur als transparente Textebene,
   ohne eigene sichtbare Box oder Seitenränder */

body.page-id-58 .wbv-subhero__overlay {
    position: relative !important;
    z-index: 2 !important;

    width: min(
        calc(100% - var(--wbv-page-gap, 40px)),
        var(--wbv-max-width, 1360px)
    ) !important;

    max-width: var(--wbv-max-width, 1360px) !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;

    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}


/* Falls globale Overlay-Pseudoelemente existieren */

body.page-id-58 .wbv-subhero__overlay::before,
body.page-id-58 .wbv-subhero__overlay::after {
    display: none !important;
    content: none !important;
}


/* Titel ohne eigene Hintergrundfläche */

body.page-id-58 .wbv-subhero__title {
    display: inline-block !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;

    color: #ffffff !important;
}


/* ---------------------------------------------------------
   REGELWERKE CTA
   Schwarzer Bereich nur innerhalb der Inhalts-Rail.
   --------------------------------------------------------- */

body.page-id-58 .wbv-sg-section--cta {
    display: grid !important;

    grid-template-columns:
        minmax(0, 1fr)
        var(--wbv-sg-rail)
        minmax(0, 1fr) !important;

    width: 100% !important;

    background: transparent !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    box-sizing: border-box !important;
}


body.page-id-58 .wbv-sg-section--cta > .wbv-org-ehrenamt {
    grid-column: 2 !important;

    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    box-sizing: border-box !important;
}


/* Schwarzer Hintergrund nur auf dem inneren CTA-Block */

body.page-id-58 .wbv-sg-section--cta .wbv-org-ehrenamt {
    background: var(--color-text-primary, #202020) !important;

    border-radius: var(--radius-md, 8px) !important;

    overflow: hidden !important;
}


/* Falls globale Regel die Section selbst schwarz setzt */

body.page-id-58 .wbv-sg-section--cta,
body.page-id-58 .wbv-sg-section--cta::before,
body.page-id-58 .wbv-sg-section--cta::after {
    background-color: transparent !important;
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 767px) {

    body.page-id-58 .wbv-subhero__overlay {
        width: calc(100% - 32px) !important;
    }

    body.page-id-58 .wbv-sg-section--cta {
        grid-template-columns:
            16px
            minmax(0, 1fr)
            16px !important;
    }

    body.page-id-58 .wbv-sg-section--cta > .wbv-org-ehrenamt {
        grid-column: 2 !important;
    }

}



/* =========================================================
   SPORTAUSSCHUSS / SCHIEDSGERICHT - FINAL POLISH
   1. Hero-Titel zentriert
   2. CTA wie Technical Officials
   ========================================================= */


/* ---------------------------------------------------------
   HERO-TITEL ZENTRIERT
   --------------------------------------------------------- */

body.page-id-58 .wbv-subhero__overlay {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    text-align: center !important;
}


body.page-id-58 .wbv-subhero__title {
    display: block !important;

    width: 100% !important;
    max-width: 900px !important;

    margin-left: auto !important;
    margin-right: auto !important;

    text-align: center !important;
}


/* ---------------------------------------------------------
   REGELWERKE CTA
   breite Box wie bei Technical Officials
   --------------------------------------------------------- */

body.page-id-58 .wbv-sg-section--cta {
    display: block !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    background: transparent !important;
}


body.page-id-58 .wbv-sg-section--cta > .wbv-org-ehrenamt {
    width: min(
        calc(100% - var(--wbv-page-gap, 40px)),
        var(--wbv-max-width, 1360px)
    ) !important;

    max-width: var(--wbv-max-width, 1360px) !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding: 32px 36px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    gap: 32px !important;

    background: #202020 !important;

    border-radius: var(--radius-md, 8px) !important;

    box-sizing: border-box !important;
}


/* Textseite */

body.page-id-58
.wbv-sg-section--cta
.wbv-org-ehrenamt__copy {
    flex: 1 1 auto !important;

    min-width: 0 !important;
}


body.page-id-58
.wbv-sg-section--cta
.wbv-org-ehrenamt__copy h2 {
    margin: 0 0 8px !important;

    color: #ffffff !important;
}


body.page-id-58
.wbv-sg-section--cta
.wbv-org-ehrenamt__copy p {
    margin: 0 !important;

    color: rgba(255,255,255,.82) !important;
}


/* Button rechts */

body.page-id-58
.wbv-sg-section--cta
.wbv-org-ehrenamt__action {
    flex: 0 0 auto !important;

    margin-left: auto !important;
}


body.page-id-58
.wbv-sg-section--cta
.wbv-org-primary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 44px !important;

    padding: 0 20px !important;

    background: var(--color-brand, #d9231e) !important;
    color: #ffffff !important;

    border-radius: 6px !important;

    text-decoration: none !important;
    font-weight: 600 !important;
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 767px) {

    body.page-id-58 .wbv-subhero__title {
        max-width: 100% !important;

        text-align: center !important;
    }


    body.page-id-58 .wbv-sg-section--cta > .wbv-org-ehrenamt {
        width: calc(100% - 32px) !important;

        padding: 24px 20px !important;

        flex-direction: column !important;
        align-items: flex-start !important;

        gap: 20px !important;
    }


    body.page-id-58
    .wbv-sg-section--cta
    .wbv-org-ehrenamt__action {
        width: 100% !important;

        margin-left: 0 !important;
    }


    body.page-id-58
    .wbv-sg-section--cta
    .wbv-org-primary {
        width: 100% !important;

        box-sizing: border-box !important;
    }

}



/* =========================================================
   SPORTAUSSCHUSS / SCHIEDSGERICHT
   CONTENT-ACHSE + REGELWERKE FINAL
   ========================================================= */


/* =========================================================
   1. SEITENSCHALE

   Wichtig:
   Keine doppelte Begrenzung mehr.
   wbv-sg-page läuft über volle Breite,
   die Sections setzen erst die gemeinsame Content-Rail.
   ========================================================= */

body.page-id-58 .wbv-sg-page,
body.page-id-58 .wbv-sg-body {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    box-sizing: border-box !important;

    --wbv-sg-rail: min(
        calc(100% - var(--wbv-page-gap, 40px)),
        var(--wbv-max-width, 1360px)
    );
}


/* =========================================================
   2. NORMALE INHALTSABSCHNITTE

   Exakt dieselbe linke/rechte Achse wie Header/Footer.
   ========================================================= */

body.page-id-58 .wbv-sg-section:not(.wbv-sg-section--cta) {
    display: grid !important;

    grid-template-columns:
        minmax(0, 1fr)
        var(--wbv-sg-rail)
        minmax(0, 1fr) !important;

    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    box-sizing: border-box !important;
}


body.page-id-58
.wbv-sg-section:not(.wbv-sg-section--cta) > * {
    grid-column: 2 !important;

    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    box-sizing: border-box !important;
}


/* Einleitungstext darf weiterhin angenehm kurz bleiben */

body.page-id-58 .wbv-sg-section-intro {
    max-width: 760px !important;
}


/* =========================================================
   3. REGELWERKE

   Breiter schwarzer Balken auf derselben Inhaltsachse.
   ========================================================= */

body.page-id-58 .wbv-sg-section--cta {
    display: grid !important;

    grid-template-columns:
        minmax(0, 1fr)
        var(--wbv-sg-rail)
        minmax(0, 1fr) !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    background: transparent !important;

    box-sizing: border-box !important;
}


/* Schwarzer Balken */

body.page-id-58
.wbv-sg-section--cta > .wbv-org-ehrenamt {
    grid-column: 2 !important;

    display: flex !important;

    width: 100% !important;
    max-width: none !important;

    min-height: 132px !important;

    margin: 0 !important;

    padding: 30px 36px !important;

    align-items: center !important;
    justify-content: space-between !important;

    gap: 40px !important;

    background: #151515 !important;

    border: 0 !important;
    border-radius: 0 !important;

    box-shadow: none !important;

    box-sizing: border-box !important;
}


/* Linker Textbereich */

body.page-id-58
.wbv-sg-section--cta
.wbv-org-ehrenamt__copy {
    flex: 1 1 auto !important;

    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}


body.page-id-58
.wbv-sg-section--cta
.wbv-org-ehrenamt__copy h2 {
    margin: 0 0 7px !important;

    color: #ffffff !important;

    font-size: 1.375rem !important;
    line-height: 1.2 !important;
}


body.page-id-58
.wbv-sg-section--cta
.wbv-org-ehrenamt__copy p {
    max-width: 720px !important;

    margin: 0 !important;

    color: rgba(255,255,255,.82) !important;

    font-size: 0.9375rem !important;
    line-height: 1.5 !important;
}


/* Rechter Button */

body.page-id-58
.wbv-sg-section--cta
.wbv-org-ehrenamt__action {
    flex: 0 0 auto !important;

    margin: 0 0 0 auto !important;
    padding: 0 !important;
}


body.page-id-58
.wbv-sg-section--cta
a.wbv-org-primary {
    display: inline-flex !important;

    align-items: center !important;
    justify-content: center !important;

    min-height: 46px !important;

    margin: 0 !important;

    padding: 0 22px !important;

    background: var(--wbv-red, #d9231e) !important;
    color: #ffffff !important;

    border: 0 !important;
    border-radius: 5px !important;

    font-size: 0.9375rem !important;
    font-weight: 600 !important;

    text-decoration: none !important;

    white-space: nowrap !important;

    box-sizing: border-box !important;
}


/* =========================================================
   4. MOBILE
   ========================================================= */

@media (max-width: 767px) {

    body.page-id-58 .wbv-sg-page,
    body.page-id-58 .wbv-sg-body {
        --wbv-sg-rail: calc(100% - 32px) !important;
    }


    body.page-id-58
    .wbv-sg-section--cta > .wbv-org-ehrenamt {
        min-height: 0 !important;

        padding: 24px 20px !important;

        flex-direction: column !important;
        align-items: flex-start !important;

        gap: 20px !important;
    }


    body.page-id-58
    .wbv-sg-section--cta
    .wbv-org-ehrenamt__action {
        width: 100% !important;

        margin-left: 0 !important;
    }


    body.page-id-58
    .wbv-sg-section--cta
    a.wbv-org-primary {
        width: 100% !important;

        box-sizing: border-box !important;
    }

}



/* =========================================================
   SPORTAUSSCHUSS - REGELWERKE FINAL
   Vollbreite schwarz, Link unter dem Text
   ========================================================= */

body.page-id-58 .wbv-sg-section--cta {
    display: block !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;

    padding: 0 !important;

    background: #151515 !important;

    box-sizing: border-box !important;
}


/* Innerer Inhalt weiterhin sauber auf Content-Achse */

body.page-id-58
.wbv-sg-section--cta > .wbv-org-ehrenamt {
    display: block !important;

    width: min(
        calc(100% - var(--wbv-page-gap, 40px)),
        var(--wbv-max-width, 1360px)
    ) !important;

    max-width: var(--wbv-max-width, 1360px) !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding: 36px 0 !important;

    background: transparent !important;

    border: 0 !important;
    border-radius: 0 !important;

    box-shadow: none !important;

    box-sizing: border-box !important;
}


/* Textblock */

body.page-id-58
.wbv-sg-section--cta
.wbv-org-ehrenamt__copy {
    display: block !important;

    width: 100% !important;
    max-width: 760px !important;

    margin: 0 !important;
    padding: 0 !important;
}


body.page-id-58
.wbv-sg-section--cta
.wbv-org-ehrenamt__copy h2 {
    margin: 0 0 8px !important;

    color: #ffffff !important;

    font-size: 1.375rem !important;
    line-height: 1.2 !important;
}


body.page-id-58
.wbv-sg-section--cta
.wbv-org-ehrenamt__copy p {
    margin: 0 !important;

    color: rgba(255,255,255,.82) !important;

    font-size: 0.9375rem !important;
    line-height: 1.5 !important;
}


/* Link unter dem Text */

body.page-id-58
.wbv-sg-section--cta
.wbv-org-ehrenamt__action {
    display: block !important;

    width: auto !important;

    margin: 18px 0 0 !important;
    padding: 0 !important;
}


body.page-id-58
.wbv-sg-section--cta
a.wbv-org-primary {
    display: inline-flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    min-height: 44px !important;

    margin: 0 !important;

    padding: 0 20px !important;

    background: var(--wbv-red, #d9231e) !important;
    color: #ffffff !important;

    border: 0 !important;
    border-radius: 5px !important;

    font-size: 0.9375rem !important;
    font-weight: 600 !important;

    text-decoration: none !important;

    box-sizing: border-box !important;
}


/* Mobile */

@media (max-width: 767px) {

    body.page-id-58
    .wbv-sg-section--cta > .wbv-org-ehrenamt {
        width: calc(100% - 32px) !important;

        padding: 28px 0 !important;
    }

    body.page-id-58
    .wbv-sg-section--cta
    .wbv-org-ehrenamt__copy {
        max-width: none !important;
    }

    body.page-id-58
    .wbv-sg-section--cta
    a.wbv-org-primary {
        width: auto !important;
    }

}



/* =========================================================
   SPORTAUSSCHUSS - Abstand vor Regelwerke
   ========================================================= */

body.page-id-58 .wbv-sg-section--cta {
    margin-top: 48px !important;
}

@media (max-width: 767px) {

    body.page-id-58 .wbv-sg-section--cta {
        margin-top: 32px !important;
    }

}



/* =========================================================
   DOKUMENTE & REGELWERKE - FINAL
   PDF rechts oben auf Card-Ebene
   ========================================================= */

body.page-id-87 .wbv-doc-card {
    position: relative !important;
}


/* Content normal untereinander */

body.page-id-87 .wbv-doc-card__content {
    position: static !important;
    display: block !important;

    min-width: 0 !important;

    padding-right: 64px !important;

    box-sizing: border-box !important;
}


body.page-id-87 .wbv-doc-card__content h3 {
    display: block !important;

    margin: 0 !important;
    padding: 0 !important;

    grid-area: auto !important;
    grid-column: auto !important;
    grid-row: auto !important;
}


body.page-id-87 .wbv-doc-card__content p {
    display: block !important;

    margin: 8px 0 0 !important;

    grid-area: auto !important;
    grid-column: auto !important;
    grid-row: auto !important;
}


/* PDF an rechter Innenkante der gesamten Card */

body.page-id-87 .wbv-doc-card .wbv-doc-type {
    position: absolute !important;

    top: 22px !important;
    right: 24px !important;
    left: auto !important;

    display: block !important;

    width: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    grid-area: auto !important;
    grid-column: auto !important;
    grid-row: auto !important;

    justify-self: auto !important;
    align-self: auto !important;

    text-align: right !important;

    line-height: 1.3 !important;

    z-index: 2 !important;
}


@media (max-width: 767px) {

    body.page-id-87 .wbv-doc-card__content {
        padding-right: 52px !important;
    }

    body.page-id-87 .wbv-doc-card .wbv-doc-type {
        top: 16px !important;
        right: 16px !important;
    }

}


/* =========================================================
   DOKUMENTE & REGELWERKE
   Kein leerer Bereich zwischen letztem CTA und Footer
   ========================================================= */


/* Der letzte Dokumentbereich selbst endet direkt */

body.page-id-87 .wbv-doc-section:last-child {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}


body.page-id-87 .wbv-doc-page,
body.page-id-87 .wbv-doc-body,
body.page-id-87 .entry-content.wp-block-post-content,
body.page-id-87 main > .wp-block-group.has-global-padding {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}


/*
   TwentyTwentyFive setzt global:

   :where(.wp-site-blocks) > * {
       margin-block-start: 1.2rem;
   }

   Dadurch entsteht zwischen </main> und dem Footer
   der sichtbare weisse Streifen.

   Nur auf Page 87 abschalten.
*/

body.page-id-87
.wp-site-blocks > footer.wp-block-template-part {
    margin-block-start: 0 !important;
    margin-top: 0 !important;
}


body.page-id-87
.wp-site-blocks > main + footer.wp-block-template-part {
    margin-block-start: 0 !important;
    margin-top: 0 !important;
}



/* =========================================================
   WIENER LIGA - FINAL
   kompakter Rhythmus / CTA mit Bild / kein Footer-Gap
   ========================================================= */


/* ---------------------------------------------------------
   1. ABSTAENDE ZWISCHEN DEN EINZELNEN BEREICHEN
   --------------------------------------------------------- */

body.page-id-83 .wbv-org-page {
    --wbv-org-section-y: 48px !important;
}


/*
   Die normale Section-Struktur verwendet den Wert sowohl
   unterhalb als auch oberhalb der Trennlinie.
*/

body.page-id-83 .wbv-org-section {
    padding-bottom: 48px !important;
}


body.page-id-83 .wbv-org-section + .wbv-org-section {
    padding-top: 48px !important;
}


/* Mobile nochmals etwas kompakter */

@media (max-width: 767px) {

    body.page-id-83 .wbv-org-page {
        --wbv-org-section-y: 36px !important;
    }

    body.page-id-83 .wbv-org-section {
        padding-bottom: 36px !important;
    }

    body.page-id-83 .wbv-org-section + .wbv-org-section {
        padding-top: 36px !important;
    }

}


/* ---------------------------------------------------------
   2. UNTERER KONTAKTBEREICH
   Vollbreite schwarz mit Liga-Bild rechts
   --------------------------------------------------------- */

body.page-id-83 .wbv-org-section--cta {
    position: relative !important;

    display: block !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;

    background: #151515 !important;

    border-top: 0 !important;

    box-sizing: border-box !important;
}


/*
   Innerer Bereich bleibt exakt auf der normalen
   WBV-Content-Achse.
*/

body.page-id-83
.wbv-org-section--cta > .wbv-org-ehrenamt {
    position: relative !important;
    z-index: 2 !important;

    display: grid !important;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(300px, 38%) !important;

    width: min(
        calc(100% - var(--wbv-page-gap, 40px)),
        var(--wbv-max-width, 1360px)
    ) !important;

    max-width: var(--wbv-max-width, 1360px) !important;

    min-height: 230px !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding: 42px 0 !important;

    background: transparent !important;

    border: 0 !important;
    border-radius: 0 !important;

    box-shadow: none !important;

    box-sizing: border-box !important;
}


/* Textbereich links */

body.page-id-83
.wbv-org-section--cta
.wbv-org-ehrenamt__copy {
    position: relative !important;
    z-index: 3 !important;

    grid-column: 1 !important;

    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;

    max-width: 620px !important;

    padding-right: 48px !important;

    box-sizing: border-box !important;
}


body.page-id-83
.wbv-org-section--cta
.wbv-org-ehrenamt__copy h2 {
    margin: 0 0 10px !important;

    color: #ffffff !important;
}


body.page-id-83
.wbv-org-section--cta
.wbv-org-ehrenamt__copy p {
    margin: 0 !important;

    color: rgba(255,255,255,.82) !important;
}


/* Aktionen unter dem Text */

body.page-id-83
.wbv-org-section--cta
.wbv-org-ehrenamt__action {
    grid-column: 1 !important;

    width: auto !important;

    margin: 20px 0 0 !important;
    padding: 0 !important;
}


body.page-id-83
.wbv-org-section--cta
.wbv-org-ehrenamt__actions {
    display: flex !important;

    flex-wrap: wrap !important;

    gap: 10px 12px !important;
}


/* CTA-Buttons im schwarzen Bereich */

body.page-id-83
.wbv-org-section--cta
a.wbv-org-primary {
    display: inline-flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    min-height: 44px !important;

    padding: 0 20px !important;

    background: var(--color-brand, #d9231e) !important;
    color: #ffffff !important;

    border: 0 !important;
    border-radius: 5px !important;

    text-decoration: none !important;

    box-sizing: border-box !important;
}


/*
   Designer verwendet auf der Liga-Seite ausschließlich
   dieses eigene Bildmotiv.
   Es wird rechts im schwarzen CTA nochmals eingeblendet.
*/

body.page-id-83
.wbv-org-section--cta > .wbv-org-ehrenamt::after {
    content: "" !important;

    position: absolute !important;

    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;

    width: 38% !important;

    background-image:
        linear-gradient(
            90deg,
            #151515 0%,
            rgba(21,21,21,.52) 22%,
            rgba(21,21,21,.08) 58%,
            rgba(21,21,21,0) 100%
        ),
        url("/wp-content/uploads/2026/08/WBV_Wiener_Liga_Hero.jpg") !important;

    background-size: cover !important;
    background-position: center 58% !important;
    background-repeat: no-repeat !important;

    pointer-events: none !important;

    z-index: 1 !important;
}


/* ---------------------------------------------------------
   MOBILE CTA
   Bild oben, Inhalt darunter
   --------------------------------------------------------- */

@media (max-width: 767px) {

    body.page-id-83
    .wbv-org-section--cta > .wbv-org-ehrenamt {
        display: block !important;

        width: calc(100% - 32px) !important;

        min-height: 0 !important;

        padding: 160px 0 30px !important;
    }


    body.page-id-83
    .wbv-org-section--cta > .wbv-org-ehrenamt::after {
        top: 0 !important;
        right: 0 !important;
        bottom: auto !important;
        left: 0 !important;

        width: 100% !important;
        height: 132px !important;

        background-image:
            linear-gradient(
                0deg,
                #151515 0%,
                rgba(21,21,21,.08) 45%,
                rgba(21,21,21,0) 100%
            ),
            url("/wp-content/uploads/2026/08/WBV_Wiener_Liga_Hero.jpg") !important;

        background-position: center 58% !important;
    }


    body.page-id-83
    .wbv-org-section--cta
    .wbv-org-ehrenamt__copy {
        max-width: none !important;

        padding-right: 0 !important;
    }


    body.page-id-83
    .wbv-org-section--cta
    .wbv-org-ehrenamt__actions {
        flex-direction: column !important;
        align-items: flex-start !important;
    }

}


/* ---------------------------------------------------------
   3. KEIN WEISSER STREIFEN VOR DEM FOOTER

   TwentyTwentyFive:
   :where(.wp-site-blocks) > * {
       margin-block-start: 1.2rem;
   }

   Derselbe Fall wie bereits bei Page 87.
   --------------------------------------------------------- */

body.page-id-83 .wbv-org-section:last-child {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}


body.page-id-83 .wbv-liga-page,
body.page-id-83 .wbv-org-page,
body.page-id-83 .wbv-org-body,
body.page-id-83 .entry-content.wp-block-post-content,
body.page-id-83 main > .wp-block-group.has-global-padding {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}


body.page-id-83
.wp-site-blocks > footer.wp-block-template-part {
    margin-block-start: 0 !important;
    margin-top: 0 !important;
}


body.page-id-83
.wp-site-blocks > main + footer.wp-block-template-part {
    margin-block-start: 0 !important;
    margin-top: 0 !important;
}



/* =========================================================
   WIENER LIGA - DESIGNER FINAL
   - gemeinsamer Shuttlecock CTA
   - kein Liga-Hero im CTA
   - kompakter Uebergang Wiener Ligen -> Wiener Klassen
   - Footer ohne Leerraum
   ========================================================= */


/* ---------------------------------------------------------
   1. WIENER LIGEN -> WIENER KLASSEN KOMPAKTER
   --------------------------------------------------------- */

body.page-id-83 #wiener-ligen .wbv-liga-cols {
    margin-bottom: 0 !important;
}


/*
   Die Wiener-Ligen-Section soll nach ihrem eigentlichen
   Inhalt nicht noch einmal den vollen Standardabstand
   aufbauen.
*/

body.page-id-83 #wiener-ligen {
    padding-bottom: 28px !important;
}


/*
   Die folgende Wiener-Klassen-Section beginnt ebenfalls
   kompakter als die normalen Hauptbereiche.
*/

body.page-id-83 #wiener-ligen + .wbv-org-section {
    padding-top: 28px !important;
}


@media (max-width: 767px) {

    body.page-id-83 #wiener-ligen {
        padding-bottom: 24px !important;
    }

    body.page-id-83 #wiener-ligen + .wbv-org-section {
        padding-top: 24px !important;
    }

}


/* ---------------------------------------------------------
   2. UNTERER CTA WIEDER EXAKT ALS DESIGNER-KOMPONENTE
   --------------------------------------------------------- */

/*
   Die Section selbst bleibt transparent.
   Das eigentliche Designer-Banner sitzt in
   .wbv-org-ehrenamt.
*/

body.page-id-83 .wbv-org-section--cta {
    display: grid !important;

    grid-template-columns:
        minmax(0, 1fr)
        var(--wbv-org-rail)
        minmax(0, 1fr) !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;

    padding-top: 48px !important;
    padding-bottom: 0 !important;

    background: transparent !important;

    border-top: 1px solid var(--color-border, #e3e3e3) !important;

    overflow: visible !important;

    box-sizing: border-box !important;
}


body.page-id-83
.wbv-org-section--cta > .wbv-org-ehrenamt {
    grid-column: 2 !important;

    --wbv-cta-banner-bg:
        url("/wp-content/uploads/2026/08/WBV_CTA_Banner_Shuttlecock.jpg") !important;

    position: relative !important;

    display: grid !important;

    grid-template-columns:
        minmax(0, 1.6fr)
        minmax(0, 0.85fr) !important;

    gap: 20px 32px !important;

    align-items: center !important;

    width: 100% !important;
    max-width: none !important;

    min-height: 0 !important;

    margin: 0 !important;

    padding:
        clamp(22px, 2.8vw, 30px)
        clamp(24px, 3vw, 36px) !important;

    border-radius: 18px !important;

    overflow: hidden !important;

    background-color: #0c1a33 !important;

    box-sizing: border-box !important;

    isolation: isolate !important;
}


/* dunkler Verlauf wie im Designer */

body.page-id-83
.wbv-org-section--cta > .wbv-org-ehrenamt::before {
    content: "" !important;

    position: absolute !important;

    inset: 0 !important;

    background:
        linear-gradient(
            102deg,
            rgba(8, 20, 46, 0.96) 0%,
            rgba(8, 20, 46, 0.90) 48%,
            rgba(8, 20, 46, 0.45) 72%,
            rgba(8, 20, 46, 0.20) 100%
        ) !important;

    z-index: 0 !important;

    pointer-events: none !important;
}


/* Shuttlecock-Bild des Designers */

body.page-id-83
.wbv-org-section--cta > .wbv-org-ehrenamt::after {
    content: "" !important;

    position: absolute !important;

    inset: 0 !important;

    width: auto !important;

    background-image:
        var(--wbv-cta-banner-bg) !important;

    background-size: cover !important;

    background-position: 78% 42% !important;

    background-repeat: no-repeat !important;

    z-index: -1 !important;

    pointer-events: none !important;
}


/* Inhalt über Bild und Verlauf */

body.page-id-83
.wbv-org-section--cta > .wbv-org-ehrenamt > * {
    position: relative !important;

    z-index: 1 !important;

    min-width: 0 !important;
}


/* Designer-Typografie wiederherstellen */

body.page-id-83
.wbv-org-section--cta
.wbv-org-ehrenamt__copy {
    grid-column: auto !important;

    display: block !important;

    max-width: none !important;

    padding: 0 !important;
}


body.page-id-83
.wbv-org-section--cta
.wbv-org-ehrenamt__copy h2 {
    margin: 0 0 8px !important;

    max-width: 40rem !important;

    font-size: 1.5rem !important;

    line-height: 1.25 !important;

    color: #ffffff !important;
}


body.page-id-83
.wbv-org-section--cta
.wbv-org-ehrenamt__copy p {
    margin: 0 !important;

    max-width: 40rem !important;

    font-size: 0.875rem !important;

    line-height: 1.5 !important;

    color: rgba(255,255,255,.82) !important;
}


/* Aktionen wie Designer rechts */

body.page-id-83
.wbv-org-section--cta
.wbv-org-ehrenamt__action {
    grid-column: auto !important;

    display: flex !important;

    flex-direction: column !important;

    align-items: flex-end !important;

    justify-content: center !important;

    width: auto !important;

    margin: 0 !important;

    padding: 0 !important;
}


body.page-id-83
.wbv-org-section--cta
.wbv-org-ehrenamt__actions {
    display: flex !important;

    flex-direction: column !important;

    align-items: flex-end !important;

    justify-content: center !important;

    gap: 10px !important;
}


/* ---------------------------------------------------------
   3. MOBIL
   --------------------------------------------------------- */

@media (max-width: 767px) {

    body.page-id-83 .wbv-org-section--cta {
        padding-top: 36px !important;
    }


    body.page-id-83
    .wbv-org-section--cta > .wbv-org-ehrenamt {
        grid-template-columns: 1fr !important;

        gap: 18px !important;

        padding:
            22px
            20px !important;

        border-radius: 14px !important;
    }


    body.page-id-83
    .wbv-org-section--cta
    .wbv-org-ehrenamt__action,

    body.page-id-83
    .wbv-org-section--cta
    .wbv-org-ehrenamt__actions {
        align-items: flex-start !important;
    }

}


/* ---------------------------------------------------------
   4. KEIN LEERRAUM VOR FOOTER
   gleiche Loesung wie bei Dokumente & Regelwerke
   --------------------------------------------------------- */

body.page-id-83 .wbv-org-section--cta:last-child {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}


body.page-id-83 .wbv-org-page,
body.page-id-83 .wbv-org-body,
body.page-id-83 .entry-content,
body.page-id-83 .entry-content.wp-block-post-content,
body.page-id-83 main,
body.page-id-83 main > .wp-block-group,
body.page-id-83 main > .wp-block-group.has-global-padding {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}


/* entscheidend bei TwentyTwentyFive */

body.page-id-83
.wp-block-group:has(.wbv-org-section--cta),

body.page-id-83
.entry-content:has(.wbv-org-section--cta),

body.page-id-83
main:has(.wbv-org-section--cta) {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}


body.page-id-83 .wp-site-blocks {
    gap: 0 !important;
    row-gap: 0 !important;
}


body.page-id-83
.wp-site-blocks > main + footer.wp-block-template-part {
    margin-top: 0 !important;
    margin-block-start: 0 !important;
}


body.page-id-83 footer.wp-block-template-part,
body.page-id-83 .wbv-footer {
    margin-top: 0 !important;
    margin-block-start: 0 !important;
}



/* =========================================================
   WIENER LIGA - CTA ENDGUELTIG
   Vollbreiter Abschlussbereich wie zuvor,
   aber mit Designer-Shuttlecock-Motiv
   ========================================================= */


/* ---------------------------------------------------------
   1. SECTION VOLLBREIT
   --------------------------------------------------------- */

body.page-id-83 .wbv-org-section--cta {
    position: relative !important;

    display: block !important;

    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;

    padding: 0 !important;

    background: #0c1a33 !important;

    border: 0 !important;

    overflow: hidden !important;

    box-sizing: border-box !important;
}


/* ---------------------------------------------------------
   2. INNERER CTA AUCH VOLLBREIT
   --------------------------------------------------------- */

body.page-id-83
.wbv-org-section--cta > .wbv-org-ehrenamt {
    --wbv-cta-banner-bg:
        url("/wp-content/uploads/2026/08/WBV_CTA_Banner_Shuttlecock.jpg") !important;

    position: relative !important;

    display: block !important;

    width: 100% !important;
    max-width: none !important;

    min-height: 250px !important;

    margin: 0 !important;

    padding: 0 !important;

    border: 0 !important;
    border-radius: 0 !important;

    background-color: #0c1a33 !important;

    overflow: hidden !important;

    box-shadow: none !important;

    box-sizing: border-box !important;

    isolation: isolate !important;
}


/* ---------------------------------------------------------
   3. DESIGNER-BILD UEBER DIE GANZE FLAECHE
   --------------------------------------------------------- */

body.page-id-83
.wbv-org-section--cta > .wbv-org-ehrenamt::after {
    content: "" !important;

    position: absolute !important;

    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;

    background-image:
        var(--wbv-cta-banner-bg) !important;

    background-size: cover !important;

    background-position: 78% 42% !important;

    background-repeat: no-repeat !important;

    z-index: -2 !important;

    pointer-events: none !important;
}


/* dunkler Verlauf ueber dem Bild */

body.page-id-83
.wbv-org-section--cta > .wbv-org-ehrenamt::before {
    content: "" !important;

    position: absolute !important;

    inset: 0 !important;

    background:
        linear-gradient(
            90deg,
            rgba(8,20,46,.98) 0%,
            rgba(8,20,46,.95) 36%,
            rgba(8,20,46,.78) 58%,
            rgba(8,20,46,.32) 78%,
            rgba(8,20,46,.12) 100%
        ) !important;

    z-index: -1 !important;

    pointer-events: none !important;
}


/* ---------------------------------------------------------
   4. TEXTBLOCK AUF NORMALER WBV-CONTENTACHSE
   --------------------------------------------------------- */

body.page-id-83
.wbv-org-section--cta
.wbv-org-ehrenamt__copy {
    position: relative !important;

    z-index: 2 !important;

    display: block !important;

    width: min(
        calc(100% - var(--wbv-page-gap, 40px)),
        var(--wbv-max-width, 1360px)
    ) !important;

    max-width: var(--wbv-max-width, 1360px) !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding:
        54px
        0
        0 !important;

    box-sizing: border-box !important;
}


/* Text selbst bewusst nicht zu breit */

body.page-id-83
.wbv-org-section--cta
.wbv-org-ehrenamt__copy h2,
body.page-id-83
.wbv-org-section--cta
.wbv-org-ehrenamt__copy p {
    max-width: 620px !important;
}


body.page-id-83
.wbv-org-section--cta
.wbv-org-ehrenamt__copy h2 {
    margin: 0 0 10px !important;

    font-size: 1.5rem !important;
    line-height: 1.25 !important;

    color: #ffffff !important;
}


body.page-id-83
.wbv-org-section--cta
.wbv-org-ehrenamt__copy p {
    margin: 0 !important;

    font-size: 0.9375rem !important;
    line-height: 1.5 !important;

    color: rgba(255,255,255,.82) !important;
}


/* ---------------------------------------------------------
   5. BUTTONS UNTER DEM TEXT
   --------------------------------------------------------- */

body.page-id-83
.wbv-org-section--cta
.wbv-org-ehrenamt__action {
    position: relative !important;

    z-index: 2 !important;

    display: block !important;

    width: min(
        calc(100% - var(--wbv-page-gap, 40px)),
        var(--wbv-max-width, 1360px)
    ) !important;

    max-width: var(--wbv-max-width, 1360px) !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding:
        20px
        0
        48px !important;

    box-sizing: border-box !important;
}


body.page-id-83
.wbv-org-section--cta
.wbv-org-ehrenamt__actions {
    display: flex !important;

    flex-direction: row !important;

    flex-wrap: wrap !important;

    align-items: flex-start !important;
    justify-content: flex-start !important;

    gap: 10px 12px !important;

    max-width: 620px !important;
}


body.page-id-83
.wbv-org-section--cta
a.wbv-org-primary {
    display: inline-flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    min-height: 44px !important;

    padding: 0 20px !important;

    background: var(--color-brand, #d9231e) !important;

    color: #ffffff !important;

    border: 0 !important;
    border-radius: 5px !important;

    text-decoration: none !important;

    box-sizing: border-box !important;
}


/* ---------------------------------------------------------
   6. MOBILE
   --------------------------------------------------------- */

@media (max-width: 767px) {

    body.page-id-83
    .wbv-org-section--cta > .wbv-org-ehrenamt {
        min-height: 0 !important;
    }


    body.page-id-83
    .wbv-org-section--cta > .wbv-org-ehrenamt::after {
        background-position: 72% center !important;
    }


    body.page-id-83
    .wbv-org-section--cta > .wbv-org-ehrenamt::before {
        background:
            linear-gradient(
                90deg,
                rgba(8,20,46,.97) 0%,
                rgba(8,20,46,.92) 62%,
                rgba(8,20,46,.55) 100%
            ) !important;
    }


    body.page-id-83
    .wbv-org-section--cta
    .wbv-org-ehrenamt__copy {
        width: calc(100% - 32px) !important;

        padding-top: 34px !important;
    }


    body.page-id-83
    .wbv-org-section--cta
    .wbv-org-ehrenamt__action {
        width: calc(100% - 32px) !important;

        padding-bottom: 34px !important;
    }


    body.page-id-83
    .wbv-org-section--cta
    .wbv-org-ehrenamt__actions {
        flex-direction: column !important;

        align-items: flex-start !important;
    }

}



/* =========================================================
   WIENER LIGA
   CTA-Bereich: ausschließlich Designer-Hintergrundbild
   KEINE Layout-, Breiten- oder Abstandsaenderungen
   ========================================================= */

body.page-id-83
.wbv-org-section--cta
.wbv-org-ehrenamt {
    --wbv-cta-banner-bg:
        url("/wp-content/uploads/2026/08/WBV_CTA_Banner_Shuttlecock.jpg") !important;

    isolation: isolate !important;
}


/*
   Originales Designer-Hintergrundbild wieder aktivieren.
   Das Element liegt ausschließlich visuell hinter dem Inhalt.
*/

body.page-id-83
.wbv-org-section--cta
.wbv-org-ehrenamt::after {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    background-image: var(--wbv-cta-banner-bg) !important;
    background-size: cover !important;
    background-position: 78% 42% !important;
    background-repeat: no-repeat !important;

    z-index: -1 !important;
    pointer-events: none !important;
}


/*
   Originale Designer-Abdunklung.
   Dadurch bleibt der Text links gut lesbar,
   während das Bild rechts deutlich sichtbar ist.
*/

body.page-id-83
.wbv-org-section--cta
.wbv-org-ehrenamt::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    background:
        linear-gradient(
            102deg,
            rgba(8,20,46,.96) 0%,
            rgba(8,20,46,.90) 48%,
            rgba(8,20,46,.45) 72%,
            rgba(8,20,46,.20) 100%
        ) !important;

    z-index: 0 !important;
    pointer-events: none !important;
}


/* Inhalt sicher oberhalb von Bild und Verlauf */

body.page-id-83
.wbv-org-section--cta
.wbv-org-ehrenamt > * {
    position: relative !important;
    z-index: 1 !important;
}



/* =========================================================
   STARTSEITE - TURNIERE & AUSBILDUNGEN
   Turnierlinks / Pfeile rechtsbuendig
   ========================================================= */

body.page-id-218 .wbv-home-maincards .wbv-turniere-widget a,
body.page-id-218 .wbv-home-maincards .wbv-turnier-link,
body.page-id-218 .wbv-home-maincards .wbv-text-link {
    margin-left: auto !important;
    margin-right: 0 !important;

    justify-content: flex-end !important;
    text-align: right !important;
}


/* Falls der Link in einer eigenen Aktionszeile liegt */

body.page-id-218 .wbv-home-maincards
[class*="action"],
body.page-id-218 .wbv-home-maincards
[class*="link-row"] {
    justify-content: flex-end !important;
}


/* Mobile ebenfalls rechts */

@media (max-width: 767px) {

    body.page-id-218 .wbv-home-maincards .wbv-turniere-widget a,
    body.page-id-218 .wbv-home-maincards .wbv-turnier-link,
    body.page-id-218 .wbv-home-maincards .wbv-text-link {
        margin-left: auto !important;
        margin-right: 0 !important;

        justify-content: flex-end !important;
        text-align: right !important;
    }

}



/* =========================================================
   STARTSEITE - TURNIERE & AUSBILDUNGEN
   Turnier-Link rechts neben dem Inhalt
   ========================================================= */


/*
   Die Agenda-Zeile bekommt auf der Startseite eine eigene
   Aktionsspalte rechts.
*/

body.page-id-218 .wbv-turniere-widget .wbv-agenda__row {
    display: grid !important;

    grid-template-columns:
        72px
        minmax(0, 1fr)
        auto !important;

    column-gap: 24px !important;
    row-gap: 8px !important;

    align-items: center !important;
}


/*
   Datum bleibt links.
*/

body.page-id-218 .wbv-turniere-widget .wbv-agenda__date {
    grid-column: 1 !important;
}


/*
   Turnierinhalt in der mittleren Spalte.
*/

body.page-id-218 .wbv-turniere-widget .wbv-agenda__content,
body.page-id-218 .wbv-turniere-widget .wbv-agenda__main {
    grid-column: 2 !important;
    min-width: 0 !important;
}


/*
   Linkbereich ausdrücklich in die rechte Spalte.
   Dadurch steht er NICHT mehr unter dem Beschreibungstext.
*/

body.page-id-218 .wbv-turniere-widget .wbv-agenda__links {
    grid-column: 3 !important;
    grid-row: 1 / -1 !important;

    display: flex !important;
    flex-direction: column !important;

    align-items: flex-end !important;
    justify-content: center !important;

    align-self: stretch !important;

    width: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    text-align: right !important;

    white-space: nowrap !important;
}


/*
   Links innerhalb des rechten Bereichs ebenfalls sauber
   rechtsbündig.
*/

body.page-id-218 .wbv-turniere-widget .wbv-agenda__links a,
body.page-id-218 .wbv-turniere-widget a.wbv-agenda__link {
    margin-left: auto !important;
    margin-right: 0 !important;

    justify-content: flex-end !important;

    text-align: right !important;
}


/*
   Falls der Widget-eigene Pfeil zusätzlich ausgegeben wird,
   ebenfalls in der rechten Spalte halten.
*/

body.page-id-218 .wbv-turniere-widget .wbv-agenda__go {
    grid-column: 3 !important;

    justify-self: end !important;
    align-self: center !important;
}


/* ---------------------------------------------------------
   MOBILE
   Auch mobil rechts neben dem Turnierinhalt,
   aber mit kompakterer Spalte.
   --------------------------------------------------------- */

@media (max-width: 767px) {

    body.page-id-218 .wbv-turniere-widget .wbv-agenda__row {
        grid-template-columns:
            48px
            minmax(0, 1fr)
            auto !important;

        column-gap: 10px !important;
        row-gap: 8px !important;
    }


    body.page-id-218 .wbv-turniere-widget .wbv-agenda__links {
        grid-column: 3 !important;
        grid-row: 1 / -1 !important;

        align-items: flex-end !important;
        justify-content: center !important;

        margin: 0 !important;

        white-space: normal !important;
    }


    body.page-id-218 .wbv-turniere-widget .wbv-agenda__links a {
        font-size: 0.875rem !important;

        text-align: right !important;
    }

}



/* =========================================================
   STARTSEITE - TURNIERE & AUSBILDUNGEN
   Pfeil der Turnierzeile fest rechts positionieren
   ========================================================= */


/*
   Die komplette Agenda-Zeile ist bereits der Link.
   Deshalb wird nicht ein zusätzlicher Linkbereich verschoben,
   sondern ausschließlich der sichtbare Pfeil .wbv-agenda__go.
*/

body.page-id-218 .wbv-turniere-widget a.wbv-agenda__row {
    position: relative !important;

    /*
       Rechts Platz für den Pfeil freihalten.
       Bestehendes Agenda-Grid bleibt ansonsten unverändert.
    */
    padding-right: 40px !important;
}


/*
   Pfeil unabhängig vom Grid exakt rechts mittig.
*/

body.page-id-218
.wbv-turniere-widget
a.wbv-agenda__row
.wbv-agenda__go {
    position: absolute !important;

    top: 50% !important;
    right: 8px !important;
    left: auto !important;
    bottom: auto !important;

    transform: translateY(-50%) !important;

    width: auto !important;
    min-width: 1.25rem !important;

    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;

    text-align: right !important;

    z-index: 2 !important;
}


/*
   Hover-Bewegung beibehalten, aber Y-Zentrierung nicht verlieren.
*/

body.page-id-218
.wbv-turniere-widget
a.wbv-agenda__row:hover
.wbv-agenda__go,

body.page-id-218
.wbv-turniere-widget
a.wbv-agenda__row:focus-visible
.wbv-agenda__go {
    transform: translate(3px, -50%) !important;
}


/* Mobil kompakter */

@media (max-width: 767px) {

    body.page-id-218 .wbv-turniere-widget a.wbv-agenda__row {
        padding-right: 32px !important;
    }

    body.page-id-218
    .wbv-turniere-widget
    a.wbv-agenda__row
    .wbv-agenda__go {
        right: 2px !important;
    }

}


/* =========================================================
   STARTSEITE - TURNIERE & AUSBILDUNGEN
   Pfeile wieder in eigener rechter Spalte
   ========================================================= */

body.home .wbv-events.is-preview .wbv-events__row,
body.home .wbv-events-preview .wbv-events__row {
    grid-template-columns:
        52px
        minmax(0, 1fr)
        1.25rem !important;

    column-gap: 14px !important;
}

body.home .wbv-events.is-preview .wbv-events__go,
body.home .wbv-events-preview .wbv-events__go {
    grid-column: 3 !important;
    grid-row: 1 !important;

    justify-self: end !important;
    align-self: center !important;
}


/* =========================================================
   STARTSEITE MOBIL
   4 Termine + Pfeile einheitlich rot
   ========================================================= */

@media (max-width: 767px) {

    /* Vier Termine statt bisher zwei */
    body.home .wbv-events.is-preview .wbv-events__item:nth-child(n+3),
    body.home .wbv-events-preview .wbv-events__item:nth-child(n+3) {
        display: list-item !important;
    }

    body.home .wbv-events.is-preview .wbv-events__item:nth-child(n+5),
    body.home .wbv-events-preview .wbv-events__item:nth-child(n+5) {
        display: none !important;
    }

    /* Beide Pfeilarten mobil rot darstellen */
    body.home .wbv-events.is-preview .wbv-events__go,
    body.home .wbv-events-preview .wbv-events__go {
        color: var(--color-brand, #d9231e) !important;
    }
}


/* =========================================================
   STARTSEITE MOBIL
   Externen Event-Pfeil korrekt darstellen
   ========================================================= */

@media (max-width: 767px) {

    body.home
    .wbv-events-preview
    a.wbv-events__row[target="_blank"]
    .wbv-events__go,

    body.home
    .wbv-events.is-preview
    a.wbv-events__row[target="_blank"]
    .wbv-events__go {

        /* vorhandenes falsches Icon neutralisieren */
        font-family: Manrope, sans-serif !important;

        background: none !important;
        background-image: none !important;

        width: auto !important;
        height: auto !important;
        min-width: 0 !important;
        min-height: 0 !important;

        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;

        color: var(--color-brand, #d9231e) !important;

        font-size: 1.125rem !important;
        font-weight: 600 !important;
        line-height: 1 !important;

        box-shadow: none !important;
    }
}



/* =========================================================
   CTA FOOTER-GAP
   Nachwuchs / Schulsport / Ausbildung / Technical Officials
   Kein Leerraum zwischen letztem schwarzen CTA und Footer
   ========================================================= */


/* Nachwuchs */
body.page-id-20 .wbv-nw-section--cta {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}


/* Schulsport */
body.page-id-115 .wbv-ss-section--cta {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}


/* Ausbildung */
body.page-id-22 .wbv-edu-section--cta {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}


/* Technical Officials */
body .wbv-to-section--cta {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}


/*
   Die jeweiligen Seiten-Wrapper dürfen nach dem letzten CTA
   ebenfalls keinen zusätzlichen unteren Innenabstand erzeugen.
*/

body.page-id-20 .wbv-nw-page,
body.page-id-115 .wbv-ss-page,
body.page-id-22 .wbv-edu-page {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}


/*
   Technical Officials verwendet einen eigenen Seitenwrapper.
   Nur wenn der CTA der letzte Bereich ist, unteren Abstand entfernen.
*/

body .wbv-to-page {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}


/*
   WordPress-Contentwrapper:
   nach diesen spezialisierten Seiten keinen zusätzlichen Abstand
   mehr zwischen Seiteninhalt und Footer zulassen.
*/

body.page-id-20 .entry-content,
body.page-id-115 .entry-content,
body.page-id-22 .entry-content {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}



/* =========================================================
   FOOTER-GAP FINAL
   Gleiche Loesung wie Wiener Liga
   Nachwuchs / Schulsport / Ausbildung / Technical Officials
   ========================================================= */


/* ---------------------------------------------------------
   Nachwuchs
   --------------------------------------------------------- */

body.page-id-20 .wbv-nw-section--cta:last-child,
body.page-id-20 .wbv-nw-page,
body.page-id-20 .entry-content,
body.page-id-20 .entry-content.wp-block-post-content,
body.page-id-20 main,
body.page-id-20 main > .wp-block-group,
body.page-id-20 main > .wp-block-group.has-global-padding {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

body.page-id-20 .wp-block-group:has(.wbv-nw-section--cta),
body.page-id-20 .entry-content:has(.wbv-nw-section--cta),
body.page-id-20 main:has(.wbv-nw-section--cta) {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

body.page-id-20 .wp-site-blocks > footer.wp-block-template-part,
body.page-id-20 .wp-site-blocks > main + footer.wp-block-template-part {
    margin-block-start: 0 !important;
    margin-top: 0 !important;
}


/* ---------------------------------------------------------
   Schulsport
   --------------------------------------------------------- */

body.page-id-115 .wbv-ss-section--cta:last-child,
body.page-id-115 .wbv-ss-page,
body.page-id-115 .entry-content,
body.page-id-115 .entry-content.wp-block-post-content,
body.page-id-115 main,
body.page-id-115 main > .wp-block-group,
body.page-id-115 main > .wp-block-group.has-global-padding {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

body.page-id-115 .wp-block-group:has(.wbv-ss-section--cta),
body.page-id-115 .entry-content:has(.wbv-ss-section--cta),
body.page-id-115 main:has(.wbv-ss-section--cta) {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

body.page-id-115 .wp-site-blocks > footer.wp-block-template-part,
body.page-id-115 .wp-site-blocks > main + footer.wp-block-template-part {
    margin-block-start: 0 !important;
    margin-top: 0 !important;
}


/* ---------------------------------------------------------
   Ausbildung
   --------------------------------------------------------- */

body.page-id-22 .wbv-edu-section--cta:last-child,
body.page-id-22 .wbv-edu-page,
body.page-id-22 .entry-content,
body.page-id-22 .entry-content.wp-block-post-content,
body.page-id-22 main,
body.page-id-22 main > .wp-block-group,
body.page-id-22 main > .wp-block-group.has-global-padding {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

body.page-id-22 .wp-block-group:has(.wbv-edu-section--cta),
body.page-id-22 .entry-content:has(.wbv-edu-section--cta),
body.page-id-22 main:has(.wbv-edu-section--cta) {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

body.page-id-22 .wp-site-blocks > footer.wp-block-template-part,
body.page-id-22 .wp-site-blocks > main + footer.wp-block-template-part {
    margin-block-start: 0 !important;
    margin-top: 0 !important;
}


/* ---------------------------------------------------------
   Technical Officials
   --------------------------------------------------------- */

body.page-id-183 .wbv-to-section--cta:last-child,
body.page-id-183 .wbv-to-page,
body.page-id-183 .entry-content,
body.page-id-183 .entry-content.wp-block-post-content,
body.page-id-183 main,
body.page-id-183 main > .wp-block-group,
body.page-id-183 main > .wp-block-group.has-global-padding {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

body.page-id-183 .wp-block-group:has(.wbv-to-section--cta),
body.page-id-183 .entry-content:has(.wbv-to-section--cta),
body.page-id-183 main:has(.wbv-to-section--cta) {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

body.page-id-183 .wp-site-blocks > footer.wp-block-template-part,
body.page-id-183 .wp-site-blocks > main + footer.wp-block-template-part {
    margin-block-start: 0 !important;
    margin-top: 0 !important;
}



/* =========================================================
   FOOTER-GAP FINAL 2
   WordPress erzeugt nach dem Seitenwrapper einen leeren
   Absatz nur fuer den JavaScript-Aufruf.
   Diesen Absatz aus dem Layout nehmen.
   ========================================================= */


/* ---------------------------------------------------------
   Nachwuchs
   HTML:
   .wbv-nw-page
   + <p><script src="/turniere/wbv-turniere.js..."></script></p>
   --------------------------------------------------------- */

body.page-id-20
.wbv-nw-page + p:has(script[src*="/turniere/wbv-turniere.js"]) {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    line-height: 0 !important;
}


/* ---------------------------------------------------------
   Schulsport
   --------------------------------------------------------- */

body.page-id-115
.wbv-ss-page + p:has(script[src*="/turniere/wbv-turniere.js"]) {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    line-height: 0 !important;
}


/* ---------------------------------------------------------
   Ausbildung
   --------------------------------------------------------- */

body.page-id-22
.wbv-edu-page + p:has(script[src*="/termine/wbv-termine-widget.js"]) {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    line-height: 0 !important;
}


/* Gleichzeitig eventuelle Block-Gaps zwischen diesem
   technischen Absatz und dem Footer neutralisieren. */

body.page-id-20 .entry-content,
body.page-id-115 .entry-content,
body.page-id-22 .entry-content {
    row-gap: 0 !important;
}

body.page-id-20 .wp-site-blocks > footer.wp-block-template-part,
body.page-id-115 .wp-site-blocks > footer.wp-block-template-part,
body.page-id-22 .wp-site-blocks > footer.wp-block-template-part {
    margin-block-start: 0 !important;
    margin-top: 0 !important;
}



/* =========================================================
   WBV MITMACHEN + MITGLIED WERDEN - REDESIGN 2026-08-31
   ========================================================= */

body.page-id-107,
body.page-id-269 {
    --wbv-special-rail:min(
        calc(100% - var(--wbv-page-gap,40px)),
        var(--wbv-max-width,1360px)
    );
}


/* WordPress wrapper */

body.page-id-107 main > .wp-block-group.alignfull.has-global-padding,
body.page-id-269 main > .wp-block-group.alignfull.has-global-padding {
    padding-top:0!important;
    padding-bottom:0!important;
}

body.page-id-107 .wp-block-post-title,
body.page-id-269 .wp-block-post-title {
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
}

body.page-id-107 .entry-content,
body.page-id-269 .entry-content {
    padding-left:0!important;
    padding-right:0!important;
    padding-bottom:0!important;
    margin-bottom:0!important;
}


/* Content rails */

body.page-id-107 .wbv-join-page,
body.page-id-269 .wbv-member-page {
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
}


/* Standard sections */

body.page-id-107 .wbv-join-section,
body.page-id-269 .wbv-member-section {
    width:var(--wbv-special-rail);
    max-width:var(--wbv-max-width,1360px);
    margin:0 auto!important;
    padding:clamp(56px,5vw,80px) 0!important;
    box-sizing:border-box;
}

body.page-id-107 .wbv-join-section + .wbv-join-section,
body.page-id-269 .wbv-member-section + .wbv-member-section {
    margin-top:0!important;
}


/* Section kicker */

body.page-id-107 .wbv-section-kicker,
body.page-id-269 .wbv-section-kicker {
    margin:0 0 10px;
    color:var(--color-brand,#d9231e);
    font-size:.75rem;
    line-height:1.2;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.1em;
}


/* Headings */

body.page-id-107 .wbv-join-section > h2,
body.page-id-269 .wbv-member-section > h2,
body.page-id-107 .wbv-section-inner > h2,
body.page-id-269 .wbv-section-inner > h2 {
    margin:0 0 16px;
}


/* Intro */

body.page-id-107 .wbv-join-intro,
body.page-id-269 .wbv-member-intro {
    max-width:760px;
    margin:0 0 36px;
    color:var(--color-text-secondary,#5f5f5f);
    font-size:1.0625rem;
    line-height:1.6;
}


/* =========================================================
   CARDS
   ========================================================= */

body.page-id-107 .wbv-join-grid,
body.page-id-269 .wbv-member-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:20px;
    margin:36px 0 0!important;
    padding:0!important;
}


body.page-id-107 .wbv-join-card,
body.page-id-269 .wbv-member-card {
    position:relative;
    padding:26px 24px 28px;
    background:#fff;
    border:1px solid rgba(0,0,0,.08);
    border-radius:14px;
    box-shadow:0 8px 24px rgba(0,0,0,.04);
    box-sizing:border-box;
}


body.page-id-107 .wbv-join-card::before,
body.page-id-269 .wbv-member-card::before {
    content:"";
    display:block;
    width:32px;
    height:3px;
    margin-bottom:18px;
    background:var(--color-brand,#d9231e);
}


body.page-id-107 .wbv-join-label,
body.page-id-269 .wbv-member-label {
    display:block;
    margin-bottom:8px;
    color:var(--color-text-secondary,#666);
    font-size:.72rem;
    line-height:1.2;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.09em;
}


body.page-id-107 .wbv-join-card h3,
body.page-id-269 .wbv-member-card h3 {
    margin:0 0 12px;
    font-size:1.15rem;
}


body.page-id-107 .wbv-join-card p,
body.page-id-269 .wbv-member-card p {
    margin:0;
    color:var(--color-text-secondary,#5f5f5f);
    line-height:1.55;
}


/* =========================================================
   SOFT SECTIONS
   ========================================================= */

body.page-id-107 .wbv-join-section--soft,
body.page-id-269 .wbv-member-section--soft {
    width:100%!important;
    max-width:none!important;
    background:var(--color-surface-subtle,#f7f6f1);
}


body.page-id-107 .wbv-join-section--soft .wbv-section-inner,
body.page-id-269 .wbv-member-section--soft .wbv-section-inner {
    width:var(--wbv-special-rail);
    max-width:var(--wbv-max-width,1360px);
    margin:0 auto;
}


/* =========================================================
   MITMACHEN
   ========================================================= */

body.page-id-107 .wbv-join-levels {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
    margin-top:36px;
}


body.page-id-107 .wbv-join-level {
    padding:28px;
    background:#fff;
    border:0;
    border-radius:14px;
    box-shadow:0 8px 24px rgba(0,0,0,.04);
}


body.page-id-107 .wbv-join-number {
    display:block;
    margin-bottom:22px;
    color:var(--color-brand,#d9231e);
    font-size:.8rem;
    font-weight:700;
    letter-spacing:.08em;
}


body.page-id-107 .wbv-join-level h3 {
    margin:0 0 10px;
}


body.page-id-107 .wbv-join-level p {
    margin:6px 0 0;
    color:var(--color-text-secondary,#5f5f5f);
}


body.page-id-107 .wbv-join-level__strong {
    color:#202020!important;
    font-weight:700;
}


body.page-id-107 .wbv-join-benefits {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
    margin-top:34px;
}


body.page-id-107 .wbv-join-benefit {
    padding:30px;
    border-top:3px solid var(--color-brand,#d9231e);
    background:var(--color-surface-subtle,#f7f6f1);
    border-radius:0 0 14px 14px;
}


body.page-id-107 .wbv-join-benefit h3 {
    margin:0 0 10px;
}


body.page-id-107 .wbv-join-benefit p {
    margin:0;
    color:var(--color-text-secondary,#5f5f5f);
}


/* =========================================================
   MITGLIEDSCHAFT
   ========================================================= */

body.page-id-269 .wbv-member-costs {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
    margin-top:36px;
}


body.page-id-269 .wbv-member-cost {
    padding:30px;
    background:#fff;
    border:1px solid rgba(0,0,0,.07);
    border-radius:14px;
    box-shadow:0 8px 24px rgba(0,0,0,.04);
}


body.page-id-269 .wbv-member-cost__label {
    display:inline-block;
    margin-bottom:14px;
    color:var(--color-brand,#d9231e);
    font-size:.75rem;
    font-weight:700;
    letter-spacing:.1em;
}


body.page-id-269 .wbv-member-cost h3 {
    margin:0 0 14px;
}


body.page-id-269 .wbv-member-price {
    margin:0 0 18px;
    color:#181818;
    font-size:2rem;
    line-height:1.1;
    font-weight:700;
}


body.page-id-269 .wbv-member-price span {
    display:block;
    margin-top:5px;
    color:var(--color-text-secondary,#666);
    font-size:.85rem;
    font-weight:400;
}


body.page-id-269 .wbv-member-highlight {
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:24px;
    align-items:start;
    margin-top:24px;
    padding:26px 30px;
    background:#fff;
    border-radius:14px;
}


body.page-id-269 .wbv-member-highlight__badge {
    padding:8px 12px;
    color:#fff;
    background:var(--color-brand,#d9231e);
    border-radius:999px;
    font-size:.75rem;
    font-weight:700;
    white-space:nowrap;
}


body.page-id-269 .wbv-member-highlight h3 {
    margin:2px 0 8px;
}


body.page-id-269 .wbv-member-highlight p {
    margin:0;
    color:var(--color-text-secondary,#5f5f5f);
}


body.page-id-269 .wbv-member-fees {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
    margin-top:34px;
}


body.page-id-269 .wbv-member-fee-card {
    padding:28px 30px;
    background:#fff;
    border:1px solid rgba(0,0,0,.08);
    border-radius:14px;
}


body.page-id-269 .wbv-member-fee-card h3 {
    margin:0 0 20px;
}


body.page-id-269 .wbv-member-fee-card ul {
    margin:0;
    padding:0;
    list-style:none;
}


body.page-id-269 .wbv-member-fee-card li {
    display:flex;
    justify-content:space-between;
    gap:20px;
    padding:10px 0;
    margin:0;
    border-bottom:1px solid rgba(0,0,0,.08);
}


body.page-id-269 .wbv-member-fee-card li:last-child {
    border-bottom:0;
}


body.page-id-269 .wbv-member-fee-card strong {
    flex:0 0 auto;
}


body.page-id-269 .wbv-member-note {
    margin:24px 0 0;
    color:var(--color-text-secondary,#666);
    font-size:.875rem;
}


/* =========================================================
   FULL WIDTH FINAL CTA
   ========================================================= */

body.page-id-107 .wbv-join-final-cta,
body.page-id-269 .wbv-member-final-cta {
    width:100%;
    margin:0!important;
    padding:0;
    background:#151515;
}


body.page-id-107 .wbv-join-final-cta__inner,
body.page-id-269 .wbv-member-final-cta__inner {
    display:grid;
    grid-template-columns:minmax(0,1.5fr) minmax(220px,.5fr);
    gap:40px;
    align-items:center;

    width:var(--wbv-special-rail);
    max-width:var(--wbv-max-width,1360px);

    margin:0 auto;
    padding:38px 0;
}


body.page-id-107 .wbv-join-final-cta h2,
body.page-id-269 .wbv-member-final-cta h2 {
    margin:0 0 8px;
    color:#fff;
}


body.page-id-107 .wbv-join-final-cta p,
body.page-id-269 .wbv-member-final-cta p {
    max-width:760px;
    margin:0;
    color:rgba(255,255,255,.75);
}


body.page-id-107 .wbv-join-final-cta__action,
body.page-id-269 .wbv-member-final-cta__action {
    text-align:right;
}


body.page-id-107 .wbv-join-final-cta__action a,
body.page-id-269 .wbv-member-final-cta__action a {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:12px 20px;
    color:#fff!important;
    background:var(--color-brand,#d9231e);
    border-radius:999px;
    font-weight:700;
    text-decoration:none!important;
}


/* Footer direkt anschließen */

body.page-id-107 .wp-site-blocks > footer.wp-block-template-part,
body.page-id-269 .wp-site-blocks > footer.wp-block-template-part {
    margin-block-start:0!important;
    margin-top:0!important;
}

body.page-id-107 .wp-site-blocks > main + footer.wp-block-template-part,
body.page-id-269 .wp-site-blocks > main + footer.wp-block-template-part {
    margin-block-start:0!important;
    margin-top:0!important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:1000px) {

    body.page-id-107 .wbv-join-grid,
    body.page-id-269 .wbv-member-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

}


@media(max-width:767px) {

    body.page-id-107,
    body.page-id-269 {
        --wbv-special-rail:calc(100% - 40px);
    }

    body.page-id-107 .wbv-join-grid,
    body.page-id-269 .wbv-member-grid,
    body.page-id-107 .wbv-join-levels,
    body.page-id-107 .wbv-join-benefits,
    body.page-id-269 .wbv-member-costs,
    body.page-id-269 .wbv-member-fees {
        grid-template-columns:1fr;
    }

    body.page-id-269 .wbv-member-highlight {
        grid-template-columns:1fr;
    }

    body.page-id-107 .wbv-join-final-cta__inner,
    body.page-id-269 .wbv-member-final-cta__inner {
        grid-template-columns:1fr;
        gap:22px;
        padding:32px 0;
    }

    body.page-id-107 .wbv-join-final-cta__action,
    body.page-id-269 .wbv-member-final-cta__action {
        text-align:left;
    }

    body.page-id-269 .wbv-member-fee-card li {
        gap:12px;
    }

}


/* Mitglied werden: Hero wie neue WBV Bildseiten */

@media(min-width:901px) {

    body.page-id-269 .wbv-hero--mitglied .wbv-hero__shell {
        display:grid!important;
        grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr)!important;
        align-items:center!important;
        gap:clamp(48px,5vw,80px)!important;
    }

    body.page-id-269 .wbv-hero--mitglied .wbv-hero__media-wrap {
        width:100%!important;
        margin-left:auto!important;
    }

    body.page-id-269 .wbv-hero--mitglied .wbv-hero__media img {
        display:block;
        width:100%;
        height:auto;
        object-fit:cover;
    }

}



/* =========================================================
   WBV MITMACHEN / MITGLIED WERDEN - FINAL KORREKTUREN
   2026-08-31
   ========================================================= */


/* ---------------------------------------------------------
   1. HERO-AKTIONEN UNTEREINANDER
   --------------------------------------------------------- */

body.page-id-107 .wbv-hero__actions,
body.page-id-269 .wbv-hero__actions {
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:10px !important;
}


body.page-id-107 .wbv-hero__actions .wbv-hero__link,
body.page-id-269 .wbv-hero__actions .wbv-hero__link {
    width:auto !important;
    margin:0 !important;
}


/* ---------------------------------------------------------
   2. MITMACHEN HERO-BILD
   Gruppenbild statt Folder
   --------------------------------------------------------- */

body.page-id-107 .wbv-hero--mitmachen .wbv-hero__media {
    overflow:hidden !important;
}


body.page-id-107 .wbv-hero--mitmachen .wbv-hero__media img {
    display:block !important;

    width:100% !important;
    max-width:none !important;
    height:100% !important;

    object-fit:cover !important;
    object-position:center 38% !important;

    background:none !important;
}


@media (min-width:901px) {

    body.page-id-107 .wbv-hero--mitmachen .wbv-hero__media-wrap {
        max-width:none !important;
    }

    body.page-id-107 .wbv-hero--mitmachen .wbv-hero__media {
        width:100% !important;
        max-width:none !important;
        min-height:360px !important;
        height:100% !important;
    }

}


/* ---------------------------------------------------------
   3. FINAL CTA TATSAECHLICH VOLLBREIT
   Der Bereich muss aus dem WordPress Content-Container
   herausgezogen werden.
   --------------------------------------------------------- */

body.page-id-107 .wbv-join-final-cta,
body.page-id-269 .wbv-member-final-cta {
    position:relative !important;

    width:100vw !important;
    max-width:none !important;

    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    margin-top:0 !important;
    margin-bottom:0 !important;

    padding-left:0 !important;
    padding-right:0 !important;

    background:#151515 !important;

    box-sizing:border-box !important;
}


/* Sicherheit: auch Elterncontainer dürfen die Breite nicht abschneiden */

body.page-id-107 .entry-content,
body.page-id-269 .entry-content,
body.page-id-107 .wp-block-post-content,
body.page-id-269 .wp-block-post-content {
    overflow:visible !important;
}


/* ---------------------------------------------------------
   4. CTA-INHALT WEITER AUF NORMALER WBV-RAIL
   --------------------------------------------------------- */

body.page-id-107 .wbv-join-final-cta__inner,
body.page-id-269 .wbv-member-final-cta__inner {
    width:min(
        calc(100% - var(--wbv-page-gap,40px)),
        var(--wbv-max-width,1360px)
    ) !important;

    max-width:var(--wbv-max-width,1360px) !important;

    margin-left:auto !important;
    margin-right:auto !important;
}


/* ---------------------------------------------------------
   5. WORDPRESS / FOOTER ABSTAND ENTFERNEN
   --------------------------------------------------------- */

body.page-id-107 main,
body.page-id-269 main,
body.page-id-107 main > .wp-block-group,
body.page-id-269 main > .wp-block-group,
body.page-id-107 main > .wp-block-group.has-global-padding,
body.page-id-269 main > .wp-block-group.has-global-padding,
body.page-id-107 .entry-content,
body.page-id-269 .entry-content {
    padding-bottom:0 !important;
    margin-bottom:0 !important;
}


body.page-id-107
.wp-site-blocks > footer.wp-block-template-part,

body.page-id-269
.wp-site-blocks > footer.wp-block-template-part {
    margin-block-start:0 !important;
    margin-top:0 !important;
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width:767px) {

    body.page-id-107 .wbv-hero__actions,
    body.page-id-269 .wbv-hero__actions {
        width:100% !important;
        gap:8px !important;
    }


    body.page-id-107 .wbv-hero--mitmachen .wbv-hero__media {
        min-height:240px !important;
    }


    body.page-id-107 .wbv-join-final-cta__inner,
    body.page-id-269 .wbv-member-final-cta__inner {
        width:calc(100% - 40px) !important;
    }

}
/* Kleine Tablets / groessere Landscape-Ansichten */

@media (min-width: 768px) and (max-width: 1100px) {

    body.home .wbv-news-slider {
        --wbv-news-rail: calc(100% - 48px) !important;
    }

    body.home .wbv-news-content {
        width: var(--wbv-news-rail) !important;

        margin-left: auto !important;
        margin-right: auto !important;

        padding-left: 0 !important;
        padding-right: 0 !important;

        box-sizing: border-box !important;
    }

    body.home .wbv-news-controls {
        width: var(--wbv-news-rail) !important;

        margin-left: auto !important;
        margin-right: auto !important;

        padding-left: 0 !important;
        padding-right: 0 !important;

        box-sizing: border-box !important;
    }

}


/* =========================================================
   WBV NEWS - EINZELBEITRAG
   Designer Redesign 2026
   ========================================================= */


/* ---------------------------------------------------------
   1. GRUNDLAYOUT / WORDPRESS RESET
   --------------------------------------------------------- */

body.single-post {
    --wbv-news-single-rail: min(
        calc(100% - 40px),
        var(--wbv-max-width, 1360px)
    );

    --wbv-news-reading: 820px;
}


body.single-post main {
    margin-top: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 0 !important;
}


body.single-post
main > .wp-block-group.alignfull.has-global-padding {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;

    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}


/* ---------------------------------------------------------
   2. ARTIKELKOPF
   Titel + Byline
   --------------------------------------------------------- */

body.single-post
main > .wp-block-group.alignfull.has-global-padding
> .wp-block-post-title {

    width: var(--wbv-news-single-rail) !important;
    max-width: 980px !important;

    margin:
        0
        auto !important;

    padding:
        clamp(58px, 6vw, 88px)
        0
        18px !important;

    font-family: Manrope, sans-serif !important;

    font-size:
        clamp(2rem, 1.55rem + 2vw, 3.35rem) !important;

    font-weight: 750 !important;

    line-height: 1.04 !important;

    letter-spacing: -0.025em !important;

    color: #08142e !important;

    text-wrap: balance;
}


body.single-post
.wbv-external-news-byline {

    width: var(--wbv-news-single-rail) !important;
    max-width: 980px !important;

    margin:
        0
        auto !important;

    padding-bottom: 32px !important;

    font-family: Manrope, sans-serif !important;

    font-size: 0.875rem !important;

    font-weight: 600 !important;

    line-height: 1.5 !important;

    color: #707782 !important;
}


body.single-post
.wbv-external-news-byline a {

    color: var(--color-brand, #d9231e) !important;

    text-decoration: none !important;
}


body.single-post
.wbv-external-news-byline a:hover,
body.single-post
.wbv-external-news-byline a:focus-visible {

    text-decoration: underline !important;
}


/* rote Designerlinie unter dem Kopf */

body.single-post
.wbv-external-news-byline::after {

    content: "";

    display: block;

    width: 54px;
    height: 4px;

    margin-top: 24px;

    border-radius: 999px;

    background:
        var(--color-brand, #d9231e);
}


/* ---------------------------------------------------------
   3. ARTIKELINHALT
   --------------------------------------------------------- */

body.single-post
.entry-content.wp-block-post-content {

    width: min(
        calc(100% - 40px),
        var(--wbv-news-reading)
    ) !important;

    max-width: var(--wbv-news-reading) !important;

    margin:
        0
        auto !important;

    padding:
        28px
        0
        clamp(56px, 6vw, 84px) !important;

    font-family: Manrope, sans-serif !important;

    font-size:
        clamp(1rem, .97rem + .15vw, 1.075rem) !important;

    line-height: 1.72 !important;

    color: #252a31 !important;

    box-sizing: border-box !important;
}


body.single-post
.entry-content.wp-block-post-content p {

    margin-top: 0 !important;
    margin-bottom: 1.35em !important;
}


body.single-post
.entry-content.wp-block-post-content h2 {

    margin:
        2.1em
        0
        .7em !important;

    font-size:
        clamp(1.55rem, 1.35rem + .6vw, 2rem) !important;

    line-height: 1.15 !important;

    color: #08142e !important;
}


body.single-post
.entry-content.wp-block-post-content h3 {

    margin:
        1.8em
        0
        .6em !important;

    font-size:
        clamp(1.25rem, 1.15rem + .35vw, 1.55rem) !important;

    line-height: 1.2 !important;

    color: #08142e !important;
}


body.single-post
.entry-content.wp-block-post-content a {

    color: var(--color-brand, #d9231e);

    text-decoration-thickness: 1px;

    text-underline-offset: 3px;
}


body.single-post
.entry-content.wp-block-post-content img {

    max-width: 100%;

    height: auto;

    border-radius: 14px;
}


/* ---------------------------------------------------------
   4. LEEREN WORDPRESS BLOCK ENTFERNEN
   --------------------------------------------------------- */

body.single-post
.entry-content
+ .wp-block-group.has-global-padding {

    padding-top: 0 !important;
    padding-bottom: 0 !important;

    margin: 0 !important;

    min-height: 0 !important;
}


/* ---------------------------------------------------------
   5. BEITRAGSNAVIGATION
   --------------------------------------------------------- */

body.single-post
main > .wp-block-group.alignfull.has-global-padding
> .wp-block-group.alignwide {

    width: var(--wbv-news-single-rail) !important;
    max-width: var(--wbv-max-width, 1360px) !important;

    margin:
        0
        auto !important;
}


body.single-post
nav[aria-label="Beitragsnavigation"] {

    width: 100% !important;

    margin: 0 !important;

    padding:
        30px
        0 !important;

    border-top:
        1px solid #dfe2e6 !important;

    border-bottom:
        1px solid #dfe2e6 !important;

    gap: 28px !important;

    font-family: Manrope, sans-serif !important;
}


body.single-post
.wp-block-post-navigation-link {

    flex:
        1
        1
        0;

    font-size: .95rem !important;

    line-height: 1.4 !important;

    font-weight: 650 !important;
}


body.single-post
.wp-block-post-navigation-link a {

    color: #08142e !important;

    text-decoration: none !important;
}


body.single-post
.wp-block-post-navigation-link a:hover,
body.single-post
.wp-block-post-navigation-link a:focus-visible {

    color: var(--color-brand, #d9231e) !important;
}


/* ---------------------------------------------------------
   6. WEITERE BEITRAEGE
   --------------------------------------------------------- */

body.single-post
main > .wp-block-group.alignwide.has-global-padding {

    width: 100% !important;
    max-width: none !important;

    margin-top:
        clamp(52px, 5vw, 76px) !important;

    margin-bottom: 0 !important;

    padding:
        clamp(48px, 5vw, 68px)
        0
        clamp(56px, 6vw, 84px) !important;

    background: #f4f5f6 !important;
}


body.single-post
main > .wp-block-group.alignwide.has-global-padding
> .wp-block-heading,

body.single-post
main > .wp-block-group.alignwide.has-global-padding
> .wp-block-query {

    width: var(--wbv-news-single-rail) !important;

    max-width:
        var(--wbv-max-width, 1360px) !important;

    margin-left: auto !important;
    margin-right: auto !important;
}


body.single-post
main > .wp-block-group.alignwide.has-global-padding
> .wp-block-heading {

    margin-top: 0 !important;
    margin-bottom: 24px !important;

    font-family: Manrope, sans-serif !important;

    font-size: .82rem !important;

    font-weight: 800 !important;

    letter-spacing: .11em !important;

    text-transform: uppercase !important;

    color: var(--color-brand, #d9231e) !important;
}


body.single-post
.wp-block-query
.wp-block-post-template {

    margin: 0 !important;

    padding: 0 !important;

    list-style: none !important;
}


body.single-post
.wp-block-query
.wp-block-post-template
> li {

    margin: 0 !important;

    padding: 0 !important;
}


body.single-post
.wp-block-query
.wp-block-post-template
> li
> .wp-block-group {

    padding:
        18px
        0 !important;

    border-bottom:
        1px solid #d9dde2 !important;

    gap: 24px !important;
}


body.single-post
.wp-block-query
.wp-block-post-title {

    margin: 0 !important;

    font-family: Manrope, sans-serif !important;

    font-size:
        clamp(1rem, .94rem + .25vw, 1.2rem) !important;

    font-weight: 700 !important;

    line-height: 1.25 !important;

    color: #08142e !important;
}


body.single-post
.wp-block-query
.wp-block-post-title a {

    color: inherit !important;

    text-decoration: none !important;
}


body.single-post
.wp-block-query
.wp-block-post-title a:hover,
body.single-post
.wp-block-query
.wp-block-post-title a:focus-visible {

    color: var(--color-brand, #d9231e) !important;
}


body.single-post
.wp-block-query
.wp-block-post-date {

    flex:
        0
        0
        auto;

    font-family: Manrope, sans-serif !important;

    font-size: .8rem !important;

    font-weight: 600 !important;

    color: #777e87 !important;

    white-space: nowrap;
}


body.single-post
.wp-block-query
.wp-block-post-date a {

    color: inherit !important;

    text-decoration: none !important;
}


/* ---------------------------------------------------------
   7. FOOTER GAP ENTFERNEN
   --------------------------------------------------------- */

body.single-post main,
body.single-post main > .wp-block-group:last-child {

    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}


body.single-post
.wp-site-blocks > main
+ footer.wp-block-template-part {

    margin-block-start: 0 !important;
    margin-top: 0 !important;
}


/* ---------------------------------------------------------
   8. MOBILE
   --------------------------------------------------------- */

@media (max-width: 767px) {

    body.single-post {
        --wbv-news-single-rail:
            calc(100% - 32px);

        --wbv-news-reading:
            100%;
    }


    body.single-post
    main > .wp-block-group.alignfull.has-global-padding
    > .wp-block-post-title {

        padding-top: 42px !important;
        padding-bottom: 14px !important;

        font-size:
            clamp(1.85rem, 7vw, 2.45rem) !important;
    }


    body.single-post
    .wbv-external-news-byline {

        padding-bottom: 24px !important;
    }


    body.single-post
    .entry-content.wp-block-post-content {

        width: calc(100% - 32px) !important;

        padding-top: 20px !important;
        padding-bottom: 48px !important;

        line-height: 1.65 !important;
    }


    body.single-post
    nav[aria-label="Beitragsnavigation"] {

        display: grid !important;

        grid-template-columns: 1fr !important;

        padding:
            22px
            0 !important;

        gap: 18px !important;
    }


    body.single-post
    .post-navigation-link-next {

        text-align: left !important;
    }


    body.single-post
    main > .wp-block-group.alignwide.has-global-padding {

        margin-top: 42px !important;

        padding:
            40px
            0
            52px !important;
    }


    body.single-post
    .wp-block-query
    .wp-block-post-template
    > li
    > .wp-block-group {

        align-items: flex-start !important;

        gap: 12px !important;
    }

}



/* =========================================================
   WBV NEWS - EINZELBEITRAG DESIGNER FINAL
   Vorlage: Editorial Layout
   ========================================================= */


/* ---------------------------------------------------------
   BASIS
   --------------------------------------------------------- */

body.single-post {
    --wbv-news-detail-rail: min(
        calc(100% - 40px),
        var(--wbv-max-width, 1360px)
    );

    --wbv-news-detail-column: 520px;
}


body.single-post main {
    margin-top: 0 !important;
    padding: 0 !important;
}


/* ---------------------------------------------------------
   1. OBERER BILDBEREICH
   --------------------------------------------------------- */

/*
   Falls ein Featured Image vorhanden ist,
   wird es vollbreit als Bildband dargestellt.
*/

body.single-post
.wp-block-post-featured-image {

    width: 100vw !important;
    max-width: none !important;

    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    margin-top: 0 !important;
    margin-bottom: 0 !important;

    height: clamp(220px, 28vw, 360px);

    overflow: hidden;
}


body.single-post
.wp-block-post-featured-image img {

    width: 100% !important;
    height: 100% !important;

    object-fit: cover !important;

    display: block !important;
}


/* ---------------------------------------------------------
   2. HAUPTBEREICH
   --------------------------------------------------------- */

body.single-post
main > .wp-block-group.alignfull.has-global-padding {

    width: var(--wbv-news-detail-rail) !important;
    max-width: var(--wbv-max-width, 1360px) !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding:
        30px
        0
        0 !important;
}


/* ---------------------------------------------------------
   3. TITEL / META
   --------------------------------------------------------- */

body.single-post
main > .wp-block-group.alignfull.has-global-padding
> .wp-block-post-title {

    width: var(--wbv-news-detail-column) !important;
    max-width: 100% !important;

    margin:
        0
        0
        10px !important;

    padding: 0 !important;

    font-family: Manrope, sans-serif !important;

    font-size:
        clamp(1.95rem, 1.7rem + .9vw, 2.65rem) !important;

    font-weight: 750 !important;

    line-height: 1.06 !important;

    letter-spacing: -0.02em !important;

    color: #111 !important;

    text-wrap: balance;
}


/*
   Meta-Zeile wie im Designerbild:
   klein, Kategorie rot, Datum grau
*/

body.single-post
.wbv-external-news-byline {

    width: var(--wbv-news-detail-column) !important;

    margin:
        0
        0
        10px !important;

    padding: 0 !important;

    font-family: Manrope, sans-serif !important;

    font-size: .72rem !important;

    font-weight: 500 !important;

    line-height: 1.4 !important;

    color: #777 !important;
}


body.single-post
.wbv-external-news-byline a {

    color: var(--color-brand, #d9231e) !important;

    text-decoration: none !important;
}


/* Meta soll optisch oberhalb des Titels erscheinen */

body.single-post
main > .wp-block-group.alignfull.has-global-padding {

    display: flex !important;
    flex-direction: column !important;
}


body.single-post
.wbv-external-news-byline {
    order: 1 !important;
}


body.single-post
main > .wp-block-group.alignfull.has-global-padding
> .wp-block-post-title {
    order: 2 !important;
}


body.single-post
.entry-content.wp-block-post-content {
    order: 3 !important;
}


body.single-post
.entry-content
+ .wp-block-group {
    order: 4 !important;
}


body.single-post
main > .wp-block-group.alignfull.has-global-padding
> .wp-block-group.alignwide {
    order: 5 !important;
}


/* ---------------------------------------------------------
   4. ARTIKELTEXT
   --------------------------------------------------------- */

body.single-post
.entry-content.wp-block-post-content {

    width: var(--wbv-news-detail-column) !important;
    max-width: 100% !important;

    margin:
        0
        0
        0 !important;

    padding:
        0
        0
        22px !important;

    font-family: Manrope, sans-serif !important;

    font-size: .96rem !important;

    line-height: 1.55 !important;

    color: #5a5f66 !important;
}


body.single-post
.entry-content.wp-block-post-content p {

    margin:
        0
        0
        1em !important;
}


/* ---------------------------------------------------------
   5. ALLE NEWS LINK
   Beitragsnavigation wird visuell umgebaut
   --------------------------------------------------------- */

/*
   Vorherige/Naechste Navigation wird nicht als solche
   dargestellt, sondern als Ruecklink.
*/

body.single-post
nav[aria-label="Beitragsnavigation"] {

    display: block !important;

    width: var(--wbv-news-detail-column) !important;

    margin:
        4px
        0
        38px !important;

    padding: 0 !important;

    border: 0 !important;
}


body.single-post
nav[aria-label="Beitragsnavigation"]
.wp-block-post-navigation-link {

    display: none !important;
}


body.single-post
nav[aria-label="Beitragsnavigation"]::before {

    content: "← Alle News";

    display: inline-block;

    font-family: Manrope, sans-serif;

    font-size: .76rem;

    font-weight: 700;

    line-height: 1.3;

    color: var(--color-brand, #d9231e);

    cursor: pointer;
}


/* echtes Link-Ziel ueber Overlay */

body.single-post
nav[aria-label="Beitragsnavigation"] {

    position: relative !important;
}


body.single-post
nav[aria-label="Beitragsnavigation"]::after {

    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: 90px;
    height: 26px;

    z-index: 2;
}


/* ---------------------------------------------------------
   6. LEERBLOCK ENTFERNEN
   --------------------------------------------------------- */

body.single-post
.entry-content
+ .wp-block-group.has-global-padding {

    display: none !important;
}


/* ---------------------------------------------------------
   7. WEITERE BEITRAEGE
   --------------------------------------------------------- */

body.single-post
main > .wp-block-group.alignwide.has-global-padding {

    width: var(--wbv-news-detail-column) !important;
    max-width: 100% !important;

    margin:
        0
        0
        0 !important;

    padding:
        24px
        0
        48px !important;

    border-top:
        1px solid #d9dde1 !important;

    background: transparent !important;
}


body.single-post
main > .wp-block-group.alignwide.has-global-padding
> .wp-block-heading {

    width: 100% !important;

    margin:
        0
        0
        20px !important;

    padding: 0 !important;

    font-family: Manrope, sans-serif !important;

    font-size: .92rem !important;

    font-weight: 750 !important;

    line-height: 1.25 !important;

    letter-spacing: 0 !important;

    text-transform: none !important;

    color: #111 !important;
}


/* Query kompakt wie Designerliste */

body.single-post
.wp-block-query {

    width: 100% !important;
}


body.single-post
.wp-block-query
.wp-block-post-template {

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}


body.single-post
.wp-block-query
.wp-block-post-template
> li {

    margin: 0 !important;

    padding:
        0
        0
        0 !important;
}


body.single-post
.wp-block-query
.wp-block-post-template
> li
> .wp-block-group {

    display: block !important;

    margin: 0 !important;

    padding:
        10px
        0
        12px !important;

    border-bottom:
        1px solid #d9dde1 !important;
}


/* Datum oben */

body.single-post
.wp-block-query
.wp-block-post-date {

    display: block !important;

    margin:
        0
        0
        3px !important;

    text-align: left !important;

    font-family: Manrope, sans-serif !important;

    font-size: .67rem !important;

    font-weight: 500 !important;

    line-height: 1.3 !important;

    color: #666 !important;
}


/* Titel darunter */

body.single-post
.wp-block-query
.wp-block-post-title {

    margin: 0 !important;

    font-family: Manrope, sans-serif !important;

    font-size: .82rem !important;

    font-weight: 700 !important;

    line-height: 1.35 !important;

    color: #111 !important;
}


body.single-post
.wp-block-query
.wp-block-post-title a {

    color: inherit !important;

    text-decoration: none !important;
}


body.single-post
.wp-block-query
.wp-block-post-title a:hover,
body.single-post
.wp-block-query
.wp-block-post-title a:focus-visible {

    color: var(--color-brand, #d9231e) !important;
}


/* ---------------------------------------------------------
   8. FOOTER DIREKT ANSCHLIESSEN
   --------------------------------------------------------- */

body.single-post main,
body.single-post
main > .wp-block-group:last-child {

    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}


body.single-post
.wp-site-blocks > main
+ footer.wp-block-template-part {

    margin-block-start: 0 !important;
    margin-top: 0 !important;
}


/* ---------------------------------------------------------
   9. MOBILE
   --------------------------------------------------------- */

@media (max-width: 767px) {

    body.single-post {

        --wbv-news-detail-rail:
            calc(100% - 32px);

        --wbv-news-detail-column:
            100%;
    }


    body.single-post
    .wp-block-post-featured-image {

        height: 190px;
    }


    body.single-post
    main > .wp-block-group.alignfull.has-global-padding {

        padding-top: 24px !important;
    }


    body.single-post
    main > .wp-block-group.alignfull.has-global-padding
    > .wp-block-post-title {

        font-size:
            clamp(1.75rem, 7vw, 2.25rem) !important;
    }


    body.single-post
    .entry-content.wp-block-post-content {

        font-size: .94rem !important;
    }


    body.single-post
    main > .wp-block-group.alignwide.has-global-padding {

        padding-bottom: 40px !important;
    }

}



/* =========================================================
   WBV NEWS SINGLE - TEMPLATE DESIGNER FINAL
   ========================================================= */


/* ---------------------------------------------------------
   GESAMTSEITE
   --------------------------------------------------------- */

body.single-post .wbv-news-single {
    margin:0 !important;
    padding:0 !important;
    width:100% !important;
    max-width:none !important;
}


body.single-post .wbv-news-single__shell {
    width:min(
        calc(100% - 40px),
        var(--wbv-max-width,1360px)
    ) !important;

    max-width:var(--wbv-max-width,1360px) !important;

    margin:0 auto !important;

    padding:0 !important;
}


/* ---------------------------------------------------------
   HERO
   --------------------------------------------------------- */

body.single-post .wbv-news-single__hero {
    position:relative;

    width:100% !important;
    max-width:none !important;

    height:clamp(220px,23vw,360px);

    margin:0 !important;
    padding:0 !important;

    overflow:hidden;

    background:
        linear-gradient(
            110deg,
            #17233a 0%,
            #303a4b 55%,
            #646a72 100%
        );
}


body.single-post
.wbv-news-single__hero
.wp-block-post-featured-image {

    width:100% !important;
    max-width:none !important;

    height:100% !important;

    margin:0 !important;
    padding:0 !important;
}


body.single-post
.wbv-news-single__hero
.wp-block-post-featured-image img {

    display:block !important;

    width:100% !important;
    height:100% !important;

    object-fit:cover !important;

    object-position:center center;

    margin:0 !important;
}


/* ---------------------------------------------------------
   ARTIKELSPALTE
   bewusst links innerhalb der grossen WBV-Rail
   --------------------------------------------------------- */

body.single-post .wbv-news-single__article {

    width:min(100%,520px) !important;

    margin:0 !important;

    /*
       Designerbild beginnt nicht direkt am aeussersten
       WBV-Rand, sondern leicht eingerueckt.
    */

    padding:
        32px
        0
        42px
        clamp(0px,1.4vw,18px) !important;

    box-sizing:border-box !important;
}


/* ---------------------------------------------------------
   META
   Kategorie + Datum
   --------------------------------------------------------- */

body.single-post .wbv-news-single__meta {

    display:flex !important;

    align-items:center !important;

    justify-content:flex-start !important;

    gap:4px !important;

    margin:0 0 9px !important;

    padding:0 !important;

    font-family:Manrope,sans-serif !important;

    font-size:.70rem !important;

    line-height:1.3 !important;

    color:#72777f !important;
}


body.single-post .wbv-news-single__category {

    margin:0 !important;
    padding:0 !important;

    color:var(--color-brand,#d9231e) !important;

    font-weight:600 !important;
}


body.single-post .wbv-news-single__category a {

    color:inherit !important;

    text-decoration:none !important;
}


body.single-post .wbv-news-single__date {

    margin:0 !important;
    padding:0 !important;

    color:#72777f !important;
}


/* Trennpunkt zwischen Kategorie und Datum */

body.single-post
.wbv-news-single__category::after {

    content:" ·";

    color:#72777f;
}


/* ---------------------------------------------------------
   TITEL
   --------------------------------------------------------- */

body.single-post .wbv-news-single__title {

    margin:
        0
        0
        10px !important;

    padding:0 !important;

    font-family:Manrope,sans-serif !important;

    font-size:
        clamp(1.85rem,1.65rem + .7vw,2.4rem) !important;

    font-weight:750 !important;

    line-height:1.07 !important;

    letter-spacing:-.025em !important;

    color:#111 !important;

    text-wrap:balance;
}


/* ---------------------------------------------------------
   TEXT
   --------------------------------------------------------- */

body.single-post .wbv-news-single__content {

    width:100% !important;
    max-width:none !important;

    margin:0 !important;

    padding:0 !important;

    font-family:Manrope,sans-serif !important;

    font-size:.94rem !important;

    line-height:1.55 !important;

    color:#61666d !important;
}


body.single-post
.wbv-news-single__content p {

    margin:
        0
        0
        1em !important;
}


/* ---------------------------------------------------------
   ALLE NEWS
   --------------------------------------------------------- */

body.single-post .wbv-news-single__back {

    margin:
        26px
        0
        38px !important;

    padding:0 !important;
}


body.single-post .wbv-news-single__back a {

    font-family:Manrope,sans-serif !important;

    font-size:.74rem !important;

    font-weight:700 !important;

    color:var(--color-brand,#d9231e) !important;

    text-decoration:none !important;
}


body.single-post .wbv-news-single__back a:hover,
body.single-post .wbv-news-single__back a:focus-visible {

    text-decoration:underline !important;
}


/* ---------------------------------------------------------
   WEITERE MELDUNGEN
   --------------------------------------------------------- */

body.single-post .wbv-news-single__more {

    width:100% !important;

    margin:0 !important;

    padding:
        20px
        0
        0 !important;

    border-top:
        1px solid #d9dde1 !important;
}


body.single-post .wbv-news-single__more-title {

    margin:
        0
        0
        16px !important;

    padding:0 !important;

    font-family:Manrope,sans-serif !important;

    font-size:.91rem !important;

    font-weight:750 !important;

    line-height:1.3 !important;

    color:#111 !important;
}


body.single-post
.wbv-news-single__query
.wp-block-post-template {

    margin:0 !important;
    padding:0 !important;

    list-style:none !important;
}


body.single-post
.wbv-news-single__more-item {

    margin:0 !important;

    padding:
        11px
        0
        12px !important;

    border-bottom:
        1px solid #d9dde1 !important;
}


/* Datum und Kategorie in einer Zeile */

body.single-post
.wbv-news-single__more-meta {

    display:flex !important;

    flex-wrap:wrap !important;

    justify-content:flex-start !important;

    align-items:center !important;

    gap:4px !important;

    margin:
        0
        0
        3px !important;

    padding:0 !important;

    font-family:Manrope,sans-serif !important;

    font-size:.66rem !important;

    font-weight:500 !important;

    line-height:1.3 !important;

    color:#70757c !important;
}


body.single-post
.wbv-news-single__more-meta
.wp-block-post-date {

    margin:0 !important;
    padding:0 !important;
}


body.single-post
.wbv-news-single__more-meta
.wp-block-post-date::after {

    content:" ·";

    color:#70757c;
}


body.single-post
.wbv-news-single__more-meta
.wp-block-post-terms {

    margin:0 !important;
    padding:0 !important;

    font-size:inherit !important;

    font-weight:inherit !important;
}


body.single-post
.wbv-news-single__more-meta
.wp-block-post-terms a {

    color:#70757c !important;

    text-decoration:none !important;
}


/* Meldungstitel */

body.single-post
.wbv-news-single__more-item-title {

    margin:0 !important;
    padding:0 !important;

    font-family:Manrope,sans-serif !important;

    font-size:.81rem !important;

    font-weight:700 !important;

    line-height:1.35 !important;

    color:#111 !important;
}


body.single-post
.wbv-news-single__more-item-title a {

    color:inherit !important;

    text-decoration:none !important;
}


body.single-post
.wbv-news-single__more-item-title a:hover,
body.single-post
.wbv-news-single__more-item-title a:focus-visible {

    color:var(--color-brand,#d9231e) !important;
}


/* ---------------------------------------------------------
   FOOTER
   --------------------------------------------------------- */

body.single-post
.wp-site-blocks > main
+ footer.wp-block-template-part {

    margin-block-start:0 !important;
    margin-top:0 !important;
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width:767px) {

    body.single-post
    .wbv-news-single__hero {

        height:190px;
    }


    body.single-post
    .wbv-news-single__shell {

        width:calc(100% - 32px) !important;
    }


    body.single-post
    .wbv-news-single__article {

        width:100% !important;

        padding:
            24px
            0
            36px !important;
    }


    body.single-post
    .wbv-news-single__title {

        font-size:
            clamp(1.7rem,7vw,2.2rem) !important;
    }

}



/* WBV News Hero Fallback fuer Beitraege ohne Beitragsbild */

body.single-post
.wbv-news-single__hero {

    background-image:
        linear-gradient(
            90deg,
            rgba(8,20,46,.20),
            rgba(8,20,46,.05)
        ),
        url("https://wienbadminton.at/wp-content/uploads/2026/08/WBV_Wiener_Liga_Hero.jpg") !important;

    background-size:cover !important;
    background-position:center center !important;
}
/*
 * Falls die bisherige globale External-Link-Regel
 * den Pfeil ueber ::before erzeugt, diesen im Footer
 * ebenfalls deaktivieren.
 */

.wbv-footer a[target="_blank"]::before {
    content: none !important;

    display: none !important;

    background: none !important;
    border: 0 !important;
    box-shadow: none !important;
}






















/* =========================================================
   WBV FOOTER - OEBV SERVICES MOBILE CSS-PFEIL FINAL
   Kein Unicode-Pfeil sichtbar.
   Pfeil wird rein mit CSS gezeichnet.
   Desktop bleibt unveraendert.
   ========================================================= */

@media (max-width: 767px) {

    .wbv-footer .wbv-footer-ext-arrow {

        position: relative !important;

        display: inline-block !important;

        width: 11px !important;
        height: 11px !important;

        min-width: 11px !important;
        min-height: 11px !important;

        margin-left: 4px !important;
        padding: 0 !important;

        vertical-align: -1px !important;

        /*
         * Das vorhandene Unicode-Zeichen unsichtbar machen.
         * Dadurch kann keine graue Ersatz-Glyphe mehr erscheinen.
         */
        font-size: 0 !important;
        line-height: 0 !important;

        color: currentColor !important;

        background: none !important;
        background-image: none !important;

        border: 0 !important;
        border-radius: 0 !important;

        box-shadow: none !important;

        overflow: visible !important;
    }


    /*
     * Diagonaler Schaft
     */

    .wbv-footer .wbv-footer-ext-arrow::before {

        content: "" !important;

        display: block !important;

        position: absolute !important;

        left: 1px !important;
        bottom: 2px !important;

        width: 10px !important;
        height: 1.5px !important;

        background: currentColor !important;

        transform:
            rotate(-45deg) !important;

        transform-origin:
            left center !important;
    }


    /*
     * Pfeilspitze rechts oben
     */

    .wbv-footer .wbv-footer-ext-arrow::after {

        content: "" !important;

        display: block !important;

        position: absolute !important;

        top: 0 !important;
        right: 0 !important;

        width: 6px !important;
        height: 6px !important;

        background: transparent !important;

        border-top:
            1.5px solid currentColor !important;

        border-right:
            1.5px solid currentColor !important;

        border-bottom: 0 !important;
        border-left: 0 !important;

        border-radius: 0 !important;

        box-shadow: none !important;
    }

}



/* =========================================================
   WBV FOOTER - OEBV SERVICES MOBILE PFEIL ALIGNMENT
   Pfeil auf Text-Baseline anheben
   ========================================================= */

@media (max-width: 767px) {

    .wbv-footer .wbv-footer-ext-arrow {
        vertical-align: 1px !important;
        transform: translateY(-1px) !important;
    }

}


/* WBV FOOTER - OEBV MOBILE PFEIL VERTIKAL FINAL */
@media (max-width: 767px) {

    .wbv-footer .wbv-footer-ext-arrow {
        vertical-align: baseline !important;
        transform: translateY(-4px) !important;
    }

}


/* WBV FOOTER - OEBV MOBILE PFEIL ALIGNMENT V3 */
@media (max-width: 767px) {

    .wbv-footer .wbv-footer-ext-arrow {
        vertical-align: baseline !important;
        transform: translateY(-7px) !important;
    }

}


/* WBV FOOTER - OEBV MOBILE PFEIL ALIGNMENT FINAL */
@media (max-width: 767px) {

    .wbv-footer .wbv-footer-ext-arrow {
        transform: translateY(-8px) !important;
    }

}



/* =========================================================
   WBV NEWS DETAIL - BILD KOMPLETT ANZEIGEN
   Kein Hero-Crop auf Einzelbeitragsseiten
   ========================================================= */

body.single-post .wbv-news-single__hero {

    width: min(
        calc(100% - 40px),
        var(--wbv-max-width, 1360px)
    ) !important;

    max-width: var(--wbv-max-width, 1360px) !important;

    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding: 0 !important;

    overflow: visible !important;

    background: none !important;
    background-image: none !important;
}


body.single-post
.wbv-news-single__hero
.wp-block-post-featured-image {

    width: 100% !important;
    max-width: 100% !important;

    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: visible !important;
}


body.single-post
.wbv-news-single__hero
.wp-block-post-featured-image img {

    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    height: auto !important;
    max-height: none !important;

    margin: 0 auto !important;

    object-fit: contain !important;
    object-position: center center !important;

    border-radius: 0 !important;
}


/* Mobile ebenfalls immer vollstaendig */

@media (max-width: 767px) {

    body.single-post .wbv-news-single__hero {

        width: calc(100% - 32px) !important;

        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
    }


    body.single-post
    .wbv-news-single__hero
    .wp-block-post-featured-image {

        height: auto !important;
    }


    body.single-post
    .wbv-news-single__hero
    .wp-block-post-featured-image img {

        width: 100% !important;
        height: auto !important;

        object-fit: contain !important;
    }

}



/* =========================================================
   WBV NEWS DETAIL - BILD CONTAIN + FALLBACK FINAL
   Eigenes Beitragsbild komplett sichtbar.
   Ohne Beitragsbild WBV-Fallback komplett sichtbar.
   ========================================================= */

body.single-post .wbv-news-single__hero {

    width: min(
        calc(100% - 40px),
        var(--wbv-max-width, 1360px)
    ) !important;

    max-width: var(--wbv-max-width, 1360px) !important;

    height: auto !important;
    min-height: clamp(220px, 32vw, 460px) !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding: 0 !important;

    overflow: hidden !important;

    background-color: #f3f3f3 !important;

    background-image:
        url("https://wienbadminton.at/wp-content/uploads/2026/08/WBV_Wiener_Liga_Hero.jpg") !important;

    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: contain !important;
}


/* Wenn ein echtes Beitragsbild vorhanden ist */

body.single-post
.wbv-news-single__hero
.wp-block-post-featured-image {

    width: 100% !important;
    max-width: 100% !important;

    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    position: relative !important;
    z-index: 2 !important;

    background: #f3f3f3 !important;
}


body.single-post
.wbv-news-single__hero
.wp-block-post-featured-image img {

    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    height: auto !important;
    max-height: none !important;

    margin: 0 auto !important;

    object-fit: contain !important;
    object-position: center center !important;
}


/* Mobile */

@media (max-width: 767px) {

    body.single-post .wbv-news-single__hero {

        width: calc(100% - 32px) !important;

        min-height: 190px !important;

        background-size: contain !important;
    }

}



/* =========================================================
   WBV NEWS DETAIL - BILDGROESSE FINAL
   Bild kompakter, weiterhin vollstaendig sichtbar
   ========================================================= */

body.single-post .wbv-news-single__hero {

    width: min(calc(100% - 40px), 1000px) !important;
    max-width: 1000px !important;

    min-height: 0 !important;

    margin-left: auto !important;
    margin-right: auto !important;
}


/*
 * Fallback-Bild:
 * feste Bildflaeche, aber deutlich kompakter
 */

body.single-post
.wbv-news-single__hero:not(:has(.wp-block-post-featured-image)) {

    height: clamp(220px, 28vw, 360px) !important;
    min-height: 0 !important;

    background-size: contain !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}


/*
 * Echtes Beitragsbild:
 * natuerliches Seitenverhaeltnis beibehalten
 */

body.single-post
.wbv-news-single__hero
.wp-block-post-featured-image {

    height: auto !important;
}


body.single-post
.wbv-news-single__hero
.wp-block-post-featured-image img {

    width: 100% !important;
    height: auto !important;

    object-fit: contain !important;
}


/* Mobile */

@media (max-width: 767px) {

    body.single-post .wbv-news-single__hero {

        width: calc(100% - 32px) !important;
        max-width: none !important;
    }


    body.single-post
    .wbv-news-single__hero:not(:has(.wp-block-post-featured-image)) {

        height: 220px !important;
    }

}



/* =========================================================
   WBV NEWS DETAIL - BILD LINKS MIT ARTIKEL BUENDIG
   ========================================================= */

body.single-post .wbv-news-single__hero {

    width: min(100%, 1000px) !important;
    max-width: 1000px !important;

    margin-left: 0 !important;
    margin-right: auto !important;
}


/*
 * Hero liegt innerhalb derselben WBV-Rail wie der Text
 */

body.single-post .wbv-news-single {

    width: min(
        calc(100% - 40px),
        var(--wbv-max-width, 1360px)
    ) !important;

    max-width: var(--wbv-max-width, 1360px) !important;

    margin-left: auto !important;
    margin-right: auto !important;
}


/* Mobile ebenfalls links buendig */

@media (max-width: 767px) {

    body.single-post .wbv-news-single {

        width: calc(100% - 32px) !important;
    }


    body.single-post .wbv-news-single__hero {

        width: 100% !important;
        max-width: none !important;

        margin-left: 0 !important;
        margin-right: 0 !important;
    }

}



/* =========================================================
   WBV NEWS DETAIL - DEFAULT BILD OHNE GRAUE SEITENRAENDER
   ========================================================= */

body.single-post
.wbv-news-single__hero:not(:has(.wp-block-post-featured-image)) {

    background-color: transparent !important;

    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
}


/* =========================================================
   WBV Organisation - Gruppenbild vollständig anzeigen
   2026-09-10
   ========================================================= */

body.page-id-56 .wbv-org-team-photo {
    height: auto !important;
    align-self: start;
}

body.page-id-56 .wbv-org-team-photo__media {
    flex: 0 0 auto !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    background: transparent !important;
}

body.page-id-56 .wbv-org-team-photo__media img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
}

@media (max-width: 1100px) {
    body.page-id-56 .wbv-org-team-photo__media {
        aspect-ratio: 4 / 3 !important;
    }
}

@media (max-width: 767px) {
    body.page-id-56 .wbv-org-team-photo__media {
        aspect-ratio: 4 / 3 !important;
    }
}


/* =========================================================
   WBV Organisation - Praesidium neue Hierarchie
   2026-09-10
   ========================================================= */

body.page-id-56 .wbv-org-presidium-intro {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 32px;
    align-items: start;
    margin-bottom: 28px;
}

body.page-id-56 .wbv-org-presidium-intro .wbv-org-section-intro {
    margin-bottom: 0;
}

body.page-id-56 .wbv-org-team-photo--wide {
    width: 100%;
    margin: 0;
}

body.page-id-56 .wbv-org-team-photo--wide .wbv-org-team-photo__media {
    width: 100%;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    overflow: hidden;
    border-radius: var(--radius-md, 16px);
}

body.page-id-56 .wbv-org-team-photo--wide .wbv-org-team-photo__media img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
}

body.page-id-56 .wbv-org-presidium-members {
    display: block;
}

body.page-id-56 .wbv-org-person--president {
    margin-bottom: 16px;
}

body.page-id-56 .wbv-org-presidium-grid-new {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

@media (max-width: 900px) {

    body.page-id-56 .wbv-org-presidium-intro {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    body.page-id-56 .wbv-org-presidium-grid-new {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {

    body.page-id-56 .wbv-org-presidium-intro {
        gap: 16px;
        margin-bottom: 20px;
    }

    body.page-id-56 .wbv-org-person--president {
        margin-bottom: var(--mobile-card-gap, 12px);
    }

    body.page-id-56 .wbv-org-presidium-grid-new {
        gap: var(--mobile-card-gap, 12px);
    }
}


/* =========================================================
   WBV Organisation - Praesidium Final Layout
   2026-09-10
   ========================================================= */

body.page-id-56 .wbv-org-presidium-intro {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 320px !important;
    gap: 40px !important;
    align-items: start !important;
    margin: 0 0 28px !important;
}

body.page-id-56 .wbv-org-presidium-intro__text {
    min-width: 0;
}

body.page-id-56 .wbv-org-presidium-intro__text p {
    margin: 0;
    max-width: 760px;
    font-size: 0.9375rem;
    line-height: 1.55;
    color: var(--color-text-secondary, #555555);
}

body.page-id-56 .wbv-org-team-photo--intro {
    width: 100% !important;
    max-width: 320px !important;
    margin: 0 !important;
    height: auto !important;
    align-self: start !important;
}

body.page-id-56 .wbv-org-team-photo--intro .wbv-org-team-photo__media {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    background: transparent !important;
    border-radius: var(--radius-md, 16px);
    overflow: hidden;
}

body.page-id-56 .wbv-org-team-photo--intro .wbv-org-team-photo__media img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
}

body.page-id-56 .wbv-org-group-label {
    margin: 0 0 var(--space-4, 16px);
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-text-secondary, #5f5f5f);
}

body.page-id-56 .wbv-org-presidium-members {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: var(--grid-gap, 24px) !important;
}

body.page-id-56 .wbv-org-presidium-members .wbv-org-person {
    display: flex;
    flex-direction: column;
    padding: var(--space-5, 24px);
    border: 1px solid var(--color-border, #e3e3e3);
    border-radius: var(--radius-md, 16px);
    background: var(--color-surface, #fff);
    box-sizing: border-box;
}

body.page-id-56 .wbv-org-presidium-members .wbv-org-person--president {
    grid-column: 1 / -1 !important;
    border-top: 3px solid var(--color-brand, #d9231e) !important;
    background: var(--color-surface-subtle, #f4f4f4) !important;
}

body.page-id-56 .wbv-org-presidium-members .wbv-org-person h3 {
    margin: 0 0 6px;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.25;
    color: var(--color-text-primary, #202020);
}

body.page-id-56 .wbv-org-presidium-members .wbv-org-person--president h3 {
    font-size: 1.25rem;
}

body.page-id-56 .wbv-org-presidium-members .wbv-org-role {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--color-text-secondary, #5f5f5f);
}

body.page-id-56 .wbv-org-presidium-members .wbv-org-cta {
    margin-top: 18px;
}

@media (max-width: 900px) {

    body.page-id-56 .wbv-org-presidium-intro {
        grid-template-columns: minmax(0, 1fr) 240px !important;
        gap: 24px !important;
    }

    body.page-id-56 .wbv-org-team-photo--intro {
        max-width: 240px !important;
    }
}

@media (max-width: 767px) {

    body.page-id-56 .wbv-org-presidium-intro {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    body.page-id-56 .wbv-org-team-photo--intro {
        max-width: 100% !important;
    }

    body.page-id-56 .wbv-org-presidium-members {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: var(--mobile-card-gap, 12px) !important;
    }

    body.page-id-56 .wbv-org-presidium-members .wbv-org-person {
        padding: var(--mobile-card-padding, 16px);
    }

    body.page-id-56 .wbv-org-presidium-members .wbv-org-person--president {
        grid-column: 1 / -1 !important;
    }
}

@media (max-width: 389px) {

    body.page-id-56 .wbv-org-presidium-members {
        grid-template-columns: 1fr !important;
    }

    body.page-id-56 .wbv-org-presidium-members .wbv-org-person--president {
        grid-column: auto !important;
    }
}


/* =========================================================
   WBV Organisation - Praesidium Intro Grid Fix
   Text und Foto nebeneinander
   2026-09-10
   ========================================================= */

body.page-id-56 .wbv-org-presidium-intro {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 300px !important;
    column-gap: 40px !important;
    align-items: start !important;
}

body.page-id-56 .wbv-org-presidium-intro__text {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: start !important;
}

body.page-id-56 .wbv-org-presidium-intro .wbv-org-team-photo--intro {
    grid-area: auto !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: start !important;

    width: 100% !important;
    max-width: 300px !important;
    margin: 0 !important;
}

@media (max-width: 767px) {

    body.page-id-56 .wbv-org-presidium-intro {
        grid-template-columns: 1fr !important;
        row-gap: 16px !important;
    }

    body.page-id-56 .wbv-org-presidium-intro__text {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    body.page-id-56 .wbv-org-presidium-intro .wbv-org-team-photo--intro {
        grid-column: 1 !important;
        grid-row: 2 !important;
        max-width: 100% !important;
    }
}


/* =========================================================
   WBV News - Filter und Suche
   2026-09-10
   ========================================================= */

body.page-id-10 .wbv-news-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin: 0 0 28px;
    padding: 0 0 18px;
    border-bottom: 1px solid var(--color-border, #e3e3e3);
}

body.page-id-10 .wbv-news-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

body.page-id-10 .wbv-news-filters[hidden] {
    display: none;
}

body.page-id-10 .wbv-news-filter {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 7px 14px;
    border: 1px solid var(--color-border, #d9d9d9);
    border-radius: 999px;
    background: #fff;
    color: var(--color-text-primary, #202020);
    font: inherit;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    transition:
        border-color 150ms ease,
        background-color 150ms ease,
        color 150ms ease;
}

body.page-id-10 .wbv-news-filter:hover {
    border-color: var(--color-brand, #d9231e);
}

body.page-id-10 .wbv-news-filter.is-active {
    border-color: var(--color-brand, #d9231e);
    background: var(--color-brand, #d9231e);
    color: #fff;
}

body.page-id-10 .wbv-news-toolbar__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex: 0 0 auto;
}

body.page-id-10 .wbv-news-search-wrap {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

body.page-id-10 .wbv-news-search-toggle {
    appearance: none;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 38px;
    padding: 7px 12px;
    border: 0;
    background: transparent;
    color: var(--color-text-primary, #202020);
    font: inherit;
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
}

body.page-id-10 .wbv-news-search-toggle:hover {
    color: var(--color-brand, #d9231e);
}

body.page-id-10 .wbv-news-search {
    width: 0;
    min-width: 0;
    height: 40px;
    padding: 0;
    border: 0;
    border-bottom: 1px solid transparent;
    background: transparent;
    color: var(--color-text-primary, #202020);
    font: inherit;
    font-size: 0.9375rem;
    opacity: 0;
    pointer-events: none;
    transition:
        width 180ms ease,
        opacity 150ms ease,
        padding 180ms ease,
        border-color 180ms ease;
}

body.page-id-10 .wbv-news-search-wrap.is-open .wbv-news-search {
    width: min(280px, 28vw);
    padding: 0 6px;
    border-bottom-color: var(--color-text-secondary, #777);
    opacity: 1;
    pointer-events: auto;
}

body.page-id-10 .wbv-news-search:focus {
    outline: none;
    border-bottom-color: var(--color-brand, #d9231e);
}

body.page-id-10 .wbv-news-reset {
    display: none;
    appearance: none;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--color-brand, #d9231e);
    font: inherit;
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
}

body.page-id-10 .wbv-news-reset.is-visible {
    display: inline-flex;
}

body.page-id-10 .wbv-news-status {
    display: none;
    margin: -12px 0 24px;
    color: var(--color-text-secondary, #5f5f5f);
    font-size: 0.8125rem;
    font-weight: 500;
}

body.page-id-10 .wbv-news-status.is-visible {
    display: block;
}

@media (max-width: 767px) {

    body.page-id-10 .wbv-news-toolbar {
        align-items: flex-start;
        gap: 12px;
        margin-bottom: 22px;
        padding-bottom: 14px;
    }

    body.page-id-10 .wbv-news-filters {
        flex: 1 1 auto;
        gap: 6px;
    }

    body.page-id-10 .wbv-news-filter {
        min-height: 34px;
        padding: 6px 11px;
        font-size: 0.8125rem;
    }

    body.page-id-10 .wbv-news-toolbar__actions {
        flex: 0 0 auto;
    }

    body.page-id-10 .wbv-news-search-toggle span:last-child {
        display: none;
    }

    body.page-id-10 .wbv-news-search-wrap.is-open {
        position: absolute;
        left: var(--container-padding, 16px);
        right: var(--container-padding, 16px);
        z-index: 5;
        padding: 6px 10px;
        background: #fff;
        box-shadow: 0 4px 18px rgba(0,0,0,0.08);
    }

    body.page-id-10 .wbv-news-search-wrap.is-open .wbv-news-search {
        width: 100%;
        flex: 1 1 auto;
    }

    body.page-id-10 .wbv-news-status {
        margin-top: -8px;
    }
}

@media (prefers-reduced-motion: reduce) {

    body.page-id-10 .wbv-news-filter,
    body.page-id-10 .wbv-news-search {
        transition: none;
    }
}

