/* Shared styling for My Kid Space legal/support pages (privacy, terms, support).
   Palette matches the marketing site (index.html) and the app's Tokens.swift. */
:root{
  --primary-700:#1A3A5C; --primary-600:#1E4370; --primary-100:#D7E3EF;
  --cream:#F2ECE4; --bg:#F5F3EE; --line:#E4E0D8;
  --ink-900:#0E1116; --ink-800:#1B2026; --ink-700:#2C3338; --ink-600:#455968;
  --ink-500:#6B7785; --ink-300:#B0B6C0; --ink-200:#DDE1E6;
  --warn-bg:#FFF6E8; --warn:#9a6a16;
  --head:'Manrope',system-ui,sans-serif; --body:'Inter',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:var(--body);color:var(--ink-700);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased;}
a{color:var(--primary-600);text-decoration:underline;text-underline-offset:2px;}

.topbar{border-bottom:1px solid var(--line);background:rgba(245,243,238,0.9);backdrop-filter:blur(8px);position:sticky;top:0;z-index:10;}
.topbar .inner{max-width:780px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;}
.brand{display:flex;align-items:center;gap:10px;}
.brand .mark{width:30px;height:30px;border-radius:8px;background:var(--primary-700);display:flex;align-items:center;justify-content:center;}
.brand .mark svg{width:18px;height:18px;color:#fff;}
.brand .name{font-family:var(--head);font-weight:800;font-size:16px;color:var(--ink-900);letter-spacing:-0.3px;}
.brand a{text-decoration:none;}
.topnav{display:flex;gap:18px;font-family:var(--head);font-size:14px;font-weight:700;}
.topnav a{color:var(--ink-600);text-decoration:none;}
.topnav a:hover,.topnav a.active{color:var(--primary-700);}

.wrap{max-width:780px;margin:0 auto;padding:48px 24px 96px;}
h1{font-family:var(--head);font-weight:800;font-size:38px;letter-spacing:-1px;color:var(--ink-900);line-height:1.1;}
.meta{color:var(--ink-500);font-size:14px;margin-top:14px;}
.pill{display:inline-block;font-family:var(--head);font-size:12px;font-weight:700;color:var(--primary-700);background:#E7EDF4;border-radius:999px;padding:4px 12px;margin-top:10px;}
.lede{font-size:18px;color:var(--ink-700);margin-top:22px;}
.lede strong{color:var(--ink-900);}
h2{font-family:var(--head);font-weight:800;font-size:21px;color:var(--ink-900);letter-spacing:-0.3px;margin:42px 0 12px;}
h3{font-family:var(--head);font-weight:700;font-size:16px;color:var(--ink-900);margin:22px 0 6px;}
p{margin:10px 0;}
ul,ol.list{margin:10px 0 10px 4px;padding-left:20px;}
li{margin:7px 0;}
strong{color:var(--ink-900);}
.fill{font-family:ui-monospace,Menlo,monospace;font-size:0.92em;background:#FBEFD6;color:#7a531a;border-radius:4px;padding:1px 6px;white-space:nowrap;}
table{border-collapse:collapse;width:100%;margin:14px 0;font-size:14.5px;}
th,td{text-align:left;vertical-align:top;padding:11px 12px;border-bottom:1px solid var(--line);}
th{font-family:var(--head);font-weight:700;color:var(--ink-900);background:#EFEAE1;}
.callout{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin:16px 0;}
.callout.warn{background:var(--warn-bg);border-color:#F0DDB6;}
.callout.warn strong{color:var(--warn);}
.toc{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin:28px 0;}
.toc h4{font-family:var(--head);font-size:13px;text-transform:uppercase;letter-spacing:1px;color:var(--ink-500);margin-bottom:10px;}
.toc ol{columns:2;column-gap:28px;font-size:14px;margin-left:18px;}
.toc a{color:var(--ink-700);text-decoration:none;}
.toc a:hover{color:var(--primary-600);text-decoration:underline;}
.faq{background:#fff;border:1px solid var(--line);border-radius:14px;padding:6px 20px;margin:14px 0;}
.faq details{border-bottom:1px solid var(--line);padding:14px 0;}
.faq details:last-child{border-bottom:none;}
.faq summary{font-family:var(--head);font-weight:700;font-size:16px;color:var(--ink-900);cursor:pointer;list-style:none;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";float:right;color:var(--ink-400);font-weight:700;}
.faq details[open] summary::after{content:"–";}
.faq p{color:var(--ink-600);}
.contact-card{background:var(--primary-700);color:#fff;border-radius:18px;padding:26px 24px;margin:20px 0;}
.contact-card h3{color:#fff;margin-top:0;}
.contact-card a{color:#fff;font-weight:700;}
footer.doc{margin-top:56px;padding-top:24px;border-top:1px solid var(--line);color:var(--ink-500);font-size:13px;display:flex;gap:18px;flex-wrap:wrap;}
footer.doc a{color:var(--ink-600);}
@media (max-width:560px){h1{font-size:30px;}.toc ol{columns:1;}.topnav{gap:12px;}}
