/*
 * BeTheme can set cursor:pointer directly on the product-card link. Apply the
 * opt-in cursor hide to the entire carousel viewport, not only its wrapper.
 */
.bss-product-carousel__viewport.bss-product-carousel__enter-buffer {
	overflow: visible !important;
	clip-path: inset(calc(-1 * var(--bss-carousel-enter-buffer, 0px)) 0);
}

.bss-product-carousel--drag-cursor-hidden .bss-product-carousel__viewport,
.bss-product-carousel--drag-cursor-hidden .bss-product-carousel__viewport * {
	cursor: none !important;
}

/* Linear Drag follows the pointer immediately, rather than trailing it. */
@media (max-width:1023px) {
  @supports (overflow:clip) {
    .bss-product-carousel__viewport.bss-product-carousel__enter-buffer {
      /* clip-path clips paint, not scroll overflow. Clip only horizontally
         so offscreen slides cannot widen the page, while rise stays visible. */
      overflow-x: clip !important;
      overflow-y: visible !important;
    }
  }
}
@media (hover:none), (pointer:coarse) {
  .bss-product-carousel--drag-cursor-hidden .bss-product-carousel__viewport,
  .bss-product-carousel--drag-cursor-hidden .bss-product-carousel__viewport * { cursor:auto !important; }
}

.bss-product-carousel__drag {
	transition-duration: var(--bss-drag-duration, 200ms) !important;
	transition-timing-function: var(--bss-drag-ease, cubic-bezier(.2,.8,.2,1)) !important;
}

/* First cursor entry: establish the actual pointer position before revealing. */
.bss-product-carousel__drag.bss-product-carousel__drag--positioning {
	transition-property: opacity !important;
}

/* Optional motion curve for the continuous Swiper movement. */
.bss-product-carousel--autoscroll .swiper-wrapper {
	transition-timing-function: var(--bss-autoscroll-ease, linear) !important;
}

/* The curve used by Swiper when a manually dragged carousel settles. */
.bss-product-carousel:not(.bss-product-carousel--autoscroll) .swiper-wrapper {
	transition-timing-function: var(--bss-drag-swipe-ease, cubic-bezier(.2,.8,.2,1)) !important;
}

/* During a manual drag, this takes precedence over the auto-scroll curve. */
.bss-product-carousel--autoscroll .bss-product-carousel__viewport.bss-product-carousel__dragging .swiper-wrapper {
	transition-timing-function: var(--bss-drag-swipe-ease, cubic-bezier(.2,.8,.2,1)) !important;
}
