/**
 * SM Slider Kit — Core styles (Hero + Carousel)
 *
 * طراحی و کدنویسی شده توسط سروش ماندگار
 * Soroush-e Mandegar — soruh.ir
 * برنامه‌نویس: علی انصاری — Ali Ansari — AliAnsari.ir
 *
 * Template/Theme، logical properties، فلش‌های nav، پایداری کاروسل و کارت
 */

/* ---- CSS Variables (سفارشی‌سازی per slider / per slide) ---- */
.slider-wrap,
.hero-shop-slider-wrap--fullwidth {
    --slider-accent: #fff;
    --slider-text: #fff;
    --slider-muted: rgba(255,255,255,0.85);
    --slider-btn-bg: #fff;
    --slider-btn-text: #111;
    --slider-overlay: rgba(0,0,0,0.35);
    --slider-radius: 8px;
    --slider-gap: 12px;
    --slider-font-fa: "Vazirmatn", "IRANSansX", sans-serif;
    --slider-font-en: "Inter", system-ui, sans-serif;
    --slider-font-zh: "Noto Sans SC", "PingFang SC", sans-serif;
    --slider-aspect: 4 / 3;
    --slider-card-min-height: 280px;
    --slider-card-height: auto;
    --slider-title-lines: 2;
    --slider-text-lines: 3;
    --slider-media-aspect: 4 / 3;
    /* Dots */
    --slider-dot-size: 10px;
    --slider-dot-color: rgba(255,255,255,0.5);
    --slider-dot-active-color: #fff;
    --slider-dot-radius: 50%;
    --slider-dot-width: 10px;
    --slider-dot-active-width: 24px;
    /* Nav */
    --slider-nav-bg: rgba(255,255,255,0.95);
    --slider-nav-color: #333;
    --slider-nav-size: 44px;
}

/* Font / زبان — fallback چندزبانه */
.slider-wrap [lang="fa"],
.slider-wrap [lang^="fa-"],
.hero-shop-slider-wrap--fullwidth [lang="fa"],
.hero-shop-slider-wrap--fullwidth [lang^="fa-"] {
    font-family: var(--slider-font-fa);
}
.slider-wrap [lang="en"],
.hero-shop-slider-wrap--fullwidth [lang="en"] {
    font-family: var(--slider-font-en);
}
.slider-wrap [lang^="zh"],
.hero-shop-slider-wrap--fullwidth [lang^="zh"] {
    font-family: var(--slider-font-zh);
}

/* ---- Wrapper (viewport) ---- */
.slider-wrap,
.hero-shop-slider-wrap--fullwidth {
    position: relative;
    width: 100%;
    max-width: 100%;
    min-height: var(--slider-min-height, 0);
    overflow: hidden;
}
.slider-wrap[data-aspect],
.hero-shop-slider-wrap--fullwidth[data-aspect] {
    aspect-ratio: var(--slider-aspect, 16/9);
}
/* Hero: inner/track بدون min-height داخلی — ارتفاع فقط از wrapper (heightStrategy) تا ناحیه خاکستری و بیرون افتادن nav حذف شود */
.slider-mode-hero .slider-inner,
.slider-mode-hero .hero-slider-inner {
    position: relative;
    height: 100%;
    min-height: 0 !important;
}
.slider-mode-hero .slider-track,
.slider-mode-hero .hero-slider-track {
    min-height: 0 !important;
    height: 100%;
}

/* Placeholder: overlay روی layout اثر نمی‌گذارد؛ فقط opacity در ready */
.slider-placeholder,
.hero-slider-placeholder {
    position: absolute;
    inset: 0;
    height: 100%;
    background: #e5e5e5;
    z-index: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}
.slider-wrap:not(.slider-ready) .slider-placeholder,
.slider-wrap:not(.slider-ready) .hero-slider-placeholder,
.hero-shop-slider-wrap--fullwidth:not(.hero-slider-ready) .hero-slider-placeholder {
    opacity: 1;
}
.slider-wrap.slider-ready .slider-placeholder,
.hero-shop-slider-wrap--fullwidth.hero-slider-ready .hero-slider-placeholder {
    opacity: 0;
}

/* FOUC/CLS: کاروسل — قبل از JS هم عرض ستون از --slider-items، نه intrinsic تصویر */
.slider-wrap-carousel,
.slider-mode-carousel.slider-wrap {
    --slider-items: var(--slider-items-fallback, 3);
    --slider-item-width: calc(100% / var(--slider-items));
}
@media (max-width: 575.98px) {
    .slider-wrap-carousel:not([data-items]),
    .slider-mode-carousel.slider-wrap:not([data-items]) {
        --slider-items-fallback: 2;
    }
}
@media (min-width: 576px) and (max-width: 991.98px) {
    .slider-wrap-carousel:not([data-items]),
    .slider-mode-carousel.slider-wrap:not([data-items]) {
        --slider-items-fallback: 3;
    }
}
@media (min-width: 992px) {
    .slider-wrap-carousel:not([data-items]),
    .slider-mode-carousel.slider-wrap:not([data-items]) {
        --slider-items-fallback: 3;
    }
}

/* FOUC: baseline pre-init — کاروسل‌ها از ابتدا track افقی داشته باشند (قبل از JS) */
.slider-wrap-carousel .slider-track,
.slider-wrap-carousel .hero-slider-track {
    display: flex;
    flex-wrap: nowrap;
    gap: var(--slider-gap-px, var(--slider-gap, 12px));
}
.slider-wrap-carousel .slider-track > .slide,
.slider-wrap-carousel .slider-track > .hero-slide,
.slider-wrap-carousel .hero-slider-track > .slide,
.slider-wrap-carousel .hero-slider-track > .hero-slide {
    flex: 0 0 var(--slider-item-px, var(--slider-item-width, 33.333%));
    width: var(--slider-item-px, var(--slider-item-width, 33.333%));
    max-width: var(--slider-item-px, var(--slider-item-width, 33.333%));
    box-sizing: border-box;
    min-width: 0;
}

/* Inner + Track ---- carousel: containing block برای nav/dots (position:relative, height:auto)؛ Hero: height:100% در بلوک Hero */
.slider-inner,
.hero-slider-inner {
    position: relative;
    width: 100%;
    height: auto;
    z-index: 1;
    overflow: hidden;
}
.slider-mode-carousel .slider-inner,
.slider-mode-carousel .hero-slider-inner {
    position: relative;
    height: auto;
}
/* پایهٔ افقی track (جلوگیری از FOUC/CLS) */
.slider-mode-carousel .slider-track,
.slider-mode-carousel .hero-slider-track {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    will-change: transform;
}
.slider-mode-carousel .slider-track > .slide,
.slider-mode-carousel .slider-track > .hero-slide {
    flex: 0 0 var(--slider-item-px, var(--slider-item-width, 33.333%));
    width: var(--slider-item-px, var(--slider-item-width, 33.333%));
    max-width: var(--slider-item-px, var(--slider-item-width, 33.333%));
    box-sizing: border-box;
    min-width: 0;
}
.slider-no-drag .slider-track,
.slider-no-drag .hero-slider-track {
    cursor: default;
}
.slider-track,
.hero-slider-track {
    position: relative;
    width: 100%;
    min-height: 0;
    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    touch-action: pan-y;
    transition: transform var(--slider-speed, 400ms) ease;
}
.slider-wrap.slider-dragging .slider-track,
.hero-shop-slider-wrap--fullwidth.hero-slider-dragging .hero-slider-track {
    cursor: grabbing;
}
.slider-track img,
.hero-slider-track img {
    pointer-events: none;
    user-select: none;
    -webkit-user-drag: none;
    -moz-user-drag: none;
    -ms-user-drag: none;
    user-drag: none;
}

/* ========== حالت Hero (تک اسلاید) ========== */
.slider-mode-hero .slider-track,
.slider-mode-hero .hero-slider-track {
    display: block;
}
.slider-mode-hero .slide,
.slider-mode-hero .hero-slide {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
    transition: opacity var(--slider-speed, 400ms) ease, visibility var(--slider-speed, 400ms) ease;
    /* اسلاید تمام‌صفحه نباید دات/ناو را مسدود کند */
    pointer-events: none;
}
.slider-mode-hero .slide .slide-caption,
.slider-mode-hero .slide .hero-slide-caption,
.slider-mode-hero .hero-slide .slide-caption,
.slider-mode-hero .hero-slide .hero-slide-caption,
.slider-mode-hero .slide .caption-btn,
.slider-mode-hero .hero-slide .caption-btn {
    pointer-events: auto;
}
.slider-mode-hero .slide.is-ready.slider-slide-active,
.slider-mode-hero .slide.is-ready.hero-slide-active,
.slider-mode-hero .hero-slide.is-ready.slider-slide-active,
.slider-mode-hero .hero-slide.is-ready.hero-slide-active {
    opacity: 1;
    visibility: visible;
    z-index: 2;
}
.slider-mode-hero .slide.is-ready:not(.slider-slide-active):not(.hero-slide-active),
.slider-mode-hero .hero-slide.is-ready:not(.slider-slide-active):not(.hero-slide-active) {
    z-index: 1;
}

/* Hero: ارتفاع و transition (با احترام به prefers-reduced-motion) */
.slider-mode-hero.slider-wrap,
.slider-mode-hero.hero-shop-slider-wrap--fullwidth {
    transition: height 250ms ease;
}
@media (prefers-reduced-motion: reduce) {
    .slider-mode-hero.slider-wrap,
    .slider-mode-hero.hero-shop-slider-wrap--fullwidth {
        transition: none;
    }
}

/* Hero: لایه media و تصویر — کنترل با CSS variables */
.slider-mode-hero .hero-media,
.hero-slide .hero-media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    --hero-fit: cover;
    --hero-pos: center;
    --hero-bg-mode: none;
    --hero-bg-color: #000;
}
.slider-mode-hero .hero-bg,
.hero-slide .hero-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: var(--hero-pos, center);
    pointer-events: none;
}
.slider-mode-hero .hero-bg.hero-bg--blur,
.hero-slide .hero-bg.hero-bg--blur {
    filter: blur(12px);
    opacity: 0.85;
    transform: scale(1.05);
}
.slider-mode-hero .hero-bg.hero-bg--color,
.hero-slide .hero-bg.hero-bg--color {
    background-image: none;
}
.slider-mode-hero .hero-img,
.hero-slide .hero-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.slider-mode-hero .hero-img img,
.slider-mode-hero .hero-media img,
.hero-slide .hero-img img,
.hero-slide .hero-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: var(--hero-fit, cover) !important;
    object-position: var(--hero-pos, center) !important;
    display: block;
}
/* اسلاید بدون .hero-media (سازگاری با مارکاپ قدیمی) */
.slider-mode-hero .slide img:not(.hero-img img),
.slider-mode-hero .hero-slide img:not(.hero-img img) {
    object-fit: var(--hero-fit, cover) !important;
    object-position: var(--hero-pos, center) !important;
}

/* ========== افکت‌های ترنزیشن Hero (کامل — کتابخانه عمومی) ========== */
.slider-effect-fade.slider-mode-hero .slide.is-ready,
.slider-effect-fade.slider-mode-hero .hero-slide.is-ready {
    transition: opacity var(--slider-speed, 400ms) ease, visibility var(--slider-speed, 400ms) ease;
}
.slider-effect-zoom .slide.is-ready.slider-slide-active.sm-effect-enter,
.slider-effect-zoom .hero-slide.is-ready.hero-slide-active.sm-effect-enter {
    animation: sliderZoomIn var(--slider-speed, 400ms) ease forwards;
}
@keyframes sliderZoomIn {
    from { transform: scale(1.08); opacity: 0.55; }
    to { transform: scale(1); opacity: 1; }
}
.slider-effect-slide.slider-mode-hero .slide.is-ready.slider-slide-active.sm-effect-enter,
.slider-effect-slide.slider-mode-hero .hero-slide.is-ready.hero-slide-active.sm-effect-enter {
    animation: sliderSlideIn var(--slider-speed, 400ms) ease forwards;
}
.slider-effect-slide.slider-mode-hero[data-slider-dir="rtl"] .slide.is-ready.slider-slide-active.sm-effect-enter,
.slider-effect-slide.slider-mode-hero[data-slider-dir="rtl"] .hero-slide.is-ready.hero-slide-active.sm-effect-enter {
    animation-name: sliderSlideInRtl;
}
@keyframes sliderSlideIn {
    from { transform: translateX(10%); opacity: 0.35; }
    to { transform: translateX(0); opacity: 1; }
}
@keyframes sliderSlideInRtl {
    from { transform: translateX(-10%); opacity: 0.35; }
    to { transform: translateX(0); opacity: 1; }
}
.slider-effect-fade-zoom .slide.is-ready.slider-slide-active.sm-effect-enter,
.slider-effect-fade-zoom .hero-slide.is-ready.hero-slide-active.sm-effect-enter {
    animation: sliderFadeZoomIn var(--slider-speed, 500ms) ease forwards;
}
@keyframes sliderFadeZoomIn {
    from { transform: scale(1.12); opacity: 0; filter: brightness(1.05); }
    to { transform: scale(1); opacity: 1; filter: brightness(1); }
}
.slider-effect-blur .slide.is-ready.slider-slide-active.sm-effect-enter,
.slider-effect-blur .hero-slide.is-ready.hero-slide-active.sm-effect-enter {
    animation: sliderBlurIn var(--slider-speed, 450ms) ease forwards;
}
@keyframes sliderBlurIn {
    from { opacity: 0; filter: blur(12px); transform: scale(1.03); }
    to { opacity: 1; filter: blur(0); transform: scale(1); }
}
.slider-effect-slide-fade.slider-mode-hero .slide.is-ready.slider-slide-active.sm-effect-enter,
.slider-effect-slide-fade.slider-mode-hero .hero-slide.is-ready.hero-slide-active.sm-effect-enter {
    animation: sliderSlideFadeIn var(--slider-speed, 450ms) ease forwards;
}
.slider-effect-slide-fade.slider-mode-hero[data-slider-dir="rtl"] .slide.is-ready.slider-slide-active.sm-effect-enter,
.slider-effect-slide-fade.slider-mode-hero[data-slider-dir="rtl"] .hero-slide.is-ready.hero-slide-active.sm-effect-enter {
    animation-name: sliderSlideFadeInRtl;
}
@keyframes sliderSlideFadeIn {
    from { transform: translateX(14%) scale(0.98); opacity: 0; }
    to { transform: translateX(0) scale(1); opacity: 1; }
}
@keyframes sliderSlideFadeInRtl {
    from { transform: translateX(-14%) scale(0.98); opacity: 0; }
    to { transform: translateX(0) scale(1); opacity: 1; }
}

/* kenburns — زوم آرام روی تصویر */
.slider-effect-kenburns .slide.is-ready.slider-slide-active.sm-effect-enter,
.slider-effect-kenburns .hero-slide.is-ready.hero-slide-active.sm-effect-enter {
    animation: sliderKenBurnsFade var(--slider-speed, 500ms) ease forwards;
}
.slider-effect-kenburns .sm-effect-enter .hero-img img,
.slider-effect-kenburns .sm-effect-enter img {
    animation: sliderKenBurnsZoom 8s ease-out forwards;
}
@keyframes sliderKenBurnsFade {
    from { opacity: 0.35; }
    to { opacity: 1; }
}
@keyframes sliderKenBurnsZoom {
    from { transform: scale(1); }
    to { transform: scale(1.12); }
}

/* reveal-up / reveal-down */
.slider-effect-reveal-up .slide.is-ready.slider-slide-active.sm-effect-enter,
.slider-effect-reveal-up .hero-slide.is-ready.hero-slide-active.sm-effect-enter {
    animation: sliderRevealUp var(--slider-speed, 500ms) ease forwards;
}
@keyframes sliderRevealUp {
    from { clip-path: inset(100% 0 0 0); opacity: 0.7; }
    to { clip-path: inset(0 0 0 0); opacity: 1; }
}
.slider-effect-reveal-down .slide.is-ready.slider-slide-active.sm-effect-enter,
.slider-effect-reveal-down .hero-slide.is-ready.hero-slide-active.sm-effect-enter {
    animation: sliderRevealDown var(--slider-speed, 500ms) ease forwards;
}
@keyframes sliderRevealDown {
    from { clip-path: inset(0 0 100% 0); opacity: 0.7; }
    to { clip-path: inset(0 0 0 0); opacity: 1; }
}

/* wipe */
.slider-effect-wipe .slide.is-ready.slider-slide-active.sm-effect-enter,
.slider-effect-wipe .hero-slide.is-ready.hero-slide-active.sm-effect-enter {
    animation: sliderWipeIn var(--slider-speed, 500ms) ease forwards;
}
.slider-effect-wipe.slider-mode-hero[data-slider-dir="rtl"] .slide.is-ready.slider-slide-active.sm-effect-enter,
.slider-effect-wipe.slider-mode-hero[data-slider-dir="rtl"] .hero-slide.is-ready.hero-slide-active.sm-effect-enter {
    animation-name: sliderWipeInRtl;
}
@keyframes sliderWipeIn {
    from { clip-path: inset(0 100% 0 0); }
    to { clip-path: inset(0 0 0 0); }
}
@keyframes sliderWipeInRtl {
    from { clip-path: inset(0 0 0 100%); }
    to { clip-path: inset(0 0 0 0); }
}

/* scale-down */
.slider-effect-scale-down .slide.is-ready.slider-slide-active.sm-effect-enter,
.slider-effect-scale-down .hero-slide.is-ready.hero-slide-active.sm-effect-enter {
    animation: sliderScaleDownIn var(--slider-speed, 450ms) ease forwards;
}
@keyframes sliderScaleDownIn {
    from { transform: scale(1.18); opacity: 0.4; }
    to { transform: scale(1); opacity: 1; }
}

/* soft-glow */
.slider-effect-soft-glow .slide.is-ready.slider-slide-active.sm-effect-enter,
.slider-effect-soft-glow .hero-slide.is-ready.hero-slide-active.sm-effect-enter {
    animation: sliderSoftGlowIn var(--slider-speed, 550ms) ease forwards;
}
@keyframes sliderSoftGlowIn {
    from { opacity: 0; filter: brightness(1.45) blur(8px); }
    to { opacity: 1; filter: brightness(1) blur(0); }
}

/* cube / flip — 3D */
.slider-effect-cube.slider-mode-hero .slider-inner,
.slider-effect-cube.slider-mode-hero .hero-slider-inner,
.slider-effect-flip.slider-mode-hero .slider-inner,
.slider-effect-flip.slider-mode-hero .hero-slider-inner {
    perspective: 1400px;
}
.slider-effect-cube .slide.is-ready.slider-slide-active.sm-effect-enter,
.slider-effect-cube .hero-slide.is-ready.hero-slide-active.sm-effect-enter {
    transform-origin: center center;
    animation: sliderCubeIn var(--slider-speed, 550ms) ease forwards;
}
.slider-effect-cube.slider-mode-hero[data-slider-dir="rtl"] .sm-effect-enter {
    animation-name: sliderCubeInRtl;
}
@keyframes sliderCubeIn {
    from { transform: rotateY(72deg) translateZ(-48px); opacity: 0.25; }
    to { transform: rotateY(0) translateZ(0); opacity: 1; }
}
@keyframes sliderCubeInRtl {
    from { transform: rotateY(-72deg) translateZ(-48px); opacity: 0.25; }
    to { transform: rotateY(0) translateZ(0); opacity: 1; }
}
.slider-effect-flip .slide.is-ready.slider-slide-active.sm-effect-enter,
.slider-effect-flip .hero-slide.is-ready.hero-slide-active.sm-effect-enter {
    transform-origin: center bottom;
    animation: sliderFlipIn var(--slider-speed, 550ms) ease forwards;
}
@keyframes sliderFlipIn {
    from { transform: rotateX(82deg); opacity: 0.2; }
    to { transform: rotateX(0); opacity: 1; }
}

/* parallax — تصویر و کپشن جدا */
.slider-effect-parallax .slide.is-ready.slider-slide-active.sm-effect-enter,
.slider-effect-parallax .hero-slide.is-ready.hero-slide-active.sm-effect-enter {
    animation: sliderParallaxSlide var(--slider-speed, 500ms) ease forwards;
}
.slider-effect-parallax .sm-effect-enter .hero-img,
.slider-effect-parallax .sm-effect-enter .hero-media {
    animation: sliderParallaxMedia calc(var(--slider-speed, 500ms) * 1.2) ease-out forwards;
}
.slider-effect-parallax .sm-effect-enter .slide-caption,
.slider-effect-parallax .sm-effect-enter .hero-slide-caption {
    animation: sliderParallaxCaption var(--slider-speed, 500ms) ease forwards;
}
@keyframes sliderParallaxSlide {
    from { opacity: 0.4; }
    to { opacity: 1; }
}
@keyframes sliderParallaxMedia {
    from { transform: translateY(8%) scale(1.06); }
    to { transform: translateY(0) scale(1); }
}
@keyframes sliderParallaxCaption {
    from { transform: translateY(-18px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

/* clip-circle */
.slider-effect-clip-circle .slide.is-ready.slider-slide-active.sm-effect-enter,
.slider-effect-clip-circle .hero-slide.is-ready.hero-slide-active.sm-effect-enter {
    animation: sliderClipCircleIn var(--slider-speed, 550ms) ease forwards;
}
@keyframes sliderClipCircleIn {
    from { clip-path: circle(0% at 50% 50%); opacity: 0.6; }
    to { clip-path: circle(80% at 50% 50%); opacity: 1; }
}

/* split */
.slider-effect-split .slide.is-ready.slider-slide-active.sm-effect-enter,
.slider-effect-split .hero-slide.is-ready.hero-slide-active.sm-effect-enter {
    animation: sliderSplitIn var(--slider-speed, 500ms) ease forwards;
}
@keyframes sliderSplitIn {
    from { clip-path: inset(0 50% 0 50%); opacity: 0.5; }
    to { clip-path: inset(0 0 0 0); opacity: 1; }
}

/* glitch */
.slider-effect-glitch .slide.is-ready.slider-slide-active.sm-effect-enter,
.slider-effect-glitch .hero-slide.is-ready.hero-slide-active.sm-effect-enter {
    animation: sliderGlitchIn var(--slider-speed, 500ms) steps(2, end) forwards;
}
@keyframes sliderGlitchIn {
    0% { transform: translate(0, 0); filter: none; opacity: 0.3; }
    20% { transform: translate(-2.5%, 1%); filter: hue-rotate(90deg); opacity: 0.7; }
    40% { transform: translate(2%, -1.5%); filter: hue-rotate(-40deg); }
    60% { transform: translate(-1%, 0.5%); filter: none; opacity: 1; }
    80% { transform: translate(1%, 0); }
    100% { transform: none; filter: none; opacity: 1; }
}

/* bounce */
.slider-effect-bounce .slide.is-ready.slider-slide-active.sm-effect-enter,
.slider-effect-bounce .hero-slide.is-ready.hero-slide-active.sm-effect-enter {
    animation: sliderBounceIn var(--slider-speed, 600ms) ease forwards;
}
@keyframes sliderBounceIn {
    0% { transform: translateY(-16%); opacity: 0; }
    55% { transform: translateY(5%); opacity: 1; }
    75% { transform: translateY(-3%); }
    100% { transform: translateY(0); opacity: 1; }
}

/* pixelate (تقریبی با blur/contrast پلکانی) */
.slider-effect-pixelate .slide.is-ready.slider-slide-active.sm-effect-enter,
.slider-effect-pixelate .hero-slide.is-ready.hero-slide-active.sm-effect-enter {
    animation: sliderPixelateIn var(--slider-speed, 550ms) steps(4, end) forwards;
}
@keyframes sliderPixelateIn {
    0% { filter: blur(14px) contrast(1.9); opacity: 0.4; transform: scale(1.04); }
    40% { filter: blur(7px) contrast(1.45); opacity: 0.75; }
    70% { filter: blur(3px) contrast(1.15); opacity: 0.92; }
    100% { filter: none; opacity: 1; transform: scale(1); }
}

/* neon */
.slider-effect-neon .slide.is-ready.slider-slide-active.sm-effect-enter,
.slider-effect-neon .hero-slide.is-ready.hero-slide-active.sm-effect-enter {
    animation: sliderNeonIn var(--slider-speed, 550ms) ease forwards;
}
@keyframes sliderNeonIn {
    from { opacity: 0; filter: brightness(1.35) drop-shadow(0 0 28px rgba(255, 80, 180, 0.75)); }
    to { opacity: 1; filter: brightness(1) drop-shadow(0 0 0 transparent); }
}

/* rotate */
.slider-effect-rotate .slide.is-ready.slider-slide-active.sm-effect-enter,
.slider-effect-rotate .hero-slide.is-ready.hero-slide-active.sm-effect-enter {
    animation: sliderRotateIn var(--slider-speed, 500ms) ease forwards;
}
@keyframes sliderRotateIn {
    from { transform: rotate(-9deg) scale(1.06); opacity: 0; }
    to { transform: rotate(0) scale(1); opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
    .slider-mode-hero .sm-effect-enter,
    .slider-mode-hero .sm-effect-enter .hero-img,
    .slider-mode-hero .sm-effect-enter .hero-media,
    .slider-mode-hero .sm-effect-enter .hero-img img,
    .slider-mode-hero .sm-effect-enter img,
    .slider-mode-hero .sm-effect-enter .slide-caption,
    .slider-mode-hero .sm-effect-enter .hero-slide-caption {
        animation: none !important;
    }
}

/* بدون overflow افقی: مخفی کردن nav و dots (کلاس هسته) */
.slider-wrap.sm-slider-no-overflow .slider-nav-wrap,
.slider-wrap.sm-slider-no-overflow .hero-slider-nav-wrap {
    display: none !important;
}
.slider-wrap.sm-slider-no-overflow .slider-dots,
.slider-wrap.sm-slider-no-overflow .hero-slider-dots {
    display: none !important;
}

/* ========== حالت Carousel — ارتفاع پایدار، gap، عرض آیتم با px ========== */
.slider-mode-carousel .slider-track,
.slider-mode-carousel .hero-slider-track {
    display: flex;
    flex-wrap: nowrap;
    gap: var(--slider-gap-px, var(--slider-gap, 12px));
    height: 100%;
    align-items: stretch;
    box-sizing: content-box;
}
.slider-wrap.sm-slider-underfill-center .slider-track,
.slider-wrap.sm-slider-underfill-center .hero-slider-track {
    justify-content: center;
    width: 100% !important;
    transform: none !important;
}
.slider-mode-carousel .slide,
.slider-mode-carousel .hero-slide {
    flex: 0 0 var(--slider-item-px, var(--slider-item-width, 33.333%));
    width: var(--slider-item-px, var(--slider-item-width, 33.333%));
    position: relative;
    opacity: 0.85;
    transition: opacity var(--slider-speed, 400ms) ease, transform var(--slider-speed, 400ms) ease;
    box-sizing: border-box;
    min-width: 0;
}
.slider-mode-carousel .slide.is-ready,
.slider-mode-carousel .hero-slide.is-ready {
    opacity: 1;
}
.slider-mode-carousel .slide.slider-slide-active,
.slider-mode-carousel .slide.hero-slide-active,
.slider-mode-carousel .hero-slide.slider-slide-active,
.slider-mode-carousel .hero-slide.hero-slide-active {
    opacity: 1;
}
/* کارت‌ها: ارتفاع از محتوا؛ min-height فقط وقتی opts.minHeight صریح ست شده */
.slider-mode-carousel .slider-card,
.slider-mode-carousel .slide.slider-card,
.slider-mode-carousel .hero-slide.slider-card {
    height: var(--slider-card-height, auto);
    display: flex;
    flex-direction: column;
}
.slider-mode-carousel .card-title,
.slider-mode-carousel .caption-title {
    display: -webkit-box;
    -webkit-line-clamp: var(--slider-title-lines, 2);
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.slider-mode-carousel .card-text,
.slider-mode-carousel .caption-text {
    display: -webkit-box;
    -webkit-line-clamp: var(--slider-text-lines, 3);
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.slider-mode-carousel .card-media,
.slider-mode-carousel .slide .slider-media {
    aspect-ratio: var(--slider-media-aspect, 4 / 3);
    width: 100%;
    overflow: hidden;
}
.slider-mode-carousel .card-media img,
.slider-mode-carousel .slider-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
/* Center mode */
.slider-center-mode .slide.is-center,
.slider-center-mode .hero-slide.is-center {
    transform: scale(1.08);
    opacity: 1;
    z-index: 2;
}
.slider-center-mode .slide.is-near,
.slider-center-mode .hero-slide.is-near {
    opacity: 0.9;
}
.slider-center-mode .slide:not(.is-center):not(.is-near),
.slider-center-mode .hero-slide:not(.is-center):not(.is-near) {
    opacity: 0.6;
}

/* تصویر داخل اسلاید — کاروسل: عرض ۱۰۰٪ + aspect تا CLS نداشته باشیم؛ هیرو: پر کردن قاب */
.slide img,
.hero-slide img {
    display: block;
    width: 100% !important;
    max-width: 100%;
    object-fit: cover !important;
}
.slider-mode-carousel .slide > img,
.slider-mode-carousel .slide img:not(.slider-dot-thumb) {
    height: auto !important;
    aspect-ratio: var(--slider-media-aspect, 4 / 3);
    object-fit: cover !important;
}
.slider-mode-hero .slide img,
.slider-mode-hero .hero-slide img {
    height: 100% !important;
}

/* Overlay / Brightness ---- */
.slider-overlay-on .slide,
.slider-overlay-on .hero-slide {
    position: relative;
}
.slider-overlay-on .slide::after,
.slider-overlay-on .hero-slide::after {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--slider-overlay, rgba(0,0,0,0.3));
    pointer-events: none;
}
.slider-wrap[style*="--slider-brightness"] .slide img,
.slider-wrap[style*="--slider-brightness"] .hero-slide img {
    filter: brightness(var(--slider-brightness, 1));
}
.slide[data-overlay]::after,
.hero-slide[data-overlay]::after {
    background: var(--slide-overlay, rgba(0,0,0,0.3));
}

/* ========== دات‌ها ========== */
.slider-dots,
.hero-slider-dots {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    z-index: 30;
    pointer-events: none;
    padding-block: 4px;
    overflow: visible;
}
.slider-dots.is-visible,
.hero-slider-dots.is-visible {
    pointer-events: auto;
}
.slider-dots.is-visible .slider-dot,
.slider-dots.is-visible .hero-slider-dot,
.hero-slider-dots.is-visible .slider-dot,
.hero-slider-dots.is-visible .hero-slider-dot {
    pointer-events: auto;
    position: relative;
    z-index: 1;
}
.slider-dots.slider-dots--no-click,
.hero-slider-dots.slider-dots--no-click {
    pointer-events: none;
}
.slider-dots.slider-no-dots,
.hero-slider-dots.hero-slider-no-dots {
    display: none !important;
}

/* مخفی‌کردن دات فقط در موبایل — آپشن showDotsMobile / data-show-dots-mobile */
@media (max-width: 767.98px) {
    .slider-wrap.slider-hide-dots-mobile .slider-dots,
    .slider-wrap.slider-hide-dots-mobile .hero-slider-dots {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }
}
.slider-dot,
.hero-slider-dot {
    width: var(--slider-dot-width, var(--slider-dot-size, 10px));
    height: var(--slider-dot-size, 10px);
    border-radius: var(--slider-dot-radius, 50%);
    background: var(--slider-dot-color, rgba(255,255,255,0.5));
    border: 1px solid rgba(0,0,0,0.15);
    padding: 0;
    cursor: pointer;
    transition: background 0.2s, transform 0.2s, width 0.2s;
    box-sizing: border-box;
    flex-shrink: 0;
}
.slider-dot:hover:not(.slider-dot--no-click),
.hero-slider-dot:hover:not(.slider-dot--no-click) {
    background: rgba(255,255,255,0.8);
}
.slider-dot.is-active,
.hero-slider-dot.is-active {
    background: var(--slider-dot-active-color, #fff);
    /* scale باعث کات شدن با overflow والد می‌شد — به‌جای آن حلقه */
    transform: none;
    box-shadow: 0 0 0 2px var(--slider-dot-active-ring, rgba(0,0,0,0.2));
}
/* خطی (Owl-style) */
.slider-dot.slider-dot--line,
.hero-slider-dot.slider-dot--line {
    width: var(--slider-dot-width, 12px);
    height: 4px;
    border-radius: 2px;
}
.slider-dot.slider-dot--line.is-active,
.hero-slider-dot.slider-dot--line.is-active {
    width: var(--slider-dot-active-width, 24px);
    transform: none;
}
/* تامبنیل */
.slider-dot.slider-dot--thumb,
.hero-slider-dot.slider-dot--thumb {
    width: 36px;
    height: 36px;
    border-radius: 4px;
    overflow: hidden;
    padding: 0;
}
.slider-dot-thumb {
    display: block;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
}
.slider-dot.slider-dot--thumb-empty,
.hero-slider-dot.slider-dot--thumb-empty {
    background: var(--slider-dot-thumb-empty-bg, #d0d0d0);
    border: 1px solid var(--slider-dot-thumb-empty-border, rgba(0, 0, 0, 0.12));
}
/* منطقهٔ زنده برای تغییر اسلاید (صفحه‌خوان) */
.slider-live {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.slider-dot.slider-dot--no-click,
.hero-slider-dot.slider-dot--no-click {
    cursor: default;
    pointer-events: none;
}

/* ========== قرارگیری Nav و Dots (UI placement) ========== */
/* پیش‌فرض: داخل پایین — absolute نسبت به inner/viewport */
.slider-nav-inside-bottom .slider-nav-wrap,
.slider-nav-inside-bottom .hero-slider-nav-wrap,
.slider-dots-inside-bottom .slider-dots,
.slider-dots-inside-bottom .hero-slider-dots {
    position: absolute;
    z-index: 10;
}
.slider-nav-inside-bottom .slider-nav-wrap,
.slider-nav-inside-bottom .hero-slider-nav-wrap {
    bottom: 20px;
    inset-inline-end: 20px;
    inset-inline-start: auto;
    z-index: 30;
}
.slider-nav-side-left.slider-nav-inside-bottom .slider-nav-wrap,
.slider-nav-side-left.slider-nav-inside-bottom .hero-slider-nav-wrap,
.slider-nav-side-left.slider-nav-inside-top .slider-nav-wrap,
.slider-nav-side-left.slider-nav-inside-top .hero-slider-nav-wrap {
    inset-inline-end: auto;
    inset-inline-start: 20px;
    right: auto;
    left: 20px;
}
.slider-nav-side-right.slider-nav-inside-bottom .slider-nav-wrap,
.slider-nav-side-right.slider-nav-inside-bottom .hero-slider-nav-wrap,
.slider-nav-side-right.slider-nav-inside-top .slider-nav-wrap,
.slider-nav-side-right.slider-nav-inside-top .hero-slider-nav-wrap {
    inset-inline-start: auto;
    inset-inline-end: 20px;
    left: auto;
    right: 20px;
}
.slider-dots-inside-bottom .slider-dots,
.slider-dots-inside-bottom .hero-slider-dots {
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 30;
}
.slider-nav-inside-center-sides .slider-nav-wrap,
.slider-nav-inside-center-sides .hero-slider-nav-wrap {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    bottom: auto;
    inset-inline-end: auto;
    z-index: 10;
}
.slider-nav-inside-center-sides .slider-nav-wrap,
.slider-nav-inside-center-sides .hero-slider-nav-wrap {
    inset-inline-start: 0;
    inset-inline-end: 0;
    display: block;
    pointer-events: none;
}
.slider-nav-inside-center-sides .slider-prev,
.slider-nav-inside-center-sides .hero-slider-nav-btn.slider-prev {
    position: absolute;
    inset-inline-start: 12px;
    pointer-events: auto;
}
.slider-nav-inside-center-sides .slider-next,
.slider-nav-inside-center-sides .hero-slider-nav-btn.slider-next {
    position: absolute;
    inset-inline-end: 12px;
    pointer-events: auto;
}
.slider-nav-inside-top .slider-nav-wrap,
.slider-nav-inside-top .hero-slider-nav-wrap {
    position: absolute;
    top: 20px;
    bottom: auto;
    inset-inline-end: 20px;
    z-index: 10;
}
/* outside: nav/dots به‌عنوان sibling زیر inner — wrapper فلکس ستون */
.slider-nav-outside-bottom .slider-inner,
.slider-nav-outside-bottom .hero-slider-inner,
.slider-dots-outside-bottom .slider-inner,
.slider-dots-outside-bottom .hero-slider-inner {
    flex: 1 1 auto;
    min-height: 0;
}
.slider-wrap.slider-nav-outside-bottom,
.slider-wrap.slider-dots-outside-bottom,
.hero-shop-slider-wrap--fullwidth.slider-nav-outside-bottom,
.hero-shop-slider-wrap--fullwidth.slider-dots-outside-bottom {
    display: flex;
    flex-direction: column;
    /* دات بیرون نباید با overflow:hidden رَپ کات شود */
    overflow-x: hidden;
    overflow-y: visible;
}
.slider-nav-outside-bottom .slider-nav-wrap,
.slider-dots-outside-bottom .slider-dots {
    flex: 0 0 auto;
    position: static;
    margin-top: 12px;
    overflow: visible;
    padding-block: 4px;
}
.slider-dots-outside-bottom .slider-dots,
.slider-dots-outside-bottom .hero-slider-dots {
    transform: none;
    left: auto;
    bottom: auto;
    align-self: center;
    padding-block: 4px;
    overflow: visible;
}
.slider-wrap.slider-nav-outside-top-start,
.slider-wrap.slider-nav-outside-top-end,
.hero-shop-slider-wrap--fullwidth.slider-nav-outside-top-start,
.hero-shop-slider-wrap--fullwidth.slider-nav-outside-top-end {
    display: flex;
    flex-direction: column;
}
.slider-nav-outside-top-start .slider-inner,
.slider-nav-outside-top-end .slider-inner,
.slider-nav-outside-top-start .hero-slider-inner,
.slider-nav-outside-top-end .hero-slider-inner {
    flex: 1 1 auto;
    min-height: 0;
}
.slider-nav-outside-top-start .slider-nav-wrap,
.slider-nav-outside-top-end .slider-nav-wrap {
    position: static;
    flex: 0 0 auto;
    margin-bottom: 12px;
    order: -1;
}
.slider-nav-outside-top-start .slider-nav-wrap { align-self: flex-start; }
.slider-nav-outside-top-end .slider-nav-wrap { align-self: flex-end; }

/* ========== دکمه‌های prev/next — جهت فلش (LTR: prev←, next→ | RTL: prev→, next←) ========== */
.slider-nav-wrap,
.hero-slider-nav-wrap {
    display: flex;
    flex-direction: row;
    gap: var(--slider-gap, 10px);
    opacity: 0;
    transition: opacity 0.2s ease;
    pointer-events: none;
}
.slider-wrap.slider-nav-visible .slider-nav-wrap,
.slider-wrap:hover .slider-nav-wrap,
.hero-shop-slider-wrap--fullwidth.hero-slider-nav-visible .hero-slider-nav-wrap,
.hero-shop-slider-wrap--fullwidth:hover .hero-slider-nav-wrap {
    opacity: 1;
    pointer-events: auto;
}
.slider-nav-btn,
.hero-slider-nav-btn {
    pointer-events: auto;
    width: var(--slider-nav-size, 44px);
    height: var(--slider-nav-size, 44px);
    min-width: var(--slider-nav-size, 44px);
    min-height: var(--slider-nav-size, 44px);
    border-radius: 50%;
    background: var(--slider-nav-bg, var(--slider-btn-bg, rgba(255,255,255,0.95)));
    border: 1px solid rgba(0,0,0,0.08);
    color: var(--slider-nav-color, var(--slider-btn-text, #333));
    font-size: 1.25rem;
    line-height: 1;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 1px 4px rgba(0,0,0,0.12);
    transition: background 0.2s, color 0.2s, opacity 0.2s;
    cursor: pointer;
}
.slider-nav-btn:hover:not(.is-disabled),
.hero-slider-nav-btn:hover:not(.is-disabled) {
    background: #fff;
    color: #000;
}
.slider-nav-btn.is-disabled,
.hero-slider-nav-btn.is-disabled {
    opacity: 0.5;
    pointer-events: none;
    cursor: not-allowed;
}
.slider-nav-btn .slider-nav-icon,
.hero-slider-nav-btn .slider-nav-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1em;
    height: 1em;
}
.slider-nav-btn .slider-nav-icon svg,
.hero-slider-nav-btn .slider-nav-icon svg {
    width: 100%;
    height: 100%;
}
/* آیکن پایه = راست (→). LTR: prev با flip = چپ (←)، next بدون flip = راست (→). RTL: prev بدون flip = راست (→)، next با flip = چپ (←) */
.slider-nav-prev .slider-nav-icon,
.hero-slider-nav-btn.slider-nav-prev .slider-nav-icon {
    transform: scaleX(-1);
}
.slider-nav-next .slider-nav-icon,
.hero-slider-nav-btn.slider-nav-next .slider-nav-icon {
    transform: scaleX(1);
}
[dir="rtl"] .slider-nav-prev .slider-nav-icon,
[dir="rtl"] .hero-slider-nav-btn.slider-nav-prev .slider-nav-icon,
[data-slider-dir="rtl"] .slider-nav-prev .slider-nav-icon,
[data-slider-dir="rtl"] .hero-slider-nav-btn.slider-nav-prev .slider-nav-icon {
    transform: scaleX(1);
}
[dir="rtl"] .slider-nav-next .slider-nav-icon,
[dir="rtl"] .hero-slider-nav-btn.slider-nav-next .slider-nav-icon,
[data-slider-dir="rtl"] .slider-nav-next .slider-nav-icon,
[data-slider-dir="rtl"] .hero-slider-nav-btn.slider-nav-next .slider-nav-icon {
    transform: scaleX(-1);
}

/* ========== قالب‌های کپشن (Template) — logical properties برای RTL/LTR ========== */
.slider-template-none .slide-caption,
.slider-template-none .hero-slide-caption {
    display: none;
}

.slider-template-bottom-start .slide-caption,
.slider-template-bottom-start .hero-slide-caption {
    position: absolute;
    bottom: 24px;
    inset-inline-start: 24px;
    inset-inline-end: auto;
    max-inline-size: 70%;
    text-align: start;
    color: var(--slider-text, #fff);
    text-shadow: 0 1px 2px rgba(0,0,0,0.5);
}
.slider-template-bottom-end .slide-caption,
.slider-template-bottom-end .hero-slide-caption {
    position: absolute;
    bottom: 24px;
    inset-inline-end: 24px;
    inset-inline-start: auto;
    max-inline-size: 70%;
    text-align: end;
    color: var(--slider-text, #fff);
    text-shadow: 0 1px 2px rgba(0,0,0,0.5);
}

.slider-template-center .slide-caption,
.slider-template-center .hero-slide-caption {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    max-inline-size: 85%;
    color: var(--slider-text, #fff);
    text-shadow: 0 1px 3px rgba(0,0,0,0.6);
}

.slider-template-split .slide-caption,
.slider-template-split .hero-slide-caption {
    position: absolute;
    inset-inline-start: 24px;
    inset-inline-end: auto;
    top: 50%;
    transform: translateY(-50%);
    max-inline-size: 50%;
    text-align: start;
    color: var(--slider-text, #fff);
    text-shadow: 0 1px 2px rgba(0,0,0,0.5);
}

.slider-template-overlay-card .slide-caption,
.slider-template-overlay-card .hero-slide-caption {
    position: absolute;
    inset-inline-start: 24px;
    inset-inline-end: 24px;
    bottom: 24px;
    padding: 1rem 1.25rem;
    background: var(--slider-overlay, rgba(0,0,0,0.5));
    border-radius: var(--slider-radius, 8px);
    color: var(--slider-text, #fff);
    text-align: start;
}

/* سازگاری با نام‌های قدیمی */
.slider-template-bottom-right .slide-caption,
.slider-template-bottom-right .hero-slide-caption {
    position: absolute;
    bottom: 24px;
    inset-inline-end: 24px;
    inset-inline-start: auto;
    text-align: end;
    color: var(--slider-text, #fff);
    text-shadow: 0 1px 2px rgba(0,0,0,0.5);
}
.slider-template-bottom-left .slide-caption,
.slider-template-bottom-left .hero-slide-caption {
    position: absolute;
    bottom: 24px;
    inset-inline-start: 24px;
    inset-inline-end: auto;
    text-align: start;
    color: var(--slider-text, #fff);
    text-shadow: 0 1px 2px rgba(0,0,0,0.5);
}

.slide-caption .caption-title,
.hero-slide-caption .caption-title {
    margin: 0 0 0.35em;
    font-size: 1.5rem;
    color: inherit;
}
.slide-caption .caption-text,
.hero-slide-caption .caption-text {
    margin: 0 0 0.5em;
    font-size: 1rem;
    color: var(--slider-muted, rgba(255,255,255,0.9));
}
.slide-caption .caption-btn,
.hero-slide-caption .caption-btn {
    display: inline-block;
    margin-top: 0.5rem;
    padding: 0.5em 1em;
    background: var(--sm-hero-btn-bg, var(--slider-btn-bg, #fff));
    color: var(--sm-hero-btn-text, var(--slider-btn-text, #111));
    border: 1px solid var(--sm-hero-btn-border, var(--sm-hero-btn-bg, var(--slider-btn-bg, #fff)));
    border-radius: var(--sm-hero-btn-radius, var(--slider-radius, 8px));
    text-decoration: none;
    font-size: 0.95rem;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, opacity 0.2s ease;
}
.slide-caption .caption-btn:hover,
.hero-slide-caption .caption-btn:hover {
    background: var(--sm-hero-btn-hover-bg, var(--sm-hero-btn-bg, var(--slider-btn-bg, #fff)));
    color: var(--sm-hero-btn-hover-text, var(--sm-hero-btn-text, var(--slider-btn-text, #111)));
    border-color: var(--sm-hero-btn-hover-border, var(--sm-hero-btn-hover-bg, var(--sm-hero-btn-border, transparent)));
    opacity: 1;
}
.slide-caption a,
.hero-slide-caption a {
    color: inherit;
    cursor: pointer;
}

/* ========== Caption Chrome v2: position / style / cta (+ mobile) ========== */
.slider-caption-chrome.slider-mode-hero {
    /* فاصله از لبهٔ پایین تصویر تا کپشن (بدون دات) + فضای دات/ناو داخل‌اسلاید */
    --slider-caption-edge: clamp(10px, 1.8vw, 16px);
    --slider-caption-ui-clearance: 44px;
    --slider-caption-bottom: calc(var(--slider-caption-edge) + var(--slider-caption-ui-clearance));
    --slider-caption-inline: clamp(12px, 2.5vw, 24px);
}
.slider-caption-chrome.slider-mode-hero .slide-caption,
.slider-caption-chrome.slider-mode-hero .hero-slide-caption {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.65rem;
    z-index: 5;
    box-sizing: border-box;
    max-inline-size: min(92%, 36rem);
    pointer-events: none;
}
.slider-caption-chrome .slide-caption .caption-copy,
.slider-caption-chrome .hero-slide-caption .caption-copy {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-width: 0;
    flex: 0 1 auto;
}
.slider-caption-chrome .slide-caption .caption-btn,
.slider-caption-chrome .hero-slide-caption .caption-btn {
    pointer-events: auto;
    align-self: flex-start;
    margin-top: 0;
    flex: 0 0 auto;
    white-space: nowrap;
}

/* —— پوزیشن: پایین = چسبیده به پایین قاب تصویر (بالای دات‌ها) —— */
.slider-caption-chrome.slider-caption-pos-center .slide-caption,
.slider-caption-chrome.slider-caption-pos-center .hero-slide-caption {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    align-items: center;
}
.slider-caption-chrome.slider-caption-pos-center .slide-caption .caption-btn,
.slider-caption-chrome.slider-caption-pos-center .hero-slide-caption .caption-btn {
    align-self: center;
}

.slider-caption-chrome.slider-caption-pos-bottom-start .slide-caption,
.slider-caption-chrome.slider-caption-pos-bottom-start .hero-slide-caption {
    position: absolute;
    top: auto;
    bottom: var(--slider-caption-bottom);
    inset-inline-start: var(--slider-caption-inline);
    inset-inline-end: auto;
    text-align: start;
    align-items: flex-start;
}
.slider-caption-chrome.slider-caption-pos-bottom-start .slide-caption .caption-btn,
.slider-caption-chrome.slider-caption-pos-bottom-start .hero-slide-caption .caption-btn {
    align-self: flex-start;
}

.slider-caption-chrome.slider-caption-pos-bottom-end .slide-caption,
.slider-caption-chrome.slider-caption-pos-bottom-end .hero-slide-caption {
    position: absolute;
    top: auto;
    bottom: var(--slider-caption-bottom);
    inset-inline-end: var(--slider-caption-inline);
    inset-inline-start: auto;
    text-align: end;
    align-items: flex-end;
}
.slider-caption-chrome.slider-caption-pos-bottom-end .slide-caption .caption-btn,
.slider-caption-chrome.slider-caption-pos-bottom-end .hero-slide-caption .caption-btn {
    align-self: flex-end;
}

.slider-caption-chrome.slider-caption-pos-bottom-center .slide-caption,
.slider-caption-chrome.slider-caption-pos-bottom-center .hero-slide-caption {
    position: absolute;
    top: auto;
    bottom: var(--slider-caption-bottom);
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    align-items: center;
    max-inline-size: min(94%, 40rem);
}
.slider-caption-chrome.slider-caption-pos-bottom-center .slide-caption .caption-btn,
.slider-caption-chrome.slider-caption-pos-bottom-center .hero-slide-caption .caption-btn {
    align-self: center;
}

.slider-caption-chrome.slider-caption-pos-middle-start .slide-caption,
.slider-caption-chrome.slider-caption-pos-middle-start .hero-slide-caption {
    position: absolute;
    bottom: auto;
    top: 50%;
    transform: translateY(-50%);
    inset-inline-start: var(--slider-caption-inline);
    inset-inline-end: auto;
    text-align: start;
    align-items: flex-start;
    max-inline-size: min(55%, 28rem);
}
.slider-caption-chrome.slider-caption-pos-middle-start .slide-caption .caption-btn,
.slider-caption-chrome.slider-caption-pos-middle-start .hero-slide-caption .caption-btn {
    align-self: flex-start;
}

.slider-caption-chrome.slider-caption-pos-top-start .slide-caption,
.slider-caption-chrome.slider-caption-pos-top-start .hero-slide-caption {
    position: absolute;
    bottom: auto;
    top: var(--slider-caption-edge);
    inset-inline-start: var(--slider-caption-inline);
    inset-inline-end: auto;
    text-align: start;
    align-items: flex-start;
    max-inline-size: min(70%, 32rem);
}
.slider-caption-chrome.slider-caption-pos-top-start .slide-caption .caption-btn,
.slider-caption-chrome.slider-caption-pos-top-start .hero-slide-caption .caption-btn {
    align-self: flex-start;
}

/* —— جای دکمه نسبت به بلوک عنوان+متن (.caption-copy) —— */
.slider-caption-chrome.slider-cta-below .slide-caption,
.slider-caption-chrome.slider-cta-below .hero-slide-caption {
    flex-direction: column;
}
.slider-caption-chrome.slider-cta-above .slide-caption,
.slider-caption-chrome.slider-cta-above .hero-slide-caption {
    flex-direction: column-reverse;
}
/* inline-end: دکمه در انتهای منطقی سطر (در RTL = چپِ متن؛ در LTR = راستِ متن) */
.slider-caption-chrome.slider-cta-inline-end .slide-caption,
.slider-caption-chrome.slider-cta-inline-end .hero-slide-caption {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.85rem;
    max-inline-size: min(96%, 44rem);
}
.slider-caption-chrome.slider-cta-inline-end .caption-copy { flex: 1 1 auto; min-width: 0; }
.slider-caption-chrome.slider-cta-inline-end .caption-btn { align-self: center; }
/* inline-start: دکمه در ابتدای منطقی سطر (در RTL = راستِ متن؛ در LTR = چپِ متن) */
.slider-caption-chrome.slider-cta-inline-start .slide-caption,
.slider-caption-chrome.slider-cta-inline-start .hero-slide-caption {
    flex-direction: row-reverse;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.85rem;
    max-inline-size: min(96%, 44rem);
}
.slider-caption-chrome.slider-cta-inline-start .caption-copy { flex: 1 1 auto; min-width: 0; }
.slider-caption-chrome.slider-cta-inline-start .caption-btn { align-self: center; }
/* beside-stack: مثل inline-end ولی gap بیشتر و متن می‌تواند چندخط بماند؛ دکمه وسط ارتفاع متن */
.slider-caption-chrome.slider-cta-beside-stack .slide-caption,
.slider-caption-chrome.slider-cta-beside-stack .hero-slide-caption {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 1.25rem;
    max-inline-size: min(96%, 48rem);
}
.slider-caption-chrome.slider-cta-beside-stack .caption-copy { flex: 1 1 auto; min-width: 0; }
.slider-caption-chrome.slider-cta-beside-stack .caption-btn { align-self: center; }

/* مرکز + below/above: دکمه دقیقاً زیر/بالای عنوان، وسط‌چین */
.slider-caption-chrome.slider-caption-pos-center.slider-cta-below .slide-caption,
.slider-caption-chrome.slider-caption-pos-center.slider-cta-above .slide-caption,
.slider-caption-chrome.slider-caption-pos-center.slider-cta-below .hero-slide-caption,
.slider-caption-chrome.slider-caption-pos-center.slider-cta-above .hero-slide-caption,
.slider-caption-chrome.slider-caption-pos-bottom-center.slider-cta-below .slide-caption,
.slider-caption-chrome.slider-caption-pos-bottom-center.slider-cta-above .slide-caption,
.slider-caption-chrome.slider-caption-pos-bottom-center.slider-cta-below .hero-slide-caption,
.slider-caption-chrome.slider-caption-pos-bottom-center.slider-cta-above .hero-slide-caption {
    align-items: center;
}
.slider-caption-chrome.slider-caption-pos-center.slider-cta-below .caption-btn,
.slider-caption-chrome.slider-caption-pos-center.slider-cta-above .caption-btn,
.slider-caption-chrome.slider-caption-pos-bottom-center.slider-cta-below .caption-btn,
.slider-caption-chrome.slider-caption-pos-bottom-center.slider-cta-above .caption-btn {
    align-self: center;
}

.slider-caption-style-plain .slide-caption,
.slider-caption-style-plain .hero-slide-caption {
    color: var(--slider-text, #fff);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.55);
    padding: 0;
    background: transparent;
}
.slider-caption-style-shadow-strong .slide-caption,
.slider-caption-style-shadow-strong .hero-slide-caption {
    color: #fff;
    text-shadow:
        0 1px 2px rgba(0, 0, 0, 0.9),
        0 2px 12px rgba(0, 0, 0, 0.65),
        0 0 1px rgba(0, 0, 0, 0.8);
    padding: 0.25rem 0;
}
.slider-caption-style-shadow-strong .caption-title {
    font-size: clamp(1.35rem, 2.6vw, 2rem);
    font-weight: 700;
}
.slider-caption-style-glass .slide-caption,
.slider-caption-style-glass .hero-slide-caption {
    color: #fff;
    text-shadow: none;
    padding: 0.9rem 1.1rem;
    border-radius: var(--slider-radius, 12px);
    background: rgba(10, 10, 14, 0.48);
    border: 1px solid rgba(255, 255, 255, 0.18);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.25);
}
.slider-caption-style-solid-bar .slide-caption,
.slider-caption-style-solid-bar .hero-slide-caption {
    color: #fff;
    text-shadow: none;
    padding: 0.95rem 1.2rem;
    border-radius: var(--slider-radius, 12px);
    background: rgba(0, 0, 0, 0.72);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
}
.slider-caption-style-outline .slide-caption,
.slider-caption-style-outline .hero-slide-caption {
    color: #fff;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.75);
    padding: 0.5rem 0.25rem;
}
.slider-caption-style-outline .caption-title {
    font-size: clamp(1.5rem, 3.2vw, 2.35rem);
    font-weight: 800;
    letter-spacing: -0.02em;
    -webkit-text-stroke: 1px rgba(0, 0, 0, 0.35);
}
.slider-caption-style-minimal .slide-caption,
.slider-caption-style-minimal .hero-slide-caption {
    color: rgba(255, 255, 255, 0.95);
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
    padding: 0;
}
.slider-caption-style-minimal .caption-title {
    font-size: clamp(1rem, 1.8vw, 1.25rem);
    font-weight: 600;
}
.slider-caption-style-minimal .caption-text {
    font-size: 0.9rem;
    opacity: 0.9;
}

.slider-caption-demo-wrap {
    --slider-min-height: 360px;
    min-height: 360px;
    height: clamp(320px, 48vw, 480px);
    margin-bottom: 0.5rem;
}
/* دموی پوزیشن: ارتفاع بیشتر تا bottom با middle اشتباه نشود */
.slider-caption-demo-wrap--tall {
    --slider-min-height: 420px;
    min-height: 420px;
    height: clamp(400px, 52vw, 520px);
}

@media (max-width: 767.98px) {
    .slider-caption-chrome.slider-mode-hero .slide-caption,
    .slider-caption-chrome.slider-mode-hero .hero-slide-caption {
        max-inline-size: min(94%, 100%);
    }
    .slider-caption-chrome[data-caption-position-mobile] .slide-caption,
    .slider-caption-chrome[data-caption-position-mobile] .hero-slide-caption {
        top: auto;
        bottom: auto;
        left: auto;
        right: auto;
        inset-inline-start: auto;
        inset-inline-end: auto;
        transform: none;
    }
    .slider-caption-chrome[data-caption-position-mobile="center"] .slide-caption,
    .slider-caption-chrome[data-caption-position-mobile="center"] .hero-slide-caption {
        left: 50%; top: 50%; transform: translate(-50%, -50%);
        text-align: center; align-items: center;
    }
    .slider-caption-chrome[data-caption-position-mobile="center"] .caption-btn { align-self: center !important; }
    .slider-caption-chrome[data-caption-position-mobile="bottom-start"] .slide-caption,
    .slider-caption-chrome[data-caption-position-mobile="bottom-start"] .hero-slide-caption {
        bottom: var(--slider-caption-bottom); inset-inline-start: 12px;
        text-align: start; align-items: flex-start;
    }
    .slider-caption-chrome[data-caption-position-mobile="bottom-end"] .slide-caption,
    .slider-caption-chrome[data-caption-position-mobile="bottom-end"] .hero-slide-caption {
        bottom: var(--slider-caption-bottom); inset-inline-end: 12px;
        text-align: end; align-items: flex-end;
    }
    .slider-caption-chrome[data-caption-position-mobile="bottom-end"] .caption-btn { align-self: flex-end !important; }
    .slider-caption-chrome[data-caption-position-mobile="bottom-center"] .slide-caption,
    .slider-caption-chrome[data-caption-position-mobile="bottom-center"] .hero-slide-caption {
        bottom: var(--slider-caption-bottom); left: 50%; transform: translateX(-50%);
        text-align: center; align-items: center;
    }
    .slider-caption-chrome[data-caption-position-mobile="bottom-center"] .caption-btn { align-self: center !important; }
    .slider-caption-chrome[data-caption-position-mobile="middle-start"] .slide-caption,
    .slider-caption-chrome[data-caption-position-mobile="middle-start"] .hero-slide-caption {
        top: 50%; transform: translateY(-50%); inset-inline-start: 12px;
        text-align: start; align-items: flex-start; max-inline-size: 88%;
    }
    .slider-caption-chrome[data-caption-position-mobile="top-start"] .slide-caption,
    .slider-caption-chrome[data-caption-position-mobile="top-start"] .hero-slide-caption {
        top: 12px; inset-inline-start: 12px; text-align: start; align-items: flex-start;
    }
    .slider-caption-chrome[data-cta-placement-mobile="below"] .slide-caption,
    .slider-caption-chrome[data-cta-placement-mobile="below"] .hero-slide-caption {
        flex-direction: column !important;
    }
    .slider-caption-chrome[data-cta-placement-mobile="above"] .slide-caption,
    .slider-caption-chrome[data-cta-placement-mobile="above"] .hero-slide-caption {
        flex-direction: column-reverse !important;
    }
    .slider-caption-chrome[data-cta-placement-mobile="inline-end"] .slide-caption,
    .slider-caption-chrome[data-cta-placement-mobile="inline-end"] .hero-slide-caption {
        flex-direction: row !important; flex-wrap: nowrap; align-items: center; gap: 0.65rem;
    }
    .slider-caption-chrome[data-cta-placement-mobile="inline-start"] .slide-caption,
    .slider-caption-chrome[data-cta-placement-mobile="inline-start"] .hero-slide-caption {
        flex-direction: row-reverse !important; flex-wrap: nowrap; align-items: center; gap: 0.65rem;
    }
    .slider-caption-chrome[data-cta-placement-mobile="beside-stack"] .slide-caption,
    .slider-caption-chrome[data-cta-placement-mobile="beside-stack"] .hero-slide-caption {
        flex-direction: column !important;
    }
    .slider-caption-chrome[data-caption-style-mobile="plain"] .slide-caption,
    .slider-caption-chrome[data-caption-style-mobile="plain"] .hero-slide-caption {
        background: transparent; backdrop-filter: none; border: 0; box-shadow: none;
        text-shadow: 0 1px 2px rgba(0,0,0,0.55); padding: 0;
    }
    .slider-caption-chrome[data-caption-style-mobile="shadow-strong"] .slide-caption,
    .slider-caption-chrome[data-caption-style-mobile="shadow-strong"] .hero-slide-caption {
        background: transparent; border: 0; box-shadow: none; padding: 0.25rem 0;
        text-shadow: 0 1px 2px rgba(0,0,0,0.9), 0 2px 12px rgba(0,0,0,0.65);
    }
    .slider-caption-chrome[data-caption-style-mobile="glass"] .slide-caption,
    .slider-caption-chrome[data-caption-style-mobile="glass"] .hero-slide-caption {
        background: rgba(10,10,14,0.55); border: 1px solid rgba(255,255,255,0.18);
        backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
        padding: 0.75rem 0.9rem; text-shadow: none;
    }
    .slider-caption-chrome[data-caption-style-mobile="solid-bar"] .slide-caption,
    .slider-caption-chrome[data-caption-style-mobile="solid-bar"] .hero-slide-caption {
        background: rgba(0,0,0,0.78); border: 1px solid rgba(255,255,255,0.08);
        padding: 0.8rem 1rem; text-shadow: none; backdrop-filter: none;
    }
    .slider-caption-chrome[data-caption-style-mobile="outline"] .slide-caption,
    .slider-caption-chrome[data-caption-style-mobile="outline"] .hero-slide-caption {
        background: transparent; border: 0; padding: 0.35rem 0;
        text-shadow: 0 2px 8px rgba(0,0,0,0.75);
    }
    .slider-caption-chrome[data-caption-style-mobile="minimal"] .slide-caption,
    .slider-caption-chrome[data-caption-style-mobile="minimal"] .hero-slide-caption {
        background: transparent; border: 0; padding: 0;
        text-shadow: 0 1px 3px rgba(0,0,0,0.5);
    }
}

/* ========== Caption Adapt: خوانایی هوشمند / دستی بر اساس تصویر ========== */
.slider-caption-adapt .slide.slider-caption-ink-light .slide-caption,
.slider-caption-adapt .slide.slider-caption-ink-light .hero-slide-caption,
.slide.slider-caption-adapted.slider-caption-ink-light .slide-caption,
.slide.slider-caption-adapted.slider-caption-ink-light .hero-slide-caption {
    color: #fff;
}
.slide.slider-caption-ink-light .caption-title,
.slide.slider-caption-ink-light .caption-text {
    color: #fff;
}
.slide.slider-caption-ink-light .caption-text {
    color: rgba(255, 255, 255, 0.95);
}

.slide.slider-caption-ink-dark .slide-caption,
.slide.slider-caption-ink-dark .hero-slide-caption {
    color: #111;
}
.slide.slider-caption-ink-dark .caption-title {
    color: #111;
}
.slide.slider-caption-ink-dark .caption-text {
    color: #1a1a1a;
}
.slide.slider-caption-ink-dark .caption-btn {
    background: #111;
    color: #fff;
    border-color: #111;
}

/* کنتراست / سایه — تمرکز روی توضیح (.caption-text) */
.slide.slider-caption-contrast-normal .caption-title {
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
}
.slide.slider-caption-contrast-normal .caption-text {
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}
.slide.slider-caption-contrast-strong .caption-title {
    text-shadow:
        0 1px 2px rgba(0, 0, 0, 0.85),
        0 2px 10px rgba(0, 0, 0, 0.55);
}
.slide.slider-caption-contrast-strong .caption-text {
    text-shadow:
        0 1px 2px rgba(0, 0, 0, 0.9),
        0 2px 12px rgba(0, 0, 0, 0.65),
        0 0 1px rgba(0, 0, 0, 0.8);
}
.slide.slider-caption-contrast-max .caption-title {
    text-shadow:
        0 1px 2px rgba(0, 0, 0, 0.95),
        0 3px 14px rgba(0, 0, 0, 0.7),
        0 0 2px rgba(0, 0, 0, 0.9);
}
.slide.slider-caption-contrast-max .caption-text {
    text-shadow:
        0 1px 3px rgba(0, 0, 0, 1),
        0 3px 16px rgba(0, 0, 0, 0.85),
        0 0 2px rgba(0, 0, 0, 1);
}
.slide.slider-caption-ink-dark.slider-caption-contrast-strong .caption-title,
.slide.slider-caption-ink-dark.slider-caption-contrast-strong .caption-text,
.slide.slider-caption-ink-dark.slider-caption-contrast-max .caption-title,
.slide.slider-caption-ink-dark.slider-caption-contrast-max .caption-text {
    text-shadow:
        0 1px 0 rgba(255, 255, 255, 0.85),
        0 0 10px rgba(255, 255, 255, 0.55),
        0 2px 8px rgba(255, 255, 255, 0.35);
}
.slide.slider-caption-contrast-max .caption-copy {
    padding: 0.35rem 0.5rem;
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.28);
}
.slide.slider-caption-ink-dark.slider-caption-contrast-max .caption-copy {
    background: rgba(255, 255, 255, 0.42);
}

/* Glow دور متن */
.slide.slider-caption-glow-soft .caption-title {
    text-shadow:
        0 0 10px rgba(0, 0, 0, 0.55),
        0 1px 2px rgba(0, 0, 0, 0.75);
}
.slide.slider-caption-glow-soft .caption-text {
    text-shadow:
        0 0 12px rgba(0, 0, 0, 0.6),
        0 1px 3px rgba(0, 0, 0, 0.85);
}
.slide.slider-caption-glow-strong .caption-title {
    text-shadow:
        0 0 6px rgba(0, 0, 0, 0.9),
        0 0 18px rgba(0, 0, 0, 0.65),
        0 2px 4px rgba(0, 0, 0, 0.9);
}
.slide.slider-caption-glow-strong .caption-text {
    text-shadow:
        0 0 8px rgba(0, 0, 0, 0.95),
        0 0 20px rgba(0, 0, 0, 0.7),
        0 2px 6px rgba(0, 0, 0, 1);
}
.slide.slider-caption-ink-dark.slider-caption-glow-soft .caption-title,
.slide.slider-caption-ink-dark.slider-caption-glow-soft .caption-text,
.slide.slider-caption-ink-dark.slider-caption-glow-strong .caption-title,
.slide.slider-caption-ink-dark.slider-caption-glow-strong .caption-text {
    text-shadow:
        0 0 12px rgba(255, 255, 255, 0.75),
        0 1px 0 rgba(255, 255, 255, 0.9),
        0 2px 10px rgba(255, 255, 255, 0.45);
}

/* اورراید استایل هر اسلاید */
.slide.slider-caption-slide-style-plain .slide-caption,
.slide.slider-caption-slide-style-plain .hero-slide-caption {
    background: transparent; border: 0; box-shadow: none; backdrop-filter: none; padding: 0;
}
.slide.slider-caption-slide-style-shadow-strong .slide-caption,
.slide.slider-caption-slide-style-shadow-strong .hero-slide-caption {
    background: transparent; border: 0; box-shadow: none; backdrop-filter: none; padding: 0.25rem 0;
}
.slide.slider-caption-slide-style-glass .slide-caption,
.slide.slider-caption-slide-style-glass .hero-slide-caption {
    color: #fff;
    text-shadow: none;
    padding: 0.9rem 1.1rem;
    border-radius: var(--slider-radius, 12px);
    background: rgba(10, 10, 14, 0.48);
    border: 1px solid rgba(255, 255, 255, 0.18);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
.slide.slider-caption-slide-style-solid-bar .slide-caption,
.slide.slider-caption-slide-style-solid-bar .hero-slide-caption {
    color: #fff;
    text-shadow: none;
    padding: 0.95rem 1.2rem;
    border-radius: var(--slider-radius, 12px);
    background: rgba(0, 0, 0, 0.72);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.slide.slider-caption-slide-style-solid-bar.slider-caption-ink-dark .slide-caption,
.slide.slider-caption-slide-style-solid-bar.slider-caption-ink-dark .hero-slide-caption {
    color: #111;
    background: rgba(255, 255, 255, 0.82);
    border-color: rgba(0, 0, 0, 0.08);
}
.slide.slider-caption-slide-style-outline .slide-caption,
.slide.slider-caption-slide-style-outline .hero-slide-caption {
    background: transparent; border: 0; padding: 0.5rem 0.25rem;
}
.slide.slider-caption-slide-style-minimal .slide-caption,
.slide.slider-caption-slide-style-minimal .hero-slide-caption {
    background: transparent; border: 0; padding: 0;
}

/* ========== Theme ها ========== */
.slider-theme-default .slider-dot.is-active,
.slider-theme-default .slider-dot.is-active {
    background: #fff;
}
.slider-theme-dark .slider-dot,
.slider-theme-dark .hero-slider-dot {
    background: rgba(255,255,255,0.35);
    border-color: rgba(255,255,255,0.2);
}
.slider-theme-dark .slider-dot.is-active,
.slider-theme-dark .hero-slider-dot.is-active {
    background: #fff;
}
.slider-theme-dark .slider-nav-btn,
.slider-theme-dark .hero-slider-nav-btn {
    background: rgba(0,0,0,0.4);
    color: #fff;
    border-color: rgba(255,255,255,0.2);
}
.slider-theme-dark .slider-nav-btn:hover:not(.is-disabled),
.slider-theme-dark .hero-slider-nav-btn:hover:not(.is-disabled) {
    background: rgba(0,0,0,0.6);
    color: #fff;
}
.slider-theme-light .slider-dot,
.slider-theme-light .hero-slider-dot {
    background: rgba(0,0,0,0.2);
    border-color: rgba(0,0,0,0.15);
}
.slider-theme-light .slider-dot.is-active,
.slider-theme-light .hero-slider-dot.is-active {
    background: #333;
}
.slider-theme-light .slide-caption,
.slider-theme-light .hero-slide-caption {
    color: #111;
    text-shadow: 0 1px 2px rgba(255,255,255,0.8);
}
.slider-theme-brand-red .slider-dot.is-active,
.slider-theme-brand-red .hero-slider-dot.is-active {
    background: #c00;
}
.slider-theme-brand-red .slider-nav-btn,
.slider-theme-brand-red .hero-slider-nav-btn {
    background: rgba(204,0,0,0.9);
    color: #fff;
}
.slider-theme-brand-red .slider-nav-btn:hover:not(.is-disabled),
.slider-theme-brand-red .hero-slider-nav-btn:hover:not(.is-disabled) {
    background: #c00;
    color: #fff;
}
.slider-theme-brand-red .slide-caption .caption-btn,
.slider-theme-brand-red .hero-slide-caption .caption-btn {
    background: #c00;
    color: #fff;
}
.slider-theme-minimal .slider-dot,
.slider-theme-minimal .hero-slider-dot {
    background: rgba(255,255,255,0.4);
    border: none;
}
.slider-theme-minimal .slider-dot.is-active,
.slider-theme-minimal .hero-slider-dot.is-active {
    background: #fff;
    transform: scale(1);
    box-shadow: 0 0 0 2px rgba(0,0,0,0.2);
}
.slider-theme-minimal .slider-nav-btn,
.slider-theme-minimal .hero-slider-nav-btn {
    background: transparent;
    border: 1px solid rgba(255,255,255,0.6);
    color: #fff;
}
.slider-theme-minimal .slider-nav-btn:hover:not(.is-disabled),
.slider-theme-minimal .hero-slider-nav-btn:hover:not(.is-disabled) {
    background: rgba(255,255,255,0.15);
}

/* ========== دموهای Hover/Clickable Card (فقط تحت scope این wrapperها) ========== */
/* اسلاید در کاروسل پیش‌فرض aspect-ratio دارد و ارتفاع ثابت → عنوان/CTA زیر عکس بریده می‌شوند. اینجا ارتفاع اسلاید را با محتوا تطبیق می‌دهیم. */
#demo-hover-title-only-wrap .slide,
#demo-hover-title-cta-wrap .slide,
#demo-hover-overlay-zoom-wrap .slide,
#demo-hover-overlay-caption-wrap .slide,
#demo-hover-strip-expand-wrap .slide,
#demo-products-latest-wrap .slide,
#articles-demo-wrap .slide {
    aspect-ratio: auto;
    min-height: 0;
    height: auto;
    display: block;
    width: var(--slider-item-px, 33.333%);
    flex: 0 0 var(--slider-item-px, 33.333%);
}
#demo-hover-title-only-wrap .slide-link,
#demo-hover-title-cta-wrap .slide-link,
#demo-hover-overlay-zoom-wrap .slide-link,
#demo-hover-overlay-caption-wrap .slide-link,
#demo-hover-strip-expand-wrap .slide-link {
    display: block;
    text-decoration: none;
    color: inherit;
}
#demo-hover-title-only-wrap .slide-media,
#demo-hover-title-cta-wrap .slide-media,
#demo-hover-overlay-zoom-wrap .slide-media,
#demo-hover-overlay-caption-wrap .slide-media,
#demo-hover-strip-expand-wrap .slide-media {
    position: relative;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 12px;
}
#demo-hover-title-only-wrap .slide-media img,
#demo-hover-title-cta-wrap .slide-media img,
#demo-hover-overlay-zoom-wrap .slide-media img,
#demo-hover-overlay-caption-wrap .slide-media img,
#demo-hover-strip-expand-wrap .slide-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transform: scale(1);
    transition: transform 0.35s ease;
}
#demo-hover-title-only-wrap .slide-overlay,
#demo-hover-title-cta-wrap .slide-overlay,
#demo-hover-overlay-zoom-wrap .slide-overlay,
#demo-hover-overlay-caption-wrap .slide-overlay {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.25s ease;
    pointer-events: none;
    background: var(--slide-overlay, rgba(0,0,0,0.25));
}
/* عنوان و CTA زیر تصویر (A/B/C) — حتماً قابل مشاهده */
#demo-hover-title-only-wrap .slide-content,
#demo-hover-title-cta-wrap .slide-content,
#demo-hover-overlay-zoom-wrap .slide-content {
    display: block;
    padding-top: 10px;
}
#demo-hover-title-only-wrap .slide-title,
#demo-hover-title-cta-wrap .slide-title,
#demo-hover-overlay-zoom-wrap .slide-title {
    display: block;
    visibility: visible;
    color: #111;
    margin: 0;
    font-size: 15px;
    line-height: 1.4;
    transition: color 0.2s ease;
}
/* دمو A: عنوان زیر عکس، بالای دات‌ها (مثل پیشنهاد ویژه)، یک سطر با ... */
#demo-hover-title-only-wrap .slide-content {
    padding-top: 10px;
    padding-bottom: 4px;
}
#demo-hover-title-only-wrap .slide-title {
    font-size: 1rem;
    font-weight: 600;
    color: #111;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
#demo-hover-title-only-wrap .hover-title-only:hover .slide-title {
    color: #8B1A1A;
}
#demo-hover-title-cta-wrap .slide-cta,
#demo-hover-overlay-zoom-wrap .slide-cta {
    display: inline-flex;
    align-items: center;
    margin-top: 8px;
    padding: 8px 12px;
    border-radius: 10px;
    border: 1px solid rgba(0,0,0,0.2);
    color: #111;
    background: transparent;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
/* A) Hover Title Only — زرشکی #8B1A1A */
#demo-hover-title-only-wrap .hover-title-only:hover .slide-title {
    color: #8B1A1A;
}
/* B) عنوان و CTA داخل تصویر پایین — عنوان با ...، هاور CTA بوردر زرشکی، دات بیرون با فاصله کمتر */
#demo-hover-title-cta-wrap .slide-media.caption-on-media {
    position: relative;
}
#demo-hover-title-cta-wrap .slide-media.caption-on-media img {
    z-index: 0;
    position: relative;
}
#demo-hover-title-cta-wrap .slide-media .slide-overlay {
    z-index: 1;
}
#demo-hover-title-cta-wrap .slide-content.on-media {
    position: absolute;
    inset: auto 0 0 0;
    z-index: 2;
    padding: 16px;
}
#demo-hover-title-cta-wrap .slide-content.on-media .slide-title {
    margin: 0 0 0.35em;
    font-size: 1rem;
    font-weight: 600;
    color: #fff;
    text-shadow: 0 1px 3px rgba(0,0,0,0.6);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
#demo-hover-title-cta-wrap .slide-content.on-media .slide-cta {
    display: inline-flex;
    padding: 8px 12px;
    border-radius: 10px;
    border: 1px solid rgba(255,255,255,0.7);
    background: rgba(0,0,0,0.2);
    color: #fff;
    transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}
#demo-hover-title-cta-wrap .hover-title-cta:hover .slide-title {
    color: #8B1A1A;
}
#demo-hover-title-cta-wrap .hover-title-cta:hover .slide-cta {
    background: rgba(139,26,26,0.25);
    color: #fff;
    border-color: #8B1A1A;
}
#demo-hover-title-cta-wrap.slider-dots-outside-bottom .slider-dots {
    margin-top: 4px;
}
/* C) Hover Overlay + Zoom — عنوان ردیف اول راست‌چین، دکمه ردیف دوم سمت چپ */
#demo-hover-overlay-zoom-wrap .slide-content {
    direction: rtl;
}
#demo-hover-overlay-zoom-wrap .slide-title {
    display: block;
    text-align: right;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: 8px;
}
#demo-hover-overlay-zoom-wrap .slide-cta {
    display: block;
    margin-inline-start: auto;
    text-align: center;
}
#demo-hover-overlay-zoom-wrap .hover-overlay:hover .slide-overlay {
    opacity: 1;
}
#demo-hover-overlay-zoom-wrap .hover-overlay:hover .slide-media img {
    transform: scale(1.06);
}
/* C) فقط overlay+zoom روی تصویر؛ عنوان/CTA زیر عکس بدون تغییر استایل در hover */
/* D) Overlay + Caption on Media — متن CTA همیشه سفید */
#demo-hover-overlay-caption-wrap .caption-on-media .slide-overlay {
    z-index: 1;
}
#demo-hover-overlay-caption-wrap .caption-on-media img {
    z-index: 0;
    position: relative;
}
#demo-hover-overlay-caption-wrap .slide-content.on-media {
    position: absolute;
    inset: auto 0 0 0;
    z-index: 2;
    padding: 16px;
}
#demo-hover-overlay-caption-wrap .slide-content.on-media .slide-title {
    color: #fff;
    margin: 0 0 0.25em;
    font-size: 15px;
    text-shadow: 0 1px 2px rgba(0,0,0,0.5);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
#demo-hover-overlay-caption-wrap .slide-cta {
    display: inline-flex;
    align-items: center;
    margin-top: 8px;
    padding: 8px 12px;
    border-radius: 10px;
    color: #fff;
    border: 1px solid rgba(255,255,255,0.7);
    background: rgba(0,0,0,0.2);
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
#demo-hover-overlay-caption-wrap .slide-link:hover .slide-cta {
    color: #fff;
    background: var(--cta-bg-hover, rgba(255,255,255,0.35));
    border-color: rgba(255,255,255,0.8);
}
#demo-hover-overlay-caption-wrap .hover-overlay-caption:hover .slide-cta {
    color: #fff;
    background: rgba(255,255,255,0.35);
    border-color: rgba(255,255,255,0.8);
}
#demo-hover-overlay-caption-wrap .hover-overlay-caption:hover .slide-overlay {
    opacity: 1;
}
#demo-hover-overlay-caption-wrap .hover-overlay-caption:hover .caption-on-media img {
    transform: scale(1.06);
}
#demo-hover-overlay-caption-wrap .hover-overlay-caption:hover .slide-title {
    color: #fff;
}

/* E) نوار overlay پایین — نوار باریک به‌اندازه عنوان، خلاصه با ...؛ هاور: گسترش، عنوان کامل، شفافیت کمتر */
#demo-hover-strip-expand-wrap .slide-media.strip-overlay-wrap img {
    z-index: 0;
    position: relative;
    transition: transform 0.4s ease;
}
#demo-hover-strip-expand-wrap .slide-overlay-strip {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 52px;
    z-index: 1;
    background: rgba(0,0,0,0.41);
    display: flex;
    align-items: flex-start;
    padding: 10px 16px;
    box-sizing: border-box;
    transition: height 0.4s ease;
}
#demo-hover-strip-expand-wrap .slide-overlay-strip .slide-title {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 600;
    color: #fff;
    text-shadow: 0 0 8px rgba(255,255,255,0.7), 0 0 14px rgba(255,255,255,0.35), 0 1px 2px rgba(0,0,0,0.4);
    text-align: right;
    line-height: 1.4;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 100%;
    transition: color 0.35s ease, opacity 0.25s ease;
}
#demo-hover-strip-expand-wrap .hover-strip-expand:hover .slide-media img {
    transform: scale(1.06);
}
#demo-hover-strip-expand-wrap .hover-strip-expand:hover .slide-overlay-strip {
    height: 50%;
}
#demo-hover-strip-expand-wrap .hover-strip-expand:hover .slide-overlay-strip .slide-title {
    color: #8B1A1A;
    font-size: 0.95rem;
    text-shadow: 0 0 8px rgba(139,26,26,0.6), 0 0 14px rgba(139,26,26,0.3), 0 1px 2px rgba(0,0,0,0.35);
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
}
#demo-hover-strip-expand-wrap.slider-dots-outside-bottom .slider-dots {
    margin-top: 6px;
}
#demo-hover-strip-expand-wrap.slider-dots-outside-bottom {
    padding-bottom: 18px;
    overflow: visible;
}

/* ========== F) جدیدترین محصولات — کارت، تصویر با فاصله، عنوان، خلاصه، دسته، خط جداکننده، توضیحات + قیمت تومان، دات بیرون، ناو بزرگتر ========== */
#demo-products-latest-wrap {
    --slider-nav-size: 56px;
}
#demo-products-latest-wrap .slide {
    padding: 0 6px;
    box-sizing: border-box;
}
#demo-products-latest-wrap .product-card {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: column;
    direction: rtl;
    text-align: right;
}
#demo-products-latest-wrap .product-card__image-wrap {
    padding: 14px 14px 0;
    flex: 0 0 auto;
}
#demo-products-latest-wrap .product-card__image-wrap img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: contain;
    display: block;
    background: #f8f8f8;
    border-radius: 8px;
}
#demo-products-latest-wrap .product-card__title {
    margin: 10px 14px 6px;
    font-size: 1.05rem;
    font-weight: 700;
    color: #222;
    line-height: 1.35;
}
#demo-products-latest-wrap .product-card__summary {
    margin: 0 14px 10px;
    font-size: 0.8rem;
    color: #555;
    line-height: 1.5;
    min-height: 3.6rem;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
#demo-products-latest-wrap .product-card__category {
    display: inline-block;
    width: fit-content;
    margin: 0 14px 8px;
    padding: 4px 10px;
    background: #e67e22;
    color: #fff;
    font-size: 0.72rem;
    font-weight: 600;
    border-radius: 6px;
}
#demo-products-latest-wrap .product-card__sep {
    border: none;
    height: 1px;
    background: #e0e0e0;
    margin: 0 14px;
}
#demo-products-latest-wrap .product-card__bottom {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 12px 14px 14px;
    gap: 10px;
}
#demo-products-latest-wrap .product-card__details {
    color: #333;
    font-size: 0.85rem;
    text-decoration: none;
    border: 1px solid transparent;
    padding: 4px 8px;
    border-radius: 6px;
    transition: color 0.2s ease, border-color 0.2s ease;
}
#demo-products-latest-wrap .product-card__details:hover {
    color: #8B1A1A;
    border-color: #8B1A1A;
}
#demo-products-latest-wrap .product-card__contact {
    font-size: 0.9rem;
    font-weight: 600;
    color: #1976d2;
    text-decoration: none;
    white-space: nowrap;
    transition: color 0.2s ease;
}
#demo-products-latest-wrap .product-card__contact:hover {
    color: #0d47a1;
}
#demo-products-latest-wrap .product-card__price {
    font-size: 0.9rem;
    font-weight: 600;
    color: #222;
    white-space: nowrap;
}
#demo-products-latest-wrap.slider-dots-outside-bottom .slider-dots {
    margin-top: 14px;
}
#demo-products-latest-wrap.slider-dots-outside-bottom {
    padding-bottom: 8px;
    overflow: visible;
}

/* ========== دمو مطالب و مقالات — scoped به #articles-demo-wrap ========== */
#articles-demo-wrap .slide {
    padding: 0 6px;
    box-sizing: border-box;
}
#articles-demo-wrap .article-card {
    display: block;
    text-decoration: none;
    color: inherit;
    height: 100%;
}
#articles-demo-wrap .article-media {
    position: relative;
    overflow: hidden;
    border-radius: 12px;
    aspect-ratio: 16 / 9;
}
#articles-demo-wrap .article-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 350ms ease;
}
#articles-demo-wrap .article-curve {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 42px;
    background: var(--page-bg, #fff);
    border-radius: 0 0 50% 50% / 0 0 100% 100%;
    transform: translateY(0);
    transition: transform 350ms ease;
    pointer-events: none;
}
#articles-demo-wrap .article-card:hover .article-curve {
    transform: translateY(-100%);
}
#articles-demo-wrap .article-card:hover .article-media img {
    transform: scale(1.06);
}
#articles-demo-wrap .article-body {
    padding-top: 12px;
    direction: rtl;
    text-align: right;
}
#articles-demo-wrap .article-title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 0 0 0.4em;
    font-size: 1rem;
    font-weight: 600;
    color: #222;
    line-height: 1.4;
    transition: color 0.2s ease;
}
#articles-demo-wrap .article-body {
    display: flex;
    flex-direction: column;
}
#articles-demo-wrap .article-excerpt {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 0 0 0.5em;
    font-size: 0.85rem;
    color: #555;
    line-height: 1.5;
}
#articles-demo-wrap .article-more {
    display: block;
    font-size: 0.85rem;
    color: #dc3545;
    font-weight: 700;
    transition: color 0.2s ease;
    align-self: flex-end;
    margin-top: 0;
}
#articles-demo-wrap .article-card:hover .article-title,
#articles-demo-wrap .article-card:hover .article-more {
    color: #8B1A1A;
}
#articles-demo-wrap.slider-nav-hidden .slider-nav-wrap {
    display: none !important;
}
#articles-demo-wrap .slider-dots {
    margin-top: 33px;
}
#articles-demo-wrap.slider-dots-inside-bottom {
    padding-bottom: 28px;
}

/* ========== هدر سکشن دمو مطالب و مقالات — مشابه owl-carousel (has-line, has-more, وسط‌چین عنوان، خط‌ها، هاور) ========== */
.articles-demo-section .section-title.has-more.has-line {
    position: relative;
    z-index: 0;
    text-align: center;
    margin-bottom: 0.5rem;
    width: 100%;
}
.articles-demo-section .section-title.has-more.has-line > strong {
    background: #fff;
    padding: 0.25rem 1rem;
    font-size: 2rem;
    font-weight: bold;
}
.articles-demo-section .section-title.has-more.has-line::after,
.articles-demo-section .section-title.has-more.has-line::before {
    display: block;
    z-index: -1;
    position: absolute;
    content: "";
    background: #eaeaea;
    top: 55%;
    -webkit-transform: translateY(-20%);
    transform: translateY(-20%);
    height: 2px;
}
.articles-demo-section .section-title.has-more.has-line::after {
    left: 50%;
    width: 50%;
}
.articles-demo-section .section-title.has-more.has-line::before {
    right: 50%;
    width: 36%;
}
.articles-demo-section .section-title.has-more.has-line > a {
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    color: inherit;
    text-decoration: none;
    transition: color 0.5s cubic-bezier(0.23, 1, 0.32, 1), word-spacing 0.5s cubic-bezier(0.23, 1, 0.32, 1);
}
.articles-demo-section .section-title.has-more.has-line > a i {
    transition: padding-inline-end 0.5s cubic-bezier(0.23, 1, 0.32, 1);
}
.articles-demo-section .section-title.has-more.has-line > a:hover {
    color: #f1122f;
    word-spacing: 3px;
}
.articles-demo-section .section-title.has-more.has-line > a:hover > i {
    -webkit-padding-end: 10px;
    padding-inline-end: 10px;
}
@media (max-width: 768px) {
    .articles-demo-section .section-title.has-more.has-line > strong {
        font-size: 1.5rem;
    }
    .articles-demo-section .section-title.has-more.has-line::before {
        width: 50%;
    }
    .articles-demo-section .section-title.has-more.has-line > a {
        -webkit-transform: translateY(-200%);
        transform: translateY(-200%);
    }
}
@media (max-width: 575px) {
    .articles-demo-section .section-title.has-more.has-line > strong {
        font-size: 1.3rem;
    }
}

/* ========== مشتریان ما (Core) ========== */
#companies.companies-slider {
    --slider-gap: 12px;
    --companies-logo-fit: contain;
}
#companies.slider-nav-hidden .slider-nav-wrap {
    display: none !important;
}
main.main #companies .slide {
    padding: 0 0.25rem;
    box-sizing: border-box;
    height: auto !important;
    min-height: 0 !important;
}
main.main #companies .slide a {
    border: 2px solid #eee;
    padding: 0.75rem;
    min-height: 140px;
    height: 140px;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    text-decoration: none;
    overflow: hidden;
    box-sizing: border-box;
    background: #fff;
}
main.main #companies .slide a:hover {
    border-color: #aaa;
}
/* غلبه بر .slide img { height:100%; object-fit:cover !important } هسته */
main.main #companies .slide a img,
main.main #companies.companies-slider .slide img {
    margin: 0 auto !important;
    max-height: 100% !important;
    max-width: 100% !important;
    width: auto !important;
    height: auto !important;
    object-fit: var(--companies-logo-fit, contain) !important;
    object-position: center !important;
    display: block !important;
}
#companies[data-logo-fit="cover"] {
    --companies-logo-fit: cover;
}
#companies[data-logo-fit="contain"] {
    --companies-logo-fit: contain;
}
#companies[data-logo-fit="scale-down"] {
    --companies-logo-fit: scale-down;
}
#companies .slider-dots {
    margin-top: 12px;
    flex-wrap: wrap;
    justify-content: center;
}

/* ========== نرگس در یک نگاه — رسانه ========== */
.about-media {
    width: 100%;
}
.about-media__frame {
    --about-media-aspect: 16/9;
    --about-media-fit: cover;
    position: relative;
    width: 100%;
    aspect-ratio: var(--about-media-aspect);
    overflow: hidden;
    border-radius: 8px;
    background: #f0f0f0;
}
.about-media__image {
    touch-action: pan-y;
    user-select: none;
}
.about-media__image img {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: var(--about-media-fit, cover) !important;
    object-position: center !important;
    display: block !important;
    pointer-events: none;
    visibility: visible !important;
    opacity: 1 !important;
}
.about-media-slider.slider-wrap {
    --slider-gap: 0px;
    min-height: 0;
}
/* قاب گالری: ارتفاع از aspect-ratio؛ اسلایدها کل قاب را پر کنند */
.about-media-slider.about-media__frame.slider-mode-carousel .slider-placeholder {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}
.about-media-slider.about-media__frame.slider-ready .slider-placeholder {
    opacity: 0;
    visibility: hidden;
}
.about-media-slider.about-media__frame .slider-inner {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    overflow: hidden;
}
.about-media-slider.about-media__frame .slider-track {
    height: 100%;
    align-items: stretch;
}
.about-media-slider.about-media__frame.slider-mode-carousel .slider-track > .slide {
    height: 100% !important;
    position: relative;
    opacity: 1 !important;
    visibility: visible !important;
}
.about-media-slider.about-media__frame .slider-dots {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 10px;
    z-index: 5;
    margin: 0;
}
.about-media-slider.about-media__frame .slider-nav-wrap {
    position: absolute;
    inset: 0;
    z-index: 5;
    pointer-events: none;
}
.about-media-slider.about-media__frame .slider-nav-btn {
    pointer-events: auto;
}
.about-media-slider .slide img,
.about-media-slider .hero-slide img {
    width: 100% !important;
    height: 100% !important;
    object-fit: var(--about-media-fit, cover) !important;
    object-position: center !important;
    display: block !important;
}
.about-media-slider.slider-dots-hidden .slider-dots {
    display: none !important;
}
.about-media__video-wrap {
    background: #111;
}
.about-media__video-wrap .about-media__video,
.about-media__video-wrap video.player,
.about-media__video {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover;
    display: block;
    background: #000;
}
.about-media__video-wrap .plyr,
.about-media__video-wrap .plyr__video-wrapper {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
}
.about-media__video-fallback {
    position: absolute;
    inset: 0;
}
.about-media__video-fallback img {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}
.about-media__video-fallback-msg {
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 12px;
    z-index: 2;
    padding: 8px 12px;
    border-radius: 6px;
    background: rgba(0, 0, 0, 0.65);
    color: #fff;
    font-size: 0.85rem;
    text-align: center;
}

/* ========== Homepage rails skin moved ==========
 * اسکین ریل محصول / شگفت‌انگیز → skins/default/product-rails.css (SM Slider Kit)
 */
