:root { --legal-surface:#111318; --legal-line:rgba(255,255,255,.1); --legal-text:#eef2f7; --legal-muted:#9ca6b5; }
.agent-consent label,.kes-ai-consent { display:flex; align-items:flex-start; gap:9px; cursor:pointer; }
.agent-consent input,.kes-ai-consent input { width:17px; height:17px; margin:1px 0 0; flex:0 0 auto; accent-color:#36a9ff; }
.agent-consent.has-error,.kes-ai-consent-wrap.has-error { border-radius:12px; background:rgba(255,82,82,.08); box-shadow:0 0 0 1px rgba(255,82,82,.32); }
.agent-consent.has-error { margin:0 10px 12px; padding:10px; }
.consent-error,.kes-ai-consent-error { margin:7px 0 0 26px; color:#ffaaa5; font-size:12px; font-weight:650; }
.kes-ai-consent-wrap { padding:9px 12px 12px; }
.kes-ai-consent-wrap .kes-ai-consent { padding:0; }
.footer-legal-links { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px 16px; }
.footer-legal-links a { color:inherit; text-decoration:none; }
.footer-legal-links a:hover { color:#fff; }
.cookie-banner { position:fixed; z-index:10020; left:max(16px,env(safe-area-inset-left)); right:max(16px,env(safe-area-inset-right)); bottom:max(16px,env(safe-area-inset-bottom)); max-width:720px; margin:auto; padding:18px 20px; display:flex; align-items:center; justify-content:space-between; gap:20px; border:1px solid rgba(255,255,255,.14); border-radius:18px; color:#fff; background:rgba(15,17,22,.94); box-shadow:0 18px 60px rgba(0,0,0,.42); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); }
.cookie-banner[hidden] { display:none; }
.cookie-banner strong { display:block; font-size:15px; letter-spacing:-.01em; }
.cookie-banner p { margin:4px 0 0; color:#aeb6c2; font-size:13px; }
.cookie-actions { display:flex; align-items:center; gap:14px; flex:0 0 auto; }
.cookie-actions a { color:#d9e1eb; font-size:13px; text-decoration:none; }
.cookie-accept { border:0; border-radius:10px; padding:10px 18px; color:#06080b; background:#fff; font:700 13px/1 inherit; cursor:pointer; }
.legal-dialog { width:min(1080px,calc(100% - 32px)); height:min(92vh,980px); max-width:none; max-height:none; padding:0; border:1px solid rgba(255,255,255,.13); border-radius:22px; color:var(--legal-text); background:var(--legal-surface); box-shadow:0 28px 90px rgba(0,0,0,.62); overflow:hidden; }
.legal-dialog::backdrop { background:rgba(0,0,0,.7); backdrop-filter:blur(6px); }
.legal-dialog-shell { height:100%; display:flex; flex-direction:column; }
.legal-dialog-header { min-height:58px; padding:0 14px 0 22px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--legal-line); color:var(--legal-muted); font-size:12px; letter-spacing:.08em; text-transform:uppercase; }
.legal-dialog-header button { width:38px; height:38px; border:0; border-radius:50%; color:#fff; background:rgba(255,255,255,.08); font:300 26px/1 inherit; cursor:pointer; }
.legal-dialog-body { flex:1; overflow:auto; overscroll-behavior:contain; }
.legal-loading { padding:44px; color:var(--legal-muted); }
.legal-dialog-body .legal-page-header,.legal-dialog-body .legal-site-header { display:none; }
.legal-dialog-body .legal-layout { width:min(940px,100%); min-height:auto; margin:auto; padding:clamp(34px,5vw,58px) clamp(24px,4vw,42px) 88px; display:grid; grid-template-columns:200px minmax(0,1fr); gap:clamp(34px,5vw,58px); }
.legal-dialog-body .legal-sidebar { position:sticky; top:22px; align-self:start; }
.legal-dialog-body .legal-sidebar strong { display:block; margin-bottom:12px; color:#fff; font-size:11px; letter-spacing:.1em; text-transform:uppercase; }
.legal-dialog-body .legal-sidebar a { display:block; padding:5px 0; color:var(--legal-muted); font-size:13px; line-height:1.35; text-decoration:none; }
.legal-dialog-body .legal-content { min-width:0; }
.legal-dialog-body .legal-kicker { margin:0 0 10px; color:#5bbcff; font-size:12px; font-weight:750; letter-spacing:.12em; text-transform:uppercase; }
.legal-dialog-body h1 { max-width:720px; margin:0 0 16px; color:#fff; font-size:clamp(34px,5vw,56px); line-height:1.04; letter-spacing:-.045em; overflow-wrap:anywhere; }
.legal-dialog-body h2 { margin:42px 0 12px; padding-top:4px; color:#fff; font-size:clamp(22px,3vw,28px); line-height:1.2; letter-spacing:-.025em; }
.legal-dialog-body p,.legal-dialog-body li { color:#c4ccd7; line-height:1.72; }
.legal-dialog-body .legal-lead { margin:0 0 26px; color:#aeb7c4; font-size:18px; line-height:1.6; }
.legal-dialog-body .legal-meta { display:flex; flex-wrap:wrap; gap:8px 18px; margin-bottom:26px; color:var(--legal-muted); font-size:13px; }
.legal-dialog-body .legal-note { margin:22px 0; padding:18px 20px; border:1px solid rgba(91,188,255,.28); border-radius:16px; background:rgba(91,188,255,.07); }
.legal-dialog-body .legal-warning { border-color:rgba(255,184,77,.34); background:rgba(255,184,77,.08); }
.legal-dialog-body .legal-card { margin:18px 0; padding:20px; border:1px solid var(--legal-line); border-radius:18px; background:rgba(255,255,255,.025); }
.legal-dialog-body .legal-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.legal-dialog-body .legal-fact { padding:16px; border:1px solid var(--legal-line); border-radius:14px; background:rgba(255,255,255,.025); }
.legal-dialog-body .legal-fact small { display:block; margin-bottom:5px; color:var(--legal-muted); }
.legal-dialog-body a { color:#7bc9ff; text-underline-offset:3px; }
.legal-dialog-body .legal-links { display:flex; flex-wrap:wrap; gap:10px; margin-top:40px; }
.legal-dialog-body .legal-links a { padding:9px 13px; border:1px solid var(--legal-line); border-radius:10px; color:#dbe4ee; text-decoration:none; }
.legal-dialog-body .back-top { display:none; }
body.has-legal-dialog { overflow:hidden; }
@media (max-width:920px) {
  .legal-dialog-body .legal-layout { display:block; }
  .legal-dialog-body .legal-sidebar { position:static; display:flex; align-items:center; gap:8px; overflow-x:auto; margin:0 calc(clamp(24px,4vw,42px) * -1) 34px; padding:0 clamp(24px,4vw,42px) 12px; scrollbar-width:none; }
  .legal-dialog-body .legal-sidebar::-webkit-scrollbar { display:none; }
  .legal-dialog-body .legal-sidebar strong { flex:0 0 auto; margin:0 5px 0 0; }
  .legal-dialog-body .legal-sidebar a { flex:0 0 auto; padding:8px 12px; border:1px solid var(--legal-line); border-radius:999px; background:rgba(255,255,255,.025); }
}
@media (max-width:700px) {
  .footer-legal-links { justify-content:flex-start; }
  .cookie-banner { align-items:flex-start; flex-direction:column; gap:14px; }
  .cookie-actions { width:100%; justify-content:space-between; }
  .cookie-accept { min-width:120px; }
  .legal-dialog { width:100%; height:100%; border:0; border-radius:0; }
  .legal-dialog-body .legal-layout { padding:28px 20px 70px; }
  .legal-dialog-body .legal-sidebar { margin:0 -20px 28px; padding:0 20px 10px; }
  .legal-dialog-body .legal-sidebar strong { display:none; }
  .legal-dialog-body .legal-sidebar a { padding:7px 11px; }
  .legal-dialog-body .legal-grid { grid-template-columns:1fr; }
  .legal-dialog-body h1 { font-size:clamp(32px,11vw,45px); }
}
@media (prefers-reduced-motion:no-preference) { .cookie-banner { animation:legal-rise .38s ease-out; } @keyframes legal-rise { from { opacity:0; transform:translateY(18px); } } }
