.privacy-banner[hidden], .privacy-footer-control[hidden] { display:none !important; }
.privacy-banner, .privacy-dialog { font-family:'Inter',system-ui,sans-serif; color:#263a4d; font-size:13px; line-height:1.7; text-align:left; }
.privacy-banner { position:fixed; z-index:1200; right:24px; bottom:24px; width:min(490px,calc(100vw - 48px)); padding:26px; border:1px solid #cad9e3; border-top:4px solid #007b85; border-radius:12px; background:#fff; box-shadow:0 12px 52px #0a2d6229; }
.privacy-banner h2, .privacy-dialog h2 { font-family:'Montserrat',system-ui,sans-serif; color:#0a2d62; margin:0 28px 14px 0; font-size:20px; line-height:1.35; }
.privacy-banner p, .privacy-dialog p { margin:12px 0; }
.privacy-banner a, .privacy-dialog a { color:#0a2d62; text-decoration:underline; text-underline-offset:3px; }
.privacy-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.privacy-action { flex:1 1 180px; min-height:44px; padding:11px 14px; border:1px solid #0a2d62; border-radius:6px; background:#fff; color:#0a2d62; font:600 12px/1.5 'Inter',system-ui,sans-serif; cursor:pointer; }
.privacy-action:hover { background:#edf7f8; }
.privacy-dismiss, .privacy-dialog-close { display:inline-flex; justify-content:center; align-items:center; width:44px; height:44px; border:0; border-radius:6px; background:#f6f9fb; color:#0a2d62; font:24px/1 system-ui,sans-serif; cursor:pointer; }
.privacy-dismiss { position:absolute; right:12px; top:12px; }
.privacy-dialog { padding:28px; border:1px solid #cad9e3; border-radius:12px; width:min(620px,calc(100vw - 32px)); max-height:85vh; margin:auto; overflow-y:auto; background:#fff; box-shadow:0 16px 64px #001b3b4d; }
.privacy-dialog:not([open]) { display:none; }
.privacy-dialog::backdrop { background:#071e3c99; }
.privacy-dialog-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.privacy-dialog-heading h2 { margin-right:0; }
.privacy-dialog-close { flex-shrink:0; }
.privacy-category { padding:18px 0; border-top:1px solid #dce5eb; }
.privacy-category h3 { margin:0; color:#0a2d62; font-size:14px; line-height:1.6; font-weight:600; }
.privacy-category p { margin-bottom:0; }
.privacy-category-heading { display:flex; align-items:baseline; flex-wrap:wrap; gap:6px 14px; justify-content:space-between; }
.privacy-category-heading span { color:#526779; font-size:11px; }
.privacy-category code { font-size:12px; overflow-wrap:anywhere; }
.privacy-settings-note { font-size:11px; color:#526779; }
.privacy-footer-control { display:inline; background:none; border:0; padding:0; font:inherit; color:inherit; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.footer-col .privacy-footer-control { color:rgba(255,255,255,.8); font-size:13px; }
.privacy-status { color:#007b85; font-size:12px; }
.privacy-announcement { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.privacy-banner :focus-visible, .privacy-dialog :focus-visible, .privacy-footer-control:focus-visible { outline:3px solid #007b85; outline-offset:4px; }
@media(max-width:600px) { .privacy-banner { bottom:12px; right:12px; width:calc(100vw - 24px); padding:22px 20px; } .privacy-dialog { padding:22px 20px; } .privacy-banner h2 { font-size:18px; } .privacy-actions { gap:8px; } .privacy-action { flex-basis:100%; } }
@media print { .privacy-banner, .privacy-dialog, .privacy-footer-control, .privacy-announcement { display:none !important; } }
