/* Shared styling for the legal pages (privacy, terms, legal notice).
   Tokens mirror web/home/index.html so the three pages read as the same site;
   kept in one file because three copies of a colour scheme drift. */
:root {
  --primary: #2e6b54;
  --on-primary: #ffffff;
  --primary-container: #b3f1d6;
  --on-primary-container: #00210f;
  --surface: #f6fbf5;
  --on-surface: #171d1a;
  --on-surface-variant: #404943;
  --surface-container-low: #f0f5ee;
  --surface-container: #eaefe8;
  --outline: #707973;
  --outline-variant: #c0c9c2;
  --tertiary: #3d6373;
  --font: "Roboto", "Segoe UI", system-ui, sans-serif;
}
@media (prefers-color-scheme: dark) {
  :root {
    --primary: #97d4bb;
    --on-primary: #003824;
    --primary-container: #144c37;
    --on-primary-container: #b3f1d6;
    --surface: #101410;
    --on-surface: #dee4e0;
    --on-surface-variant: #c0c9c2;
    --surface-container-low: #181d1a;
    --surface-container: #1c211e;
    --outline: #8a938c;
    --outline-variant: #404943;
    --tertiary: #a5cce0;
  }
}
* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: var(--font);
  color: var(--on-surface);
  background: var(--surface);
  -webkit-font-smoothing: antialiased;
  line-height: 1.65;
}
.wrap { max-width: 46rem; margin: 0 auto; padding: 2rem 1.25rem 5rem; }
header.top {
  display: flex; align-items: center; justify-content: space-between;
  gap: 1rem; flex-wrap: wrap;
  padding-bottom: 1.25rem; margin-bottom: 2rem;
  border-bottom: 1px solid var(--outline-variant);
}
header.top a.home { color: var(--primary); font-weight: 700; text-decoration: none; font-size: 1.05rem; }
nav.legal-nav { display: flex; gap: 1rem; flex-wrap: wrap; font-size: .9rem; }
nav.legal-nav a { color: var(--on-surface-variant); text-decoration: none; }
nav.legal-nav a[aria-current="page"] { color: var(--primary); font-weight: 600; }
nav.legal-nav a:hover { color: var(--primary); }
h1 { font-size: 1.9rem; line-height: 1.2; margin: 0 0 .35rem; }
h2 { font-size: 1.2rem; margin: 2.25rem 0 .5rem; }
h3 { font-size: 1rem; margin: 1.5rem 0 .35rem; }
.updated { color: var(--on-surface-variant); font-size: .875rem; margin: 0 0 2rem; }
a { color: var(--primary); }
table { width: 100%; border-collapse: collapse; margin: 1rem 0; font-size: .925rem; }
th, td { text-align: left; padding: .6rem .5rem; border-bottom: 1px solid var(--outline-variant); vertical-align: top; }
th { color: var(--on-surface-variant); font-weight: 600; }
.card {
  background: var(--surface-container-low);
  border: 1px solid var(--outline-variant);
  border-radius: 14px; padding: 1rem 1.15rem; margin: 1.25rem 0;
}
/* A visible, deliberate marker for text that is NOT yet true. Legal pages that
   quietly carry invented detail are worse than pages that admit a gap. */
.pending {
  background: var(--primary-container); color: var(--on-primary-container);
  border-radius: 6px; padding: .1rem .4rem; font-weight: 600; font-size: .85em;
  white-space: nowrap;
}
footer.legal-footer {
  margin-top: 3.5rem; padding-top: 1.25rem;
  border-top: 1px solid var(--outline-variant);
  color: var(--on-surface-variant); font-size: .875rem;
}
