/* Local consent controls. */
#personal-consent { --pc-navy:#0b2b50; --pc-gold:#c3a658; font:16px/1.55 Arial,sans-serif; color:#182f43; }
#personal-consent *, #personal-consent *::before { box-sizing:border-box; }
#personal-consent [hidden] { display:none !important; }
#personal-consent h2 { margin:0 0 12px; color:var(--pc-navy); font:bold 22px/1.3 Arial,sans-serif; }
#personal-consent p { margin:0 0 14px; }
#personal-consent .pc-banner { position:fixed; left:16px; bottom:16px; width:min(440px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); overflow:auto; z-index:10010; padding:24px; border:1px solid #c3a658; border-radius:14px; background:#fff; box-shadow:0 8px 35px #071c3540; }
#personal-consent .pc-policy { color:#0b2b50; text-decoration:underline; text-underline-offset:3px; }
#personal-consent .pc-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
#personal-consent button { cursor:pointer; font:inherit; }
#personal-consent .pc-actions button { flex:1 1 105px; padding:10px 12px; min-height:44px; border:1px solid var(--pc-navy); border-radius:6px; background:#fff; color:var(--pc-navy); font-weight:600; }
#personal-consent .pc-actions button:hover { background:#edf2f6; }
#personal-consent [data-action="save"] { background:var(--pc-navy); color:#fff; }
#personal-consent [data-action="save"]:hover { background:#153b65; color:#fff; }

#personal-consent dialog { width:min(480px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); padding:24px; margin:auto; overflow:auto; border:1px solid var(--pc-gold); border-radius:14px; background:#fff; color:#182f43; box-shadow:0 20px 70px #071c3555; }
#personal-consent dialog::backdrop { background:#071c3566; }
#personal-consent .pc-heading { display:flex; gap:12px; align-items:start; }
#personal-consent .pc-close { flex-shrink:0; width:40px; height:40px; margin-left:auto; padding:0; border:1px solid #8796a6; border-radius:6px; color:var(--pc-navy); background:#fff; font-size:26px; }
#personal-consent .pc-category { margin:16px 0; padding:16px 0; border-top:1px solid #dce2e8; }
#personal-consent h3 { font:bold 17px/1.5 Arial,sans-serif; color:var(--pc-navy); margin:0 0 8px; }
#personal-consent h3 span { display:block; font-size:13px; color:#27633b; }
#personal-consent label { display:flex; align-items:center; gap:12px; min-height:44px; font-weight:bold; cursor:pointer; }
#personal-consent input { width:20px; height:20px; accent-color:var(--pc-navy); }
#personal-consent :focus-visible { outline:3px solid #125fcc; outline-offset:3px; }
#personal-consent .pc-status { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
@media(forced-colors:active) { #personal-consent button { border:2px solid ButtonText; } }