/* Nieuwsbrief-formulieren — gebruikt de kleurvariabelen van het thema (khashkhash-poppy) */
.nl-box { margin: 0; }
.nl-label { display: block; font-weight: 600; font-size: .92em; margin: 0 0 4px; }
.nl-optional { font-weight: 400; color: var(--ink-soft); }
.nl-input {
    width: 100%; min-width: 0; font: inherit; font-size: 1rem; color: var(--ink);
    background: var(--paper); border: 1px solid var(--border); border-radius: 10px; padding: 10px 13px; margin: 0 0 12px;
}
.nl-input:focus { outline: 2px solid var(--poppy); outline-offset: 1px; border-color: var(--poppy); }
.nl-row { display: flex; gap: 8px; align-items: stretch; }
.nl-row .nl-input { flex: 1 1 auto; margin: 0; }
.nl-btn {
    flex: 0 0 auto; cursor: pointer; border: 0; border-radius: 999px; padding: 10px 20px;
    background: #e12a1e; color: #fff; font-family: "Zilla Slab", Georgia, serif; font-weight: 600; font-size: 1rem;
}
.nl-btn:hover { background: #b91d13; }
.nl-check { display: flex; gap: 9px; align-items: flex-start; font-size: .85em; line-height: 1.5; margin: 10px 0 4px; cursor: pointer; color: var(--ink-soft); }
.nl-check input { margin-top: .25em; width: 17px; height: 17px; accent-color: var(--poppy); flex: 0 0 auto; }
.nl-check a { color: var(--poppy); }
.nl-error { color: var(--poppy-dk); font-size: .85em; margin: 4px 0 0; }
.nl-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.nl-done { background: var(--poppy-wash); border-radius: 12px; padding: 14px 18px; }
.nl-done p { margin: 0 0 .4em; }
.nl-done p:last-child { margin: 0; }
.nl-done-title { font-family: "Zilla Slab", Georgia, serif; font-weight: 700; font-size: 1.15em; color: var(--ink); }
.nl-lead { font-size: 1.08em; }

/* Footerblok op elke pagina */
.nl-footer { background: var(--paper-2); border-top: 1px solid var(--border); }
.nl-footer-inner { max-width: 1180px; margin: 0 auto; padding: 26px 24px; display: flex; gap: 28px; align-items: flex-start; }
.nl-footer-text { flex: 1 1 45%; }
.nl-footer-text h2 { font-family: "Zilla Slab", Georgia, serif; font-size: 1.35rem; margin: 0 0 .3em; color: var(--ink); }
.nl-footer-text p { margin: 0; color: var(--ink-soft); font-size: .95rem; line-height: 1.6; }
.nl-footer-form { flex: 1 1 55%; }
@media (max-width: 760px) {
    .nl-footer-inner { flex-direction: column; gap: 14px; padding: 22px 22px; }
}
@media (max-width: 420px) {
    .nl-row { flex-direction: column; }
    .nl-btn { width: 100%; }
}

/* Aanmeldkaart op /nieuwsbrief */
.nl-card { background: var(--paper-2); border: 1px solid var(--border); border-top: 4px solid var(--poppy); border-radius: 16px; padding: 24px 26px; margin: 0 0 26px; max-width: 580px; }
