/* Shared styles for the website's legal pages: privacy, cookies, terms, accessibility.
   Tokens are copied from index.html, which follows docs/visuals/UI-DESIGN.md. */
@font-face { font-family:"Shantell Sans"; src:url("assets/fonts/ShantellSans-latin.woff2") format("woff2"); font-weight:300 800; font-style:normal; font-display:swap; }
@font-face { font-family:"Nunito"; src:url("assets/fonts/Nunito-latin.woff2") format("woff2"); font-weight:200 1000; font-style:normal; font-display:swap; }

:root {
  --spark-gold:#FFC857;
  --glow-cream:#FFF4D6;
  --deep-night-blue:#253B6E;
  --cloud-white:#FAFBFF;
  --mist-gray:#E9EEF6;
  --charcoal-ink:#2C3140;
  --text-primary:var(--charcoal-ink);
  --text-secondary:#566176;
  --tint-sky:#E4F3FF;
  --tint-mint:#E3F7EB;
  --font-display:"Shantell Sans","Comic Sans MS",cursive,sans-serif;
  --font-body:"Nunito",system-ui,sans-serif;
  --font-ui:"Nunito",system-ui,sans-serif; /* was Inter: Nunito by the product owner, 15 October 2026 */
  --radius-card:24px;
  --radius-chip:16px;
  --line:#E9EEF6;
  --soft-shadow:0 10px 30px rgba(37,59,110,.10);
}

* { box-sizing:border-box; }
body {
  margin:0;
  color:var(--text-primary);
  background:radial-gradient(circle at 92% 4%, rgba(185,167,255,.16), transparent 26%), var(--cloud-white);
  font-family:var(--font-body);
  font-size:1.0625rem;
  line-height:1.6;
}
h1,h2,h3 { font-family:var(--font-display); font-weight:700; line-height:1.2; color:var(--deep-night-blue); }
h1 { font-size:clamp(2rem, 5vw, 2.75rem); margin:0 0 10px; }
h2 { font-size:1.5rem; margin:44px 0 12px; }
h3 { font-size:1.15rem; margin:26px 0 8px; }
p, ul, ol { margin:0 0 14px; }
li { margin-bottom:6px; }
a { color:var(--deep-night-blue); text-decoration:underline; text-underline-offset:2px; }
a:hover { text-decoration-thickness:2px; }
img { max-width:100%; height:auto; display:block; }
:focus-visible { outline:3px solid var(--deep-night-blue); outline-offset:2px; border-radius:8px; }
.skip { position:absolute; left:-999px; top:8px; background:#fff; color:var(--deep-night-blue); padding:10px 16px; border-radius:12px; font-weight:700; z-index:100; }
.skip:focus { left:8px; }

.container { width:min(820px, calc(100% - 32px)); margin:auto; }
.muted { color:var(--text-secondary); }

header { border-bottom:1px solid var(--line); background:rgba(250,251,255,.92); }
.nav { width:min(1180px, calc(100% - 32px)); margin:auto; min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.nav .brand-logo { height:40px; width:auto; }
.nav .back { font-family:var(--font-ui); font-weight:700; font-size:.9375rem; }

main { padding:48px 0 72px; }
.updated { font-family:var(--font-ui); font-size:.9375rem; color:var(--text-secondary); margin-bottom:28px; }

.summary {
  background:var(--glow-cream);
  border-radius:var(--radius-card);
  padding:22px 26px;
  margin:0 0 8px;
}
.summary h2 { margin-top:0; font-size:1.25rem; }
.summary ul { margin:0; padding-left:1.2em; }
.note {
  background:var(--tint-sky);
  border-radius:var(--radius-chip);
  padding:16px 20px;
  margin:18px 0;
}
.note.kids { background:var(--tint-mint); }

.table-wrap { overflow-x:auto; margin:0 0 16px; }
table { width:100%; border-collapse:collapse; font-size:.975rem; background:#fff; border-radius:var(--radius-chip); overflow:hidden; box-shadow:var(--soft-shadow); }
th, td { text-align:left; vertical-align:top; padding:12px 14px; border-bottom:1px solid var(--line); }
th { font-family:var(--font-ui); font-size:.875rem; font-weight:700; color:var(--deep-night-blue); background:var(--mist-gray); }
tr:last-child td { border-bottom:0; }

/* A fact only the company can supply. Every one must be filled before the page is published. */
.ph { overflow-wrap:anywhere; background:#FFE08A; border:1px dashed #9A6B00; border-radius:4px; padding:0 4px; font-family:var(--font-ui); font-size:.875em; }
.draft-banner {
  background:#FFE08A; color:#3D2C00; font-family:var(--font-ui); font-size:.9375rem; font-weight:600;
  text-align:center; padding:10px 16px;
}

footer { border-top:1px solid var(--line); padding:28px 0 44px; font-family:var(--font-ui); font-size:.9375rem; color:var(--text-secondary); }
.footer-links { display:flex; gap:18px; flex-wrap:wrap; }
.footer-links a { color:inherit; text-decoration:none; padding:6px 0; }
.footer-links a:hover, .footer-links a[aria-current="page"] { color:var(--deep-night-blue); text-decoration:underline; }

@media (prefers-reduced-motion: reduce) { * { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }
.company-line { margin:16px auto 0; font-family:var(--font-ui); font-size:.875rem; color:var(--text-secondary); }
h4,h5,h6 { color:var(--deep-night-blue); }
