/* Dezelfde bediening voor pushmeldingen en de vrijwillige browserplaats. */
.cms-consent {
    --consent-surface: var(--local-panel, #fff);
    --consent-text: var(--local-text, #17293b);
    --consent-line: var(--local-line, #b4c1d0);
    --consent-primary: var(--local-brand-dark, #1e3a8a);
    --consent-on-primary: #fff;
    --consent-radius: 8px;
}
body[data-fr-shared-behavior] .cms-consent {
    --consent-surface: var(--fr-kaart);
    --consent-text: var(--fr-tekst);
    --consent-line: var(--fr-rand);
    --consent-primary: var(--fr-knop);
    --consent-on-primary: var(--fr-knoptekst);
}
body.site-theme-lodewijk .cms-consent {
    --consent-surface: var(--panel);
    --consent-text: var(--ink);
    --consent-line: var(--border);
    --consent-primary: var(--accent);
    --consent-on-primary: var(--accent-ink);
}
body.lh-body .cms-consent {
    --consent-surface: var(--surface-solid);
    --consent-text: var(--text);
    --consent-line: var(--a126-2);
    --consent-primary: var(--accent);
    --consent-on-primary: var(--on-badge);
}
body.admin-modern .cms-consent {
    --consent-surface: var(--admin-surface);
    --consent-text: var(--admin-text);
    --consent-line: var(--admin-line);
    --consent-primary: var(--admin-primary);
    --consent-radius: var(--admin-radius);
}
.cms-consent-notice {
    padding: 16px;
    border: 1px solid var(--consent-line);
    border-radius: var(--consent-radius);
    background: var(--consent-surface);
    color: var(--consent-text);
    font: 15px/1.5 system-ui, sans-serif;
    text-align: left;
}
.cms-consent-notice p { margin: 0 0 12px; color: inherit; font: inherit; }
.cms-consent-notice a { color: inherit; text-decoration: underline; }
.cms-push-consent {
    box-sizing: border-box;
    width: min(560px, calc(100vw - 32px));
    max-height: calc(100dvh - 32px);
    overflow: auto;
    margin: auto;
    padding: 24px;
    border: 1px solid var(--consent-line);
    border-radius: var(--consent-radius);
    background: var(--consent-surface);
    color: var(--consent-text);
    font: 16px/1.55 system-ui, sans-serif;
    text-align: left;
}
.cms-push-consent::backdrop { background: rgb(10 25 40 / 55%); }
.cms-push-consent h2 { margin: 0 0 16px; font: 700 1.35em/1.3 system-ui, sans-serif; }
.cms-push-consent p { margin: 0 0 16px; }
.cms-consent-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.cms-consent-actions :is(.button-primary, .button-ghost) {
    box-sizing: border-box;
    width: auto;
    min-height: 44px;
    white-space: normal;
    padding: 10px 14px;
    border: 1px solid var(--consent-line);
    border-radius: var(--consent-radius);
    background: var(--consent-surface);
    color: var(--consent-text);
    font: 600 15px/1.4 system-ui, sans-serif;
    cursor: pointer;
}
.cms-consent-actions .button-primary {
    border-color: var(--consent-primary);
    background: var(--consent-primary);
    color: var(--consent-on-primary);
}
.cms-consent-actions .button-primary:hover { background: color-mix(in srgb, var(--consent-primary) 88%, #000); }
.cms-consent-actions .button-ghost:hover { background: color-mix(in srgb, var(--consent-text) 8%, var(--consent-surface)); }
.cms-consent-actions button:focus-visible { outline: 3px solid var(--consent-text); outline-offset: 3px; }
.cms-consent-actions button:disabled { opacity: .65; cursor: default; }
.cms-consent :is([data-push-consent-status], [data-geo-status], [data-geo-stop-status]):empty { display: none; }
.cms-consent :is([data-push-consent-status], [data-geo-status], [data-geo-stop-status]) { margin: 16px 0 0; }
