/* ============================================================
   IRANSansX — global Persian/Latin font for all pages
   Overrides --sans and --serif so every element switches.
   ============================================================ */
@font-face {
  font-family: 'IRANSansX'; font-style: normal; font-weight: 300;
  src: url('fonts/web/IRANSansX-Light.woff2') format('woff2');
  font-display: swap;
}
@font-face {
  font-family: 'IRANSansX'; font-style: normal; font-weight: 400;
  src: url('fonts/web/IRANSansX-Regular.woff2') format('woff2');
  font-display: swap;
}
@font-face {
  font-family: 'IRANSansX'; font-style: normal; font-weight: 500;
  src: url('fonts/web/IRANSansX-Medium.woff2') format('woff2');
  font-display: swap;
}
@font-face {
  font-family: 'IRANSansX'; font-style: normal; font-weight: 600;
  src: url('fonts/web/IRANSansX-DemiBold.woff2') format('woff2');
  font-display: swap;
}
@font-face {
  font-family: 'IRANSansX'; font-style: normal; font-weight: 700;
  src: url('fonts/web/IRANSansX-Bold.woff2') format('woff2');
  font-display: swap;
}

/* Switch the design-token font variables to IRANSansX */
:root {
  --sans:  'IRANSansX', system-ui, sans-serif;
  --serif: 'IRANSansX', Georgia, serif;
}

/* The HTML source contains English fallbacks. Keep it out of the first paint
   until i18n.js changes lang="fa-IR" to the user's actual fa/en preference. */
html[lang="fa-IR"] body {
  visibility: hidden;
}

/* Universal catch-all so EVERY element (incl. hardcoded Inter / Playfair /
   Vazirmatn / Georgia) renders in IRANSansX across all pages. */
*, *::before, *::after {
  font-family: 'IRANSansX', system-ui, sans-serif !important;
}
