.legal-links { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:12px 24px; margin:24px 0; }
.legal-links a, .legal-links button { font:300 11px/1.8 'Montserrat',sans-serif; letter-spacing:.08em; color:var(--argent); }
.legal-links button { padding:0; border:0; background:none; cursor:pointer; }
.legal-links a:hover, .legal-links button:hover, .privacy-notice a { color:var(--champagne); }
.legal-links a:focus-visible, .legal-links button:focus-visible, .cookie-button:focus-visible, .cookie-close:focus-visible { outline:2px solid var(--champagne); outline-offset:4px; }
.privacy-notice { font:300 11px/1.9 'Montserrat',sans-serif; color:#a5abba; }
.privacy-notice a { text-decoration:underline; text-underline-offset:3px; }
.cookie-banner, .cookie-dialog { color:var(--argent); background:rgba(8,19,47,.98); border:1px solid rgba(216,180,122,.6); border-radius:0; font-family:'Montserrat',sans-serif; font-weight:300; box-shadow:0 12px 48px rgba(5,10,28,.35); }
.cookie-banner { position:fixed; z-index:50; inset:auto 16px max(16px,env(safe-area-inset-bottom)); max-width:1100px; margin-inline:auto; padding:12px; display:flex; gap:12px; align-items:center; background:rgba(8,19,47,.92); border:1px solid rgba(216,180,122,.4); transform:translateY(calc(100% + 32px)); opacity:0; transition:transform .35s ease,opacity .35s ease; }
.cookie-banner.is-visible { transform:translateY(0); opacity:1; }
.cookie-banner > div:first-child { flex:1; min-width:0; }
.cookie-banner .cookie-text { font-size:13px; line-height:1.4; }
.cookie-banner .cookie-actions { flex-shrink:0; gap:6px; }
.cookie-banner .cookie-button { height:36px; min-height:36px; padding:0 16px; font-size:12px; white-space:nowrap; }
.cookie-banner:has(.cookie-feedback:not(:empty)) { flex-wrap:wrap; }
.cookie-banner .cookie-feedback { flex-basis:100%; min-width:0; max-width:100%; overflow-x:auto; margin:0; font-size:12px; line-height:1; white-space:nowrap; }
.cookie-banner[hidden] { display:none; }
.cookie-title { font:500 24px/1.3 'Cormorant Garamond',Georgia,serif; letter-spacing:.08em; margin:0 0 12px; text-transform:uppercase; }
.cookie-text { color:#b9bfcd; font:300 12px/1.8 'Montserrat',sans-serif; margin:0; }
.cookie-text a { color:var(--champagne); text-decoration:underline; text-underline-offset:3px; }
.cookie-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.cookie-button { min-height:48px; padding:12px 10px; background:transparent; color:var(--argent); border:1px solid var(--champagne); border-radius:0; cursor:pointer; font:300 11px/1.6 'Montserrat',sans-serif; text-align:center; }
.cookie-button:hover { background:rgba(216,180,122,.1); }
.cookie-feedback { grid-column:1/-1; color:var(--champagne); font:300 12px/1.8 'Montserrat',sans-serif; }
.cookie-feedback:empty { display:none; }
.cookie-dialog { width:min(600px,calc(100% - 32px)); max-height:calc(100dvh - 48px); margin:auto; padding:32px; overflow:auto; }
.cookie-dialog::backdrop { background:rgba(5,10,28,.82); backdrop-filter:blur(6px); }
.cookie-dialog-header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.cookie-close { flex-shrink:0; width:36px; height:36px; border:0; color:var(--argent); background:none; cursor:pointer; font-size:26px; line-height:1; }
.cookie-choice { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px 0; border-bottom:1px solid rgba(216,180,122,.25); cursor:pointer; }
.cookie-choice strong { display:block; font:500 20px/1.5 'Cormorant Garamond',Georgia,serif; letter-spacing:.04em; }
.cookie-choice small { display:block; margin-top:6px; font:300 12px/1.7 'Montserrat',sans-serif; color:#b9bfcd; }
.cookie-switch { position:relative; flex-shrink:0; width:42px; height:24px; }
.cookie-switch input { position:absolute; inset:0; width:100%; height:100%; opacity:0; margin:0; cursor:pointer; z-index:1; }
.cookie-switch span { display:block; width:42px; height:24px; border:1px solid #8b93a6; border-radius:20px; background:#101c3a; }
.cookie-switch span::after { content:""; position:absolute; top:4px; left:4px; width:16px; height:16px; background:var(--argent); border-radius:50%; transition:transform .2s ease; }
.cookie-switch input:checked + span { border-color:var(--champagne); }
.cookie-switch input:checked + span::after { transform:translateX(18px); background:var(--champagne); }
.cookie-switch input:focus-visible + span { outline:2px solid var(--champagne); outline-offset:4px; }
.cookie-switch input:disabled { cursor:default; }
.cookie-dialog .cookie-actions { margin-top:24px; }
.cookie-save { width:100%; margin-top:12px; }
body.menu-closing .cookie-banner, body.menu-open .cookie-banner { visibility:hidden; }
@media (max-width:760px) {
 .cookie-banner { inset:auto 12px max(16px,env(safe-area-inset-bottom)); padding:10px; display:grid; grid-template-columns:minmax(0,1fr); gap:8px; }
 .cookie-banner .cookie-text { font-size:13px; line-height:18px; }
 .cookie-banner .cookie-actions { width:100%; gap:4px; }
 .cookie-banner .cookie-button { padding:0 4px; }
 .cookie-actions { gap:8px; }
 .cookie-dialog { padding:24px 20px; }
 .cookie-title { font-size:22px; }
}
@media (prefers-reduced-motion:reduce) { .cookie-switch span::after { transition:none; } }

@media (prefers-reduced-motion:reduce) { .cookie-banner { transition:none; } }
@media (max-width:360px) {
 .cookie-banner { inset-inline:4px; padding:6px 4px; }
 .cookie-banner .cookie-text { letter-spacing:-.02em; }
}
