/* ==========================================================================
   indiGUD — design tokens
   --------------------------------------------------------------------------
   Every colour here is sampled from the product packaging: the deep pine of
   the pouch, the lime of the wordmark, the amber of the jaggery itself and the
   warm paper cream of the shelf. Nothing else is introduced.
   ========================================================================== */

:root {
  /* --- Brand: pouch pine ------------------------------------------------ */
  --forest-950: #041814;
  --forest-900: #06231e;
  --forest-800: #0a2f28;
  --forest-700: #0e3b34; /* the pouch */
  --forest-600: #145046;
  --forest-500: #1c6659;
  --forest-400: #2f8574;

  /* --- Brand: wordmark lime --------------------------------------------- */
  --lime-600: #7e9e1f;
  --lime-500: #9dc22c;
  --lime-400: #b7d935; /* the wordmark */
  --lime-300: #cbe667;
  --lime-200: #e0f2a4;
  --lime-100: #eef8d3;

  /* --- Brand: jaggery amber --------------------------------------------- */
  --amber-700: #8a5620;
  --amber-600: #a86c28;
  --amber-500: #c9863a; /* the jaggery */
  --amber-400: #dda65c;
  --amber-300: #eec894;
  --amber-200: #f7e3c4;

  /* --- Neutrals: paper cream -------------------------------------------- */
  --cream-50: #fdfaf3;
  --cream-100: #f8f3e7;
  --cream-200: #efe7d4;
  --cream-300: #e2d7bd;
  --cream-400: #cbbc9c;

  --ink-900: #0a1a17;
  --ink-700: #22322e;
  --ink-500: #4b5b56;
  --ink-400: #6c7c76;
  --ink-300: #93a19b;

  --white: #ffffff;

  /* --- Semantic --------------------------------------------------------- */
  --color-bg: var(--cream-50);
  --color-bg-alt: var(--cream-100);
  --color-surface: var(--white);
  --color-surface-sunken: var(--cream-100);
  --color-ink: var(--ink-900);
  --color-ink-muted: var(--ink-500);
  --color-ink-subtle: var(--ink-400);
  --color-border: var(--cream-300);
  --color-border-soft: var(--cream-200);

  --color-primary: var(--forest-700);
  --color-primary-hover: var(--forest-600);
  --color-accent: var(--lime-400);
  --color-accent-strong: var(--lime-500);
  --color-highlight: var(--amber-500);

  --color-on-primary: var(--cream-50);
  --color-on-accent: var(--forest-900);

  --color-success: #2f8f5b;
  --color-success-bg: #e5f4ec;
  --color-warning: #b57614;
  --color-warning-bg: #fbf0da;
  --color-danger: #b3402f;
  --color-danger-bg: #fbe9e6;
  --color-info: var(--forest-600);
  --color-info-bg: #e4efec;

  /* --- Typography ------------------------------------------------------- */
  --font-display: 'Poppins', 'Segoe UI', system-ui, -apple-system, sans-serif;
  --font-body: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif;
  --font-pack: 'Comfortaa', 'Poppins', system-ui, sans-serif;

  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.3rem;

  /* Fluid display sizes — no media queries needed for headings. */
  --text-2xl: clamp(1.5rem, 1.25rem + 1.1vw, 1.95rem);
  --text-3xl: clamp(1.85rem, 1.45rem + 1.8vw, 2.6rem);
  --text-4xl: clamp(2.25rem, 1.65rem + 2.7vw, 3.5rem);
  --text-5xl: clamp(2.5rem, 1.75rem + 3.4vw, 4.15rem);

  --leading-tight: 1.1;
  --leading-snug: 1.28;
  --leading-normal: 1.6;
  --leading-relaxed: 1.75;

  --tracking-tight: -0.022em;
  --tracking-normal: 0;
  --tracking-wide: 0.06em;
  --tracking-widest: 0.22em;

  /* --- Space ------------------------------------------------------------ */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 2.5rem;
  --space-8: 3rem;
  --space-9: 4rem;
  --space-10: 5rem;
  --space-11: 6.5rem;

  /* Vertical rhythm between full-bleed sections. */
  --section-y: clamp(3.5rem, 2rem + 6vw, 7rem);
  --container-max: 1220px;
  --container-narrow: 760px;
  --gutter: clamp(1.15rem, 0.6rem + 2.4vw, 2.75rem);

  /* --- Radius ----------------------------------------------------------- */
  --radius-xs: 6px;
  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-lg: 24px;
  --radius-xl: 34px;
  --radius-pill: 999px;

  /* --- Elevation -------------------------------------------------------- */
  --shadow-xs: 0 1px 2px rgba(10, 26, 23, 0.05);
  --shadow-sm: 0 2px 8px rgba(10, 26, 23, 0.06);
  --shadow-md: 0 10px 30px -12px rgba(10, 26, 23, 0.18);
  --shadow-lg: 0 26px 60px -24px rgba(10, 26, 23, 0.3);
  --shadow-glow: 0 18px 44px -18px rgba(183, 217, 53, 0.55);

  /* --- Motion ----------------------------------------------------------- */
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --duration-fast: 140ms;
  --duration-base: 260ms;
  --duration-slow: 620ms;

  --header-height: 76px;
  --focus-ring: 0 0 0 3px rgba(183, 217, 53, 0.5);
}

@media (max-width: 640px) {
  :root {
    --header-height: 64px;
  }
}
