/*
  card-box — kaartjes in een bak.

  De bak is een navy tray met een lade-label; de kaartjes zijn crème met een
  gelinieerde kop, zoals een echt systeemkaartje. De scheefstand is minimaal
  (0,6°) en wisselt per kaartje: genoeg om te lezen als "erin gezet", te klein
  om als scheve tekst te lezen.
*/

/* Familie A (§3): verticaal ritme op de sectie, goot op de inner. */
.bsc-cardbox {
  padding: var(--block-y, 64px) 0;
  background: var(--surface-page);
  color: var(--text-body);
}

.bsc-cardbox__inner {
  max-width: var(--page-max);
  margin: 0 auto;
  padding: 0 var(--gutter-x, 28px);
}

.bsc-cardbox__head {
  display: grid;
  gap: var(--space-3);
  margin-bottom: var(--space-6);
  max-width: 56ch;
}

/* Eyebrow: volledig uit .bsc-label (§7). */

.bsc-cardbox__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: var(--weight-regular);
  font-size: clamp(28px, 3.6vw, 44px);
  line-height: .98;
  letter-spacing: var(--tracking-display);
  text-transform: uppercase;
  color: var(--text-strong);
}

/* ── De bak ────────────────────────────────────────────────────────────── */

.bsc-cardbox__box {
  position: relative;
  padding: var(--space-8) var(--space-6) var(--space-6);
  background: var(--bsc-night-200);
  border: var(--border-3) solid var(--bsc-navy-900);
  /* Contentkaart (§1). */
  border-radius: var(--radius-card);
}

/* Hazard-rail langs de bovenrand: de bak hoort bij dezelfde wereld als de
   Standwand-band en de collectors-band. */
.bsc-cardbox__box::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 10px;
  pointer-events: none;
  border-radius: var(--radius-card) var(--radius-card) 0 0;
  background-image: repeating-linear-gradient(
    -45deg,
    var(--bsc-yellow-500) 0 14px,
    var(--bsc-navy-900) 14px 28px
  );
}

/* Het lade-label, half over de rail heen. */
.bsc-cardbox__drawer {
  position: absolute;
  top: 18px;
  left: var(--space-6);
  padding: 6px 12px;
  background: var(--bsc-paper-100);
  color: var(--bsc-navy-900);
  border: var(--border-2) solid var(--bsc-navy-900);
  /* Papieren object (§1). */
  border-radius: var(--radius-sm);
  font: var(--weight-bold) 11px / 1 var(--font-mono);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}

/* ── De kaartjes ───────────────────────────────────────────────────────── */

.bsc-cardbox__cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  gap: var(--space-5);
  margin: 0;
  padding: 0;
  list-style: none;
}

.bsc-cardbox__card {
  --_tilt: calc((var(--_i, 0) - 1) * .6deg);

  display: grid;
  gap: var(--space-3);
  align-content: start;
  padding: var(--space-5);
  background: var(--bsc-paper-000);
  color: var(--bsc-navy-900);
  border: var(--border-2) solid var(--bsc-navy-900);
  /* Een systeemkaartje is papier (§1). */
  border-radius: var(--radius-sm);
  box-shadow: 4px 4px 0 rgba(0, 48, 72, .35);
  transform: rotate(var(--_tilt));
}

/*
  De liniëring: één lijn onder de kop, zoals de rode kaderlijn op een
  systeemkaartje. Als ::after op de kop, zodat hij precies zo breed is als het
  kaartje en niet als de tekst.
*/
.bsc-cardbox__tab {
  position: relative;
  margin: 0;
  padding-bottom: var(--space-3);
  font: var(--weight-extrabold) 17px / 1.25 var(--font-ui);
  color: var(--bsc-navy-900);
}

.bsc-cardbox__tab::after {
  content: '';
  position: absolute;
  left: calc(var(--space-5) * -1);
  right: calc(var(--space-5) * -1);
  bottom: 0;
  height: var(--border-2);
  background: var(--bsc-yellow-600);
}

.bsc-cardbox__text {
  font: var(--weight-regular) 15px / 1.6 var(--font-ui);
  color: var(--bsc-navy-900);
}

.bsc-cardbox__text p { margin: 0 0 var(--space-3); }
.bsc-cardbox__text > :last-child { margin-bottom: 0; }

/*
  Links binnen een kaartje staan op crème, dus de nachtkleur (geel) zou hier
  1,4:1 halen. .bsc-paper kantelt --link al naar navy-700, maar deze bak staat
  op nacht en heeft die class niet — vandaar hier expliciet.
*/
.bsc-cardbox__text a {
  color: var(--bsc-navy-700);
  text-underline-offset: .18em;
}

.bsc-cardbox__text a:hover,
.bsc-cardbox__text a:focus-visible {
  color: var(--bsc-navy-900);
}

@media screen and (max-width: 600px) {
  /* Contentblok: 64 desktop → 40 mobiel (§4). */
  .bsc-cardbox {
    padding: var(--block-y, 40px) 0;
  }

  .bsc-cardbox__inner {
    padding: 0 var(--gutter-x, 20px);
  }

  .bsc-cardbox__box {
    padding: var(--space-8) var(--space-4) var(--space-4);
  }

  .bsc-cardbox__drawer {
    left: var(--space-4);
  }

  /*
    Recht zetten op mobiel. Op 390px is een gekanteld kaartje van bijna
    volle breedte genoeg om de goot te overschrijden, en dan scrollt de hele
    pagina horizontaal.
  */
  .bsc-cardbox__card {
    transform: none;
  }
}
