.bign-static-page .bign-page-header {
    position: relative;
}

/* Partner: Logos immer vollständig in einheitlich hoher Bühne, Hintergrund pro Partner hell/dunkel */
.partner-grid {
    display: grid;
    gap: 2rem;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 19rem), 1fr));
}

.partner-card__logo {
    align-items: center;
    background: #16151c;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
    display: flex;
    height: 11rem;
    justify-content: center;
    overflow: hidden;
    padding: 1.75rem 2rem;
    position: relative;
}

.partner-card__logo--light {
    background: #eeeef2;
}

.partner-card__logo img {
    display: block;
    height: 100%;
    max-width: 100%;
    object-fit: contain;
    transition: transform .5s cubic-bezier(.4, 0, .2, 1);
    width: 100%;
}

.partner-card:hover .partner-card__logo img {
    transform: scale(1.05);
}

.partner-card__placeholder {
    color: rgba(255, 255, 255, .6);
    font-size: 3.75rem;
}

.partner-card__pill {
    left: .75rem;
    position: absolute;
    top: .75rem;
}

@media (prefers-reduced-motion: reduce) {
    .partner-card__logo img {
        transition: none;
    }
}

/* Team: einheitlich hohe Porträts (Format per Seiteneinstellung, Ausschnitt pro Mitglied), Details im Modal */
.team-grid {
    display: grid;
    gap: 2rem;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 16.5rem), 1fr));
}

.team-card {
    display: flex;
    flex-direction: column;
}

.team-card__media {
    aspect-ratio: var(--team-image-ratio, 4 / 5);
    background: rgba(223, 32, 32, .12);
    overflow: hidden;
    position: relative;
}

.team-card__media img,
.team-dialog__media img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.team-card__media img {
    transition: transform .6s cubic-bezier(.4, 0, .2, 1);
}

.team-card:hover .team-card__media img {
    transform: scale(1.05);
}

.team-card__placeholder {
    align-items: center;
    color: rgba(255, 255, 255, .6);
    display: flex;
    font-size: 3.75rem;
    height: 100%;
    justify-content: center;
    min-height: 12rem;
    width: 100%;
}

.team-card__shade {
    background: linear-gradient(to top, rgba(10, 10, 14, .9) 0%, rgba(10, 10, 14, .25) 38%, transparent 60%);
    inset: 0;
    pointer-events: none;
    position: absolute;
}

.team-card__role {
    backdrop-filter: blur(6px);
    background: rgba(223, 32, 32, .85);
    border-radius: 999px;
    bottom: 1rem;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    left: 1rem;
    letter-spacing: .08em;
    line-height: 1.2;
    max-width: calc(100% - 2rem);
    padding: .4rem .8rem;
    position: absolute;
    text-transform: uppercase;
}

.team-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: .75rem;
    padding: 1.5rem;
}

.team-card__name {
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.25;
    margin: 0;
}

.team-card__teaser {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    color: rgba(255, 255, 255, .62);
    display: -webkit-box;
    font-size: .9rem;
    line-height: 1.6;
    margin: 0;
    overflow: hidden;
}

.team-card__more {
    align-self: flex-start;
    margin-top: auto;
}

.team-card__more i {
    transition: transform .25s ease;
}

.team-card__more:hover i,
.team-card__more:focus-visible i {
    transform: translateX(3px);
}

html:has(.team-dialog[open]) {
    overflow: hidden;
}

.team-dialog {
    background: transparent;
    border: 0;
    color: #fff;
    margin: auto;
    max-height: calc(100dvh - 2rem);
    max-width: min(60rem, calc(100vw - 2rem));
    overflow-y: auto;
    padding: 0;
    width: 100%;
}

.team-dialog::backdrop {
    backdrop-filter: blur(6px);
    background: rgba(5, 5, 8, .78);
}

.team-dialog[open] {
    animation: team-dialog-in .28s cubic-bezier(.2, .8, .2, 1);
}

@keyframes team-dialog-in {
    from { opacity: 0; transform: translateY(16px) scale(.98); }
    to { opacity: 1; transform: none; }
}

.team-dialog__panel {
    background: #1b1a23;
    border: 1px solid #2c2b36;
    border-top: 4px solid #df2020;
    border-radius: 1.25rem;
    box-shadow: none;
    display: grid;
    overflow: hidden;
    position: relative;
}

.team-dialog__media {
    aspect-ratio: 16 / 10;
    background: rgba(223, 32, 32, .12);
}

.team-dialog__body {
    padding: 1.75rem;
}

.team-dialog__role {
    color: #ff4a4a;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .1em;
    margin: 0 0 .5rem;
    text-transform: uppercase;
}

.team-dialog__name {
    font-size: 1.75rem;
    font-weight: 800;
    line-height: 1.2;
    margin: 0 0 1.25rem;
}

.team-dialog__content {
    color: rgba(255, 255, 255, .8);
    line-height: 1.75;
}

.team-dialog__content > * + * {
    margin-top: 1rem;
}

.team-dialog__footer {
    border-top: 1px solid rgba(255, 255, 255, .1);
    display: flex;
    justify-content: flex-end;
    margin-top: 1.75rem;
    padding-top: 1.25rem;
}

.team-dialog__close {
    align-items: center;
    background: rgba(10, 10, 14, .7);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    height: 2.5rem;
    justify-content: center;
    position: absolute;
    right: 1rem;
    top: 1rem;
    transition: background-color .2s ease, border-color .2s ease;
    width: 2.5rem;
    z-index: 2;
}

.team-dialog__close:hover,
.team-dialog__close:focus-visible {
    background: #df2020;
    border-color: #df2020;
}

@media (min-width: 768px) {
    .team-dialog__panel {
        grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
    }

    .team-dialog__media {
        aspect-ratio: auto;
        min-height: 22rem;
        position: relative;
    }

    .team-dialog__media img,
    .team-dialog__media .team-card__placeholder {
        inset: 0;
        position: absolute;
    }

    .team-dialog__body {
        max-height: min(40rem, calc(100dvh - 2rem));
        overflow-y: auto;
        padding: 2.5rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .team-dialog[open],
    .team-card__media img {
        animation: none;
        transition: none;
    }
}

.bign-static-page .team-details > summary::-webkit-details-marker,
.bign-static-page .bign-faq-item > summary::-webkit-details-marker {
    display: none;
}

.bign-static-page .team-details > summary::marker,
.bign-static-page .bign-faq-item > summary::marker {
    content: '';
}

.bign-static-page .team-details > summary i,
.bign-static-page .bign-faq-item__icon i {
    transition: transform .25s ease;
}

.bign-static-page .team-details[open] > summary i,
.bign-static-page .bign-faq-item[open] .bign-faq-item__icon i {
    transform: rotate(180deg);
}

.bign-static-page .bign-faq-item[open] {
    background: #1b1a23;
    border-color: #df2020;
    box-shadow: none;
}

.bign-static-page .bign-faq-item__trigger {
    cursor: pointer;
    list-style: none;
    width: 100%;
}

.bign-static-page .bign-faq-item__meta {
    align-items: center;
    display: inline-flex;
    flex-shrink: 0;
    gap: .65rem;
}

.bign-static-page .bign-faq-item__status {
    color: rgba(255, 255, 255, .58);
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.bign-static-page .faq-open-label {
    display: none;
}

.bign-static-page .bign-faq-item[open] .faq-closed-label {
    display: none;
}

.bign-static-page .bign-faq-item[open] .faq-open-label {
    display: inline;
}

.bign-static-page .bign-faq-item__answer {
    border-top: 1px solid rgba(255, 255, 255, .1);
    color: #d1d5db;
    line-height: 1.7;
}

.bign-static-page .bign-faq-item__answer-inner {
    padding: 1.25rem 1.5rem 1.5rem;
}

@media (max-width: 640px) {
    .bign-static-page .bign-faq-item__trigger {
        gap: .75rem;
        padding: 1.1rem;
    }

    .bign-static-page .bign-faq-item__status {
        display: none;
    }

    .bign-static-page .bign-faq-item__answer-inner {
        padding: 1rem 1.1rem 1.25rem;
    }
}


/* Kontakt: zentriertes Formular, darunter Discord/WhatsApp */
.contact-layout {
    display: grid;
    gap: 3rem;
    margin: 0 auto;
    max-width: 44rem;
}

.contact-aside__hint {
    align-items: center;
    color: rgba(255, 255, 255, .6);
    display: flex;
    font-size: .875rem;
    gap: .6rem;
    justify-content: center;
    margin: 1.25rem 0 0;
}

.contact-aside__hint i {
    color: #ff4a4a;
}

.contact-form-container {
    height: auto;
    padding: 2.5rem;
}

@media (max-width: 640px) {
    .contact-form-container {
        padding: 1.5rem 1.25rem;
    }

    .contact-form__grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

.contact-form-container--empty {
    color: rgba(255, 255, 255, .75);
    text-align: center;
}

.contact-form {
    display: grid;
    gap: 1.5rem;
}

.contact-form__grid {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.contact-form__field {
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

.contact-form__label {
    align-items: center;
    color: #fff;
    display: flex;
    font-size: .85rem;
    font-weight: 600;
    gap: .5rem;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.contact-form__label-icon {
    color: #df2020;
    font-size: .875rem;
}

.contact-form__input,
.contact-form__textarea {
    background: rgba(255, 255, 255, .05);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: .75rem;
    color: #fff;
    font-size: 1rem;
    padding: .8rem 1rem;
    transition: border-color .25s ease, box-shadow .25s ease, background-color .25s ease;
    width: 100%;
}

.contact-form__input:focus,
.contact-form__textarea:focus {
    background: rgba(255, 255, 255, .08);
    border-color: #df2020;
    box-shadow: 0 0 0 3px rgba(223, 32, 32, .18);
    outline: none;
}

.contact-form__input[aria-invalid="true"],
.contact-form__textarea[aria-invalid="true"] {
    border-color: rgba(252, 165, 165, .8);
}

.contact-form__input::placeholder,
.contact-form__textarea::placeholder {
    color: rgba(255, 255, 255, .45);
}

.contact-form__textarea {
    min-height: 10rem;
    resize: vertical;
}

.contact-form__error {
    color: #fca5a5;
    font-size: .85rem;
}

.contact-form__consent {
    align-items: flex-start;
    color: rgba(255, 255, 255, .75);
    cursor: pointer;
    display: flex;
    font-size: .875rem;
    gap: .75rem;
    line-height: 1.6;
}

.contact-form__consent input {
    accent-color: #df2020;
    flex-shrink: 0;
    height: 1.1rem;
    margin-top: .2rem;
    width: 1.1rem;
}

.contact-form__consent-text a {
    color: #fff;
    text-decoration: underline;
}

.contact-form__submit {
    display: flex;
    justify-content: center;
    padding-top: .5rem;
}

.contact-form__button {
    align-items: center;
    background: #df2020;
    border: 0;
    border-radius: .75rem;
    box-shadow: 0 4px 0 #8e1515;
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    font-size: 1.05rem;
    font-weight: 700;
    gap: .6rem;
    padding: .9rem 2.5rem;
    text-shadow: none;
    transition: translate .12s ease, box-shadow .12s ease;
}

.contact-form__button:hover {
    animation: bign-block-bump .2s ease-out;
    box-shadow: 0 6px 0 #8e1515;
    translate: 0 -2px;
}

.contact-form__button:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 3px;
}

.contact-form__button:active {
    animation: none;
    box-shadow: 0 1px 0 #8e1515;
    translate: 0 3px;
}

.contact-chat {
    text-align: center;
}

.contact-chat__lead {
    color: #a0a0a0;
    font-size: .95rem;
    font-weight: 600;
    letter-spacing: .08em;
    margin: 0 0 1.25rem;
    text-transform: uppercase;
}

.contact-chat__list {
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem;
    justify-content: center;
    list-style: none;
    margin: 0;
    padding: 0;
}

.contact-chat__link {
    align-items: center;
    background: #1b1a23;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 1rem;
    color: #fff;
    display: flex;
    flex-direction: column;
    font-weight: 700;
    gap: .6rem;
    min-width: 9.5rem;
    padding: 1.25rem 1.75rem;
    text-decoration: none;
    transition: transform .15s ease, border-color .15s ease;
}

.contact-chat__link img {
    height: 4rem;
    width: 4rem;
}

.contact-chat__link:hover,
.contact-chat__link:focus-visible {
    border-color: rgba(255, 255, 255, .35);
    transform: translateY(-3px);
}

.contact-chat__link:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
    .contact-chat__link:hover,
    .contact-chat__link:focus-visible {
        transform: none;
    }
}

.contact-message {
    align-items: center;
    border-radius: .9rem;
    display: flex;
    gap: .75rem;
    margin: 0 0 1.5rem;
    padding: .9rem 1.1rem;
}

.contact-message--success {
    background: rgba(34, 197, 94, .12);
    border: 1px solid rgba(34, 197, 94, .45);
    color: #bbf7d0;
}

.contact-message--error {
    background: rgba(239, 68, 68, .12);
    border: 1px solid rgba(239, 68, 68, .5);
    color: #fecaca;
}


@media (max-width: 640px) {
    .contact-form__grid {
        grid-template-columns: 1fr;
    }

    .contact-form-container,
    .contact-aside__body {
        padding: 1.25rem;
    }

    .contact-form__button {
        justify-content: center;
        width: 100%;
    }
}

/* Podcastseite: Die Formate (podcast-shows) */
.podcast-shows { padding: 5rem 0; background: transparent; font-family: "Barlow", sans-serif; }
.podcast-shows__label { display: inline-flex; align-items: center; gap: .5rem; margin: 0 0 1.5rem; font-size: .8rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #fff; }
.podcast-shows__label i { color: #df2020; }
.podcast-shows__label--exclusive { padding: .3rem .8rem; border: 1px solid rgba(223, 32, 32, .5); border-radius: 999px; background: rgba(223, 32, 32, .12); }
.podcast-shows__free { display: grid; gap: 1.5rem; }
.podcast-show { display: grid; grid-template-columns: 11rem minmax(0, 1fr); gap: 2rem; align-items: start; padding: 1.75rem; border: 1px solid #2d2d30; border-radius: 1rem; background: #1b1a23; box-shadow: 0 10px 30px rgba(0, 0, 0, .35); transition: border-color .3s, box-shadow .3s; }
.podcast-show:hover { border-color: rgba(223, 32, 32, .4); box-shadow: 0 18px 40px rgba(0, 0, 0, .5); }
.podcast-show__logo { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: .75rem; background: #0f0e13; }
.podcast-show__body { display: flex; flex-direction: column; gap: .9rem; min-width: 0; }
.podcast-show__name { margin: 0; font-size: 1.75rem; font-weight: 800; line-height: 1.15; color: #fff; }
.podcast-show__text { color: #a0a0a0; line-height: 1.6; }
.podcast-show__formats { display: grid; gap: .75rem; margin: .5rem 0 0; padding: 0; list-style: none; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); }
.podcast-format { padding: 1rem 1.1rem; border: 1px solid rgba(255, 255, 255, .08); border-radius: .75rem; background: #0f0e13; }
.podcast-format__title { display: flex; align-items: center; gap: .6rem; margin: 0 0 .4rem; font-weight: 700; color: #fff; }
.podcast-format__title i { color: #df2020; }
.podcast-format__text { font-size: .9rem; line-height: 1.5; color: #a0a0a0; }
.podcast-format__hosts { display: flex; flex-wrap: wrap; gap: .4rem; margin: .75rem 0 0; }
.podcast-format__host { display: inline-flex; align-items: center; gap: .4rem; padding: .2rem .7rem; border: 1px solid rgba(255, 255, 255, .15); border-radius: 999px; background: rgba(255, 255, 255, .05); font-size: .78rem; font-weight: 600; color: #fff; white-space: nowrap; }
.podcast-format__host i { font-size: .7rem; color: #df2020; }
.podcast-exclusive { margin-top: 4rem; padding: 2.5rem; border: 1px solid rgba(223, 32, 32, .3); border-radius: 1.25rem; background: #1b1a23; }
.podcast-exclusive__head { max-width: 46rem; margin: 0 auto 2rem; text-align: center; }
.podcast-exclusive__title { margin: 0 0 .75rem; font-size: 1.75rem; font-weight: 800; color: #fff; }
.podcast-exclusive__text { color: #a0a0a0; line-height: 1.6; }
.podcast-exclusive__grid { display: grid; gap: 1rem; margin: 0 0 2rem; padding: 0; list-style: none; grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr)); }
.podcast-tile { position: relative; display: flex; flex-direction: column; align-items: center; gap: .6rem; padding: 2.25rem 1.25rem 1.5rem; border: 1px solid rgba(255, 255, 255, .08); border-radius: 1rem; background: #0f0e13; text-align: center; transition: transform .3s, border-color .3s; }
.podcast-tile:hover { transform: translateY(-4px); border-color: rgba(223, 32, 32, .45); }
.podcast-tile__badge { position: absolute; top: .7rem; right: .7rem; display: inline-flex; align-items: center; gap: .35rem; padding: .15rem .6rem; border-radius: 999px; background: #df2020; font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #fff; }
.podcast-tile__logo { width: 6.5rem; height: 6.5rem; object-fit: cover; border-radius: .75rem; filter: saturate(.75); }
.podcast-tile__name { margin: 0; font-weight: 700; color: #fff; }
.podcast-tile__text { font-size: .85rem; line-height: 1.5; color: #a0a0a0; }
.podcast-exclusive__cta { display: inline-flex; align-items: center; gap: .6rem; padding: .8rem 1.6rem; border-radius: 999px; background: #df2020; font-weight: 700; color: #fff; text-decoration: none; transition: background .2s, transform .2s; }
.podcast-exclusive__cta:hover { background: #f03a3a; transform: translateY(-2px); }
@media (max-width: 768px) {
    .podcast-shows { padding: 3rem 0; }
    .podcast-show { grid-template-columns: 1fr; padding: 1.25rem; gap: 1.25rem; }
    .podcast-show__logo { max-width: 9rem; }
    .podcast-show__formats { grid-template-columns: 1fr; }
    .podcast-exclusive { padding: 1.5rem 1rem; }
    .podcast-exclusive__grid { grid-template-columns: 1fr; }
}
/* Ende Podcastseite: Die Formate */

/* Retrotests: Archiv und Detailseite */
.rt-filter { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; margin: 0 0 2.5rem; }
.rt-chip { display: inline-flex; align-items: center; gap: .5rem; padding: .45rem 1rem; border: 1px solid rgba(255, 255, 255, .12); border-radius: 999px; background: #1b1a23; color: #e5e5e5; font-size: .9rem; font-weight: 700; text-decoration: none; transition: border-color .2s, background-color .2s; }
.rt-chip:hover { border-color: rgba(223, 32, 32, .6); }
.rt-chip.is-active { border-color: #df2020; background: #df2020; color: #fff; }
.rt-chip.is-disabled { opacity: .4; pointer-events: none; }
.rt-chip__count { padding: 0 .45rem; border-radius: 999px; background: rgba(255, 255, 255, .14); font-size: .75rem; }
.rt-grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); }
.rt-grid--small { grid-template-columns: repeat(auto-fill, minmax(min(100%, 10rem), 1fr)); gap: 1rem; }
.rt-card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid rgba(255, 255, 255, .08); border-radius: 1rem; background: #0f0e13; transition: transform .3s, border-color .3s; }
.rt-card:hover { transform: translateY(-4px); border-color: rgba(223, 32, 32, .45); }
.rt-card__cover { position: relative; display: block; aspect-ratio: 3 / 2; overflow: hidden; background: #1b1a23; }
.rt-card__cover img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 12%; }
.rt-card__placeholder { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; min-height: 0; aspect-ratio: 3 / 2; background: #1b1a23; color: rgba(255, 255, 255, .3); font-size: 3rem; }
.rt-badge { position: absolute; top: .7rem; left: .7rem; padding: .15rem .65rem; border-radius: 999px; background: #df2020; color: #fff; font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.rt-badge--inline { position: static; display: inline-block; margin-right: .5rem; }
.rt-card__body { display: flex; flex: 1; flex-direction: column; gap: .4rem; padding: .85rem 1rem 1rem; }
.rt-card__meta { margin: 0; color: #a0a0a0; font-size: .85rem; }
.rt-card__title { margin: 0; font-size: 1.05rem; font-weight: 800; line-height: 1.3; }
.rt-card__title a { color: #fff; text-decoration: none; }
.rt-card__title a:hover { color: #ff6b6b; }
.rt-card__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; margin-top: auto; padding-top: .5rem; }
.rt-download { color: #d4d4d4; font-size: .9rem; font-weight: 600; text-decoration: none; }
.rt-download:hover { color: #fff; text-decoration: underline; }
.rt-download span { color: #8a8a8a; font-weight: 400; }
@media (max-width: 640px) {
    .rt-grid { gap: .75rem; }
    .rt-card { flex-direction: row; }
    .rt-card:hover { transform: none; }
    .rt-card__cover, .rt-card__placeholder { flex: 0 0 6.5rem; width: 6.5rem; aspect-ratio: auto; min-height: 100%; }
    .rt-card__placeholder { font-size: 1.75rem; }
    .rt-badge { top: .4rem; left: .4rem; padding: .1rem .45rem; font-size: .62rem; }
    .rt-card__body { padding: .7rem .85rem; gap: .25rem; }
    .rt-card__title { font-size: .98rem; }
    .rt-card__actions { padding-top: .35rem; }
    .rt-card__actions .bign-btn-cta { padding: .35rem .8rem; font-size: .8rem; }
}
.rt-pager { display: flex; align-items: center; justify-content: center; gap: 1rem; margin-top: 3rem; }
.rt-pager__info { color: #a0a0a0; font-size: .9rem; }
.rt-back { display: inline-block; margin-bottom: 2rem; color: #ff8a8a; font-weight: 600; text-decoration: none; }
.rt-back:hover { text-decoration: underline; }
.rt-related { margin-top: 4rem; }
.rt-related h2 { margin: 0 0 1.25rem; font-size: 1.4rem; font-weight: 800; color: #fff; }
.rt-mini { display: flex; flex-direction: column; gap: .5rem; color: #e5e5e5; font-size: .9rem; font-weight: 700; text-decoration: none; }
.rt-mini img { display: block; width: 100%; height: auto; border: 1px solid rgba(255, 255, 255, .1); border-radius: .5rem; }
.rt-mini:hover { color: #ff6b6b; }
/* Retrotest-Detailseite: einheitlich im Club-Rot (Spielfarben aus themeStyle werden bewusst überschrieben) */
.rt-page { --rt-accent: #df2020 !important; --rt-dark: #0d0c12 !important; --rt-light: #ff8a8a !important; position: relative; color: #c8c8c8; background: transparent; }
.rt-hero { position: relative; overflow: hidden; }
.rt-hero__backdrop { display: none; }
.rt-hero__inner { position: relative; display: grid; gap: 2rem; align-items: center; max-width: 72rem; margin: 0 auto; padding: 3rem 1rem 3.5rem; }
.rt-hero__text .rt-back { margin-bottom: 1.5rem; color: var(--rt-light); opacity: .85; }
.rt-kicker { margin: 0 0 .9rem; color: var(--rt-accent); font-family: Nintendoid1, monospace; font-size: .85rem; letter-spacing: .12em; text-transform: uppercase; }
.rt-hero__title { margin: 0 0 1.5rem; color: #fff; font-size: clamp(2.2rem, 6vw, 4.2rem); font-weight: 900; line-height: 1.05; text-wrap: balance; }
.rt-meta { display: flex; flex-wrap: wrap; gap: .75rem 2rem; margin: 0; padding-top: 1.1rem; border-top: 1px solid color-mix(in srgb, var(--rt-accent) 45%, transparent); }
.rt-meta dt { color: color-mix(in srgb, var(--rt-light) 60%, #888); font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.rt-meta dd { margin: .1rem 0 0; color: #fff; font-weight: 700; }
.rt-hero__art { margin: 0; }
.rt-hero__art img { display: block; width: 100%; height: auto; max-height: 24rem; object-fit: cover; border: 1px solid var(--flat-line); border-radius: 1rem; }
.rt-platform--nes .rt-hero__art img, .rt-platform--snes .rt-hero__art img, .rt-platform--gb .rt-hero__art img, .rt-platform--gbc .rt-hero__art img { image-rendering: pixelated; }
.rt-platform--gb .rt-hero__art img { filter: sepia(.25) saturate(1.1); }
.rt-platform--n64 .rt-kicker { letter-spacing: .2em; }
.rt-layout { display: grid; gap: 2rem; align-items: start; max-width: 72rem; margin: 0 auto; padding: 2.5rem 1rem 3rem; grid-template-columns: minmax(0, 1fr); }
.rt-sidebar { display: flex; flex-direction: column; gap: 1.5rem; order: -1; }
.rt-article { padding: 1.6rem 1.3rem; border: 1px solid var(--flat-line); border-radius: 1rem; background: var(--flat-panel); }
.rt-content { max-width: 68ch; color: #c8c8c8; font-size: 1.1rem; line-height: 1.85; }
.rt-content p { margin: 0 0 1.25rem; }
.rt-content h2 { margin: 2.2rem 0 .8rem; padding-left: .8rem; border-left: 4px solid var(--rt-accent); color: #fff; font-size: 1.5rem; font-weight: 800; line-height: 1.25; }
.rt-content h2:first-child { margin-top: 0; }
.rt-content > p:first-of-type { color: #e6e6e6; font-size: 1.2rem; }
.rt-content figure { margin: 1.8rem 0; }
.rt-content figure img { display: block; width: 100%; max-height: 26rem; object-fit: contain; background: rgba(0, 0, 0, .35); border: 2px solid color-mix(in srgb, var(--rt-accent) 55%, #000); border-radius: .5rem; box-shadow: 0 14px 34px rgba(0, 0, 0, .5); }
.rt-platform--nes .rt-content figure img, .rt-platform--snes .rt-content figure img, .rt-platform--gb .rt-content figure img { image-rendering: pixelated; }
.rt-content figcaption { margin-top: .5rem; color: #8a8a8a; font-size: .82rem; }
.rt-note { margin: 0; color: #a0a0a0; }
.rt-infobox { padding: 1.3rem; border-radius: 1rem; color: #fff; background: #1b1a23; border: 1px solid var(--flat-line); box-shadow: none; }
.rt-infobox h2 { margin: 0 0 .9rem; color: var(--rt-light); font-size: .8rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.rt-infobox dl { display: grid; gap: .55rem 1rem; margin: 0; grid-template-columns: minmax(6.5rem, auto) minmax(0, 1fr); }
.rt-infobox dt { color: var(--rt-light); font-size: .8rem; font-weight: 700; opacity: .8; }
.rt-infobox dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.rt-pdfbox { padding: 1.3rem; border: 1px solid var(--flat-line); border-radius: 1rem; background: var(--flat-panel); text-align: center; }
.rt-pdfbox__label { margin: 0 0 .2rem; color: var(--rt-accent); font-size: .72rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.rt-pdfbox h2 { margin: 0 0 1rem; color: #fff; font-size: 1.25rem; font-weight: 800; }
.rt-pdfbox__thumb { display: block; width: 6.5rem; margin: 0 auto 1.1rem; }
.rt-pdfbox__thumb img { display: block; width: 100%; height: auto; border: 1px solid rgba(255, 255, 255, .15); border-radius: .35rem; box-shadow: 0 8px 20px rgba(0, 0, 0, .5); }
.rt-pdfbox__button { width: 100%; justify-content: center; }
.rt-pdfbox__sub { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .4rem 1rem; margin: .9rem 0 0; font-size: .85rem; }
.rt-pdfbox__sub a { color: var(--rt-light); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.rt-pdfbox__sub span { color: #8a8a8a; }
.rt-page .rt-related { max-width: 72rem; margin: 0 auto; padding: 1rem 1rem 4rem; }
@media (min-width: 640px) { .rt-article { padding: 2.2rem 2.4rem; } .rt-infobox dl { grid-template-columns: minmax(8rem, auto) minmax(0, 1fr); } }
@media (min-width: 960px) {
    .rt-hero__inner { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); padding-top: 4rem; padding-bottom: 4.5rem; }
    .rt-layout { grid-template-columns: minmax(0, 1.7fr) minmax(0, .8fr); gap: 2.5rem; }
    .rt-sidebar { position: sticky; top: 6rem; order: 0; }
}
/* Ende Retrotest-Detailseite */

/* ==========================================================================
   Mitgliedschaft & Shop: Plankarten, Power-up-Stufen der Fördermitgliedschaften, Produktraster
   ========================================================================== */
.shop-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; }
.shop-chip {
    display: inline-flex; align-items: center; gap: .5rem; padding: .5rem 1rem; border-radius: 999px;
    border: 2px solid rgba(255, 255, 255, .18); background: rgba(255, 255, 255, .05); color: #e5e7eb;
    font-weight: 700; font-size: .875rem; text-decoration: none; transition: border-color .2s, background-color .2s, color .2s;
}
.shop-chip b { background: rgba(255, 255, 255, .14); border-radius: 999px; padding: 0 .5rem; font-size: .75rem; line-height: 1.4rem; }
.shop-chip:hover, .shop-chip:focus-visible { border-color: #df2020; background: rgba(223, 32, 32, .18); color: #fff; }
.shop-chip--gold { border-color: rgba(255, 212, 0, .55); color: #ffe46b; }
.shop-chip--gold:hover, .shop-chip--gold:focus-visible { border-color: #ffd400; background: rgba(255, 212, 0, .14); color: #fff; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
.msec { position: relative; scroll-margin-top: 5rem; }

/* Produktraster und -karte */
.shop-grid { display: grid; gap: 2rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 16.5rem), 1fr)); }
.pcard__media { aspect-ratio: 16 / 10; background: #15151b; }
.pcard__media--square { aspect-ratio: 1 / 1; }
.pcard__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pcard__media--square img { object-fit: contain; padding: .5rem; background: #15151b; }
.pcard__badges { position: absolute; top: .75rem; left: .75rem; right: .75rem; z-index: 3; display: flex; flex-wrap: wrap; gap: .4rem; pointer-events: none; }
.pcard__chip { background: rgba(10, 10, 16, .82); border: 1px solid rgba(255, 255, 255, .22); color: #e5e7eb; border-radius: 999px; padding: .15rem .65rem; font-size: .7rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.pcard__chip--members { background: #ffd400; border-color: #ffd400; color: #2a2100; }
.pcard__chip--members i { margin-right: .3rem; }
/* Mittig ohne translate, da `.group:hover *` translate/rotate zurücksetzt; die Drehung bleibt per höherer Spezifität. */
.pcard__soldout { position: absolute; z-index: 3; inset: 0; margin: auto; width: fit-content; height: fit-content; rotate: -8deg; background: #df2020; color: #fff; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; padding: .35rem 1.6rem; box-shadow: 0 4px 0 #8e1515; pointer-events: none; }
.group:hover .pcard__soldout { rotate: -8deg !important; }
.pcard--soldout .bign-media-zoom:hover img, .group:hover .pcard--soldout .pcard__media img { transform: none !important; }
.pcard--soldout .pcard__media img { filter: grayscale(.85) brightness(.6); }
.pcard__title { min-height: 3.75rem; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.pcard__price { display: flex; align-items: baseline; gap: .6rem; flex-wrap: wrap; font-size: 1.5rem; }
.pcard__stock { font-size: .75rem; font-weight: 600; color: #fbbf24; }

/* Plankarten (Club / Digital) */
.plan-grid { display: grid; gap: 2rem; margin: 0 auto; }
.plan-grid--1 { max-width: 26rem; }
.plan-grid--2 { max-width: 56rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr)); }
.plan-grid--3 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr)); }
.plan-card { display: flex; flex-direction: column; overflow: hidden; border-radius: 1.25rem; border: 1px solid rgba(255, 255, 255, .14); background: #1b1a23; box-shadow: none; transition: translate .25s, border-color .25s; }
.plan-card:hover { translate: 0 -4px; border-color: rgba(223, 32, 32, .7); }
.plan-card__media { position: relative; aspect-ratio: 16 / 10; background: #101015; }
.plan-card__media a { position: absolute; inset: 0; display: block; }
.plan-card__image { width: 100%; height: 100%; object-fit: cover; }
.plan-card__badge { position: absolute; top: .8rem; left: .8rem; z-index: 2; background: rgba(10, 10, 16, .85); border: 1px solid rgba(255, 255, 255, .25); border-radius: 999px; padding: .2rem .8rem; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: #fff; }
.plan-card--digital .plan-card__badge { border-color: #22d3ee; color: #67e8f9; }
.plan-card__body { display: flex; flex: 1; flex-direction: column; padding: 1.5rem; }
.plan-card__name { font-size: 1.4rem; font-weight: 800; line-height: 1.2; margin: 0 0 .5rem; }
.plan-card__name a { color: #fff; text-decoration: none; }
.plan-card__price { margin: 0 0 .75rem; }
.plan-card__amount { font-size: 2.4rem; font-weight: 800; color: #fff; line-height: 1; }
.plan-card__period { color: #9ca3af; font-weight: 600; }
.plan-card__desc { color: #cbd5e1; font-size: .95rem; margin: 0 0 1rem; }
.plan-card__list, .sup-tier__list, .sup-tier__chips { list-style: none; margin: 0; padding: 0; }
.plan-card__list { margin-bottom: 1.25rem; display: grid; gap: .45rem; }
.plan-card__list li { display: flex; gap: .6rem; color: #e5e7eb; font-size: .92rem; }
.plan-card__list i { color: #4ade80; margin-top: .25rem; }
.plan-card__characters { margin-bottom: 1.25rem; padding: .75rem; border-radius: .75rem; background: rgba(255, 255, 255, .05); }
.plan-card__characters ul { list-style: none; margin: 0 0 .5rem; padding: 0; display: flex; }
.plan-card__characters li { width: 2.9rem; height: 1.85rem; margin-right: -.55rem; border-radius: .3rem; overflow: hidden; border: 2px solid #1f1f29; background: #000; transition: translate .2s; }
.plan-card__characters li:hover { translate: 0 -4px; z-index: 2; }
.plan-card__characters img { width: 100%; height: 100%; object-fit: cover; }
.plan-card__characters span { font-size: .8rem; color: #9ca3af; }
.plan-card__button { margin-top: auto; width: 100%; justify-content: center; text-align: center; padding: .9rem 1rem; font-weight: 700; display: inline-flex; align-items: center; }

/* Fördermitgliedschaften: Power-up-Bühne */
.msec--supporters {
    --sup-bg: #16151c;
    padding: 5rem 0 6rem; overflow: visible;
    background: transparent;
}
.msec--inline { border: 0; border-radius: 1.5rem; padding: 3rem 1.5rem; position: relative; }
.msec__stars { display: none; position: absolute; inset: 0; pointer-events: none; opacity: .7;
    background-image: radial-gradient(2px 2px at 12% 20%, #fff, transparent), radial-gradient(1.5px 1.5px at 28% 70%, #fff, transparent), radial-gradient(2px 2px at 44% 35%, #ffe46b, transparent), radial-gradient(1.5px 1.5px at 63% 80%, #fff, transparent), radial-gradient(2px 2px at 78% 25%, #fff, transparent), radial-gradient(1.5px 1.5px at 90% 60%, #ffe46b, transparent), radial-gradient(1px 1px at 6% 88%, #fff, transparent), radial-gradient(1px 1px at 52% 10%, #fff, transparent);
    animation: sup-twinkle 5s ease-in-out infinite alternate; }
.msec--supporters > .mx-auto, .msec--inline > .sup-tiers { position: relative; z-index: 1; }
.sup-head { text-align: center; margin-bottom: 4rem; }
.sup-head__kicker { color: #ffd400; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; font-size: .85rem; margin: 0 0 .75rem; }
.sup-head__title { font-size: clamp(2rem, 5vw, 3.4rem); font-weight: 900; text-transform: uppercase; letter-spacing: .04em; color: #fff; margin: 0 0 1rem; text-shadow: 0 4px 0 #8e1515; }
.sup-head__divider { width: 6rem; height: .3rem; margin: 0 auto 1.25rem; }
.sup-head__text { max-width: 44rem; margin: 0 auto; color: #cbd5e1; font-size: 1.1rem; }

.sup-tiers { display: grid; gap: 1.75rem; align-items: end; max-width: 72rem; margin: 0 auto; padding-top: 1.5rem; }
.sup-tiers--1 { max-width: 24rem; }
.sup-tiers--2 { max-width: 48rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sup-tiers--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 899px) {
    .sup-tiers--2, .sup-tiers--3 { grid-template-columns: minmax(0, 26rem); justify-content: center; }
    .sup-tier--top { order: -1; }
}
.sup-tier {
    --t: #e52521; --t-dark: #8e1515; --t-glow: rgba(229, 37, 33, .45);
    position: relative; display: flex; flex-direction: column; border-radius: 1.1rem; overflow: hidden;
    border: 3px solid var(--t); background: #1b1a23;
    box-shadow: 0 8px 0 var(--t-dark);
    transition: translate .25s;
}
.sup-tier:hover { translate: 0 -6px; }
.sup-tier--flower { --t: #ff8a1f; --t-dark: #a24d00; --t-glow: rgba(255, 138, 31, .45); }
.sup-tier--star { --t: #ffd400; --t-dark: #a07a00; --t-glow: rgba(255, 212, 0, .55); }
.sup-tier--top { box-shadow: 0 10px 0 var(--t-dark); }
@media (min-width: 900px) { .sup-tier--top { translate: 0 -1.5rem; padding-bottom: 1rem; } .sup-tier--top:hover { translate: 0 -1.9rem; } }
.sup-tier--top::after {
    content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 4;
    background: linear-gradient(115deg, transparent 35%, rgba(255, 255, 255, .22) 48%, rgba(255, 244, 168, .3) 52%, transparent 65%);
    background-size: 250% 100%; background-position: 160% 0; animation: none; display: none;
}
.sup-tier__ribbon { position: absolute; z-index: 5; top: .8rem; right: .8rem; padding: .2rem .8rem; background: var(--t); color: #1a1020; font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; box-shadow: 0 3px 0 var(--t-dark); }
.sup-tier__stage {
    position: relative; display: flex; justify-content: center; padding: 2.2rem 1rem 1.4rem;
    background: #16151c;
    border-bottom: 3px solid var(--t);
}
.sup-tier__pedestal { filter: drop-shadow(0 6px 0 rgba(0, 0, 0, .45)); animation: sup-float 3.2s ease-in-out infinite; }
.sup-tier--top .sup-tier__pedestal { animation-duration: 2.4s; }
.powerup-icon { display: block; width: 6.5rem; height: auto; image-rendering: pixelated; }
.sup-tier--top .powerup-icon { width: 7.5rem; }
.sup-tier__body { display: flex; flex: 1; flex-direction: column; padding: 1.5rem 1.4rem 1.6rem; }
.sup-tier__kicker { margin: 0; color: var(--t); font-weight: 800; font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; }
.sup-tier__name { margin: .2rem 0 .6rem; font-size: 1.7rem; font-weight: 900; line-height: 1.1; text-transform: uppercase; }
.sup-tier__name a { color: #fff; text-decoration: none; }
.sup-tier__price { margin: 0 0 .75rem; }
.sup-tier__amount { font-size: 2.8rem; font-weight: 900; line-height: 1; color: var(--t); text-shadow: 0 3px 0 var(--t-dark); }
.sup-tier__period { color: #9ca3af; font-weight: 600; }
.sup-tier__desc { color: #cbd5e1; font-size: .9rem; margin: 0 0 1rem; }
.sup-tier__chips { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: 1rem; }
.sup-tier__chips li { border: 1px solid var(--t); color: #fff; background: rgba(255, 255, 255, .06); border-radius: 999px; padding: .15rem .7rem; font-size: .75rem; font-weight: 700; }
.sup-tier__chips i { color: var(--t); margin-right: .35rem; }
.sup-tier__list { display: grid; gap: .55rem; margin-bottom: 1.5rem; }
.sup-tier__list li { display: flex; gap: .65rem; align-items: flex-start; font-size: .92rem; }
.sup-tier__list .is-included { color: #f3f4f6; }
.sup-tier__list .is-included i { color: #4ade80; }
.sup-tier__list .is-missing { color: #6b7280; text-decoration: line-through; text-decoration-color: rgba(107, 114, 128, .6); }
.sup-tier__list i { margin-top: .25rem; width: 1rem; text-align: center; }
.sup-tier__cta { margin-top: auto; }
.sup-tier__button { display: inline-flex; align-items: center; justify-content: center; width: 100%; padding: .95rem 1rem; font-weight: 800; font-size: 1.05rem; text-transform: uppercase; letter-spacing: .06em; }
.sup-tier__sparkle { position: absolute; z-index: 6; width: .9rem; height: .9rem; background: #fff8c4; pointer-events: none;
    clip-path: polygon(50% 0, 62% 38%, 100% 50%, 62% 62%, 50% 100%, 38% 62%, 0 50%, 38% 38%); animation: sup-sparkle 2.6s ease-in-out infinite; opacity: 0; }
.sup-tier__sparkle--a { top: 5.5rem; left: 1.2rem; }
.sup-tier__sparkle--b { top: 3rem; left: 38%; width: .65rem; height: .65rem; animation-delay: .9s; }
.sup-tier__sparkle--c { top: 8rem; right: 1.4rem; animation-delay: 1.7s; }
.sup-tier a:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }

@keyframes sup-float { 0%, 100% { translate: 0 0; } 50% { translate: 0 -8px; } }
@keyframes sup-shimmer { 0%, 55% { background-position: 160% 0; } 100% { background-position: -60% 0; } }
@keyframes sup-sparkle { 0%, 100% { opacity: 0; scale: .3; } 50% { opacity: 1; scale: 1.15; rotate: 45deg; } }
@keyframes sup-twinkle { from { opacity: .45; } to { opacity: .9; } }
@media (prefers-reduced-motion: reduce) {
    .sup-tier, .plan-card { transition: none; }
    .sup-tier__pedestal, .sup-tier--top::after, .msec__stars { animation: none; }
    .sup-tier__sparkle { animation: none; opacity: .9; }
    .sup-tier:hover, .plan-card:hover { translate: none; }
}
/* Ende Mitgliedschaft & Shop */

/* Hero: Podcast + Shop */
.pc-hero { position: relative; overflow: hidden; isolation: isolate; padding: 4.5rem 0 7rem; }
.pc-hero__cover { display: block; width: 10rem; margin: 0 auto 1.5rem; position: relative; }
.pc-hero .podcast-hero-logo { display: block; width: 100%; height: auto; margin: 0 auto; border-radius: 1rem; border: 1px solid var(--flat-line); }
.pc-hero__wave { position: absolute; left: 0; right: 0; bottom: 0; height: 4.5rem; display: flex; align-items: flex-end; justify-content: center; gap: 6px; z-index: 0; pointer-events: none;
  -webkit-mask-image: linear-gradient(to top, #000 15%, transparent); mask-image: linear-gradient(to top, #000 15%, transparent); }
.pc-hero__wave i { flex: 1 1 0; max-width: 14px; min-width: 2px; height: 100%; border-radius: 4px 4px 0 0; background: #df2020; opacity: .5; transform-origin: bottom;
  animation: pcBar 1.6s ease-in-out infinite; animation-delay: calc(var(--i) * -.13s); }
.pc-hero__wave i:nth-child(3n) { animation-duration: 1.1s; opacity: .35; }
.pc-hero__wave i:nth-child(4n) { animation-duration: 2.1s; }
@keyframes pcBar { 0%,100% { transform: scaleY(.12); } 50% { transform: scaleY(.9); } }

@media (max-width: 767px) {
  .pc-hero__cover { width: 8.5rem; } .pc-hero__wave { height: 3.5rem; gap: 3px; }
}
@media (prefers-reduced-motion: reduce) {
  .pc-hero * { animation: none !important; }
  .pc-hero__wave i { transform: scaleY(.4); }
}

/* ==== Mitgliedschaftsseite: einheitliche Boxen und Buttons (scoped auf .mem-page) ==== */
.mem-page .reason-card {
  background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 1rem;
  padding: 1.75rem 1.5rem;
  transition: translate .2s ease, border-color .2s ease, background-color .2s ease;
}
.mem-page .reason-card:hover { translate: 0 -4px; border-color: rgba(223, 32, 32, .55); background: rgba(255, 255, 255, .06); }
.mem-page .reason-card-border { display: none; }
.mem-page .reason-card-icon {
  width: 4rem; height: 4rem; margin: 0 auto 1.25rem; border-radius: 1rem;
  background: rgba(223, 32, 32, .12); border: 1px solid rgba(223, 32, 32, .35);
  box-shadow: none; transform: none; color: #fff;
}
.mem-page .reason-card:hover .reason-card-icon { box-shadow: none; transform: none; background: rgba(223, 32, 32, .2); }
.mem-page .reason-card-title { font-size: 1.125rem; line-height: 1.3; margin-bottom: .5rem; }
.mem-page .reason-card-text { line-height: 1.6; }
.mem-page .bign-btn-cta { border-radius: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.mem-page .bign-btn-cta:hover { transform: none; }
.mem-page .consent-gate { border-radius: 1rem; border: 1px solid rgba(255, 255, 255, .1); background: rgba(255, 255, 255, .04); }
.mem-page .consent-placeholder { border: 0; background: transparent; }
.mem-page .shop-chip { border-radius: .75rem; }
.mem-page .plan-card, .mem-page .sup-tier { border-radius: 1rem; }
.mem-page .plan-card, .mem-page .sup-tier:not(.sup-tier--top) { transition: translate .2s ease, border-color .2s ease; }
.mem-page .plan-card:hover { translate: 0 -4px; }
.mem-page .plan-card .bign-btn, .mem-page .sup-tier .bign-btn, .mem-page .sup-tier__cta { border-radius: .75rem; }
@media (prefers-reduced-motion: reduce) { .mem-page .reason-card, .mem-page .plan-card { transition: none; } }
@media (max-width: 639px) { .mem-page .bign-btn-cta--lg { width: 100%; max-width: 22rem; justify-content: center; white-space: nowrap; font-size: 1rem; padding-left: 1rem; padding-right: 1rem; } }

/* ---------- Produktseite (.pdp) ---------- */
.pdp__layout { display: grid; gap: 1.75rem; align-items: start; }
@media (min-width: 1024px) { .pdp__layout { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 3rem; } .pdp-gallery { position: sticky; top: 6rem; } }
.pdp-gallery__main { display: grid; place-items: center; overflow: hidden; aspect-ratio: 1.58 / 1; border: 1px solid rgba(255, 255, 255, .1); border-radius: 1rem; background: #191820; box-shadow: 0 20px 45px rgba(0, 0, 0, .45); }
.pdp-gallery__main--square { aspect-ratio: 1 / 1; }
.pdp-gallery__main img { width: 100%; height: 100%; object-fit: contain; }
.pdp-gallery__thumbs { display: flex; flex-wrap: wrap; gap: .5rem; margin: .75rem 0 0; padding: 0; list-style: none; }
.pdp-gallery__thumb { display: block; width: 5rem; height: 5rem; overflow: hidden; padding: 0; border: 2px solid transparent; border-radius: .6rem; background: #191820; cursor: pointer; opacity: .75; transition: opacity .15s ease, border-color .15s ease; }
.pdp-gallery__thumb img { width: 100%; height: 100%; object-fit: cover; }
.pdp-gallery__thumb:hover, .pdp-gallery__thumb[aria-current="true"] { opacity: 1; border-color: #df2020; }
.pdp-gallery__thumb:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
.pdp-buy { border: 1px solid rgba(255, 255, 255, .1); border-radius: 1rem; background: #191820; padding: 1.5rem; }
@media (min-width: 640px) { .pdp-buy { padding: 2rem; } }
.pdp-buy__badges { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: .9rem; }
.pdp-chip { display: inline-flex; align-items: center; gap: .35rem; padding: .2rem .65rem; border: 1px solid rgba(255, 255, 255, .18); border-radius: 999px; background: rgba(255, 255, 255, .06); color: #d1d5db; font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.pdp-chip--members { border-color: rgba(223, 32, 32, .5); background: rgba(223, 32, 32, .15); color: #fca5a5; }
.pdp-chip--warn { border-color: rgba(245, 158, 11, .5); background: rgba(245, 158, 11, .12); color: #fcd34d; }
.pdp-buy__title { margin: 0; color: #fff; font-size: 1.85rem; font-weight: 800; line-height: 1.15; }
@media (min-width: 640px) { .pdp-buy__title { font-size: 2.4rem; } }
.pdp-price { margin: 1.1rem 0 0; padding: 1rem 0; border-block: 1px solid rgba(255, 255, 255, .1); }
.pdp-price__amount { margin: 0; color: #fff; font-size: 2.1rem; font-weight: 800; line-height: 1.1; }
.pdp-price__period { margin-left: .5rem; color: #9ca3af; font-size: .95rem; font-weight: 500; }
.pdp-price__notice { margin: .45rem 0 0; color: #9ca3af; font-size: .85rem; }
.pdp-buy__description { margin-top: 1.1rem; color: #d1d5db; }
.pdp-benefits { margin-top: 1.25rem; padding: 1rem 1.15rem; border-radius: .75rem; background: rgba(255, 255, 255, .04); }
.pdp-benefits__title { margin: 0 0 .6rem; color: #fff; font-size: 1rem; font-weight: 700; }
.pdp-benefits ul { display: grid; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.pdp-benefits li { display: flex; gap: .65rem; align-items: flex-start; color: #e5e7eb; font-size: .95rem; }
.pdp-benefits li i { flex: none; display: grid; place-items: center; width: 1.2rem; height: 1.2rem; margin-top: .15rem; border-radius: 50%; background: #df2020; color: #fff; font-size: .6rem; }
.pdp-form { display: grid; gap: 1.25rem; margin-top: 1.5rem; }
.pdp-picker { margin: 0; padding: 0; border: 0; min-width: 0; }
.pdp-picker__legend { padding: 0; color: #fff; font-size: 1.05rem; font-weight: 700; }
.pdp-picker__hint { margin: .3rem 0 .8rem; color: #9ca3af; font-size: .85rem; }
.pdp-picker__hint strong { color: #fff; }
.pdp-picker__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; padding: .25rem; margin: -.25rem; }
@media (min-width: 640px) { .pdp-picker__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.pdp-tile { position: relative; display: block; cursor: pointer; }
.pdp-tile input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.pdp-tile__box { position: relative; display: flex; flex-direction: column; align-items: center; gap: .3rem; height: 100%; padding: .4rem .3rem .5rem; border: 2px solid rgba(255, 255, 255, .12); border-radius: .7rem; background: #12131a; text-align: center; transition: border-color .15s ease, background-color .15s ease; }
.pdp-tile__box img { width: 100%; aspect-ratio: 1.58; object-fit: cover; border-radius: .4rem; }
.pdp-tile__name { color: #d1d5db; font-size: .72rem; font-weight: 600; line-height: 1.2; overflow-wrap: anywhere; }
.pdp-tile__check { position: absolute; top: .3rem; right: .3rem; display: none; place-items: center; width: 1.2rem; height: 1.2rem; border-radius: 50%; background: #df2020; color: #fff; font-size: .6rem; }
.pdp-tile:hover .pdp-tile__box { border-color: rgba(255, 255, 255, .35); }
.pdp-tile input:checked + .pdp-tile__box { border-color: #df2020; background: rgba(223, 32, 32, .12); }
.pdp-tile input:checked + .pdp-tile__box .pdp-tile__name { color: #fff; }
.pdp-tile input:checked + .pdp-tile__box .pdp-tile__check { display: grid; }
.pdp-tile input:focus-visible + .pdp-tile__box { outline: 3px solid #fff; outline-offset: 2px; }
.pdp-tile input[aria-invalid="true"]:not(:checked) + .pdp-tile__box { border-color: rgba(248, 113, 113, .6); }
.pdp-quantity .shop-quantity { width: 5rem; }
.pdp-cta { width: 100%; justify-content: center; gap: .6rem; padding: .9rem 1.25rem; border: 0; border-radius: .75rem; color: #fff; font: inherit; font-size: 1.05rem; font-weight: 800; text-transform: uppercase; letter-spacing: .03em; cursor: pointer; display: inline-flex; align-items: center; }
.pdp-trust { display: grid; gap: .55rem; margin: 1.5rem 0 0; padding: 1.1rem 0 0; border-top: 1px solid rgba(255, 255, 255, .1); list-style: none; }
.pdp-trust li { display: flex; align-items: center; gap: .7rem; color: #9ca3af; font-size: .88rem; }
.pdp-trust i { flex: none; width: 1.3rem; color: #df2020; text-align: center; }

.pdp-buy__title { hyphens: auto; -webkit-hyphens: auto; overflow-wrap: anywhere; }
@media (max-width: 479px) { .pdp-buy__title { font-size: 1.55rem; } }
.pdp__layout { grid-template-columns: minmax(0, 1fr); }
.pdp__layout > * { min-width: 0; }
@media (min-width: 1024px) { .pdp__layout { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); } }

/* Magazine-Karten: kompakt (Archiv + Konto) */
.mag-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 640px) { .mag-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .mag-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

.mag-card { display: flex; flex-direction: column; overflow: hidden; }
.mag-card__cover { display: block; width: 100%; height: auto; background: #1b1a23; }
.mag-card__cover--empty { aspect-ratio: 3 / 4; }
.mag-card__cover--empty { display: flex; align-items: center; justify-content: center; color: rgba(255, 255, 255, .3); font-size: 2.5rem; }
.mag-card__body { display: flex; flex: 1; flex-direction: column; gap: .35rem; padding: .75rem .85rem .85rem; }
.mag-card__title { margin: 0; color: #fff; font-size: .98rem; font-weight: 800; line-height: 1.3; }
.mag-card__desc { margin: 0; color: #b5b5b5; font-size: .8rem; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.mag-card__note { margin: 0; color: #9a9a9a; font-size: .78rem; }
.mag-card__actions { display: flex; flex-direction: column; gap: .4rem; margin-top: auto; padding-top: .4rem; }
.mag-card .bign-btn-cta { width: 100%; padding: .4rem .6rem; font-size: .8rem; line-height: 1.25; text-align: center; border-radius: .6rem; }
.mag-card .bign-btn-cta i { margin-right: .35rem; }
@media (max-width: 639px) {
    .mag-grid { gap: .75rem; }
    .mag-card__cover { max-height: none; }
    .mag-card__cover--empty { font-size: 1.75rem; }
    .mag-card__body { min-width: 0; padding: .6rem .65rem .7rem; }
    .mag-card__title { font-size: .9rem; }
    .mag-card__desc { display: none; }
}
.mag-sample { display: flex; flex-direction: row; overflow: hidden; }
.mag-sample__cover { position: relative; flex: 0 0 7rem; width: 7rem; overflow: hidden; background: rgba(255, 255, 255, .05); }
.mag-sample__cover img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.mag-sample__body { display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: 1rem 1.1rem; }
.mag-sample__body .bign-btn-cta { padding: .45rem 1rem; font-size: .85rem; }
@media (min-width: 768px) { .mag-sample__cover { flex-basis: 10rem; width: 10rem; } .mag-sample__body { padding: 1.25rem 1.75rem; } }
.mag-card__media { position: relative; width: 100%; overflow: hidden; background: #1b1a23; }
.mag-card__media img { display: block; width: 100%; height: auto; }
.mag-card__media .bign-media-placeholder { width: 100%; aspect-ratio: 3 / 4; }
.mag-card__media .bign-media-placeholder { min-height: 0; }
.mag-card__meta { margin: 0; color: #9a9a9a; font-size: .78rem; }
.mag-card__meta i { margin-right: .35rem; }
.mag-card__desc p { margin: 0; }
@media (max-width: 639px) {
    .mag-card__media { max-height: none; }
}
.mag-card { border: 1px solid rgba(255, 255, 255, .08); border-radius: 1rem; transition: transform .3s, border-color .3s; }
.mag-card:hover, .mag-card:focus-within { transform: translateY(-4px); border-color: rgba(223, 32, 32, .45); }
@media (prefers-reduced-motion: reduce) { .mag-card { transition: none; } .mag-card:hover, .mag-card:focus-within { transform: none; } }
@media (max-width: 639px) { .mag-sample__cover { flex-basis: 5.5rem; width: 5.5rem; } .mag-sample__body { padding: .8rem; } .mag-card__media img { object-position: center top; } }
@media (max-width: 639px) {
    .mag-sample__body > p.text-gray-300 { display: none; }
    .mag-sample__body h2, .mag-sample__body h3 { margin-bottom: .6rem; font-size: 1.15rem; line-height: 1.25; }
    .mag-sample__body > p:first-child { margin-bottom: .25rem; font-size: .7rem; }
    .mag-sample__body .flex { gap: .45rem; }
    .mag-sample__body a { padding: .45rem .8rem; font-size: .82rem; white-space: nowrap; }
}

/* Kündigungsbutton (§ 312k BGB) */
.cancel-form__fieldset {
    border: 0;
    display: grid;
    gap: .75rem;
    margin: 0;
    padding: 0;
}

.cancel-form__options {
    display: grid;
    gap: .75rem;
}

.cancel-form__option {
    align-items: flex-start;
    background: rgba(255, 255, 255, .05);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: .75rem;
    color: #fff;
    cursor: pointer;
    display: flex;
    gap: .75rem;
    padding: .8rem 1rem;
}

.cancel-form__option:has(input:checked) {
    border-color: #df2020;
}

.cancel-form__option input {
    accent-color: #df2020;
    flex-shrink: 0;
    margin-top: .3rem;
}

.cancel-form__option small,
.cancel-form__hint {
    color: rgba(255, 255, 255, .6);
    display: block;
    font-size: .85rem;
}

.cancel-form__text {
    color: rgba(255, 255, 255, .8);
    margin: 1rem 0 0;
}

.cancel-form__actions {
    align-items: center;
    flex-wrap: wrap;
    gap: 1.5rem;
}

.cancel-form__back {
    color: rgba(255, 255, 255, .7);
    text-decoration: underline;
}

.cancel-summary {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0 0 1.5rem;
}

.cancel-summary dt {
    color: rgba(255, 255, 255, .6);
    font-size: .8rem;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.cancel-summary dd {
    color: #fff;
    margin: .25rem 0 0;
    overflow-wrap: anywhere;
}

@media (max-width: 640px) {
    .cancel-summary {
        grid-template-columns: minmax(0, 1fr);
    }
}
