/* Privacy controls: shared by every page, including error pages. */
.privacy-banner, .privacy-choices { box-sizing: border-box; font-family: Figtree, system-ui, sans-serif; }
.privacy-banner { position: fixed; z-index: 1000; bottom: 16px; right: 16px; left: 180px; max-width: 1300px; margin-left: auto; display: flex; align-items: center; gap: 40px; padding: 28px 30px; border: 1px solid #6b603d; border-radius: 24px; background: linear-gradient(110deg, #112244, #0e1937); color: #f5f1e6; box-shadow: 0 12px 40px #0003; max-height: calc(100dvh - 32px); overflow-y: auto; text-align: left; }
.privacy-banner[hidden] { display: none !important; }
.privacy-banner__copy { flex: 1; min-width: 0; }
.privacy-banner h2 { font: 800 22px/1.3 Figtree, system-ui, sans-serif; color: #f5f1e6; margin: 0 0 10px; letter-spacing: -.3px; text-transform: none; }
.privacy-banner p { font-size: 18px; line-height: 1.5; color: #c4c8d1; margin: 0; max-width: none; }
.privacy-banner a { color: #efbb3d; font-weight: 700; text-decoration: underline; }
.privacy-banner__actions { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.privacy-banner button, .privacy-choices { cursor: pointer; font-size: 16px; font-weight: 750; line-height: 1.3; border-radius: 999px; padding: 17px 23px; min-height: 48px; }
.privacy-decline { border: 1px solid #8390a8; color: #f5f1e6; background: transparent; }
.privacy-allow { border: 1px solid #e9b638; background: #e9b638; color: #0b1a3c; }
.privacy-choices { position: fixed; bottom: 12px; left: 0; z-index: 1001; padding: 10px 16px; border: 1px solid #394968; color: #f5f1e6; background: #102040; }
.privacy-banner button:hover, .privacy-choices:hover { filter: brightness(1.12); }
.privacy-banner :focus-visible, .privacy-choices:focus-visible { outline: 3px solid #efbb3d; outline-offset: 4px; }
.privacy-open .wa-float { visibility: hidden; }
@media (max-width: 1000px) { .privacy-banner { left: 16px; bottom: 72px; gap: 22px; } .privacy-banner p { font-size: 16px; } }
@media (max-width: 700px) { .privacy-banner { padding: 22px; border-radius: 20px; align-items: stretch; flex-direction: column; gap: 20px; max-height: calc(100dvh - 88px); } .privacy-banner h2 { font-size: 21px; } .privacy-banner__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; } .privacy-banner button { padding: 14px 10px; font-size: 15px; } }