/* CALIXO — Legal pages shared stylesheet */
:root {
  --cx-navy:#0F1E3C;
  --cx-deep:#0B1224;
  --cx-gold:#B8860B;
  --cx-gold-2:#D4A017;
  --cx-gold-3:#F5D77A;
  --cx-ink:#0F1E3C;
  --cx-ink-2:#2D3748;
  --cx-ink-3:#4B5668;
  --cx-border:#E2E8F0;
  --cx-soft:#F8FAFC;
  --cx-bg:#FFFFFF;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-force-light]) {
    --cx-ink:#F8FAFC;
    --cx-ink-2:#E2E8F0;
    --cx-ink-3:#CBD5E1;
    --cx-border:rgba(245,215,122,.18);
    --cx-soft:#0B1224;
    --cx-bg:#0F1E3C;
  }
  body { background:#060B18 !important; }
}
* { box-sizing:border-box; margin:0; padding:0; }
body {
  font-family:-apple-system, 'Inter', 'Segoe UI', Roboto, sans-serif;
  color:var(--cx-ink);
  line-height:1.7;
  background:var(--cx-soft);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.cx-legal-header {
  background:var(--cx-navy);
  color:#F8FAFC;
  padding:20px 0;
  border-bottom:3px solid var(--cx-gold);
}
.cx-legal-header .cx-inner {
  max-width:860px; margin:0 auto; padding:0 24px;
  display:flex; align-items:center; justify-content:space-between;
}
.cx-legal-logo {
  font-size:22px; font-weight:900; letter-spacing:.5px; color:#F8FAFC;
  text-decoration:none;
}
.cx-legal-logo::after {
  content:"●"; color:var(--cx-gold-2);
  margin-left:6px; font-size:12px; vertical-align:middle;
}
.cx-legal-back {
  color:var(--cx-gold-3); text-decoration:none; font-size:14px; font-weight:600;
}
.cx-legal-back:hover { color:#FFFFFF; }
.cx-legal-wrap {
  max-width:860px; margin:0 auto; padding:48px 24px 80px;
  background:var(--cx-bg);
}
.cx-legal-wrap h1 {
  font-size:34px; font-weight:800; letter-spacing:-.5px;
  color:var(--cx-ink); margin-bottom:8px;
  border-bottom:2px solid var(--cx-gold-2); padding-bottom:16px;
}
.cx-legal-wrap h2 {
  font-size:20px; font-weight:700; color:var(--cx-ink);
  margin:36px 0 12px; letter-spacing:-.2px;
}
.cx-legal-wrap h3 {
  font-size:16px; font-weight:700; color:var(--cx-ink-2);
  margin:24px 0 8px;
}
.cx-legal-wrap p, .cx-legal-wrap li {
  color:var(--cx-ink-2);
  margin-bottom:10px;
}
.cx-legal-wrap ul, .cx-legal-wrap ol {
  padding-left:24px; margin:8px 0 16px;
}
.cx-legal-wrap strong { color:var(--cx-ink); font-weight:700; }
.cx-legal-wrap a { color:var(--cx-gold); font-weight:600; }
.cx-legal-wrap a:hover { color:var(--cx-gold-2); }
.cx-legal-meta {
  color:var(--cx-ink-3); font-size:13px; margin-bottom:32px;
  display:inline-block;
  padding:6px 12px; border-radius:6px;
  background:rgba(184,134,11,.08);
  border:1px solid rgba(184,134,11,.20);
}
.cx-legal-wrap table {
  width:100%; border-collapse:collapse; margin:16px 0;
  font-size:14px; background:var(--cx-bg);
}
.cx-legal-wrap th {
  background:var(--cx-soft); color:var(--cx-ink);
  border:1px solid var(--cx-border); padding:10px 12px;
  text-align:left; font-weight:700; text-transform:uppercase;
  font-size:12px; letter-spacing:.5px;
}
.cx-legal-wrap td {
  border:1px solid var(--cx-border); padding:10px 12px;
  color:var(--cx-ink-2);
}
.cx-legal-ok { color:#047857; font-weight:700; }
.cx-legal-footer {
  max-width:860px; margin:0 auto; padding:24px;
  border-top:1px solid var(--cx-border);
  color:var(--cx-ink-3); font-size:13px;
  text-align:center;
}
.cx-legal-footer a { color:var(--cx-gold); margin:0 8px; text-decoration:none; }
.cx-legal-footer a:hover { color:var(--cx-gold-2); }

/* Table of contents */
.cx-toc {
  background:var(--cx-soft); border:1px solid var(--cx-border);
  border-radius:10px; padding:20px 24px; margin:24px 0 36px;
}
.cx-toc h4 {
  font-size:12px; text-transform:uppercase; letter-spacing:1px;
  color:var(--cx-gold); margin-bottom:10px; font-weight:700;
}
.cx-toc ul { list-style:none; padding:0; margin:0; columns:2; column-gap:24px; }
.cx-toc li { margin:4px 0; }
.cx-toc a { color:var(--cx-ink-2); font-weight:500; font-size:14px; }
.cx-toc a:hover { color:var(--cx-gold); }

/* Dark mode refinements */
@media (prefers-color-scheme: dark) {
  .cx-legal-wrap a { color:var(--cx-gold-3); }
  .cx-legal-wrap a:hover { color:#fff; }
  .cx-legal-meta { background:rgba(245,215,122,.08); border-color:rgba(245,215,122,.25); color:var(--cx-ink-3); }
  .cx-toc { background:rgba(255,255,255,.03); }
  .cx-toc a { color:var(--cx-ink-3); }
  .cx-toc a:hover { color:var(--cx-gold-3); }
  .cx-legal-ok { color:#34D399; }
}

@media (max-width: 720px) {
  .cx-toc ul { columns:1; }
  .cx-legal-wrap h1 { font-size:26px; }
  .cx-legal-wrap h2 { font-size:18px; }
}
