/* ============================================================
   KMK DESIGN TOKENS & CSS VARIABLES
   ============================================================ */

:root {
  /* === PRIMARY PALETTE === */
  --clr-primary:        #7B1C2A;   /* Deep Maroon */
  --clr-primary-dark:   #561219;   /* Deeper Maroon */
  --clr-primary-light:  #A02535;   /* Brighter Maroon */
  --clr-accent:         #C9973A;   /* Warm Gold */
  --clr-accent-light:   #E3B75A;   /* Light Gold */
  --clr-accent-dark:    #A67820;   /* Deep Gold */

  /* === NEUTRALS === */
  --clr-charcoal:       #1E1E1E;
  --clr-dark:           #2C2C2C;
  --clr-mid:            #5A5A5A;
  --clr-muted:          #8A8A8A;
  --clr-border:         #DDD0C0;
  --clr-ivory:          #FBF7F2;
  --clr-ivory-dark:     #F3EDE3;
  --clr-white:          #FFFFFF;

  /* === SEMANTIC === */
  --clr-text:           var(--clr-charcoal);
  --clr-text-muted:     var(--clr-mid);
  --clr-bg:             var(--clr-ivory);
  --clr-surface:        var(--clr-white);
  --clr-surface-alt:    var(--clr-ivory-dark);

  /* === TYPOGRAPHY === */
  --font-display:       'Be Vietnam Pro',sans-serif;;
  --font-body:          'Be Vietnam Pro',sans-serif;
  --font-ui:            'Be Vietnam Pro',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:   3rem;
  --fs-5xl:   3.75rem;

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

  --lh-tight:   1.2;
  --lh-snug:    1.4;
  --lh-normal:  1.6;
  --lh-relaxed: 1.8;

  --ls-tight:  -0.02em;
  --ls-normal: 0;
  --ls-wide:   0.05em;
  --ls-wider:  0.1em;

  /* === SPACING === */
  --sp-1:   0.25rem;
  --sp-2:   0.5rem;
  --sp-3:   0.75rem;
  --sp-4:   1rem;
  --sp-5:   1.25rem;
  --sp-6:   1.5rem;
  --sp-8:   2rem;
  --sp-10:  2.5rem;
  --sp-12:  3rem;
  --sp-16:  4rem;
  --sp-20:  5rem;
  --sp-24:  6rem;
  --sp-32:  8rem;

  /* === LAYOUT === */
  --container-sm:   640px;
  --container-md:   768px;
  --container-lg:   1024px;
  --container-xl:   1280px;
  --container-2xl:  1400px;
  --container-pad:  clamp(1rem, 5vw, 3rem);

  /* === BORDERS & RADII === */
  --radius-sm:   4px;
  --radius-md:   8px;
  --radius-lg:   12px;
  --radius-xl:   20px;
  --radius-full: 9999px;
  --border-width: 1px;

  /* === SHADOWS === */
  --shadow-sm:  0 1px 3px rgba(0,0,0,0.08);
  --shadow-md:  0 4px 12px rgba(0,0,0,0.10);
  --shadow-lg:  0 8px 30px rgba(0,0,0,0.12);
  --shadow-xl:  0 20px 60px rgba(0,0,0,0.15);
  --shadow-gold: 0 4px 20px rgba(201,151,58,0.30);
  --shadow-maroon: 0 4px 20px rgba(123,28,42,0.25);

  /* === TRANSITIONS === */
  --ease-out:   cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in:    cubic-bezier(0.55, 0, 1, 0.45);
  --ease-inout: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-fast:   150ms;
  --dur-normal: 250ms;
  --dur-slow:   400ms;
  --dur-slower: 600ms;

  /* === Z-INDEX === */
  --z-below:   -1;
  --z-base:     0;
  --z-float:   10;
  --z-sticky:  100;
  --z-overlay: 200;
  --z-modal:   300;
  --z-toast:   400;
}

/* Reduced motion overrides */
@media (prefers-reduced-motion: reduce) {
  :root {
    --dur-fast:   0ms;
    --dur-normal: 0ms;
    --dur-slow:   0ms;
    --dur-slower: 0ms;
  }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
