#cookie-consent, .consent-settings-link { font: 400 15px/1.55 system-ui, sans-serif; }
#cookie-consent { --cc-bg: #fff; --cc-text: #152a32; --cc-border: #52707a; --cc-action: #163f4d; }
@media (prefers-color-scheme: dark) {
    #cookie-consent { --cc-bg: #17242a; --cc-text: #f0f5f6; --cc-border: #92b1ba; --cc-action: #c2e3ed; }
}
body[data-theme="light"] #cookie-consent { --cc-bg: #fff; --cc-text: #152a32; --cc-border: #52707a; --cc-action: #163f4d; }
body[data-theme="dark"] #cookie-consent { --cc-bg: #17242a; --cc-text: #f0f5f6; --cc-border: #92b1ba; --cc-action: #c2e3ed; }
#cookie-consent [hidden] { display: none !important; }
#cookie-consent .consent-banner {
    position: fixed; inset: auto 16px 16px; z-index: 10000;
    width: min(760px, calc(100% - 32px)); box-sizing: border-box; margin: 0 auto;
    max-height: 70dvh; overflow: auto; padding: 22px; border: 1px solid var(--cc-border);
    border-radius: 16px; background: var(--cc-bg); color: var(--cc-text);
    box-shadow: 0 8px 36px #0003; text-align: left;
}
#cookie-consent h2 { font-size: 20px; line-height: 1.3; margin: 0 0 10px; color: inherit; }
#cookie-consent h3 { font-size: 16px; margin: 22px 0 6px; color: inherit; }
#cookie-consent p { font: inherit; color: inherit; margin: 8px 0 16px; }
#cookie-consent a { color: var(--cc-action); text-decoration: underline; }
#cookie-consent .consent-actions { display: flex; gap: 10px; flex-wrap: wrap; margin: 16px 0; }
#cookie-consent button {
    flex: 1 1 140px; min-height: 44px; padding: 10px 14px; border-radius: 8px;
    border: 1px solid var(--cc-action); background: var(--cc-bg);
    color: var(--cc-action); font: 600 15px/1.4 system-ui, sans-serif; cursor: pointer;
}
#cookie-consent button:hover { text-decoration: underline; }
#cookie-consent :focus-visible, .consent-settings-link:focus-visible { outline: 3px solid #2a8ba7; outline-offset: 3px; }
#cookie-consent .consent-dialog {
    background: var(--cc-bg); color: var(--cc-text); border: 1px solid var(--cc-border);
    border-radius: 16px; padding: 26px; width: min(580px, calc(100% - 32px));
    box-sizing: border-box; max-height: 85dvh; overflow: auto; margin: auto;
}
#cookie-consent .consent-dialog::backdrop { background: #07151db3; }
#cookie-consent .consent-option { display: flex; align-items: center; gap: 12px; min-height: 44px; cursor: pointer; }
#cookie-consent input { width: 20px; height: 20px; flex-shrink: 0; accent-color: #216279; }
#cookie-consent .consent-error { border-left: 3px solid currentColor; padding-left: 12px; }
.consent-settings-link { border: 0; background: none; color: inherit; padding: 10px 0; text-decoration: underline; cursor: pointer; min-height: 44px; }
@media (max-width: 480px) {
    #cookie-consent .consent-banner { padding: 16px; }
    #cookie-consent .consent-actions { gap: 8px; }
    #cookie-consent button { flex-basis: 100%; }
}
