/* Shared styling for the legal pages (privacy, terms). Self-contained on purpose:
   a policy page should not break because a marketing stylesheet changed.

   The tokens mirror site.css so the whole site reads as one product; the values
   come from the app itself (../RNconverter/app/constants/Colors.js). */
:root {
  --brand: #6b4a80;
  --brand-dark: #462759;
  --ink: #2c2136;
  --muted: #5c5168;
  --rule: rgba(70, 39, 89, 0.12);
  --bg: #ffffff;
  --bg-soft: #f7f3fa;
}

@media (prefers-color-scheme: dark) {
  :root {
    --brand: #cdb6dd;
    --brand-dark: #e6dcee;
    --ink: #ece7f1;
    --muted: #b6acc0;
    --rule: rgba(230, 220, 238, 0.14);
    --bg: #17121c;
    --bg-soft: #211a28;
  }
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font: 16px/1.7 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
/* Fixed colours, not tokens: the header keeps its purple gradient in both themes,
   so the white text on it stays readable when the tokens flip for dark mode. */
.legal-header {
  background: linear-gradient(135deg, #462759, #6b4a80);
  padding: 28px 20px;
}
.legal-header .inner {
  max-width: 820px; margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
}
.legal-header img { height: 38px; width: auto; }
.legal-header a { color: #fff; text-decoration: none; font-weight: 600; }
.legal-header nav a { margin-left: 18px; opacity: .9; font-weight: 500; }
.legal-header nav a:hover { opacity: 1; text-decoration: underline; }
main { max-width: 820px; margin: 0 auto; padding: 40px 20px 64px; }
h1 { font-size: 30px; line-height: 1.25; margin: 0 0 6px; color: var(--brand-dark); }
h2 {
  font-size: 19px; margin: 38px 0 12px; color: var(--brand-dark);
  padding-bottom: 8px; border-bottom: 1px solid var(--rule);
}
p { margin: 0 0 14px; }
ul { margin: 0 0 16px; padding-left: 22px; }
li { margin-bottom: 6px; }
a { color: var(--brand); }
.updated { color: var(--muted); font-size: 14px; margin-bottom: 28px; }
.note {
  background: var(--bg-soft); border: 1px solid var(--rule); border-left: 4px solid var(--brand);
  padding: 14px 18px; border-radius: 6px; margin: 0 0 30px; font-size: 15px;
}
.toc { background: var(--bg-soft); border: 1px solid var(--rule); border-radius: 6px; padding: 18px 22px; margin-bottom: 34px; }
.toc h2 { margin-top: 0; border: 0; font-size: 16px; padding-bottom: 4px; }
/* The section titles already start with their own number ("1. OUR SERVICES"),
   so the list must not add a second one. */
.toc ol { margin: 0; padding-left: 0; list-style: none; columns: 2; column-gap: 28px; font-size: 14px; }
.toc li { break-inside: avoid; }
.toc a { text-decoration: none; }
.toc a:hover { text-decoration: underline; }
footer {
  border-top: 1px solid var(--rule); padding: 26px 20px; color: var(--muted); font-size: 14px;
}
footer .inner { max-width: 820px; margin: 0 auto; }
footer a { color: var(--muted); }
@media (max-width: 600px) {
  h1 { font-size: 25px; }
  .toc ol { columns: 1; }
  main { padding: 28px 18px 48px; }
}
