/**
 * PharmEtrade Design Tokens
 * Single source of truth for all design values.
 * Never use raw values anywhere — always reference a token.
 */

:root {
  /* ── Brand Colors ─────────────────────────────── */
  --color-navy:          #0D0D6E;
  --color-navy-dark:     #090950;
  --color-navy-mid:      #1a1a7e;
  --color-navy-light:    #2626a0;
  --color-green:         #00A878;
  --color-green-dark:    #007A57;
  --color-green-mid:     #00c48c;
  --color-green-light:   #e6f7f2;
  --color-green-subtle:  #f0fbf7;

  /* ── Backgrounds ──────────────────────────────── */
  --color-bg-canvas:     #F5F3EE;
  --color-bg-white:      #FFFFFF;
  --color-bg-section:    #F0EEE9;
  --color-bg-raised:     #FAFAF8;

  /* ── Text ─────────────────────────────────────── */
  --color-text-primary:   #1C1C1C;
  --color-text-secondary: #6B6860;
  --color-text-muted:     #9B9790;
  --color-text-inverse:   #FFFFFF;
  --color-text-link:      var(--color-navy);

  /* ── Borders ──────────────────────────────────── */
  --color-border:         #E2DED6;
  --color-border-light:   #EDEBE6;
  --color-border-dark:    #C8C4BA;
  --color-border-white:   rgba(255,255,255,0.12);

  /* ── Semantic / Status ────────────────────────── */
  --color-success:        #00A878;
  --color-success-bg:     #e6f7f2;
  --color-warning:        #F5A623;
  --color-warning-bg:     #fff8ec;
  --color-danger:         #E8291C;
  --color-danger-bg:      #fef0ef;
  --color-hot:            #FF4D2E;
  --color-info:           #3B82F6;
  --color-info-bg:        #EFF6FF;

  /* ── Typography ───────────────────────────────── */
  --font-display: 'DM Serif Display', Georgia, 'Times New Roman', serif;
  --font-body:    'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono:    'DM Mono', 'Courier New', 'Lucida Console', monospace;

  /* ── Font Sizes ───────────────────────────────── */
  --text-2xs:  10px;
  --text-xs:   11px;
  --text-sm:   13px;
  --text-base: 16px;
  --text-md:   17px;
  --text-lg:   20px;
  --text-xl:   24px;
  --text-2xl:  32px;
  --text-3xl:  42px;
  --text-4xl:  56px;
  --text-hero: 68px;
  --text-display: 80px;

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

  /* ── Line Heights ─────────────────────────────── */
  --leading-tight:  1.1;
  --leading-snug:   1.3;
  --leading-base:   1.65;
  --leading-loose:  1.8;

  /* ── Letter Spacing ───────────────────────────── */
  --tracking-tight:  -0.02em;
  --tracking-normal:  0;
  --tracking-wide:    0.04em;
  --tracking-wider:   0.08em;
  --tracking-widest:  0.12em;

  /* ── Spacing Scale ────────────────────────────── */
  --space-1:   4px;
  --space-2:   8px;
  --space-3:   12px;
  --space-4:   16px;
  --space-5:   20px;
  --space-6:   24px;
  --space-8:   32px;
  --space-10:  40px;
  --space-12:  48px;
  --space-16:  64px;
  --space-20:  80px;
  --space-24:  96px;
  --space-32: 128px;

  /* Semantic spacing aliases */
  --space-xs:  var(--space-1);
  --space-sm:  var(--space-2);
  --space-md:  var(--space-4);
  --space-lg:  var(--space-6);
  --space-xl:  var(--space-10);
  --space-2xl: var(--space-16);
  --space-3xl: var(--space-24);

  /* ── Border Radii ─────────────────────────────── */
  --radius-none: 0;
  --radius-sm:   4px;
  --radius-md:   8px;
  --radius-lg:   12px;
  --radius-xl:   20px;
  --radius-2xl:  28px;
  --radius-pill: 9999px;
  --radius-full: 50%;

  /* ── Layout ───────────────────────────────────── */
  --max-width:      1200px;
  --max-width-sm:   640px;
  --max-width-md:   768px;
  --max-width-lg:   1024px;
  --nav-height:     64px;
  --gutter:         24px;

  /* ── Shadows ──────────────────────────────────── */
  --shadow-xs:  0 1px 2px rgba(0,0,0,0.05);
  --shadow-sm:  0 1px 4px rgba(0,0,0,0.07);
  --shadow-md:  0 4px 16px rgba(0,0,0,0.09);
  --shadow-lg:  0 12px 32px rgba(0,0,0,0.11);
  --shadow-xl:  0 24px 56px rgba(0,0,0,0.13);
  --shadow-inner: inset 0 1px 3px rgba(0,0,0,0.08);
  --shadow-green: 0 4px 20px rgba(0,168,120,0.28);
  --shadow-navy:  0 4px 20px rgba(13,13,110,0.25);

  /* ── Transitions ──────────────────────────────── */
  --ease-default: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-in:      cubic-bezier(0.4, 0, 1, 1);
  --ease-out:     cubic-bezier(0, 0, 0.2, 1);
  --ease-bounce:  cubic-bezier(0.34, 1.56, 0.64, 1);

  --duration-fast:   150ms;
  --duration-base:   250ms;
  --duration-slow:   400ms;
  --duration-slower: 600ms;

  --transition-fast: var(--duration-fast) var(--ease-default);
  --transition-base: var(--duration-base) var(--ease-default);
  --transition-slow: var(--duration-slow) var(--ease-default);

  /* ── Z-Index Scale ────────────────────────────── */
  --z-base:    0;
  --z-raised:  10;
  --z-overlay: 100;
  --z-sticky:  200;
  --z-navbar:  1000;
  --z-modal:   2000;
  --z-toast:   3000;
}
