/* ==========================================================================
   HAMCO Sports News - CSS Custom Properties
   Global design tokens for colors, typography, spacing, and layout
   ========================================================================== */

:root {
  /* ---- Brand Colors ---- */
  --hn-red: #FE0000;
  --hn-red-hover: #D50000;
  --hn-red-light: rgba(254, 0, 0, 0.1);
  --hn-black: #111;
  --hn-white: #fff;

  /* ---- Neutral Scale ---- */
  --hn-gray-100: #F7F7F7;
  --hn-gray-200: #EFEFEF;
  --hn-gray-300: #E0E0E0;
  --hn-gray-400: #BDBDBD;
  --hn-gray-500: #9E9E9E;
  --hn-gray-600: #757575;
  --hn-gray-700: #616161;
  --hn-gray-800: #424242;
  --hn-gray-900: #212121;

  /* ---- Semantic Colors ---- */
  --hn-bg: #F5F5F5;
  --hn-card-bg: #fff;
  --hn-text: #111;
  --hn-text-muted: #757575;
  --hn-text-light: #9E9E9E;
  --hn-border: #E0E0E0;
  --hn-green: #00C853;
  --hn-green-glow: rgba(0, 200, 83, 0.4);
  --hn-link: #FE0000;
  --hn-link-hover: #D50000;
  --hn-overlay: rgba(0, 0, 0, 0.6);

  /* ---- Typography ---- */
  --hn-font-headline: 'Oswald', 'Arial Narrow', sans-serif;
  --hn-font-subheading: 'Source Sans 3', 'Segoe UI', sans-serif;
  --hn-font-ui: 'Source Sans 3', 'Segoe UI', sans-serif;
  --hn-font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

  /* ---- Font Sizes ---- */
  --hn-text-xs: 0.75rem;    /* 12px */
  --hn-text-sm: 0.875rem;   /* 14px */
  --hn-text-base: 1rem;     /* 16px */
  --hn-text-md: 1.125rem;   /* 18px */
  --hn-text-lg: 1.25rem;    /* 20px */
  --hn-text-xl: 1.5rem;     /* 24px */
  --hn-text-2xl: 2rem;      /* 32px */
  --hn-text-3xl: 2.5rem;    /* 40px */
  --hn-text-4xl: 3rem;      /* 48px */
  --hn-text-5xl: 3.5rem;    /* 56px */

  /* ---- Spacing Scale ---- */
  --hn-space-1: 0.25rem;    /* 4px */
  --hn-space-2: 0.5rem;     /* 8px */
  --hn-space-3: 0.75rem;    /* 12px */
  --hn-space-4: 1rem;       /* 16px */
  --hn-space-5: 1.25rem;    /* 20px */
  --hn-space-6: 1.5rem;     /* 24px */
  --hn-space-8: 2rem;       /* 32px */
  --hn-space-10: 2.5rem;    /* 40px */
  --hn-space-12: 3rem;      /* 48px */
  --hn-space-16: 4rem;      /* 64px */
  --hn-space-20: 5rem;      /* 80px */
  --hn-space-24: 6rem;      /* 96px */

  /* ---- Border Radius ---- */
  --hn-radius-sm: 4px;
  --hn-radius-md: 8px;
  --hn-radius-lg: 12px;
  --hn-radius-xl: 16px;
  --hn-radius-full: 9999px;

  /* ---- Shadows ---- */
  --hn-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);
  --hn-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.1);
  --hn-shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.12);
  --hn-shadow-xl: 0 12px 40px rgba(0, 0, 0, 0.16);
  --hn-shadow-card: 0 2px 8px rgba(0, 0, 0, 0.06);
  --hn-shadow-card-hover: 0 8px 24px rgba(0, 0, 0, 0.14);

  /* ---- Transitions ---- */
  --hn-transition-fast: 150ms ease;
  --hn-transition-base: 250ms ease;
  --hn-transition-slow: 400ms ease;
  --hn-transition-color: color 250ms ease, background-color 250ms ease, border-color 250ms ease;

  /* ---- Z-Index Scale ---- */
  --hn-z-base: 1;
  --hn-z-dropdown: 100;
  --hn-z-sticky: 200;
  --hn-z-header: 300;
  --hn-z-overlay: 400;
  --hn-z-modal: 500;
  --hn-z-popover: 600;
  --hn-z-toast: 700;
  --hn-z-breaking: 800;
  --hn-z-max: 9999;

  /* ---- Container Widths ---- */
  --hn-container-sm: 640px;
  --hn-container-md: 768px;
  --hn-container-lg: 1024px;
  --hn-container-xl: 1280px;
  --hn-container-max: 1400px;

  /* ---- Content Layout ---- */
  --hn-content-width: 720px;
  --hn-sidebar-width: 320px;
  --hn-content-gap: 2rem;

  /* ---- Breakpoints (reference values, use in media queries) ---- */
  /* --hn-bp-sm: 480px;  */
  /* --hn-bp-md: 768px;  */
  /* --hn-bp-lg: 1024px; */
  /* --hn-bp-xl: 1280px; */
  /* --hn-bp-2xl: 1400px; */

  /* ---- Misc ---- */
  --hn-header-height: 120px;
  --hn-header-height-sticky: 56px;
  --hn-ticker-height: 48px;
  --hn-breaking-height: 40px;
}
