/* ============================================================
   Bonus-Banner (volle Breite)
   ============================================================ */
.bonus-banner {
    position: relative;
    border-radius: var(--radius-card);
    overflow: hidden;
    background-size: cover;
    background-position: center;
    margin-block: var(--space-section);
}
.bonus-banner__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(13, 30, 33, 0.72) 0%, rgba(13, 30, 33, 0.85) 100%);
}
.bonus-banner__inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.9rem;
    padding: clamp(2rem, 5vw, 3.5rem) clamp(1rem, 4vw, 3rem);
}
.bonus-banner__label {
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: var(--fs-small);
    font-weight: var(--fw-bold);
    color: var(--color-heading);
}
.bonus-banner__amount {
    color: var(--color-white);
    font-size: clamp(1.75rem, 5vw, 3rem);
    font-weight: var(--fw-extrabold);
    line-height: 1.05;
    margin: 0;
}
.bonus-banner__amount span { color: var(--color-heading); }
.bonus-banner__desc { color: var(--color-text); max-width: 52ch; margin: 0; }
.bonus-banner__cta { margin-top: 0.5rem; font-size: 1.05rem; padding-inline: 2rem; }

/* ============================================================
   Bonus-Karten-Grid (Seite /bonus/)
   ============================================================ */
.bonus-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-card-gap);
    margin-block: var(--space-paragraph);
}
.bonus-card {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    background: var(--color-card);
    border-radius: var(--radius-md);
    padding: var(--space-card-padding);
    height: 100%;
}
.bonus-card__media {
    border-radius: var(--radius-sm);
    overflow: hidden;
    background: var(--color-bg-dark);
    display: flex;
    align-items: center;
    justify-content: center;
}
/* Bonus-Bilder vollständig anzeigen — kein Zuschneiden */
.bonus-card__media img {
    width: 100%;
    height: auto;
    object-fit: contain;
    display: block;
}
.bonus-card__title { color: var(--color-heading); font-size: var(--fs-h3); }
.bonus-card__text { color: var(--color-text); margin: 0; flex: 1; }
.bonus-card__btn { width: 100%; margin-top: auto; }

@media (min-width: 480px) {
    .bonus-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1440px) {
    .bonus-grid { grid-template-columns: repeat(4, 1fr); }
}
