/* ==========================================================================
   Kedn Hub — Design Tokens
   Premium neutral palette + champagne/gold accent, editorial type scale,
   spacing and motion tokens. Consumed by style.css and page stylesheets.
   ========================================================================== */

:root {
  /* ---- Color: neutrals ---- */
  --color-black: #0b0a08;
  --color-charcoal: #23211e;
  --color-charcoal-soft: #3a3733;
  --color-warm-neutral: #d9d0c3;
  --color-warm-neutral-soft: #ece6db;
  --color-off-white: #f7f4ee;
  --color-white: #ffffff;

  /* ---- Color: accent (champagne / gold — use sparingly) ---- */
  --color-gold: #b6924f;
  --color-gold-strong: #9c7a3c;
  --color-gold-tint: #e9dcbf;

  /* ---- Color: hero accent (homepage hero + category grid only — see
     home.css. Not used as the sitewide accent, which stays gold above.) ---- */
  --color-lime: #a8e02c;
  --color-lime-strong: #8fc422;
  --color-lime-tint: #d9f79e;
  --color-hero-green: #16261b;
  --color-hero-green-deep: #0c1610;

  /* ---- Color: semantic ---- */
  --color-bg: var(--color-off-white);
  --color-surface: var(--color-white);
  --color-text: var(--color-black);
  --color-text-muted: var(--color-charcoal-soft);
  --color-border: var(--color-warm-neutral);
  --color-accent: var(--color-gold);
  --color-accent-strong: var(--color-gold-strong);
  --color-inverse-bg: var(--color-black);
  --color-inverse-text: var(--color-off-white);
  --color-danger: #a8402f;
  --color-hairline: rgba(11, 10, 8, 0.08);
  --color-hairline-inverse: rgba(247, 244, 238, 0.14);

  /* ---- Typography ---- */
  --font-display: "Fraunces", "Iowan Old Style", "Palatino Linotype", serif;
  --font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --text-hero: clamp(2.75rem, 2rem + 3.2vw, 5.5rem);
  --text-h1: clamp(2.25rem, 1.75rem + 2.2vw, 3.75rem);
  --text-h2: clamp(1.75rem, 1.45rem + 1.4vw, 2.75rem);
  --text-h3: clamp(1.375rem, 1.2rem + 0.8vw, 1.875rem);
  --text-body-lg: clamp(1.0625rem, 1rem + 0.3vw, 1.25rem);
  --text-body: 1rem;
  --text-small: 0.875rem;
  --text-label: 0.75rem;

  --leading-tight: 1.08;
  --leading-snug: 1.25;
  --leading-normal: 1.55;

  --tracking-tight: -0.01em;
  --tracking-normal: 0;
  --tracking-wide: 0.08em;
  --tracking-wider: 0.16em;

  /* ---- Spacing (4px base scale) ---- */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;
  --space-9: 6rem;
  --space-10: 8rem;

  /* ---- Layout ---- */
  --container-max: 90rem;
  --container-pad: clamp(1.25rem, 4vw, 3rem);
  --header-height: 4.5rem;

  /* ---- Radius (kept small — premium, not bubbly) ---- */
  --radius-sm: 2px;
  --radius-md: 4px;
  --radius-pill: 999px;

  /* ---- Elevation (subtle only) ---- */
  --shadow-xs: 0 1px 1px rgba(11, 10, 8, 0.04);
  --shadow-sm: 0 1px 2px rgba(11, 10, 8, 0.06);
  --shadow-md: 0 8px 24px rgba(11, 10, 8, 0.08);
  --shadow-lg: 0 16px 48px rgba(11, 10, 8, 0.12);

  /* ---- Motion ---- */
  --ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --duration-fast: 150ms;
  --duration-standard: 250ms;
  --duration-slow: 420ms;
  --duration-slower: 700ms;

  /* ---- Z-index scale ---- */
  --z-header: 100;
  --z-mega-menu: 110;
  --z-mobile-nav: 120;
  --z-overlay: 130;
}

/* Breakpoints (documented — media queries are written inline in style.css):
   --bp-sm: 480px   phones
   --bp-md: 768px   tablets
   --bp-lg: 1024px  small laptops / mega menu breakpoint
   --bp-xl: 1280px  desktop
   --bp-2xl: 1536px large monitors
*/
