/* ==========================================================================
   Lamaze Elegance — Design Tokens
   Ported verbatim from design_handoff_lamaze_elegance/01-design-system.md
   Do not hard-code hex values or font sizes anywhere else in the theme —
   reference these custom properties instead.
   ========================================================================== */

:root {
  /* Burgundy — the velvet (primary brand) */
  --c-burgundy-deep: #4A0F1E;
  --c-burgundy:      #5C1A2B;
  --c-wine:          #7A2438;
  --c-rose:          #B85A6B;

  /* Pinks — the bloom (surfaces, romance) */
  --c-blush-deep:    #E89BAA;
  --c-pink:          #F2C7D1;
  --c-blush:         #F8DCDF;
  --c-petal:         #FBE9EC;

  /* Neutrals — the room */
  --c-champagne:     #C9A24C;
  --c-gold-deep:     #9C7A2E;
  --c-cream:         #FBF6EE;
  --c-ivory:         #FBF7F2;
  --c-paper:         #F5EFE6;
  --c-ink:           #2A1419;
  --c-ink-soft:      #5C3F46;
  --c-mute:          #9C8088;
  --c-line:          #E8D8DC;

  /* Fonts */
  --f-display:  "Bodoni Moda", "Bodoni 72", "Didot", serif;
  --f-headline: "Italiana", "Bodoni 72", serif;
  --f-script:   "Pinyon Script", "Allura", cursive;
  --f-body:     "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;

  /* Type scale (rem, root 16px) */
  --t-display-xl: clamp(3.5rem, 4vw + 3rem, 11.5rem);
  --t-display-lg: clamp(2.75rem, 3vw + 2rem, 7.5rem);
  --t-display-md: clamp(2.25rem, 2vw + 1.5rem, 4.5rem);
  --t-display-sm: clamp(1.5rem, 1vw + 1.25rem, 3rem);
  --t-h3:        1.625rem;
  --t-body-lg:   1.0625rem;
  --t-body:      1rem;
  --t-body-sm:   0.875rem;
  --t-eyebrow:   0.6875rem;
  --t-tag:       0.625rem;

  /* Spacing (8px base) */
  --s-1: 4px;
  --s-2: 8px;
  --s-3: 12px;
  --s-4: 16px;
  --s-5: 20px;
  --s-6: 24px;
  --s-8: 32px;
  --s-10: 40px;
  --s-12: 48px;
  --s-14: 56px;
  --s-16: 64px;
  --s-20: 80px;
  --s-24: 96px;
  --s-28: 112px;

  /* Radius */
  --r-sm: 4px;
  --r-md: 8px;
  --r-lg: 12px;
  --r-xl: 24px;
  --r-full: 9999px;

  /* Shadows — always burgundy-tinted */
  --shadow-xs: 0 1px 2px rgba(74,15,30,0.04), 0 1px 1px rgba(74,15,30,0.03);
  --shadow-sm: 0 6px 18px rgba(74,15,30,0.06);
  --shadow-md: 0 12px 28px rgba(74,15,30,0.12);
  --shadow-lg: 0 30px 60px rgba(74,15,30,0.18);
  --shadow-xl: 0 30px 80px rgba(74,15,30,0.25);

  /* Motion */
  --ease-default: cubic-bezier(0.2, 0.7, 0.3, 1);
  --motion-fast: 180ms;

  /* Layout */
  --page-pad-desktop: var(--s-14);
  --page-pad-mobile: var(--s-5);
  --section-pad-desktop: var(--s-24);
  --section-pad-mobile: var(--s-12);
  --max-width: 1440px;
}

@media (prefers-reduced-motion: reduce) {
  :root { --motion-fast: 0ms; }
  *, *::before, *::after { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; scroll-behavior: auto !important; }
}
