/* ==========================================================================
   VARIABLES.CSS — Design Tokens
   MOT Check — Premium Vehicle Inspection Platform
   ========================================================================== */

:root {
  /* ---- Brand Colors ---- */
  --color-primary: #0F4C81;
  --color-primary-light: #1A6BB0;
  --color-primary-dark: #0A3760;
  --color-secondary: #1F2937;
  --color-accent: #10B981;
  --color-accent-light: #34D399;
  --color-warning: #F59E0B;
  --color-error: #EF4444;

  /* ---- Neutrals ---- */
  --color-bg: #F8FAFC;
  --color-bg-alt: #EEF2F7;
  --color-white: #FFFFFF;
  --color-text: #1F2937;
  --color-text-muted: #5B6472;
  --color-text-soft: #8891A0;
  --color-border: #E2E8F0;

  /* ---- Gradients ---- */
  --gradient-primary: linear-gradient(135deg, #0F4C81 0%, #1A6BB0 55%, #10B981 100%);
  --gradient-hero: radial-gradient(circle at 15% 20%, rgba(16,185,129,0.16), transparent 45%),
                    radial-gradient(circle at 85% 15%, rgba(15,76,129,0.20), transparent 50%),
                    linear-gradient(180deg, #0A3760 0%, #0F4C81 55%, #0B3A63 100%);
  --gradient-card: linear-gradient(160deg, rgba(255,255,255,0.9), rgba(255,255,255,0.6));
  --gradient-accent: linear-gradient(135deg, #10B981 0%, #34D399 100%);

  /* ---- Typography ---- */
  --font-display: 'Poppins', 'Manrope', sans-serif;
  --font-body: 'Inter', 'Manrope', sans-serif;
  --font-mono: 'Manrope', monospace;

  --fs-xs: 0.75rem;
  --fs-sm: 0.875rem;
  --fs-base: 1rem;
  --fs-md: 1.125rem;
  --fs-lg: 1.375rem;
  --fs-xl: 1.75rem;
  --fs-2xl: 2.25rem;
  --fs-3xl: 3rem;
  --fs-4xl: 3.75rem;

  /* ---- Spacing ---- */
  --space-2xs: 0.25rem;
  --space-xs: 0.5rem;
  --space-sm: 0.75rem;
  --space-md: 1.25rem;
  --space-lg: 2rem;
  --space-xl: 3.25rem;
  --space-2xl: 5rem;
  --space-3xl: 7rem;

  /* ---- Radius ---- */
  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 22px;
  --radius-xl: 32px;
  --radius-pill: 999px;

  /* ---- Shadows ---- */
  --shadow-sm: 0 2px 8px rgba(15, 23, 42, 0.06);
  --shadow-md: 0 8px 24px rgba(15, 23, 42, 0.08);
  --shadow-lg: 0 20px 45px rgba(15, 23, 42, 0.12);
  --shadow-glow: 0 0 0 1px rgba(16,185,129,0.15), 0 20px 45px rgba(16,185,129,0.18);
  --shadow-primary-glow: 0 12px 30px rgba(15, 76, 129, 0.28);

  /* ---- Motion ---- */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --transition-fast: 0.18s var(--ease-out);
  --transition-base: 0.32s var(--ease-out);
  --transition-slow: 0.6s var(--ease-out);

  /* ---- Layout ---- */
  --container-max: 1240px;
  --header-height: 78px;
  --header-height-scrolled: 64px;
}

/* Reduced motion accessibility */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}
