.cookie-banner, .cookie-panel, .cookie-status {
    box-sizing: border-box;
    color: #212529;
    background: #fff;
    font: 16px/1.5 system-ui, -apple-system, "Segoe UI", sans-serif;
    border: 1px solid #adb5bd;
    border-radius: 12px;
    box-shadow: 0 8px 32px #0003;
    padding: 24px;
}
.cookie-banner { position: fixed; inset: auto 16px 16px; z-index: 2000; max-width: 960px; margin: auto; max-height: calc(100dvh - 32px); overflow-y: auto; }
.cookie-banner[hidden], .cookie-status[hidden] { display: none; }
.cookie-banner h2, .cookie-panel h2 { font-size: 22px; line-height: 1.3; margin: 0 32px 12px 0; }
.cookie-banner p, .cookie-panel p { margin: 0 0 12px; }
.cookie-banner a, .cookie-panel a, .cookie-preferences-link { color: #0959ce; text-decoration: underline; }
.cookie-preferences-link { border: 0; background: transparent; padding: 0; font: inherit; cursor: pointer; }
.cookie-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.cookie-actions button { flex: 1 1 150px; padding: 10px 16px; min-height: 44px; border: 1px solid #0959ce; border-radius: 6px; background: #fff; color: #0959ce; font: inherit; font-weight: 600; cursor: pointer; }
.cookie-actions button:hover { background: #eaf2ff; }
.cookie-close { position: absolute; right: 8px; top: 8px; width: 44px; height: 44px; border: 0; background: transparent; color: #212529; font-size: 26px; cursor: pointer; }
.cookie-panel { width: min(640px, calc(100% - 32px)); max-height: calc(100dvh - 32px); overflow-y: auto; }
.cookie-panel::backdrop { background: #0009; }
.cookie-category { border-top: 1px solid #dee2e6; padding-top: 16px; margin-top: 16px; }
.cookie-category label { font-weight: 600; display: block; margin-bottom: 8px; }
.cookie-category input { width: 20px; height: 20px; vertical-align: middle; margin-right: 8px; accent-color: #0959ce; }
.cookie-banner :focus-visible, .cookie-panel :focus-visible, .cookie-preferences-link:focus-visible { outline: 3px solid #0959ce; outline-offset: 3px; }
.cookie-status { position: fixed; bottom: 80px; left: 16px; right: 16px; z-index: 2100; margin: auto; max-width: 640px; }
@media print { .cookie-banner, .cookie-panel, .cookie-status, .cookie-preferences-link { display: none !important; } }
