/* ═══════════════════════════════════════════════════════════════════
   سازگاری قالب با المنتور (Elementor free + Pro)
   ───────────────────────────────────────────────────────────────────
   بخش ۱) رفع ریست تیلویند برای محتوای بدون استایل اختصاصی
   ───────────────────────────────────────────────────────────────────
   ریست سراسری تیلویند (Preflight) در assets/css/style.css اندازه و
   وزن تیترها، فاصله‌ی پاراگراف‌ها/تیترها، بولت و تورفتگی لیست‌ها،
   و رنگ/زیرخط لینک‌ها را در کل صفحه صفر می‌کند. محتوایی که در
   ویرایشگر المنتور نوشته می‌شود (ویجت Text Editor، Heading با HTML
   خام، Icon List و مشابه آن، به‌خصوص وقتی خودِ ویجت رنگ/سایز اختصاصی
   برایش تنظیم نشده) روی همین مقادیر پیش‌فرض مرورگر حساب می‌کند. این
   بخش فقط داخل کلاس .elementor (که خودِ المنتور روی wrapper هر
   محتوای ساخته‌شده با آن قرار می‌دهد) این مقادیر را برمی‌گرداند.
   اگر یک ویجت رسمی المنتور یا محتوای مهاجرت‌شده از قالب دیگر
   (مثلاً ووداِمارت) رنگ/فونت اختصاصی خودش را با اولویت CSS بالاتر
   ست کرده باشد، همچنان با اولویت بیشتر همان اعمال می‌شود — این بخش
   فقط برای عناصر بدون استایل اختصاصی است.
   ═══════════════════════════════════════════════════════════════════ */

.elementor h1,
.elementor h2,
.elementor h3,
.elementor h4,
.elementor h5,
.elementor h6 {
  font-weight: 700;
  line-height: 1.35;
  color: var(--text-primary, #1e1c3a);
}
.elementor h1 { font-size: 2.5rem; }
.elementor h2 { font-size: 2rem; }
.elementor h3 { font-size: 1.5rem; }
.elementor h4 { font-size: 1.25rem; }
.elementor h5 { font-size: 1.1rem; }
.elementor h6 { font-size: 1rem; }

.elementor p,
.elementor h1,
.elementor h2,
.elementor h3,
.elementor h4,
.elementor h5,
.elementor h6,
.elementor blockquote,
.elementor figure,
.elementor dl,
.elementor dd {
  margin: 0 0 1em;
}
.elementor p { color: var(--text-muted, #6b6898); }

.elementor ul,
.elementor ol {
  margin: 0 0 1em 1.4em;
  padding: 0;
}
.elementor ul { list-style: disc; }
.elementor ol { list-style: decimal; }
.elementor ul ul,
.elementor ol ol,
.elementor ul ol,
.elementor ol ul {
  margin-bottom: 0;
}
.elementor li { margin: 0 0 .4em; }

.elementor a {
  color: var(--paymentbaz-primary, #5b30f6);
  text-decoration: underline;
}
.elementor a:hover { text-decoration: none; }
/* لینک‌هایی که با کلاس‌های اختصاصی ویجت‌های المنتور (دکمه و…) می‌آیند
   نباید زیرخط بگیرند؛ آن‌ها استایل خودشان را دارند. */
.elementor a[class*="elementor-"] {
  text-decoration: none;
}

.elementor hr {
  border: none;
  border-top: 1px solid var(--border, #e2e0f4);
  margin: 1.5em 0;
}

.elementor table {
  border-collapse: collapse;
  width: 100%;
}
.elementor table:not([class*="elementor-"]) td,
.elementor table:not([class*="elementor-"]) th {
  border: 1px solid var(--border, #e2e0f4);
  padding: 8px 12px;
  text-align: start;
}

/* ═══════════════════════════════════════════════════════════════════
   بخش ۲) هماهنگی فونت با هویت بصری قالب
   ───────────────────────────────────────────────────────────────────
   وقتی محتوا از قالب دیگری (مثلاً ووداِمارت) مهاجرت داده شده و تنظیم
   «فونت سراسری» (Global Fonts) خودِ المنتور هنوز به فونت پیش‌فرض
   انگلیسی آن (معمولاً Roboto) اشاره می‌کند، متن فارسی با فونتی غیر از
   فونت اصلی سایت (IRANSans) رندر می‌شود — دقیقاً همان چیزی که باعث
   دیده‌شدن «فونت خراب» می‌شود. این قانون، هر جا که المنتور فونت
   اختصاصی برای یک ویجت خاص تنظیم نکرده باشد (یعنی فقط فونت سراسری/
   پیش‌فرض به ارث می‌رسد)، فونت اصلی قالب را با اولویت بیشتر جایگزین
   می‌کند. اگر ویجتی خودش فونت اختصاصی (نه سراسری) داشته باشد، آن
   انتخاب اختصاصی هم‌چنان با اولویت بیشتر اعمال می‌شود چون این قانون
   فقط سطح المنتور را هدف قرار می‌دهد، نه انتخاب تک‌تک ویجت‌ها را
   !important نمی‌کند.
   ═══════════════════════════════════════════════════════════════════ */
.elementor,
.elementor-widget-wrap,
.elementor-widget-container {
  font-family: IRANSans, system-ui, sans-serif;
}

/* ═══════════════════════════════════════════════════════════════════
   بخش ۳) پایداری پس‌زمینه در برابر تغییر حالت روز/شب قالب
   ───────────────────────────────────────────────────────────────────
   محتوایی که با المنتور روی قالب دیگری طراحی شده، اصلاً برای سیستم
   حالت روز/شب این قالب ساخته نشده — رنگ متن هر بخش (مثلاً سفید روی
   یک پس‌زمینه‌ی رنگی/تصویر خاصِ همان طراحی) به‌صورت ثابت در خروجی
   خودِ المنتور ذخیره شده و هیچ‌وقت با تغییر .dark عوض نمی‌شود. اگر
   پس‌زمینه‌ی عمومی سایت (که با تغییر حالت روز/شب عوض می‌شود) از زیر
   چنین بخش‌هایی دیده شود، ترکیب رنگ ثابتِ المنتور با پس‌زمینه‌ی
   متغیر قالب می‌تواند متن را کم‌کنتراست یا نامرئی کند. برای جلوگیری
   از این ناهماهنگی، پس‌زمینه‌ی ناحیه‌ی المنتور (وقتی خودش پس‌زمینه‌ی
   اختصاصی تنظیم نکرده) همیشه به‌جای متغیرِ حالت روز/شب قالب، همان
   پس‌زمینه‌ی روشن اصلی می‌ماند تا با رنگ‌های از-پیش-تنظیم‌شده‌ی
   المنتور (که برای پس‌زمینه‌ی روشن طراحی شده بودند) هماهنگ بماند.
   ═══════════════════════════════════════════════════════════════════ */
html.dark .elementor {
  background-color: #f7f9fe;
  color: #1e1c3a;
}

/* ═══════════════════════════════════════════════════════════════════
   بخش ۴) جلوگیری از «گیر کردن» انیمیشن ورودی المنتور در حالت نامرئی
   ───────────────────────────────────────────────────────────────────
   المنتور پیش از اجرای انیمیشن ورودی هر عنصر، کلاس elementor-invisible
   (opacity:0) را روی آن می‌گذارد و بعد با اسکریپت خودش (بر پایه‌ی
   IntersectionObserver) این کلاس را در لحظه‌ی مناسب برمی‌دارد. اگر به
   هر دلیلی (خطای جاوااسکریپت جای دیگر صفحه، تداخل با اسکریپت‌های
   خودِ قالب، یا کند بودن بارگذاری) آن اسکریپت اجرا نشود، عنصر برای
   همیشه نامرئی/غیرقابل‌استفاده باقی می‌ماند — دقیقاً همان «مشکل در
   عملکرد صفحات دارای انیمیشن» که گزارش شده. این قانون یک تضمینِ ایمنیِ
   خالص‌CSS است: اگر مرورگر انیمیشن‌ها را پشتیبانی کند (یعنی جاوااسکریپت
   المنتور باید بتواند اجرا شود)، حداکثر ۲.۵ ثانیه بعد از لود صفحه، هر
   عنصر elementor-invisible که هنوز هم آن کلاس را دارد به‌صورت خودکار
   نمایان می‌شود؛ در حالت عادی (که اسکریپت المنتور طبق روال درست کار
   می‌کند) این قانون هیچ‌وقت به‌موقع نمی‌رسد چون کلاس زودتر برداشته
   می‌شود، پس در رفتار عادی سایت هیچ تغییری ایجاد نمی‌کند.
   ═══════════════════════════════════════════════════════════════════ */
@keyframes paymentbazElementorForceReveal {
  to { opacity: 1; }
}
.elementor-invisible {
  animation: paymentbazElementorForceReveal 0s ease-out 2.5s forwards;
}
