/* Inschrijfformulier: lokveld onzichtbaar voor mensen (niet display:none, sommige robots slaan dat over). */
.signup .hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.signup fieldset { border: 0; padding: 0; margin: 0 0 1.25rem; }
.signup legend { font-weight: 600; margin-bottom: .5rem; }
.signup .choice { display: flex; gap: .5rem; align-items: baseline; flex-wrap: wrap; font-weight: normal; }

/* Abonnement kiezen en betalen (fase 3). */
.choose fieldset { border: 0; padding: 0; margin: 0 0 1.5rem; }
.choose legend { font-weight: 600; margin-bottom: .5rem; display: flex; gap: .25rem; align-items: center; }
.choose .choice { display: flex; gap: .5rem; align-items: baseline; flex-wrap: wrap; font-weight: normal; margin-bottom: .35rem; }
.form.choose .choice input, .form.choose .plan-card input { width: auto; margin: 0; flex: none; }
.form.choose .plan-card input { align-self: flex-start; }
.form.choose fieldset { background: none; display: block; }
.form.choose label.choice { flex-direction: row; color: var(--text, inherit); font-size: 1em; }
.form.choose .address-row { margin-bottom: .75rem; }
.plan-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: .75rem; }
.plan-card { display: flex; flex-direction: column; gap: .25rem; padding: .9rem 1rem; border: 1px solid var(--border, #d0d7d3);
             border-radius: .5rem; font-weight: normal; cursor: pointer; }
.plan-card:has(input:checked) { border-color: var(--brand, #2f6f4f); box-shadow: 0 0 0 1px var(--brand, #2f6f4f); }
.address-row { display: grid; grid-template-columns: 3fr 1fr; gap: .75rem; }
.address-row + .address-row { grid-template-columns: 1fr 3fr; }
.notice-unpaid { border-left: 4px solid var(--warning, #b7791f); }
.notice-unpaid form.inline { display: inline-block; margin-right: .5rem; }
@media (max-width: 720px) { .address-row, .address-row + .address-row { grid-template-columns: 1fr; } }
