/* ============================================================
   NOVIQUE FASHION LTD — Design Tokens
   ============================================================ */

:root {
  /* ── Colour Palette ────────────────────────────────────── */
  --ivory:       #f8f2ea;
  --warm-white:  #fffaf4;
  --espresso:    #211713;
  --soft-black:  #15110f;
  --taupe:       #a99182;
  --champagne:   #d4c1aa;
  --clay:        #b76f58;
  --rose-taupe:  #a97870;
  --stone:       #e8ded2;
  --sand:        #cdb9a4;
  --line:        rgba(33, 23, 19, 0.14);
  --muted:       #76665e;

  /* Footer */
  --footer-bg:   #1a1210;
  --footer-line: rgba(212, 193, 170, 0.18);

  /* ── Typography ───────────────────────────────────────── */
  --font-heading: 'Cormorant Garamond', 'Playfair Display', Georgia, serif;
  --font-body:    'Inter', 'DM Sans', system-ui, sans-serif;
  --font-label:   'Inter', 'DM Sans', system-ui, sans-serif;

  --text-xs:   0.6875rem;   /* 11px */
  --text-sm:   0.8125rem;   /* 13px */
  --text-base: 1rem;        /* 16px */
  --text-md:   1.125rem;    /* 18px */
  --text-lg:   1.25rem;     /* 20px */
  --text-xl:   1.5rem;      /* 24px */
  --text-2xl:  2rem;        /* 32px */
  --text-3xl:  2.75rem;     /* 44px */
  --text-4xl:  3.5rem;      /* 56px */
  --text-5xl:  4.5rem;      /* 72px */
  --text-hero: clamp(2.5rem, 5vw + 1rem, 5.25rem);
  --text-display: clamp(2rem, 4vw + 0.5rem, 4rem);
  --text-section: clamp(1.75rem, 3vw + 0.5rem, 3.25rem);

  --leading-tight:  1.15;
  --leading-snug:   1.3;
  --leading-normal: 1.6;
  --leading-loose:  1.8;

  --tracking-tight:  -0.025em;
  --tracking-normal: 0em;
  --tracking-wide:   0.06em;
  --tracking-wider:  0.1em;
  --tracking-widest: 0.18em;

  /* ── Spacing ──────────────────────────────────────────── */
  --space-1:  0.25rem;
  --space-2:  0.5rem;
  --space-3:  0.75rem;
  --space-4:  1rem;
  --space-5:  1.25rem;
  --space-6:  1.5rem;
  --space-8:  2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;
  --space-32: 8rem;
  --space-40: 10rem;

  --section-gap: clamp(4rem, 8vw, 8rem);
  --container:   1280px;
  --container-sm: 860px;

  /* ── Borders & Radius ─────────────────────────────────── */
  --radius-sm:  4px;
  --radius-md:  8px;
  --radius-lg:  16px;
  --radius-xl:  24px;
  --radius-pill: 999px;

  /* ── Shadows ──────────────────────────────────────────── */
  --shadow-soft:   0 2px 16px rgba(33, 23, 19, 0.06);
  --shadow-card:   0 4px 32px rgba(33, 23, 19, 0.08);
  --shadow-lift:   0 8px 48px rgba(33, 23, 19, 0.12);
  --shadow-strong: 0 16px 64px rgba(33, 23, 19, 0.16);

  /* ── Transitions ──────────────────────────────────────── */
  --ease-out:   cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in:    cubic-bezier(0.7, 0, 0.84, 0);
  --ease-inout: cubic-bezier(0.87, 0, 0.13, 1);
  --duration-fast:   160ms;
  --duration-base:   280ms;
  --duration-slow:   480ms;
  --duration-slower: 700ms;

  /* ── Z-Index ──────────────────────────────────────────── */
  --z-below:    -1;
  --z-base:      0;
  --z-raised:   10;
  --z-dropdown: 100;
  --z-sticky:   200;
  --z-overlay:  300;
  --z-modal:    400;
  --z-toast:    500;
}

/* ── Reduced Motion ──────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  :root {
    --duration-fast:   0ms;
    --duration-base:   0ms;
    --duration-slow:   0ms;
    --duration-slower: 0ms;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
