.site-footer { padding-block:28px 36px; border-top:1px solid #313131; color:#aaa5a0; font-family:system-ui,sans-serif; }
.site-footer nav { display:flex; flex-wrap:wrap; gap:18px 26px; align-items:center; }
.site-footer a,.site-footer button { color:#f4f1ee; font-size:14px; text-decoration:none; line-height:1.5; }
.site-footer button { border:0; background:transparent; padding:0; cursor:pointer; }
.site-footer p { font-size:13px; margin-top:22px; }
.site-footer a:hover,.site-footer button:hover { color:#ef7f8c; text-decoration:underline; }
.legal-document { max-width:960px; padding-block:54px 90px; }
.legal-document h1 { font-size:clamp(40px,6vw,68px); line-height:1.1; margin-bottom:24px; }
.legal-document p { font:16px/1.8 system-ui,sans-serif; overflow-wrap:anywhere; }
.legal-date { color:#aaa5a0; }
.legal-document section { margin-top:40px; scroll-margin-top:24px; }
.legal-document h2 { font-size:26px; line-height:1.3; }
.legal-document h3 { font-size:21px; line-height:1.4; margin-top:24px; }
.legal-toc { display:grid; gap:12px; padding:24px; margin-block:32px; border:1px solid #313131; font:14px/1.5 system-ui,sans-serif; }
.legal-toc a { text-decoration:none; }
.legal-toc a:hover { color:#ef7f8c; }
.cookie-banner,.cookie-dialog,.cookie-storage-warning { font-family:system-ui,-apple-system,"Segoe UI",sans-serif; color:#f4f1ee; background:#0a0a0a; box-sizing:border-box; }
.cookie-banner { position:fixed; bottom:0; left:0; right:0; z-index:1000; padding:24px max(20px,calc((100vw - 1400px)/2)); border-top:1px solid #ef7f8c; display:flex; align-items:center; gap:32px; box-shadow:0 -12px 40px #0008; max-height:80svh; overflow:auto; }
.cookie-banner[hidden] { display:none!important; }
.cookie-banner>div:first-child { flex:1; }
.cookie-banner h2,.cookie-dialog h2 { font:700 22px/1.3 system-ui,sans-serif; text-transform:none; margin:0; }
.cookie-banner p,.cookie-dialog p { font-size:16px; line-height:1.6; margin:12px 0; }
.cookie-banner a,.cookie-dialog a { font-size:14px; color:#ef7f8c; text-decoration:underline; }
.cookie-actions { display:flex; gap:12px; flex-wrap:wrap; }
.cookie-actions button,.cookie-dialog-head button { font:600 14px/1.4 system-ui,sans-serif; min-height:44px; padding:12px 18px; background:#0a0a0a; border:1px solid #ef7f8c; border-radius:0; color:#f4f1ee; cursor:pointer; }
.cookie-actions button:hover,.cookie-dialog-head button:hover { background:#252025; }
.cookie-dialog { width:min(660px,calc(100% - 32px)); padding:28px; border:1px solid #ef7f8c; max-height:calc(100svh - 40px); overflow:auto; }
.cookie-dialog::backdrop { background:#000b; }
.cookie-dialog-head { display:flex; gap:20px; justify-content:space-between; align-items:center; }
.cookie-dialog section { border-top:1px solid #313131; margin-top:22px; padding-top:22px; }
.cookie-dialog h3 { font:700 18px/1.4 system-ui,sans-serif; text-transform:none; margin:0; }
.cookie-option { display:flex; gap:12px; align-items:center; font-size:16px; font-weight:700; }
.cookie-option input { width:20px; height:20px; accent-color:#ef7f8c; flex:none; }
.cookie-dialog .cookie-actions { margin-top:24px; }
.cookie-storage-warning { position:fixed; bottom:0; z-index:1001; padding:16px; width:100%; margin:0; font-size:14px; }
.player-legal { position:fixed; top:12px; right:12px; z-index:20; max-width:min(400px,calc(100% - 24px)); font:14px/1.5 system-ui,sans-serif; color:#f4f1ee; background:#0a0a0ae8; border:1px solid #313131; }
.player-legal summary { padding:10px 14px; cursor:pointer; }
.player-legal nav { display:flex; flex-direction:column; gap:12px; padding:14px; }
.player-legal a,.player-legal button { color:inherit; font:inherit; text-align:left; background:transparent; border:0; padding:0; cursor:pointer; }
@media(max-width:900px){.cookie-banner{flex-direction:column;align-items:stretch;gap:20px}.cookie-actions button{flex:1}.legal-document{padding-top:40px}}
@media(max-width:420px){.cookie-dialog{padding:20px}.cookie-dialog-head{align-items:flex-start}.cookie-actions{flex-direction:column}.cookie-actions button{width:100%}}
