/**
 * Car Show byKUTT — shared design tokens.
 *
 * One source of truth for every non-color design value used across the plugin's
 * admin and frontend surfaces (radius, shadow, spacing, motion, type). Loaded
 * once, before every other plugin stylesheet.
 *
 * Colors are intentionally NOT defined here: they stay generated by
 * Colors::css_variables() in includes/class-colors.php because they are
 * per-event customizable (--cs-primary, --cs-bg, --cs-surface, --cs-text,
 * --cs-muted, --cs-border, --cs-success, --cs-warning, --cs-danger). This file
 * only supplies the static tokens plus safe global fallbacks for the color
 * tokens so nothing breaks if a surface loads before the inline palette does.
 *
 * Scope: these custom properties live on :root, which is harmless outside the
 * plugin's own screens (nothing outside the plugin references --cs-* names).
 * Font-family is deliberately NOT applied to body/* here — each plugin surface
 * opts in via its own wrapper class so WordPress admin chrome outside our
 * screens is never restyled.
 */

@font-face {
    font-family: 'Neo Sans Pro';
    src: url('../fonts/neo-sans-pro-regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Neo Sans Pro';
    src: url('../fonts/neo-sans-pro-medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Neo Sans Pro';
    src: url('../fonts/neo-sans-pro-bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Neo Sans Pro';
    src: url('../fonts/neo-sans-pro-black.woff2') format('woff2');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

:root {
    /* Color fallbacks — mirror Colors::defaults() in class-colors.php.
       Real values are supplied per-request as an inline style override
       carrying the active (global or per-event) palette. */
    --cs-primary: #EA5537;
    --cs-primary-dark: #C74730;
    --cs-bg: #F0F0EC;
    --cs-surface: #FAFAF7;
    --cs-text: #101010;
    --cs-muted: #5F5F59;
    --cs-border: #D7D7CF;
    --cs-success: #416C55;
    --cs-warning: #9A6A32;
    --cs-danger: #9B4038;

    /* Type */
    --cs-font-display: 'Neo Sans Pro', 'Segoe UI', system-ui, -apple-system, sans-serif;
    --cs-font-body: 'Neo Sans Pro', 'Segoe UI', system-ui, -apple-system, sans-serif;
    --cs-weight-regular: 400;
    --cs-weight-medium: 500;
    --cs-weight-bold: 700;
    --cs-weight-black: 900;
    --cs-leading-tight: 1.15;
    --cs-leading-normal: 1.5;
    --cs-text-xs: clamp(0.75rem, 0.72rem + 0.15vw, 0.8125rem);
    --cs-text-sm: clamp(0.8125rem, 0.78rem + 0.2vw, 0.9375rem);
    --cs-text-base: clamp(0.9375rem, 0.9rem + 0.25vw, 1.0625rem);
    --cs-text-lg: clamp(1.0625rem, 1rem + 0.4vw, 1.25rem);
    --cs-text-xl: clamp(1.25rem, 1.15rem + 0.6vw, 1.625rem);
    --cs-text-2xl: clamp(1.625rem, 1.4rem + 1.2vw, 2.25rem);
    --cs-text-3xl: clamp(2.1rem, 1.7rem + 2vw, 3.25rem);

    /* Radius */
    --cs-radius-sm: 8px;
    --cs-radius-md: 14px;
    --cs-radius-lg: 20px;
    --cs-radius-pill: 999px;

    /* Elevation */
    --cs-shadow-1: 0 1px 2px rgba(16, 16, 16, .06);
    --cs-shadow-2: 0 8px 24px rgba(16, 16, 16, .10);
    --cs-shadow-3: 0 18px 46px rgba(16, 16, 16, .16);

    /* Spacing scale */
    --cs-space-1: 4px;
    --cs-space-2: 8px;
    --cs-space-3: 12px;
    --cs-space-4: 16px;
    --cs-space-5: 24px;
    --cs-space-6: 32px;
    --cs-space-7: 48px;
    --cs-space-8: 64px;

    /* Motion */
    --cs-ease-standard: cubic-bezier(.4, 0, .2, 1);
    --cs-ease-out: cubic-bezier(0, 0, .2, 1);
    --cs-ease-move: cubic-bezier(.2, 0, 0, 1);
    --cs-duration-fast: 120ms;
    --cs-duration-base: 200ms;
    --cs-duration-slow: 320ms;
}

@media (prefers-reduced-motion: reduce) {
    :root {
        --cs-duration-fast: 0ms;
        --cs-duration-base: 0ms;
        --cs-duration-slow: 0ms;
    }
}
