.privacy-banner {
    position: sticky; bottom: 0; z-index: 80; display: grid;
    grid-template-columns: minmax(0, 1fr) auto; gap: 18px 32px;
    width: 100%; padding: 24px max(24px, calc((100vw - 1240px) / 2));
    box-sizing: border-box; color: #131b2b; background: #fff;
    box-shadow: 0 -8px 32px rgb(11 19 34 / 12%);
    font: 400 14px/1.55 "Manrope", ui-sans-serif, system-ui, sans-serif;
    max-height: 80dvh; overflow-y: auto; overscroll-behavior: contain;
}
.privacy-banner[hidden], .privacy-banner [hidden] { display: none; }
.privacy-title { margin: 0 0 8px; color: #131b2b; font-size: 20px; line-height: 1.3; font-weight: 750; letter-spacing: -.02em; }
.privacy-intro { max-width: 76ch; margin: 0; color: #46546a; }
.privacy-actions { display: flex; align-items: center; align-self: start; gap: 10px; flex-wrap: wrap; max-width: 400px; }
.privacy-button { appearance: none; min-height: 44px; padding: 11px 16px; border: 1px solid #8292a8; border-radius: 8px; background: #fff; color: #131b2b; font: inherit; font-weight: 650; cursor: pointer; }
.privacy-actions > .privacy-button:not(.privacy-customize) { flex: 1 1 auto; }
.privacy-button:hover { background: #edf4fa; border-color: #0868d5; }
.privacy-customize { width: 100%; }
.privacy-banner :is(button, a, input):focus-visible, [data-cookie-settings]:focus-visible, .remember-login input:focus-visible { outline: 3px solid #0868d5; outline-offset: 3px; }
.privacy-banner a { color: #0757b3; text-underline-offset: 3px; }
.privacy-options { grid-column: 1 / -1; margin: 0; padding: 18px 0 0; border: 0; border-top: 1px solid #dfe5ec; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.privacy-options legend { padding: 0 12px 0 0; font-weight: 750; }
.privacy-option { display: flex; align-items: start; gap: 12px; cursor: pointer; }
.privacy-option input, .remember-login input { flex: 0 0 auto; width: 20px; height: 20px; margin: 3px 0 0; accent-color: #0868d5; }
.privacy-option strong, .privacy-option span span { display: block; }
.privacy-option span span { margin-top: 6px; color: #46546a; font-size: 13px; }
.privacy-bottom { grid-column: 1 / -1; display: flex; gap: 20px; align-items: center; font-size: 12px; }
.privacy-bottom p { max-width: 100ch; margin: 0; color: #46546a; }
.privacy-bottom a { flex-shrink: 0; }
.privacy-status { position: fixed; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
[data-cookie-settings] { appearance: none; padding: 5px 0; border: 0; background: transparent; color: inherit; font: inherit; text-align: start; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.premium-storefront .footer-links [data-cookie-settings] { color: #bdc9d9; }
.remember-login { display: flex; align-items: start; gap: 12px; margin: 20px 0; font-size: 14px; cursor: pointer; }
.remember-login strong, .remember-login small { display: block; }
.remember-login small { margin-top: 5px; color: #53647c; font-size: 12px; line-height: 1.55; }
@media (max-width: 900px) {
    .privacy-banner { grid-template-columns: 1fr; padding: 20px 24px; gap: 16px; }
    .privacy-actions { max-width: none; align-items: stretch; }
    .privacy-customize { width: auto; flex: 1 1 auto; }
    .privacy-options { grid-template-columns: 1fr; gap: 20px; }
}
@media (max-width: 480px) {
    .privacy-banner { padding: 18px; font-size: 13px; }
    .privacy-title { font-size: 18px; }
    .privacy-actions { gap: 8px; }
    .privacy-button { padding: 10px 12px; font-size: 13px; }
    .privacy-customize { width: 100%; }
    .privacy-bottom { flex-wrap: wrap; gap: 12px; }
    .privacy-bottom p { font-size: 11px; }
}
