/* =====================================================================
   Shayan Style — تایپوگرافی سایت
   Design & Development: OneDegree — https://onedegree.ir

   سه خانواده:
     مربع (Morabba SemiBold) — عنوان‌های بزرگ، لحن استودیویی
     یکان‌بخ (YekanBakhFaNum)  — متن، رابط کاربری، اعداد فارسی
     Adobe Clean               — فقط لاتین؛ با unicode-range فقط وقتی
                                 کاراکتر لاتین در صفحه باشد دانلود می‌شود

   نکته‌ها:
   • فقط woff2. فایل‌های woff قدیمیِ قالب دیگر بار نمی‌شوند.
   • font-display:swap تا متن بلافاصله با فونت جایگزین دیده شود و
     صفحه روی فونت منتظر نماند.
   • Adobe Clean از OTF (۴۹۲KB) به woff2 ساب‌ست‌شده (۴۱KB) تبدیل شد؛
     فقط لاتین و نشانه‌گذاری، چون فارسی از یکان‌بخ می‌آید.
   ===================================================================== */

/* ---------- مربع — عنوان ---------- */
@font-face{
  font-family:'Morabba';
  src:url('fonts/Morabba-SemiBold.woff2') format('woff2');
  font-weight:600;font-style:normal;font-display:swap;
}

/* ---------- یکان‌بخ — متن و رابط ---------- */
@font-face{
  font-family:'YekanBakh';
  src:url('fonts/YekanBakhFaNum-Regular.woff2') format('woff2');
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'YekanBakh';
  src:url('fonts/YekanBakhFaNum-SemiBold.woff2') format('woff2');
  font-weight:600;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'YekanBakh';
  src:url('fonts/YekanBakhFaNum-Bold.woff2') format('woff2');
  font-weight:700;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'YekanBakh';
  src:url('fonts/YekanBakhFaNum-ExtraBold.woff2') format('woff2');
  font-weight:800;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'YekanBakh';
  src:url('fonts/YekanBakhFaNum-Black.woff2') format('woff2');
  font-weight:900;font-style:normal;font-display:swap;
}
/* ExtraBlack عمداً وزن ۹۵۰ گرفته تا با Black قاطی نشود و فقط
   جایی بار شود که صریحاً خواسته شده باشد. */
@font-face{
  font-family:'YekanBakh';
  src:url('fonts/YekanBakhFaNum-ExtraBlack.woff2') format('woff2');
  font-weight:950;font-style:normal;font-display:swap;
}

/* ---------- Adobe Clean — فقط لاتین ---------- */
@font-face{
  font-family:'AdobeClean';
  src:url('fonts/AdobeClean-Regular.woff2') format('woff2');
  font-weight:400;font-style:normal;font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC,U+2122;
}
@font-face{
  font-family:'AdobeClean';
  src:url('fonts/AdobeClean-Bold.woff2') format('woff2');
  font-weight:700;font-style:normal;font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC,U+2122;
}

/* =====================================================================
   اعمال روی سایت
   AdobeClean اول می‌آید چون unicode-range دارد: کاراکتر لاتین را خودش
   برمی‌دارد و بقیه به یکان‌بخ می‌رسد.
   ===================================================================== */
:root{
  --ss-font-body:'AdobeClean','YekanBakh',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  --ss-font-head:'Morabba','AdobeClean','YekanBakh',Georgia,serif;
}

/* قالب با !important روی body و کلی عنصر font-family می‌گذارد،
   پس اینجا هم باید صریح باشد وگرنه اصلاً اعمال نمی‌شود. */
html body,
body button,
body input,
body select,
body textarea,
body optgroup{
  font-family:var(--ss-font-body) !important;
}

/* عنوان‌ها با مربع. h5/h6 عمداً بیرون‌اند: در اندازه‌های کوچک مربع
   خوانایی‌اش از یکان‌بخ کمتر است. */
html body h1,
html body h2,
html body h3,
html body h4,
html body .ssh-h2,
html body .ssm-h2,
html body .ssm-hero-t,
html body .ssty-t,
html body .sscart-tot-t,
html body .ssco-side-t,
html body .ssf-seo-t,
html body .ssh-logo-t{
  font-family:var(--ss-font-head) !important;
  font-weight:600 !important;
  letter-spacing:0;
}

/* قیمت‌ها و اعداد: یکان‌بخ اعداد فارسیِ یکدست دارد و مربع ندارد */
html body .amount,
html body .price,
html body .ssh-card-p,
html body .sscart-tot-v,
html body .ssco-rev-v,
html body .ssty-fact-v,
html body .ss-fd-clock,
html body .ssh-support-n{
  font-family:'YekanBakh',var(--ss-font-body) !important;
  font-feature-settings:'ss01' 1;
}

/* فونت‌های آیکونی نباید دست بخورند.
   ⚠️ اینجا قبلاً `font-family:inherit !important` بود — که دقیقاً برعکسِ
   کامنتش عمل می‌کرد: آیکون‌ها را *مجبور* می‌کرد فونت متنِ ما را بگیرند و
   گلیف‌ها خالی می‌شدند. `revert` روی :before هم به سطح مرورگر برمی‌گشت،
   نه به CSS خودِ FontAwesome. نتیجه: آیکون‌های داشبورد کاربر نامرئی بودند.

   راه درست: هیچ‌چیز تحمیل نکن. قانونِ سراسریِ انتهای فایل این عناصر را
   با :not() کنار گذاشته، پس هر آیکون‌فونت با CSS خودش رندر می‌شود. */

/* =====================================================================
   جاماندگان
   قالب روی بعضی عناصر (مثل عنوان و پیام خالیِ ساید‌بار سبد) مستقیماً
   font-family می‌گذارد، پس ارث‌بری از body به آن‌ها نمی‌رسد و همچنان
   یک فایل پینار دانلود می‌شد. این قانون همه را وادار به ارث‌بری می‌کند.
   عناصر آیکونی صریحاً کنار گذاشته شده‌اند وگرنه آیکون‌ها مربع می‌شوند.
   ===================================================================== */
html body *:not(i):not(svg):not(svg *):not([class^="wd-icon"]):not([class*=" wd-icon"]):not([class^="eicon"]):not([class*=" eicon"]):not([class^="fa-"]):not([class*=" fa-"]):not(.dashicons):not([class^="dashicons-"]):not(.material-symbols-outlined):not(.woodmart-font){
  font-family:inherit;
}
/* بعد از قانون بالا، عنوان‌ها و اعداد باید دوباره فونت خودشان را بگیرند —
   ترتیب مهم است، این بلوک عمداً آخر فایل است. */
html body h1,html body h2,html body h3,html body h4,
html body .ssh-h2,html body .ssm-h2,html body .ssm-hero-t,
html body .ssty-t,html body .sscart-tot-t,html body .ssco-side-t,
html body .ssf-seo-t,html body .ssh-logo-t{
  font-family:var(--ss-font-head) !important;
}
html body .amount,html body .price,html body .ssh-card-p,
html body .sscart-tot-v,html body .ssco-rev-v,html body .ssty-fact-v,
html body .ss-fd-clock,html body .ssh-support-n{
  font-family:'YekanBakh',var(--ss-font-body) !important;
}
