/* Shared styles: tokens, footer, cookie banner, legal pages */
:root{
  --bg:#F2F4F8; --surface:#FFFFFF; --ink:#131A26; --muted:#4A5568;
  --brand:#183B6E; --brand-soft:#E0E7F2; --accent:#E3A13A; --line:#D3DAE5;
  --wa:#1FA855;
  --display:"Secular One","Assistant",Arial,sans-serif;
  --body:"Assistant",Arial,"Segoe UI",sans-serif;
}
@media (prefers-color-scheme: dark){
  :root{
    color-scheme:dark;
    --bg:#0E131C; --surface:#161E2B; --ink:#EDF1F7; --muted:#AAB6C8;
    --brand:#8DB4EA; --brand-soft:#1C2A40; --accent:#F0B557; --line:#28344A;
    --wa:#22B45C;
  }
}

/* footer */
.site-footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;color:var(--muted);font-size:15px;padding-block:22px;border-top:1px solid var(--line);margin-top:8px}
.site-footer nav{display:flex;flex-wrap:wrap;gap:6px 20px}
.site-footer a{color:var(--muted);text-underline-offset:3px}
.site-footer a:hover{color:var(--brand)}
.site-footer button.linklike{font:inherit;color:var(--muted);background:none;border:0;padding:0;text-decoration:underline;text-underline-offset:3px;cursor:pointer}

/* cookie banner */
.cookie-banner{position:fixed;inset-inline:0;bottom:0;z-index:50;background:var(--surface);color:var(--ink);border-top:1px solid var(--line);box-shadow:0 -8px 30px rgba(10,20,40,.14);padding:16px 20px calc(16px + env(safe-area-inset-bottom,0px));display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 24px;font-size:17px;line-height:1.5}
.cookie-banner p{margin:0;max-width:60ch}
.cookie-banner a{color:var(--brand);font-weight:600}
.cookie-actions{display:flex;flex-wrap:wrap;gap:10px}
.cookie-btn{font:700 17px var(--body);border-radius:12px;padding:10px 20px;cursor:pointer;border:2px solid var(--brand);min-height:48px}
.cookie-accept{background:var(--brand);color:var(--surface)}
.cookie-reject{background:transparent;color:var(--brand)}
body.has-cookie-banner .fab{bottom:calc(150px + env(safe-area-inset-bottom,0px))}
@media (min-width:821px){body.has-cookie-banner .fab{bottom:calc(100px + env(safe-area-inset-bottom,0px))}}

/* legal pages */
.legal{max-width:760px;margin-inline:auto;padding-block:40px 64px}
.legal .back{display:inline-block;margin-bottom:24px;color:var(--brand);font-weight:600;text-decoration:none}
.legal .back:hover{text-decoration:underline}
.legal h1{font-family:var(--display);font-weight:400;font-size:clamp(30px,4vw,42px);line-height:1.25;margin:0 0 8px;text-wrap:balance}
.legal .updated{color:var(--muted);font-size:16px;margin:0 0 32px}
.legal h2{font-family:var(--display);font-weight:400;font-size:24px;line-height:1.3;margin:36px 0 10px;color:var(--brand)}
.legal p,.legal li{max-width:68ch}
.legal p{margin:0 0 12px}
.legal ul{margin:0 0 12px;padding-inline-start:22px}
.legal li{margin-bottom:6px}
.legal .contact-box{background:var(--brand-soft);border-radius:14px;padding:18px 22px;margin-top:12px}
.legal .contact-box p{margin:0 0 4px}
.legal .ltr{direction:ltr;unicode-bidi:isolate;white-space:nowrap}
