/* Load after the current production stylesheet. Scope every rule to this UI. */
.nw-consent-banner,.nw-consent-dialog { box-sizing:border-box; color:#223332; background:#fffdf8; border:1px solid #b7c3be; border-radius:12px; padding:20px; font:16px/1.45 system-ui,sans-serif; box-shadow:0 8px 32px #0003; }
.nw-consent-banner { position:fixed; z-index:10000; right:16px; bottom:16px; width:min(540px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); overflow:auto; }
.nw-consent-banner[hidden],.nw-consent-dialog[hidden] { display:none; }
.nw-consent-dialog { width:min(560px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); overflow:auto; }
.nw-consent-dialog::backdrop { background:#112b2780; }
.nw-consent-title { margin:0 0 10px; font-size:20px; }
.nw-consent-text,.nw-consent-status { margin:10px 0; }
.nw-consent-options { margin:12px 0; padding:0; border:0; }
.nw-consent-legend { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.nw-consent-option { display:flex; align-items:flex-start; gap:12px; padding:10px 0; cursor:pointer; }
.nw-consent-option input { width:22px; height:22px; flex:none; margin:2px 0 0; accent-color:#285c51; }
.nw-consent-detail { display:block; margin:4px 0 0; color:#465750; font-size:14px; }
.nw-consent-actions { display:flex; flex-wrap:wrap; gap:10px; margin:14px 0 10px; }
.nw-consent-button { flex:1 1 180px; padding:12px; border:1px solid #285c51; border-radius:6px; background:#fffdf8; color:#214d43; font:inherit; font-weight:600; cursor:pointer; }
.nw-consent-close { margin-top:12px; padding:10px; border:1px solid #285c51; border-radius:6px; background:#fffdf8; color:#214d43; font:inherit; font-weight:600; cursor:pointer; }
/* Explicit interactive colours override the legacy site hover rule. */
:is(.nw-consent-banner,.nw-consent-dialog) :is(.nw-consent-button,.nw-consent-close):is(:hover,:active,:focus-visible) { color:#fffdf8; background:#285c51; border-color:#285c51; }
.nw-consent-policy { color:#214d43; text-decoration:underline; }
.nw-consent-option input:focus-visible,.nw-consent-button:focus-visible,.nw-consent-close:focus-visible,.nw-consent-policy:focus-visible { outline:3px solid #b97616; outline-offset:3px; }
@media(max-width:420px) { .nw-consent-banner,.nw-consent-dialog { padding:16px; } }
