.cookie-banner[hidden], .cookie-preferences:not([open]) { display:none; }
.cookie-banner { position:fixed; z-index:10000; right:20px; bottom:20px; left:20px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:24px; align-items:center; max-width:1180px; margin:0 auto; padding:24px; border:1px solid rgba(255,255,255,.18); border-radius:20px; color:#fff; background:#07182b; box-shadow:0 24px 80px rgba(0,0,0,.34); }
.cookie-banner-copy strong { display:block; margin-bottom:6px; font-size:1.08rem; }
.cookie-banner-copy p { max-width:720px; margin:0 0 7px; color:rgba(255,255,255,.76); font-size:.86rem; line-height:1.55; }
.cookie-banner-copy a { color:var(--cyan); font-size:.8rem; font-weight:800; }
.cookie-banner-actions, .cookie-preferences-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:9px; }
.cookie-button { min-height:42px; padding:10px 15px; border:1px solid transparent; border-radius:999px; font:inherit; font-size:.78rem; font-weight:850; cursor:pointer; }
.cookie-button-primary { color:#04111f; background:var(--lime); }
.cookie-button-secondary { color:#fff; border-color:rgba(255,255,255,.34); background:transparent; }
.cookie-button:focus-visible, .footer-cookie-settings:focus-visible, .cookie-preferences-close:focus-visible { outline:3px solid var(--cyan); outline-offset:3px; }
.cookie-preferences { width:min(620px,calc(100% - 28px)); padding:0; border:1px solid var(--line); border-radius:22px; color:var(--ink); background:#fff; box-shadow:0 30px 100px rgba(0,0,0,.4); }
.cookie-preferences::backdrop { background:rgba(3,12,22,.72); backdrop-filter:blur(4px); }
.cookie-preferences form { padding:28px; }
.cookie-preferences-head { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; }
.cookie-preferences-head span { color:var(--blue); font-size:.7rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.cookie-preferences h2 { margin:4px 0 12px; font-size:clamp(1.7rem,4vw,2.4rem); }
.cookie-preferences > form > p { color:var(--muted); font-size:.9rem; }
.cookie-preferences-close { width:40px; height:40px; border:1px solid var(--line); border-radius:50%; color:var(--ink); background:#fff; font-size:1.5rem; cursor:pointer; }
.cookie-category { display:flex; justify-content:space-between; gap:20px; align-items:center; margin-top:12px; padding:17px; border:1px solid var(--line); border-radius:14px; background:var(--paper); }
.cookie-category strong, .cookie-category small { display:block; }
.cookie-category small { margin-top:4px; color:var(--muted); font-size:.76rem; line-height:1.45; }
.cookie-category input { flex:0 0 auto; width:21px; height:21px; accent-color:var(--blue); }
.cookie-preferences-actions { margin-top:22px; }
.cookie-preferences .cookie-button-secondary { color:var(--ink); border-color:var(--line); }
.cookie-preferences .cookie-button-primary { background:var(--blue); color:#fff; }
.footer-cookie-settings { padding:0; border:0; color:inherit; background:transparent; font:inherit; cursor:pointer; }
@media (max-width:800px) { .cookie-banner { grid-template-columns:1fr; gap:17px; padding:20px; }.cookie-banner-actions { justify-content:flex-start; }.cookie-banner-actions .cookie-button { flex:1 1 145px; }.cookie-preferences form { padding:22px; } }
@media (max-width:480px) { .cookie-banner { right:12px; bottom:12px; left:12px; }.cookie-banner-actions { display:grid; grid-template-columns:1fr; }.cookie-button { width:100%; }.cookie-preferences-actions { display:grid; grid-template-columns:1fr; } }
