/* CSS Custom Properties - Design System Variables */

:root {
  /* ===== COLORS ===== */

  /* Primary Colors */
  --color-primary-black: #010101;
  --color-primary-white: #FFFFFF;
  --color-tjm-yellow: #FCEE23;

  /* Secondary Colors */
  --color-dark-gray: #333333;
  --color-medium-gray: #666666;
  --color-light-gray: #F5F5F5;
  --color-border-gray: #CCCCCC;
  --color-border-light: #E0E0E0;

  /* Accent Colors */
  --color-yellow-hover: #E8E01F;
  --color-black-hover: #1A1A1A;

  /* Semantic Colors */
  --color-success: #28A745;
  --color-error: #DC3545;
  --color-warning: #FFC107;
  --color-info: #17A2B8;

  /* ===== TYPOGRAPHY ===== */

  /* Font Families */
  --font-primary: 'Oswald', 'Arial', 'Helvetica Neue', sans-serif;
  --font-secondary: 'Open Sans', 'Helvetica', 'Arial', sans-serif;

  /* Font Sizes - Desktop */
  --font-size-h1: 3rem;        /* 48px */
  --font-size-h2: 2.25rem;     /* 36px */
  --font-size-h3: 1.75rem;     /* 28px */
  --font-size-h4: 1.5rem;      /* 24px */
  --font-size-h5: 1.25rem;     /* 20px */
  --font-size-h6: 1.125rem;    /* 18px */
  --font-size-body: 1rem;      /* 16px */
  --font-size-small: 0.875rem; /* 14px */
  --font-size-tiny: 0.75rem;   /* 12px */

  /* Font Weights */
  --font-weight-light: 300;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-black: 900;

  /* Line Heights */
  --line-height-tight: 1.2;
  --line-height-normal: 1.6;
  --line-height-relaxed: 1.8;

  /* ===== SPACING ===== */

  --spacing-xs: 0.5rem;   /* 8px */
  --spacing-sm: 1rem;     /* 16px */
  --spacing-md: 1.5rem;   /* 24px */
  --spacing-lg: 2rem;     /* 32px */
  --spacing-xl: 3rem;     /* 48px */
  --spacing-xxl: 4rem;    /* 64px */
  --spacing-xxxl: 6rem;   /* 96px */

  /* ===== LAYOUT ===== */

  /* Container Widths */
  --container-max-width: 1440px;
  --container-width: 1200px;
  --container-narrow: 900px;

  /* Breakpoints (for JS reference) */
  --breakpoint-mobile: 320px;
  --breakpoint-tablet: 768px;
  --breakpoint-desktop: 1024px;
  --breakpoint-large: 1440px;

  /* ===== BORDERS ===== */

  --border-width-thin: 1px;
  --border-width-medium: 2px;
  --border-width-thick: 4px;

  --border-radius-small: 4px;
  --border-radius-medium: 8px;
  --border-radius-large: 12px;
  --border-radius-xlarge: 16px;
  --border-radius-full: 9999px;

  /* ===== SHADOWS ===== */

  --shadow-small: 0 2px 4px rgba(0, 0, 0, 0.1);
  --shadow-medium: 0 4px 6px rgba(0, 0, 0, 0.1);
  --shadow-large: 0 10px 20px rgba(0, 0, 0, 0.15);
  --shadow-xlarge: 0 20px 40px rgba(0, 0, 0, 0.2);

  /* ===== TRANSITIONS ===== */

  --transition-fast: 0.15s ease;
  --transition-base: 0.3s ease;
  --transition-slow: 0.5s ease;

  /* ===== Z-INDEX ===== */

  --z-index-dropdown: 100;
  --z-index-sticky: 200;
  --z-index-fixed: 300;
  --z-index-modal-backdrop: 400;
  --z-index-modal: 500;
  --z-index-popover: 600;
  --z-index-tooltip: 700;

  /* ===== HEADER ===== */

  --header-height: 80px;
  --header-height-mobile: 70px;
  --header-height-scrolled: 60px;

  /* ===== GRID ===== */

  --grid-columns: 12;
  --grid-gap: 2rem;
  --grid-gap-mobile: 1rem;
}

/* ===== MOBILE OVERRIDES ===== */

@media (max-width: 767px) {
  :root {
    /* Font Sizes - Mobile */
    --font-size-h1: 2rem;        /* 32px */
    --font-size-h2: 1.75rem;     /* 28px */
    --font-size-h3: 1.5rem;      /* 24px */
    --font-size-h4: 1.25rem;     /* 20px */
    --font-size-h5: 1.125rem;    /* 18px */
    --font-size-h6: 1rem;        /* 16px */

    /* Spacing - Mobile */
    --spacing-xl: 2rem;     /* 48px -> 32px */
    --spacing-xxl: 3rem;    /* 64px -> 48px */
    --spacing-xxxl: 4rem;   /* 96px -> 64px */
  }
}
