/* Lokale variable Montserrat-Schrift: normal und kursiv */
@font-face {
    font-family: "Montserrat";
    src: url("../montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
}

/* Hinweis vor dem Wechsel zum externen nuLiga-Spielplan */
.external-link-dialog { width: min(calc(100% - 2rem), 34rem); max-width: none; margin: auto; padding: 0; border: 0; border-radius: .8rem; color: #222626; background: transparent; box-shadow: 0 1.5rem 5rem rgb(0 0 0 / 35%); }
.external-link-dialog::backdrop { background: rgb(12 16 16 / 72%); backdrop-filter: blur(5px); }
.external-link-dialog__card { position: relative; display: grid; justify-items: center; padding: clamp(2rem, 6vw, 3rem); text-align: center; background: #fff; }
.external-link-dialog__close { position: absolute; top: .75rem; right: .85rem; display: grid; width: 2.25rem; height: 2.25rem; padding: 0; place-items: center; border: 0; border-radius: 50%; color: #555; font: inherit; font-size: 1.65rem; line-height: 1; background: #f2f2ef; cursor: pointer; }
.external-link-dialog__close:hover, .external-link-dialog__close:focus-visible { color: #fff; background: var(--color-wine-red); }
.external-link-dialog__logo { width: 4.8rem; height: 4.8rem; margin-bottom: 1rem; object-fit: contain; }
.external-link-dialog__eyebrow { margin: 0 0 .45rem; color: var(--color-wine-red); font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.external-link-dialog h2 { margin: 0; font-size: clamp(1.35rem, 4vw, 1.7rem); line-height: 1.1; text-transform: uppercase; }
.external-link-dialog #external-link-description { max-width: 27rem; margin: 1rem 0 1.6rem; color: #646767; font-size: .9rem; line-height: 1.65; }
.external-link-dialog__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .7rem; }
.external-link-dialog__actions .button { min-height: 2.9rem; border: 1px solid var(--color-wine-red); cursor: pointer; }
.external-link-dialog__actions .button--outline { color: var(--color-wine-red); background: #fff; }

@media (prefers-reduced-motion: no-preference) {
    .external-link-dialog[open] { animation: external-dialog-in 180ms ease-out; }
    .external-link-dialog[open]::backdrop { animation: external-backdrop-in 180ms ease-out; }
    @keyframes external-dialog-in { from { opacity: 0; transform: translateY(.75rem) scale(.98); } }
    @keyframes external-backdrop-in { from { opacity: 0; } }
}

/* Saisonstart */
.season-opening-hero .hero__image { object-position: center 42%; }
.season-opening-hero > .site-container { width: min(calc(100% - 2rem), 90rem); padding-left: 0; }
.season-opening-hero .hero__content h1 { font-size: clamp(2rem, 5vw, 3.5rem); line-height: 1.02; }
.season-opening-intro { width: min(calc(100% - 2rem), 90rem); margin-inline: auto; padding: clamp(4rem, 8vw, 7rem) 0; background: #fff; }
.season-opening-intro__layout { display: grid; gap: 2rem; }
.season-opening-intro h2 { max-width: 36rem; margin: 0; font-size: clamp(2rem, 5vw, 3.5rem); line-height: 1.02; text-transform: uppercase; }
.season-opening-intro h2::after { display: block; width: 3.5rem; height: 3px; margin-top: 1.3rem; background: var(--color-wine-red); content: ""; }
.season-opening-intro__layout > div { max-width: 43rem; color: #555959; line-height: 1.8; }
.season-opening-intro__layout > div p { margin: 0; }
.season-opening-intro__layout > div p + p { margin-top: 1rem; }
.season-opening-links { padding: clamp(4rem, 7vw, 6rem) 0; background: var(--color-off-white); }
.season-opening-links__grid { display: grid; gap: 1rem; }
.season-opening-links article { position: relative; display: flex; min-height: 23rem; flex-direction: column; padding: clamp(1.6rem, 4vw, 2.4rem); overflow: hidden; color: #222626; background: #fff; }
.season-opening-links article > span:first-child { color: var(--color-wine-red); font-size: .72rem; font-weight: 850; letter-spacing: .1em; }
.season-opening-links article > p:first-of-type { margin: 3.5rem 0 .55rem; color: var(--color-wine-red); font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.season-opening-links h2 { margin: 0; font-size: clamp(1.45rem, 3vw, 2rem); line-height: 1.08; text-transform: uppercase; }
.season-opening-links h2 + p { color: #666969; line-height: 1.7; }
.season-opening-links a { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: auto; padding-top: 1.25rem; border-top: 1px solid #e5e5e1; color: var(--color-wine-red); font-size: .72rem; font-weight: 850; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }
.season-opening-links a:hover, .season-opening-links a:focus-visible { color: var(--color-red); }
.season-opening-cta { width: min(calc(100% - 2rem), 90rem); margin-inline: auto; padding: clamp(3.5rem, 7vw, 5.5rem) 0; color: #fff; background: var(--color-anthracite); }
.season-opening-cta__inner { display: grid; align-items: center; gap: 2rem; }
.season-opening-cta p { margin: 0 0 .5rem; color: var(--color-red); font-size: 1rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.season-opening-cta h2 { margin: 0; font-size: clamp(1.8rem, 4vw, 3rem); line-height: 1.05; text-transform: uppercase; }
.season-opening-cta span { display: block; max-width: 43rem; margin-top: .8rem; color: rgb(255 255 255 / 70%); line-height: 1.7; }
.season-opening-cta .button { justify-self: start; }
@media (min-width: 48rem) { .season-opening-intro__layout { grid-template-columns: .85fr 1.15fr; align-items: start; gap: 4rem; } .season-opening-links__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .season-opening-cta__inner { grid-template-columns: minmax(0, 1.15fr) minmax(14rem, .85fr); } .season-opening-cta .button { justify-self: center; } }

/* Platzstatus */
.season-opening-intro .text-link { display: inline-flex; margin-top: 1.4rem; }
.court-status { width: min(calc(100% - 2rem), 90rem); margin-inline: auto; padding: clamp(4rem, 8vw, 7rem) 0; background: var(--color-off-white); }
.court-status__heading { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 1.5rem; margin-bottom: 2.2rem; }
.court-status__heading p { margin: 0 0 .45rem; color: var(--color-wine-red); font-size: 1rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.court-status__heading h2 { margin: 0; font-size: clamp(2rem, 5vw, 3.4rem); line-height: 1; text-transform: uppercase; }
.court-status__heading > span { color: #6c6f6f; font-size: .78rem; }
.court-status__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.court-status-card { display: flex; min-height: 8.5rem; align-items: center; gap: 1rem; padding: 1.25rem; border: 1px solid #deded9; border-radius: .45rem; background: #fff; }
.court-status-card__light { flex: 0 0 auto; width: 1.35rem; height: 1.35rem; border: .25rem solid #fff; border-radius: 50%; box-shadow: 0 0 0 1px #c8c8c3; background: #a9abaa; }
.court-status-card--open .court-status-card__light { background: #2b9a59; box-shadow: 0 0 0 1px #2b9a59, 0 0 1rem rgb(43 154 89 / 25%); }
.court-status-card--closed .court-status-card__light { background: #bb1e2c; box-shadow: 0 0 0 1px #bb1e2c, 0 0 1rem rgb(187 30 44 / 22%); }
.court-status-card p { margin: 0 0 .25rem; color: #747777; font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.court-status-card h3 { margin: 0; font-size: 1rem; text-transform: uppercase; }
.court-status__note { margin: 1.5rem 0 0; color: #5f6262; font-size: .82rem; line-height: 1.6; }
.court-status__booking { display: flex; width: min(100%, 42rem); align-items: center; justify-content: space-between; gap: 1.25rem; box-sizing: border-box; margin: 2rem auto 0; padding: 1rem 1.2rem; border-left: 3px solid var(--color-wine-red); border-radius: .3rem; background: #fff; box-shadow: 0 .55rem 1.6rem rgb(20 20 20 / 8%); }
.court-status__booking p { margin: 0 0 .2rem; color: var(--color-wine-red); font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.court-status__booking h3 { margin: 0; font-size: .95rem; text-transform: uppercase; }
@media (max-width: 32rem) { .court-status__booking { align-items: stretch; flex-direction: column; } .court-status__booking .button { width: 100%; box-sizing: border-box; } }
@media (min-width: 46rem) { .court-status__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* Platzregeln */
.court-rules-hero { width: min(calc(100% - 2rem), 90rem); margin-inline: auto; padding: clamp(4rem, 8vw, 7rem) 0; color: #fff; background: linear-gradient(115deg, #111515, #282d2c); }
.court-rules-page main > section > .site-container, .court-rules-page main > aside > .site-container { max-width: 90rem; }
.court-rules-hero__layout { display: grid; align-items: center; gap: 2rem; }
.court-rules-hero p { margin: 0 0 .7rem; color: var(--color-red); font-size: 1rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.court-rules-hero h1 { margin: 0; font-size: clamp(2.7rem, 8vw, 5.7rem); letter-spacing: -.04em; line-height: .92; text-transform: uppercase; }
.court-rules-hero span { display: block; max-width: 42rem; margin-top: 1.4rem; color: rgb(255 255 255 / 68%); line-height: 1.7; }
.court-rules-hero img { display: none; width: clamp(8rem, 15vw, 11rem); height: auto; justify-self: end; padding: .35rem; border-radius: 50%; background: #fff; }
.court-rules-intro { width: min(calc(100% - 2rem), 90rem); margin-inline: auto; padding: clamp(4rem, 8vw, 7rem) 0; background: var(--color-off-white); }
.court-rules-intro__layout { display: grid; width: min(calc(100% - 2rem), 84rem); max-width: 84rem; gap: 2rem; }
.court-rules-intro h2 { margin: 0; font-size: clamp(2rem, 5vw, 3.5rem); line-height: 1.02; text-transform: uppercase; }
.court-rules-intro__layout > div:last-child { max-width: 40rem; color: #555959; line-height: 1.8; }
.court-rules-intro__layout > div:last-child p { margin: 0; }
.court-rules-intro__layout > div:last-child p + p { margin-top: 1rem; }
.court-rules-steps { width: min(calc(100% - 2rem), 90rem); margin-inline: auto; padding: clamp(4rem, 8vw, 7rem) 0; background: var(--color-off-white); }
.court-rules-steps header { margin-bottom: 2.2rem; }
.court-rules-steps > .site-container { max-width: 84rem; }
.court-rules-steps header p { margin: 0 0 .5rem; color: var(--color-wine-red); font-size: 1rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.court-rules-steps header h2 { margin: 0; font-size: clamp(2rem, 5vw, 3.5rem); line-height: 1.02; text-transform: uppercase; }
.court-rules-steps__grid { display: grid; gap: .85rem; }
.court-rules-steps article { padding: clamp(1.5rem, 4vw, 2.25rem); background: #fff; }
.court-rules-steps article > span { color: var(--color-wine-red); font-size: .72rem; font-weight: 850; }
.court-rules-steps h3 { margin: 2.8rem 0 .7rem; font-size: 1.05rem; line-height: 1.2; text-transform: uppercase; }
.court-rules-steps article p { margin: 0; color: #666969; font-size: .86rem; line-height: 1.7; }
.court-rules-warning { width: min(calc(100% - 2rem), 90rem); margin-inline: auto; padding: clamp(3rem, 6vw, 5rem) 0; color: #fff; background: var(--color-wine-red); }
.court-rules-warning__inner { display: grid; align-items: center; gap: 1.5rem; }
.court-rules-warning__inner > span { display: grid; width: 4rem; height: 4rem; place-items: center; border: 2px solid rgb(255 255 255 / 50%); border-radius: 50%; font-size: 2rem; font-weight: 850; }
.court-rules-warning p { margin: 0; color: rgb(255 255 255 / 70%); line-height: 1.7; }
.court-rules-warning div > p:first-child { margin-bottom: .35rem; color: #fff; font-size: 1rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.court-rules-warning h2 { margin: 0 0 .7rem; font-size: clamp(1.8rem, 4vw, 2.8rem); line-height: 1; text-transform: uppercase; }
.court-rules-actions { width: min(calc(100% - 2rem), 90rem); margin-inline: auto; padding: clamp(4rem, 8vw, 6rem) 0; }
.court-rules-actions__inner { display: grid; align-items: center; gap: 2rem; }
.court-rules-actions p { margin: 0 0 .4rem; color: var(--color-wine-red); font-size: 1rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.court-rules-actions h2 { margin: 0; font-size: clamp(1.8rem, 4vw, 3rem); line-height: 1.05; text-transform: uppercase; }
.court-rules-actions__inner > div:last-child { display: flex; flex-wrap: wrap; gap: .7rem; }
.court-rules-actions button { font-family: inherit; cursor: pointer; }
@media (min-width: 48rem) { .court-rules-hero__layout { grid-template-columns: 1fr auto; } .court-rules-hero img { display: block; } .court-rules-intro__layout { grid-template-columns: .9fr 1.1fr; gap: 4rem; } .court-rules-steps__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .court-rules-warning__inner { grid-template-columns: auto 1fr; } .court-rules-actions__inner { grid-template-columns: 1fr auto; } }

@media print {
    .court-rules-page .main-navigation, .court-rules-page .site-footer, .court-rules-actions { display: none !important; }
    .court-rules-page { color: #111; background: #fff; }
    .court-rules-hero, .court-rules-warning { width: 100%; color: #111; background: #fff; }
    .court-rules-hero { padding: 1.5rem 0; border-bottom: 3px solid #7e1930; }
    .court-rules-hero h1 { font-size: 2.4rem; }
    .court-rules-hero p, .court-rules-hero span, .court-rules-warning p { color: #333; }
    .court-rules-intro, .court-rules-steps, .court-rules-warning { padding: 1.2rem 0; }
    .court-rules-steps { background: #fff; }
    .court-rules-steps__grid { grid-template-columns: repeat(2, 1fr); }
    .court-rules-steps article { padding: 1rem; border: 1px solid #bbb; break-inside: avoid; }
    .court-rules-steps h3 { margin-top: 1rem; }
    .court-rules-warning__inner > span { border-color: #7e1930; }
}

@font-face {
    font-family: "Cabin Sketch";
    src: url("../CabinSketch/CabinSketch-Regular.ttf") format("truetype");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: "Cabin Sketch";
    src: url("../CabinSketch/CabinSketch-Bold.ttf") format("truetype");
    font-style: normal;
    font-weight: 700;
    font-display: swap;
}

/* Mitglied werden */
.membership-navigation { position: sticky; z-index: 18; top: 0; }
.contributions--moved { display: none; }
.membership-teaser { width: min(calc(100% - 2rem), 90rem); margin-inline: auto; padding: clamp(4rem, 8vw, 7rem) 0; color: white; background: #101414; }
.membership-teaser__inner { display: grid; align-items: center; gap: 2rem; }
.membership-teaser h2 { margin: .3rem 0 .8rem; font-size: clamp(2rem, 4vw, 3.25rem); line-height: 1.05; text-transform: uppercase; }
.membership-teaser .club-onepager-section__eyebrow { color: rgb(255 255 255 / 62%); }
.membership-teaser p:last-child { max-width: 46rem; margin-bottom: 0; color: rgb(255 255 255 / 70%); line-height: 1.75; }
.membership-teaser__actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.membership-hero { scroll-margin-top: 4rem; }
.membership-hero.hero--verein .hero__image { object-position: 52% 28%; }
.membership-intro { width: min(calc(100% - 2rem), 90rem); margin-inline: auto; padding: clamp(3.5rem, 7vw, 6.5rem) 0; color: white; background: var(--color-anthracite); }
.membership-intro__grid { display: grid; gap: 2rem; }
.membership-intro h2, .membership-section-heading h2, .membership-download h2 { margin: .3rem 0 0; font-size: clamp(2rem, 4vw, 3.25rem); line-height: 1.05; text-transform: uppercase; }
.membership-intro__grid > p { max-width: 44rem; margin: 0; color: rgb(255 255 255 / 72%); line-height: 1.8; }
.membership-intro ol { display: grid; gap: .6rem; margin: 0; padding: 0; list-style: none; }
.membership-intro li { display: flex; align-items: center; gap: .8rem; padding: .85rem 1rem; border: 1px solid rgb(255 255 255 / 16%); border-radius: .35rem; font-size: .82rem; font-weight: 750; background: rgb(255 255 255 / 7%); }
.membership-intro li span { color: var(--color-red); font-size: .7rem; font-weight: 800; }
.membership-intro .club-onepager-section__eyebrow { color: rgb(255 255 255 / 62%); }
.membership-contributions { scroll-margin-top: 5rem; }
.fees__pdf-link { color: white; font-size: .75rem; font-weight: 800; text-decoration: none; text-transform: uppercase; }
.fees__pdf-link:hover, .fees__pdf-link:focus-visible { text-decoration: underline; }
.membership-facts { width: min(calc(100% - 2rem), 90rem); margin-inline: auto; padding: clamp(4rem, 8vw, 7rem) 0; scroll-margin-top: 5rem; background: #f4f4f1; }
.membership-section-heading { max-width: 48rem; margin-bottom: 2.25rem; }
.membership-section-heading > p:last-child { color: #656868; line-height: 1.75; }
.membership-facts .fee-facts__grid { margin-top: 0; }
.membership-facts .fee-facts__grid article { padding: clamp(1.5rem, 3vw, 2rem); background: white; }
.membership-details { display: grid; gap: .8rem; margin-top: 1.25rem; }
.membership-application { width: min(calc(100% - 2rem), 90rem); margin-inline: auto; padding: clamp(4rem, 8vw, 7rem) 0; scroll-margin-top: 5rem; background: white; }
.membership-application__layout { display: grid; gap: 2.5rem; }
.membership-form { min-width: 0; }
.membership-form fieldset { margin: 0 0 1rem; padding: clamp(1.2rem, 3vw, 2rem); border: 1px solid #dededb; border-radius: .55rem; background: #fafaf8; }
.membership-form legend { padding: 0 .5rem; color: #222626; font-size: 1.05rem; font-weight: 800; }
.membership-form legend span { display: inline-grid; width: 2rem; height: 2rem; margin-right: .45rem; place-items: center; border-radius: 50%; color: white; font-size: .66rem; background: var(--color-wine-red); }
.membership-form__grid { display: grid; gap: 1rem; margin-top: 1.25rem; }
.membership-form__grid label { display: grid; gap: .4rem; }
.membership-form__grid label > span { color: #626565; font-size: .7rem; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; }
.membership-form input[type="text"], .membership-form input[type="email"], .membership-form input[type="tel"], .membership-form input[type="date"], .membership-form input[type="password"], .membership-form select, .membership-form textarea { width: 100%; min-height: 3rem; box-sizing: border-box; border: 1px solid #cececa; border-radius: .28rem; padding: .7rem .8rem; color: #222; font: inherit; background: white; }
.membership-form textarea { min-height: 10rem; resize: vertical; line-height: 1.55; }
.membership-form input:focus, .membership-form select:focus, .membership-form textarea:focus { border-color: var(--color-wine-red); outline: 3px solid rgb(126 25 48 / 12%); }
.membership-form__options { display: grid; gap: .65rem; margin-top: 1.25rem; }
.membership-form__options label { position: relative; display: flex; min-height: 4.3rem; align-items: center; border: 1px solid #d4d4d0; border-radius: .35rem; padding: .8rem 1rem; background: white; cursor: pointer; }
.membership-form__options input { margin-right: .7rem; accent-color: var(--color-wine-red); }
.membership-form__options span { display: grid; gap: .15rem; }
.membership-form__options strong { font-size: .85rem; }
.membership-form__options small { color: #737575; }
.membership-form__options label:has(input:checked) { border-color: var(--color-wine-red); box-shadow: inset 0 0 0 1px var(--color-wine-red); }
.membership-form__hint { margin: 1rem 0 0; color: #686b6b; font-size: .82rem; line-height: 1.6; }
.membership-form__checks { display: grid; gap: .8rem; margin-top: 1rem; }
.membership-form__checks label { display: flex; align-items: flex-start; gap: .7rem; color: #494c4c; font-size: .85rem; line-height: 1.55; }
.membership-form__checks input { flex: 0 0 auto; margin-top: .2rem; accent-color: var(--color-wine-red); }
.membership-form__submit { display: grid; gap: 1.25rem; padding: 1.4rem; border-radius: .5rem; color: white; background: #222626; }
.membership-form__submit strong { display: block; margin-bottom: .3rem; }
.membership-form__submit p { margin: 0; color: rgb(255 255 255 / 68%); font-size: .8rem; line-height: 1.6; }
.membership-form__submit .button { align-self: center; justify-self: start; border: 0; cursor: pointer; }
.membership-form__message { margin-bottom: 1rem; border: 1px solid; border-radius: .5rem; padding: 1rem 1.2rem; line-height: 1.55; }
.membership-form__message--success { border-color: #a9d2b3; color: #19572f; background: #edf8f0; }
.membership-form__message--success strong { display: block; margin-bottom: .35rem; font-size: 1.05rem; }
.membership-form__message--success p { margin: 0; }
.membership-form__message--error { border-color: #efc3b9; color: #842f1e; background: #fff0ed; }
.membership-form__message ul { margin: .5rem 0 0; padding-left: 1.2rem; }
.form-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.membership-download { width: min(calc(100% - 2rem), 90rem); margin-inline: auto; padding: clamp(3rem, 5vw, 4.5rem) 0; scroll-margin-top: 5rem; background: var(--color-wine-red); }
.membership-download__card { display: grid; align-items: center; gap: 2rem; color: white; }
.membership-download .club-onepager-section__eyebrow { color: rgb(255 255 255 / 68%); }
.membership-download p:last-child { max-width: 48rem; color: rgb(255 255 255 / 76%); line-height: 1.75; }
.membership-download .button { justify-self: start; border-color: white; color: var(--color-wine-red); background: white; }

@media (min-width: 48rem) {
    .membership-teaser .membership-teaser__inner { width: min(calc(100% - 6rem), 84rem); grid-template-columns: 1fr auto; }
    .membership-intro__grid { grid-template-columns: .9fr 1.1fr; }
    .membership-intro ol { grid-column: 1 / -1; grid-template-columns: repeat(3, 1fr); }
    .membership-form__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .membership-form__wide { grid-column: 1 / -1; }
    .membership-form__options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .membership-form__submit { grid-template-columns: 1fr auto; }
    .membership-download__card { grid-template-columns: 1fr auto; }
    .membership-download .button { margin-right: 1.5rem; }
}

@media (min-width: 68rem) {
    .membership-application__layout { grid-template-columns: minmax(17rem, .65fr) minmax(0, 1.35fr); align-items: start; }
    .membership-application .membership-section-heading { position: sticky; top: 5rem; }
    .membership-form__options { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media print {
    .main-navigation, .section-navigation, .membership-hero, .membership-intro, .membership-contributions, .membership-facts, .membership-download, .site-footer, .membership-application .membership-section-heading, .membership-form__submit { display: none !important; }
    .membership-application { padding: 0; }
    .membership-application__layout { display: block; }
    .membership-form fieldset { break-inside: avoid; border-color: #999; background: white; }
    .membership-form input { border-color: #777 !important; }
}

/* Probetraining */
.trial-navigation { position: sticky; z-index: 18; top: 0; }
.trial-hero.hero--training { scroll-margin-top: 4rem; }
.trial-hero.hero--training .hero__image { object-position: 52% 36%; }
.trial-hero__knuddel{max-width:38rem!important;margin-top:.75rem!important;color:inherit!important;line-height:1.55!important}.trial-hero .hero__actions{display:flex;flex-wrap:wrap;gap:.7rem}
.trial-intro { width: min(calc(100% - 2rem), 90rem); margin-inline: auto; padding: clamp(3.5rem, 7vw, 6rem) 0; scroll-margin-top: 5rem; color: white; background: var(--color-anthracite); }
.trial-intro__layout { display: grid; gap: 2rem; }
.trial-intro h2 { max-width: 14ch; margin: .35rem 0 0; font-size: clamp(2rem, 4vw, 3.25rem); line-height: 1.05; text-transform: uppercase; }
.trial-intro .club-onepager-section__eyebrow { color: rgb(255 255 255 / 62%); }
.trial-intro__copy { max-width: 46rem; color: rgb(255 255 255 / 72%); line-height: 1.8; }
.trial-intro__copy p:first-child { margin-top: 0; }
.trial-intro__copy p:last-child { margin-bottom: 0; }
.trial-intro ol { display: grid; gap: 1px; margin: 0; padding: 1px; list-style: none; background: rgb(255 255 255 / 13%); }
.trial-intro li { display: grid; grid-template-columns: auto 1fr; gap: .2rem .8rem; padding: 1.2rem; background: #202424; }
.trial-intro li span { grid-row: 1 / 3; color: var(--color-red); font-size: .7rem; font-weight: 800; }
.trial-intro li strong { font-size: .86rem; }
.trial-intro li small { color: rgb(255 255 255 / 60%); }
.trial-hints { width: min(calc(100% - 2rem), 90rem); margin-inline: auto; padding-block: clamp(4rem, 8vw, 7rem); scroll-margin-top: 5rem; background: #f4f4f1; }
.trial-hints .training-hints__grid { margin-top: 2rem; }
.trial-hints .training-hints__grid article { border-color: rgb(255 255 255 / 10%); padding: clamp(1.25rem, 2.5vw, 1.75rem); color: white; background: #202424; }
.trial-hints .training-hints__grid article > span { color: var(--color-red); font-size: 1.35rem; font-weight: 900; }
.trial-hints .training-hints__grid article > p { color: rgb(255 255 255 / 68%); }
.trial-form__website { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); }
.trial-form-message { display: grid; gap: .25rem; margin-bottom: 1rem; padding: 1rem 1.25rem; border: 1px solid; }
.trial-form-message--success { color: #176335; border-color: #add9bd; background: #edf8f1; }
.trial-form-message--error { color: #8f1427; border-color: #dfb4bb; background: #fff3f5; }
.trial-request { width: min(calc(100% - 2rem), 90rem); margin-inline: auto; padding: clamp(4rem, 8vw, 7rem) 0; scroll-margin-top: 5rem; background: white; }
.trial-request__layout { display: grid; gap: 2.5rem; }
.trial-form__options { grid-template-columns: 1fr; }
.trial-form__days { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; margin-top: 1.25rem; }
.trial-form__days label { display: flex; min-height: 2.8rem; align-items: center; gap: .55rem; border: 1px solid #d4d4d0; border-radius: .3rem; padding: .5rem .75rem; font-size: .78rem; font-weight: 750; background: white; cursor: pointer; }
.trial-form__days input { accent-color: var(--color-wine-red); }
.trial-form__days label:has(input:checked) { border-color: var(--color-wine-red); box-shadow: inset 0 0 0 1px var(--color-wine-red); }
.trial-form__message { display: grid; gap: .45rem; margin-top: 1.1rem; }
.trial-form__message > span { color: #626565; font-size: .7rem; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; }
.trial-form__message textarea { width: 100%; box-sizing: border-box; border: 1px solid #cececa; border-radius: .28rem; padding: .8rem; color: #222; font: inherit; line-height: 1.6; background: white; resize: vertical; }
.trial-form__message textarea:focus { border-color: var(--color-wine-red); outline: 3px solid rgb(126 25 48 / 12%); }

@media (min-width: 48rem) {
    .trial-intro__layout { grid-template-columns: 1.05fr .95fr; column-gap: clamp(3rem, 5vw, 5rem); }
    .trial-intro ol { grid-column: 1 / -1; grid-template-columns: repeat(3, 1fr); }
    .trial-form__options { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .trial-form__days { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 68rem) {
    .trial-request__layout { grid-template-columns: minmax(17rem, .65fr) minmax(0, 1.35fr); align-items: start; }
    .trial-request .membership-section-heading { position: sticky; top: 5rem; }
}

/* Trainingsseite */
.hero--training .hero__image { object-position: 52% 40%; }
.hero.hero--training h1 { max-width: 18ch; font-size: clamp(2.5rem, 5vw, 3.5rem); }
.training-entry-cta { width: min(calc(100% - 2rem), 90rem); margin-inline: auto; color: white; background: linear-gradient(105deg, #111515, #242727); }
.training-entry-cta__layout { display: grid; width: min(calc(100% - 3rem), 64rem); gap: 1.5rem; align-items: center; margin-inline: auto; padding-block: clamp(2.5rem, 4vw, 3.5rem); }
.training-entry-cta__layout > div > p { margin: 0 0 .6rem; color: var(--color-red); font-size: .9rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.training-entry-cta h2 { max-width: 22ch; margin: 0; font-size: clamp(1.6rem, 3vw, 2.4rem); letter-spacing: -.04em; line-height: 1.08; text-transform: uppercase; }
.training-entry-cta__layout > p { max-width: 36rem; margin: 0; color: white; font-size: clamp(1.1rem, 2vw, 1.35rem); font-weight: 650; line-height: 1.55; }
.training-entry-cta .button { width: fit-content; gap: .75rem; }
.training-intro, .training-schedule, .training-hints { padding-block: clamp(4rem, 7vw, 7rem); }
.training-intro { background: var(--color-off-white); }
.training-heading > p, .training-adults__content > p:first-child, .training-trial__layout > div > p { margin: 0 0 .7rem; color: var(--color-wine-red); font-size: 1rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.training-heading h2, .training-adults__content h2, .training-trial h2 { margin: 0; font-size: clamp(2.2rem, 4.5vw, 3.6rem); font-weight: 800; letter-spacing: -.045em; line-height: 1.02; text-transform: uppercase; }
.training-heading h2::after, .training-adults__content h2::after { display: block; width: 3.5rem; height: 3px; margin-top: 1.25rem; background: var(--color-wine-red); content: ""; }
.training-intro__layout { display: grid; gap: 2.5rem; }
.training-intro__copy { display: grid; gap: 1.5rem; }
.training-intro__copy p { margin: 0; color: #454545; font-size: 1.05rem; line-height: 1.8; }
.training-offers { display: grid; gap: 1.25rem; margin-top: clamp(3rem, 6vw, 5rem); }
.training-offer { overflow: hidden; border-radius: .3rem; color: var(--color-anthracite); text-decoration: none; background: white; box-shadow: 0 .8rem 2.25rem rgb(20 20 20 / 11%); transition: box-shadow 180ms ease, transform 180ms ease; }
.training-offer:hover, .training-offer:focus-visible { box-shadow: 0 1.15rem 2.75rem rgb(20 20 20 / 17%); transform: translateY(-.3rem); }
.training-offer:focus-visible { outline: 3px solid var(--color-red); outline-offset: 3px; }
.training-offer > img { display: block; width: 100%; height: 15rem; object-fit: cover; }
.training-offer:nth-child(1) > img { object-position: center 20%; }
.training-offer:nth-child(2) > img { object-position: 60% 35%; }
.training-offer:nth-child(3) > img { object-position: 50% 35%; }
.training-offer > div { padding: 1.75rem; }
.training-offer > div > p:first-child { margin: 0 0 .5rem; color: var(--color-wine-red); font-size: .8rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.training-offer h3 { margin: 0; font-size: 1.65rem; line-height: 1.1; text-transform: uppercase; }
.training-offer span { display: block; margin-top: .75rem; font-weight: 700; }
.training-offer > div > p:last-child { margin: 1.25rem 0 0; color: #565656; line-height: 1.7; }
.training-adults { width: min(calc(100% - 2rem), 90rem); margin-inline: auto; background: #eeeeec; }
.training-adults__layout { display: grid; }
.training-adults__media { min-height: 18rem; overflow: hidden; }
.training-adults__media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 35%; }
.training-adults__content { align-self: center; padding: clamp(2.5rem, 4vw, 3.5rem); }
.training-adults__content > p:not(:first-child) { max-width: 36rem; margin: 1.75rem 0 0; color: #4d4d4d; line-height: 1.8; }
.training-adults__content ul { display: grid; gap: .8rem; margin: 2rem 0 0; padding: 0; list-style: none; }
.training-adults__content li { position: relative; padding-left: 1.5rem; font-weight: 700; }
.training-adults__content li::before { position: absolute; left: 0; color: var(--color-wine-red); content: "→"; }
.training-schedule { width: min(calc(100% - 2rem), 90rem); margin-inline: auto; background: white; }
.training-heading--schedule { display: grid; gap: .5rem; }
.training-heading--schedule > span { max-width: 34rem; margin-top: 1rem; color: #555; line-height: 1.7; }
.training-accordions { margin-top: 3rem; border-top: 1px solid #d9d9d6; }
.training-accordions details { border-bottom: 1px solid #d9d9d6; }
.training-accordions summary { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 1.5rem; padding: 1.6rem 0; cursor: pointer; list-style: none; }
.training-accordions summary::-webkit-details-marker { display: none; }
.training-accordions summary > span { font-size: clamp(1.25rem, 3vw, 1.75rem); font-weight: 800; text-transform: uppercase; }
.training-accordions summary > strong { color: var(--color-wine-red); font-size: .9rem; letter-spacing: .05em; text-transform: uppercase; }
.training-accordions summary::after { grid-column: 3; color: var(--color-wine-red); font-size: 1.75rem; content: "+"; }
.training-accordions details[open] summary::after { content: "−"; }
.training-accordions details > div { display: grid; gap: 1.25rem; padding: 0 0 2rem; color: #555; line-height: 1.7; }
.training-accordions details > div p { margin: 0; }
.training-accordions details > div span { color: var(--color-wine-red); font-weight: 700; }
.training-area-content > p { max-width: 48rem; }
.training-group-grid { display: grid; width: 100%; gap: 1rem; }
.training-group-card { display: flex; flex-direction: column; min-width: 0; padding: 1.5rem; border: 1px solid #383d3c; color: white; background: #1c2120; box-shadow: 0 .8rem 2rem rgb(20 20 20 / 12%); }
.training-group-card__day { width: fit-content; margin-bottom: 1rem; padding: .35rem .6rem; color: white; font-size: .72rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; background: var(--color-wine-red); }
.training-group-card h3 { margin: 0; color: white; font-size: 1.3rem; line-height: 1.15; text-transform: uppercase; }
.training-group-card > strong { margin-top: .55rem; color: white; font-size: 1.05rem; }
.training-group-card > span { margin-top: .25rem; color: #c1c6c4 !important; font-size: .88rem; }
.training-group-card > p { margin-top: 1rem !important; color: #c7ccca; font-size: .92rem; line-height: 1.65; }
.training-group-card__trainer { display: grid; grid-template-columns: 3.6rem minmax(0, 1fr); align-items: center; gap: .8rem; margin-top: auto; padding-top: 1.25rem; }
.training-group-card__trainer > img, .training-group-card__initials { display: grid; width: 3.6rem; height: 3.6rem; box-sizing: border-box; place-items: center; border: 3px solid white; border-radius: 50%; object-fit: cover; color: white !important; font-size: 1rem; font-weight: 850 !important; background: #303634; box-shadow: 0 .35rem .9rem rgb(0 0 0 / 24%); }
.training-group-card__trainer > div { display: grid; min-width: 0; }
.training-group-card__trainer small { color: #9ba19f; font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.training-group-card__trainer b { color: white; }
.training-group-card__trainer span { color: #aeb4b2 !important; font-size: .78rem; font-weight: 500 !important; }
.training-group-card > em { margin-top: 1rem; padding-top: .8rem; border-top: 1px solid #3d4341; color: #ef4052; font-size: .82rem; font-style: normal; font-weight: 750; }
.training-area-empty { width: fit-content; color: var(--color-wine-red); font-weight: 700; }
@media (min-width: 42rem) { .training-group-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.trainer-team { padding-block: clamp(4rem, 7vw, 7rem); background: #eeeeec; }
.trainer-team__intro { display: grid; gap: 2rem; }
.trainer-team__intro > p { max-width: 43rem; margin: 0; color: #505050; font-size: 1.05rem; line-height: 1.8; }
.trainer-groups { display: grid; gap: 4rem; margin-top: clamp(3rem, 6vw, 5rem); }
.trainer-group > h3 { margin: 0 0 2rem; font-size: 1rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.trainer-group > h3::after { display: block; width: 3.5rem; height: 3px; margin-top: .8rem; background: var(--color-wine-red); content: ""; }
.trainer-grid { display: grid; gap: 1.25rem; }
.trainer-grid--all { margin-top: clamp(3rem, 6vw, 5rem); }
.trainer-card { position: relative; min-height: 15rem; margin-top: 4.5rem; padding: 5.75rem 1.75rem 1.75rem; border-radius: .3rem; background: white; box-shadow: 0 .8rem 2.25rem rgb(20 20 20 / 11%); transition: box-shadow 180ms ease, transform 180ms ease; }
.trainer-card:hover { box-shadow: 0 1.15rem 2.75rem rgb(20 20 20 / 17%); transform: translateY(-.3rem); }
.trainer-card > img, .trainer-card__initials { position: absolute; top: -4.5rem; left: 1.75rem; width: 9rem; height: 9rem; box-sizing: border-box; border: 4px solid white; border-radius: 50%; object-fit: contain; background: white; box-shadow: 0 .75rem 1.75rem rgb(20 20 20 / 18%); }
.trainer-card > .trainer-card__initials { display: flex; align-items: center; justify-content: center; margin: 0; color: #fff; font-size: 2.8rem; line-height: 1; background: #252a29; }
.trainer-card > .trainer-card__initials > b { display: block; margin: 0; color: #fff; font-size: 2.8rem; font-weight: 850; line-height: 1; letter-spacing: -.04em; }
.trainer-card > img.trainer-card__portrait--photo { object-fit: cover; object-position: 50% 24%; }
.trainer-card > div > p { margin: 0 0 .45rem; color: var(--color-wine-red); font-size: .75rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.trainer-card h4 { margin: 0; font-size: 1.35rem; text-transform: uppercase; }
.trainer-card > div strong, .trainer-card > div span { display: block; }
.trainer-card > div strong { margin-top: .8rem; }
.trainer-card > div span { margin-top: .55rem; color: #666; font-size: .86rem; line-height: 1.5; }
.training-trial { width: min(calc(100% - 2rem), 90rem); margin-inline: auto; color: white; background: linear-gradient(105deg, #111515, #242727); }
.training-trial__layout { display: grid; gap: 2rem; align-items: center; padding-block: clamp(3rem, 5vw, 4.5rem); }
.training-trial h2 { color: white; }
.training-trial__layout > p { max-width: 36rem; margin: 0; color: rgb(255 255 255 / 72%); line-height: 1.75; }
.training-trial .button { justify-self: start; }
.training-hints { background: var(--color-off-white); }
.training-hints__grid { display: grid; gap: 1px; margin-top: 3rem; background: #d9d9d6; }
.training-hints article { padding: 2rem; background: white; }
.training-hints article > span { color: var(--color-red); font-size: 1.75rem; font-weight: 800; }
.training-hints h3 { margin: 1.25rem 0 .75rem; font-size: 1.15rem; text-transform: uppercase; }
.training-hints article p { margin: 0; color: #555; line-height: 1.7; }

/* Knuddeltennis */
.knuddel-about { width: min(calc(100% - 2rem), 90rem); margin-inline: auto; padding: clamp(4rem, 8vw, 7rem) 0 clamp(1.25rem, 2vw, 2rem); background: var(--color-off-white); }
.knuddel-about__layout { display: grid; gap: 2.5rem; }
.knuddel-about__copy { display: grid; gap: 1.15rem; }
.knuddel-about__copy p { margin: 0; color: #4d4d4d; font-size: 1.03rem; line-height: 1.8; }
.knuddel-facts { display: grid; gap: 1px; margin-top: clamp(3rem, 6vw, 5rem); background: #ddd; }
.knuddel-facts article { display: flex; min-height: 10rem; align-items: flex-start; justify-content: center; flex-direction: column; padding: 2rem; background: white; }
.knuddel-facts strong { color: var(--color-wine-red); font-size: clamp(2.5rem, 5vw, 4rem); letter-spacing: -.06em; line-height: 1; }
.knuddel-facts span { margin-top: .55rem; font-size: .8rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.knuddel-schedule { width: min(calc(100% - 2rem), 90rem); margin-inline: auto; border-top: 3px solid var(--color-wine-red); color: var(--color-wine-red); background: white; }
.knuddel-schedule__inner { display: grid; gap: 1.5rem; align-items: end; padding-block: clamp(3rem, 6vw, 5rem); }
.knuddel-schedule p, .knuddel-final-cta p { margin: 0 0 .6rem; font-size: .8rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.knuddel-schedule h2 { margin: 0; font-size: clamp(2.5rem, 5vw, 4rem); letter-spacing: -.06em; line-height: 1; text-transform: uppercase; }
.knuddel-schedule p { margin-bottom: .7rem; font-size: 1rem; }
.knuddel-schedule strong { font-size: clamp(2.5rem, 5vw, 4rem); letter-spacing: -.06em; line-height: 1; }
.knuddel-benefits { padding-block: clamp(4rem, 8vw, 7rem); }
.knuddel-benefits__grid { display: grid; gap: 1.25rem; margin-top: clamp(2.5rem, 5vw, 4rem); }
.knuddel-benefits__grid article { padding: 2rem; border-top: 3px solid var(--color-wine-red); background: #f3f3f1; }
.knuddel-benefits__grid article > span { color: var(--color-wine-red); font-size: .78rem; font-weight: 800; }
.knuddel-benefits__grid h3 { margin: 1rem 0 .75rem; font-size: 1.15rem; text-transform: uppercase; }
.knuddel-benefits__grid p { margin: 0; color: #555; line-height: 1.7; }
.knuddel-trainer { width: min(calc(100% - 2rem), 90rem); margin-inline: auto; color: white; background: #151919; }
.knuddel-trainer > .site-container { width: 100%; }
.knuddel-trainer__layout { display: grid; }
.knuddel-trainer__content { align-self: center; padding: clamp(2.5rem, 4vw, 4rem); }
.knuddel-trainer__content > p:first-child { margin: 0 0 .6rem; color: var(--color-red); font-size: .8rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.knuddel-trainer__content h2 { max-width: 15ch; margin: 0; font-size: clamp(2rem, 4vw, 3.5rem); letter-spacing: -.045em; line-height: 1; text-transform: uppercase; }
.knuddel-trainer__content blockquote { max-width: 25rem; margin: 2rem 0 1.5rem; color: white; font-family: Georgia, serif; font-size: clamp(1.25rem, 2vw, 1.65rem); font-style: italic; line-height: 1.45; }
.knuddel-trainer__content > p:not(:first-child) { max-width: 34rem; margin: 0; color: rgb(255 255 255 / 72%); line-height: 1.75; }
.knuddel-trainer__content > span { display: inline-block; margin-top: 1.5rem; padding-top: 1rem; border-top: 2px solid var(--color-wine-red); font-size: .78rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.knuddel-trainer__media { min-height: 22rem; overflow: hidden; }
.knuddel-trainer__media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 28%; }
.knuddel-costs { width: min(calc(100% - 2rem), 90rem); margin-inline: auto; padding-block: clamp(4rem, 8vw, 7rem); background: var(--color-off-white); }
.knuddel-costs__layout { display: grid; gap: 2.5rem; }
.knuddel-costs__copy { display: grid; gap: 1.15rem; }
.knuddel-costs__copy p { margin: 0; color: #4d4d4d; font-size: 1.03rem; line-height: 1.8; }
.knuddel-final-cta { width: min(calc(100% - 2rem), 90rem); margin-inline: auto; color: var(--color-anthracite); background: #f3f3f1; }
.knuddel-final-cta__inner { display: grid; gap: clamp(2.5rem, 5vw, 5rem); align-items: start; padding-block: clamp(3rem, 6vw, 5rem); }
.knuddel-final-cta p { margin-bottom: .7rem; color: var(--color-red); font-size: 1rem; }
.knuddel-final-cta h2 { max-width: 18ch; margin: 0; font-size: clamp(2rem, 4vw, 3.5rem); letter-spacing: -.045em; line-height: 1; text-transform: uppercase; }
.knuddel-final-cta__intro > span { display: block; max-width: 29rem; margin-top: 1.5rem; color: #555; line-height: 1.7; }
.knuddel-final-cta__action { display: grid; justify-items: start; gap: 1rem; padding: clamp(1.5rem, 4vw, 2.5rem); background: #fff; }
.knuddel-final-cta__action > strong { font-size: clamp(1.25rem, 2vw, 1.65rem); }
.knuddel-final-cta__action > span { max-width: 34rem; color: #555; line-height: 1.7; }
.knuddel-final-cta__action .button { margin-top: .35rem; }
.knuddel-contact-form { display: grid; gap: 1.15rem; }
.knuddel-contact-form__field { display: grid; gap: .45rem; }
.knuddel-contact-form label { font-size: .76rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.knuddel-contact-form input, .knuddel-contact-form textarea { width: 100%; border: 1px solid #d5d5d2; border-radius: .2rem; padding: .9rem 1rem; color: var(--color-anthracite); font: inherit; background: white; transition: border-color 160ms ease, box-shadow 160ms ease; }
.knuddel-contact-form textarea { min-height: 9rem; resize: vertical; }
.knuddel-contact-form input:focus, .knuddel-contact-form textarea:focus { border-color: var(--color-wine-red); outline: none; box-shadow: 0 0 0 3px rgb(187 30 44 / 14%); }
.knuddel-contact-form__footer { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 1rem 1.25rem; margin-top: .35rem; }
.knuddel-contact-form__footer small { max-width: 17rem; color: #666; line-height: 1.5; }

@media (min-width: 48rem) {
    .training-offers, .training-hints__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .training-intro__copy { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .trainer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .knuddel-about__layout { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
    .knuddel-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .knuddel-schedule__inner { grid-template-columns: auto auto; justify-content: center; column-gap: clamp(3rem, 8vw, 8rem); }
    .knuddel-final-cta__inner { grid-template-columns: minmax(0, 1.25fr) minmax(18rem, .75fr); }
    .knuddel-contact-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .knuddel-contact-form__field--wide, .knuddel-contact-form__footer { grid-column: 1 / -1; }
    .knuddel-benefits__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .knuddel-trainer__layout { grid-template-columns: minmax(0, 1.35fr) minmax(18rem, .65fr); }
    .knuddel-costs__layout { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
}

@media (min-width: 64rem) {
    .hero--training .hero__layout { height: 30rem; min-height: 0; }
    .hero--training .hero__content { padding-block: 3rem; }
    .hero--training .hero__media { height: 30rem; min-height: 0; margin-left: -3rem; width: calc(100% + 3rem); }
    .hero--training .hero__media::after { display: none; }
    .training-entry-cta__layout { grid-template-columns: minmax(0, 36rem) auto; justify-content: center; gap: 3rem; }
    .training-intro__layout { grid-template-columns: minmax(0, 1.25fr) minmax(18rem, .75fr); gap: clamp(4rem, 8vw, 8rem); }
    .training-intro__copy { grid-column: 1; grid-row: 1; }
    .training-intro__layout > .training-heading { grid-column: 2; grid-row: 1; }
    .trainer-team__intro { grid-template-columns: minmax(24rem, 1fr) minmax(24rem, 1fr); align-items: end; gap: clamp(4rem, 8vw, 8rem); }
    .trainer-grid--all { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
    .training-adults__layout { grid-template-columns: minmax(0, 1fr) minmax(25rem, 1fr); height: 32rem; overflow: hidden; }
    .training-adults__media { height: 32rem; min-height: 0; }
    .training-adults__content { padding: 3rem 4rem; }
    .training-adults__content h2 { max-width: 100%; font-size: clamp(2.25rem, 3.2vw, 3rem); }
    .training-trial__layout { grid-template-columns: minmax(22rem, 1.1fr) minmax(20rem, 1fr) auto; }
}

/* Mannschaftsseite */
.teams-hero { overflow: hidden; background: var(--color-off-white); }
.teams-hero__layout { display: grid; }
.teams-hero__content { display: flex; justify-content: center; flex-direction: column; padding-block: clamp(3.5rem, 7vw, 6rem); }
.teams-hero__content h1 { max-width: 10ch; margin: 0; font-size: clamp(2.7rem, 7vw, 5rem); font-weight: 800; letter-spacing: -.05em; line-height: .98; text-transform: uppercase; }
.teams-hero__content > p:last-child { max-width: 35rem; margin: 1.75rem 0 0; font-size: 1rem; line-height: 1.75; }
.teams-hero__visual { position: relative; display: grid; min-height: 27rem; overflow: hidden; place-items: center; color: rgb(255 255 255 / 60%); background: var(--color-off-white); }
.teams-hero__visual > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.teams-hero__visual::before { position: absolute; z-index: 2; inset: 0 auto 0 -1px; width: 16rem; background: linear-gradient(105deg, var(--color-off-white) 0 38%, rgb(250 250 250 / 85%) 38% 50%, rgb(250 250 250 / 50%) 50% 62%, transparent 62%); clip-path: polygon(calc(8rem - 2px) 0, 100% 0, 100% 100%, 0 100%); content: ""; pointer-events: none; }
.teams-hero__visual::after { display: none; content: ""; }
.teams-hero__visual > p { position: relative; z-index: 2; margin: 0; font-size: .8rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.teams-hero__court { position: absolute; inset: 12%; border: 2px solid rgb(255 255 255 / 18%); transform: perspective(30rem) rotateX(58deg) rotateZ(-8deg); }
.teams-hero__court::before, .teams-hero__court::after { position: absolute; background: rgb(255 255 255 / 16%); content: ""; }
.teams-hero__court::before { top: 50%; left: 0; width: 100%; height: 2px; }
.teams-hero__court::after { top: 0; left: 50%; width: 2px; height: 100%; }
.teams-hero__ball { position: absolute; z-index: 1; top: 15%; right: 15%; width: 7rem; height: 7rem; border: .2rem solid #d5df52; border-radius: 50%; opacity: .75; box-shadow: 0 0 4rem rgb(213 223 82 / 25%); }

@media (max-width: 63.99rem) {
    .teams-hero__visual::before, .teams-hero__visual::after { display: none; }
}

.season-overview { width: min(calc(100% - 2rem), 90rem); margin: 0 auto 3rem; color: white; background: linear-gradient(105deg, #111515, #242727); }
.season-overview__heading { padding: 1.5rem 1.5rem 1.15rem; }
.season-overview__heading h2 { margin: 0; font-size: clamp(1.15rem, 2vw, 1.5rem); font-weight: 800; letter-spacing: -.02em; text-transform: uppercase; }
.season-overview__heading h2::after { display: block; width: 2.75rem; height: 3px; margin-top: .75rem; background: var(--color-red); content: ""; }
.season-overview__inner { display: grid; gap: 1px; padding-block: 1px; background: rgb(255 255 255 / 10%); }
.season-overview__inner > div, .season-overview__inner > a { display: flex; min-height: 8.5rem; justify-content: center; flex-direction: column; padding: 1.5rem; background: #191d1d; }
.season-overview span, .season-overview strong { color: var(--color-red); font-size: 2rem; font-weight: 800; line-height: 1; }
.season-overview p { margin: .65rem 0 0; color: rgb(255 255 255 / 65%); font-size: .76rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.season-overview a { color: white; font-size: .78rem; font-weight: 800; letter-spacing: .05em; text-decoration: none; text-transform: uppercase; }
.season-overview a span { display: inline-block; margin-top: .8rem; font-size: 1.25rem; transition: transform 160ms ease; }
.season-overview a:hover span { transform: translateX(.25rem); }

.team-directory { padding-block: clamp(4rem, 7vw, 7rem); color: white; background: linear-gradient(105deg, #111515, #242727); }
.team-directory--alternate { width: min(calc(100% - 2rem), 90rem); margin-inline: auto; color: white; background: linear-gradient(105deg, #111515, #242727); }
.team-directory__layout { display: grid; gap: 3rem; }
.team-directory__heading > p:first-child { margin: 0 0 .65rem; color: var(--color-wine-red); font-size: 1rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.team-directory__heading h2 { margin: 0; font-size: clamp(2rem, 4vw, 3.25rem); font-weight: 800; letter-spacing: -.045em; line-height: 1.02; text-transform: uppercase; }
.team-directory__heading h2::after { display: block; width: 3.5rem; height: 3px; margin-top: 1.25rem; background: var(--color-wine-red); content: ""; }
.team-directory__heading > span { display: block; margin-top: 1.5rem; color: var(--color-wine-red); font-size: 1.6rem; font-weight: 800; }
.team-directory__description { max-width: 24rem; margin: 1rem 0 0; color: rgb(255 255 255 / 68%); line-height: 1.75; }
.team-directory--alternate .team-directory__description { color: rgb(255 255 255 / 68%); }
.team-directory--collapsible { padding-block: 0; }
.team-directory__details > summary { list-style: none; }
.team-directory__details > summary::-webkit-details-marker { display: none; }
.team-directory__summary { display: flex; min-height: 6.5rem; align-items: center; justify-content: space-between; gap: 2rem; box-sizing: border-box; padding-block: 1.25rem; cursor: pointer; }
.team-directory__summary:hover .team-directory__toggle, .team-directory__summary:focus-visible .team-directory__toggle { color: var(--color-anthracite); background: white; transform: scale(1.06); }
.team-directory__summary:focus-visible { outline: 3px solid var(--color-red); outline-offset: -3px; }
.team-directory__summary .team-directory__heading { min-width: 0; }
.team-directory__summary .team-directory__heading > span { display: inline-block; margin-top: 1rem; margin-right: 1rem; }
.team-directory__summary .team-directory__description { display: inline; max-width: 46rem; margin: 0; }
.team-directory__summary-title { display: flex; align-items: baseline; gap: 1rem; }
.team-directory__summary-title strong { color: white; font-size: clamp(1.35rem, 3vw, 2rem); text-transform: uppercase; }
.team-directory__summary-title small { color: var(--color-red); font-size: .78rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.team-directory__toggle { display: grid; width: 3rem; height: 3rem; flex: 0 0 3rem; place-items: center; border: 1px solid rgb(255 255 255 / 24%); border-radius: 50%; color: white; font-size: 1.8rem; font-weight: 400; line-height: 1; transition: color 180ms ease, background 180ms ease, transform 180ms ease; }
.team-directory__details[open] .team-directory__toggle { transform: rotate(45deg); }
.team-directory__details[open] .team-directory__summary:hover .team-directory__toggle, .team-directory__details[open] .team-directory__summary:focus-visible .team-directory__toggle { transform: rotate(45deg) scale(1.06); }
.team-directory__content { box-sizing: border-box; padding-bottom: clamp(3rem, 6vw, 6rem); }
.team-directory__grid { display: grid; gap: 1rem; }
.squad-card { display: grid; grid-template-rows: 12rem 1fr; overflow: hidden; border-radius: .3rem; color: var(--color-anthracite); text-decoration: none; background: white; box-shadow: 0 .8rem 2.25rem rgb(20 20 20 / 11%); transition: box-shadow 180ms ease, transform 180ms ease; }
.squad-card:hover, .squad-card:focus-visible { box-shadow: 0 1.15rem 2.75rem rgb(20 20 20 / 17%); transform: translateY(-.3rem); }
.squad-card:focus-visible { outline: 3px solid var(--color-red); outline-offset: 3px; }
.squad-card__media { display: flex; height: 12rem; min-height: 12rem; max-height: 12rem; align-items: center; justify-content: center; flex: 0 0 12rem; flex-direction: column; gap: .8rem; overflow: hidden; color: #777; background: linear-gradient(145deg, #e8e8e5, #d7d7d3); }
.squad-card__media svg { width: 3.75rem; height: 3.75rem; fill: none; stroke: var(--color-wine-red); stroke-width: 1.5; }
.squad-card__media > img { display: block; width: 100%; height: 12rem; min-height: 12rem; max-height: 12rem; object-fit: cover; object-position: center top; }
.squad-card__media > span { font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.squad-card__content { display: flex; min-height: 14rem; flex-direction: column; padding: 1.5rem; }
.squad-card__content > p { margin: 0 0 .5rem; color: var(--color-wine-red); font-size: .72rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.squad-card h3 { margin: 0 0 1.25rem; font-size: 1.05rem; text-transform: uppercase; }
.squad-card dl { margin: 0; }
.squad-card dl { display: grid; gap: .8rem; }
.squad-card dl div { display: grid; gap: .25rem; padding-top: .7rem; border-top: 1px solid #ececea; }
.squad-card dt, .squad-card dd { margin: 0; }
.squad-card dt { color: #888; font-size: .7rem; letter-spacing: .03em; }
.squad-card dd { overflow-wrap: anywhere; font-size: .92rem; font-weight: 700; line-height: 1.4; }
.squad-card__status { margin-top: auto; padding-top: 1rem; color: #888; font-size: .7rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }

.team-join { width: min(calc(100% - 2rem), 90rem); margin-inline: auto; color: var(--color-anthracite); background: var(--color-off-white); }
.team-join__inner { display: grid; gap: 1.5rem; padding-block: clamp(3rem, 5vw, 4.5rem); }
.team-join__inner > div > p { margin: 0 0 .55rem; color: var(--color-red); font-size: 1rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.team-join h2 { margin: 0; font-size: clamp(2rem, 4vw, 3rem); text-transform: uppercase; }
.team-join__inner > p { max-width: 36rem; margin: 0; color: #555; line-height: 1.75; }
.team-join .button { width: fit-content; gap: .7rem; }

@media (min-width: 38rem) {
    .season-overview__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .team-directory__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 64rem) {
    .teams-hero__layout { grid-template-columns: minmax(22rem, .8fr) minmax(0, 1.2fr); height: 30rem; min-height: 0; }
    .teams-hero__visual { height: 30rem; min-height: 0; }
    .teams-hero__visual > img { clip-path: polygon(8rem 0, 100% 0, 100% 100%, 0 100%); }
    .teams-hero__content { padding-block: 3rem; padding-right: 3rem; }
    .season-overview__inner { grid-template-columns: repeat(5, minmax(0, 1fr)); }
    .team-directory__layout { grid-template-columns: minmax(15rem, .28fr) minmax(0, .72fr); gap: clamp(3rem, 6vw, 6rem); }
    .team-directory--alternate .team-directory__layout { grid-template-columns: minmax(0, .72fr) minmax(15rem, .28fr); }
    .team-directory--alternate .team-directory__heading { grid-column: 2; grid-row: 1; }
    .team-directory--alternate .team-directory__grid { grid-column: 1; grid-row: 1; }
    .team-directory__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .team-join__inner { grid-template-columns: minmax(18rem, .8fr) minmax(20rem, 1fr) auto; align-items: center; gap: 2.5rem; }
}

.legal-hero { padding-block: clamp(4rem, 9vw, 7rem); color: white; background: var(--color-anthracite); }
.legal-hero__inner { max-width: 54rem; }
.legal-hero p { margin: 0 0 .8rem; color: var(--color-red); font-size: .76rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.legal-hero h1 { margin: 0; font-size: clamp(2.8rem, 8vw, 5.8rem); letter-spacing: -.05em; line-height: .95; text-transform: uppercase; }
.legal-hero span { display: block; max-width: 43rem; margin-top: 1.4rem; color: rgb(255 255 255 / 70%); line-height: 1.7; }
.legal-page { background: #f2f2ef; }
.legal-layout { display: grid; gap: 2rem; padding-block: clamp(2.5rem, 7vw, 6rem); }
.legal-nav { align-self: start; padding: 1.4rem; border-top: 4px solid var(--color-wine-red); background: white; }
.legal-nav strong { display: block; margin-bottom: .8rem; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.legal-nav ul { display: grid; gap: .55rem; margin: 0; padding: 0; list-style: none; }
.legal-nav a { color: #5f6261; font-size: .82rem; text-decoration: none; }
.legal-nav a:hover, .legal-nav a:focus-visible { color: var(--color-wine-red); }
.legal-content { min-width: 0; }
.legal-section { margin-bottom: 1rem; padding: clamp(1.35rem, 4vw, 2.5rem); background: white; }
.legal-section h2 { margin: 0 0 1rem; color: var(--color-anthracite); font-size: clamp(1.35rem, 4vw, 2rem); }
.legal-section h3 { margin: 1.8rem 0 .55rem; font-size: 1rem; }
.legal-section p, .legal-section li, .legal-section address { color: #565a59; font-style: normal; line-height: 1.75; }
.legal-section p:first-of-type { margin-top: 0; }
.legal-section p:last-child { margin-bottom: 0; }
.legal-section a { color: var(--color-wine-red); text-underline-offset: .18em; }
.legal-section ul { padding-left: 1.2rem; }
.legal-note { border-left: 4px solid var(--color-red); }
@media (min-width: 62rem) { .legal-layout { grid-template-columns: 15rem minmax(0, 1fr); align-items: start; } .legal-nav { position: sticky; top: 7rem; } }
.training-trial-links{display:flex;flex-wrap:wrap;gap:.75rem;margin:1rem 0 1.5rem}.training-trial-links .button{min-width:11rem;justify-content:center}
