/* Sepahan 2.2.3 - Products 15 isolated touch/drag controller.
 * Only the Products 15 Elementor widget is affected by this file.
 */
html body [data-sepahan-products-15-native="1"] .sepahan-products-15-carousel {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

html body [data-sepahan-products-15-native="1"] .sepahan-products-15-viewport {
  position: relative !important;
  display: block !important;
  direction: ltr !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  scroll-snap-type: x proximity !important;
  scroll-behavior: auto !important;
  overscroll-behavior-x: contain !important;
  overscroll-behavior-y: auto !important;
  touch-action: pan-y pinch-zoom !important;
  pointer-events: auto !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
  cursor: grab !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  -webkit-tap-highlight-color: transparent !important;
  box-sizing: border-box !important;
}

html body [data-sepahan-products-15-native="1"] .sepahan-products-15-viewport::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

html body [data-sepahan-products-15-native="1"] .sepahan-products-15-track {
  direction: ltr !important;
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: stretch !important;
  gap: 0 !important;
  width: auto !important;
  min-width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  transition: none !important;
  will-change: auto !important;
  pointer-events: auto !important;
  box-sizing: border-box !important;
}

html body [data-sepahan-products-15-native="1"] .sepahan-products-15-slide {
  direction: rtl !important;
  display: block !important;
  flex: 0 0 100% !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  scroll-snap-align: start !important;
  scroll-snap-stop: normal !important;
  pointer-events: auto !important;
  box-sizing: border-box !important;
}

html body [data-sepahan-products-15-native="1"] .sepahan-products-15-grid {
  direction: rtl !important;
  grid-auto-flow: row !important;
  writing-mode: horizontal-tb !important;
  pointer-events: auto !important;
}

html body [data-sepahan-products-15-native="1"] .sepahan-products-15-card {
  direction: rtl !important;
  pointer-events: auto !important;
}

html body [data-sepahan-products-15-native="1"] .sepahan-products-15-card img {
  -webkit-user-drag: none !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  pointer-events: none !important;
}

html body [data-sepahan-products-15-native="1"] .sepahan-products-15-viewport.sepahan-products15-touch-dragging {
  cursor: grabbing !important;
  scroll-snap-type: none !important;
  scroll-behavior: auto !important;
}

html body [data-sepahan-products-15-native="1"] .sepahan-products-15-viewport.sepahan-products15-touch-dragging a {
  pointer-events: none !important;
}

@media (max-width: 767px) {
  html body [data-sepahan-products-15-native="1"],
  html body [data-sepahan-products-15-native="1"] .sepahan-products-15-carousel,
  html body [data-sepahan-products-15-native="1"] .sepahan-products-15-viewport,
  html body [data-sepahan-products-15-native="1"] .sepahan-products-15-track,
  html body [data-sepahan-products-15-native="1"] .sepahan-products-15-slide {
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  html body [data-sepahan-products-15-native="1"] .sepahan-products-15-slide {
    flex-basis: 100% !important;
    width: 100% !important;
    min-width: 100% !important;
  }

  html body [data-sepahan-products-15-native="1"] .sepahan-products-15-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: repeat(3, minmax(0, auto)) !important;
    grid-auto-flow: row !important;
    gap: 24px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 2px !important;
    box-sizing: border-box !important;
  }

  html body [data-sepahan-products-15-native="1"] .sepahan-products-15-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
}
