/**
 * Design tokens - jedyne miejsce, w którym definiujemy kolory, typografię,
 * odstępy i inne wartości wielokrotnego użytku. Zmiana motywu kolorystycznego
 * odbywa się wyłącznie tutaj.
 */
:root {
  /* Kolory - tła */
  --color-bg: #0c0d0b;
  --color-bg-section: #151713;
  --color-bg-alt: #10140f;
  --color-bg-elevated: #1b1d18;
  --color-bg-header: rgba(12, 13, 11, 0.62);
  --color-bg-header-scrolled: rgba(12, 13, 11, 0.86);

  /* Kolory - tekst */
  --color-text: #ede6d6;
  --color-text-muted: #9a958a;
  --color-text-faint: #6f6b61;
  --color-text-inverse: #171a16;

  /* Kolory - akcent */
  --color-accent: #c08a4e;
  --color-accent-soft: rgba(192, 138, 78, 0.16);
  --color-accent-strong: #e0b876;
  --color-hero-badge-text: #ffffff;
  --hero-badge-text-stroke-width: 0.3px;
  --hero-badge-text-shadow:
    -0.35px 0 var(--color-accent),
    0.35px 0 var(--color-accent),
    0 -0.35px var(--color-accent),
    0 0.35px var(--color-accent),
    0 1px 3px rgba(0, 0, 0, 0.72);

  /* Obramowania */
  --color-border: rgba(237, 230, 214, 0.12);
  --color-border-strong: rgba(237, 230, 214, 0.22);
  --color-border-accent: rgba(192, 138, 78, 0.4);

  /* Stan */
  --color-success: #7fa87f;
  --color-error: #c96a4f;

  /* Typografia */
  --font-serif: Georgia, "Iowan Old Style", "Palatino Linotype", "Times New Roman", serif;
  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-script: "Segoe Script", "Bradley Hand", cursive;

  --fs-2xs: 0.75rem;
  --fs-xs: 0.8125rem;
  --fs-sm: 0.9375rem;
  --fs-base: 1rem;
  --fs-md: 1.125rem;
  --fs-lg: 1.375rem;
  --fs-xl: 1.75rem;
  --fs-2xl: 2.25rem;
  --fs-3xl: 3rem;
  --fs-4xl: 3.75rem;
  --fs-5xl: 4.75rem;

  --lh-tight: 1.15;
  --lh-snug: 1.35;
  --lh-normal: 1.6;
  --lh-relaxed: 1.75;

  /* Odstępy */
  --space-3xs: 0.25rem;
  --space-2xs: 0.5rem;
  --space-xs: 0.75rem;
  --space-sm: 1rem;
  --space-md: 1.5rem;
  --space-lg: 2.5rem;
  --space-xl: 4rem;
  --space-2xl: 6rem;
  --space-3xl: 9rem;

  /* Kontener */
  --container-width: 1280px;
  --container-narrow: 820px;
  --container-padding: clamp(1.25rem, 4vw, 3rem);

  /* Promienie i cienie */
  --radius-sm: 2px;
  --radius-md: 6px;
  --radius-lg: 14px;
  --shadow-soft: 0 20px 60px rgba(0, 0, 0, 0.35);
  --shadow-card: 0 12px 30px rgba(0, 0, 0, 0.25);

  /* Ruch */
  --duration-fast: 180ms;
  --duration-base: 320ms;
  --duration-slow: 700ms;
  --ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);

  /* Z-index */
  --z-header: 100;
  --z-dropdown: 110;
  --z-mobile-menu: 120;
  --z-modal: 200;
  --z-toast: 210;
}

@media (min-width: 768px) {
  :root {
    --fs-3xl: 3.5rem;
    --fs-4xl: 4.5rem;
    --fs-5xl: 6rem;
  }
}
