/* ==========================================================================
   DESIGN TOKENS — Maszyny Ogrodnicze
   Centralna definicja wszystkich zmiennych designu.
   Wszystkie inne pliki CSS odwoluja sie do tych tokenow — nigdy hardcoded wartosci.
   ========================================================================== */

/* --------------------------------------------------------------------------
   @font-face — Self-hosted fonty (RODO/GDPR compliant, bez Google Fonts API)
   Pliki WOFF2 w /assets/fonts/
   -------------------------------------------------------------------------- */

/* Outfit — naglowki */
@font-face {
  font-family: 'Outfit';
  src: url('../fonts/Outfit-Variable.woff2') format('woff2-variations');
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}

/* Inter — body text */
@font-face {
  font-family: 'Inter';
  src: url('../fonts/Inter-Variable.woff2') format('woff2-variations');
  font-weight: 400 500;
  font-style: normal;
  font-display: swap;
}

/* Playfair Display — akcenty, cytaty */
@font-face {
  font-family: 'Playfair Display';
  src: url('../fonts/PlayfairDisplay-Italic-Variable.woff2') format('woff2-variations');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

/* JetBrains Mono — ceny, specyfikacje */
@font-face {
  font-family: 'JetBrains Mono';
  src: url('../fonts/JetBrainsMono-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* --------------------------------------------------------------------------
   :root — Design tokens
   -------------------------------------------------------------------------- */

:root {
  /* === Kolory tla === */
  --color-bg-primary: #0d1a0d;
  --color-bg-secondary: #111f11;
  --color-bg-card: #162016;
  --color-bg-elevated: #1a2e1a;
  --color-bg-light: #f5f5f0;
  --color-bg-light-alt: #eaeae5;

  /* === Kolory tekstu === */
  --color-text-primary: #f0f0eb;
  --color-text-secondary: #a8b5a8;
  --color-text-muted: #6a7a6a;
  --color-text-dark: #1a1a1a;
  --color-text-dark-secondary: #4a4a4a;

  /* === Akcenty === */
  --color-accent-green: #5cb85c;
  --color-accent-green-hover: #4cae4c;
  --color-accent-green-active: #3d9b3d;
  --color-accent-green-light: rgba(92, 184, 92, 0.15);
  --color-accent-green-border: rgba(92, 184, 92, 0.3);

  --color-accent-gold: #c8a96e;
  --color-accent-gold-hover: #d4b87e;
  --color-accent-gold-light: rgba(200, 169, 110, 0.15);

  --color-accent-red: #e05252;
  --color-accent-red-hover: #c94444;
  --color-accent-red-light: rgba(224, 82, 82, 0.15);

  --color-accent-blue: #4a90d9;
  --color-accent-blue-hover: #3a80c9;
  --color-accent-blue-light: rgba(74, 144, 217, 0.15);

  /* === Borders === */
  --color-border: rgba(255, 255, 255, 0.08);
  --color-border-light: rgba(255, 255, 255, 0.12);
  --color-border-accent: rgba(92, 184, 92, 0.3);
  --color-border-dark: rgba(0, 0, 0, 0.1);

  /* === Typografia — font families === */
  --font-heading: 'Outfit', system-ui, -apple-system, sans-serif;
  --font-body: 'Inter', system-ui, -apple-system, sans-serif;
  --font-accent: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --font-mono: 'JetBrains Mono', 'Fira Code', 'Consolas', monospace;

  /* === Typografia — fluid type scale (clamp) === */
  --text-xs: clamp(0.7rem, 0.05vw + 0.68rem, 0.75rem);
  --text-sm: clamp(0.813rem, 0.08vw + 0.79rem, 0.875rem);
  --text-base: clamp(0.938rem, 0.12vw + 0.9rem, 1rem);
  --text-lg: clamp(1.125rem, 0.2vw + 1.07rem, 1.25rem);
  --text-xl: clamp(1.35rem, 0.35vw + 1.26rem, 1.563rem);
  --text-2xl: clamp(1.62rem, 0.55vw + 1.48rem, 1.953rem);
  --text-3xl: clamp(1.944rem, 0.8vw + 1.74rem, 2.441rem);
  --text-4xl: clamp(2.333rem, 1.1vw + 2.05rem, 3.052rem);
  --text-5xl: clamp(2.8rem, 1.5vw + 2.4rem, 3.815rem);

  /* === Typografia — line heights === */
  --leading-none: 1;
  --leading-tight: 1.15;
  --leading-snug: 1.3;
  --leading-normal: 1.7;
  --leading-relaxed: 1.8;

  /* === Typografia — font weights === */
  --weight-normal: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;

  /* === Spacing — system 8px grid === */
  --space-1: 0.25rem;   /* 4px */
  --space-2: 0.5rem;    /* 8px */
  --space-3: 0.75rem;   /* 12px */
  --space-4: 1rem;      /* 16px */
  --space-5: 1.5rem;    /* 24px */
  --space-6: 2rem;      /* 32px */
  --space-7: 2.5rem;    /* 40px */
  --space-8: 3rem;      /* 48px */
  --space-9: 4rem;      /* 64px */
  --space-10: 5rem;     /* 80px */
  --space-11: 6rem;     /* 96px */
  --space-12: 8rem;     /* 128px */

  /* === Layout === */
  --container-max: 1280px;
  --container-wide: 1440px;
  --container-narrow: 768px;
  --container-padding: clamp(1rem, 3vw, 2rem);
  --grid-gap: var(--space-5);

  /* === Borders & Radius === */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-full: 9999px;

  /* === Shadows === */
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 8px 30px rgba(0, 0, 0, 0.5);
  --shadow-xl: 0 16px 50px rgba(0, 0, 0, 0.6);
  --shadow-glow-green: 0 0 20px rgba(92, 184, 92, 0.2);
  --shadow-glow-gold: 0 0 20px rgba(200, 169, 110, 0.2);

  /* === Transitions === */
  --transition-fast: 150ms ease;
  --transition-base: 250ms ease;
  --transition-slow: 400ms ease;
  --transition-spring: 300ms cubic-bezier(0.34, 1.56, 0.64, 1);

  /* === Z-index scale === */
  --z-base: 1;
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-overlay: 300;
  --z-modal: 400;
  --z-toast: 500;
}
