/* ===== Content section extras ===== */

/* Home characteristics table lead */
.specs { margin-block: var(--space-section); }

/* Bonus banner (full-width background image) */
.bonus-banner {
  position: relative; isolation: isolate; overflow: hidden;
  clip-path: var(--clip-cut); margin-block: var(--space-section);
}
.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(15,22,23,0.75), rgba(15,22,23,0.85)); }
.bonus-banner__inner {
  display: grid; gap: 0.75rem; justify-items: center; text-align: center;
  padding: clamp(2rem, 5vw, 3.5rem) 1.5rem; max-width: 720px; margin-inline: auto;
}
.bonus-banner__label { color: var(--color-white); font-weight: var(--fw-btn); text-transform: uppercase; letter-spacing: 1px; }
.bonus-banner__amount {
  color: var(--color-heading); font-family: var(--font-body);
  font-size: clamp(1.75rem, 5vw, 3rem); font-weight: var(--fw-heading); line-height: 1.1;
}
.bonus-banner__sub { color: var(--color-text); }
.bonus-banner .btn { margin-top: 0.75rem; padding: 0.9rem 2.25rem; }

/* Bonus grid (bonus page) — 4 columns x 2 rows */
.bonus-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-card-gap);
  margin-block: var(--space-section);
}
.bonus-card {
  background: var(--color-card); clip-path: var(--clip-cut);
  display: flex; flex-direction: column;
}
/* Bonus images shown fully, not cropped */
.bonus-card__img { width: 100%; height: auto; object-fit: contain; background: var(--color-bg-dark); }
.bonus-card__body { padding: var(--space-card-padding); display: grid; gap: 0.75rem; align-content: start; flex: 1; }
.bonus-card__title { color: var(--color-white); }
.bonus-card__text { color: var(--color-text); }
.bonus-card__cta { margin-top: auto; }

@media (max-width: 991px) { .bonus-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .bonus-grid { grid-template-columns: 1fr; } }

/* App platform columns (app page) */
.platforms { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-card-gap); margin-block: var(--space-section); }
.platform {
  background: var(--color-card); clip-path: var(--clip-cut);
  padding: var(--space-card-padding); display: grid; gap: 1rem; align-content: start;
}
.platform__head { display: flex; align-items: center; gap: 1rem; }
.platform__icon { width: 84px; height: auto; object-fit: contain; }
.platform__name { color: var(--color-white); }
.platform .btn { justify-self: start; }
@media (max-width: 700px) { .platforms { grid-template-columns: 1fr; } }

/* App-store download buttons row */
.store-buttons { display: flex; flex-wrap: wrap; gap: var(--space-card-gap); margin-block: var(--space-paragraph); }

/* Support contact cards */
.support-channels { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); gap: var(--space-card-gap); margin-block: var(--space-paragraph); }
.support-channel { background: var(--color-card); clip-path: var(--clip-cut); padding: var(--space-card-padding); display: grid; gap: 0.5rem; }
.support-channel__title { color: var(--color-heading); font-family: var(--font-display); font-size: var(--fs-h3); }

/* Content-section image ordering: image after H2 on both, but on mobile keep above text (already DOM order). Desktop identical. */
@media (max-width: 767px) {
  .content__section .content__media { margin-top: var(--space-h2-text); }
}
