/* ux_swiper — auto-advancing slide container (no nav/pagination). */

.unistore-swiper {
	--unistore-swiper-speed: 600ms;
	position: relative;
	overflow: hidden;
	width: 100%;
}

.unistore-swiper__track {
	position: relative;
	width: 100%;
	height: 100%;
}

/* Each slide is absolutely stacked; only the active one is visible. */
.unistore-swiper__slide {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	pointer-events: none;
	will-change: transform, opacity;
}

.unistore-swiper__slide.is-active {
	position: relative; /* drives the container height from the active slide */
	opacity: 1;
	pointer-events: auto;
	z-index: 2;
}

/* ─── LTR (Left → Right) ──────────────────────────────────────────────── */
.unistore-swiper--ltr .unistore-swiper__slide {
	transform: translateX(100%);
	transition:
		transform var(--unistore-swiper-speed) ease,
		opacity var(--unistore-swiper-speed) ease;
}

.unistore-swiper--ltr .unistore-swiper__slide.is-active {
	transform: translateX(0);
}

/* Outgoing slide (JS adds this class while sliding out) */
.unistore-swiper--ltr .unistore-swiper__slide.is-leaving {
	position: absolute;
	transform: translateX(-100%);
	opacity: 0;
	pointer-events: none;
	z-index: 1;
}

/* ─── BTU (Bottom → Top) ─────────────────────────────────────────────── */
.unistore-swiper--btu .unistore-swiper__slide {
	transform: translateY(100%);
	transition:
		transform var(--unistore-swiper-speed) ease,
		opacity var(--unistore-swiper-speed) ease;
}

.unistore-swiper--btu .unistore-swiper__slide.is-active {
	transform: translateY(0);
}

.unistore-swiper--btu .unistore-swiper__slide.is-leaving {
	position: absolute;
	transform: translateY(-100%);
	opacity: 0;
	pointer-events: none;
	z-index: 1;
}

/* ─── Both: ensure overflow of the container clips slides ────────────── */
.unistore-swiper__track {
	isolation: isolate;
	overflow: hidden;
}
