/* Design tokens — Luční chata. Single source of truth for color,
   type and spacing so nothing in components.css uses a raw value. */
:root {
  /* Palette — warm, natural, no pure white as a dominant surface. */
  --forest: #33513f;
  --forest-dark: #21362a;
  --wood: #916b45;
  --wood-dark: #74532f;
  --wood-light: #c19a6b;
  --cream: #faf6ee;
  --cream-soft: #f2ece0;
  --ink: #1c2620;
  --ink-soft: #435146;
  --line: rgba(33, 54, 42, 0.14);
  --white: #ffffff;

  --surface: var(--cream);
  --surface-alt: var(--cream-soft);
  --text: var(--ink);
  --text-muted: var(--ink-soft);
  --accent: var(--wood);
  --brand: var(--forest);
  --brand-dark: var(--forest-dark);

  /* Type */
  --font-display: "Fraunces", "Iowan Old Style", serif;
  --font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;

  --fs-xs: clamp(0.8rem, 0.77rem + 0.15vw, 0.875rem);
  --fs-sm: clamp(0.9rem, 0.87rem + 0.15vw, 1rem);
  --fs-base: clamp(1rem, 0.97rem + 0.2vw, 1.125rem);
  --fs-md: clamp(1.15rem, 1.1rem + 0.3vw, 1.35rem);
  --fs-lg: clamp(1.5rem, 1.3rem + 1vw, 2rem);
  --fs-xl: clamp(2rem, 1.6rem + 2vw, 3rem);
  --fs-2xl: clamp(2.6rem, 1.9rem + 3.2vw, 4.4rem);
  --fs-3xl: clamp(3.2rem, 2.2rem + 4.8vw, 6rem);

  --lh-tight: 1.08;
  --lh-snug: 1.3;
  --lh-normal: 1.6;

  /* Spacing scale */
  --sp-3xs: 0.25rem;
  --sp-2xs: 0.5rem;
  --sp-xs: 0.75rem;
  --sp-sm: 1.25rem;
  --sp-md: clamp(1.75rem, 1.5rem + 1.2vw, 2.5rem);
  --sp-lg: clamp(2.5rem, 1.8rem + 3vw, 4.5rem);
  --sp-xl: clamp(4rem, 2.8rem + 5vw, 7rem);
  --sp-2xl: clamp(5rem, 3.2rem + 8vw, 10rem);

  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 20px;

  --shadow-sm: 0 2px 10px rgba(28, 38, 32, 0.08);
  --shadow-md: 0 12px 32px rgba(28, 38, 32, 0.14);
  --shadow-lg: 0 24px 64px rgba(28, 38, 32, 0.22);

  --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --duration-fast: 220ms;
  --duration-med: 420ms;
  --duration-slow: 900ms;

  --container-max: 1320px;
  --container-narrow: 780px;
  --gutter: clamp(1.25rem, 4vw, 3rem);
}
