/* ============================================================
   NIVI Design Tokens — "Digital Agrarian" Design System
   Source of truth: DESIGN.md + components_kit_variation
   ============================================================ */

:root {
  /* ── Brand Colors ── */
  --primary: #0d631b;
  --primary-container: #2e7d32;
  --primary-fixed: #a3f69c;
  --on-primary: #ffffff;
  --on-primary-fixed: #0a3d12;

  --secondary: #206393;
  --secondary-container: #2980b9;
  --secondary-fixed: #b3d9f2;
  --on-secondary: #ffffff;
  --on-secondary-fixed: #0d3b5c;

  --tertiary: #923357;
  --tertiary-container: #b34d6e;
  --on-tertiary: #ffffff;

  /* ── Surface Hierarchy (The "Georgian Paper" Layers) ── */
  --surface: #f8f9fa;
  --surface-container-lowest: #ffffff;
  --surface-container-low: #f3f4f5;
  --surface-container: #edeef0;
  --surface-container-high: #e7e8ea;
  --surface-container-highest: #dfe0e2;

  /* ── Text ── */
  --on-surface: #191c1d;
  --on-surface-variant: #40493d;
  --outline-variant: #bfcaba;

  /* ── Semantic ── */
  --success: #0d631b;
  --success-bg: #e8f5e9;
  --warning: #e65100;
  --warning-bg: #fff3e0;
  --error: #c62828;
  --error-bg: #ffebee;
  --info: #206393;
  --info-bg: #e3f2fd;

  /* ── Status badges ── */
  --status-active: #0d631b;
  --status-active-bg: #e8f5e9;
  --status-pending: #e65100;
  --status-pending-bg: #fff3e0;
  --status-rejected: #c62828;
  --status-rejected-bg: #ffebee;
  --status-closed: #616161;
  --status-closed-bg: #f5f5f5;
  --status-sold: #206393;
  --status-sold-bg: #e3f2fd;

  /* ── Typography ── */
  --font-body: 'Inter', 'Noto Sans Armenian', 'Noto Sans Georgian', system-ui, sans-serif;
  --font-display: 'Inter', 'Noto Sans Armenian', 'Noto Sans Georgian', system-ui, sans-serif;

  /* Display */
  --display-lg: 3.5rem;
  --display-md: 2.75rem;
  --display-sm: 2.25rem;
  /* Headline */
  --headline-lg: 2rem;
  --headline-md: 1.75rem;
  --headline-sm: 1.5rem;
  /* Title */
  --title-lg: 1.375rem;
  --title-md: 1.125rem;
  --title-sm: 1rem;
  /* Body */
  --body-lg: 1rem;
  --body-md: 0.875rem;
  --body-sm: 0.8125rem;
  /* Label */
  --label-lg: 0.875rem;
  --label-md: 0.75rem;
  --label-sm: 0.6875rem;

  --leading-tight: 1.2;
  --leading-normal: 1.5;
  --leading-relaxed: 1.65;
  --tracking-tight: -0.02em;
  --tracking-normal: 0;

  /* ── Spacing Scale ── */
  --sp-0: 0;
  --sp-1: 0.25rem;   /* 4px */
  --sp-2: 0.5rem;    /* 8px */
  --sp-3: 1rem;      /* 16px */
  --sp-4: 1.25rem;   /* 20px */
  --sp-5: 1.5rem;    /* 24px */
  --sp-6: 2rem;      /* 32px */
  --sp-7: 2.5rem;    /* 40px */
  --sp-8: 3rem;      /* 48px */
  --sp-9: 3.5rem;    /* 56px — min touch target */
  --sp-10: 4rem;     /* 64px */

  /* ── Radius (no sharp corners, ever) ── */
  --radius-md: 0.5rem;
  --radius-lg: 0.75rem;
  --radius-xl: 1rem;
  --radius-2xl: 1.5rem;
  --radius-full: 9999px;

  /* ── Shadows (Atmospheric, not digital) ── */
  --shadow-sm: 0 1px 3px rgba(25, 28, 29, 0.04);
  --shadow-md: 0 4px 12px rgba(25, 28, 29, 0.06);
  --shadow-lg: 0 8px 24px rgba(25, 28, 29, 0.06);
  --shadow-xl: 0 20px 40px rgba(25, 28, 29, 0.04);
  --shadow-glass: 0 4px 30px rgba(25, 28, 29, 0.06);

  /* ── Glass (for nav) ── */
  --glass-bg: rgba(255, 255, 255, 0.8);
  --glass-blur: 20px;

  /* ── Z-index ── */
  --z-base: 1;
  --z-dropdown: 10;
  --z-sticky: 20;
  --z-header: 50;
  --z-modal-backdrop: 90;
  --z-modal: 100;
  --z-toast: 110;
  --z-dev: 999;

  /* ── Transitions ── */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --duration-fast: 150ms;
  --duration-normal: 250ms;
  --duration-slow: 400ms;

  /* ── Layout ── */
  --container-max: 1440px;
  --content-max: 960px;
  --sidebar-width: 280px;
  --header-height: 64px;
  --bottom-nav-height: 64px;
  /* Dark theme removed — may be added in a future phase */
}
