/* =============================================================
   legal.css — shared styles for legal/info pages
   (ISI, Privacy Policy, Terms, Telehealth Consent, Provider Info)
   ============================================================= */
:root{
  --bg:#f1efeb;
  --ink:#111;
  --ink-muted:rgba(17,17,17,.72);
  --accent:#FBBC04;
  --sans:'Inter',system-ui,sans-serif;
  --mono:'IBM Plex Mono',monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;line-height:1.5}
img{display:block;max-width:100%}
a{color:var(--ink)}

/* --- Top nav (minimal — just the logo back to home) --- */
.legal-nav{padding:16px clamp(20px,5vw,40px);background:#111;display:flex;align-items:center;justify-content:space-between}
.legal-nav .legal-login{font-family:var(--sans);font-size:14px;font-weight:600;color:#fff;border:1px solid rgba(255,255,255,.5);border-radius:4px;padding:8px 14px;text-decoration:none;transition:background .15s,color .15s}
.legal-nav .legal-login:hover{background:#fff;color:#111}
.legal-nav-right{display:flex;align-items:center;gap:10px}
.legal-menu-toggle{display:inline-flex;align-items:center;gap:8px;background:#FAFAF8;color:#111;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;padding:9px 14px;border:none;border-radius:4px;cursor:pointer}
.legal-menu-toggle:hover{filter:brightness(.96)}
.legal-menu-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:199}
.legal-menu-backdrop.open{display:block}
.legal-menu{display:none;position:fixed;top:0;right:0;bottom:0;width:min(360px,86vw);background:#111;z-index:200;padding:20px;flex-direction:column;gap:2px}
.legal-menu.open{display:flex}
.legal-menu .lm-close{align-self:flex-end;background:none;border:none;color:#fff;font-size:24px;line-height:1;cursor:pointer;padding:2px 6px;margin-bottom:12px}
.legal-menu a{color:#FAFAF8;text-decoration:none;font-size:18px;font-weight:600;letter-spacing:-.2px;padding:14px 4px;border-bottom:1px solid rgba(255,255,255,.1)}
.legal-menu a:hover{opacity:.75}
.legal-nav a{display:inline-flex;align-items:center}
.legal-nav img{height:20px;width:auto;display:block}

/* --- Main content --- */
.legal-main{max-width:min(760px,calc(100% - 32px));margin:clamp(16px,4vw,32px) auto 48px;padding:clamp(26px,5vw,44px);background:#fff;border:1px solid rgba(17,17,17,.08)}
.legal-main h1{font-size:clamp(28px,5.5vw,40px);font-weight:800;letter-spacing:-1.2px;line-height:1.08;margin-bottom:6px;color:var(--ink)}
.legal-main .updated{font-family:var(--mono);font-size:11px;color:var(--ink-muted);text-transform:uppercase;letter-spacing:1.6px;margin-bottom:22px}
.legal-main .draft-banner{background:rgba(251,188,4,.16);border-left:3px solid var(--accent);padding:12px 14px;margin:0 0 28px;font-size:13px;line-height:1.5;color:var(--ink)}
.legal-main h2{font-size:17px;font-weight:700;letter-spacing:-.3px;margin:28px 0 10px;color:var(--ink)}
.legal-main h3{font-size:14px;font-weight:700;letter-spacing:-.2px;margin:18px 0 6px;color:var(--ink)}
.legal-main p,.legal-main li{font-size:14px;line-height:1.65;color:var(--ink)}
.legal-main p{margin:0 0 12px}
.legal-main ul,.legal-main ol{padding-left:20px;margin:4px 0 14px}
.legal-main li{margin-bottom:6px}
.legal-main a{text-decoration:underline;text-decoration-color:rgba(17,17,17,.3);text-underline-offset:2px;transition:text-decoration-color .15s}
.legal-main a:hover{text-decoration-color:var(--ink)}
.legal-main strong{font-weight:700}
.legal-main table{width:100%;border-collapse:collapse;margin:14px 0;font-size:13px;line-height:1.55}
.legal-main table th,.legal-main table td{border:1px solid rgba(17,17,17,.12);padding:8px 10px;text-align:left;vertical-align:top}
.legal-main table th{background:rgba(17,17,17,.04);font-weight:600}

/* --- Footer --- */
.legal-foot{padding:28px 20px 40px;background:#111;color:#fff;font-size:12px;line-height:1.7;text-align:center}
.legal-foot p{margin:0 0 6px;color:rgba(255,255,255,.7)}
.legal-foot a{color:#fff;opacity:.85;text-decoration:none}
.legal-foot a:hover{opacity:1;text-decoration:underline}
.legal-foot .legal-links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 14px;margin-top:10px}
.legal-foot .legal-links a{white-space:nowrap}

/* --- Unified site footer (matches homepage) --- */
.site-footer{background:#111;color:#FAFAF8;padding:48px 0 32px}
.site-footer > *{width:min(1280px,88vw);margin-left:auto;margin-right:auto}
.site-footer .ft-logo{margin-bottom:28px}
.site-footer .ft-logo img{height:18px}
.site-footer .ft-grid{display:flex;flex-direction:column;gap:28px;margin-bottom:32px}
.site-footer .ft-col h4{font-size:11px;font-weight:600;color:#FAFAF8;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:12px}
.site-footer .ft-col a,.site-footer .ft-col span{display:block;font-size:13px;color:#FAFAF8;padding:4px 0;text-decoration:none;line-height:1.5}
.site-footer .ft-col a:hover{opacity:.7}
.site-footer .ft-disc{font-size:11px;line-height:1.8;color:rgba(250,250,248,.78);padding-top:20px;border-top:1px solid rgba(250,250,248,.12)}
.site-footer .ft-bottom{display:flex;justify-content:space-between;gap:12px;margin-top:16px;font-size:11px;color:rgba(250,250,248,.72)}
@media(min-width:680px){.site-footer .ft-grid{flex-direction:row;justify-content:space-between;gap:24px}}
