/* Privacy controls use a readable glass surface in both color schemes. */
:root{--privacy-surface:rgba(11,38,30,.97);--privacy-control:rgba(213,244,216,.07);--privacy-border:rgba(190,232,195,.24)}
[data-theme=light]{--privacy-surface:rgba(247,251,242,.98);--privacy-control:rgba(36,90,46,.045);--privacy-border:rgba(31,78,40,.25)}
.privacy-banner[hidden]{display:none!important}
.privacy-banner{position:fixed;z-index:70;bottom:22px;left:24px;right:24px;max-width:1220px;margin:0 auto;padding:24px 26px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;background:var(--privacy-surface);border:1px solid var(--privacy-border);border-radius:24px;box-shadow:0 16px 55px #00140d38,inset 0 1px 0 #ffffff0b;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);color:var(--ink)}
.privacy-banner h2{font-size:18px;line-height:1.3;letter-spacing:-.025em;font-weight:550;margin-bottom:8px}
.privacy-banner p{max-width:650px;font-size:12px;line-height:1.7;color:var(--muted)}
.privacy-banner a,.privacy-dialog a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.privacy-banner-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:300px}
.privacy-action{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 16px;border:1px solid var(--privacy-border);border-radius:12px;background:var(--privacy-control);color:var(--ink);font-size:12px;font-weight:500;line-height:1.4;cursor:pointer;transition:background .2s,border-color .2s}
.privacy-action:hover{background:rgba(144,198,133,.15);border-color:var(--lime)}
.privacy-personalize{grid-column:1/-1;justify-self:center;padding:3px 8px;min-height:30px;border:0;background:none;font-size:12px;color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.privacy-dialog{width:min(600px,calc(100% - 32px));max-height:calc(100svh - 40px);padding:0;border:1px solid var(--privacy-border);border-radius:24px;background:var(--privacy-surface);color:var(--ink);box-shadow:0 24px 90px #00120c66;overflow:auto;overscroll-behavior:contain}
.privacy-dialog::backdrop{background:rgba(1,17,12,.65);backdrop-filter:blur(6px)}
.privacy-dialog-content{padding:30px}
.privacy-dialog-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px}
.privacy-dialog h2{font-size:27px;font-weight:500;line-height:1.2;letter-spacing:-.04em;margin-top:5px}
.privacy-close{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border:1px solid var(--privacy-border);border-radius:50%;background:var(--privacy-control);color:var(--ink)}
.privacy-close svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.privacy-dialog p{font-size:13px;line-height:1.7;color:var(--muted)}
.privacy-categories{margin:24px 0;border:1px solid var(--privacy-border);border-radius:16px;overflow:hidden}
.privacy-category{padding:20px;background:var(--privacy-control)}
.privacy-category+.privacy-category{border-top:1px solid var(--privacy-border)}
.privacy-category-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:9px;min-height:24px}
.privacy-category h3,.privacy-category label{font-size:14px;font-weight:550;letter-spacing:-.02em;line-height:1.4;color:var(--ink)}
.privacy-category p{font-size:12px}
.privacy-required{font-size:10px;white-space:nowrap;color:var(--lime)}
.privacy-switch{appearance:none;-webkit-appearance:none;position:relative;width:44px;height:26px;flex-shrink:0;margin:0;border:1px solid var(--privacy-border);border-radius:999px;background:var(--privacy-control);cursor:pointer}
.privacy-switch:after{content:'';position:absolute;top:4px;left:4px;width:16px;height:16px;border-radius:50%;background:var(--muted);transition:transform .2s,background .2s}
.privacy-switch:checked{background:var(--lime);border-color:var(--lime)}
.privacy-switch:checked:after{background:var(--bg);transform:translateX(18px)}
.privacy-switch:focus-visible{outline:2px solid var(--lime);outline-offset:4px}
.privacy-dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}
.privacy-dialog .privacy-note{font-size:11px;margin-top:16px}
.footer-legal .cookie-settings-open{padding:0;border:0;background:none;font-size:12px;line-height:1.6;color:var(--ink);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px}
.footer-legal .cookie-settings-open:hover{color:var(--lime);text-decoration-color:currentColor}
.privacy-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.privacy-status.is-visible{position:fixed;z-index:80;bottom:20px;left:20px;right:20px;width:auto;height:auto;max-width:580px;margin:auto;padding:14px 18px;border:1px solid var(--privacy-border);border-radius:12px;background:var(--privacy-surface);color:var(--ink);font-size:12px;clip-path:none;white-space:normal}
@media(max-width:1000px){.privacy-banner{grid-template-columns:1fr;gap:18px}.privacy-banner-actions{display:flex;flex-wrap:wrap;min-width:0;gap:10px}.privacy-banner-actions>.privacy-action{flex:1}.privacy-personalize{padding:8px 12px;min-height:44px}}
@media(max-width:760px){.privacy-banner{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));padding:20px;border-radius:20px;max-height:calc(100svh - 24px);overflow:auto}.privacy-banner p{font-size:12px}.privacy-banner-actions{display:grid;grid-template-columns:1fr 1fr}.privacy-personalize{min-height:36px;padding:6px 10px}.privacy-action{padding:11px 10px;font-size:11px}.privacy-dialog-content{padding:23px}.privacy-dialog h2{font-size:23px}.privacy-category{padding:17px}.privacy-category-head{gap:12px}.privacy-dialog-actions{gap:9px}.privacy-dialog{max-height:calc(100svh - 24px)}}
@media(prefers-reduced-motion:reduce){.privacy-action,.privacy-switch:after{transition:none}}
