/* EVJudge shared site styles — used by /, /privacy/, /terms/ and /404.html.
   Design tokens match the Flutter app theme (lib/theme.dart). */
:root { --bg:#0b0f12; --card:#131a20; --text:#e8edf2; --dim:#8fa0ad; --accent:#2dd4bf; --line:#223039; }
* { margin:0; padding:0; box-sizing:border-box; }
body { background:var(--bg); color:var(--text); font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; }
main { max-width:720px; margin:0 auto; padding:48px 20px 80px; }
h1 { font-size:2.1rem; line-height:1.2; margin-bottom:12px; }
h1 em { color:var(--accent); font-style:normal; }
h2 { font-size:1.25rem; margin:40px 0 12px; }
h3 { font-size:1rem; margin:24px 0 6px; }
p { color:var(--dim); margin-bottom:14px; }
p strong { color:var(--text); }
.cta { display:inline-block; background:var(--accent); color:#04211d; font-weight:700; font-size:1.1rem; padding:14px 28px; border-radius:12px; text-decoration:none; margin:18px 0 6px; }
.cta:hover { filter:brightness(1.1); }
.sub { font-size:.85rem; color:var(--dim); }
.card { background:var(--card); border:1px solid var(--line); border-radius:14px; padding:20px 22px; margin:16px 0; }
.card h3 { font-size:1rem; margin:0 0 6px; }
.card p { margin-bottom:0; font-size:.95rem; }
ul { color:var(--dim); padding-left:22px; margin-bottom:14px; }
li { margin-bottom:6px; }
li strong { color:var(--text); }
footer { max-width:720px; margin:0 auto; padding:24px 20px 48px; border-top:1px solid var(--line); font-size:.8rem; color:var(--dim); }
footer p { font-size:.8rem; margin-bottom:8px; }
footer nav { margin-bottom:12px; }
footer nav a { margin-right:16px; }
a { color:var(--accent); }

/* Legal pages */
.legal h1 { font-size:1.6rem; }
.legal .meta { font-size:.85rem; color:var(--dim); margin-bottom:24px; }
.legal p, .legal li { font-size:.95rem; }

/* Consent banner (GA4 Consent Mode v2 — see the inline script in index.html) */
/* [hidden] must beat the display:flex below, or the banner can never hide. */
#consent-banner[hidden] { display:none; }
#consent-banner { position:fixed; left:0; right:0; bottom:0; z-index:50;
  background:var(--card); border-top:1px solid var(--line);
  padding:14px 20px; display:flex; flex-wrap:wrap; gap:10px 16px;
  align-items:center; justify-content:center; }
#consent-banner p { margin:0; font-size:.85rem; max-width:560px; }
#consent-banner button { font:inherit; font-size:.85rem; font-weight:700;
  padding:8px 18px; border-radius:9px; cursor:pointer; border:1px solid var(--line); }
#consent-accept { background:var(--accent); color:#04211d; border-color:var(--accent); }
#consent-decline { background:transparent; color:var(--dim); }
