.content-section { scroll-margin-top: calc(var(--header-height) + var(--space-md)); }

/* Text runs across the full container width. */
.content-section > p,
.content-section > .rich-list,
.content-section > .data-table-wrap { max-width: none; }

/*
 * Section image: a full-width band that sits between the text blocks.
 * Never cropped — the whole banner stays visible on every screen size.
 */
.content-section__media {
  width: 100%;
  margin-block: var(--gap-h2-text);
  border-radius: var(--radius-card);
  overflow: hidden;
  background-color: var(--color-bg-dark);
}

.content-section__media img {
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
}

/* Bonus card grid */
.bonus-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--gap-cards);
  margin-top: var(--gap-h2-text);
}

.bonus-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
  padding: var(--card-padding);
  border-radius: var(--radius-card);
  background-color: var(--color-bg-dark);
}

.bonus-card__media {
  border-radius: var(--radius-md);
  background-color: var(--color-surface);
  overflow: hidden;
}

/* Bonus images are shown in full, never cropped. */
.bonus-card__media img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.bonus-card h3 { margin-top: var(--space-2xs); }

.bonus-card__text {
  margin-top: var(--space-2xs);
  font-size: var(--fs-small);
  color: var(--color-text-muted);
}

.bonus-card .btn { margin-top: auto; }

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

@media (min-width: 768px) {
  .bonus-grid { grid-template-columns: repeat(3, 1fr); }
}

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