/* OMS Platform: alleen wat de kern niet heeft. Het ontwerp zelf komt uit oms-kern: public/kern/kern.css, die vóór dit bestand wordt geladen. */
.productkaart { display: flex; flex-direction: column; } .productkaart p { flex: 1; margin: 0 0 16px; } .productkaart .knop { align-self: flex-start; }
.productkaart.niet-actief { background: var(--vlak2); box-shadow: none; } .productkaart.niet-actief h2 { color: var(--tekst2); }
.abonnement-actie { display: inline-flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: flex-end; } .abonnement-actie select { width: auto; max-width: 200px; margin: 0; }
td select, td input { margin: 0; } td select { min-width: 130px; } form.knoppen { display: inline-flex; gap: 12px; align-items: center; } div.knoppen { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.ik-blok a { flex: 1; min-width: 0; color: inherit; text-decoration: none; } .ik-blok a strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .ik-blok small { display: block; }
.regel .rechts { margin-left: auto; } .kaart .tabel { margin-bottom: 0; } .tabel a { text-decoration: none; }
fieldset.vinken { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 6px 16px; margin: 0 0 16px; border: 0; padding: 0; } fieldset.vinken legend { margin-bottom: 8px; font-size: 12px; color: var(--zacht); font-weight: 500; } fieldset.vinken label { margin: 0; }
.info input[readonly] { font: 13px ui-monospace, Consolas, monospace; margin: 4px 0 8px; }
.qr { margin: 12px 0; } .qr svg { display: block; width: 220px; height: 220px; max-width: 100%; border-radius: var(--r-klein); }
.herstelcodes { margin: 8px 0 0; columns: 2; font: 13px/1.7 ui-monospace, Consolas, monospace; }
@media (max-width: 1100px) { .raster.drie { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 860px) { .raster, .raster.drie { grid-template-columns: minmax(0, 1fr); } .abonnement-actie { justify-content: flex-start; } }
