/* Nieuwsbriefblok boven de footer. Kleuren, maten en knoppen komen uit de theme-tokens. */
.ozbn { margin-block: var(--oz-section-spacing-compact) 0; scroll-margin-top: 7rem; }
.ozbn__inner {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: var(--oz-space-xl) var(--oz-space-3xl); align-items: center;
	padding: clamp(1.5rem, 1rem + 3vw, 3.5rem); border-radius: var(--oz-radius-xl);
	background: var(--oz-color-primary, #5132ed); color: var(--oz-color-on-primary, #fff);
}
.ozbn__intro > * { margin: 0; }
.ozbn__intro { display: grid; gap: var(--oz-space-sm); }
.ozbn__eyebrow { font-size: var(--oz-font-size-eyebrow); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; opacity: .85; }
.ozbn .ozbn__title { margin: 0; color: inherit; font-family: var(--oz-font-family-heading, inherit); font-weight: 700; font-size: var(--oz-font-size-h3); line-height: 1.15; }
.ozbn__text { font-size: var(--oz-font-size-lead); line-height: 1.5; max-width: 34rem; }
.ozbn__promo {
	display: inline-flex; align-items: center; gap: .5rem; justify-self: start; margin-top: var(--oz-space-xs) !important;
	padding: .5rem .875rem; border-radius: var(--oz-radius-pill);
	background: var(--oz-color-accent, #57d18c); color: var(--oz-color-on-accent, #161617); font-weight: 700; font-size: var(--oz-font-size-small);
}
.ozbn__promo svg { flex: 0 0 18px; }
.ozbn-form { display: grid; gap: var(--oz-space-md); margin: 0; }
.ozbn__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ozbn__audience { margin: 0; padding: 0; border: 0; min-width: 0; }
.ozbn__audience legend, .ozbn__label { display: block; margin-bottom: var(--oz-space-xs); padding: 0; color: inherit; font-weight: 700; font-size: var(--oz-font-size-small); }
.ozbn__choices { display: flex; flex-wrap: wrap; gap: var(--oz-space-xs); }
.ozbn .ozbn__choice { position: relative; margin: 0; color: #fff; cursor: pointer; }
.ozbn__choice input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.ozbn__choice span {
	display: inline-flex; align-items: center; min-height: 44px; padding: .5rem 1rem; border: 2px solid rgb(255 255 255 / 70%); border-radius: var(--oz-radius-pill);
	color: inherit; font-weight: 700; font-size: var(--oz-font-size-small); line-height: 1.2; transition: background-color .15s ease, color .15s ease;
}
.ozbn__choice:hover span { background: rgb(255 255 255 / 14%); }
.ozbn__choice input:checked + span { background: #fff; border-color: #fff; color: var(--oz-color-primary, #5132ed); }
.ozbn__choice input:focus-visible + span { outline: 3px solid #fff; outline-offset: 3px; }
.ozbn__row { display: flex; gap: var(--oz-space-xs); }
.ozbn .ozbn__row input[type="email"] { flex: 1 1 auto; min-width: 0; margin: 0; border-color: #fff; background: #fff; color: var(--oz-color-text, #242631); }
.ozbn .ozbn__row input[type="email"]:focus-visible { outline: 3px solid var(--oz-color-accent, #57d18c); outline-offset: 2px; }
.ozbn .ozbn-form .ozbn__submit { flex: 0 0 auto; background: var(--oz-color-accent, #57d18c); border-color: var(--oz-color-accent, #57d18c); color: var(--oz-color-on-accent, #161617); }
.ozbn .ozbn-form .ozbn__submit:is(:hover, :focus-visible) { background: #fff; border-color: #fff; color: var(--oz-color-primary, #5132ed); }
.ozbn .ozbn-form .ozbn__submit:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.ozbn-form[aria-busy="true"] .ozbn__submit { opacity: .7; cursor: progress; }
.ozbn__privacy, .ozbn-form .oz-recaptcha-note { margin: 0; font-size: .8125rem; line-height: 1.5; color: inherit; opacity: .9; }
.ozbn__privacy a, .ozbn-form .oz-recaptcha-note a { color: inherit; text-decoration: underline; text-underline-offset: .15em; }
.ozbn__status:empty { display: none; }
.ozbn__status { padding: .75rem 1rem; border-radius: var(--oz-radius-medium); background: #fff; color: var(--oz-color-text, #242631); font-weight: 600; line-height: 1.45; }
.ozbn__status--success { border-inline-start: 4px solid var(--oz-color-success, #147a4b); }
.ozbn__status--error { border-inline-start: 4px solid var(--oz-color-error, #b42318); color: var(--oz-color-error, #b42318); }
.ozbn .ozbn__status:is(:focus, :focus-visible) { outline: none !important; box-shadow: none !important; }
.ozbn__admin { margin: 0; padding: .5rem .75rem; border-radius: var(--oz-radius-small); background: var(--oz-color-warning-surface, #fff4d6); color: var(--oz-color-warning, #7a5000); font-size: .8125rem; }
@media (max-width: 63.999rem) {
	.ozbn__inner { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 29.999rem) {
	.ozbn__row { flex-direction: column; }
	.ozbn .ozbn-form .ozbn__submit { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) { .ozbn__choice span { transition: none; } }
