/* Design Tokens - Brand Variables + Responsive typography */

/* Responsive root: scale down on small viewports so text doesn’t dominate */
html {
  font-size: clamp(12px, 1.8vw + 10px, 16px);
}

:root {
  /* Brand Colors */
  --color-primary: #FEBD16;
  --color-primary-dark: #E5A915;
  --color-primary-light: #FFD54F;
  
  /* Secondary Colors */
  --color-secondary: #6C757D;
  --color-secondary-dark: #5A6268;
  --color-secondary-light: #868E96;
  
  /* Text Colors */
  --color-text-primary: #212529;
  --color-text-secondary: #6C757D;
  --color-text-light: #FFFFFF;
  --color-text-muted: #868E96;
  /* Text on primary-colored UI (buttons, nav pills): dark for contrast on bright primary */
  --color-on-primary: #212529;
  
  /* Background Colors */
  --color-bg-primary: #FFFFFF;
  --color-bg-secondary: #F8F9FA;
  --color-bg-dark: #212529;
  
  /* Link Colors */
  --color-link: #FEBD16;
  --color-link-hover: #E5A915;
  --color-link-visited: #D49814;
  
  /* Status Colors */
  --color-success: #28A745;
  --color-error: #DC3545;
  --color-warning: #FFC107;
  --color-info: #17A2B8;
  
  /* Typography */
  --font-primary: Verdana, Geneva, sans-serif;
  --font-weight-normal: 400;
  --font-weight-bold: 700;
  
  /* Fluid font sizes (scale with viewport, stay within min/max) */
  --font-size-xs: clamp(0.65rem, 1.2vw + 0.5rem, 0.75rem);
  --font-size-sm: clamp(0.75rem, 1.4vw + 0.5rem, 0.875rem);
  --font-size-base: clamp(0.8125rem, 1.6vw + 0.5rem, 1rem);
  --font-size-lg: clamp(0.9375rem, 1.8vw + 0.5rem, 1.125rem);
  --font-size-xl: clamp(1rem, 2vw + 0.5rem, 1.25rem);
  --font-size-2xl: clamp(1.125rem, 2.5vw + 0.5rem, 1.5rem);
  --font-size-3xl: clamp(1.25rem, 3vw + 0.5rem, 1.875rem);
  --font-size-4xl: clamp(1.375rem, 4vw + 0.5rem, 2.25rem);
  
  /* Line Heights */
  --line-height-tight: 1.25;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.75;
  
  /* Spacing (use rem so it scales with html font-size) */
  --spacing-xs: 0.25rem;
  --spacing-sm: 0.5rem;
  --spacing-md: 1rem;
  --spacing-lg: 1.5rem;
  --spacing-xl: 2rem;
  --spacing-2xl: 3rem;
  --spacing-3xl: 4rem;
  
  /* Border Radius */
  --border-radius-sm: 0.25rem;
  --border-radius-md: 0.5rem;
  --border-radius-lg: 1rem;
  --border-radius-full: 9999px;
  
  /* Shadows */
  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  
  /* Transitions */
  --transition-fast: 150ms ease-in-out;
  --transition-normal: 300ms ease-in-out;
  --transition-slow: 500ms ease-in-out;

  /* Layout (fixed navbar/footer) */
  --navbar-height: 70px;
  --footer-height: 50px;
}

/* Apply primary font to body */
body {
  font-family: var(--font-primary);
  color: var(--color-text-primary);
  background-color: var(--color-bg-primary);
}

