.privacy-banner[hidden], [data-gpc-notice][hidden], [data-consent][hidden], [data-open-privacy][hidden] { display: none; }
.privacy-banner, .privacy-dialog { color: #efefef; background: #111; border: 1px solid #666; border-top: 3px solid var(--accent); font-family: 'Jun', Times, serif; font-size: 19px; line-height: 1.4; }
.privacy-banner { position: fixed; inset: auto 24px 24px; z-index: 30; display: grid; grid-template-columns: minmax(0, 1fr) 230px; gap: 32px; max-width: 1040px; margin-inline: auto; padding: 28px 32px; box-shadow: 0 16px 64px #000b; max-height: calc(100dvh - 32px); overflow-y: auto; }
.privacy-eyebrow { margin: 0 0 8px; color: #f17b97; text-transform: uppercase; font-size: 13px; letter-spacing: .15em; }
.privacy-banner h2, .privacy-dialog h2 { font-weight: 400; font-size: 32px; line-height: 1.1; margin: 0 0 12px; }
.privacy-banner-copy > p:not(.privacy-eyebrow) { margin: 0 0 12px; }
.privacy-text-link { text-decoration: underline; text-underline-offset: 4px; }
.privacy-text-link:hover { color: #f17b97; }
.privacy-banner-actions { display: flex; flex-direction: column; justify-content: center; gap: 12px; }
.privacy-button { border: 1px solid var(--accent); color: #fff; background: transparent; border-radius: 4px; padding: 12px 18px; cursor: pointer; font-size: 18px; line-height: 1.25; transition: background .2s; }
.privacy-button:hover { background: var(--accent); }
.privacy-button[data-consent="save"] { background: var(--accent); }
.privacy-settings-link { color: #efefef; background: none; border: 0; padding: 6px; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; font-size: 17px; }
.privacy-dialog { width: min(620px, calc(100% - 32px)); max-height: calc(100dvh - 32px); padding: 32px; overflow-y: auto; box-shadow: 0 20px 100px #0009; }
.privacy-dialog::backdrop { background: #000b; }
.privacy-dialog > p { margin: 0 0 20px; }
.privacy-dialog > .privacy-eyebrow { margin-bottom: 8px; }
.privacy-dialog h2 { padding-right: 24px; }
.privacy-close { position: absolute; right: 12px; top: 10px; width: 40px; height: 40px; background: transparent; border: none; color: #fff; font: 30px/1 Times, serif; cursor: pointer; }
.privacy-category { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 20px; align-items: center; border-top: 1px solid #444; padding: 20px 0; }
.privacy-category h3 { font-size: 21px; font-weight: 400; margin: 0 0 6px; }
.privacy-category p { font-size: 17px; color: #ccc; margin: 0; }
.privacy-always { font-size: 14px; white-space: nowrap; color: #ccc; }
.privacy-switch { appearance: none; position: relative; width: 46px; height: 26px; min-width: 46px; border: 1px solid #aaa; background: #333; border-radius: 20px; padding: 0; margin: 0; cursor: pointer; }
.privacy-switch::after { content: ''; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; transition: transform .2s; }
.privacy-switch:checked { background: var(--accent); border-color: var(--accent); }
.privacy-switch:checked::after { transform: translateX(20px); }
.privacy-switch:disabled { opacity: .5; cursor: not-allowed; }
.privacy-switch:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.privacy-dialog .privacy-gpc, .privacy-gpc { font-size: 16px; color: #f6b0c1; }
.privacy-dialog-policy { font-size: 16px; }
.privacy-dialog-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.privacy-noscript { padding: 16px; text-align: center; font-size: 18px; }
#privacy-status { position: fixed; top: 0; left: 0; margin: 0; }
body .site-footer, body[class] .site-footer { height: auto; min-height: 42px; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px 28px; padding: 12px 20px; font-size: 16px; }
.site-footer a, .site-footer button { text-decoration: underline; text-underline-offset: 4px; }
.site-footer button { border: none; background: none; padding: 0; color: inherit; cursor: pointer; }
.privacy-page { max-width: 1000px; margin: auto; padding: 64px 28px 80px; font-size: 21px; line-height: 1.5; color: #ddd; }
.privacy-page h1 { font-size: clamp(36px, 6vw, 64px); font-weight: 400; text-transform: uppercase; color: #fff; line-height: 1.1; margin: 0 0 12px; }
.privacy-page h2 { font-size: 28px; font-weight: 400; color: #f17b97; margin: 36px 0 12px; }
.privacy-page p { margin: 0 0 16px; }
.privacy-page ul { padding-left: 24px; }
.privacy-page li { margin-bottom: 12px; }
.privacy-page a { text-decoration: underline; text-underline-offset: 4px; overflow-wrap: anywhere; }
.privacy-updated { color: #aaa; font-size: 16px; }
@media (max-width: 640px) {
    .privacy-banner { inset: auto 12px 12px; padding: 20px; grid-template-columns: 1fr; gap: 18px; font-size: 17px; }
    .privacy-banner h2, .privacy-dialog h2 { font-size: 27px; }
    .privacy-banner-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
    .privacy-settings-link { grid-column: 1 / -1; }
    .privacy-button { padding: 11px 10px; font-size: 16px; }
    .privacy-dialog { padding: 24px 20px; font-size: 18px; }
    .privacy-category { gap: 16px; }
    .privacy-page { padding: 40px 20px 56px; font-size: 19px; }
}
@media (prefers-reduced-motion: reduce) {
    .privacy-button, .privacy-switch::after { transition: none; }
}
