:root,
html[data-theme="dark"] {
  color-scheme: dark;
  --bg: #060608;
  --bg2: #0c0c10;
  --surface: #111116;
  --surface2: #18181f;
  --border: rgba(255,255,255,.07);
  --border2: rgba(255,255,255,.12);
  --gold: #f0c040;
  --gold2: #ffd966;
  --gold-glow: rgba(240,192,64,.18);
  --accent: #f0c040;
  --text: #f0f0f8;
  --text-dim: #8888aa;
  --muted: #7d7d99;
  --muted2: #8888aa;
  --font-h: 'Syne', sans-serif;
  --font-mono: 'DM Mono', monospace;
}

html, body { background:var(--bg); color:var(--text); }
body { font-family:var(--font-h); }
button, input, select, textarea { font:inherit; }

.legal-page {
  position: relative;
  z-index: 2;
  min-height: 100vh;
  padding: 10rem 1.25rem 6rem;
  background:
    radial-gradient(circle at 15% 10%, rgba(240,192,64,.07), transparent 32rem),
    var(--bg, #060608);
}

.legal-wrap { width: min(1040px, 100%); margin: 0 auto; }
.legal-back { display:inline-flex; margin-bottom:1.4rem; color:var(--muted2); font-size:.75rem; font-weight:750; text-decoration:none; }
.legal-back:hover { color:var(--gold); }
.legal-kicker { color: var(--gold); font-size:.7rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.legal-page h1 { margin:.6rem 0 1rem; color:var(--text); font-size:clamp(2.35rem,7vw,5rem); line-height:1; letter-spacing:-.055em; }
.legal-intro { max-width:720px; color:var(--muted2); font-size:1rem; line-height:1.75; }
.legal-updated { display:inline-flex; margin-top:1.2rem; padding:.45rem .7rem; border:1px solid var(--border); border-radius:999px; color:var(--muted2); font-family:var(--font-mono); font-size:.68rem; }
.legal-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:3rem; }
.legal-card { min-width:0; padding:1.6rem; border:1px solid var(--border); border-radius:18px; background:var(--surface); box-shadow:0 20px 60px rgba(0,0,0,.16); }
.legal-card-wide { grid-column:1 / -1; }
.legal-card h2 { margin:0 0 1rem; color:var(--text); font-size:1rem; letter-spacing:.02em; }
.legal-card p { margin:.6rem 0 0; color:var(--muted2); font-size:.82rem; line-height:1.7; }
.legal-card p:first-of-type { margin-top:0; }
.legal-card strong { color:var(--text); }
.legal-card h3 { margin:0 0 .4rem; color:var(--text); font-size:.82rem; }
.legal-list { display:grid; gap:.75rem; margin:0; }
.legal-row { display:grid; grid-template-columns:minmax(145px,.75fr) minmax(0,1.4fr); gap:1rem; padding-bottom:.75rem; border-bottom:1px solid var(--border); }
.legal-row:last-child { padding-bottom:0; border-bottom:0; }
.legal-row dt { color:var(--muted); font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
.legal-row dd { margin:0; color:var(--text); font-size:.82rem; line-height:1.55; overflow-wrap:anywhere; }
.legal-card a { color:var(--gold); text-decoration:none; }
.legal-card a:hover { text-decoration:underline; }
.legal-missing { border-color:rgba(240,192,64,.32); background:rgba(240,192,64,.045); }
.legal-cookie-button { appearance:none; padding:0; border:0; background:none; color:var(--gold); cursor:pointer; font:inherit; font-weight:700; }

.legal-summary { margin-top:2rem; padding:1.35rem 1.5rem; border:1px solid rgba(240,192,64,.28); border-radius:18px; background:linear-gradient(135deg,rgba(240,192,64,.09),rgba(240,192,64,.025)); }
.legal-summary h2 { margin:0 0 .75rem; color:var(--text); font-size:1rem; }
.legal-summary ul { display:grid; gap:.45rem; margin:0; padding-left:1.15rem; color:var(--muted2); font-size:.8rem; line-height:1.65; }
.legal-alert { margin-top:1rem; padding:1rem 1.15rem; border:1px solid rgba(240,192,64,.38); border-radius:14px; background:rgba(240,192,64,.07); color:var(--muted2); font-size:.8rem; line-height:1.65; }
.legal-alert strong { color:var(--gold2); }
.legal-toc { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1.25rem; }
.legal-toc a { padding:.45rem .7rem; border:1px solid var(--border); border-radius:999px; color:var(--muted2); background:var(--surface); font-size:.68rem; font-weight:750; text-decoration:none; }
.legal-toc a:hover,.legal-toc a:focus-visible { border-color:rgba(240,192,64,.4); color:var(--gold); outline:none; }
.legal-stack { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:2rem; }
.legal-stack .legal-card { scroll-margin-top:7rem; }
.legal-guarantee { border-width:2px; border-color:rgba(240,192,64,.38); background:linear-gradient(145deg,var(--surface),rgba(240,192,64,.045)); }
.legal-guarantee .legal-kicker { margin-bottom:.5rem; }
.legal-reference { font-family:var(--font-mono); font-size:.66rem!important; }
.legal-disclosure { margin-top:1rem; border:1px solid var(--border); border-radius:12px; background:var(--surface2); }
.legal-disclosure summary { padding:.8rem 1rem; color:var(--text); font-size:.76rem; font-weight:750; cursor:pointer; }
.legal-disclosure summary:focus-visible { outline:2px solid var(--gold); outline-offset:2px; }
.legal-form-copy { padding:0 1rem 1rem; border-top:1px solid var(--border); }
.legal-data-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }
.legal-data-grid > div { padding:1rem; border:1px solid var(--border); border-radius:12px; background:var(--surface2); }
.legal-table-wrap { width:100%; overflow-x:auto; margin-top:.8rem; border:1px solid var(--border); border-radius:13px; }
.legal-table { width:100%; min-width:650px; border-collapse:collapse; color:var(--muted2); font-size:.75rem; line-height:1.55; }
.legal-table th,.legal-table td { padding:.8rem .9rem; border-bottom:1px solid var(--border); text-align:left; vertical-align:top; }
.legal-table th { color:var(--text); background:var(--surface2); font-size:.68rem; letter-spacing:.04em; text-transform:uppercase; }
.legal-table tr:last-child td { border-bottom:0; }
.legal-sources { margin-top:1.5rem; padding:1.2rem 1.4rem; border:1px dashed var(--border2); border-radius:16px; }
.legal-sources h2 { margin:0 0 .5rem; color:var(--text); font-size:.82rem; }
.legal-sources p { margin:0; color:var(--muted); font-size:.68rem; line-height:1.8; }
.legal-sources a { color:var(--muted2); text-decoration:underline; text-underline-offset:3px; }
.legal-sources a:hover { color:var(--gold); }
.legal-card a:focus-visible,.legal-cookie-button:focus-visible,.legal-back:focus-visible { outline:2px solid var(--gold); outline-offset:3px; border-radius:3px; }

@media print {
  .public-nav,.public-footer,.cookie-consent,.legal-back,.legal-toc { display:none!important; }
  .legal-page { padding:1cm; background:#fff; color:#111; }
  .legal-wrap { width:100%; }
  .legal-page h1,.legal-card h2,.legal-card h3,.legal-card strong,.legal-summary h2 { color:#111; }
  .legal-intro,.legal-card p,.legal-summary ul,.legal-alert,.legal-table,.legal-sources p { color:#333; }
  .legal-card,.legal-summary,.legal-alert,.legal-data-grid>div,.legal-table-wrap,.legal-sources { break-inside:avoid; background:#fff; border-color:#bbb; box-shadow:none; }
  .legal-stack,.legal-grid { display:block; }
  .legal-card { margin-bottom:.4cm; }
}

@media (max-width: 720px) {
  .legal-page { padding-top:8.5rem; }
  .legal-grid { grid-template-columns:1fr; }
  .legal-card-wide { grid-column:auto; }
  .legal-row { grid-template-columns:1fr; gap:.25rem; }
  .legal-stack,.legal-data-grid { grid-template-columns:1fr; }
  .legal-summary,.legal-card { padding:1.2rem; }
  .legal-table { min-width:580px; }
}
