/* ============================================================
   DESIGN TOKENS — Coach Matt Garland Website
   All custom properties used site-wide.
   Mobile-first: values tuned for small screens, overridden
   via min-width media queries where needed.
   ============================================================ */

:root {
  /* --- Colors --- */
  --color-primary:        #1B5E9E;
  --color-primary-dark:   #0D3B6B;
  --color-primary-light:  #E8F1FA;
  --color-accent:         #F5A623;
  --color-accent-dark:    #D4891A;

  --color-bg:             #FFFFFF;
  --color-bg-alt:         #F7F9FC;
  --color-bg-dark:        #0D1B2A;

  --color-text:           #1A1A2E;
  --color-text-muted:     #6B7280;
  --color-text-inverse:   #FFFFFF;

  --color-border:         #E5E7EB;
  --color-border-focus:   #1B5E9E;

  --color-success:        #16A34A;
  --color-error:          #DC2626;
  --color-warning:        #D97706;

  /* --- Typography --- */
  --font-base: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
               'Helvetica Neue', Arial, sans-serif;

  /* Fluid type scale — clamp(min, preferred, max) */
  --text-xs:   clamp(0.75rem,  2vw,  0.875rem);
  --text-sm:   clamp(0.875rem, 2vw,  1rem);
  --text-base: clamp(1rem,     2.5vw, 1.125rem);
  --text-lg:   clamp(1.125rem, 3vw,  1.25rem);
  --text-xl:   clamp(1.25rem,  3.5vw, 1.5rem);
  --text-2xl:  clamp(1.5rem,   4vw,  2rem);
  --text-3xl:  clamp(1.875rem, 5vw,  2.5rem);
  --text-4xl:  clamp(2rem,     6vw,  3.25rem);
  --text-hero: clamp(2.25rem,  7vw,  4rem);

  --font-weight-normal:   400;
  --font-weight-medium:   500;
  --font-weight-semibold: 600;
  --font-weight-bold:     700;
  --font-weight-black:    900;

  --line-height-tight:  1.2;
  --line-height-snug:   1.4;
  --line-height-normal: 1.6;
  --line-height-loose:  1.8;

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

  /* Fluid section padding */
  --section-padding-y: clamp(3rem, 7vw, 6rem);
  --section-padding-x: clamp(1rem, 5vw, 2rem);

  /* --- Layout --- */
  --container-max:    1200px;
  --container-narrow: 800px;
  --header-height:    64px;
  --bottom-bar-height: 60px; /* mobile sticky CTA bar */

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

  /* --- Shadows --- */
  --shadow-xs: 0 1px 2px rgba(0,0,0,0.05);
  --shadow-sm: 0 1px 4px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.04);
  --shadow-md: 0 4px 12px rgba(0,0,0,0.10), 0 2px 4px rgba(0,0,0,0.06);
  --shadow-lg: 0 10px 30px rgba(0,0,0,0.12), 0 4px 8px rgba(0,0,0,0.06);
  --shadow-xl: 0 20px 50px rgba(0,0,0,0.15);

  /* --- Transitions --- */
  --transition-fast:   150ms ease;
  --transition-normal: 250ms ease;
  --transition-slow:   400ms ease;

  /* --- Z-index stack --- */
  --z-base:     0;
  --z-above:    10;
  --z-nav:      100;
  --z-modal:    200;
  --z-toast:    300;
}
