/* ==========================================================================
   CSS Custom Properties (Design Tokens)
   ========================================================================== */
:root {
  /* Colors — Brand */
  --color-primary: #d81f26;
  --color-primary-dark: #b3151b;
  --color-primary-light: #f04c4c;
  --color-secondary: #14213d;
  --color-secondary-light: #1e2f52;
  --color-accent: #ffc107;
  --color-accent-dark: #e6ac00;
  --color-link: #1a56c4;
  --color-navy-text: #1c3360;
  --color-topbar-alt-bg: #f1f2f7;

  /* Colors — Neutrals */
  --color-white: #ffffff;
  --color-black: #000000;
  --color-text: #222831;
  --color-text-muted: #6c757d;
  --color-text-light: #ffffff;
  --color-bg: #ffffff;
  --color-bg-alt: #f7f8fa;
  --color-bg-gray: #f2f3f5;
  --color-border: #e6e8eb;

  /* Colors — Feedback */
  --color-success: #28a745;
  --color-star: #ffc107;

  /* Typography */
  --font-primary: "Be Vietnam Pro", "Segoe UI", Roboto, Arial, sans-serif;
  --font-secondary: "Montserrat", "Segoe UI", Roboto, Arial, sans-serif;

  --fs-xs: 0.75rem;
  --fs-sm: 0.875rem;
  --fs-base: 1rem;
  --fs-md: 1.125rem;
  --fs-lg: 1.25rem;
  --fs-xl: 1.5rem;
  --fs-2xl: 1.875rem;
  --fs-3xl: 2.25rem;
  --fs-4xl: 2.75rem;

  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --fw-black: 800;

  --lh-tight: 1.2;
  --lh-normal: 1.5;
  --lh-loose: 1.8;

  /* Spacing scale (4px base) */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;

  /* Layout */
  --container-max: 1320px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 16px;
  --radius-full: 999px;

  /* Shadows */
  --shadow-sm: 0 2px 6px rgba(20, 33, 61, 0.08);
  --shadow-md: 0 8px 24px rgba(20, 33, 61, 0.12);
  --shadow-lg: 0 16px 40px rgba(20, 33, 61, 0.18);
  --shadow-btn: 0 6px 16px rgba(216, 31, 38, 0.35);

  /* Transitions */
  --transition-fast: 0.2s ease;
  --transition-base: 0.3s ease;
  --transition-slow: 0.5s ease;

  /* Z-index scale */
  --z-header: 1000;
  --z-dropdown: 1010;
  --z-float: 1020;
  --z-modal: 1050;
}
