/* ==========================================================================
   یاران کلاود — توکن‌های طراحی
   فیروزه و لاجورد: دو سنگ ایرانی. فیروزه سنگ امان است — همان چیزی که
   یک شرکت زیرساخت می‌فروشد.
   ========================================================================== */

:root {
	/* — برند — */
	--brand-50:  #ECFDF8;
	--brand-100: #D0F5EC;
	--brand-200: #A3E9DC;
	--brand-300: #6DD6C6;
	--brand-400: #38BDAE;
	--brand-500: #14A99B;
	--brand-600: #0D9488;   /* فیروزه‌ای — رنگ اصلی */
	--brand-700: #0B7A70;
	--brand-800: #0A5F58;
	--brand-900: #084A45;

	/* — لاجورد (متن، سطوح تیره، اقتدار) — */
	--ink-900: #07182B;
	--ink-800: #0B2540;   /* لاجوردی */
	--ink-700: #123556;
	--ink-600: #1E4A70;

	/* — کهربایی (فقط CTAهای اصلی) — */
	--amber-400: #FBBF24;
	--amber-500: #F59E0B;
	--amber-600: #D97706;

	/* — خاکستری گرم — */
	--grey-50:  #F8FAF9;
	--grey-100: #F1F5F4;
	--grey-200: #E3EAE8;
	--grey-300: #CBD5D2;
	--grey-400: #94A3A0;
	--grey-500: #64748B;
	--grey-600: #475569;
	--grey-700: #334155;

	/* — وضعیت — */
	--ok:    #16A34A;
	--warn:  #F59E0B;
	--err:   #DC2626;

	/* — نقش‌ها — */
	--bg:            #FFFFFF;
	--bg-soft:       var(--grey-50);
	--bg-sunken:     var(--grey-100);
	--bg-inverse:    var(--ink-800);
	--surface:       #FFFFFF;
	--border:        var(--grey-200);
	--border-strong: var(--grey-300);
	--text:          var(--ink-800);
	--text-soft:     var(--grey-500);
	--text-inverse:  #FFFFFF;
	--link:          var(--brand-700);

	/* — تایپوگرافی — */
	/* یک قلم: پیدا. تیتر و متن از یک خانواده‌اند و تفاوتشان از وزن می‌آید،
	   نه از دو خانوادهٔ جدا — که تا پیش از این استعداد و وزیرمتن بودند.

	   پنج وزن ثابت داریم: ۴۰۰، ۶۰۰، ۷۰۰، ۸۰۰، ۹۰۰. قلم متغیر نیست، پس
	   وزن میانی مثل ۵۲۰ وجود ندارد و مرورگر آن را به نزدیک‌ترین وزن
	   گرد می‌کند. در CSS فقط از همین پنج عدد استفاده کن؛ عددی غیر از
	   این‌ها، بی‌صدا به یکی از این‌ها تبدیل می‌شود و طرح را جابه‌جا می‌کند.

	   وزن‌ها و بازه‌های یونیکد در scripts/build_fonts.py تعریف شده‌اند و
	   assets/css/fonts.css از روی همان تولید می‌شود. */
	--font-display: "Peyda", "Segoe UI", Tahoma, sans-serif;
	--font-body:    "Peyda", "Segoe UI", Tahoma, sans-serif;
	--font-mono:    ui-monospace, "Cascadia Code", "Fira Code", Consolas, monospace;
	--font:         var(--font-body);   /* سازگاری با کد قدیمی */

	/* مقیاس سیال — با عرض صفحه نرم بالا و پایین می‌رود، بدون پرش ناگهانی */
	--fs-xs:   clamp(0.78rem, 0.760rem + 0.10vw, 0.84rem);
	--fs-sm:   clamp(0.86rem, 0.830rem + 0.14vw, 0.94rem);
	--fs-base: clamp(0.95rem, 0.920rem + 0.16vw, 1.03rem);
	--fs-md:   clamp(1.02rem, 0.980rem + 0.20vw, 1.12rem);
	--fs-lg:   clamp(1.15rem, 1.080rem + 0.34vw, 1.34rem);
	--fs-xl:   clamp(1.32rem, 1.200rem + 0.58vw, 1.62rem);
	--fs-2xl:  clamp(1.55rem, 1.340rem + 1.02vw, 2.05rem);
	--fs-3xl:  clamp(1.85rem, 1.500rem + 1.70vw, 2.70rem);
	--fs-4xl:  clamp(2.20rem, 1.620rem + 2.80vw, 3.60rem);

	/* ارتفاع خط — فارسی به‌خاطر زیرنویس و اعراب هوای بیشتری می‌خواهد */
	--lh-display: 1.30;   /* تیتر بزرگ */
	--lh-heading: 1.45;   /* تیتر متوسط */
	--lh-snug:    1.70;   /* توضیح کوتاه */
	--lh-body:    1.92;   /* متن معمولی */
	--lh-loose:   2.05;   /* مقالهٔ بلند */
	--lh-tight:   var(--lh-display);   /* سازگاری با کد قدیمی */

	/* وزن — با قلم متغیر، وزن‌های میانی هم در دسترس است */
	--w-normal: 400;
	--w-medium: 520;
	--w-semi:   600;
	--w-bold:   700;
	--w-black:  800;

	/* طول سطر: بیش از این، چشم مسیر برگشت را گم می‌کند */
	--measure:       68ch;
	--measure-tight: 56ch;

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

	/* — شکل — */
	--r-sm: 8px;
	--r-md: 12px;
	--r-lg: 18px;
	--r-xl: 26px;
	--r-pill: 999px;

	--shadow-sm: 0 1px 2px rgba(11, 37, 64, .06), 0 1px 3px rgba(11, 37, 64, .05);
	--shadow-md: 0 4px 12px rgba(11, 37, 64, .07), 0 2px 4px rgba(11, 37, 64, .04);
	--shadow-lg: 0 18px 40px rgba(11, 37, 64, .10), 0 4px 10px rgba(11, 37, 64, .05);
	--shadow-brand: 0 10px 28px rgba(13, 148, 136, .28);

	--container: 1200px;
	--header-h: 74px;
	--ease: cubic-bezier(.4, 0, .2, 1);
}
