/* =========================================================
   BOGENSCHÜTZEN RHEINBACH E.V.
   Global Design System
   BuddyX Child Theme
   ========================================================= */


/* =========================================================
   01. LOCAL FONT – MANROPE
   ========================================================= */

@font-face {
    font-family: "Manrope";
    src: url("../fonts/Manrope-VariableFont_wght.ttf") format("truetype");
    font-style: normal;
    font-weight: 200 800;
    font-display: swap;
}


/* =========================================================
   02. DESIGN TOKENS
   ========================================================= */

:root {

    /* Vereinsfarben */
    --bsr-petrol: #194855;
    --bsr-gold: #F1CA5F;
    --bsr-bordeaux: #882630;

    /* Erweiterte Markenfarben */
    --bsr-petrol-dark: #102F37;
    --bsr-petrol-deep: #0B232A;

    --bsr-gold-light: #F8E9BC;
    --bsr-gold-soft: #FBF4DF;

    --bsr-bordeaux-dark: #651C24;
    --bsr-bordeaux-light: #A7434D;

    /* Neutral */
    --bsr-white: #FFFFFF;
    --bsr-cream: #F7F5EF;
    --bsr-sand: #ECE8DE;

    --bsr-text: #17272B;
    --bsr-muted: #617176;
    --bsr-border: rgba(25, 72, 85, 0.13);

    /* Layout */
    --bsr-container: 1400px;
    --bsr-container-small: 900px;
    --bsr-section-space: clamp(72px, 9vw, 130px);

    /* Radien */
    --bsr-radius-sm: 8px;
    --bsr-radius: 16px;
    --bsr-radius-lg: 28px;
    --bsr-radius-xl: 40px;
    --bsr-radius-pill: 999px;

    /* Schatten */
    --bsr-shadow-sm: 0 4px 20px rgba(16, 47, 55, 0.07);
    --bsr-shadow: 0 12px 40px rgba(16, 47, 55, 0.10);
    --bsr-shadow-lg: 0 25px 70px rgba(16, 47, 55, 0.14);

    /* Animation */
    --bsr-transition: 220ms ease;

    /* BuddyX Mapping */
    --global-font-family:
        "Manrope",
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    --highlight-font-family:
        "Manrope",
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    --color-theme-primary: #194855;
    --color-theme-secondary: #882630;
    --color-theme-yellow: #F1CA5F;

    --color-theme-body: #F7F5EF;
    --color-theme-white-box: #FFFFFF;

    --color-header-bg: #FFFFFF;

    --color-menu: #194855;
    --color-menu-hover: #882630;
    --color-menu-active: #882630;

    --color-link: #194855;
    --color-link-hover: #882630;
    --color-link-active: #882630;

    --color-h1: #194855;
    --color-h2: #194855;
    --color-h3: #194855;
    --color-h4: #194855;
    --color-h5: #194855;
    --color-h6: #194855;

    --button-text-color: #FFFFFF;
    --button-text-hover-color: #FFFFFF;

    --button-background-color: #194855;
    --button-background-hover-color: #102F37;

    --button-border-color: #194855;
    --button-border-hover-color: #102F37;

    --button-border-radius: 999px;

    /* BuddyX neue Tokens */
    --bx-color-fg: #17272B;
    --bx-color-fg-muted: #617176;

    --bx-color-bg: #FFFFFF;
    --bx-color-bg-page: #F7F5EF;
    --bx-color-bg-elevated: #FFFFFF;
    --bx-color-bg-muted: #F7F5EF;
    --bx-color-bg-subtle: #FBF9F5;

    --bx-color-accent: #194855;
    --bx-color-accent-secondary: #882630;
    --bx-color-accent-tertiary: #F1CA5F;

    --bx-color-link: #194855;
    --bx-color-link-hover: #882630;

    --bx-color-button-bg: #194855;
    --bx-color-button-bg-hover: #102F37;

    --bx-color-button-fg: #FFFFFF;
    --bx-color-button-fg-hover: #FFFFFF;

    --bx-color-button-border: #194855;
    --bx-color-button-border-hover: #102F37;

    --bx-color-header-bg: #FFFFFF;

    --bx-color-menu-bg: transparent;
    --bx-color-menu-fg: #194855;
    --bx-color-menu-hover: #882630;
    --bx-color-menu-active: #882630;

    --bx-color-subheader-bg: #F7F5EF;
    --bx-color-subheader-fg: #194855;

    --bx-color-h1: #194855;
    --bx-color-h2: #194855;
    --bx-color-h3: #194855;
    --bx-color-h4: #194855;
    --bx-color-h5: #194855;
    --bx-color-h6: #194855;

    --bx-color-border: rgba(25, 72, 85, 0.13);
    --bx-color-border-strong: rgba(25, 72, 85, 0.22);
    --bx-color-divider: rgba(25, 72, 85, 0.10);

    --bx-color-input-border: rgba(25, 72, 85, 0.22);
    --bx-color-input-focus-border: #194855;

    --bx-radius-global: 12px;
    --bx-radius-button: 999px;
    --bx-radius-form: 10px;
    --bx-radius-card: 16px;
    --bx-radius-pill: 999px;
}


/* =========================================================
   03. BASE
   ========================================================= */

html {
    scroll-behavior: smooth;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    margin: 0;
    background: var(--bsr-cream);
    color: var(--bsr-text);

    font-family:
        "Manrope",
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    font-size: 17px;
    font-weight: 400;
    line-height: 1.7;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body,
button,
input,
select,
textarea {
    font-family:
        "Manrope",
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
}

img {
    max-width: 100%;
    height: auto;
}

::selection {
    background: var(--bsr-bordeaux);
    color: var(--bsr-white);
}


/* =========================================================
   04. TYPOGRAPHY
   ========================================================= */

h1,
h2,
h3,
h4,
h5,
h6 {
    margin-top: 0;

    color: var(--bsr-petrol);

    font-family:
        "Manrope",
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    font-weight: 750;
    line-height: 1.12;
    letter-spacing: -0.025em;
}

h1 {
    font-size: clamp(2.8rem, 6vw, 5rem);
}

h2 {
    font-size: clamp(2.15rem, 4vw, 3.6rem);
}

h3 {
    font-size: clamp(1.45rem, 2.5vw, 2rem);
}

h4 {
    font-size: 1.35rem;
}

h5 {
    font-size: 1.15rem;
}

h6 {
    font-size: 1rem;
}

p {
    margin-top: 0;
    margin-bottom: 1.4em;
}

strong,
b {
    font-weight: 700;
}


/* =========================================================
   05. LINKS
   ========================================================= */

a {
    color: var(--bsr-petrol);

    transition:
        color var(--bsr-transition),
        background-color var(--bsr-transition),
        border-color var(--bsr-transition),
        opacity var(--bsr-transition);
}

a:hover,
a:focus {
    color: var(--bsr-bordeaux);
}


/* =========================================================
   06. LAYOUT
   ========================================================= */

.bsr-container {
    width: min(
        var(--bsr-container),
        calc(100% - 80px)
    );

    margin-inline: auto;
}

.bsr-container--small {
    width: min(
        var(--bsr-container-small),
        calc(100% - 48px)
    );

    margin-inline: auto;
}

.bsr-section {
    padding: var(--bsr-section-space) 0;
}

.bsr-section--small {
    padding: clamp(50px, 6vw, 85px) 0;
}


/* =========================================================
   07. SECTION HEADERS
   ========================================================= */

.bsr-section-title {
    max-width: 850px;
    margin-bottom: 50px;
}

.bsr-section-title h2 {
    margin-bottom: 20px;
}

.bsr-section-title p {
    max-width: 720px;
    color: var(--bsr-muted);
    font-size: clamp(1rem, 1.5vw, 1.15rem);
}


/* =========================================================
   08. EYEBROW
   ========================================================= */

.bsr-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    margin-bottom: 20px;

    color: var(--bsr-bordeaux);

    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1.2;

    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.bsr-eyebrow::before {
    content: "";

    display: block;

    width: 34px;
    height: 3px;

    border-radius: 999px;
    background: var(--bsr-gold);
}


/* =========================================================
   09. BUTTONS
   ========================================================= */

.bsr-button,
a.bsr-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    min-height: 52px;
    padding: 14px 25px;

    border: 2px solid var(--bsr-petrol);
    border-radius: var(--bsr-radius-pill);

    background: var(--bsr-petrol);
    color: var(--bsr-white);

    font-size: 0.9rem;
    font-weight: 750;
    line-height: 1;

    text-decoration: none;
    cursor: pointer;

    transition:
        transform var(--bsr-transition),
        box-shadow var(--bsr-transition),
        background-color var(--bsr-transition),
        color var(--bsr-transition),
        border-color var(--bsr-transition);
}

.bsr-button:hover,
a.bsr-button:hover {
    transform: translateY(-2px);

    background: var(--bsr-petrol-dark);
    border-color: var(--bsr-petrol-dark);
    color: var(--bsr-white);

    box-shadow: 0 10px 25px rgba(16, 47, 55, 0.18);
}


/* Gold */

.bsr-button--gold,
a.bsr-button--gold {
    background: var(--bsr-gold);
    border-color: var(--bsr-gold);
    color: var(--bsr-petrol-deep);
}

.bsr-button--gold:hover,
a.bsr-button--gold:hover {
    background: var(--bsr-white);
    border-color: var(--bsr-white);
    color: var(--bsr-petrol);
}


/* Outline */

.bsr-button--outline,
a.bsr-button--outline {
    background: transparent;
    border-color: var(--bsr-petrol);
    color: var(--bsr-petrol);
}

.bsr-button--outline:hover,
a.bsr-button--outline:hover {
    background: var(--bsr-petrol);
    border-color: var(--bsr-petrol);
    color: var(--bsr-white);
}


/* White Outline */

.bsr-button--white,
a.bsr-button--white {
    background: transparent;
    border-color: rgba(255, 255, 255, 0.7);
    color: var(--bsr-white);
}

.bsr-button--white:hover,
a.bsr-button--white:hover {
    background: var(--bsr-white);
    border-color: var(--bsr-white);
    color: var(--bsr-petrol);
}


/* =========================================================
   10. WORDPRESS / BUDDYX BUTTONS
   ========================================================= */

button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.wp-element-button,
.wp-block-button__link {
    border-radius: var(--bsr-radius-pill);
    font-weight: 700;

    transition:
        background-color var(--bsr-transition),
        border-color var(--bsr-transition),
        color var(--bsr-transition),
        transform var(--bsr-transition);
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
    transform: translateY(-1px);
}


/* =========================================================
   11. FORMS
   ========================================================= */

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="number"],
textarea,
select {
    border: 1px solid var(--bsr-border);
    border-radius: 10px;

    background: var(--bsr-white);
    color: var(--bsr-text);

    transition:
        border-color var(--bsr-transition),
        box-shadow var(--bsr-transition);
}

input:focus,
textarea:focus,
select:focus {
    border-color: var(--bsr-petrol);
    outline: none;
    box-shadow: 0 0 0 3px rgba(25, 72, 85, 0.10);
}


/* =========================================================
   12. CARDS
   ========================================================= */

.bsr-card {
    height: 100%;
    padding: 32px;

    border: 1px solid rgba(25, 72, 85, 0.07);
    border-radius: var(--bsr-radius);

    background: var(--bsr-white);
    box-shadow: var(--bsr-shadow-sm);

    transition:
        transform var(--bsr-transition),
        box-shadow var(--bsr-transition);
}

.bsr-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--bsr-shadow);
}


/* =========================================================
   13. BACKGROUND UTILITIES
   ========================================================= */

.bsr-bg-white {
    background: var(--bsr-white);
}

.bsr-bg-cream {
    background: var(--bsr-cream);
}

.bsr-bg-sand {
    background: var(--bsr-sand);
}

.bsr-bg-petrol {
    background: var(--bsr-petrol);
    color: var(--bsr-white);
}

.bsr-bg-petrol-dark {
    background: var(--bsr-petrol-dark);
    color: var(--bsr-white);
}

.bsr-bg-gold {
    background: var(--bsr-gold);
    color: var(--bsr-petrol-deep);
}

.bsr-bg-bordeaux {
    background: var(--bsr-bordeaux);
    color: var(--bsr-white);
}

.bsr-bg-petrol h1,
.bsr-bg-petrol h2,
.bsr-bg-petrol h3,
.bsr-bg-petrol h4,
.bsr-bg-petrol-dark h1,
.bsr-bg-petrol-dark h2,
.bsr-bg-petrol-dark h3,
.bsr-bg-petrol-dark h4,
.bsr-bg-bordeaux h1,
.bsr-bg-bordeaux h2,
.bsr-bg-bordeaux h3,
.bsr-bg-bordeaux h4 {
    color: var(--bsr-white);
}


/* =========================================================
   14. IMAGE UTILITIES
   ========================================================= */

.bsr-image {
    display: block;
    width: 100%;

    border-radius: var(--bsr-radius-lg);
    object-fit: cover;
}

.bsr-image--shadow {
    box-shadow: var(--bsr-shadow-lg);
}


/* =========================================================
   15. BUDDYX BASE CLEANUP
   ========================================================= */

.site {
    background: var(--bsr-cream);
}

.site-content {
    color: var(--bsr-text);
}

.bp-wrap,
.buddypress-wrap {
    font-family:
        "Manrope",
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
}

.widget,
.entry-layout,
.bp-list > li {
    border-radius: var(--bsr-radius);
}


/* =========================================================
   16. ACCESSIBILITY
   ========================================================= */

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 3px solid var(--bsr-gold);
    outline-offset: 3px;
}


/* =========================================================
   17. HEADER
   Echte BuddyX-Struktur:
   .site-header-wrapper
     > .container
       > #masthead.site-header
   ========================================================= */

.site-header-wrapper {
    position: relative;
    z-index: 1000;

    display: flex !important;
    align-items: center !important;

    width: 100% !important;
    max-width: none !important;
    min-height: 108px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: var(--bsr-white) !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(15, 35, 42, 0.07) !important;
    box-shadow: none !important;
}

.site-header-wrapper > .container {
    width: min(1400px, calc(100% - 64px)) !important;
    max-width: 1400px !important;

    margin: 0 auto !important;
    padding: 14px 0 !important;

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.site-header-wrapper > .container > #masthead {
    display: flex !important;
    align-items: center !important;

    width: 100% !important;
    max-width: none !important;
    min-height: 78px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}


/* Branding */

.site-header-wrapper #masthead .site-branding {
    display: flex;
    align-items: center;
    flex: 0 0 auto !important;

    margin: 0 !important;
    padding: 0 !important;
}

.site-header-wrapper #masthead .site-logo-wrapper,
.site-header-wrapper #masthead .custom-logo-link {
    display: flex;
    align-items: center;
    margin: 0;
}

.site-header-wrapper #masthead .custom-logo {
    display: block !important;

    width: auto !important;
    height: 70px !important;
    max-width: 110px !important;

    object-fit: contain;

    transition: transform var(--bsr-transition);
}

.site-header-wrapper #masthead .custom-logo:hover {
    transform: scale(1.025);
}

/* Titel + Untertitel im Header nicht anzeigen */
.site-header-wrapper .site-branding-inner {
    display: none !important;
}


/* =========================================================
   18. DESKTOP NAVIGATION
   ========================================================= */

.site-header-wrapper #site-navigation {
    flex: 1 1 auto !important;

    margin-left: 38px !important;

    background: transparent !important;
}

.site-header-wrapper .buddyx-desktop-menu {
    width: 100%;
}

.site-header-wrapper .buddyx-desktop-menu > ul {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;

    gap: 0 !important;
    margin: 0 !important;
}

.site-header-wrapper .buddyx-desktop-menu > ul > li > a {
    position: relative;

    display: flex !important;
    align-items: center !important;

    min-height: 44px !important;
    padding: 0 12px !important;

    color: var(--bsr-petrol) !important;

    font-family: "Manrope", sans-serif !important;
    font-size: 14px !important;
    font-weight: 650 !important;
    line-height: 1 !important;
    letter-spacing: -0.01em !important;

    text-decoration: none !important;
    white-space: nowrap !important;
}


/* Navigation Hover-Linie */

.site-header-wrapper
.buddyx-desktop-menu
> ul
> li:not(.bsr-join-link):not(.bsr-member-link)
> a::after {
    content: "";

    position: absolute;

    right: 12px;
    bottom: 2px;
    left: 12px;

    height: 2px;

    border-radius: 999px;

    background: var(--bsr-gold);

    transform: scaleX(0);
    transform-origin: center;

    transition: transform var(--bsr-transition);
}

.site-header-wrapper
.buddyx-desktop-menu
> ul
> li:not(.bsr-join-link):not(.bsr-member-link)
> a:hover::after,

.site-header-wrapper
.buddyx-desktop-menu
> ul
> li.current-menu-item:not(.bsr-join-link):not(.bsr-member-link)
> a::after,

.site-header-wrapper
.buddyx-desktop-menu
> ul
> li.current-menu-ancestor:not(.bsr-join-link):not(.bsr-member-link)
> a::after {
    transform: scaleX(1);
}

.site-header-wrapper
.buddyx-desktop-menu
> ul
> li:not(.bsr-join-link):not(.bsr-member-link)
> a:hover,

.site-header-wrapper
.buddyx-desktop-menu
> ul
> li.current-menu-item:not(.bsr-join-link):not(.bsr-member-link)
> a,

.site-header-wrapper
.buddyx-desktop-menu
> ul
> li.current-menu-ancestor:not(.bsr-join-link):not(.bsr-member-link)
> a {
    color: var(--bsr-bordeaux) !important;
}


/* =========================================================
   19. HEADER CTA – MITGLIED WERDEN
   ========================================================= */

.site-header-wrapper
.buddyx-desktop-menu
> ul
> li.bsr-join-link {
    margin-left: 14px !important;
}

.site-header-wrapper
.buddyx-desktop-menu
> ul
> li.bsr-join-link
> a {
    min-height: 46px !important;
    padding: 0 21px !important;

    border: 2px solid var(--bsr-gold) !important;
    border-radius: var(--bsr-radius-pill) !important;

    background: var(--bsr-gold) !important;
    color: var(--bsr-petrol-deep) !important;

    font-weight: 750 !important;

    transition:
        transform var(--bsr-transition),
        box-shadow var(--bsr-transition),
        background-color var(--bsr-transition),
        border-color var(--bsr-transition) !important;
}

.site-header-wrapper
.buddyx-desktop-menu
> ul
> li.bsr-join-link
> a::after {
    display: none !important;
}

.site-header-wrapper
.buddyx-desktop-menu
> ul
> li.bsr-join-link
> a:hover {
    transform: translateY(-2px);

    background: #F4D477 !important;
    border-color: #F4D477 !important;
    color: var(--bsr-petrol-deep) !important;

    box-shadow: 0 8px 24px rgba(241, 202, 95, 0.32);
}


/* =========================================================
   20. HEADER CTA – MITGLIEDERBEREICH
   ========================================================= */

.site-header-wrapper
.buddyx-desktop-menu
> ul
> li.bsr-member-link {
    margin-left: 6px !important;
}

.site-header-wrapper
.buddyx-desktop-menu
> ul
> li.bsr-member-link
> a {
    min-height: 46px !important;
    padding: 0 20px !important;

    border: 2px solid var(--bsr-petrol) !important;
    border-radius: var(--bsr-radius-pill) !important;

    background: transparent !important;
    color: var(--bsr-petrol) !important;

    font-weight: 750 !important;

    transition:
        transform var(--bsr-transition),
        background-color var(--bsr-transition),
        color var(--bsr-transition),
        box-shadow var(--bsr-transition) !important;
}

.site-header-wrapper
.buddyx-desktop-menu
> ul
> li.bsr-member-link
> a::after {
    display: none !important;
}

.site-header-wrapper
.buddyx-desktop-menu
> ul
> li.bsr-member-link
> a:hover {
    transform: translateY(-2px);

    background: var(--bsr-petrol) !important;
    color: var(--bsr-white) !important;

    box-shadow: 0 8px 24px rgba(25, 72, 85, 0.20);
}


/* =========================================================
   21. STICKY HEADER
   ========================================================= */

.site-header-wrapper.has-sticky-header,
body.has-sticky-header .site-header-wrapper {
    background: rgba(255, 255, 255, 0.96) !important;

    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);

    box-shadow: 0 8px 35px rgba(16, 47, 55, 0.08) !important;
}


/* =========================================================
   22. HOMEPAGE – BUDDYX FULL WIDTH
   ========================================================= */

body.home .container:has(> .site-wrapper) {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;
}

body.home .container:has(> .site-wrapper) > .site-wrapper {
    display: block !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;
}

body.home .container:has(> .site-wrapper) #primary,
body.home .container:has(> .site-wrapper) .entry-content {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;
}

body.home .container:has(> .site-wrapper) #secondary {
    display: none !important;
}

body.home .bsr-container {
    width: min(1400px, calc(100% - 80px)) !important;
    max-width: 1400px !important;

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


/* =========================================================
   23. HOMEPAGE – HERO
   ========================================================= */

.bsr-hero {
    position: relative;

    min-height: 740px;

    margin: 0;

    overflow: hidden;

    background: var(--bsr-petrol-deep);
    color: var(--bsr-white);
}

.bsr-hero__background {
    position: absolute;
    inset: 0;

    background-image:
        url("/wp-content/uploads/2026/03/WhatsApp-Image-2024-11-09-at-15.40.18-2.jpeg");

    background-size: cover;
    background-position: center 58%;

    transform: scale(1.01);
}

.bsr-hero__overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(7, 25, 30, 0.16) 0%,
            rgba(7, 25, 30, 0.22) 35%,
            rgba(7, 25, 30, 0.70) 62%,
            rgba(7, 25, 30, 0.92) 100%
        );
}

.bsr-hero__inner {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: flex-end;

    min-height: 740px;

    padding-top: 70px;
    padding-bottom: 110px;
}

.bsr-hero__content {
    width: min(570px, 46%);
}

.bsr-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    margin-bottom: 22px;

    color: var(--bsr-gold);

    font-size: 13px;
    font-weight: 750;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.bsr-hero__eyebrow::before {
    content: "";

    display: block;

    width: 34px;
    height: 2px;

    background: var(--bsr-gold);
}

.bsr-hero__title {
    margin: 0;

    color: var(--bsr-white);

    font-size: clamp(52px, 5vw, 78px);
    font-weight: 780;
    line-height: 0.96;
    letter-spacing: -0.045em;
}

.bsr-hero__title span {
    color: var(--bsr-gold);
}

.bsr-hero__text {
    max-width: 550px;

    margin: 28px 0 0;

    color: rgba(255, 255, 255, 0.86);

    font-size: 18px;
    line-height: 1.7;
}

.bsr-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;

    margin-top: 34px;
}

.bsr-button--hero-secondary {
    border: 2px solid rgba(255, 255, 255, 0.65) !important;

    background: rgba(255, 255, 255, 0.04) !important;
    color: var(--bsr-white) !important;

    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
}

.bsr-button--hero-secondary:hover {
    border-color: var(--bsr-white) !important;

    background: var(--bsr-white) !important;
    color: var(--bsr-petrol-deep) !important;
}


/* Hero Bottom Bar */

.bsr-hero__bottom {
    position: absolute;
    z-index: 3;

    right: 0;
    bottom: 0;
    left: 0;

    border-top: 1px solid rgba(255, 255, 255, 0.15);

    background: rgba(8, 31, 37, 0.56);

    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}

.bsr-hero__disciplines {
    display: flex;
    justify-content: flex-end;
}

.bsr-hero__disciplines span {
    position: relative;

    padding: 20px 34px;

    color: rgba(255, 255, 255, 0.88);

    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bsr-hero__disciplines span + span::before {
    content: "";

    position: absolute;
    top: 50%;
    left: 0;

    width: 4px;
    height: 4px;

    border-radius: 50%;

    background: var(--bsr-gold);

    transform: translate(-50%, -50%);
}


/* =========================================================
   24. HOMEPAGE – INTRO
   ========================================================= */

.bsr-home-intro {
    background: var(--bsr-cream);
}

.bsr-home-intro__grid {
    display: grid;

    grid-template-columns:
        minmax(0, 0.95fr)
        minmax(0, 0.85fr);

    gap: clamp(70px, 9vw, 150px);

    align-items: start;
}

.bsr-home-intro__heading h2 {
    max-width: 650px;

    margin: 15px 0 0;

    color: var(--bsr-petrol-deep);

    font-size: clamp(42px, 4.2vw, 67px);
    line-height: 1.04;
    letter-spacing: -0.045em;
}

.bsr-home-intro__content {
    padding-top: 35px;
}

.bsr-home-intro__lead {
    margin-top: 0;

    color: var(--bsr-petrol);

    font-size: clamp(21px, 1.7vw, 27px);
    font-weight: 650;
    line-height: 1.45;
}

.bsr-home-intro__content > p:not(.bsr-home-intro__lead) {
    margin-top: 22px;

    color: var(--bsr-muted);

    font-size: 17px;
    line-height: 1.8;
}

.bsr-text-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    margin-top: 18px;

    color: var(--bsr-petrol) !important;

    font-weight: 750;
    text-decoration: none !important;
}

.bsr-text-link span {
    font-size: 21px;

    transition: transform var(--bsr-transition);
}

.bsr-text-link:hover span {
    transform: translateX(5px);
}


/* =========================================================
   25. RESPONSIVE – HEADER / TABLET
   ========================================================= */

@media (max-width: 1250px) {

    .site-header-wrapper > .container {
        width: calc(100% - 36px) !important;
    }

    .site-header-wrapper #site-navigation {
        margin-left: 22px !important;
    }

    .site-header-wrapper
    .buddyx-desktop-menu
    > ul
    > li
    > a {
        padding-right: 8px !important;
        padding-left: 8px !important;

        font-size: 13px !important;
    }

    .site-header-wrapper
    .buddyx-desktop-menu
    > ul
    > li.bsr-join-link {
        margin-left: 5px !important;
    }

    .site-header-wrapper
    .buddyx-desktop-menu
    > ul
    > li.bsr-join-link
    > a,

    .site-header-wrapper
    .buddyx-desktop-menu
    > ul
    > li.bsr-member-link
    > a {
        padding-right: 14px !important;
        padding-left: 14px !important;
    }
}


/* =========================================================
   26. RESPONSIVE – 1024
   ========================================================= */

@media (max-width: 1024px) {

    :root {
        --bsr-container: 100%;
    }

    .site-header-wrapper {
        min-height: 84px !important;
    }

    .site-header-wrapper > .container {
        width: calc(100% - 30px) !important;

        padding-top: 8px !important;
        padding-bottom: 8px !important;
    }

    .site-header-wrapper > .container > #masthead {
        min-height: 68px !important;
    }

    .site-header-wrapper #masthead .custom-logo {
        height: 60px !important;
        max-width: 100px !important;
    }

    body.home .bsr-container {
        width: calc(100% - 48px) !important;
    }

    .bsr-section-title {
        margin-bottom: 40px;
    }
}


/* =========================================================
   27. RESPONSIVE – HERO / TABLET
   ========================================================= */

@media (max-width: 900px) {

    .bsr-hero,
    .bsr-hero__inner {
        min-height: 680px;
    }

    .bsr-hero__background {
        background-position: 38% center;
    }

    .bsr-hero__overlay {
        background:
            linear-gradient(
                0deg,
                rgba(7, 25, 30, 0.92) 0%,
                rgba(7, 25, 30, 0.74) 48%,
                rgba(7, 25, 30, 0.18) 100%
            );
    }

    .bsr-hero__inner {
        align-items: flex-end;
        justify-content: flex-start;

        padding-bottom: 125px;
    }

    .bsr-hero__content {
        width: min(620px, 100%);
    }

    .bsr-home-intro__grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .bsr-home-intro__content {
        max-width: 680px;
        padding-top: 0;
    }
}


/* =========================================================
   28. RESPONSIVE – MOBILE
   ========================================================= */

@media (max-width: 768px) {

    body {
        font-size: 16px;
    }

    h1 {
        font-size: clamp(2.4rem, 11vw, 3.7rem);
    }

    h2 {
        font-size: clamp(2rem, 8vw, 2.8rem);
    }

    h3 {
        font-size: 1.5rem;
    }

    .bsr-container,
    .bsr-container--small {
        width: calc(100% - 32px);
    }

    .bsr-section {
        padding: 64px 0;
    }

    .bsr-section--small {
        padding: 48px 0;
    }

    .bsr-section-title {
        margin-bottom: 32px;
    }

    .bsr-button,
    a.bsr-button {
        min-height: 50px;
        padding: 13px 21px;
    }

    .bsr-card {
        padding: 25px;
    }
}


/* =========================================================
   29. RESPONSIVE – HERO MOBILE
   ========================================================= */

@media (max-width: 600px) {

    body.home .bsr-container {
        width: calc(100% - 32px) !important;
    }

    .bsr-hero,
    .bsr-hero__inner {
        min-height: 680px;
    }

    .bsr-hero__background {
        background-position: 35% center;
    }

    .bsr-hero__inner {
        padding-top: 60px;
        padding-bottom: 145px;
    }

    .bsr-hero__title {
        font-size: clamp(44px, 13vw, 58px);
    }

    .bsr-hero__text {
        margin-top: 22px;

        font-size: 16px;
        line-height: 1.6;
    }

    .bsr-hero__actions {
        margin-top: 26px;
    }

    .bsr-hero__actions .bsr-button {
        width: 100%;
    }

    .bsr-hero__disciplines {
        justify-content: center;
    }

    .bsr-hero__disciplines span {
        padding: 17px 10px;

        font-size: 10px;
        letter-spacing: 0.04em;
    }

    .bsr-home-intro__heading h2 {
        font-size: 40px;
    }
}


/* =========================================================
   30. RESPONSIVE – SMALL MOBILE
   ========================================================= */

@media (max-width: 480px) {

    .bsr-container,
    .bsr-container--small {
        width: calc(100% - 28px);
    }

    body.home .bsr-container {
        width: calc(100% - 28px) !important;
    }

    .bsr-section {
        padding: 54px 0;
    }

    .bsr-card {
        padding: 22px;
    }
}

/* =========================================================
   31. HOMEPAGE – ENTRY PATHS
   ========================================================= */

.bsr-paths {
    position: relative;
    overflow: hidden;

    background: var(--bsr-white);
}

.bsr-paths::before {
    content: "";

    position: absolute;
    top: -180px;
    right: -180px;

    width: 460px;
    height: 460px;

    border: 1px solid rgba(25, 72, 85, 0.06);
    border-radius: 50%;

    pointer-events: none;
}

.bsr-paths::after {
    content: "";

    position: absolute;
    top: -90px;
    right: -90px;

    width: 280px;
    height: 280px;

    border: 1px solid rgba(25, 72, 85, 0.06);
    border-radius: 50%;

    pointer-events: none;
}


/* Header */

.bsr-paths__header {
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns: 1fr minmax(320px, 520px);
    gap: 80px;
    align-items: end;

    margin-bottom: 60px;
}

.bsr-paths__header h2 {
    margin: 12px 0 0;

    color: var(--bsr-petrol-deep);

    font-size: clamp(42px, 4vw, 64px);
    line-height: 1.02;
    letter-spacing: -0.045em;
}

.bsr-paths__header > p {
    margin: 0 0 7px;

    color: var(--bsr-muted);

    font-size: 17px;
    line-height: 1.75;
}


/* Grid */

.bsr-paths__grid {
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}


/* Card */

.bsr-path-card {
    position: relative;

    display: grid;
    grid-template-rows: auto 1fr;

    min-height: 390px;
    padding: 30px;

    overflow: hidden;

    border: 1px solid var(--bsr-border);
    border-radius: 22px;

    background: var(--bsr-cream);
    color: var(--bsr-text) !important;

    text-decoration: none !important;

    transition:
        transform 260ms ease,
        box-shadow 260ms ease,
        border-color 260ms ease,
        background-color 260ms ease;
}

.bsr-path-card:hover {
    transform: translateY(-7px);

    border-color: rgba(25, 72, 85, 0.20);

    background: var(--bsr-white);

    box-shadow: 0 22px 55px rgba(16, 47, 55, 0.12);
}


/* Top */

.bsr-path-card__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.bsr-path-card__number {
    color: var(--bsr-bordeaux);

    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.12em;
}

.bsr-path-card__arrow {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 44px;
    height: 44px;

    border: 1px solid rgba(25, 72, 85, 0.16);
    border-radius: 50%;

    color: var(--bsr-petrol);

    font-size: 21px;

    transition:
        transform var(--bsr-transition),
        background-color var(--bsr-transition),
        color var(--bsr-transition);
}

.bsr-path-card:hover .bsr-path-card__arrow {
    transform: rotate(45deg);

    background: var(--bsr-petrol);
    color: var(--bsr-white);
}


/* Content */

.bsr-path-card__content {
    align-self: end;
    width: 100%;
    margin-top: 70px;
}

.bsr-path-card__label {
    display: block;

    margin-bottom: 12px;

    color: var(--bsr-bordeaux);

    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.bsr-path-card h3 {
    margin: 0 0 15px;

    color: var(--bsr-petrol-deep);

    font-size: clamp(28px, 2.2vw, 36px);
    line-height: 1.1;
    letter-spacing: -0.035em;
}

.bsr-path-card p {
    max-width: 390px;

    margin: 0;

    color: var(--bsr-muted);

    font-size: 15.5px;
    line-height: 1.7;
}


/* Featured Card */

.bsr-path-card--featured {
    border-color: var(--bsr-petrol);

    background: var(--bsr-petrol);
    color: var(--bsr-white) !important;
}

.bsr-path-card--featured:hover {
    border-color: var(--bsr-petrol-dark);

    background: var(--bsr-petrol-dark);

    box-shadow: 0 24px 60px rgba(16, 47, 55, 0.23);
}

.bsr-path-card--featured .bsr-path-card__number,
.bsr-path-card--featured .bsr-path-card__label {
    color: var(--bsr-gold);
}

.bsr-path-card--featured h3 {
    color: var(--bsr-white);
}

.bsr-path-card--featured p {
    color: rgba(255, 255, 255, 0.75);
}

.bsr-path-card--featured .bsr-path-card__arrow {
    border-color: rgba(255, 255, 255, 0.25);

    color: var(--bsr-white);
}

.bsr-path-card--featured:hover .bsr-path-card__arrow {
    background: var(--bsr-gold);
    color: var(--bsr-petrol-deep);
}

.bsr-path-card--featured .bsr-path-card__content {
    position: relative;
    padding-bottom: 40px;
}

.bsr-path-card__cta {
    position: absolute;
    left: 0;
    bottom: 0;
}

/* CTA innerhalb Featured Card */

.bsr-path-card__cta {
    display: inline-flex;

    margin-top: 25px;
    padding-bottom: 3px;

    border-bottom: 2px solid var(--bsr-gold);

    color: var(--bsr-white);

    font-size: 14px;
    font-weight: 750;
}


/* =========================================================
   ENTRY PATHS – RESPONSIVE
   ========================================================= */

@media (max-width: 1024px) {

    .bsr-paths__header {
        grid-template-columns: 1fr 1fr;
        gap: 45px;
    }

    .bsr-paths__grid {
        gap: 16px;
    }

    .bsr-path-card {
        min-height: 370px;
        padding: 25px;
    }
}

@media (max-width: 800px) {

    .bsr-paths__header {
        grid-template-columns: 1fr;
        gap: 20px;

        margin-bottom: 40px;
    }

    .bsr-paths__header > p {
        max-width: 650px;
    }

    .bsr-paths__grid {
        grid-template-columns: 1fr;
    }

    .bsr-path-card {
        min-height: 300px;
    }

    .bsr-path-card__content {
        margin-top: 45px;
    }
}

@media (max-width: 480px) {

    .bsr-paths__header h2 {
        font-size: 39px;
    }

    .bsr-path-card {
        min-height: 285px;
        padding: 23px;
        border-radius: 18px;
    }

    .bsr-path-card__content {
        margin-top: 38px;
    }
}
/* =========================================================
   PATH CARDS – DESKTOP CONTENT ALIGNMENT
   ========================================================= */

@media (min-width: 801px) {

    .bsr-path-card {
        position: relative;
        display: block;
        min-height: 390px;
    }

    .bsr-path-card__top {
        position: relative;
        z-index: 2;
    }

    .bsr-path-card__content {
        position: absolute;
        left: 30px;
        right: 30px;
        top: 190px;

        width: auto;
        margin: 0;
        padding: 0;

        align-self: initial;
    }

    .bsr-path-card--featured .bsr-path-card__content {
        position: absolute;
        padding-bottom: 0;
    }

    .bsr-path-card__cta {
        position: static;
        display: table;

        margin-top: 25px;
    }
}

/* =========================================================
   32. HOMEPAGE – DISCIPLINES
   ========================================================= */

.bsr-disciplines {
    position: relative;
    overflow: hidden;

    padding: 120px 0 130px;

    background: var(--bsr-petrol-deep);
    color: var(--bsr-white);
}


/* Subtile Dekoration */

.bsr-disciplines::before {
    content: "";

    position: absolute;
    top: -270px;
    left: -220px;

    width: 600px;
    height: 600px;

    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 50%;

    pointer-events: none;
}

.bsr-disciplines::after {
    content: "";

    position: absolute;
    top: -160px;
    left: -110px;

    width: 380px;
    height: 380px;

    border: 1px solid rgba(241, 202, 95, 0.10);
    border-radius: 50%;

    pointer-events: none;
}


/* Header */

.bsr-disciplines__header {
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns: 1fr minmax(340px, 500px);
    gap: 80px;
    align-items: end;

    margin-bottom: 65px;
}

.bsr-disciplines .bsr-eyebrow {
    color: var(--bsr-gold);
}

.bsr-disciplines__header h2 {
    margin: 14px 0 0;

    color: var(--bsr-white);

    font-size: clamp(46px, 4.4vw, 68px);
    font-weight: 750;
    line-height: 1;
    letter-spacing: -0.045em;
}

.bsr-disciplines__header h2 span {
    color: var(--bsr-gold);
}

.bsr-disciplines__intro {
    padding-bottom: 5px;
}

.bsr-disciplines__intro p {
    max-width: 490px;

    margin: 0;

    color: rgba(255, 255, 255, 0.67);

    font-size: 17px;
    line-height: 1.75;
}

.bsr-disciplines__link {
    display: inline-flex;
    align-items: center;
    gap: 14px;

    margin-top: 25px;

    color: var(--bsr-white) !important;

    font-size: 14px;
    font-weight: 750;
    text-decoration: none !important;
}

.bsr-disciplines__link span {
    color: var(--bsr-gold);

    font-size: 20px;

    transition: transform var(--bsr-transition);
}

.bsr-disciplines__link:hover span {
    transform: translateX(5px);
}


/* Grid */

.bsr-disciplines__grid {
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}


/* Card */

.bsr-discipline-card {
    position: relative;

    display: block;

    height: 570px;

    overflow: hidden;

    border-radius: 22px;

    background: var(--bsr-petrol);
    color: var(--bsr-white) !important;

    text-decoration: none !important;
}

.bsr-discipline-card img {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: transform 700ms cubic-bezier(.2,.7,.2,1);
}

.bsr-discipline-card:hover img {
    transform: scale(1.055);
}


/* Bildverlauf */

.bsr-discipline-card__shade {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(5, 20, 25, 0.10) 0%,
            rgba(5, 20, 25, 0.08) 30%,
            rgba(5, 20, 25, 0.88) 100%
        );

    transition: background 300ms ease;
}

.bsr-discipline-card:hover .bsr-discipline-card__shade {
    background:
        linear-gradient(
            180deg,
            rgba(5, 20, 25, 0.06) 0%,
            rgba(5, 20, 25, 0.10) 25%,
            rgba(5, 20, 25, 0.94) 100%
        );
}


/* Nummer */

.bsr-discipline-card__number {
    position: absolute;
    top: 27px;
    left: 28px;

    color: var(--bsr-gold);

    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.12em;
}


/* Pfeil */

.bsr-discipline-card__arrow {
    position: absolute;
    top: 22px;
    right: 22px;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 46px;
    height: 46px;

    border: 1px solid rgba(255, 255, 255, 0.38);
    border-radius: 50%;

    background: rgba(8, 31, 37, 0.20);

    color: var(--bsr-white);

    font-size: 21px;

    backdrop-filter: blur(5px);

    transition:
        transform var(--bsr-transition),
        background-color var(--bsr-transition),
        color var(--bsr-transition);
}

.bsr-discipline-card:hover .bsr-discipline-card__arrow {
    transform: rotate(45deg);

    border-color: var(--bsr-gold);

    background: var(--bsr-gold);
    color: var(--bsr-petrol-deep);
}


/* Content */

.bsr-discipline-card__content {
    position: absolute;
    z-index: 2;

    right: 30px;
    bottom: 32px;
    left: 30px;
}

.bsr-discipline-card__content > span {
    display: block;

    margin-bottom: 10px;

    color: var(--bsr-gold);

    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.bsr-discipline-card__content h3 {
    margin: 0;

    color: var(--bsr-white);

    font-size: clamp(30px, 2.5vw, 40px);
    line-height: 1.05;
    letter-spacing: -0.035em;
}

.bsr-discipline-card__content p {
    max-width: 390px;

    margin: 15px 0 0;

    color: rgba(255, 255, 255, 0.72);

    font-size: 14.5px;
    line-height: 1.65;
}


/* =========================================================
   DISCIPLINES – RESPONSIVE
   ========================================================= */

@media (max-width: 1024px) {

    .bsr-disciplines {
        padding: 95px 0 105px;
    }

    .bsr-disciplines__header {
        gap: 45px;
    }

    .bsr-discipline-card {
        height: 500px;
    }

    .bsr-discipline-card__content {
        right: 24px;
        bottom: 26px;
        left: 24px;
    }
}


@media (max-width: 800px) {

    .bsr-disciplines {
        padding: 80px 0;
    }

    .bsr-disciplines__header {
        grid-template-columns: 1fr;
        gap: 25px;

        margin-bottom: 42px;
    }

    .bsr-disciplines__header h2 br {
        display: none;
    }

    .bsr-disciplines__grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .bsr-discipline-card {
        height: 520px;
    }
}


@media (max-width: 480px) {

    .bsr-disciplines {
        padding: 68px 0;
    }

    .bsr-disciplines__header h2 {
        font-size: 40px;
    }

    .bsr-disciplines__intro p {
        font-size: 16px;
    }

    .bsr-discipline-card {
        height: 470px;
        border-radius: 18px;
    }

    .bsr-discipline-card__content {
        right: 22px;
        bottom: 24px;
        left: 22px;
    }

    .bsr-discipline-card__content h3 {
        font-size: 32px;
    }
}

/* =========================================================
   33. HOMEPAGE – FACILITY
   ========================================================= */

.bsr-facility {
    position: relative;
    overflow: hidden;

    padding: 120px 0 125px;

    background: var(--bsr-cream);
}


/* Header */

.bsr-facility__header {
    display: grid;
    grid-template-columns: 1fr minmax(340px, 500px);
    gap: 80px;
    align-items: end;

    margin-bottom: 60px;
}

.bsr-facility__header h2 {
    margin: 14px 0 0;

    color: var(--bsr-petrol-deep);

    font-size: clamp(46px, 4.4vw, 68px);
    font-weight: 750;
    line-height: 1;
    letter-spacing: -0.045em;
}

.bsr-facility__header h2 span {
    color: var(--bsr-bordeaux);
}

.bsr-facility__intro {
    padding-bottom: 5px;
}

.bsr-facility__intro p {
    max-width: 490px;

    margin: 0;

    color: var(--bsr-muted);

    font-size: 17px;
    line-height: 1.75;
}

.bsr-facility__link {
    display: inline-flex;
    align-items: center;
    gap: 14px;

    margin-top: 25px;

    color: var(--bsr-petrol) !important;

    font-size: 14px;
    font-weight: 750;
    text-decoration: none !important;
}

.bsr-facility__link span {
    color: var(--bsr-bordeaux);
    font-size: 20px;

    transition: transform var(--bsr-transition);
}

.bsr-facility__link:hover span {
    transform: translateX(5px);
}


/* Großes Anlagenbild */

.bsr-facility__visual {
    position: relative;

    display: block;

    height: clamp(480px, 48vw, 680px);

    overflow: hidden;

    border-radius: 24px;

    background: var(--bsr-petrol);
    color: var(--bsr-white) !important;

    text-decoration: none !important;
}

.bsr-facility__visual img {
    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    transition: transform 900ms cubic-bezier(.2,.7,.2,1);
}

.bsr-facility__visual:hover img {
    transform: scale(1.025);
}

.bsr-facility__shade {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(5, 23, 28, 0.52) 0%,
            rgba(5, 23, 28, 0.16) 42%,
            rgba(5, 23, 28, 0.04) 70%
        );
}


/* Badge auf dem Bild */

.bsr-facility__badge {
    position: absolute;
    bottom: 42px;
    left: 42px;

    max-width: 390px;
}

.bsr-facility__badge-small {
    display: block;

    margin-bottom: 12px;

    color: var(--bsr-gold);

    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.bsr-facility__badge strong {
    display: block;

    color: var(--bsr-white);

    font-size: clamp(36px, 4vw, 58px);
    font-weight: 750;
    line-height: 0.98;
    letter-spacing: -0.045em;
}


/* Pfeil */

.bsr-facility__arrow {
    position: absolute;
    top: 30px;
    right: 30px;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 52px;
    height: 52px;

    border: 1px solid rgba(255,255,255,0.45);
    border-radius: 50%;

    background: rgba(8,31,37,0.22);
    color: var(--bsr-white);

    font-size: 23px;

    backdrop-filter: blur(7px);

    transition:
        transform var(--bsr-transition),
        background-color var(--bsr-transition),
        color var(--bsr-transition);
}

.bsr-facility__visual:hover .bsr-facility__arrow {
    transform: rotate(45deg);

    border-color: var(--bsr-gold);

    background: var(--bsr-gold);
    color: var(--bsr-petrol-deep);
}


/* Fakten unter dem Bild */

.bsr-facility__facts {
    display: grid;
    grid-template-columns: repeat(3, 1fr);

    margin-top: 42px;

    border-top: 1px solid var(--bsr-border);
}

.bsr-facility__fact {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 18px;

    padding: 30px 32px 0 0;
}

.bsr-facility__fact + .bsr-facility__fact {
    padding-left: 32px;

    border-left: 1px solid var(--bsr-border);
}

.bsr-facility__fact > span {
    padding-top: 3px;

    color: var(--bsr-bordeaux);

    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.1em;
}

.bsr-facility__fact strong {
    display: block;

    margin-bottom: 7px;

    color: var(--bsr-petrol-deep);

    font-size: 17px;
    font-weight: 750;
}

.bsr-facility__fact p {
    margin: 0;

    color: var(--bsr-muted);

    font-size: 14px;
    line-height: 1.6;
}


/* =========================================================
   FACILITY – RESPONSIVE
   ========================================================= */

@media (max-width: 900px) {

    .bsr-facility {
        padding: 90px 0;
    }

    .bsr-facility__header {
        grid-template-columns: 1fr;
        gap: 24px;

        margin-bottom: 42px;
    }

    .bsr-facility__visual {
        height: 560px;
    }

    .bsr-facility__facts {
        grid-template-columns: 1fr;
    }

    .bsr-facility__fact,
    .bsr-facility__fact + .bsr-facility__fact {
        padding: 25px 0;

        border-left: 0;
        border-bottom: 1px solid var(--bsr-border);
    }
}


@media (max-width: 600px) {

    .bsr-facility {
        padding: 70px 0;
    }

    .bsr-facility__header h2 {
        font-size: 40px;
    }

    .bsr-facility__intro p {
        font-size: 16px;
    }

    .bsr-facility__visual {
        height: 480px;

        border-radius: 18px;
    }

    .bsr-facility__visual img {
        object-position: center;
    }

    .bsr-facility__shade {
        background:
            linear-gradient(
                0deg,
                rgba(5,23,28,0.78) 0%,
                rgba(5,23,28,0.10) 65%
            );
    }

    .bsr-facility__badge {
        right: 24px;
        bottom: 27px;
        left: 24px;
    }

    .bsr-facility__badge strong {
        font-size: 38px;
    }

    .bsr-facility__arrow {
        top: 20px;
        right: 20px;

        width: 46px;
        height: 46px;
    }
}

/* =========================================================
   34. HOMEPAGE – EVENTS
   ========================================================= */

.bsr-events {
    position: relative;
    overflow: hidden;
    padding: 120px 0 125px;
    background: var(--bsr-white);
}


/* Header */

.bsr-events__header {
    display: grid;
    grid-template-columns: 1fr minmax(340px, 500px);
    gap: 80px;
    align-items: end;

    margin-bottom: 60px;
}

.bsr-events__header h2 {
    margin: 14px 0 0;

    color: var(--bsr-petrol-deep);

    font-size: clamp(46px, 4.4vw, 68px);
    font-weight: 750;
    line-height: 1;
    letter-spacing: -0.045em;
}

.bsr-events__header h2 span {
    color: var(--bsr-bordeaux);
}

.bsr-events__intro {
    padding-bottom: 5px;
}

.bsr-events__intro p {
    max-width: 490px;
    margin: 0;

    color: var(--bsr-muted);

    font-size: 17px;
    line-height: 1.75;
}

.bsr-events__all {
    display: inline-flex;
    align-items: center;
    gap: 14px;

    margin-top: 25px;

    color: var(--bsr-petrol) !important;

    font-size: 14px;
    font-weight: 750;
    text-decoration: none !important;
}

.bsr-events__all span {
    color: var(--bsr-bordeaux);
    font-size: 20px;

    transition: transform var(--bsr-transition);
}

.bsr-events__all:hover span {
    transform: translateX(5px);
}


/* Event Liste */

.bsr-events__list {
    border-top: 1px solid var(--bsr-border);
}

.bsr-event {
    display: grid;
    grid-template-columns: 110px 1fr 60px;
    gap: 35px;
    align-items: center;

    min-height: 155px;

    padding: 25px 10px;

    border-bottom: 1px solid var(--bsr-border);

    color: var(--bsr-text) !important;
    text-decoration: none !important;

    transition:
        padding var(--bsr-transition),
        background-color var(--bsr-transition);
}

.bsr-event:hover {
    padding-right: 24px;
    padding-left: 24px;

    background: var(--bsr-cream);
}


/* Datum */

.bsr-event__date {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    min-height: 92px;

    border-right: 1px solid var(--bsr-border);
}

.bsr-event__date strong {
    color: var(--bsr-petrol-deep);

    font-size: 42px;
    font-weight: 750;
    line-height: .9;
    letter-spacing: -0.04em;
}

.bsr-event__date span {
    margin-top: 8px;

    color: var(--bsr-bordeaux);

    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}


/* Event Inhalt */

.bsr-event__type {
    display: block;

    margin-bottom: 7px;

    color: var(--bsr-bordeaux);

    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.bsr-event__content h3 {
    margin: 0;

    color: var(--bsr-petrol-deep);

    font-size: clamp(24px, 2vw, 31px);
    line-height: 1.15;
    letter-spacing: -0.025em;
}

.bsr-event__content p {
    margin: 9px 0 0;

    color: var(--bsr-muted);

    font-size: 14px;
}


/* Pfeil */

.bsr-event__arrow {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 48px;
    height: 48px;

    border: 1px solid var(--bsr-border);
    border-radius: 50%;

    color: var(--bsr-petrol);

    font-size: 21px;

    transition:
        transform var(--bsr-transition),
        background-color var(--bsr-transition),
        color var(--bsr-transition);
}

.bsr-event:hover .bsr-event__arrow {
    transform: rotate(45deg);

    border-color: var(--bsr-petrol);

    background: var(--bsr-petrol);
    color: var(--bsr-white);
}


/* =========================================================
   LEERZUSTAND
   ========================================================= */

.bsr-events__empty {
    position: relative;

    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    align-items: center;

    min-height: 390px;

    padding: 55px 65px;

    overflow: hidden;

    border-radius: 24px;

    background: var(--bsr-petrol-deep);
}

.bsr-events__empty-content {
    position: relative;
    z-index: 2;

    max-width: 570px;
}

.bsr-events__empty-label {
    display: block;

    margin-bottom: 13px;

    color: var(--bsr-gold);

    font-size: 12px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.bsr-events__empty h3 {
    margin: 0;

    color: var(--bsr-white);

    font-size: clamp(38px, 4vw, 55px);
    line-height: 1;
    letter-spacing: -0.04em;
}

.bsr-events__empty p {
    max-width: 520px;

    margin: 22px 0 28px;

    color: rgba(255,255,255,.70);

    font-size: 16px;
    line-height: 1.7;
}


/* Zielscheiben-Grafik rein mit CSS */

.bsr-events__target {
    position: relative;

    width: 310px;
    height: 310px;

    margin-left: auto;

    opacity: .85;
}

.bsr-events__target span {
    position: absolute;
    top: 50%;
    left: 50%;

    border: 1px solid rgba(255,255,255,.20);
    border-radius: 50%;

    transform: translate(-50%, -50%);
}

.bsr-events__target span:nth-child(1) {
    width: 310px;
    height: 310px;
}

.bsr-events__target span:nth-child(2) {
    width: 225px;
    height: 225px;
}

.bsr-events__target span:nth-child(3) {
    width: 140px;
    height: 140px;

    border-color: rgba(241,202,95,.55);
}

.bsr-events__target span:nth-child(4) {
    width: 52px;
    height: 52px;

    border: 0;

    background: var(--bsr-gold);
}


/* Responsive */

@media (max-width: 900px) {

    .bsr-events {
        padding: 90px 0;
    }

    .bsr-events__header {
        grid-template-columns: 1fr;
        gap: 24px;

        margin-bottom: 42px;
    }

    .bsr-events__empty {
        grid-template-columns: 1fr 250px;
        padding: 45px;
    }

    .bsr-events__target {
        width: 230px;
        height: 230px;
    }

    .bsr-events__target span:nth-child(1) {
        width: 230px;
        height: 230px;
    }
}


@media (max-width: 600px) {

    .bsr-events {
        padding: 70px 0;
    }

    .bsr-events__header h2 {
        font-size: 40px;
    }

    .bsr-event {
        grid-template-columns: 70px 1fr 42px;
        gap: 16px;

        min-height: 130px;
    }

    .bsr-event__date {
        min-height: 75px;
    }

    .bsr-event__date strong {
        font-size: 34px;
    }

    .bsr-event__arrow {
        width: 40px;
        height: 40px;
    }

    .bsr-events__empty {
        display: block;

        min-height: 0;

        padding: 38px 28px;
    }

    .bsr-events__target {
        position: absolute;
        top: -50px;
        right: -90px;

        width: 230px;
        height: 230px;

        opacity: .22;
    }

    .bsr-events__empty h3 {
        font-size: 39px;
    }
}
/* =========================================================
   35. HOMEPAGE – FINAL CTA
   ========================================================= */

.bsr-home-cta {
    padding: 30px 0 125px;
    background: var(--bsr-white);
}

.bsr-home-cta__box {
    position: relative;

    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(360px, .75fr);

    min-height: 540px;

    overflow: hidden;

    border-radius: 26px;

    background: var(--bsr-petrol-deep);
}


/* =========================================================
   LINKER BEREICH
   ========================================================= */

.bsr-home-cta__main {
    position: relative;
    z-index: 2;

    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 75px 80px;
}


/* dezente Zielscheibe */

.bsr-home-cta__main::after {
    content: "";

    position: absolute;
    top: -250px;
    left: -240px;

    width: 600px;
    height: 600px;

    border: 1px solid rgba(255,255,255,.055);
    border-radius: 50%;

    box-shadow:
        0 0 0 85px rgba(255,255,255,.018),
        0 0 0 170px rgba(255,255,255,.012);

    pointer-events: none;
}

.bsr-home-cta .bsr-eyebrow {
    position: relative;
    z-index: 2;

    color: var(--bsr-gold);
}

.bsr-home-cta__main h2 {
    position: relative;
    z-index: 2;

    margin: 15px 0 0;

    color: var(--bsr-white);

    font-size: clamp(50px, 5vw, 76px);
    font-weight: 760;
    line-height: .96;
    letter-spacing: -.05em;
}

.bsr-home-cta__main h2 span {
    color: var(--bsr-gold);
}

.bsr-home-cta__main > p {
    position: relative;
    z-index: 2;

    max-width: 600px;

    margin: 28px 0 0;

    color: rgba(255,255,255,.70);

    font-size: 17px;
    line-height: 1.75;
}


/* Buttons */

.bsr-home-cta__actions {
    position: relative;
    z-index: 2;

    display: flex;
    flex-wrap: wrap;
    gap: 12px;

    margin-top: 36px;
}

.bsr-home-cta__primary,
.bsr-home-cta__secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 52px;

    border-radius: 999px;

    font-size: 14px;
    font-weight: 750;

    text-decoration: none !important;

    transition:
        transform 220ms ease,
        background-color 220ms ease,
        border-color 220ms ease;
}

.bsr-home-cta__primary {
    gap: 13px;

    padding: 0 24px;

    border: 2px solid var(--bsr-gold);

    background: var(--bsr-gold);
    color: var(--bsr-petrol-deep) !important;
}

.bsr-home-cta__primary span {
    font-size: 19px;

    transition: transform 220ms ease;
}

.bsr-home-cta__primary:hover {
    transform: translateY(-2px);
}

.bsr-home-cta__primary:hover span {
    transform: translateX(4px);
}

.bsr-home-cta__secondary {
    padding: 0 24px;

    border: 1px solid rgba(255,255,255,.30);

    color: var(--bsr-white) !important;
}

.bsr-home-cta__secondary:hover {
    border-color: rgba(255,255,255,.65);

    background: rgba(255,255,255,.07);
}


/* =========================================================
   RECHTER BEREICH
   ========================================================= */

.bsr-home-cta__side {
    position: relative;

    display: flex;
    flex-direction: column;
    justify-content: flex-end;

    min-width: 0;

    padding: 48px;

    overflow: hidden;

    background: var(--bsr-bordeaux);
}

.bsr-home-cta__side::before {
    content: "";

    position: absolute;
    top: -90px;
    right: -100px;

    width: 330px;
    height: 330px;

    border: 1px solid rgba(255,255,255,.12);
    border-radius: 50%;
}

.bsr-home-cta__side::after {
    content: "";

    position: absolute;
    top: -30px;
    right: -40px;

    width: 210px;
    height: 210px;

    border: 1px solid rgba(241,202,95,.25);
    border-radius: 50%;
}

.bsr-home-cta__side-number {
    position: absolute;
    top: 38px;
    left: 44px;

    color: rgba(255,255,255,.10);

    font-size: 82px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.06em;
}

.bsr-home-cta__side-content {
    position: relative;
    z-index: 2;
}

.bsr-home-cta__side-content > span {
    display: block;

    margin-bottom: 13px;

    color: var(--bsr-gold);

    font-size: 11px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.bsr-home-cta__side h3 {
    margin: 0;

    color: var(--bsr-white);

    font-size: clamp(28px, 2.4vw, 38px);
    font-weight: 720;
    line-height: 1.08;
    letter-spacing: -.035em;
}

.bsr-home-cta__side a {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    margin-top: 28px;
    padding-bottom: 4px;

    border-bottom: 1px solid rgba(255,255,255,.45);

    color: var(--bsr-white) !important;

    font-size: 14px;
    font-weight: 750;

    text-decoration: none !important;
}

.bsr-home-cta__side a span {
    color: var(--bsr-gold);

    font-size: 19px;

    transition: transform 220ms ease;
}

.bsr-home-cta__side a:hover span {
    transform: translate(3px, -3px);
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 900px) {

    .bsr-home-cta {
        padding: 20px 0 90px;
    }

    .bsr-home-cta__box {
        grid-template-columns: 1fr;
    }

    .bsr-home-cta__main {
        padding: 65px 55px;
    }

    .bsr-home-cta__side {
        min-height: 330px;
        padding: 45px 55px;
    }
}


@media (max-width: 600px) {

    .bsr-home-cta {
        padding: 10px 0 70px;
    }

    .bsr-home-cta__box {
        border-radius: 20px;
    }

    .bsr-home-cta__main {
        padding: 50px 28px;
    }

    .bsr-home-cta__main h2 {
        font-size: 46px;
    }

    .bsr-home-cta__main > p {
        font-size: 16px;
    }

    .bsr-home-cta__actions {
        flex-direction: column;
    }

    .bsr-home-cta__primary,
    .bsr-home-cta__secondary {
        width: 100%;
    }

    .bsr-home-cta__side {
        min-height: 290px;
        padding: 38px 28px;
    }

    .bsr-home-cta__side-number {
        top: 30px;
        left: 28px;

        font-size: 66px;
    }

    .bsr-home-cta__side h3 {
        font-size: 31px;
    }
}

/* =========================================================
   36. SITE FOOTER
   ========================================================= */

.bsr-footer {
    position: relative;
    overflow: hidden;

    padding: 85px 0 0;

    background: var(--bsr-petrol-deep);
    color: var(--bsr-white);
}


/* dezente Zielscheibenlinien */

.bsr-footer::before {
    content: "";

    position: absolute;
    right: -250px;
    bottom: -330px;

    width: 650px;
    height: 650px;

    border: 1px solid rgba(255,255,255,.045);
    border-radius: 50%;

    box-shadow:
        0 0 0 90px rgba(255,255,255,.014),
        0 0 0 180px rgba(255,255,255,.009);

    pointer-events: none;
}


/* =========================================================
   TOP
   ========================================================= */

.bsr-footer__top {
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns:
        minmax(280px, 1.45fr)
        minmax(150px, .7fr)
        minmax(150px, .7fr)
        minmax(240px, 1fr);

    gap: 70px;

    padding-bottom: 75px;
}


/* =========================================================
   BRAND
   ========================================================= */

.bsr-footer__brand {
    max-width: 340px;
}

.bsr-footer__brand .custom-logo-link {
    display: inline-flex;

    margin-bottom: 28px;
}

.bsr-footer__brand .custom-logo {
    display: block;

    width: auto;
    height: 92px;

    filter: none;
}

.bsr-footer__brand p {
    max-width: 320px;

    margin: 0;

    color: rgba(255,255,255,.58);

    font-size: 14.5px;
    line-height: 1.75;
}


/* =========================================================
   LABELS
   ========================================================= */

.bsr-footer__label {
    display: block;

    margin-bottom: 22px;

    color: var(--bsr-gold);

    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .14em;
    text-transform: uppercase;
}


/* =========================================================
   NAVIGATION
   ========================================================= */

.bsr-footer__nav {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.bsr-footer__nav a {
    position: relative;

    display: inline-block;

    margin-bottom: 13px;

    color: rgba(255,255,255,.76) !important;

    font-size: 14px;
    font-weight: 600;

    text-decoration: none !important;

    transition:
        color 200ms ease,
        transform 200ms ease;
}

.bsr-footer__nav a:hover {
    transform: translateX(3px);

    color: var(--bsr-white) !important;
}


/* =========================================================
   MITGLIEDER
   ========================================================= */

.bsr-footer__member {
    position: relative;
}

.bsr-footer__member h3 {
    margin: 0;

    color: var(--bsr-white);

    font-size: 27px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -.03em;
}

.bsr-footer__login {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    margin-top: 25px;
    padding-bottom: 4px;

    border-bottom: 1px solid rgba(241,202,95,.55);

    color: var(--bsr-white) !important;

    font-size: 13.5px;
    font-weight: 700;

    text-decoration: none !important;
}

.bsr-footer__login span {
    color: var(--bsr-gold);

    font-size: 18px;

    transition: transform 200ms ease;
}

.bsr-footer__login:hover span {
    transform: translateX(4px);
}


/* =========================================================
   BOTTOM
   ========================================================= */

.bsr-footer__bottom {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;

    min-height: 78px;

    border-top: 1px solid rgba(255,255,255,.10);
}

.bsr-footer__bottom p {
    margin: 0;

    color: rgba(255,255,255,.42);

    font-size: 12.5px;
}

.bsr-footer__legal {
    display: flex;
    align-items: center;
    gap: 28px;
}

.bsr-footer__legal a {
    color: rgba(255,255,255,.48) !important;

    font-size: 12.5px;

    text-decoration: none !important;

    transition: color 200ms ease;
}

.bsr-footer__legal a:hover {
    color: var(--bsr-white) !important;
}


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

@media (max-width: 1050px) {

    .bsr-footer__top {
        grid-template-columns: 1.3fr .7fr .7fr;
        gap: 50px;
    }

    .bsr-footer__member {
        grid-column: 1 / -1;

        padding-top: 35px;

        border-top: 1px solid rgba(255,255,255,.10);
    }

}


@media (max-width: 700px) {

    .bsr-footer {
        padding-top: 65px;
    }

    .bsr-footer__top {
        grid-template-columns: 1fr 1fr;
        gap: 45px 30px;

        padding-bottom: 55px;
    }

    .bsr-footer__brand {
        grid-column: 1 / -1;
    }

    .bsr-footer__brand .custom-logo {
        height: 80px;
    }

    .bsr-footer__member {
        grid-column: 1 / -1;
    }

}


@media (max-width: 480px) {

    .bsr-footer__top {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .bsr-footer__brand,
    .bsr-footer__member {
        grid-column: auto;
    }

    .bsr-footer__member {
        padding-top: 35px;
    }

    .bsr-footer__bottom {
        align-items: flex-start;
        flex-direction: column;

        padding: 24px 0;
    }

    .bsr-footer__legal {
        gap: 20px;
    }

}

/* =========================================================
   40. SUBPAGES – BASE
   ========================================================= */

body.page:not(.home) .container:has(> .site-wrapper) {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.page:not(.home) .container:has(> .site-wrapper) > .site-wrapper {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.page:not(.home) .container:has(> .site-wrapper) #primary,
body.page:not(.home) .container:has(> .site-wrapper) .entry-content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.page:not(.home) .container:has(> .site-wrapper) #secondary {
    display: none !important;
}


/* BuddyX Seitentitel entfernen */

body.page:not(.home) .entry-header {
    display: none !important;
}


/* =========================================================
   SUBPAGE HERO
   ========================================================= */

.bsr-subhero {
    position: relative;

    min-height: 610px;

    overflow: hidden;

    background: var(--bsr-petrol-deep);
    color: var(--bsr-white);
}

.bsr-subhero__image {
    position: absolute;
    inset: 0;

    background-size: cover;
    background-position: center;

    transform: scale(1.01);
}

.bsr-subhero__overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(7,25,30,.91) 0%,
            rgba(7,25,30,.74) 38%,
            rgba(7,25,30,.28) 72%,
            rgba(7,25,30,.12) 100%
        );
}

.bsr-subhero__inner {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;

    min-height: 610px;

    padding-top: 60px;
    padding-bottom: 60px;
}

.bsr-subhero__content {
    width: min(650px, 58%);
}

.bsr-subhero__eyebrow {
    display: flex;
    align-items: center;
    gap: 12px;

    margin-bottom: 22px;

    color: var(--bsr-gold);

    font-size: 12px;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.bsr-subhero__eyebrow::before {
    content: "";

    width: 34px;
    height: 2px;

    background: var(--bsr-gold);
}

.bsr-subhero h1 {
    margin: 0;

    color: var(--bsr-white);

    font-size: clamp(58px, 6vw, 88px);
    font-weight: 780;
    line-height: .93;
    letter-spacing: -.055em;
}

.bsr-subhero h1 span {
    color: var(--bsr-gold);
}

.bsr-subhero p {
    max-width: 570px;

    margin: 28px 0 0;

    color: rgba(255,255,255,.76);

    font-size: 18px;
    line-height: 1.7;
}


/* =========================================================
   INTRO
   ========================================================= */

.bsr-subintro {
    padding: 120px 0;
    background: var(--bsr-white);
}

.bsr-subintro__grid {
    display: grid;
    grid-template-columns: 1fr minmax(420px, 570px);
    gap: 100px;
    align-items: start;
}

.bsr-subintro h2,
.bsr-values h2,
.bsr-clublife h2 {
    margin: 14px 0 0;

    color: var(--bsr-petrol-deep);

    font-size: clamp(44px, 4.2vw, 64px);
    font-weight: 750;
    line-height: 1;
    letter-spacing: -.045em;
}

.bsr-subintro h2 span,
.bsr-values h2 span,
.bsr-clublife h2 span {
    color: var(--bsr-bordeaux);
}

.bsr-subintro__copy p {
    margin: 0;

    color: var(--bsr-muted);

    font-size: 16px;
    line-height: 1.8;
}

.bsr-subintro__copy .bsr-subintro__lead {
    margin-bottom: 24px;

    color: var(--bsr-petrol-deep);

    font-size: 21px;
    font-weight: 600;
    line-height: 1.55;
}


/* =========================================================
   VALUES
   ========================================================= */

.bsr-values {
    padding: 115px 0 125px;

    background: var(--bsr-cream);
}

.bsr-values__header {
    margin-bottom: 60px;
}

.bsr-values__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);

    border-top: 1px solid var(--bsr-border);
}

.bsr-value {
    position: relative;

    min-height: 310px;

    padding: 40px 42px 25px 0;
}

.bsr-value + .bsr-value {
    padding-left: 42px;

    border-left: 1px solid var(--bsr-border);
}

.bsr-value__number {
    display: block;

    margin-bottom: 55px;

    color: var(--bsr-bordeaux);

    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
}

.bsr-value h3 {
    margin: 0 0 15px;

    color: var(--bsr-petrol-deep);

    font-size: 27px;
    font-weight: 720;
    letter-spacing: -.03em;
}

.bsr-value p {
    max-width: 350px;

    margin: 0;

    color: var(--bsr-muted);

    font-size: 15px;
    line-height: 1.7;
}


/* =========================================================
   CLUB LIFE
   ========================================================= */

.bsr-clublife {
    padding: 125px 0;

    background: var(--bsr-white);
}

.bsr-clublife__box {
    display: grid;
    grid-template-columns: 1.1fr .9fr;

    min-height: 610px;

    overflow: hidden;

    border-radius: 24px;

    background: var(--bsr-cream);
}

.bsr-clublife__visual {
    min-height: 610px;
    overflow: hidden;
}

.bsr-clublife__visual img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.bsr-clublife__content {
    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 70px;
}

.bsr-clublife__content > p {
    max-width: 500px;

    margin: 27px 0 0;

    color: var(--bsr-muted);

    font-size: 16px;
    line-height: 1.8;
}

.bsr-text-link {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    gap: 12px;

    margin-top: 30px;
    padding-bottom: 4px;

    border-bottom: 1px solid rgba(25,72,85,.25);

    color: var(--bsr-petrol) !important;

    font-size: 14px;
    font-weight: 750;

    text-decoration: none !important;
}

.bsr-text-link span {
    color: var(--bsr-bordeaux);

    font-size: 19px;

    transition: transform 220ms ease;
}

.bsr-text-link:hover span {
    transform: translateX(4px);
}


/* =========================================================
   SUBPAGE CTA
   ========================================================= */

.bsr-subcta {
    padding: 105px 0;

    background: var(--bsr-petrol-deep);
}

.bsr-subcta__inner {
    display: grid;
    grid-template-columns: 1fr minmax(360px, 500px);
    gap: 90px;
    align-items: end;
}

.bsr-subcta .bsr-eyebrow {
    color: var(--bsr-gold);
}

.bsr-subcta h2 {
    margin: 14px 0 0;

    color: var(--bsr-white);

    font-size: clamp(44px, 4.5vw, 68px);
    line-height: 1;
    letter-spacing: -.045em;
}

.bsr-subcta h2 span {
    color: var(--bsr-gold);
}

.bsr-subcta__right p {
    margin: 0;

    color: rgba(255,255,255,.67);

    font-size: 16px;
    line-height: 1.75;
}

.bsr-subcta__button {
    display: inline-flex;
    align-items: center;
    gap: 14px;

    min-height: 52px;

    margin-top: 27px;
    padding: 0 24px;

    border-radius: 999px;

    background: var(--bsr-gold);

    color: var(--bsr-petrol-deep) !important;

    font-size: 14px;
    font-weight: 750;

    text-decoration: none !important;
}

.bsr-subcta__button span {
    font-size: 19px;

    transition: transform 220ms ease;
}

.bsr-subcta__button:hover span {
    transform: translateX(4px);
}


/* =========================================================
   SUBPAGES RESPONSIVE
   ========================================================= */

@media (max-width: 900px) {

    .bsr-subhero,
    .bsr-subhero__inner {
        min-height: 560px;
    }

    .bsr-subhero__content {
        width: 80%;
    }

    .bsr-subintro,
    .bsr-values,
    .bsr-clublife {
        padding: 90px 0;
    }

    .bsr-subintro__grid {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .bsr-values__grid {
        grid-template-columns: 1fr;
    }

    .bsr-value,
    .bsr-value + .bsr-value {
        min-height: 0;

        padding: 32px 0;

        border-left: 0;
        border-bottom: 1px solid var(--bsr-border);
    }

    .bsr-value__number {
        margin-bottom: 25px;
    }

    .bsr-clublife__box {
        grid-template-columns: 1fr;
    }

    .bsr-clublife__visual {
        min-height: 520px;
    }

    .bsr-clublife__content {
        padding: 55px;
    }

    .bsr-subcta__inner {
        grid-template-columns: 1fr;
        gap: 35px;
    }
}


@media (max-width: 600px) {

    .bsr-subhero,
    .bsr-subhero__inner {
        min-height: 540px;
    }

    .bsr-subhero__image {
        background-position: center;
    }

    .bsr-subhero__overlay {
        background:
            linear-gradient(
                0deg,
                rgba(7,25,30,.94) 0%,
                rgba(7,25,30,.67) 60%,
                rgba(7,25,30,.25) 100%
            );
    }

    .bsr-subhero__inner {
        align-items: flex-end;

        padding-bottom: 65px;
    }

    .bsr-subhero__content {
        width: 100%;
    }

    .bsr-subhero h1 {
        font-size: 54px;
    }

    .bsr-subhero p {
        font-size: 16px;
    }

    .bsr-subintro,
    .bsr-values,
    .bsr-clublife {
        padding: 70px 0;
    }

    .bsr-subintro h2,
    .bsr-values h2,
    .bsr-clublife h2 {
        font-size: 40px;
    }

    .bsr-subintro__copy .bsr-subintro__lead {
        font-size: 19px;
    }

    .bsr-clublife__box {
        border-radius: 18px;
    }

    .bsr-clublife__visual {
        min-height: 430px;
    }

    .bsr-clublife__content {
        padding: 40px 28px;
    }

    .bsr-subcta {
        padding: 70px 0;
    }

    .bsr-subcta h2 {
        font-size: 42px;
    }
}

/* =========================================================
   41. VEREIN – NUMBERS
   ========================================================= */

.bsr-club-numbers {
    padding: 0 0 120px;
    background: var(--bsr-white);
}

.bsr-club-numbers__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);

    border-top: 1px solid var(--bsr-border);
    border-bottom: 1px solid var(--bsr-border);
}

.bsr-club-number {
    position: relative;

    padding: 42px 35px;
}

.bsr-club-number:first-child {
    padding-left: 0;
}

.bsr-club-number + .bsr-club-number {
    border-left: 1px solid var(--bsr-border);
}

.bsr-club-number strong {
    display: block;

    color: var(--bsr-petrol-deep);

    font-size: clamp(42px, 4vw, 62px);
    font-weight: 760;
    line-height: 1;
    letter-spacing: -.055em;
}

.bsr-club-number span {
    display: block;

    margin-top: 11px;

    color: var(--bsr-bordeaux);

    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

@media (max-width: 800px) {

    .bsr-club-numbers {
        padding-bottom: 80px;
    }

    .bsr-club-numbers__grid {
        grid-template-columns: 1fr 1fr;
    }

    .bsr-club-number {
        padding: 30px !important;
    }

    .bsr-club-number:nth-child(3) {
        border-left: 0;
    }

    .bsr-club-number:nth-child(n+3) {
        border-top: 1px solid var(--bsr-border);
    }
}

@media (max-width: 480px) {

    .bsr-club-number {
        padding: 25px 15px !important;
    }

    .bsr-club-number strong {
        font-size: 38px;
    }

    .bsr-club-number span {
        font-size: 10px;
    }
}

/* =========================================================
   42. BOGENSPORT – DISCIPLINES
   ========================================================= */

.bsr-sporttypes {
    padding: 120px 0 130px;
    background: var(--bsr-cream);
}

.bsr-sporttypes__header {
    margin-bottom: 75px;
}

.bsr-sporttypes__header h2 {
    margin: 14px 0 0;
    color: var(--bsr-petrol-deep);
    font-size: clamp(46px, 4.5vw, 68px);
    font-weight: 750;
    line-height: 1;
    letter-spacing: -.045em;
}

.bsr-sporttypes__header h2 span {
    color: var(--bsr-bordeaux);
}


/* einzelne Disziplin */

.bsr-sporttype {
    display: grid;
    grid-template-columns: 1.08fr .92fr;
    min-height: 600px;
    margin-top: 32px;
    overflow: hidden;
    border-radius: 24px;
    background: var(--bsr-white);
}

.bsr-sporttype:first-of-type {
    margin-top: 0;
}

.bsr-sporttype--reverse {
    grid-template-columns: .92fr 1.08fr;
}

.bsr-sporttype--reverse .bsr-sporttype__visual {
    order: 2;
}

.bsr-sporttype--reverse .bsr-sporttype__content {
    order: 1;
}


/* Bild */

.bsr-sporttype__visual {
    position: relative;
    min-height: 600px;
    overflow: hidden;
    background: var(--bsr-petrol-deep);
}

.bsr-sporttype__visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 700ms cubic-bezier(.2,.7,.2,1);
}

.bsr-sporttype:hover .bsr-sporttype__visual img {
    transform: scale(1.035);
}

.bsr-sporttype__index {
    position: absolute;
    top: 28px;
    left: 28px;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 55px;
    height: 55px;

    border-radius: 50%;

    background: var(--bsr-gold);
    color: var(--bsr-petrol-deep);

    font-size: 12px;
    font-weight: 800;
}


/* Text */

.bsr-sporttype__content {
    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 70px;
}

.bsr-sporttype__meta {
    margin-bottom: 17px;

    color: var(--bsr-bordeaux);

    font-size: 11px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.bsr-sporttype__content h3 {
    margin: 0 0 25px;

    color: var(--bsr-petrol-deep);

    font-size: clamp(35px, 3vw, 48px);
    font-weight: 740;
    line-height: 1.02;
    letter-spacing: -.04em;
}

.bsr-sporttype__content p {
    max-width: 510px;

    margin: 0 0 16px;

    color: var(--bsr-muted);

    font-size: 15.5px;
    line-height: 1.75;
}


/* Tags */

.bsr-sporttype__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;

    margin-top: 20px;
}

.bsr-sporttype__tags span {
    display: inline-flex;
    align-items: center;

    min-height: 31px;

    padding: 0 13px;

    border: 1px solid var(--bsr-border);
    border-radius: 999px;

    color: var(--bsr-petrol);

    font-size: 11px;
    font-weight: 700;
}


/* =========================================================
   COMPOUND – PLACEHOLDER GRAPHIC
   ========================================================= */

.bsr-sporttype__visual--graphic {
    display: flex;
    align-items: center;
    justify-content: center;

    background:
        radial-gradient(
            circle at 50% 50%,
            #f1ca5f 0 9%,
            #882630 9.5% 19%,
            #f5f1e8 19.5% 31%,
            #194855 31.5% 44%,
            #0b2d36 44.5% 100%
        );
}

.bsr-sporttype__graphic {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 300px;
    height: 300px;

    border: 1px solid rgba(255,255,255,.22);
    border-radius: 50%;
}

.bsr-sporttype__graphic span {
    position: absolute;

    border: 1px solid rgba(255,255,255,.18);
    border-radius: 50%;
}

.bsr-sporttype__graphic span:nth-child(1) {
    width: 220px;
    height: 220px;
}

.bsr-sporttype__graphic span:nth-child(2) {
    width: 140px;
    height: 140px;
}

.bsr-sporttype__graphic span:nth-child(3) {
    width: 65px;
    height: 65px;
}

.bsr-sporttype__graphic strong {
    position: relative;
    z-index: 2;

    color: var(--bsr-petrol-deep);

    font-size: 13px;
    font-weight: 850;
}


/* =========================================================
   BOGENSPORT – WISSENSBEREICH
   ========================================================= */

.bsr-sport-knowledge {
    position: relative;
    overflow: hidden;

    padding: 120px 0;

    background: var(--bsr-petrol-deep);
}

.bsr-sport-knowledge::after {
    content: "";

    position: absolute;
    right: -260px;
    top: -250px;

    width: 650px;
    height: 650px;

    border: 1px solid rgba(255,255,255,.05);
    border-radius: 50%;

    box-shadow:
        0 0 0 90px rgba(255,255,255,.015),
        0 0 0 180px rgba(255,255,255,.01);
}

.bsr-sport-knowledge__inner {
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns: 1fr minmax(390px, 520px);
    gap: 90px;
    align-items: end;
}

.bsr-sport-knowledge .bsr-eyebrow {
    color: var(--bsr-gold);
}

.bsr-sport-knowledge h2 {
    margin: 14px 0 0;

    color: var(--bsr-white);

    font-size: clamp(46px, 4.5vw, 68px);
    font-weight: 750;
    line-height: 1;
    letter-spacing: -.045em;
}

.bsr-sport-knowledge h2 span {
    color: var(--bsr-gold);
}

.bsr-sport-knowledge__copy p {
    margin: 0;

    color: rgba(255,255,255,.68);

    font-size: 16px;
    line-height: 1.75;
}

.bsr-sport-knowledge__copy .bsr-sport-knowledge__note {
    margin-top: 18px;

    color: rgba(255,255,255,.9);

    font-weight: 650;
}


/* Themen */

.bsr-sport-knowledge__topics {
    position: relative;
    z-index: 2;

    display: flex;
    flex-wrap: wrap;
    gap: 10px;

    margin-top: 55px;
    padding-top: 35px;

    border-top: 1px solid rgba(255,255,255,.12);
}

.bsr-sport-knowledge__topics span {
    display: inline-flex;
    align-items: center;

    min-height: 42px;

    padding: 0 18px;

    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;

    color: rgba(255,255,255,.8);

    font-size: 12px;
    font-weight: 650;
}


/* =========================================================
   BOGENSPORT RESPONSIVE
   ========================================================= */

@media (max-width: 900px) {

    .bsr-sporttypes {
        padding: 90px 0;
    }

    .bsr-sporttype,
    .bsr-sporttype--reverse {
        grid-template-columns: 1fr;
    }

    .bsr-sporttype--reverse .bsr-sporttype__visual,
    .bsr-sporttype--reverse .bsr-sporttype__content {
        order: initial;
    }

    .bsr-sporttype__visual {
        min-height: 520px;
    }

    .bsr-sporttype__content {
        padding: 55px;
    }

    .bsr-sport-knowledge__inner {
        grid-template-columns: 1fr;
        gap: 35px;
    }

}


@media (max-width: 600px) {

    .bsr-sporttypes {
        padding: 70px 0;
    }

    .bsr-sporttypes__header {
        margin-bottom: 45px;
    }

    .bsr-sporttypes__header h2,
    .bsr-sport-knowledge h2 {
        font-size: 40px;
    }

    .bsr-sporttype {
        min-height: 0;
        margin-top: 22px;

        border-radius: 18px;
    }

    .bsr-sporttype__visual {
        min-height: 400px;
    }

    .bsr-sporttype__content {
        padding: 40px 28px;
    }

    .bsr-sporttype__content h3 {
        font-size: 34px;
    }

    .bsr-sporttype__graphic {
        width: 240px;
        height: 240px;
    }

    .bsr-sport-knowledge {
        padding: 75px 0;
    }

    .bsr-sport-knowledge__topics {
        margin-top: 40px;
    }

}

/* =========================================================
   BOGENSPORT – WISSENSBEREICH FIX
   ========================================================= */

.bsr-sport-knowledge {
    padding: 105px 0 110px;
}

.bsr-sport-knowledge__topics {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 12px !important;

    width: 100% !important;

    margin-top: 55px !important;
    padding-top: 35px !important;
}

.bsr-sport-knowledge__topics span {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    width: 100% !important;
    min-height: 58px !important;

    margin: 0 !important;
    padding: 0 20px !important;

    border: 1px solid rgba(255,255,255,.16) !important;
    border-radius: 10px !important;

    color: rgba(255,255,255,.82) !important;

    font-size: 13px !important;
    font-weight: 650 !important;
}

/* kleiner Pfeil als Vorbereitung auf spätere Wiki-Links */

.bsr-sport-knowledge__topics span::after {
    content: "↗";

    color: var(--bsr-gold);

    font-size: 17px;
    font-weight: 500;
}


/* Tablet */

@media (max-width: 900px) {

    .bsr-sport-knowledge__topics {
        grid-template-columns: repeat(2, 1fr) !important;
    }

}


/* Smartphone */

@media (max-width: 520px) {

    .bsr-sport-knowledge {
        padding: 75px 0;
    }

    .bsr-sport-knowledge__topics {
        grid-template-columns: 1fr !important;
        gap: 8px !important;

        margin-top: 40px !important;
        padding-top: 28px !important;
    }

    .bsr-sport-knowledge__topics span {
        min-height: 52px !important;
    }

}
/* =========================================================
   BUDDYX – DEFAULT PAGE TITLE / BREADCRUMB ENTFERNEN
   ========================================================= */

body.page:not(.home) .site-sub-header {
    display: none !important;
}

/* =========================================================
   43. EINSTEIGEN
   ========================================================= */

/* Hero CTA */

.bsr-entry-hero__button {
    display: inline-flex;
    align-items: center;
    gap: 14px;

    min-height: 52px;
    margin-top: 32px;
    padding: 0 24px;

    border-radius: 999px;

    background: var(--bsr-gold);
    color: var(--bsr-petrol-deep) !important;

    font-size: 14px;
    font-weight: 750;
    text-decoration: none !important;
}

.bsr-entry-hero__button span {
    font-size: 19px;
    transition: transform 220ms ease;
}

.bsr-entry-hero__button:hover span {
    transform: translateX(4px);
}


/* =========================================================
   BENEFITS
   ========================================================= */

.bsr-entry-benefits {
    background: var(--bsr-petrol-deep);
}

.bsr-entry-benefits__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);

    border-top: 1px solid rgba(255,255,255,.11);
}

.bsr-entry-benefit {
    min-height: 190px;
    padding: 34px 32px;
}

.bsr-entry-benefit:first-child {
    padding-left: 0;
}

.bsr-entry-benefit + .bsr-entry-benefit {
    border-left: 1px solid rgba(255,255,255,.11);
}

.bsr-entry-benefit > span {
    display: block;
    margin-bottom: 30px;

    color: var(--bsr-gold);

    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
}

.bsr-entry-benefit strong {
    display: block;

    color: var(--bsr-white);

    font-size: 17px;
    font-weight: 700;
}

.bsr-entry-benefit p {
    margin: 9px 0 0;

    color: rgba(255,255,255,.55);

    font-size: 13px;
    line-height: 1.6;
}


/* =========================================================
   ENTRY PATH
   ========================================================= */

.bsr-entry-path {
    padding: 120px 0 130px;

    background: var(--bsr-cream);
}

.bsr-entry-path__header {
    display: grid;
    grid-template-columns: 1fr minmax(360px, 500px);
    gap: 80px;
    align-items: end;

    margin-bottom: 65px;
}

.bsr-entry-path__header h2,
.bsr-entry-care h2,
.bsr-entry-ready h2 {
    margin: 14px 0 0;

    color: var(--bsr-petrol-deep);

    font-size: clamp(46px, 4.5vw, 68px);
    font-weight: 750;
    line-height: 1;
    letter-spacing: -.045em;
}

.bsr-entry-path__header h2 span,
.bsr-entry-care h2 span,
.bsr-entry-ready h2 span {
    color: var(--bsr-bordeaux);
}

.bsr-entry-path__header > p {
    margin: 0;

    color: var(--bsr-muted);

    font-size: 16px;
    line-height: 1.75;
}


/* Schritte */

.bsr-entry-steps {
    border-top: 1px solid var(--bsr-border);
}

.bsr-entry-step {
    display: grid;
    grid-template-columns: 120px 1fr;

    min-height: 210px;

    border-bottom: 1px solid var(--bsr-border);

    background: transparent;
}

.bsr-entry-step__number {
    display: flex;
    align-items: flex-start;

    padding-top: 42px;

    color: var(--bsr-bordeaux);

    font-size: 13px;
    font-weight: 800;
    letter-spacing: .12em;
}

.bsr-entry-step__body {
    position: relative;

    padding: 38px 20px 38px 45px;

    border-left: 1px solid var(--bsr-border);
}

.bsr-entry-step__label {
    display: block;

    margin-bottom: 8px;

    color: var(--bsr-bordeaux);

    font-size: 10px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.bsr-entry-step h3 {
    margin: 0;

    color: var(--bsr-petrol-deep);

    font-size: 31px;
    font-weight: 720;
    letter-spacing: -.03em;
}

.bsr-entry-step p {
    max-width: 700px;

    margin: 13px 0 0;

    color: var(--bsr-muted);

    font-size: 15px;
    line-height: 1.7;
}

.bsr-entry-step__body > strong {
    display: inline-block;

    margin-top: 17px;

    color: var(--bsr-petrol);

    font-size: 12px;
    font-weight: 800;
}


/* erster Schritt */

.bsr-entry-step--featured {
    background: var(--bsr-white);
}

.bsr-entry-step--featured .bsr-entry-step__number {
    padding-left: 25px;
}


/* letzter Schritt */

.bsr-entry-step--final {
    background: var(--bsr-petrol-deep);
}

.bsr-entry-step--final .bsr-entry-step__number {
    padding-left: 25px;

    color: var(--bsr-gold);
}

.bsr-entry-step--final .bsr-entry-step__body {
    border-color: rgba(255,255,255,.12);
}

.bsr-entry-step--final .bsr-entry-step__label {
    color: var(--bsr-gold);
}

.bsr-entry-step--final h3 {
    color: var(--bsr-white);
}

.bsr-entry-step--final p {
    color: rgba(255,255,255,.62);
}

.bsr-entry-step--final a {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    margin-top: 18px;

    color: var(--bsr-white) !important;

    font-size: 13px;
    font-weight: 750;

    text-decoration: none !important;
}

.bsr-entry-step--final a span {
    color: var(--bsr-gold);
}


/* =========================================================
   BETREUUNG
   ========================================================= */

.bsr-entry-care {
    padding: 125px 0;

    background: var(--bsr-white);
}

.bsr-entry-care__box {
    display: grid;
    grid-template-columns: 1.08fr .92fr;

    min-height: 610px;

    overflow: hidden;

    border-radius: 24px;

    background: var(--bsr-cream);
}

.bsr-entry-care__visual {
    min-height: 610px;
}

.bsr-entry-care__visual img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.bsr-entry-care__content {
    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 70px;
}

.bsr-entry-care__content > p {
    max-width: 500px;

    margin: 27px 0 0;

    color: var(--bsr-muted);

    font-size: 16px;
    line-height: 1.75;
}


/* Zahlen */

.bsr-entry-care__facts {
    display: grid;
    grid-template-columns: 1fr 1fr;

    margin-top: 38px;

    border-top: 1px solid var(--bsr-border);
}

.bsr-entry-care__facts > div {
    padding: 28px 20px 0 0;
}

.bsr-entry-care__facts > div + div {
    padding-left: 28px;

    border-left: 1px solid var(--bsr-border);
}

.bsr-entry-care__facts strong {
    display: block;

    color: var(--bsr-petrol-deep);

    font-size: 36px;
    font-weight: 760;
    line-height: 1;
    letter-spacing: -.04em;
}

.bsr-entry-care__facts span {
    display: block;

    margin-top: 9px;

    color: var(--bsr-bordeaux);

    font-size: 10px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}


/* =========================================================
   MITBRINGEN
   ========================================================= */

.bsr-entry-ready {
    padding: 115px 0 125px;

    background: var(--bsr-cream);
}

.bsr-entry-ready__header {
    margin-bottom: 55px;
}

.bsr-entry-ready__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);

    border-top: 1px solid var(--bsr-border);
}

.bsr-entry-ready__item {
    padding: 35px 40px 15px 0;
}

.bsr-entry-ready__item + .bsr-entry-ready__item {
    padding-left: 40px;

    border-left: 1px solid var(--bsr-border);
}

.bsr-entry-ready__item > span {
    display: block;

    margin-bottom: 50px;

    color: var(--bsr-bordeaux);

    font-size: 11px;
    font-weight: 800;
}

.bsr-entry-ready__item h3 {
    margin: 0;

    color: var(--bsr-petrol-deep);

    font-size: 25px;
    letter-spacing: -.025em;
}

.bsr-entry-ready__item p {
    max-width: 350px;

    margin: 13px 0 0;

    color: var(--bsr-muted);

    font-size: 14px;
    line-height: 1.7;
}


/* =========================================================
   EINSTEIGEN RESPONSIVE
   ========================================================= */

@media (max-width: 900px) {

    .bsr-entry-benefits__grid {
        grid-template-columns: 1fr 1fr;
    }

    .bsr-entry-benefit {
        padding: 30px !important;
    }

    .bsr-entry-benefit:nth-child(3) {
        border-left: 0;
    }

    .bsr-entry-benefit:nth-child(n+3) {
        border-top: 1px solid rgba(255,255,255,.11);
    }

    .bsr-entry-path__header {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .bsr-entry-care__box {
        grid-template-columns: 1fr;
    }

    .bsr-entry-care__visual {
        min-height: 500px;
    }

}


@media (max-width: 600px) {

    .bsr-entry-benefits__grid {
        grid-template-columns: 1fr;
    }

    .bsr-entry-benefit {
        min-height: 0;
    }

    .bsr-entry-benefit + .bsr-entry-benefit {
        border-left: 0;
        border-top: 1px solid rgba(255,255,255,.11);
    }

    .bsr-entry-path {
        padding: 70px 0;
    }

    .bsr-entry-path__header h2,
    .bsr-entry-care h2,
    .bsr-entry-ready h2 {
        font-size: 40px;
    }

    .bsr-entry-step {
        grid-template-columns: 55px 1fr;
    }

    .bsr-entry-step__number {
        padding-top: 32px;
    }

    .bsr-entry-step--featured .bsr-entry-step__number,
    .bsr-entry-step--final .bsr-entry-step__number {
        padding-left: 10px;
    }

    .bsr-entry-step__body {
        padding: 30px 0 30px 24px;
    }

    .bsr-entry-step h3 {
        font-size: 26px;
    }

    .bsr-entry-care {
        padding: 70px 0;
    }

    .bsr-entry-care__box {
        border-radius: 18px;
    }

    .bsr-entry-care__visual {
        min-height: 390px;
    }

    .bsr-entry-care__content {
        padding: 40px 28px;
    }

    .bsr-entry-ready {
        padding: 70px 0;
    }

    .bsr-entry-ready__grid {
        grid-template-columns: 1fr;
    }

    .bsr-entry-ready__item,
    .bsr-entry-ready__item + .bsr-entry-ready__item {
        padding: 28px 0;

        border-left: 0;
        border-bottom: 1px solid var(--bsr-border);
    }

    .bsr-entry-ready__item > span {
        margin-bottom: 22px;
    }

}


/* =========================================================
   44. ANLAGE
   ========================================================= */

/* Zahlen direkt unter Hero */

.bsr-facility-numbers {
    background: var(--bsr-petrol-deep);
}

.bsr-facility-numbers__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.bsr-facility-number {
    min-height: 175px;
    padding: 38px 32px;

    border-left: 1px solid rgba(255,255,255,.11);
}

.bsr-facility-number:first-child {
    padding-left: 0;
    border-left: 0;
}

.bsr-facility-number strong {
    display: block;

    color: var(--bsr-gold);

    font-size: clamp(38px, 3.6vw, 55px);
    font-weight: 760;
    line-height: 1;
    letter-spacing: -.05em;
}

.bsr-facility-number span {
    display: block;

    margin-top: 11px;

    color: rgba(255,255,255,.65);

    font-size: 11px;
    font-weight: 750;
    letter-spacing: .09em;
    text-transform: uppercase;
}


/* =========================================================
   SCHEIBENPLATZ
   ========================================================= */

.bsr-facility-feature {
    padding: 120px 0;

    background: var(--bsr-cream);
}

.bsr-facility-feature__box {
    display: grid;
    grid-template-columns: 1.08fr .92fr;

    min-height: 650px;

    overflow: hidden;

    border-radius: 24px;

    background: var(--bsr-white);
}

.bsr-facility-feature__visual,
.bsr-facility-3d__visual {
    position: relative;

    min-height: 650px;

    overflow: hidden;
}

.bsr-facility-feature__visual img,
.bsr-facility-3d__visual img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: transform 700ms cubic-bezier(.2,.7,.2,1);
}

.bsr-facility-feature__box:hover img,
.bsr-facility-3d__box:hover img {
    transform: scale(1.025);
}

.bsr-facility-feature__marker {
    position: absolute;
    top: 28px;
    left: 28px;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 55px;
    height: 55px;

    border-radius: 50%;

    background: var(--bsr-gold);
    color: var(--bsr-petrol-deep);

    font-size: 12px;
    font-weight: 800;
}

.bsr-facility-feature__content {
    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 70px;
}

.bsr-facility-feature__label {
    display: block;

    margin-bottom: 15px;

    color: var(--bsr-bordeaux);

    font-size: 11px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.bsr-facility-feature h2,
.bsr-facility-3d h2,
.bsr-facility-use h2 {
    margin: 0;

    color: var(--bsr-petrol-deep);

    font-size: clamp(42px, 4vw, 60px);
    font-weight: 750;
    line-height: 1;
    letter-spacing: -.045em;
}

.bsr-facility-feature h2 span,
.bsr-facility-3d h2 span,
.bsr-facility-use h2 span {
    color: var(--bsr-bordeaux);
}

.bsr-facility-feature__content > p {
    max-width: 500px;

    margin: 25px 0 0;

    color: var(--bsr-muted);

    font-size: 15.5px;
    line-height: 1.75;
}

.bsr-facility-feature__content > p + p {
    margin-top: 14px;
}


/* kleine Zahlen */

.bsr-facility-feature__facts {
    display: grid;
    grid-template-columns: 1fr 1fr;

    margin-top: 36px;

    border-top: 1px solid var(--bsr-border);
}

.bsr-facility-feature__facts > div {
    padding: 26px 20px 0 0;
}

.bsr-facility-feature__facts > div + div {
    padding-left: 27px;

    border-left: 1px solid var(--bsr-border);
}

.bsr-facility-feature__facts strong {
    display: block;

    color: var(--bsr-petrol-deep);

    font-size: 35px;
    font-weight: 760;
    line-height: 1;
    letter-spacing: -.04em;
}

.bsr-facility-feature__facts span {
    display: block;

    margin-top: 8px;

    color: var(--bsr-bordeaux);

    font-size: 10px;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}


/* =========================================================
   3D
   ========================================================= */

.bsr-facility-3d {
    padding: 0 0 120px;

    background: var(--bsr-cream);
}

.bsr-facility-3d__box {
    display: grid;
    grid-template-columns: .92fr 1.08fr;

    min-height: 650px;

    overflow: hidden;

    border-radius: 24px;

    background: var(--bsr-white);
}

.bsr-facility-3d__content {
    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 70px;
}

.bsr-facility-3d__content > p {
    max-width: 490px;

    margin: 25px 0 0;

    color: var(--bsr-muted);

    font-size: 15.5px;
    line-height: 1.75;
}

.bsr-facility-3d__big {
    margin-top: 34px;
    padding-top: 28px;

    border-top: 1px solid var(--bsr-border);
}

.bsr-facility-3d__big strong {
    display: block;

    color: var(--bsr-petrol-deep);

    font-size: 43px;
    font-weight: 760;
    line-height: 1;
    letter-spacing: -.045em;
}

.bsr-facility-3d__big span {
    display: block;

    margin-top: 8px;

    color: var(--bsr-bordeaux);

    font-size: 10px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}


/* =========================================================
   NUTZUNG
   ========================================================= */

.bsr-facility-use {
    padding: 115px 0 125px;

    background: var(--bsr-white);
}

.bsr-facility-use__header {
    margin-bottom: 55px;
}

.bsr-facility-use__header .bsr-eyebrow {
    margin-bottom: 14px;
}

.bsr-facility-use__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);

    border-top: 1px solid var(--bsr-border);
}

.bsr-facility-use__item {
    min-height: 280px;

    padding: 35px 40px 20px 0;
}

.bsr-facility-use__item + .bsr-facility-use__item {
    padding-left: 40px;

    border-left: 1px solid var(--bsr-border);
}

.bsr-facility-use__item > span {
    display: block;

    margin-bottom: 48px;

    color: var(--bsr-bordeaux);

    font-size: 11px;
    font-weight: 800;
}

.bsr-facility-use__item h3 {
    margin: 0;

    color: var(--bsr-petrol-deep);

    font-size: 26px;
    font-weight: 720;
    letter-spacing: -.03em;
}

.bsr-facility-use__item p {
    max-width: 350px;

    margin: 14px 0 0;

    color: var(--bsr-muted);

    font-size: 14px;
    line-height: 1.7;
}


/* =========================================================
   ANLAGE RESPONSIVE
   ========================================================= */

@media (max-width: 900px) {

    .bsr-facility-numbers__grid {
        grid-template-columns: 1fr 1fr;
    }

    .bsr-facility-number {
        padding: 30px !important;
    }

    .bsr-facility-number:nth-child(3) {
        border-left: 0;
    }

    .bsr-facility-number:nth-child(n+3) {
        border-top: 1px solid rgba(255,255,255,.11);
    }

    .bsr-facility-feature__box,
    .bsr-facility-3d__box {
        grid-template-columns: 1fr;
    }

    .bsr-facility-3d__visual {
        order: 1;
    }

    .bsr-facility-3d__content {
        order: 2;
    }

    .bsr-facility-feature__visual,
    .bsr-facility-3d__visual {
        min-height: 520px;
    }

}


@media (max-width: 600px) {

    .bsr-facility-number {
        min-height: 135px;
        padding: 25px 15px !important;
    }

    .bsr-facility-number strong {
        font-size: 37px;
    }

    .bsr-facility-number span {
        font-size: 9px;
    }

    .bsr-facility-feature {
        padding: 70px 0 22px;
    }

    .bsr-facility-3d {
        padding-bottom: 70px;
    }

    .bsr-facility-feature__box,
    .bsr-facility-3d__box {
        border-radius: 18px;
    }

    .bsr-facility-feature__visual,
    .bsr-facility-3d__visual {
        min-height: 400px;
    }

    .bsr-facility-feature__content,
    .bsr-facility-3d__content {
        padding: 40px 28px;
    }

    .bsr-facility-feature h2,
    .bsr-facility-3d h2,
    .bsr-facility-use h2 {
        font-size: 40px;
    }

    .bsr-facility-use {
        padding: 70px 0;
    }

    .bsr-facility-use__grid {
        grid-template-columns: 1fr;
    }

    .bsr-facility-use__item,
    .bsr-facility-use__item + .bsr-facility-use__item {
        min-height: 0;

        padding: 28px 0;

        border-left: 0;
        border-bottom: 1px solid var(--bsr-border);
    }

    .bsr-facility-use__item > span {
        margin-bottom: 20px;
    }

}


/* =========================================================
   45. MITGLIED WERDEN
   ========================================================= */

.bsr-membership-intro {
    padding: 120px 0;
    background: var(--bsr-white);
}

.bsr-membership-intro__grid {
    display: grid;
    grid-template-columns: 1fr minmax(420px,570px);
    gap: 100px;
}

.bsr-membership-intro h2,
.bsr-membership-benefits h2,
.bsr-membership-path h2,
.bsr-membership-question h2 {
    margin: 14px 0 0;
    color: var(--bsr-petrol-deep);
    font-size: clamp(44px,4.2vw,64px);
    font-weight: 750;
    line-height: 1;
    letter-spacing: -.045em;
}

.bsr-membership-intro h2 span,
.bsr-membership-benefits h2 span,
.bsr-membership-path h2 span,
.bsr-membership-question h2 span {
    color: var(--bsr-bordeaux);
}

.bsr-membership-intro__copy p {
    margin: 0;
    color: var(--bsr-muted);
    font-size: 16px;
    line-height: 1.8;
}

.bsr-membership-intro__copy .bsr-membership-intro__lead {
    margin-bottom: 24px;
    color: var(--bsr-petrol-deep);
    font-size: 21px;
    font-weight: 600;
    line-height: 1.55;
}


/* Vorteile */

.bsr-membership-benefits {
    padding: 115px 0 125px;
    background: var(--bsr-cream);
}

.bsr-membership-benefits__header {
    margin-bottom: 60px;
}

.bsr-membership-benefits__grid {
    display: grid;
    grid-template-columns: repeat(2,1fr);

    border-top: 1px solid var(--bsr-border);
}

.bsr-membership-benefit {
    min-height: 270px;
    padding: 38px 55px 38px 0;

    border-bottom: 1px solid var(--bsr-border);
}

.bsr-membership-benefit:nth-child(even) {
    padding-left: 55px;
    border-left: 1px solid var(--bsr-border);
}

.bsr-membership-benefit > span {
    display: block;
    margin-bottom: 42px;

    color: var(--bsr-bordeaux);

    font-size: 11px;
    font-weight: 800;
}

.bsr-membership-benefit h3 {
    margin: 0;

    color: var(--bsr-petrol-deep);

    font-size: 27px;
    font-weight: 720;
    letter-spacing: -.03em;
}

.bsr-membership-benefit p {
    max-width: 470px;
    margin: 13px 0 0;

    color: var(--bsr-muted);

    font-size: 14.5px;
    line-height: 1.7;
}


/* Weg */

.bsr-membership-path {
    padding: 120px 0 125px;
    background: var(--bsr-white);
}

.bsr-membership-path__header {
    display: grid;
    grid-template-columns: 1fr minmax(350px,490px);
    gap: 80px;
    align-items: end;

    margin-bottom: 65px;
}

.bsr-membership-path__header > p {
    margin: 0;

    color: var(--bsr-muted);

    font-size: 16px;
    line-height: 1.75;
}

.bsr-membership-path__steps {
    display: grid;
    grid-template-columns:
        1fr 34px
        1fr 34px
        1fr 34px
        1fr 34px
        1fr;

    align-items: stretch;
}

.bsr-membership-path__step {
    min-height: 215px;

    padding: 27px 24px;

    border: 1px solid var(--bsr-border);
    border-radius: 14px;

    background: var(--bsr-cream);
}

.bsr-membership-path__step > span {
    display: block;

    margin-bottom: 42px;

    color: var(--bsr-bordeaux);

    font-size: 11px;
    font-weight: 800;
}

.bsr-membership-path__step strong {
    display: block;

    color: var(--bsr-petrol-deep);

    font-size: 17px;
    font-weight: 720;
}

.bsr-membership-path__step p {
    margin: 10px 0 0;

    color: var(--bsr-muted);

    font-size: 12.5px;
    line-height: 1.6;
}

.bsr-membership-path__step--final {
    border-color: var(--bsr-petrol-deep);
    background: var(--bsr-petrol-deep);
}

.bsr-membership-path__step--final > span {
    color: var(--bsr-gold);
}

.bsr-membership-path__step--final strong {
    color: var(--bsr-white);
}

.bsr-membership-path__step--final p {
    color: rgba(255,255,255,.58);
}

.bsr-membership-path__arrow {
    display: flex;
    align-items: center;
    justify-content: center;

    color: var(--bsr-bordeaux);

    font-size: 19px;
}

.bsr-membership-path__link {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    margin-top: 28px;

    color: var(--bsr-petrol) !important;

    font-size: 13px;
    font-weight: 750;

    text-decoration: none !important;
}

.bsr-membership-path__link span {
    color: var(--bsr-bordeaux);
    font-size: 18px;
}


/* großes Bild */

.bsr-membership-place {
    padding: 0 0 125px;
    background: var(--bsr-white);
}

.bsr-membership-place__visual {
    position: relative;

    min-height: 560px;

    overflow: hidden;

    border-radius: 24px;
}

.bsr-membership-place__visual img {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.bsr-membership-place__overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(7,25,30,.88) 0%,
            rgba(7,25,30,.58) 48%,
            rgba(7,25,30,.12) 100%
        );
}

.bsr-membership-place__content {
    position: relative;
    z-index: 2;

    display: flex;
    flex-direction: column;
    justify-content: center;

    min-height: 560px;

    padding: 70px;
}

.bsr-membership-place h2 {
    margin: 14px 0 0;

    color: var(--bsr-white);

    font-size: clamp(44px,4.5vw,67px);
    line-height: 1;
    letter-spacing: -.045em;
}

.bsr-membership-place h2 span {
    color: var(--bsr-gold);
}

.bsr-membership-place__content > a {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    gap: 12px;

    margin-top: 30px;
    padding-bottom: 4px;

    border-bottom: 1px solid rgba(255,255,255,.4);

    color: var(--bsr-white) !important;

    font-size: 14px;
    font-weight: 750;

    text-decoration: none !important;
}

.bsr-membership-place__content > a span {
    color: var(--bsr-gold);
}


/* Noch unsicher */

.bsr-membership-question {
    padding: 110px 0;

    background: var(--bsr-cream);
}

.bsr-membership-question__inner {
    display: grid;
    grid-template-columns: 1fr minmax(370px,500px);
    gap: 90px;
    align-items: end;
}

.bsr-membership-question__inner > div:last-child > p {
    margin: 0;

    color: var(--bsr-muted);

    font-size: 16px;
    line-height: 1.75;
}


/* Responsive */

@media (max-width: 1000px) {

    .bsr-membership-path__steps {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .bsr-membership-path__arrow {
        min-height: 25px;
        transform: rotate(90deg);
    }

    .bsr-membership-path__step {
        min-height: 0;
    }

    .bsr-membership-path__step > span {
        margin-bottom: 22px;
    }
}


@media (max-width: 800px) {

    .bsr-membership-intro__grid,
    .bsr-membership-path__header,
    .bsr-membership-question__inner {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .bsr-membership-benefits__grid {
        grid-template-columns: 1fr;
    }

    .bsr-membership-benefit,
    .bsr-membership-benefit:nth-child(even) {
        min-height: 0;

        padding: 32px 0;

        border-left: 0;
    }

    .bsr-membership-benefit > span {
        margin-bottom: 24px;
    }
}


@media (max-width: 600px) {

    .bsr-membership-intro,
    .bsr-membership-benefits,
    .bsr-membership-path,
    .bsr-membership-question {
        padding: 70px 0;
    }

    .bsr-membership-intro h2,
    .bsr-membership-benefits h2,
    .bsr-membership-path h2,
    .bsr-membership-question h2 {
        font-size: 40px;
    }

    .bsr-membership-place {
        padding-bottom: 70px;
    }

    .bsr-membership-place__visual {
        min-height: 500px;
        border-radius: 18px;
    }

    .bsr-membership-place__content {
        justify-content: flex-end;

        min-height: 500px;

        padding: 40px 28px;
    }

    .bsr-membership-place h2 {
        font-size: 41px;
    }
}


/* =========================================================
   46. KONTAKT
   ========================================================= */

.bsr-contact-main {
    padding: 120px 0 130px;
    background: var(--bsr-cream);
}

.bsr-contact-main__grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 100px;
    align-items: start;
}


/* linke Seite */

.bsr-contact-info h2,
.bsr-contact-next h2 {
    margin: 14px 0 0;

    color: var(--bsr-petrol-deep);

    font-size: clamp(46px, 4.4vw, 66px);
    font-weight: 750;
    line-height: 1;
    letter-spacing: -.045em;
}

.bsr-contact-info h2 span,
.bsr-contact-next h2 span {
    color: var(--bsr-bordeaux);
}

.bsr-contact-info__lead {
    max-width: 520px;

    margin: 30px 0 0;

    color: var(--bsr-muted);

    font-size: 16px;
    line-height: 1.75;
}


/* Themen */

.bsr-contact-topics {
    margin-top: 45px;

    border-top: 1px solid var(--bsr-border);
}

.bsr-contact-topic {
    display: grid;
    grid-template-columns: 55px 1fr;
    gap: 20px;

    padding: 27px 0;

    border-bottom: 1px solid var(--bsr-border);
}

.bsr-contact-topic > span {
    padding-top: 3px;

    color: var(--bsr-bordeaux);

    font-size: 10px;
    font-weight: 800;
    letter-spacing: .1em;
}

.bsr-contact-topic strong {
    display: block;

    color: var(--bsr-petrol-deep);

    font-size: 17px;
    font-weight: 720;
}

.bsr-contact-topic p {
    max-width: 430px;

    margin: 7px 0 0;

    color: var(--bsr-muted);

    font-size: 13.5px;
    line-height: 1.65;
}


/* geschützte Mail */

.bsr-contact-mail {
    margin-top: 38px;
    padding: 28px 30px;

    border-radius: 15px;

    background: var(--bsr-petrol-deep);
}

.bsr-contact-mail__label {
    display: block;

    margin-bottom: 8px;

    color: rgba(255,255,255,.52);

    font-size: 10px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.bsr-contact-mail a {
    display: inline-flex;
    align-items: center;

    color: var(--bsr-gold) !important;

    font-size: 18px;
    font-weight: 720;

    text-decoration: none !important;
}

.bsr-contact-mail a:hover {
    color: var(--bsr-white) !important;
}

.bsr-contact-mail small {
    display: block;

    margin-top: 10px;

    color: rgba(255,255,255,.45);

    font-size: 10px;
    line-height: 1.5;
}


/* =========================================================
   FORMULAR
   ========================================================= */

.bsr-contact-form-wrap {
    overflow: hidden;

    border-radius: 24px;

    background: var(--bsr-white);

    box-shadow: 0 22px 60px rgba(13,43,51,.08);
}

.bsr-contact-form-head {
    padding: 48px 52px 35px;

    border-bottom: 1px solid var(--bsr-border);
}

.bsr-contact-form-head > span {
    display: block;

    margin-bottom: 10px;

    color: var(--bsr-bordeaux);

    font-size: 10px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.bsr-contact-form-head h2 {
    margin: 0;

    color: var(--bsr-petrol-deep);

    font-size: 38px;
    font-weight: 750;
    letter-spacing: -.035em;
}

.bsr-contact-form-head p {
    max-width: 470px;

    margin: 12px 0 0;

    color: var(--bsr-muted);

    font-size: 14px;
    line-height: 1.7;
}

.bsr-contact-form-slot {
    padding: 45px 52px 52px;
}


/* Nur bis echter Shortcode eingesetzt ist */

.bsr-contact-form-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    min-height: 390px;

    padding: 50px;

    border: 1px dashed rgba(25,72,85,.24);
    border-radius: 16px;

    text-align: center;
}

.bsr-contact-form-placeholder__icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 58px;
    height: 58px;

    margin-bottom: 23px;

    border-radius: 50%;

    background: var(--bsr-gold);
    color: var(--bsr-petrol-deep);

    font-size: 24px;
}

.bsr-contact-form-placeholder strong {
    color: var(--bsr-petrol-deep);

    font-size: 21px;
    font-weight: 720;
}

.bsr-contact-form-placeholder p {
    margin: 8px 0 0;

    color: var(--bsr-muted);

    font-size: 13px;
}


/* =========================================================
   DIREKTE WEGE
   ========================================================= */

.bsr-contact-next {
    padding: 115px 0 125px;

    background: var(--bsr-white);
}

.bsr-contact-next__header {
    margin-bottom: 55px;
}

.bsr-contact-next__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);

    border-top: 1px solid var(--bsr-border);
}

.bsr-contact-next__card {
    position: relative;

    display: flex;
    flex-direction: column;

    min-height: 320px;

    padding: 35px 38px 32px 0;

    color: inherit !important;

    text-decoration: none !important;

    transition:
        background 220ms ease,
        padding 220ms ease;
}

.bsr-contact-next__card + .bsr-contact-next__card {
    padding-left: 38px;

    border-left: 1px solid var(--bsr-border);
}

.bsr-contact-next__card > span {
    display: block;

    margin-bottom: auto;

    color: var(--bsr-bordeaux);

    font-size: 10px;
    font-weight: 800;
}

.bsr-contact-next__card h3 {
    margin: 0;

    color: var(--bsr-petrol-deep);

    font-size: 25px;
    font-weight: 720;
    letter-spacing: -.025em;
}

.bsr-contact-next__card p {
    max-width: 340px;

    margin: 12px 0 0;

    color: var(--bsr-muted);

    font-size: 13.5px;
    line-height: 1.65;
}

.bsr-contact-next__card > strong {
    display: block;

    margin-top: 25px;

    color: var(--bsr-bordeaux);

    font-size: 21px;

    transition: transform 220ms ease;
}

.bsr-contact-next__card:hover > strong {
    transform: translateX(6px);
}


/* =========================================================
   KONTAKT RESPONSIVE
   ========================================================= */

@media (max-width: 900px) {

    .bsr-contact-main__grid {
        grid-template-columns: 1fr;
        gap: 65px;
    }

    .bsr-contact-next__grid {
        grid-template-columns: 1fr;
    }

    .bsr-contact-next__card,
    .bsr-contact-next__card + .bsr-contact-next__card {
        min-height: 230px;

        padding: 30px 0;

        border-left: 0;
        border-bottom: 1px solid var(--bsr-border);
    }

}


@media (max-width: 600px) {

    .bsr-contact-main,
    .bsr-contact-next {
        padding: 70px 0;
    }

    .bsr-contact-info h2,
    .bsr-contact-next h2 {
        font-size: 40px;
    }

    .bsr-contact-form-wrap {
        border-radius: 18px;
    }

    .bsr-contact-form-head {
        padding: 35px 27px 27px;
    }

    .bsr-contact-form-head h2 {
        font-size: 31px;
    }

    .bsr-contact-form-slot {
        padding: 28px 27px 32px;
    }

    .bsr-contact-form-placeholder {
        min-height: 300px;
        padding: 30px 20px;
    }

}


/* =========================================================
   47. TERMINE
   ========================================================= */

.bsr-events-page {
    padding: 120px 0 130px;
    background: var(--bsr-cream);
}

.bsr-events-page__header {
    display: grid;
    grid-template-columns: 1fr minmax(360px,500px);
    gap: 80px;
    align-items: end;

    margin-bottom: 65px;
}

.bsr-events-page__header h2,
.bsr-events-entry h2 {
    margin: 14px 0 0;

    color: var(--bsr-petrol-deep);

    font-size: clamp(46px,4.4vw,66px);
    font-weight: 750;
    line-height: 1;
    letter-spacing: -.045em;
}

.bsr-events-page__header h2 span,
.bsr-events-entry h2 span {
    color: var(--bsr-bordeaux);
}

.bsr-events-page__header > p {
    margin: 0;

    color: var(--bsr-muted);

    font-size: 16px;
    line-height: 1.75;
}


/* Terminbereich */

.bsr-events-page__content {
    padding-top: 10px;
}


/* =========================================================
   EINSTIEGSBLOCK
   ========================================================= */

.bsr-events-entry {
    padding: 110px 0 120px;
    background: var(--bsr-white);
}

.bsr-events-entry__inner {
    display: grid;
    grid-template-columns: 1fr minmax(370px,500px);
    gap: 90px;
    align-items: end;
}

.bsr-events-entry__inner > div:last-child > p {
    margin: 0;

    color: var(--bsr-muted);

    font-size: 16px;
    line-height: 1.75;
}

.bsr-events-entry__button {
    display: inline-flex;
    align-items: center;
    gap: 13px;

    min-height: 50px;

    margin-top: 26px;
    padding: 0 23px;

    border-radius: 999px;

    background: var(--bsr-petrol-deep);
    color: var(--bsr-white) !important;

    font-size: 13px;
    font-weight: 750;

    text-decoration: none !important;
}

.bsr-events-entry__button span {
    color: var(--bsr-gold);
    font-size: 18px;

    transition: transform 220ms ease;
}

.bsr-events-entry__button:hover span {
    transform: translateX(4px);
}


/* Responsive */

@media (max-width: 800px) {

    .bsr-events-page__header,
    .bsr-events-entry__inner {
        grid-template-columns: 1fr;
        gap: 32px;
    }

}

@media (max-width: 600px) {

    .bsr-events-page,
    .bsr-events-entry {
        padding: 70px 0;
    }

    .bsr-events-page__header h2,
    .bsr-events-entry h2 {
        font-size: 40px;
    }

}


/* =========================================================
   48. ÖFFENTLICHE TERMINLISTE
   ========================================================= */

.bsr-events-list {
    border-top: 1px solid var(--bsr-border);
}

.bsr-events-list__item {
    display: grid;
    grid-template-columns: 105px 230px 1fr 115px;
    align-items: center;

    min-height: 155px;

    border-bottom: 1px solid var(--bsr-border);

    transition:
        background 220ms ease,
        padding 220ms ease;
}

.bsr-events-list__item:hover {
    background: rgba(255,255,255,.55);
}


/* Datum */

.bsr-events-list__date {
    display: flex;
    flex-direction: column;
    justify-content: center;

    min-height: 90px;

    border-right: 1px solid var(--bsr-border);
}

.bsr-events-list__date strong {
    display: block;

    color: var(--bsr-petrol-deep);

    font-size: 48px;
    font-weight: 760;
    line-height: .9;
    letter-spacing: -.05em;
}

.bsr-events-list__date span {
    display: block;

    margin-top: 8px;

    color: var(--bsr-bordeaux);

    font-size: 10px;
    font-weight: 850;
    letter-spacing: .15em;
}


/* Meta */

.bsr-events-list__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;

    padding: 0 32px;

    color: var(--bsr-muted);

    font-size: 11px;
    font-weight: 650;
}

.bsr-events-list__dot {
    display: block;

    width: 3px;
    height: 3px;

    border-radius: 50%;

    background: var(--bsr-bordeaux);
}


/* Titel */

.bsr-events-list__title {
    padding: 25px 30px 25px 0;
}

.bsr-events-list__title h3 {
    margin: 0;

    font-size: clamp(20px,2vw,28px);
    font-weight: 720;
    line-height: 1.2;
    letter-spacing: -.025em;
}

.bsr-events-list__title h3 a {
    color: var(--bsr-petrol-deep) !important;
    text-decoration: none !important;
}


/* Details */

.bsr-events-list__action {
    display: flex;
    justify-content: flex-end;
}

.bsr-events-list__action a {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    color: var(--bsr-petrol-deep) !important;

    font-size: 11px;
    font-weight: 800;

    text-decoration: none !important;
}

.bsr-events-list__action strong {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;

    border-radius: 50%;

    background: var(--bsr-petrol-deep);
    color: var(--bsr-gold);

    font-size: 17px;

    transition: transform 220ms ease;
}

.bsr-events-list__action a:hover strong {
    transform: translateX(4px);
}


/* =========================================================
   KEINE TERMINE
   ========================================================= */

.bsr-events-empty {
    padding: 65px;

    border-radius: 20px;

    background: var(--bsr-white);
}

.bsr-events-empty > span {
    display: block;

    margin-bottom: 12px;

    color: var(--bsr-bordeaux);

    font-size: 10px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.bsr-events-empty h3 {
    max-width: 700px;

    margin: 0;

    color: var(--bsr-petrol-deep);

    font-size: 31px;
    font-weight: 720;
    letter-spacing: -.03em;
}

.bsr-events-empty p {
    max-width: 600px;

    margin: 18px 0 0;

    color: var(--bsr-muted);

    font-size: 14px;
    line-height: 1.7;
}

.bsr-events-empty a {
    display: inline-flex;
    align-items: center;
    gap: 11px;

    margin-top: 25px;

    color: var(--bsr-petrol-deep) !important;

    font-size: 13px;
    font-weight: 750;

    text-decoration: none !important;
}

.bsr-events-empty a span {
    color: var(--bsr-bordeaux);
    font-size: 18px;
}


/* =========================================================
   TERMINLISTE RESPONSIVE
   ========================================================= */

@media (max-width: 1000px) {

    .bsr-events-list__item {
        grid-template-columns: 90px 1fr 100px;
    }

    .bsr-events-list__meta {
        grid-column: 2;
        grid-row: 1;

        align-self: end;

        padding: 25px 25px 4px;
    }

    .bsr-events-list__title {
        grid-column: 2;
        grid-row: 2;

        align-self: start;

        padding: 4px 25px 25px;
    }

    .bsr-events-list__date {
        grid-row: 1 / 3;
    }

    .bsr-events-list__action {
        grid-column: 3;
        grid-row: 1 / 3;
    }

}


@media (max-width: 600px) {

    .bsr-events-list__item {
        grid-template-columns: 72px 1fr;

        min-height: 145px;

        padding: 20px 0;
    }

    .bsr-events-list__date {
        grid-column: 1;
        grid-row: 1 / 3;

        justify-content: flex-start;

        min-height: 100%;

        padding-top: 5px;
    }

    .bsr-events-list__date strong {
        font-size: 38px;
    }

    .bsr-events-list__meta {
        grid-column: 2;
        grid-row: 1;

        align-self: start;

        padding: 4px 0 7px 20px;
    }

    .bsr-events-list__title {
        grid-column: 2;
        grid-row: 2;

        padding: 0 0 8px 20px;
    }

    .bsr-events-list__title h3 {
        font-size: 21px;
    }

    .bsr-events-list__action {
        grid-column: 2;
        grid-row: 3;

        justify-content: flex-start;

        padding-left: 20px;
    }

    .bsr-events-list__action a > span {
        display: none;
    }

    .bsr-events-list__action strong {
        width: 34px;
        height: 34px;
    }

    .bsr-events-empty {
        padding: 38px 28px;
    }

}


/* =========================================================
   49. RECHTLICHE SEITEN
   ========================================================= */

.bsr-legal-hero {
    padding: 105px 0 90px;
    background: var(--bsr-petrol-deep);
}

.bsr-legal-hero__content {
    max-width: 800px;
}

.bsr-legal-hero h1 {
    margin: 14px 0 0;

    color: var(--bsr-white);

    font-size: clamp(60px,7vw,94px);
    font-weight: 760;
    line-height: .95;
    letter-spacing: -.055em;
}

.bsr-legal-hero h1 span {
    color: var(--bsr-gold);
}

.bsr-legal-hero p {
    max-width: 600px;

    margin: 25px 0 0;

    color: rgba(255,255,255,.65);

    font-size: 16px;
    line-height: 1.7;
}


/* Inhalt */

.bsr-legal {
    padding: 110px 0 130px;
    background: var(--bsr-cream);
}

.bsr-legal__layout {
    display: grid;
    grid-template-columns: 270px minmax(0,760px);
    gap: 100px;
    justify-content: center;
    align-items: start;
}

.bsr-legal__aside {
    position: sticky;
    top: 140px;

    padding-top: 5px;
}

.bsr-legal__aside > span {
    color: var(--bsr-bordeaux);

    font-size: 10px;
    font-weight: 850;
    letter-spacing: .14em;
}

.bsr-legal__aside p {
    margin: 15px 0 0;

    color: var(--bsr-muted);

    font-size: 13px;
    line-height: 1.7;
}


/* Einzelne Abschnitte */

.bsr-legal__block {
    position: relative;

    padding: 0 0 55px;
    margin: 0 0 55px;

    border-bottom: 1px solid var(--bsr-border);
}

.bsr-legal__block:last-child {
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: 0;
}

.bsr-legal__number {
    display: block;

    margin-bottom: 13px;

    color: var(--bsr-bordeaux);

    font-size: 10px;
    font-weight: 850;
    letter-spacing: .14em;
}

.bsr-legal__block h2 {
    margin: 0 0 22px;

    color: var(--bsr-petrol-deep);

    font-size: clamp(27px,3vw,38px);
    font-weight: 740;
    line-height: 1.1;
    letter-spacing: -.035em;
}

.bsr-legal__block h3 {
    margin: 28px 0 12px;

    color: var(--bsr-petrol-deep);

    font-size: 19px;
    font-weight: 720;
}

.bsr-legal__block p {
    margin: 0 0 17px;

    color: var(--bsr-muted);

    font-size: 15px;
    line-height: 1.8;
}

.bsr-legal__block p:last-child {
    margin-bottom: 0;
}

.bsr-legal__block strong {
    color: var(--bsr-petrol-deep);
}


/* E-Mail */

.bsr-legal .bsr-protected-email {
    display: inline-flex;
    align-items: center;

    margin-top: 4px;

    color: var(--bsr-bordeaux) !important;

    font-size: 14px;
    font-weight: 750;

    text-decoration: none !important;
    border-bottom: 1px solid rgba(136,38,48,.25);
}


/* Platzhalter – absichtlich auffällig */

.bsr-legal__placeholder {
    margin-top: 20px;
    padding: 20px 22px;

    border: 1px solid rgba(136,38,48,.25);
    border-radius: 10px;

    background: rgba(136,38,48,.06);
    color: var(--bsr-bordeaux);

    font-size: 12px;
    font-weight: 700;
    line-height: 1.7;
}


/* Interner Hinweis */

.bsr-legal__notice {
    margin-top: 22px;
    padding: 18px 20px;

    border-left: 3px solid var(--bsr-gold);

    background: rgba(241,202,95,.12);
    color: var(--bsr-petrol-deep);

    font-size: 12px;
    font-weight: 650;
    line-height: 1.65;
}


/* Responsive */

@media (max-width: 900px) {

    .bsr-legal__layout {
        grid-template-columns: 1fr;
        gap: 55px;
    }

    .bsr-legal__aside {
        position: static;
        max-width: 500px;
    }

}

@media (max-width: 600px) {

    .bsr-legal-hero {
        padding: 80px 0 70px;
    }

    .bsr-legal-hero h1 {
        font-size: 52px;
    }

    .bsr-legal {
        padding: 70px 0 90px;
    }

    .bsr-legal__layout {
        gap: 45px;
    }

    .bsr-legal__block {
        padding-bottom: 40px;
        margin-bottom: 40px;
    }

}


/* =========================================================
   50. MITGLIEDERBEREICH
   ========================================================= */

.bsr-member-hero {
    position: relative;
    overflow: hidden;

    padding: 115px 0 105px;

    background: var(--bsr-petrol-deep);
}

.bsr-member-hero::after {
    content: "";

    position: absolute;
    top: -180px;
    right: -120px;

    width: 520px;
    height: 520px;

    border: 1px solid rgba(241,202,95,.18);
    border-radius: 50%;
}

.bsr-member-hero::before {
    content: "";

    position: absolute;
    top: -100px;
    right: -40px;

    width: 360px;
    height: 360px;

    border: 1px solid rgba(241,202,95,.09);
    border-radius: 50%;
}

.bsr-member-hero__content {
    position: relative;
    z-index: 2;

    max-width: 760px;
}

.bsr-member-hero h1 {
    margin: 15px 0 0;

    color: var(--bsr-white);

    font-size: clamp(58px,7vw,92px);
    font-weight: 760;
    line-height: .94;
    letter-spacing: -.055em;
}

.bsr-member-hero h1 span {
    color: var(--bsr-gold);
}

.bsr-member-hero p {
    max-width: 560px;

    margin: 28px 0 0;

    color: rgba(255,255,255,.66);

    font-size: 17px;
    line-height: 1.7;
}


/* Dashboard */

.bsr-member-dashboard {
    padding: 115px 0 130px;

    background: var(--bsr-cream);
}

.bsr-member-dashboard__head {
    display: grid;
    grid-template-columns: 1fr minmax(350px,480px);
    gap: 80px;
    align-items: end;

    margin-bottom: 60px;
}

.bsr-member-dashboard__head h2 {
    margin: 14px 0 0;

    color: var(--bsr-petrol-deep);

    font-size: clamp(45px,4.3vw,65px);
    font-weight: 750;
    line-height: 1;
    letter-spacing: -.045em;
}

.bsr-member-dashboard__head h2 span {
    color: var(--bsr-bordeaux);
}

.bsr-member-dashboard__head > p {
    margin: 0;

    color: var(--bsr-muted);

    font-size: 15px;
    line-height: 1.75;
}


/* Karten */

.bsr-member-dashboard__grid {
    display: grid;
    grid-template-columns: repeat(2,1fr);

    gap: 18px;
}

.bsr-member-card {
    position: relative;

    display: flex;
    flex-direction: column;

    min-height: 325px;

    padding: 35px;

    overflow: hidden;

    border: 1px solid var(--bsr-border);
    border-radius: 19px;

    background: var(--bsr-white);

    color: inherit !important;
    text-decoration: none !important;

    transition:
        transform 240ms ease,
        box-shadow 240ms ease,
        border-color 240ms ease;
}

.bsr-member-card:hover {
    transform: translateY(-4px);

    border-color: rgba(25,72,85,.22);

    box-shadow: 0 20px 45px rgba(13,43,51,.08);
}

.bsr-member-card__number {
    display: block;

    margin-bottom: auto;

    color: var(--bsr-bordeaux);

    font-size: 11px;
    font-weight: 800;
}

.bsr-member-card__label {
    display: block;

    margin-bottom: 8px;

    color: var(--bsr-bordeaux);

    font-size: 9px;
    font-weight: 850;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.bsr-member-card h3 {
    margin: 0;

    color: var(--bsr-petrol-deep);

    font-size: 31px;
    font-weight: 740;
    letter-spacing: -.035em;
}

.bsr-member-card p {
    max-width: 390px;

    margin: 12px 55px 0 0;

    color: var(--bsr-muted);

    font-size: 14px;
    line-height: 1.65;
}

.bsr-member-card > strong {
    position: absolute;
    right: 32px;
    bottom: 31px;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    border-radius: 50%;

    background: var(--bsr-petrol-deep);
    color: var(--bsr-gold);

    font-size: 18px;

    transition: transform 220ms ease;
}

.bsr-member-card:hover > strong {
    transform: translateX(4px);
}


/* Responsive */

@media (max-width: 800px) {

    .bsr-member-dashboard__head {
        grid-template-columns: 1fr;
        gap: 30px;
    }

}

@media (max-width: 650px) {

    .bsr-member-hero {
        padding: 85px 0 75px;
    }

    .bsr-member-hero h1 {
        font-size: 55px;
    }

    .bsr-member-dashboard {
        padding: 70px 0;
    }

    .bsr-member-dashboard__grid {
        grid-template-columns: 1fr;
    }

    .bsr-member-card {
        min-height: 270px;
        padding: 28px;
    }

}


/* =========================================================
   53. MEMBER DASHBOARD – WORDPRESS AUTOP FIX
   ========================================================= */

/*
 * WordPress/BuddyX kann im Seiteninhalt leere Absatz-Elemente
 * zwischen den Karten erzeugen. Diese dürfen im Grid keinen
 * eigenen Platz belegen.
 */

.bsr-member-dashboard__grid > p:empty,
.bsr-member-dashboard__grid > br {
    display: none !important;
}

/* Grid explizit auf unsere vier Karten begrenzen */

.bsr-member-dashboard__grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
}

.bsr-member-dashboard__grid > .bsr-member-card {
    display: flex !important;
    flex-direction: column !important;

    width: 100% !important;
    min-width: 0 !important;
    min-height: 300px !important;

    margin: 0 !important;
    padding: 34px !important;

    box-sizing: border-box !important;
}


/* Sicherheit: nur echte Karten bekommen die Kartenoptik */

.bsr-member-dashboard__grid > :not(.bsr-member-card) {
    min-height: 0 !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}


@media (max-width: 650px) {

    .bsr-member-dashboard__grid {
        grid-template-columns: 1fr !important;
    }

}


/* =========================================================
   54. MITGLIEDER – UNTERSEITEN
   ========================================================= */

.bsr-member-subhero {
    padding: 80px 0 85px;

    background: var(--bsr-petrol-deep);
}

.bsr-member-back {
    display: inline-flex;

    margin-bottom: 50px;

    color: rgba(255,255,255,.55) !important;

    font-size: 11px;
    font-weight: 700;

    text-decoration: none !important;

    transition: color 180ms ease;
}

.bsr-member-back:hover {
    color: var(--bsr-gold) !important;
}

.bsr-member-subhero h1 {
    margin: 14px 0 0;

    color: var(--bsr-white);

    font-size: clamp(54px,6vw,82px);
    font-weight: 760;
    line-height: .95;
    letter-spacing: -.05em;
}

.bsr-member-subhero h1 span {
    color: var(--bsr-gold);
}

.bsr-member-subhero p {
    max-width: 600px;

    margin: 25px 0 0;

    color: rgba(255,255,255,.65);

    font-size: 16px;
    line-height: 1.7;
}


/* Kalender */

.bsr-internal-calendar {
    padding: 110px 0 130px;

    background: var(--bsr-cream);
}

.bsr-internal-calendar__head {
    display: grid;
    grid-template-columns: 1fr minmax(350px,480px);
    gap: 80px;
    align-items: end;

    margin-bottom: 60px;
}

.bsr-internal-calendar__head h2 {
    margin: 14px 0 0;

    color: var(--bsr-petrol-deep);

    font-size: clamp(44px,4.3vw,64px);
    font-weight: 750;
    line-height: 1;
    letter-spacing: -.045em;
}

.bsr-internal-calendar__head h2 span {
    color: var(--bsr-bordeaux);
}

.bsr-internal-calendar__head > p {
    margin: 0;

    color: var(--bsr-muted);

    font-size: 15px;
    line-height: 1.75;
}


/* Termine */

.bsr-internal-events {
    border-top: 1px solid var(--bsr-border);
}

.bsr-internal-event {
    display: grid;
    grid-template-columns: 115px 1fr;
    gap: 40px;

    padding: 38px 0;

    border-bottom: 1px solid var(--bsr-border);
}

.bsr-internal-event__date {
    padding-top: 4px;

    border-right: 1px solid var(--bsr-border);
}

.bsr-internal-event__date strong {
    display: block;

    color: var(--bsr-petrol-deep);

    font-size: 48px;
    font-weight: 760;
    line-height: .9;
    letter-spacing: -.05em;
}

.bsr-internal-event__date span {
    display: block;

    margin-top: 8px;

    color: var(--bsr-bordeaux);

    font-size: 10px;
    font-weight: 850;
    letter-spacing: .15em;
}

.bsr-internal-event__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;

    margin-bottom: 10px;

    color: var(--bsr-muted);

    font-size: 11px;
    font-weight: 650;
}

.bsr-internal-event__meta i {
    display: block;

    width: 3px;
    height: 3px;

    border-radius: 50%;

    background: var(--bsr-bordeaux);
}

.bsr-internal-event__category {
    display: inline-flex;

    padding: 5px 9px;

    border-radius: 999px;

    background: rgba(136,38,48,.08);
    color: var(--bsr-bordeaux);

    font-size: 9px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.bsr-internal-event h3 {
    margin: 0;

    color: var(--bsr-petrol-deep);

    font-size: clamp(23px,2.4vw,31px);
    font-weight: 740;
    line-height: 1.15;
    letter-spacing: -.03em;
}

.bsr-internal-event p {
    max-width: 800px;

    margin: 12px 0 0;

    color: var(--bsr-muted);

    font-size: 14px;
    line-height: 1.7;
}


/* Keine Termine */

.bsr-internal-empty {
    padding: 50px;

    border: 1px solid var(--bsr-border);
    border-radius: 18px;

    background: var(--bsr-white);
}

.bsr-internal-empty > span {
    color: var(--bsr-bordeaux);

    font-size: 9px;
    font-weight: 850;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.bsr-internal-empty h3 {
    max-width: 650px;

    margin: 12px 0 0;

    color: var(--bsr-petrol-deep);

    font-size: 28px;
    font-weight: 730;
    letter-spacing: -.03em;
}

.bsr-internal-empty p {
    max-width: 600px;

    margin: 15px 0 0;

    color: var(--bsr-muted);

    font-size: 14px;
    line-height: 1.7;
}


@media (max-width:800px) {

    .bsr-internal-calendar__head {
        grid-template-columns: 1fr;
        gap: 30px;
    }

}


@media (max-width:600px) {

    .bsr-member-subhero {
        padding: 60px 0 65px;
    }

    .bsr-member-back {
        margin-bottom: 35px;
    }

    .bsr-internal-calendar {
        padding: 70px 0 90px;
    }

    .bsr-internal-event {
        grid-template-columns: 72px 1fr;
        gap: 20px;

        padding: 28px 0;
    }

    .bsr-internal-event__date strong {
        font-size: 38px;
    }

    .bsr-internal-empty {
        padding: 35px 28px;
    }

}


/* =========================================================
   55. MITGLIEDER – DOWNLOADS
   ========================================================= */

.bsr-member-downloads {
    padding:110px 0 130px;
    background:var(--bsr-cream);
}

.bsr-member-downloads__head {
    display:grid;
    grid-template-columns:1fr minmax(350px,480px);
    gap:80px;
    align-items:end;
    margin-bottom:70px;
}

.bsr-member-downloads__head h2 {
    margin:14px 0 0;
    color:var(--bsr-petrol-deep);
    font-size:clamp(44px,4.3vw,64px);
    font-weight:750;
    line-height:1;
    letter-spacing:-.045em;
}

.bsr-member-downloads__head h2 span {
    color:var(--bsr-bordeaux);
}

.bsr-member-downloads__head > p {
    margin:0;
    color:var(--bsr-muted);
    font-size:15px;
    line-height:1.75;
}

.bsr-download-group + .bsr-download-group {
    margin-top:70px;
}

.bsr-download-group__head {
    display:flex;
    align-items:baseline;
    gap:20px;
    margin-bottom:20px;
}

.bsr-download-group__head > span {
    color:var(--bsr-bordeaux);
    font-size:9px;
    font-weight:850;
    letter-spacing:.13em;
    text-transform:uppercase;
}

.bsr-download-group__head h3 {
    margin:0;
    color:var(--bsr-petrol-deep);
    font-size:25px;
    font-weight:740;
    letter-spacing:-.03em;
}

.bsr-download-list {
    border-top:1px solid var(--bsr-border);
}

.bsr-download-item {
    display:grid;
    grid-template-columns:54px 1fr auto;
    gap:24px;
    align-items:center;

    padding:27px 0;

    border-bottom:1px solid var(--bsr-border);
}

.bsr-download-item__icon {
    display:flex;
    align-items:center;
    justify-content:center;

    width:48px;
    height:48px;

    border-radius:14px;

    background:var(--bsr-petrol-deep);
    color:var(--bsr-gold);

    font-size:20px;
    font-weight:800;
}

.bsr-download-item__content h4 {
    margin:0;

    color:var(--bsr-petrol-deep);

    font-size:19px;
    font-weight:730;
    line-height:1.25;
    letter-spacing:-.02em;
}

.bsr-download-item__content p {
    max-width:700px;

    margin:7px 0 0;

    color:var(--bsr-muted);

    font-size:13px;
    line-height:1.6;
}

.bsr-download-item__meta {
    display:flex;
    align-items:center;
    gap:8px;

    margin-top:9px;

    color:var(--bsr-muted);

    font-size:9px;
    font-weight:800;
    letter-spacing:.08em;
}

.bsr-download-item__meta i {
    display:block;

    width:3px;
    height:3px;

    border-radius:50%;

    background:var(--bsr-bordeaux);
}

.bsr-download-item__button {
    display:inline-flex;
    align-items:center;
    gap:12px;

    padding:12px 17px;

    border:1px solid rgba(25,72,85,.16);
    border-radius:999px;

    background:var(--bsr-white);
    color:var(--bsr-petrol-deep) !important;

    font-size:11px;
    font-weight:750;

    text-decoration:none !important;

    transition:
        background 180ms ease,
        color 180ms ease,
        border-color 180ms ease;
}

.bsr-download-item__button span {
    color:var(--bsr-bordeaux);
}

.bsr-download-item__button:hover {
    border-color:var(--bsr-petrol-deep);

    background:var(--bsr-petrol-deep);
    color:var(--bsr-white) !important;
}

.bsr-download-item__button:hover span {
    color:var(--bsr-gold);
}


/* leer */

.bsr-download-empty {
    padding:50px;

    border:1px solid var(--bsr-border);
    border-radius:18px;

    background:var(--bsr-white);
}

.bsr-download-empty > span {
    color:var(--bsr-bordeaux);

    font-size:9px;
    font-weight:850;
    letter-spacing:.13em;
    text-transform:uppercase;
}

.bsr-download-empty h3 {
    margin:12px 0 0;

    color:var(--bsr-petrol-deep);

    font-size:28px;
    font-weight:730;
    letter-spacing:-.03em;
}

.bsr-download-empty p {
    max-width:600px;

    margin:15px 0 0;

    color:var(--bsr-muted);

    font-size:14px;
    line-height:1.7;
}


@media(max-width:800px) {

    .bsr-member-downloads__head {
        grid-template-columns:1fr;
        gap:30px;
    }

}


@media(max-width:650px) {

    .bsr-member-downloads {
        padding:70px 0 90px;
    }

    .bsr-download-item {
        grid-template-columns:48px 1fr;
        gap:17px;
    }

    .bsr-download-item__button {
        grid-column:2;

        justify-self:start;
    }

    .bsr-download-group__head {
        display:block;
    }

    .bsr-download-group__head h3 {
        margin-top:7px;
    }

}


/* =========================================================
   56. MITGLIEDER – VERZEICHNIS
   ========================================================= */

.bsr-member-directory {
    padding:110px 0 130px;
    background:var(--bsr-cream);
}

.bsr-member-directory__head {
    display:grid;
    grid-template-columns:1fr minmax(350px,480px);
    gap:80px;
    align-items:end;

    margin-bottom:65px;
}

.bsr-member-directory__head h2 {
    margin:14px 0 0;

    color:var(--bsr-petrol-deep);

    font-size:clamp(44px,4.3vw,64px);
    font-weight:750;
    line-height:1;
    letter-spacing:-.045em;
}

.bsr-member-directory__head h2 span {
    color:var(--bsr-bordeaux);
}

.bsr-member-directory__head > p {
    margin:0;

    color:var(--bsr-muted);

    font-size:15px;
    line-height:1.75;
}


/* GRID */

.bsr-member-directory-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
}


/* KARTE */

.bsr-member-directory-card {
    min-width:0;

    border:1px solid var(--bsr-border);
    border-radius:22px;

    overflow:hidden;

    background:var(--bsr-white);

    transition:
        transform 180ms ease,
        box-shadow 180ms ease,
        border-color 180ms ease;
}

.bsr-member-directory-card:hover {
    transform:translateY(-3px);

    border-color:rgba(25,72,85,.2);

    box-shadow:
        0 20px 45px
        rgba(15,29,45,.08);
}

.bsr-member-directory-card__link {
    display:block;

    height:100%;

    color:inherit !important;
    text-decoration:none !important;
}


/* AVATAR */

.bsr-member-directory-card__avatar {
    display:flex;
    align-items:center;
    justify-content:center;

    min-height:220px;

    background:
        radial-gradient(
            circle at 50% 40%,
            rgba(241,202,95,.18),
            transparent 46%
        ),
        #f3f1eb;
}

.bsr-member-directory-card__avatar img {
    width:130px !important;
    height:130px !important;

    margin:0 !important;

    border:6px solid var(--bsr-white);
    border-radius:50% !important;

    object-fit:cover;

    box-shadow:
        0 12px 35px
        rgba(15,29,45,.12);
}


/* TEXT */

.bsr-member-directory-card__content {
    padding:26px 28px 29px;
}

.bsr-member-directory-card__content > span {
    display:block;

    margin-bottom:8px;

    color:var(--bsr-bordeaux);

    font-size:9px;
    font-weight:850;
    letter-spacing:.11em;
    text-transform:uppercase;
}

.bsr-member-directory-card__content h3 {
    margin:0;

    color:var(--bsr-petrol-deep);

    font-size:23px;
    font-weight:740;
    line-height:1.15;
    letter-spacing:-.03em;
}

.bsr-member-directory-card__action {
    display:flex;
    align-items:center;
    justify-content:space-between;

    margin-top:22px;
    padding-top:17px;

    border-top:1px solid var(--bsr-border);

    color:var(--bsr-muted);

    font-size:10px;
    font-weight:750;
}

.bsr-member-directory-card__action b {
    color:var(--bsr-bordeaux);

    font-size:17px;
    font-weight:500;

    transition:transform 180ms ease;
}

.bsr-member-directory-card:hover
.bsr-member-directory-card__action b {
    transform:translateX(4px);
}


/* LEER */

.bsr-member-directory-empty {
    padding:50px;

    border:1px solid var(--bsr-border);
    border-radius:18px;

    background:var(--bsr-white);
}

.bsr-member-directory-empty > span {
    color:var(--bsr-bordeaux);

    font-size:9px;
    font-weight:850;
    letter-spacing:.13em;
    text-transform:uppercase;
}

.bsr-member-directory-empty h3 {
    margin:12px 0 0;

    color:var(--bsr-petrol-deep);

    font-size:28px;
    font-weight:730;
    letter-spacing:-.03em;
}


@media(max-width:1000px) {

    .bsr-member-directory-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

}


@media(max-width:800px) {

    .bsr-member-directory__head {
        grid-template-columns:1fr;
        gap:30px;
    }

}


@media(max-width:600px) {

    .bsr-member-directory {
        padding:70px 0 90px;
    }

    .bsr-member-directory-grid {
        grid-template-columns:1fr;
    }

    .bsr-member-directory-card__avatar {
        min-height:190px;
    }

}


/* =========================================================
   57. BUDDYPRESS – MITGLIEDERPROFIL
   ========================================================= */

/* Gesamter BuddyPress-Bereich */
body.buddypress #buddypress {
    max-width: 1400px;
    width: calc(100% - 80px);
    margin: 42px auto 70px;
    font-family: 'Manrope', sans-serif;
}


/* ---------------------------------------------------------
   PROFILKOPF
   --------------------------------------------------------- */

body.buddypress #item-header {
    background: var(--bsr-petrol) !important;
    border: 0 !important;
    border-radius: 26px !important;
    overflow: hidden;
    box-shadow: none !important;
    margin-bottom: 24px !important;
}

body.buddypress #item-header-content {
    min-height: 190px;
    padding: 38px 45px 38px 190px !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

body.buddypress #item-header-avatar {
    margin: 0 !important;
}

body.buddypress #item-header-avatar img.avatar {
    width: 125px !important;
    height: 125px !important;
    border-radius: 50% !important;
    border: 5px solid var(--bsr-white) !important;
    box-shadow: 0 10px 30px rgba(0,0,0,.18);
}


/* Name */
body.buddypress #item-header-content h2,
body.buddypress #item-header-content h2 a,
body.buddypress #item-header-content .user-nicename {
    color: var(--bsr-white) !important;
    font-size: 32px !important;
    line-height: 1.15 !important;
    font-weight: 750 !important;
    letter-spacing: -.03em;
}


/* Vereinsfunktion */
body.buddypress .bsr-bp-club-function {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin-top: 10px;
    padding: 6px 13px;

    background: var(--bsr-gold);
    color: var(--bsr-petrol-deep);

    border-radius: 999px;

    font-size: 12px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}


/* Letzte Aktivität */
body.buddypress #item-header-content .activity {
    margin-top: 11px !important;
    color: rgba(255,255,255,.65) !important;
    font-size: 12px !important;
}


/* ---------------------------------------------------------
   PROFILINHALT
   --------------------------------------------------------- */

body.buddypress #item-body {
    background: var(--bsr-white);
    border: 1px solid var(--bsr-border);
    border-radius: 24px;
    overflow: hidden;
    min-height: 420px;
}


/* ---------------------------------------------------------
   LINKE HAUPTNAVIGATION
   --------------------------------------------------------- */

body.buddypress #object-nav {
    background: var(--bsr-cream) !important;
    border: 0 !important;
}

body.buddypress #object-nav ul {
    padding: 14px !important;
}

body.buddypress #object-nav li a {
    padding: 13px 15px !important;
    border-radius: 10px !important;

    color: var(--bsr-petrol) !important;
    font-weight: 650 !important;
    font-size: 14px !important;

    transition: var(--bsr-transition);
}

body.buddypress #object-nav li a:hover {
    background: rgba(25,72,85,.08) !important;
}

body.buddypress #object-nav li.current a,
body.buddypress #object-nav li.selected a {
    background: var(--bsr-petrol) !important;
    color: var(--bsr-white) !important;
}


/* ---------------------------------------------------------
   UNTERNAVIGATION
   Anzeigen / Bearbeiten / Profilbild
   --------------------------------------------------------- */

body.buddypress #subnav {
    margin: 0 !important;
    padding: 12px 18px !important;

    background: var(--bsr-cream) !important;
    border: 0 !important;
    border-radius: 14px !important;
}

body.buddypress #subnav ul {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

body.buddypress #subnav li {
    margin: 0 !important;
}

body.buddypress #subnav li a {
    display: block;
    padding: 9px 13px !important;

    color: var(--bsr-petrol) !important;
    font-size: 13px !important;
    font-weight: 650 !important;

    border-radius: 8px !important;
}

body.buddypress #subnav li.current a,
body.buddypress #subnav li.selected a {
    background: var(--bsr-white) !important;
    color: var(--bsr-bordeaux) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.05);
}


/* ---------------------------------------------------------
   EIGENTLICHER INHALT
   --------------------------------------------------------- */

body.buddypress #item-body > div:not(#subnav),
body.buddypress #item-body .profile {
    color: var(--bsr-petrol-deep);
}

body.buddypress #item-body h2,
body.buddypress #item-body h3,
body.buddypress #item-body h4 {
    color: var(--bsr-petrol);
    font-weight: 750;
}


/* BuddyPress Tabellen */
body.buddypress .profile-fields {
    border: 0 !important;
}

body.buddypress .profile-fields td {
    padding: 14px 16px !important;
    border-bottom: 1px solid var(--bsr-border) !important;
}

body.buddypress .profile-fields .label {
    color: var(--bsr-muted);
    font-weight: 700;
}


/* ---------------------------------------------------------
   FORMULARE / EINSTELLUNGEN
   --------------------------------------------------------- */

body.buddypress #item-body input[type="text"],
body.buddypress #item-body input[type="email"],
body.buddypress #item-body input[type="password"],
body.buddypress #item-body input[type="url"],
body.buddypress #item-body textarea,
body.buddypress #item-body select {
    border: 1px solid var(--bsr-border) !important;
    border-radius: 10px !important;
    padding: 12px 14px !important;
    background: var(--bsr-white) !important;
    color: var(--bsr-petrol-deep) !important;
}

body.buddypress #item-body input:focus,
body.buddypress #item-body textarea:focus,
body.buddypress #item-body select:focus {
    border-color: var(--bsr-petrol) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(25,72,85,.08) !important;
}


/* Buttons */
body.buddypress #item-body input[type="submit"],
body.buddypress #item-body button,
body.buddypress #item-body .button {
    background: var(--bsr-gold) !important;
    color: var(--bsr-petrol-deep) !important;

    border: 0 !important;
    border-radius: 999px !important;

    padding: 11px 20px !important;

    font-weight: 800 !important;
    transition: var(--bsr-transition);
}

body.buddypress #item-body input[type="submit"]:hover,
body.buddypress #item-body button:hover,
body.buddypress #item-body .button:hover {
    transform: translateY(-1px);
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 900px) {

    body.buddypress #buddypress {
        width: calc(100% - 32px);
        margin: 24px auto 50px;
    }

    body.buddypress #item-header-content {
        min-height: 170px;
        padding: 30px 25px 30px 150px !important;
    }

    body.buddypress #item-header-avatar img.avatar {
        width: 100px !important;
        height: 100px !important;
    }

    body.buddypress #item-header-content h2,
    body.buddypress #item-header-content h2 a {
        font-size: 26px !important;
    }
}


@media (max-width: 600px) {

    body.buddypress #item-header {
        border-radius: 20px !important;
    }

    body.buddypress #item-header-content {
        min-height: auto;
        padding: 25px !important;
        align-items: center;
        text-align: center;
    }

    body.buddypress #item-header-avatar {
        position: static !important;
        float: none !important;
        text-align: center;
        padding-top: 25px;
    }

    body.buddypress #item-header-avatar img.avatar {
        width: 92px !important;
        height: 92px !important;
    }

    body.buddypress .bsr-bp-club-function {
        margin-left: auto;
        margin-right: auto;
    }

    body.buddypress #subnav ul {
        flex-direction: column;
    }

    body.buddypress #subnav li,
    body.buddypress #subnav li a {
        width: 100%;
    }
}


/* =========================================================
   58. BUDDYPRESS – PROFILKOPF KORREKTUR
   ========================================================= */

/*
 * BuddyX behält auch bei deaktiviertem Cover die komplette
 * Cover-Struktur bei. Wir verwenden sie als kompakten Profilkopf.
 */

body.buddypress #item-header {
    position: relative !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 0 26px !important;

    background: var(--bsr-petrol) !important;
    border: 0 !important;
    border-radius: 24px !important;

    overflow: hidden !important;
}


/* BuddyX Cover-Wrapper neutralisieren */
body.buddypress #item-header .item-header-cover-image-wrapper,
body.buddypress #item-header .item-header-cover-image-wrapper.hide-header-cover-image {
    position: relative !important;

    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
}


/* Eigentliche Profilzeile */
body.buddypress #item-header #item-header-cover-image {
    position: relative !important;

    display: flex !important;
    align-items: center !important;
    gap: 28px !important;

    width: 100% !important;
    height: auto !important;
    min-height: 160px !important;

    margin: 0 !important;
    padding: 28px 36px !important;

    background: transparent !important;
}


/* ---------------------------------------------------------
   AVATAR
   --------------------------------------------------------- */

body.buddypress #item-header #item-header-avatar {
    position: relative !important;
    inset: auto !important;

    float: none !important;

    flex: 0 0 104px !important;

    width: 104px !important;
    height: 104px !important;

    margin: 0 !important;
    padding: 0 !important;
}


body.buddypress #item-header #item-header-avatar img.avatar {
    display: block !important;

    width: 104px !important;
    height: 104px !important;

    margin: 0 !important;

    object-fit: cover !important;

    border: 4px solid rgba(255,255,255,.92) !important;
    border-radius: 50% !important;

    box-shadow: 0 8px 24px rgba(0,0,0,.16) !important;
}


/* Kamera / Profilbild ändern */
body.buddypress #item-header .link-change-profile-image {
    position: absolute !important;
    right: -2px !important;
    bottom: 3px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 31px !important;
    height: 31px !important;

    padding: 0 !important;

    background: var(--bsr-gold) !important;
    color: var(--bsr-petrol-deep) !important;

    border: 3px solid var(--bsr-petrol) !important;
    border-radius: 50% !important;

    font-size: 12px !important;

    z-index: 5 !important;
}


/* ---------------------------------------------------------
   PROFILINFORMATIONEN
   --------------------------------------------------------- */

body.buddypress #item-header #item-header-content {
    position: relative !important;
    inset: auto !important;

    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;

    width: auto !important;
    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    float: none !important;

    text-align: left !important;
}


/* Name */
body.buddypress #item-header #item-header-content h2.user-displayname {
    display: block !important;

    margin: 0 0 10px !important;
    padding: 0 !important;

    color: #fff !important;

    font-size: clamp(25px, 2.2vw, 32px) !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
    letter-spacing: -.035em !important;
}


/* Vereinsfunktion */
body.buddypress #item-header .bsr-bp-club-function {
    display: inline-flex !important;
    align-items: center !important;

    width: auto !important;

    margin: 0 0 9px !important;
    padding: 6px 11px !important;

    background: var(--bsr-gold) !important;
    color: var(--bsr-petrol-deep) !important;

    border-radius: 999px !important;

    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    letter-spacing: .055em !important;
    text-transform: uppercase !important;
}


/* Aktivitätsstatus */
body.buddypress #item-header .item-meta {
    margin: 0 !important;
    padding: 0 !important;
}


body.buddypress #item-header .item-meta .activity {
    display: block !important;

    margin: 0 !important;

    color: rgba(255,255,255,.65) !important;

    font-size: 12px !important;
    line-height: 1.4 !important;
    font-weight: 500 !important;
}


/* Leere BuddyX-Elemente sollen keinen Platz belegen */
body.buddypress #item-header .buddyx-badge:empty,
body.buddypress #item-header .member-header-actions-wrap:empty {
    display: none !important;
}


/* ---------------------------------------------------------
   PROFILINHALT NICHT KÜNSTLICH AUFBLASEN
   --------------------------------------------------------- */

body.buddypress #item-body {
    min-height: 0 !important;
}


/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

@media (max-width: 900px) {

    body.buddypress #item-header #item-header-cover-image {
        min-height: 145px !important;
        padding: 24px 28px !important;
        gap: 22px !important;
    }

    body.buddypress #item-header #item-header-avatar {
        flex-basis: 92px !important;
        width: 92px !important;
        height: 92px !important;
    }

    body.buddypress #item-header #item-header-avatar img.avatar {
        width: 92px !important;
        height: 92px !important;
    }
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 600px) {

    body.buddypress #item-header {
        border-radius: 20px !important;
    }

    body.buddypress #item-header #item-header-cover-image {
        flex-direction: column !important;
        justify-content: center !important;

        min-height: 0 !important;

        padding: 28px 22px !important;
        gap: 16px !important;

        text-align: center !important;
    }

    body.buddypress #item-header #item-header-avatar {
        flex: 0 0 88px !important;

        width: 88px !important;
        height: 88px !important;
    }

    body.buddypress #item-header #item-header-avatar img.avatar {
        width: 88px !important;
        height: 88px !important;
    }

    body.buddypress #item-header #item-header-content {
        align-items: center !important;
        text-align: center !important;
    }

    body.buddypress #item-header #item-header-content h2.user-displayname {
        font-size: 25px !important;
    }

}


/* =========================================================
   59. BUDDYPRESS – PROFILNAVIGATION
   ========================================================= */

/*
 * BuddyPress/BuddyX Desktop-Zweispaltenlayout auflösen.
 * Die Hauptnavigation wird zur horizontalen Kontonavigation.
 */

body.buddypress .bp-wrap {
    display: block !important;
}


/* Hauptnavigation */
body.buddypress #object-nav {
    width: 100% !important;
    max-width: none !important;

    margin: 0 0 14px !important;
    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;
}


body.buddypress #object-nav ul {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 7px !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 8px !important;

    background: #fff !important;
    border: 1px solid var(--bsr-border) !important;
    border-radius: 16px !important;
}


body.buddypress #object-nav ul li {
    float: none !important;

    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}


body.buddypress #object-nav ul li a {
    display: flex !important;
    align-items: center !important;

    width: auto !important;

    padding: 11px 17px !important;

    background: transparent !important;
    color: var(--bsr-petrol) !important;

    border: 0 !important;
    border-radius: 10px !important;

    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;

    transition: var(--bsr-transition) !important;
}


body.buddypress #object-nav ul li a:hover {
    background: var(--bsr-cream) !important;
}


body.buddypress #object-nav ul li.current a,
body.buddypress #object-nav ul li.selected a {
    background: var(--bsr-petrol) !important;
    color: #fff !important;
}


/* ---------------------------------------------------------
   RECHTER BUDDYPRESS-BEREICH WIRD VOLLE BREITE
   --------------------------------------------------------- */

body.buddypress #item-body {
    float: none !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 12px !important;

    background: #fff !important;

    border: 1px solid var(--bsr-border) !important;
    border-radius: 20px !important;

    min-height: 0 !important;
}


/* Untermenü */
body.buddypress #subnav {
    width: 100% !important;

    margin: 0 0 22px !important;
    padding: 7px !important;

    background: var(--bsr-cream) !important;

    border: 0 !important;
    border-radius: 13px !important;
}


body.buddypress #subnav ul {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 4px !important;

    margin: 0 !important;
    padding: 0 !important;
}


body.buddypress #subnav ul li {
    float: none !important;

    width: auto !important;

    margin: 0 !important;
}


body.buddypress #subnav ul li a {
    width: auto !important;

    padding: 9px 13px !important;

    border-radius: 8px !important;

    font-size: 12px !important;
    font-weight: 700 !important;
}


body.buddypress #subnav ul li.current a,
body.buddypress #subnav ul li.selected a {
    background: #fff !important;
    color: var(--bsr-bordeaux) !important;

    box-shadow: 0 2px 8px rgba(15,29,45,.07) !important;
}


/* ---------------------------------------------------------
   EIGENTLICHER PROFILINHALT
   --------------------------------------------------------- */

body.buddypress #item-body .profile,
body.buddypress #item-body .bp-profile-content,
body.buddypress #item-body .bp-widget {
    min-height: 0 !important;
}


body.buddypress #item-body .profile {
    padding: 0 6px 12px !important;
}


body.buddypress #item-body .profile h2,
body.buddypress #item-body .profile h3 {
    margin: 0 0 18px !important;

    color: var(--bsr-petrol) !important;

    font-weight: 800 !important;
    letter-spacing: -.02em !important;
}


/* Leere Profilbereiche nicht künstlich aufblasen */
body.buddypress #item-body .bp-widget:empty,
body.buddypress #item-body .profile:empty {
    display: none !important;
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 700px) {

    body.buddypress #object-nav ul {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }

    body.buddypress #object-nav ul li,
    body.buddypress #object-nav ul li a {
        width: 100% !important;
    }

    body.buddypress #subnav ul {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }

    body.buddypress #subnav ul li,
    body.buddypress #subnav ul li a {
        width: 100% !important;
    }

}


/* =========================================================
   60. BUDDYPRESS – VERTICAL LAYOUT ENDGÜLTIG AUFLÖSEN
   ========================================================= */

/*
 * BuddyX setzt .bp-wrap beim Mitgliederprofil als vertikales
 * Zwei-Spalten-Layout. Für unser Vereinsprofil werden Navigation
 * und Inhalt bewusst untereinander dargestellt.
 */

body.buddypress .site-wrapper.member-home > .bp-wrap {
    display: flex !important;
    flex-direction: column !important;

    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    gap: 14px !important;

    grid-template-columns: none !important;
    grid-template-rows: none !important;
}


/* Hauptnavigation */
body.buddypress .site-wrapper.member-home > .bp-wrap > #object-nav {
    position: static !important;

    flex: none !important;

    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
}


/* Inhaltsbereich */
body.buddypress .site-wrapper.member-home > .bp-wrap > #item-body {
    position: static !important;

    flex: none !important;

    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
}


/* BuddyX Vertical-Klasse darf keine Spaltenlogik mehr erzeugen */
body.buddypress #object-nav.vertical {
    position: static !important;

    float: none !important;

    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
}


/* Profilinhalt ebenfalls nur so hoch wie tatsächlich nötig */
body.buddypress #item-body .profile.public {
    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding-bottom: 10px !important;
}


/* =========================================================
   61. MITGLIEDERBEREICH – INTERNE NAVIGATION
   ========================================================= */

.bsr-member-nav {
    width: min(1400px, calc(100% - 80px));
    margin: 28px auto 0;
    padding: 8px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;

    background: #fff;
    border: 1px solid var(--bsr-border);
    border-radius: 16px;
}

.bsr-member-nav__links {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px;
}

.bsr-member-nav__link,
.bsr-member-nav__logout {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 42px;
    padding: 0 16px;

    border-radius: 10px;

    font-size: 13px;
    line-height: 1;
    font-weight: 750;

    text-decoration: none !important;

    transition: var(--bsr-transition);
}

.bsr-member-nav__link {
    color: var(--bsr-petrol) !important;
}

.bsr-member-nav__link:hover {
    background: var(--bsr-cream);
    color: var(--bsr-petrol) !important;
}

.bsr-member-nav__link.is-active {
    background: var(--bsr-petrol);
    color: #fff !important;
}

.bsr-member-nav__logout {
    flex: 0 0 auto;
    gap: 9px;

    color: var(--bsr-bordeaux) !important;
    background: rgba(136,38,48,.06);
}

.bsr-member-nav__logout:hover {
    background: var(--bsr-bordeaux);
    color: #fff !important;
}


/* Tablet / Mobile */
@media (max-width: 900px) {

    .bsr-member-nav {
        width: calc(100% - 32px);

        flex-direction: column;
        align-items: stretch;
    }

    .bsr-member-nav__links {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }

    .bsr-member-nav__link,
    .bsr-member-nav__logout {
        width: 100%;
    }
}


@media (max-width: 520px) {

    .bsr-member-nav__links {
        grid-template-columns: 1fr;
    }

}


/* =========================================================
   BUDDYPRESS – VEREINSNAV UNTER PROFIL-HERO
   ========================================================= */

body.buddypress .bsr-member-nav--profile {
    margin-top: 18px !important;
    margin-bottom: 22px !important;
}


/* =========================================================
   63. VEREINSNACHRICHTEN – STARTSEITE & ÜBERSICHT
   ========================================================= */

.bsr-home-news {
    background: #f8f9f7;
    padding: 100px 0;
}

.bsr-home-news__header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 50px;
    margin-bottom: 42px;
}

.bsr-home-news__header h2 {
    margin: 12px 0 0;
    color: var(--bsr-petrol);
    font-size: clamp(38px, 4.5vw, 64px);
    font-weight: 850;
    line-height: 1.07;
    letter-spacing: -.045em;
}

.bsr-home-news__header h2 span {
    color: var(--bsr-bordeaux);
}

.bsr-home-news__intro {
    max-width: 390px;
}

.bsr-home-news__intro p {
    margin: 0 0 22px;
    color: var(--bsr-muted);
    line-height: 1.75;
}

.bsr-home-news__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.bsr-news-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--bsr-border);
    border-radius: 22px;
    background: #fff;
    transition: transform .25s ease, box-shadow .25s ease;
}

.bsr-news-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 45px rgba(25,72,85,.10);
}

.bsr-news-card__image {
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #e7edeb;
}

.bsr-news-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
}

.bsr-news-card:hover .bsr-news-card__image img {
    transform: scale(1.04);
}

.bsr-news-card__placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #e7edeb;
    color: var(--bsr-petrol);
}

.bsr-news-card__placeholder span {
    padding: 10px 18px;
    border: 1px dashed rgba(25,72,85,.35);
    border-radius: 8px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.bsr-news-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 27px;
}

.bsr-news-card__date {
    margin-bottom: 13px;
    color: var(--bsr-bordeaux);
    font-size: 12px;
    font-weight: 800;
}

.bsr-news-card h3 {
    margin: 0 0 15px;
    font-size: clamp(20px, 2vw, 25px);
    font-weight: 850;
    line-height: 1.3;
}

.bsr-news-card h3 a {
    color: var(--bsr-petrol);
    text-decoration: none;
}

.bsr-news-card__body > p {
    margin: 0 0 24px;
    color: var(--bsr-muted);
    font-size: 14px;
    line-height: 1.75;
}

.bsr-news-card__more {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: auto;
    padding-top: 17px;
    border-top: 1px solid var(--bsr-border);
    color: var(--bsr-bordeaux);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

.bsr-news-card__more:hover {
    color: var(--bsr-petrol);
}

.bsr-home-news__empty {
    padding: 30px;
    border-radius: 14px;
    background: #fff;
    color: var(--bsr-muted);
}

@media (max-width: 900px) {
    .bsr-home-news__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 650px) {
    .bsr-home-news {
        padding: 65px 0;
    }

    .bsr-home-news__header {
        flex-direction: column;
        align-items: start;
        gap: 20px;
    }

    .bsr-home-news__grid {
        grid-template-columns: 1fr;
    }

    .bsr-news-card__body {
        padding: 22px;
    }
}

/* =========================================================
   ANLAGEN-SLIDESHOW
   ========================================================= */

.bsr-facility-slider {
    position: relative;
    display: block;
    overflow: hidden;
    isolation: isolate;
    border-radius: 24px;
    background: #194855;
}

.bsr-facility-slider__slides {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 480px;
}

.bsr-facility-slider__slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity .65s ease, visibility .65s ease;
}

.bsr-facility-slider__slide.is-active {
    opacity: 1;
    visibility: visible;
}

.bsr-facility-slider__slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.bsr-facility-slider__prev,
.bsr-facility-slider__next {
    position: absolute;
    top: 50%;
    z-index: 3;
    width: 48px;
    height: 48px;
    transform: translateY(-50%);
    border: 1px solid rgba(255,255,255,.5);
    border-radius: 50%;
    background: rgba(25,72,85,.7);
    color: #fff;
    font-size: 32px;
    line-height: 1;
    cursor: pointer;
}

.bsr-facility-slider__prev { left: 22px; }
.bsr-facility-slider__next { right: 22px; }

.bsr-facility-slider__prev:hover,
.bsr-facility-slider__next:hover {
    background: #194855;
}

.bsr-facility-slider__dots {
    position: absolute;
    bottom: 25px;
    left: 50%;
    z-index: 3;
    display: flex;
    gap: 9px;
    transform: translateX(-50%);
}

.bsr-facility-slider__dots button {
    width: 10px;
    height: 10px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255,255,255,.5);
    cursor: pointer;
}

.bsr-facility-slider__dots button.is-active {
    width: 28px;
    border-radius: 8px;
    background: #f1ca5f;
}

.bsr-facility-slider__link {
    position: absolute;
    right: 24px;
    bottom: 22px;
    z-index: 3;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

@media (max-width: 650px) {
    .bsr-facility-slider__slides {
        min-height: 280px;
    }

    .bsr-facility-slider__prev,
    .bsr-facility-slider__next {
        width: 38px;
        height: 38px;
        font-size: 26px;
    }

    .bsr-facility-slider__link {
        right: 15px;
        bottom: 55px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bsr-facility-slider__slide {
        transition: none;
    }
}

/* Vereinslogo im Mitgliedschaftsbereich */

.bsr-home-cta__side-logo {
    position: absolute;
    top: 24px;
    right: 24px;
    width: clamp(110px, 13vw, 180px);
    height: auto;
    opacity: .18;
    pointer-events: none;
    z-index: 1;
}

.bsr-home-cta__side-logo img {
    display: block;
    width: 100%;
    height: auto;
    filter: grayscale(1) brightness(0) invert(1);
}

@media (max-width: 650px) {
    .bsr-home-cta__side-logo {
        width: 110px;
        top: 18px;
        right: 18px;
    }
}

/* Mitgliedschafts-CTA: Vereinslogo optimieren */

.bsr-home-cta__side {
    position: relative;
    isolation: isolate;
}

.bsr-home-cta__side-logo {
    position: absolute;
    top: 34px;
    right: 50%;
    transform: translateX(50%);
    width: 190px;
    max-width: 65%;
    height: auto;
    opacity: .65;
    z-index: 1;
    pointer-events: none;
}

.bsr-home-cta__side-logo img {
    display: block;
    width: 100%;
    height: auto;
    filter: grayscale(1) brightness(0) invert(1);
}

/* Dekorative Kreise auf der rechten Fläche ausblenden */
.bsr-home-cta__side::before,
.bsr-home-cta__side::after {
    display: none !important;
}

.bsr-home-cta__side-content {
    position: relative;
    z-index: 2;
}

@media (max-width: 650px) {
    .bsr-home-cta__side-logo {
        top: 20px;
        width: 130px;
    }
}

/* Vereinslogo: Originalfarben und saubere Darstellung */
.bsr-home-cta__side-logo {
    position: absolute;
    top: 28px;
    right: 50%;
    transform: translateX(50%);
    width: 185px;
    max-width: 65%;
    opacity: 1;
    z-index: 1;
    pointer-events: none;
}

.bsr-home-cta__side-logo img {
    display: block;
    width: 100%;
    height: auto;
    filter: none !important;
}

@media (max-width: 650px) {
    .bsr-home-cta__side-logo {
        top: 20px;
        width: 145px;
    }
}

/* Mitgliedschafts-CTA: finales monochromes Vereinslogo */
.bsr-home-cta__side-logo {
    position: absolute;
    top: 24px;
    right: 50%;
    transform: translateX(50%);
    width: 190px;
    max-width: 70%;
    height: auto;
    opacity: .85;
    z-index: 1;
    pointer-events: none;
}

.bsr-home-cta__side-logo img {
    display: block;
    width: 100%;
    height: auto;
    filter: none !important;
}

.bsr-home-cta__side-content {
    position: relative;
    z-index: 2;
}

@media (max-width: 650px) {
    .bsr-home-cta__side-logo {
        top: 20px;
        width: 145px;
    }
}

/* =========================================================
   VEREINSSEITE – TEAM UND STATISTIK
   ========================================================= */

.bsr-verein-team,
.bsr-verein-statistics {
    padding: clamp(70px, 9vw, 120px) 0;
}

.bsr-verein-team {
    background: #f8f7f3;
}

.bsr-verein-team__intro,
.bsr-verein-statistics__header {
    max-width: 820px;
    margin-bottom: 50px;
}

.bsr-verein-team__intro h2,
.bsr-verein-statistics__header h2 {
    margin: 12px 0 22px;
    font-size: clamp(34px, 4vw, 58px);
    line-height: 1.12;
    color: #194855;
}

.bsr-verein-team__intro h2 span,
.bsr-verein-statistics__header h2 span {
    color: #882630;
}

.bsr-verein-team__intro p,
.bsr-verein-statistics__header p {
    font-size: 17px;
    line-height: 1.8;
}

.bsr-verein-team__groups {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    margin-bottom: 48px;
}

.bsr-verein-team__group h3 {
    font-size: 24px;
    color: #194855;
    margin-bottom: 18px;
}

.bsr-verein-team__placeholder {
    min-height: 220px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 28px;
    border: 1px dashed #bdc9c7;
    border-radius: 18px;
    background: #fff;
}

.bsr-verein-team__placeholder span {
    font-weight: 800;
    color: #194855;
    font-size: 18px;
}

.bsr-verein-team__placeholder p {
    margin: 10px 0 0;
    color: #667;
    font-size: 14px;
}

.bsr-verein-team__numbers,
.bsr-verein-statistics__grid {
    display: grid;
    gap: 18px;
}

.bsr-verein-team__numbers {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bsr-verein-statistics__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.bsr-verein-stat {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 155px;
    padding: 26px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid #e4e9e8;
}

.bsr-verein-stat strong {
    font-size: clamp(34px, 4vw, 52px);
    line-height: 1;
    font-weight: 800;
    color: #882630;
    margin-bottom: 16px;
    font-variant-numeric: tabular-nums;
}

.bsr-verein-stat span {
    font-size: 14px;
    line-height: 1.5;
    font-weight: 600;
    color: #194855;
}

.bsr-verein-statistics {
    background: #f0f4f3;
}

.bsr-verein-age {
    margin-top: 50px;
    padding: 35px;
    border-radius: 20px;
    background: #fff;
}

.bsr-verein-age h3 {
    color: #194855;
    font-size: 25px;
}

.bsr-verein-age__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 160px;
    margin-top: 22px;
    border: 1px dashed #bdc9c7;
    border-radius: 12px;
    color: #71827e;
    background: #f8faf9;
}

@media (max-width: 850px) {
    .bsr-verein-statistics__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 650px) {
    .bsr-verein-team__groups,
    .bsr-verein-team__numbers,
    .bsr-verein-statistics__grid {
        grid-template-columns: 1fr;
    }

    .bsr-verein-age {
        padding: 24px;
    }
}

/* Kennzeichnung vorläufiger Vereinsstatistiken */
.bsr-verein-demo-note {
    margin: 0 0 16px;
    color: #7b8583;
    font-size: 13px;
    font-style: italic;
}

/* Vereinsseite: animierte Altersstruktur */

.bsr-verein-age__chart {
    margin-top: 30px;
}

.bsr-verein-age__row {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr) 40px;
    gap: 20px;
    align-items: center;
    margin-bottom: 22px;
}

.bsr-verein-age__row > span {
    color: #194855;
    font-size: 14px;
    font-weight: 700;
}

.bsr-verein-age__row > strong {
    color: #882630;
    font-size: 18px;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.bsr-verein-age__track {
    height: 16px;
    border-radius: 999px;
    overflow: hidden;
    background: #e7eeec;
}

.bsr-verein-age__bar {
    height: 100%;
    width: 0;
    border-radius: inherit;
    background: linear-gradient(90deg, #194855, #397e82);
    transition: width 1.3s cubic-bezier(.2,.8,.2,1);
}

.bsr-verein-age__chart.is-visible .bsr-verein-age__bar {
    width: var(--bar-width);
}

.bsr-verein-age__note {
    margin: 26px 0 0;
    color: #778480;
    font-size: 13px;
    font-style: italic;
}

@media (max-width: 650px) {
    .bsr-verein-age__row {
        grid-template-columns: 90px minmax(0, 1fr) 28px;
        gap: 10px;
    }

    .bsr-verein-age__row > span {
        font-size: 12px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bsr-verein-age__bar {
        transition: none;
        width: var(--bar-width);
    }
}

/* =========================================================
   VEREINSSEITE – LAYOUTKORREKTUREN
   ========================================================= */

/* Einleitung: gut lesbarer Fließtext */
.bsr-subintro__copy {
    min-width: 0;
    max-width: 680px;
}

.bsr-subintro__copy p,
.bsr-subintro__copy .bsr-subintro__lead {
    margin: 0;
    font-size: clamp(17px, 1.35vw, 20px);
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: normal;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: auto;
}

/* Altersstruktur: Beschriftung | Balken | Wert */
.bsr-verein-age__chart .bsr-verein-age__row {
    display: grid !important;
    grid-template-columns: 135px minmax(0, 1fr) 45px !important;
    align-items: center !important;
    gap: 22px !important;
    width: 100%;
    margin: 0 0 24px;
}

.bsr-verein-age__chart .bsr-verein-age__row > span {
    display: block;
    width: auto;
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    white-space: nowrap;
    color: #194855;
}

.bsr-verein-age__chart .bsr-verein-age__track {
    display: block;
    position: relative;
    width: 100% !important;
    min-width: 0;
    height: 18px;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border-radius: 999px;
    background: #e7eeec;
}

.bsr-verein-age__chart .bsr-verein-age__bar {
    display: block;
    height: 100%;
    max-width: 100%;
    width: 0;
    margin: 0;
    border-radius: 999px;
    background: linear-gradient(90deg, #194855, #397e82);
    transition: width 2s cubic-bezier(.22, 1, .36, 1);
}

.bsr-verein-age__chart.is-visible .bsr-verein-age__bar {
    width: var(--bar-width);
}

.bsr-verein-age__chart .bsr-verein-age__row > strong {
    display: block;
    width: auto;
    margin: 0;
    text-align: right;
    font-size: 18px;
    font-weight: 800;
    color: #882630;
}

/* Veralteten Hinweis entfernen */
.bsr-verein-age > div:first-child > p {
    display: none;
}

@media (max-width: 650px) {
    .bsr-verein-age__chart .bsr-verein-age__row {
        grid-template-columns: 85px minmax(0, 1fr) 30px !important;
        gap: 10px !important;
    }

    .bsr-verein-age__chart .bsr-verein-age__row > span {
        font-size: 12px;
    }

    .bsr-verein-age__chart .bsr-verein-age__row > strong {
        font-size: 15px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bsr-verein-age__chart .bsr-verein-age__bar {
        width: var(--bar-width);
        transition: none;
    }
}

/* =========================================================
   VEREINSSEITE – EINLEITUNG UND ALTERSDIAGRAMM FINAL
   ========================================================= */

/* Einleitung */
.bsr-subintro__copy .bsr-verein-intro-text {
    display: block;
    max-width: 660px;
    margin: 0;
    font-size: 19px;
    line-height: 1.75;
    font-weight: 400;
    letter-spacing: normal;
    text-align: left;
    hyphens: none !important;
    -webkit-hyphens: none !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}

/* Neues, unabhängig gestaltetes Diagramm */
.bsr-verein-age .bsr-ageviz {
    display: block;
    width: 100%;
    margin-top: 30px;
}

.bsr-verein-age .bsr-ageviz-item {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    width: 100%;
    gap: 24px;
    margin-bottom: 24px;
}

.bsr-verein-age .bsr-ageviz-label {
    display: block;
    flex: 0 0 130px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
    color: #194855;
    white-space: nowrap;
}

.bsr-verein-age .bsr-ageviz-track {
    display: block;
    flex: 1 1 auto;
    width: auto !important;
    min-width: 0;
    height: 20px;
    overflow: hidden;
    border-radius: 999px;
    background: #e7eeec;
}

.bsr-verein-age .bsr-ageviz-fill {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #194855, #397e82);
    transition: width 2s cubic-bezier(.22, 1, .36, 1);
}

.bsr-verein-age .bsr-ageviz.is-visible .bsr-ageviz-fill {
    width: var(--age-width);
}

.bsr-verein-age .bsr-ageviz-value {
    display: block;
    flex: 0 0 40px;
    margin: 0;
    font-size: 18px;
    font-weight: 800;
    text-align: right;
    color: #882630;
}

.bsr-verein-age .bsr-ageviz-note {
    margin: 28px 0 0;
    font-size: 13px;
    font-style: italic;
    color: #778480;
}

@media (max-width: 650px) {
    .bsr-subintro__copy .bsr-verein-intro-text {
        font-size: 17px;
    }

    .bsr-verein-age .bsr-ageviz-item {
        gap: 10px;
    }

    .bsr-verein-age .bsr-ageviz-label {
        flex-basis: 85px;
        font-size: 12px;
    }

    .bsr-verein-age .bsr-ageviz-value {
        flex-basis: 28px;
        font-size: 15px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bsr-verein-age .bsr-ageviz-fill {
        transition: none;
        width: var(--age-width);
    }
}


/* =========================================================
   BOGENSPORT – HERO UND NAVIGATION
   ========================================================= */

.bsr-sport-hero-slider {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.bsr-sport-hero-slides,
.bsr-sport-hero-slide {
    position: absolute;
    inset: 0;
}

.bsr-sport-hero-slides {
    z-index: -1;
}

.bsr-sport-hero-slide {
    background-size: cover;
    background-position: center;
    opacity: 0;
    transition: opacity 1s ease;
}

.bsr-sport-hero-slide.is-active {
    opacity: 1;
}

.bsr-sport-hero-slider .bsr-subhero__overlay {
    pointer-events: none;
}

.bsr-sport-hero-slider .bsr-subhero__inner {
    position: relative;
    z-index: 2;
}

.bsr-sport-hero-slider .bsr-subhero__content {
    max-width: 760px;
    padding-bottom: 70px;
}

.bsr-sport-hero-slider .bsr-sport-hero-tagline {
    margin: 22px 0 12px;
    font-size: clamp(19px, 2vw, 25px);
    font-weight: 700;
    color: #f1ca5f;
    line-height: 1.4;
}

.bsr-sport-hero-slider .bsr-sport-hero-description {
    max-width: 680px;
    margin: 0;
    font-size: clamp(15px, 1.25vw, 17px);
    line-height: 1.75;
    font-weight: 400;
    color: #fff;
    hyphens: none;
    overflow-wrap: normal;
    word-break: normal;
}

/* Eigenständige Navigation, unabhängig vom Theme-Layout */


.bsr-sport-hero-slider .bsr-sport-hero-controls {
    position: absolute !important;
    z-index: 100 !important;
    bottom: 22px !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;

    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 14px !important;

    width: 180px !important;
    min-width: 180px !important;
    max-width: 180px !important;
    height: 42px !important;

    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}


.bsr-sport-hero-slider .bsr-sport-hero-prev,
.bsr-sport-hero-slider .bsr-sport-hero-next {
    all: unset !important;
    box-sizing: border-box !important;

    display: grid !important;
    place-items: center !important;

    position: static !important;
    float: none !important;

    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    max-width: 38px !important;
    max-height: 38px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 1px solid rgba(255,255,255,.75) !important;
    border-radius: 50% !important;

    background: #285560 !important;
    color: #fff !important;
    box-shadow: none !important;

    cursor: pointer !important;
}

.bsr-sport-hero-slider .bsr-sport-hero-prev svg,
.bsr-sport-hero-slider .bsr-sport-hero-next svg {
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;

    fill: none !important;
    stroke: #fff !important;
    stroke-width: 2.5 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

.bsr-sport-hero-slider .bsr-sport-hero-dots {
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 9px !important;

    width: 64px !important;
    min-width: 64px !important;
    max-width: 64px !important;

    margin: 0 !important;
    padding: 0 !important;
}

.bsr-sport-hero-slider .bsr-sport-hero-dots button {
    all: unset !important;
    box-sizing: border-box !important;

    display: block !important;
    flex: 0 0 9px !important;

    width: 9px !important;
    height: 9px !important;
    min-width: 9px !important;
    min-height: 9px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: none !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.55) !important;

    cursor: pointer !important;
}

.bsr-sport-hero-slider .bsr-sport-hero-dots button.is-active {
    background: #f1ca5f !important;
}

.bsr-sport-hero-slider .bsr-sport-hero-prev:focus-visible,
.bsr-sport-hero-slider .bsr-sport-hero-next:focus-visible,
.bsr-sport-hero-slider .bsr-sport-hero-dots button:focus-visible {
    outline: 2px solid #f1ca5f !important;
    outline-offset: 3px !important;
}

.bsr-subintro__copy .bsr-sport-intro-text {
    margin: 0;
    font-size: 19px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: normal;
    hyphens: none;
    -webkit-hyphens: none;
    overflow-wrap: normal;
    word-break: normal;
}

@media (max-width: 650px) {
    .bsr-sport-hero-slider .bsr-subhero__content {
        padding-bottom: 80px;
    }

    .bsr-sport-hero-slider .bsr-sport-hero-description {
        font-size: 15px;
        line-height: 1.65;
    }

    .bsr-subintro__copy .bsr-sport-intro-text {
        font-size: 17px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bsr-sport-hero-slide {
        transition: none;
    }
}



/* Navigation: beide Pfeile in gleicher Größe */
.bsr-sport-hero-slider .bsr-sport-hero-prev,
.bsr-sport-hero-slider .bsr-sport-hero-next {
    position: relative !important;
    inset: auto !important;
    float: none !important;
    flex: 0 0 38px !important;
    order: 0 !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.bsr-sport-hero-slider .bsr-sport-hero-dots {
    order: 0 !important;
    flex: 0 0 64px !important;
}

/* Bogensport: rechten Slideshow-Pfeil vertikal ausrichten */
.bsr-sport-hero-slider .bsr-sport-hero-next {
    top: -12px !important;
}

/* =====================================================
   EINSTEIGEN – AUSBILDUNGSWEG UND FAQ
   ===================================================== */

.bsr-entry-intro__subtitle {
    margin: 0 0 20px;
    font-size: clamp(23px, 2.5vw, 32px);
    line-height: 1.3;
    font-weight: 700;
}

.bsr-entry-intro__text {
    margin: 0;
    font-size: 18px;
    line-height: 1.8;
    hyphens: none;
}

.bsr-entry-step__number,
.bsr-entry-benefit > span {
    display: none !important;
}

.bsr-entry-membership {
    margin-top: 40px;
    padding: 30px 35px;
    border-left: 4px solid #285560;
    background: rgba(40,85,96,.06);
}

.bsr-entry-membership h3 {
    margin: 0 0 12px;
}

.bsr-entry-membership p {
    margin: 0 0 18px;
    line-height: 1.7;
}

.bsr-entry-membership a {
    font-weight: 700;
    text-decoration: none;
}

.bsr-entry-faq__list {
    max-width: 900px;
    margin: 35px auto 45px;
}

.bsr-entry-faq__list details {
    border-bottom: 1px solid rgba(40,85,96,.18);
}

.bsr-entry-faq__list summary {
    position: relative;
    padding: 23px 45px 23px 0;
    cursor: pointer;
    font-size: 18px;
    font-weight: 700;
    list-style: none;
}

.bsr-entry-faq__list summary::-webkit-details-marker {
    display: none;
}

.bsr-entry-faq__list summary::after {
    content: "+";
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 25px;
    font-weight: 400;
}

.bsr-entry-faq__list details[open] summary::after {
    content: "−";
}

.bsr-entry-faq__list details p {
    margin: 0;
    padding: 0 25px 23px 0;
    line-height: 1.75;
}

.bsr-entry-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 25px;
    padding: 32px;
    border-radius: 8px;
    background: #285560;
    color: #fff;
}

.bsr-entry-info h3,
.bsr-entry-info p {
    color: #fff;
}

.bsr-entry-info h3 {
    margin: 0 0 8px;
}

.bsr-entry-info p {
    margin: 0;
    line-height: 1.7;
}

.bsr-entry-info__button {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    flex-shrink: 0;
    padding: 14px 20px;
    border-radius: 4px;
    background: #fff;
    color: #285560 !important;
    font-weight: 700;
    text-decoration: none !important;
}

@media (max-width: 700px) {
    .bsr-entry-info {
        flex-direction: column;
        align-items: flex-start;
    }

    .bsr-entry-membership {
        padding: 25px;
    }

    .bsr-entry-intro__text {
        font-size: 16px;
    }
}

/* =====================================================
   EINSTEIGEN – KACHELLAYOUT OHNE NUMMERIERUNG
   ===================================================== */

.bsr-entry-path .bsr-entry-steps {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    border-top: 0;
}

.bsr-entry-path .bsr-entry-step {
    display: block;
    min-width: 0;
    min-height: 0;
    border: 1px solid var(--bsr-border);
    background: #fff;
}

.bsr-entry-path .bsr-entry-step__body {
    display: block;
    width: 100%;
    min-width: 0;
    height: 100%;
    padding: 35px;
    border-left: 0;
    box-sizing: border-box;
}

.bsr-entry-path .bsr-entry-step p {
    max-width: none;
    overflow-wrap: break-word;
}

.bsr-entry-path .bsr-entry-step--featured {
    background: #fff;
}

.bsr-entry-path .bsr-entry-step--featured .bsr-entry-step__body {
    border-left: 4px solid var(--bsr-gold);
}

@media (max-width: 767px) {
    .bsr-entry-path .bsr-entry-steps {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }

    .bsr-entry-path .bsr-entry-step__body {
        padding: 26px;
    }
}

/* =====================================================
   BUTTONS – EINHEITLICHE PFEILAUSRICHTUNG
   ===================================================== */

.bsr-entry-hero__button,
.bsr-subcta__button,
.bsr-entry-info__button {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 14px !important;
    vertical-align: middle;
    line-height: 1.3 !important;
}

.bsr-entry-hero__button > span,
.bsr-subcta__button > span,
.bsr-entry-info__button > span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: static !important;
    float: none !important;
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 19px !important;
    line-height: 1 !important;
    vertical-align: middle;
}



/* BSR ENTRY FINAL SPACING AND SVG ARROWS */

/* FAQ näher an den vorherigen Abschnitt rücken */
.bsr-entry-path + .bsr-entry-faq {
    padding-top: 35px !important;
}

.bsr-entry-faq {
    margin-top: 0 !important;
}

/* SVG-Pfeile einheitlich zentrieren */
.bsr-entry-hero__button,
.bsr-subcta__button,
.bsr-entry-info__button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 14px !important;
}

.bsr-button-arrow {
    display: block !important;
    position: static !important;
    flex: 0 0 20px !important;
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none;
    vertical-align: middle;
}

.bsr-entry-hero__button:hover .bsr-button-arrow,
.bsr-subcta__button:hover .bsr-button-arrow,
.bsr-entry-info__button:hover .bsr-button-arrow {
    transform: translateX(4px);
}



/* BSR ENTRY PRECISION FIX */

/* Ausbildungsbereich kompakter abschließen */
body.page-id-2321 .bsr-entry-path {
    padding-bottom: 35px !important;
    margin-bottom: 0 !important;
}

/* FAQ direkt anschließend */
body.page-id-2321 .bsr-entry-faq {
    padding-top: 35px !important;
    margin-top: 0 !important;
}

/* Pfeile unabhängig von Theme-Regeln */
body.page-id-2321 a.bsr-entry-hero__button,
a.bsr-subcta__button,
body.page-id-2321 a.bsr-entry-info__button {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
}

body.page-id-2321 a.bsr-entry-hero__button > svg.bsr-button-arrow,
a.bsr-subcta__button > svg.bsr-button-arrow,
body.page-id-2321 a.bsr-entry-info__button > svg.bsr-button-arrow {
    display: block !important;
    position: relative !important;
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
    bottom: auto !important;
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    flex: 0 0 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    transform: none !important;
    vertical-align: middle !important;
}


/* BSR ANLAGE MEDIA SECTIONS */

body.page-id-2322 .bsr-anlage-media {
    padding: 100px 0 75px;
    background: #f5f7f6;
}

body.page-id-2322 .bsr-anlage-media__heading {
    max-width: 750px;
    margin-bottom: 35px;
}

body.page-id-2322 .bsr-anlage-media__heading h2,
body.page-id-2322 .bsr-anlage-film__copy h2 {
    margin: 12px 0 20px;
    font-size: clamp(34px, 4.4vw, 62px);
    line-height: 1.1;
}

body.page-id-2322 .bsr-anlage-media__heading h2 span,
body.page-id-2322 .bsr-anlage-film__copy h2 span {
    color: #285560;
}

body.page-id-2322 .bsr-anlage-media__heading p,
body.page-id-2322 .bsr-anlage-film__copy p {
    font-size: 18px;
    line-height: 1.7;
}

body.page-id-2322 .bsr-anlage-media__slider {
    width: 100%;
    height: auto;
    border-radius: 20px;
}

body.page-id-2322 .bsr-anlage-media__slider
.bsr-facility-slider__slides {
    height: auto;
    min-height: 0;
    aspect-ratio: 16 / 7;
}

body.page-id-2322 .bsr-anlage-media__slider
.bsr-facility-slider__slide img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.page-id-2322 .bsr-anlage-film {
    padding: 90px 0;
    background: #fff;
}

body.page-id-2322 .bsr-anlage-film__grid {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    align-items: center;
    gap: 65px;
}

body.page-id-2322 .bsr-anlage-film__player {
    overflow: hidden;
    border-radius: 18px;
    background: #142e35;
    box-shadow: 0 15px 45px rgba(0,0,0,.12);
}

body.page-id-2322 .bsr-anlage-film__player video {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: contain;
}

@media (max-width: 767px) {
    body.page-id-2322 .bsr-anlage-media {
        padding: 65px 0 55px;
    }

    body.page-id-2322 .bsr-anlage-media__slider
    .bsr-facility-slider__slides {
        aspect-ratio: 4 / 3;
    }

    body.page-id-2322 .bsr-anlage-film {
        padding: 65px 0;
    }

    body.page-id-2322 .bsr-anlage-film__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 30px;
    }

    body.page-id-2322 .bsr-anlage-media__heading p,
    body.page-id-2322 .bsr-anlage-film__copy p {
        font-size: 16px;
    }
}

/* BSR: CTA-Text und SVG auf Unterseiten ausrichten */
body:is(.page-id-2319, .page-id-2320, .page-id-2322, .page-id-2325)
a.bsr-subcta__button {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    text-align: center !important;
}

body:is(.page-id-2319, .page-id-2320, .page-id-2322, .page-id-2325)
a.bsr-subcta__button > .bsr-button-label {
    display: inline-block !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    flex: 0 1 auto !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: inherit !important;
    line-height: inherit !important;
    white-space: normal;
    text-align: center !important;
}

body:is(.page-id-2319, .page-id-2320, .page-id-2322, .page-id-2325)
a.bsr-subcta__button > svg.bsr-button-arrow {
    position: static !important;
    flex: 0 0 20px !important;
    transform: none !important;
}

/* =====================================================
   BSR VERBAENDE PAGE STYLES
   ===================================================== */

.bsr-associations {
    padding: 90px 0 110px;
    background: #f5f7f6;
}

.bsr-associations__heading {
    margin-bottom: 42px;
}

.bsr-associations__heading h2 {
    margin: 14px 0 0;
    font-size: clamp(34px, 4.5vw, 60px);
    line-height: 1.12;
}

.bsr-associations__heading h2 span {
    color: #285560;
}

.bsr-associations__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.bsr-association-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    min-width: 0;
    background: #fff;
    border: 1px solid rgba(25, 56, 63, .09);
    border-radius: 18px;
    transition: transform .25s ease, box-shadow .25s ease;
}

.bsr-association-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 40px rgba(18, 48, 54, .10);
}

.bsr-association-card__logo {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 155px;
    padding: 28px;
    background: #e9efed;
    color: #285560;
    font-size: 34px;
    font-weight: 800;
    letter-spacing: .04em;
}

.bsr-association-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    padding: 30px;
}

.bsr-association-card__category {
    margin-bottom: 12px;
    color: #53716f;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.bsr-association-card h3 {
    margin: 0 0 15px;
    font-size: clamp(21px, 2vw, 27px);
    line-height: 1.25;
}

.bsr-association-card p {
    margin: 0 0 25px;
    line-height: 1.7;
}

.bsr-association-card__body > a,
.bsr-association-card__links a {
    color: #285560;
    font-weight: 700;
    text-decoration: none;
}

.bsr-association-card__body > a {
    margin-top: auto;
}

.bsr-association-card__links {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 22px;
    margin-top: auto;
}

.bsr-association-card__body a:hover {
    text-decoration: underline;
}

.bsr-association-card__pending {
    margin-top: auto;
    color: #6b7777;
    font-size: 14px;
}

@media (max-width: 767px) {
    .bsr-associations {
        padding: 65px 0 75px;
    }

    .bsr-associations__grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .bsr-association-card__logo {
        min-height: 120px;
    }

    .bsr-association-card__body {
        padding: 24px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bsr-association-card {
        transition: none;
    }

    .bsr-association-card:hover {
        transform: none;
    }
}
