/* ─────────────────────────────────────────────────────────────
   توکن‌های دیزاین‌سیستم — استخراج‌شده از پروتوتایپ‌ها
   هیچ رنگ یا فاصله‌ای خارج از این فایل hardcode نمی‌شود.
   ───────────────────────────────────────────────────────────── */

:root {
  /* ── رنگ برند ─────────────────────────────────────────────── */
  --navy-900: #071a34;
  --navy-800: #0b2545;
  --navy-700: #123059;
  --navy-600: #1b406f;
  --navy-500: #2a5488;

  --orange-600: #e06a10;
  --orange-500: #f47b20;
  --orange-400: #ff9440;
  --orange-100: #ffeadb;

  /* ── خاکستری ──────────────────────────────────────────────── */
  --gray-900: #16202e;
  --gray-800: #2c3a4d;
  --gray-700: #45566c;
  --gray-600: #64748b;
  --gray-500: #8896a8;
  --gray-400: #b3bfcd;
  --gray-300: #d5dde6;
  --gray-200: #e7edf3;
  --gray-100: #f1f5f9;
  --gray-50: #f7fafc;
  --white: #ffffff;

  /* ── معنایی ───────────────────────────────────────────────── */
  --success: #16a34a;
  --success-bg: #e8f7ee;
  --warning: #d97706;
  --danger: #dc2626;
  --info: #0284c7;

  --bg-body: var(--white);
  --bg-subtle: var(--gray-50);
  --bg-section: var(--gray-100);
  --text-strong: var(--navy-800);
  --text-body: var(--gray-700);
  --text-muted: var(--gray-600);
  --border: var(--gray-200);
  --border-strong: var(--gray-300);

  /* ── تایپوگرافی ───────────────────────────────────────────── */
  --font-sans: 'Vazirmatn', 'Segoe UI', Tahoma, system-ui, sans-serif;

  --fs-xs: 0.75rem;    /* 12 */
  --fs-sm: 0.8125rem;  /* 13 */
  --fs-base: 0.875rem; /* 14 */
  --fs-md: 1rem;       /* 16 */
  --fs-lg: 1.125rem;   /* 18 */
  --fs-xl: 1.375rem;   /* 22 */
  --fs-2xl: 1.75rem;   /* 28 */
  --fs-3xl: 2.25rem;   /* 36 */
  --fs-4xl: 3rem;      /* 48 */

  --lh-tight: 1.35;
  --lh-normal: 1.7;
  --lh-loose: 2;

  --fw-normal: 400;
  --fw-medium: 500;
  --fw-bold: 700;
  --fw-black: 800;

  /* تصحیح بصری ارقام فارسی:
     ارقام فارسی در وزیرمتن نزول (descender) ندارند (actualDescent = 0)،
     ولی کادرِ فونت زیر خط پایه فضا نگه می‌دارد (asc 1025 / desc 537 در
     em=1000). پس وقتی کادرِ خط وسط‌چین شود، جوهرِ رقم حدود ۰٫۰۸۴em
     (وزن ۴۰۰) تا ۰٫۰۹۲em (وزن ۷۰۰) بالاتر از مرکز می‌افتد.
     این توکن دو برابر آن است و به‌صورت padding بالا اعمال می‌شود.
     مقدار از اندازه‌گیری در ۱۰۰۰px گرفته شده — در اندازه‌های کوچک
     رقم‌های اندازه‌گیری‌شده به‌خاطر رُند شدن رستر گمراه‌کننده‌اند. */
  --digit-optical-nudge: 0.18em;

  /* ── فاصله ────────────────────────────────────────────────── */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 2.5rem;
  --space-8: 3rem;
  --space-9: 4rem;
  --space-10: 5rem;

  /* ── شعاع ─────────────────────────────────────────────────── */
  --radius-sm: 4px;
  --radius: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-full: 999px;

  /* ── سایه ─────────────────────────────────────────────────── */
  --shadow-xs: 0 1px 2px rgba(11, 37, 69, 0.05);
  --shadow-sm: 0 2px 8px rgba(11, 37, 69, 0.06);
  --shadow: 0 4px 16px rgba(11, 37, 69, 0.08);
  --shadow-lg: 0 12px 32px rgba(11, 37, 69, 0.12);

  /* ── چیدمان ───────────────────────────────────────────────── */
  --container: 1240px;
  --header-h: 72px;

  --transition: 180ms cubic-bezier(0.4, 0, 0.2, 1);

  --z-header: 100;
  --z-dropdown: 200;
  --z-modal: 400;
}
