/* ═══ CSS پایه‌ی runtime آرت‌منتور (قبلاً inline: <style id="pb-runtime-css"> در _runtime_head + بلوک Image Carousel/اسلاید در
   _runtime_scripts) — ۲۰۲۶-۱۱-۱۰ به فایل استاتیک کش‌شونده منتقل شد. */
@media (min-width: 1025px) { .pb-hide-desktop { display:none !important; } }
@media (min-width: 768px) and (max-width: 1024px) { .pb-hide-tablet { display:none !important; } }
@media (max-width: 767px) { .pb-hide-mobile { display:none !important; } }
/* LOOP CAROUSEL — base visual styling (functional layout is inline
   per-instance in pbRenderLoopCarouselItems(); این‌ها فقط ظاهر ثابت
   فلش/نقاط‌ان که نیازی به دیتای per-instance ندارن). */
.pb-loop-carousel-arrow {
  position: absolute; top: 50%; transform: translateY(-50%);
  background: rgba(0,0,0,.45); color: #fff; border: none; border-radius: 50%;
  width: 36px; height: 36px; cursor: pointer; font-size: 15px;
  display: flex; align-items: center; justify-content: center; z-index: 2;
}
.pb-loop-carousel-arrow--prev { right: 10px; }
.pb-loop-carousel-arrow--next { left: 10px; }
.pb-loop-carousel-dots {
  display: flex; justify-content: center; gap: 6px; margin-top: 14px;
}
.pb-loop-carousel-dot {
  width: 9px; height: 9px; border-radius: 50%; border: none; padding: 0;
  cursor: pointer; background: #cbd5e1; transition: background .2s;
}
.pb-loop-carousel-dot.active { background: #1967d2; }
.pb-loop-carousel-track.pb-no-transition { transition: none !important; }
/* ادامه ۱۸۲/۱۸۳ — 🐛 رفع باگ واقعی گزارش‌شده: «نمایش در حالت شناور»
   اولش با خالص :hover ساخته شده بود. وقتی arrowsInside/dotsInside
   خاموشه (پیش‌فرض)، فلش/نقطه بیرون از جعبه‌ی اصلی کاروسل می‌شینن
   (افست منفی) — یعنی بین لبه‌ی واقعیِ کاروسل و جایی که فلش/نقطه
   شروع می‌شه یک «ناحیه‌ی مرده» خالی هست که هیچ عنصری توش نیست. با
   عبور موس از این ناحیه (حتی یک لحظه، حین رفتن از روی اسلایدها به
   سمت خودِ نقطه‌ها) کلاس :hover ریشه قطع می‌شه و opacity فوراً صفر
   می‌شه — درست همون لحظه‌ای که موس داره به فلش/نقطه می‌رسه، انگار
   «با نزدیک‌شدن موس ناپدید می‌شن». دقیقاً همون کلاس مشکلِ «ناحیه‌ی
   مرده‌ی هاور» که قبلاً برای زیرمنوی nav-menu هم پیش اومده بود
   (ادامه ۱۵۵) — رفع مشابه: به‌جای :hover خام، یک کلاس JS-محور
   (.pb-hover-active) با یک مهلت کوتاه (grace period) قبل از مخفی
   شدن، تا عبور کوتاه از ناحیه‌ی مرده اصلاً حس نشه. */
.pb-loop-carousel[data-arrows-hover="1"] .pb-loop-carousel-arrow { opacity: 0; transition: opacity .2s ease; }
.pb-loop-carousel[data-arrows-hover="1"].pb-hover-active .pb-loop-carousel-arrow { opacity: 1; }
.pb-loop-carousel[data-dots-hover="1"] .pb-loop-carousel-dots { opacity: 0; transition: opacity .2s ease; }
.pb-loop-carousel[data-dots-hover="1"].pb-hover-active .pb-loop-carousel-dots { opacity: 1; }
/* ادامه ۱۸۳ — «طرح‌ها»ی نقطه‌ها (۷ حالت). «پیش‌فرض» عمداً چیزی
   override نمی‌کنه — دقیقاً همون .pb-loop-carousel-dot پایه (که خودِ
   چرخ‌وفلک حلقه هم ازش استفاده می‌کنه، رگرسیون‌نگرفتنش تضمینه). */
.pb-dots--circle .pb-loop-carousel-dot { width: 7px; height: 7px; transition: all .2s; }
.pb-dots--circle .pb-loop-carousel-dot.active { width: 11px; height: 11px; }
.pb-dots--circle2 .pb-loop-carousel-dot { background: transparent; border: 2px solid #cbd5e1; box-sizing: border-box; }
.pb-dots--circle2 .pb-loop-carousel-dot.active { background: #1967d2; border-color: #1967d2; }
.pb-dots--ring .pb-loop-carousel-dot.active { box-shadow: 0 0 0 3px rgba(25,103,210,.25); }
.pb-dots--square .pb-loop-carousel-dot { border-radius: 2px; }
.pb-dots--diamond .pb-loop-carousel-dot { border-radius: 2px; transform: rotate(45deg); }
.pb-dots--line .pb-loop-carousel-dot { width: 12px; height: 3px; border-radius: 2px; transition: all .2s; }
.pb-dots--line .pb-loop-carousel-dot.active { width: 22px; }
/* ادامه ۱۸۵ — «غیرفعال‌سازی لینک‌های اسلاید؟» */
.pb-loop-carousel--no-links .pb-loop-carousel-slide a { pointer-events: none; }

/* ── Image Carousel base CSS ──────────────────────────────────────────
ادامه‌ی رفع باگ: ترنزیشن ترک باید فقط از طریق CSS تعریف بشه، نه
inline style — دقیقاً همون درسِ مستندشده‌ی «چرخ‌وفلک حلقه» (پایین‌تر)
که یک‌بار قبلاً همین باگ رو داشت و رفع کرد؛ اینجا با فراموشی همون
درس، دوباره تکرار شده بود: تنظیم مستقیم `track.style.transition`
برای غیرفعال‌کردن موقتِ انیمیشن (موقع snap-back)، ترنزیشن پایه رو
برای همیشه پاک می‌کرد و `transitionend` دیگه هیچ‌وقت شلیک نمی‌شد —
یعنی چرخش نامحدود هیچ‌وقت snap-back نمی‌شد و `current` بی‌نهایت رشد
می‌کرد (دقیقاً همون «سرعت به‌هم‌ریخته»/«چیزی نشون داده نمی‌شه»ی
گزارش‌شده). رفع شد با یک کلاس موقتِ `!important`، نه دستکاری inline. */
.pb-image-carousel-track { transition: transform .4s ease; }
.pb-image-carousel-track.pb-imgcar-no-transition { transition: none !important; }
/* مدت زمان transform ترک اسلاید (حالت «اسلاید») و opacity هر اسلاید
   (حالت «محو») از این به بعد inline و مخصوص هر نمونه‌ست («سرعت حرکت
   (ms)» ریجه — چون چند ویجت اسلاید ممکنه هم‌زمان روی یک صفحه با
   سرعت‌های متفاوت باشن، یک قانون CSS مشترک دیگه کافی نیست. کلاس زیر
   فقط برای غیرفعال‌سازی موقتِ transition موقع snap-back لازمه —
   دقیقاً همون درسِ «چرخ‌وفلک حلقه»/«چرخ‌وفلک تصویر» بالا. */
.pb-slides-track.pb-slides-no-transition { transition: none !important; }
/* ادامه ۱۸۳ — اسپینر صفحه‌بندی AJAX «شبکه حلقه» (روی کلیک/اسکرول بی‌نهایت) */
@keyframes pbSpin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes pbSlideAnimFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes pbSlideAnimUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }
@keyframes pbSlideAnimDown { from { opacity: 0; transform: translateY(-30px); } to { opacity: 1; transform: translateY(0); } }
@keyframes pbSlideAnimRight { from { opacity: 0; transform: translateX(-30px); } to { opacity: 1; transform: translateX(0); } }
@keyframes pbSlideAnimLeft { from { opacity: 0; transform: translateX(30px); } to { opacity: 1; transform: translateX(0); } }
@keyframes pbSlideAnimZoom { from { opacity: 0; transform: scale(.85); } to { opacity: 1; transform: scale(1); } }
/* کلاس pb-slide-anim-play با JS به‌ازای هر بار فعال‌شدنِ اسلاید toggle
   می‌شه (remove+reflow+add) تا انیمیشن هر بار از نو پخش بشه — یک
   attribute selector ساده فقط یک‌بار (موقع لود صفحه) پخش می‌شد. */
.pb-slides-content[data-pb-slide-anim="fade"].pb-slide-anim-play { animation: pbSlideAnimFade .7s ease both; }
.pb-slides-content[data-pb-slide-anim="up"].pb-slide-anim-play { animation: pbSlideAnimUp .7s ease both; }
.pb-slides-content[data-pb-slide-anim="down"].pb-slide-anim-play { animation: pbSlideAnimDown .7s ease both; }
.pb-slides-content[data-pb-slide-anim="right"].pb-slide-anim-play { animation: pbSlideAnimRight .7s ease both; }
.pb-slides-content[data-pb-slide-anim="left"].pb-slide-anim-play { animation: pbSlideAnimLeft .7s ease both; }
.pb-slides-content[data-pb-slide-anim="zoom"].pb-slide-anim-play { animation: pbSlideAnimZoom .7s ease both; }
