/* Pagina 'Voorwaarden': regels die overal gelijk zijn, en per contract wat verschilt */

.voorwaarden-pagina { max-width: 72rem; margin: 0 auto; padding: 1.5rem 1.25rem 3rem; }
.voorwaarden-pagina .intro p { margin: 0; max-width: 48rem; }
.voorwaarden-pagina h2 { margin-top: 2.25rem; }

/* overal gelijk: kaarten */
.regel-kaarten { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 20rem), 1fr)); gap: 0.9rem; margin-top: 0.75rem; }
.regel-kaart { padding: 0.9rem 1rem; background: var(--card); border: 1px solid var(--lijn); border-radius: var(--radius); }
.regel-kaart h3 { margin: 0 0 0.2rem; }
.regel-kaart p { margin: 0.4rem 0 0; }
.regel-kaart .kort { margin-top: 0; color: var(--brand); font-weight: 700; }
.regel-kaart .noot { color: var(--tekst2); }
.geldt { display: flex; flex-wrap: wrap; gap: 0.3rem; margin-bottom: 0.3rem; }
.geldt-label { padding: 0 0.45rem; border-radius: var(--radius-pill); background: var(--tint-brand); color: var(--brand); font-weight: 600; }

/* wat verschilt: keuze en tabel */
.soort-keuze { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0.75rem 0; }
.soort-keuze legend { flex: 1 1 100%; }
.soort-keuze label { min-height: 40px; }
.tabel-wrap-vw { overflow-x: auto; background: var(--card); border: 1px solid var(--lijn); border-radius: var(--radius); }
.vw-tabel { width: 100%; border-collapse: collapse; font-size: 0.875rem; }
.vw-tabel th, .vw-tabel td { padding: 0.6rem 0.65rem; border-bottom: 1px solid var(--lijn); text-align: left; vertical-align: top; }
.vw-tabel thead th { border-bottom: 2px solid var(--inkt); font-size: var(--klein); white-space: nowrap; }
.vw-tabel tbody th { font-weight: 600; min-width: 11rem; }
.vw-tabel small { display: block; color: var(--tekst2); font-size: var(--klein); }
.vw-tabel .lev { display: flex; align-items: center; gap: 0.45rem; }
.logo-klein { width: 24px; height: 24px; border-radius: var(--radius-sm); object-fit: contain; background: var(--logo-vlak); flex: none; }
.logo-klein.leeg { display: inline-block; background: var(--vlak); }
.onbekend { color: var(--tekst2); font-size: var(--klein); }
.nog { max-width: 46rem; padding-left: 1.2rem; }
.nog li { margin-bottom: 0.4rem; }

/* smal scherm: elke leverancier als blokje met kopjes */
@media (max-width: 40rem) {
  .tabel-wrap-vw { overflow: visible; border: 0; background: none; }
  .vw-tabel thead { display: none; }
  .vw-tabel tr { display: block; margin-bottom: 0.75rem; padding: 0.75rem 0.9rem; background: var(--card); border: 1px solid var(--lijn); border-radius: var(--radius); }
  .vw-tabel th, .vw-tabel td { display: block; padding: 0.2rem 0; border: 0; }
  .vw-tabel tbody th { padding-bottom: 0.35rem; font-size: 17px; }
  .vw-tabel td::before { content: attr(data-kop) ": "; font-weight: 700; }
  .vw-tabel td small { display: inline; margin-left: 0.3rem; }
}
.vw-tabel td:last-child { white-space: nowrap; }
.aanbod-tabel td { white-space: nowrap; }
.aanbod-tabel .ja { color: var(--eerlijk); font-weight: 700; }
.aanbod-tabel td small { display: block; color: var(--tekst2); font-size: var(--klein); }
@media (max-width: 40rem) { .aanbod-tabel td small { display: inline; margin-left: 0.3rem; } }
