/* ==========================================================================
   Design Tokens — BRL-Haus- und Garten GbR
   Single source of truth for color, type, spacing, radius, shadow, motion.
   ========================================================================== */

:root {
  /* Color — brand */
  --color-primary: #1e3a2f;        /* Waldgrün */
  --color-primary-dark: #142720;
  --color-primary-light: #2d5240;
  --color-bg: #f3f1e9;             /* Kalkstein */
  --color-surface: #ffffff;
  --color-ink: #33362f;            /* Schiefer */
  --color-ink-soft: #5b5d54;
  --color-accent: #b8862e;         /* Messing — decorative only, never body text */
  --color-accent-dark: #96701f;
  --color-border: #dad7c9;         /* Nebel */

  /* Color — service clusters */
  --color-garden-tint: #e9f1ea;
  --color-garden-icon: #2d5240;
  --color-clean-tint: #e9f0f2;
  --color-clean-icon: #4f6470;

  /* Color — feedback */
  --color-error: #a3311a;
  --color-error-bg: #fbeae6;
  --color-success: #1e3a2f;

  /* Typography */
  --font-display: "Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;
  --font-body: "Source Sans 3", "Segoe UI", system-ui, sans-serif;

  --fs-h1: clamp(2.25rem, 1.65rem + 2.6vw, 3.5rem);
  --fs-h2: clamp(1.75rem, 1.45rem + 1.3vw, 2.5rem);
  --fs-h3: 1.375rem;
  --fs-h4: 1.125rem;
  --fs-lead: clamp(1.0625rem, 1rem + 0.3vw, 1.25rem);
  --fs-body: 1rem;
  --fs-small: 0.875rem;
  --fs-caption: 0.75rem;

  --lh-heading: 1.15;
  --lh-body: 1.6;

  /* Spacing — 8px rhythm */
  --space-1: 0.5rem;   /* 8 */
  --space-2: 1rem;     /* 16 */
  --space-3: 1.5rem;   /* 24 */
  --space-4: 2rem;     /* 32 */
  --space-5: 3rem;     /* 48 */
  --space-6: 4rem;     /* 64 */
  --space-7: 6rem;     /* 96 */

  /* Shape */
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-full: 999px;

  /* Elevation */
  --shadow-sm: 0 1px 2px rgba(30, 58, 47, 0.06), 0 1px 1px rgba(30, 58, 47, 0.04);
  --shadow-md: 0 8px 24px -8px rgba(30, 58, 47, 0.18);
  --shadow-lg: 0 16px 48px -12px rgba(30, 58, 47, 0.28);

  /* Layout */
  --container-max: 1200px;
  --container-pad: clamp(1.25rem, 4vw, 2.5rem);

  /* Motion */
  --ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
  --duration-fast: 150ms;
  --duration-base: 250ms;
  --duration-slow: 500ms;

  /* Focus */
  --focus-ring: 0 0 0 3px rgba(184, 134, 46, 0.45);
}
