/* ===========================================================================
   Konvox legal pages — shared styles. Matches the landing design system
   (Inter, indigo accent, light/dark theme). Used by privacy/terms/gdpr.
   =========================================================================== */
:root {
  --indigo-50:#F5F3FF; --indigo-100:#EDE9FE; --indigo-500:#8B5CF6;
  --indigo-600:#6C3AED; --indigo-700:#5B21B6;
  --gray-50:#FAFAFA; --gray-100:#F4F4F5; --gray-200:#E4E4E7; --gray-300:#D4D4D8;
  --gray-400:#A1A1AA; --gray-500:#71717A; --gray-700:#3F3F46; --gray-900:#18181B;

  --bg-primary:#ffffff; --bg-secondary:var(--gray-50); --bg-tertiary:var(--gray-100);
  --text-primary:#18181B; --text-secondary:#52525B; --text-tertiary:var(--gray-400);
  --border-default:var(--gray-200); --border-strong:var(--gray-300);
  --surface-card:#ffffff;
  --radius-md:8px; --radius-lg:12px; --radius-xl:16px;
  --maxw:1160px; --prose:760px;
  --ease:cubic-bezier(.4,0,.2,1);
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg-primary:#0B1120; --bg-secondary:#111827; --bg-tertiary:#1C2432;
    --text-primary:#F3F4F6; --text-secondary:#9CA3AF; --text-tertiary:#6B7280;
    --border-default:#26303F; --border-strong:#33415A; --surface-card:#131B29;
    --indigo-600:#8B5CF6; --indigo-700:#A78BFA;
  }
}
:root[data-theme="light"] {
  --bg-primary:#ffffff; --bg-secondary:var(--gray-50); --bg-tertiary:var(--gray-100);
  --text-primary:#18181B; --text-secondary:#52525B; --text-tertiary:var(--gray-400);
  --border-default:var(--gray-200); --border-strong:var(--gray-300); --surface-card:#ffffff;
  --indigo-600:#6C3AED; --indigo-700:#5B21B6;
}
:root[data-theme="dark"] {
  --bg-primary:#0B1120; --bg-secondary:#111827; --bg-tertiary:#1C2432;
  --text-primary:#F3F4F6; --text-secondary:#9CA3AF; --text-tertiary:#6B7280;
  --border-default:#26303F; --border-strong:#33415A; --surface-card:#131B29;
  --indigo-600:#8B5CF6; --indigo-700:#A78BFA;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: var(--bg-primary);
  color: var(--text-primary);
  -webkit-font-smoothing: antialiased;
  line-height: 1.6;
}
a { color: var(--indigo-600); text-decoration: none; }
a:hover { text-decoration: underline; }

.wrap { max-width: var(--maxw); margin-inline: auto; padding-inline: 1.5rem; }

/* --- top bar --- */
.lnav {
  position: sticky; top: 0; z-index: 20;
  background: color-mix(in oklab, var(--bg-primary) 88%, transparent);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--border-default);
}
.lnav__row { display: flex; align-items: center; justify-content: space-between; height: 64px; }
.lnav__logo img { height: 30px; display: block; vertical-align: middle; }
.lnav__logo .logo-dark { display: none; }
@media (prefers-color-scheme: dark) { .lnav__logo .logo-light { display:none; } .lnav__logo .logo-dark { display:block; } }
:root[data-theme="dark"] .lnav__logo .logo-light { display:none; }
:root[data-theme="dark"] .lnav__logo .logo-dark { display:block; }
:root[data-theme="light"] .lnav__logo .logo-light { display:block; }
:root[data-theme="light"] .lnav__logo .logo-dark { display:none; }
.lnav__links { display: flex; align-items: center; gap: 1.5rem; font-size: 0.9rem; }
.lnav__links a { color: var(--text-secondary); }
.lnav__links a:hover { color: var(--text-primary); text-decoration: none; }
.lnav__cta {
  background: var(--indigo-600); color: #fff !important; padding: 0.5rem 1rem;
  border-radius: 99px; font-weight: 600; font-size: 0.85rem;
}
.lnav__cta:hover { background: var(--indigo-700); text-decoration: none; }
@media (max-width: 640px){ .lnav__links a:not(.lnav__cta){ display:none; } }

/* --- legal header --- */
.lhead { padding: 3.5rem 0 2rem; border-bottom: 1px solid var(--border-default); }
.lhead__eyebrow {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 0.7rem; letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--indigo-600); font-weight: 600;
}
.lhead h1 {
  font-size: clamp(1.9rem, 4vw, 2.6rem); font-weight: 800; letter-spacing: -0.03em;
  margin: 0.75rem 0 0.5rem; line-height: 1.1;
}
.lhead__meta { color: var(--text-tertiary); font-size: 0.85rem; margin: 0; }
.lhead__intro { color: var(--text-secondary); font-size: 1.05rem; max-width: var(--prose); margin: 1.25rem 0 0; }

/* --- prose --- */
.prose { max-width: var(--prose); padding: 2.5rem 0 3.5rem; }
.prose h2 {
  font-size: 1.3rem; font-weight: 700; letter-spacing: -0.02em;
  margin: 2.75rem 0 0.85rem; padding-top: 0.5rem;
}
.prose h2:first-child { margin-top: 0.5rem; }
.prose h3 { font-size: 1.02rem; font-weight: 600; margin: 1.75rem 0 0.6rem; }
.prose p, .prose li { color: var(--text-secondary); font-size: 0.975rem; }
.prose p { margin: 0 0 1rem; }
.prose ul, .prose ol { margin: 0 0 1.15rem; padding-left: 1.35rem; }
.prose li { margin-bottom: 0.5rem; }
.prose strong { color: var(--text-primary); font-weight: 600; }
.prose a { text-decoration: underline; text-underline-offset: 2px; }
.prose__lead { color: var(--text-secondary); font-size: 1.05rem; }

/* numbered ToS clauses */
.prose--numbered { counter-reset: clause; }
.prose--numbered > h2 { counter-increment: clause; }
.prose--numbered > h2::before {
  content: counter(clause) ". ";
  color: var(--indigo-600); font-variant-numeric: tabular-nums;
}

/* callout / definition box */
.lbox {
  background: var(--bg-tertiary); border: 1px solid var(--border-default);
  border-left: 3px solid var(--indigo-600);
  border-radius: var(--radius-lg); padding: 1.1rem 1.35rem; margin: 1.25rem 0;
}
.lbox p:last-child { margin-bottom: 0; }
.lbox__label {
  font-size: 0.72rem; letter-spacing: 0.06em; text-transform: uppercase;
  font-weight: 600; color: var(--text-tertiary); display: block; margin-bottom: 0.35rem;
}

.entity {
  font-size: 0.9rem; line-height: 1.7; color: var(--text-secondary);
}
.entity strong { color: var(--text-primary); }

.toc {
  background: var(--surface-card); border: 1px solid var(--border-default);
  border-radius: var(--radius-lg); padding: 1.1rem 1.35rem; margin: 1.5rem 0 0;
  font-size: 0.9rem;
}
.toc ol { margin: 0.5rem 0 0; padding-left: 1.25rem; columns: 2; column-gap: 2rem; }
.toc li { margin-bottom: 0.35rem; break-inside: avoid; }
@media (max-width: 560px){ .toc ol { columns: 1; } }

/* --- footer (matches landing) --- */
.lfoot { background: var(--bg-secondary); border-top: 1px solid var(--border-default); padding: 2.5rem 0; }
.lfoot__row { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between; align-items: center;
  color: var(--text-tertiary); font-size: 0.85rem; }
.lfoot__links { display: flex; gap: 1.25rem; flex-wrap: wrap; }
.lfoot__links a { color: var(--text-secondary); }
.lmark { color: var(--indigo-600); font-weight: 700; }
