.cookie-consent[hidden], .cookie-consent [hidden] { display: none !important; }
.cookie-consent {
    position: fixed;
    inset: auto 0 0;
    z-index: 10000;
    max-height: 85vh;
    max-height: 85dvh;
    overflow-y: auto;
    padding: 24px 24px max(24px, env(safe-area-inset-bottom));
    background: #0d2142;
    color: #f4f7ff;
    border-top: 3px solid #ffd54f;
    box-shadow: 0 -8px 32px rgba(0, 0, 0, .24);
}
.cookie-consent-inner { max-width: 1140px; margin: auto; display: flex; flex-wrap: wrap; align-items: center; gap: 24px; }
.cookie-consent-copy { flex: 1 1 520px; }
.cookie-consent-label { color: #ffd54f; font-size: .72rem; font-weight: 700; letter-spacing: .12em; }
.cookie-consent h2 { margin: 6px 0 10px; font-size: 1.4rem; font-weight: 700; color: #fff; }
.cookie-consent p { margin: 0 0 10px; font-size: .95rem; line-height: 1.6; }
.cookie-consent a { color: #ffd54f; text-decoration: underline; font-size: .9rem; }
.cookie-consent-actions { display: flex; flex: 0 1 360px; flex-wrap: wrap; gap: 10px; }
.cookie-button { flex: 1 1 160px; min-height: 44px; padding: 10px 16px; border: 1px solid #ffd54f; border-radius: 8px; color: #0d2142; background: #ffd54f; font: inherit; font-weight: 600; cursor: pointer; }
.cookie-button:hover { background: #ffe185; border-color: #ffe185; }
.cookie-button-secondary { background: transparent; border-color: #8997af; color: #fff; }
.cookie-button-secondary:hover { background: #243b5b; border-color: #fff; }
.cookie-consent :focus-visible, .footer-cookie-settings:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.cookie-preferences { flex: 1 1 100%; border-top: 1px solid #425371; padding-top: 16px; }
.cookie-preference { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 12px 0; }
.cookie-preference p, .cookie-preference label span { display: block; margin: 4px 0 0; color: #d2dbea; font-size: .9rem; line-height: 1.6; }
.cookie-required { white-space: nowrap; color: #ffd54f; font-size: .85rem; }
.cookie-preference input { flex-shrink: 0; width: 22px; height: 22px; accent-color: #ffd54f; cursor: pointer; }
.cookie-status { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.cookie-consent-open #pwa-install-banner, .cookie-consent-open #pwa-ios-banner { display: none !important; }
@media (max-width: 575px) {
    .cookie-consent { padding: 18px 16px max(18px, env(safe-area-inset-bottom)); }
    .cookie-consent-inner { gap: 16px; }
    .cookie-consent-actions { flex-basis: 100%; }
    .cookie-button { flex-basis: 100%; }
    .cookie-consent h2 { font-size: 1.2rem; }
}
