/* USAVisa 2026 design tokens — v4 palette: navy + red from the social media badge.
   Light is the default; dark follows the OS unless the user picks a theme (html[data-theme]). */

@font-face {
    font-family: "Plus Jakarta Sans";
    src: url("../../fonts/v3/PlusJakartaSans-Variable.woff2") format("woff2");
    font-weight: 200 800;
    font-style: normal;
    font-display: swap;
}

:root {
    color-scheme: light;
    --brand-navy: #0a1f44;
    --brand-red: #dc0326;
    --brand-coral: #ff5a6a;
    --brand-sky: #eaf0fd;
    --surface-000: #ffffff;
    --surface-100: #f5f7fb;
    --surface-200: #ffffff;
    --surface-inverse: #0a1f44;
    --ink: #0a1f44;
    --ink-muted: #4a5571;
    --ink-subtle: #7c87a1;
    --on-inverse: #ffffff;
    --on-inverse-muted: #b9c4dd;
    --line: #dde2ec;
    --line-strong: #7c87a1;
    --action: #dc0326;
    --action-hover: #b8001f;
    --on-action: #ffffff;
    --action-soft: #fde8eb;
    --on-action-soft: #b8001f;
    --focus: #1f4fd1;
    --success: #0f7a4a;
    --success-soft: #e3f4ec;
    --warning: #8a5a00;
    --danger: #9e1a2a;
    --star: #a86c00;
    --shadow-card: 0 1px 2px rgba(10,31,68,0.06), 0 8px 24px rgba(10,31,68,0.08);
    --shadow-sticky: 0 -6px 24px rgba(10,31,68,0.12);
    --space-4: 4px;
    --space-8: 8px;
    --space-12: 12px;
    --space-16: 16px;
    --space-24: 24px;
    --space-32: 32px;
    --space-48: 48px;
    --space-80: 80px;
    --radius-sm: 10px;
    --radius-md: 16px;
    --radius-lg: 24px;
    --radius-pill: 999px;
    --tap-min: 48px;
    --button-lg: 56px;
    --header-h: 60px;
    --container-max: 1120px;
    --measure: 640px;
    --font-sans: "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
}

@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) {
        color-scheme: dark;
        --brand-navy: #0a1f44;
        --brand-red: #dc0326;
        --brand-coral: #ff5a6a;
        --brand-sky: #152448;
        --surface-000: #070f22;
        --surface-100: #0b1530;
        --surface-200: #0e1a36;
        --surface-inverse: #152448;
        --ink: #eef2fa;
        --ink-muted: #a3aec6;
        --ink-subtle: #7d8aa8;
        --on-inverse: #eef2fa;
        --on-inverse-muted: #a3aec6;
        --line: #24345a;
        --line-strong: #6b7896;
        --action: #ff5a6a;
        --action-hover: #ff7884;
        --on-action: #070f22;
        --action-soft: #3a1420;
        --on-action-soft: #ffb4bd;
        --focus: #6ea0ff;
        --success: #4ade9a;
        --success-soft: #0f2e24;
        --warning: #f5c451;
        --danger: #ffb4bd;
        --star: #f5c451;
        --shadow-card: 0 1px 2px rgba(0,0,0,0.40), 0 8px 24px rgba(0,0,0,0.35);
        --shadow-sticky: 0 -6px 24px rgba(0,0,0,0.50);
    }
}

:root[data-theme="dark"] {
    color-scheme: dark;
    --brand-navy: #0a1f44;
    --brand-red: #dc0326;
    --brand-coral: #ff5a6a;
    --brand-sky: #152448;
    --surface-000: #070f22;
    --surface-100: #0b1530;
    --surface-200: #0e1a36;
    --surface-inverse: #152448;
    --ink: #eef2fa;
    --ink-muted: #a3aec6;
    --ink-subtle: #7d8aa8;
    --on-inverse: #eef2fa;
    --on-inverse-muted: #a3aec6;
    --line: #24345a;
    --line-strong: #6b7896;
    --action: #ff5a6a;
    --action-hover: #ff7884;
    --on-action: #070f22;
    --action-soft: #3a1420;
    --on-action-soft: #ffb4bd;
    --focus: #6ea0ff;
    --success: #4ade9a;
    --success-soft: #0f2e24;
    --warning: #f5c451;
    --danger: #ffb4bd;
    --star: #f5c451;
    --shadow-card: 0 1px 2px rgba(0,0,0,0.40), 0 8px 24px rgba(0,0,0,0.35);
    --shadow-sticky: 0 -6px 24px rgba(0,0,0,0.50);
}
