@import url('/assets/v1/css/normalize.min.css');

/* ==========================================================================
   Legal pages (terms.aspx / privacy.aspx) -- the Terms of Use and Privacy
   Policy a user accepts on the activation step of login.aspx and on
   signup.aspx. Pre-auth, read-only. Styling mirrors the www site's .legal
   article (CardVault_www/wwwroot/css/site.css) and the auth-page tokens in
   login.css, so the documents read the same on both sites.
   Deliberately does NOT import login.css: that sheet hides <html> until the
   auth-page script reveals it, and these pages carry no script.
   ========================================================================== */

:root {
    --cv-ink: #070D1A;
    --cv-line: #1C2A45;
    --cv-accent: #2E9BE6;
    --cv-pale: #BFE3FA;
    --cv-text: #E8EEF7;
    --cv-muted: #8FA0BC;
    --cv-mono: Consolas, "SFMono-Regular", Menlo, monospace;
}

body {
    margin: 0;
    background: radial-gradient(1100px 600px at 50% -10%, #0E1B33 0%, var(--cv-ink) 60%) fixed;
    background-color: var(--cv-ink);
    color: var(--cv-text);
    font-family: "Segoe UI", system-ui, -apple-system, sans-serif;
}

a, a:visited { color: var(--cv-accent); text-decoration: none; }
a:hover { color: var(--cv-pale); }

.legal-header {
    max-width: 820px;
    margin: 0 auto;
    padding: 28px 20px 0;
}

.legal-header img { width: 190px; height: auto; }

.legal {
    max-width: 820px;
    margin: 0 auto;
    padding: 32px 20px 64px;
}

.legal .microlabel {
    display: block;
    margin-bottom: 14px;
    font-family: var(--cv-mono);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    color: var(--cv-accent);
}

.legal h1 {
    font-size: 34px;
    font-weight: 700;
    letter-spacing: -0.015em;
    margin: 0 0 10px;
}

.legal .legal-meta {
    font-family: var(--cv-mono);
    font-size: 12px;
    letter-spacing: 0.08em;
    color: var(--cv-muted);
    margin: 0 0 36px;
    padding-bottom: 22px;
    border-bottom: 1px solid var(--cv-line);
}

.legal h2 { font-size: 19px; font-weight: 600; margin: 36px 0 12px; }
.legal h3 { font-size: 16px; font-weight: 600; margin: 24px 0 10px; }

.legal p, .legal li {
    color: var(--cv-muted);
    font-size: 15px;
    line-height: 1.7;
    max-width: 70ch;
}

.legal p { margin: 0 0 14px; }
.legal ul, .legal ol { padding-left: 22px; margin: 0 0 14px; }
.legal li { margin-bottom: 6px; }
.legal strong { color: var(--cv-text); font-weight: 600; }

.legal-footer {
    margin-top: 44px;
    padding-top: 20px;
    border-top: 1px solid var(--cv-line);
    font-size: 13px;
    color: var(--cv-muted);
}

@media print {
    body { background: #fff; color: #000; }
    .legal p, .legal li, .legal .legal-meta, .legal-footer { color: #000; }
    .legal strong, .legal h1, .legal h2, .legal h3 { color: #000; }
    .legal-header, .legal-footer a { display: none; }
}
