/* ==========================================================================
   Bonus banner (full width)
   ========================================================================== */
.bonus-banner {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  margin-block: var(--space-section);
  border-radius: var(--radius-card);
}
.bonus-banner__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.bonus-banner__overlay {
  position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(180deg, rgba(23, 5, 29, 0.82) 0%, rgba(33, 7, 40, 0.72) 100%);
}
.bonus-banner__inner {
  display: grid;
  gap: 0.75rem;
  justify-items: center;
  text-align: center;
  padding-block: clamp(2.5rem, 6vw, 4rem);
}
.bonus-banner__label { color: var(--color-white); font-weight: var(--fw-semibold); text-transform: uppercase; letter-spacing: 1px; }
.bonus-banner__amount { color: var(--color-heading); font-weight: var(--fw-extrabold); font-size: clamp(1.75rem, 4.5vw, 3rem); line-height: 1.1; }
.bonus-banner__text { color: var(--color-text); max-width: 52ch; }
.bonus-banner__inner .btn { margin-top: 0.5rem; }
