/* =============================================
   Snap Slider Widget v4.0
   Clean — بدون font override — قیمت درست
   ============================================= */

/* ── wrapper ────────────────────────────────── */
.snap-slider-wrapper {
    position: relative;
    width: 100%;
    box-sizing: border-box;
}

/* ── حذف کامل pagination — از هر منبعی ────── */
.snap-slider-wrapper .woocommerce-pagination,
.snap-slider-wrapper nav.woocommerce-pagination,
.snap-slider-wrapper .elementor-pagination,
.snap-slider-wrapper .e-load-more-anchor,
.snap-slider-wrapper .snap-dots { display: none !important; }

/* ── track ──────────────────────────────────── */
.snap-slider-track {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    box-sizing: border-box;

    overflow-x: scroll;
    overflow-y: hidden;

    /* native momentum scroll — دقیقاً مثل دیجی‌کالا */
    -webkit-overflow-scrolling: touch;  /* iOS momentum */
    overscroll-behavior-x: contain;     /* جلوگیری از bounce صفحه */
    scroll-behavior: auto;              /* بدون smooth مصنوعی */

    /* اسکرول‌بار همیشه مخفی */
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;

    /* GPU */
    will-change: scroll-position;
    transform: translateZ(0);
    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
}
.snap-slider-track::-webkit-scrollbar { display: none !important; }

/* حالت درگ */
.snap-slider-track.snap-is-dragging { cursor: grabbing; }
.snap-slider-track.snap-is-dragging a,
.snap-slider-track.snap-is-dragging button { pointer-events: none; }

/* ── هر اسلاید ─────────────────────────────── */
.snap-slide-item {
    flex: 0 0 auto;
    height: 100%;
    position: relative;
    box-sizing: border-box;
    /* overflow نمی‌گذاریم اینجا — هر نوع خودش مدیریت می‌کند */
}

/* ── کارت لوپ ───────────────────────────────
   flex column — محتوای المنتور fill می‌کند   */
.snap-slide-card-item {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* المنتور div مستقیم داخل کارت — fill کامل */
.snap-slide-card-item > .elementor {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

/* section/container اول المنتور */
.snap-slide-card-item > .elementor > .elementor-section-wrap,
.snap-slide-card-item > .elementor > .e-con {
    flex: 1 1 auto;
    min-height: 0 !important;
    height: auto !important;
}

/* رفع override ارتفاع المنتور Pro */
.snap-slide-card-item .e-con,
.snap-slide-card-item .e-con-inner {
    min-height: unset !important;
}

/* تصویر شاخص داخل کارت — کامل fill کند */
.snap-slide-card-item .elementor-widget-image img,
.snap-slide-card-item .elementor-post-image img,
.snap-slide-card-item .woocommerce-product-gallery img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* ── قیمت و اطلاعات داخل قالب ──────────────
   همه از خود قالب المنتور می‌آیند.
   فقط مطمئن می‌شویم WooCommerce price
   داخل کارت flex درست نمایش داده شود      */
.snap-slide-card-item .price,
.snap-slide-card-item .woocommerce-Price-amount {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

/* ── hero اسلاید (عکسی) ─────────────────────── */
.snap-slide-hero {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.snap-img-wrap {
    position: absolute;
    inset: 0;
    overflow: hidden;
    box-sizing: border-box;
}

.snap-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transform: translateZ(0);
    transition: transform 0.32s ease;
}
.snap-slide-hero:hover .snap-img { transform: scale(1.04) translateZ(0); }

.snap-img-placeholder { width: 100%; height: 100%; background: #e8e8e8; }

.snap-img-overlay { position: absolute; inset: 0; pointer-events: none; }

.snap-cta-content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    height: 100%;
    padding: 14px;
    gap: 5px;
    box-sizing: border-box;
}

/* عنوان و زیرعنوان — فقط رنگ، font از سایت */
.snap-cta-title {
    margin: 0;
    font-size: clamp(13px, 3.5vw, 20px);
    font-weight: 700;
    color: #fff;
    line-height: 1.3;
    text-shadow: 0 1px 6px rgba(0,0,0,0.5);
}
.snap-cta-sub {
    margin: 0;
    font-size: clamp(11px, 2.5vw, 13px);
    color: rgba(255,255,255,0.92);
    line-height: 1.4;
    text-shadow: 0 1px 4px rgba(0,0,0,0.4);
}
.snap-cta-btn {
    display: inline-block;
    margin-top: 6px;
    padding: 5px 14px;
    border: 1.5px solid currentColor;
    border-radius: 99px;
    font-size: clamp(11px, 2.3vw, 13px);
    font-weight: 600;
    text-decoration: none !important;
    background: rgba(255,255,255,0.14);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    transition: background 0.18s;
    white-space: nowrap;
    box-sizing: border-box;
}
.snap-cta-btn:hover { background: rgba(255,255,255,0.28); }

/* ── hero المنتور template ──────────────────── */
.snap-slide-hero > .elementor,
.snap-slide-hero > .elementor-section-wrap,
.snap-slide-hero .elementor-top-section,
.snap-slide-hero .e-con,
.snap-slide-hero .e-con-inner {
    height: 100% !important;
    min-height: unset !important;
    margin: 0 !important;
}

/* ── رفع تداخل المنتور — بدون font reset ───── */
.elementor-widget-snap_slider .elementor-widget-container {
    overflow: visible !important;
    /* هیچ font-family اینجا نیست */
}
.snap-slide-item .elementor-section.elementor-section-boxed > .elementor-container {
    max-width: 100% !important;
}

/* ── placeholder ادیتور ─────────────────────── */
.snap-placeholder-card {
    background: #f5f5f5;
    border: 2px dashed #ddd;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.snap-ph-thumb {
    flex: 1 1 auto;
    min-height: 80px;
    background: linear-gradient(90deg, #eee 25%, #f8f8f8 50%, #eee 75%);
    background-size: 200% 100%;
    animation: ss-shimmer 1.4s ease-in-out infinite;
}
.snap-ph-body {
    flex: 0 0 auto;
    padding: 8px 10px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.snap-ph-line {
    height: 10px;
    border-radius: 5px;
    background: linear-gradient(90deg, #ddd 25%, #ececec 50%, #ddd 75%);
    background-size: 200% 100%;
    animation: ss-shimmer 1.4s ease-in-out infinite;
}
.snap-ph-price-line { height: 13px; width: 50%; background: linear-gradient(90deg, #ffd0d5 25%, #ffe8ea 50%, #ffd0d5 75%); background-size: 200% 100%; }
@keyframes ss-shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }

/* ── dots ───────────────────────────────────── */
.snap-dots {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
    padding-top: 10px;
}
.snap-dot {
    width: 5px; height: 5px;
    border-radius: 50%;
    background: currentColor;
    opacity: 0.18;
    border: none; padding: 0;
    cursor: pointer; flex-shrink: 0;
    transition: opacity .2s, width .2s, border-radius .2s;
}
.snap-dot--active { opacity: 1; width: 14px; border-radius: 99px; }
.snap-dot:hover { opacity: 0.45; }
.snap-dot:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }

/* ── جلوگیری از drag تصویر و سلکت متن داخل اسلایدر ── */
.snap-slider-track img,
.snap-slider-track a img {
    -webkit-user-drag: none;
    -moz-user-drag: none;
    user-drag: none;
    pointer-events: none;
    -webkit-user-select: none;
    user-select: none;
}

/* ── RTL ────────────────────────────────────── */
[dir="rtl"] .snap-slider-track,
.rtl .snap-slider-track { direction: rtl; }

/* ── موبایل — قیمت و اندازه‌ها ─────────────── */
@media (max-width: 767px) {
    .snap-price-bar   { font-size: 12px; padding: 6px; }
    .snap-price-badge { font-size: 11px; bottom: 6px; right: 6px; padding: 2px 7px; }
    .snap-cta-content { padding: 10px; }
}
