/* Vertical Slider Block
--------------------------------------------- */

.block-vertical-slider {
	--vertical-slider-gap: 1rem;
	--vertical-slider-height: 800px;
	--vertical-slider-duration: 30s;
	overflow: hidden;
}

.block-vertical-slider img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: var(--wp--custom--border-radius--medium);
	box-shadow: var(--wp--preset--shadow--natural);
}

/* Marquee (see vertical-slider.js) */
.block-vertical-slider .vertical-slider__viewport {
	overflow: hidden;
}

.block-vertical-slider .vertical-slider__track {
	display: flex;
	flex-direction: column;
}

.block-vertical-slider .vertical-slider__track.is-animating {
	animation: vertical-slider-marquee-y var(--marquee-duration, 30s) linear infinite;
	will-change: transform;
}

.block-vertical-slider [data-direction="reverse"] .vertical-slider__track {
	animation-direction: reverse;
}

/* Use margin (not gap) so one set's size is exact for a seamless loop */
.block-vertical-slider .vertical-slider__item {
	flex-shrink: 0;
	margin-bottom: var(--vertical-slider-gap);
}

@keyframes vertical-slider-marquee-y {
	from { transform: translate3d(0, 0, 0); }
	to { transform: translate3d(0, calc(-1 * var(--marquee-distance, 0px)), 0); }
}

@keyframes vertical-slider-marquee-x {
	from { transform: translate3d(0, 0, 0); }
	to { transform: translate3d(calc(-1 * var(--marquee-distance, 0px)), 0, 0); }
}

@media (prefers-reduced-motion: reduce) {
	.block-vertical-slider .vertical-slider__track.is-animating {
		animation: none;
	}
}

/* Desktop Layout (two vertical columns) */
.block-vertical-slider .vertical-slider__desktop {
	display: block;
	height: var(--vertical-slider-height);
}

.block-vertical-slider .vertical-slider__mobile {
	display: none;
}

.block-vertical-slider .vertical-slider__columns {
	display: flex;
	gap: var(--vertical-slider-gap);
	height: 100%;
	width: 100%;
}

.block-vertical-slider .vertical-slider__column {
	flex: 1;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.block-vertical-slider .vertical-slider__column .vertical-slider__viewport {
	width: 100%;
	height: 100%;
}

.block-vertical-slider .vertical-slider__column .vertical-slider__image {
	margin: 0;
}


/* Mobile Layout (single horizontal row) */
@media (max-width: 767px) {

	.block-vertical-slider {
		margin-left: calc(-1 * var(--wp--custom--layout--site-padding));
		margin-right: calc(-1 * var(--wp--custom--layout--site-padding));
		max-width: 100vw;
		width: 100vw;
	}

	.block-vertical-slider .vertical-slider__desktop {
		height: 600px;
		display: none;
	}

	.block-vertical-slider .vertical-slider__mobile {
		display: block;
	}

	.block-vertical-slider .vertical-slider__mobile .vertical-slider__viewport {
		width: 100%;
	}

	.block-vertical-slider .vertical-slider__mobile .vertical-slider__track {
		flex-direction: row;
		width: max-content;
	}

	.block-vertical-slider .vertical-slider__mobile .vertical-slider__track.is-animating {
		animation-name: vertical-slider-marquee-x;
	}

	.block-vertical-slider .vertical-slider__mobile .vertical-slider__item {
		margin-bottom: 0;
		margin-right: var(--vertical-slider-gap);
	}

	.block-vertical-slider .vertical-slider__mobile .vertical-slider__image {
		margin: 0;
	}

	.block-vertical-slider .vertical-slider__mobile .vertical-slider__image img {
		height: 250px;
		width: auto;
		display: block;
	}
}

/* Height variations based on data attribute */
@media (min-width: 768px) {

	.block-vertical-slider[data-height="600"] .vertical-slider__desktop {
		height: 600px;
	}
	.block-vertical-slider[data-height="800"] .vertical-slider__desktop {
		height: 800px;
	}
	.block-vertical-slider[data-height="1000"] .vertical-slider__desktop {
		height: 1000px;
	}

	.block-vertical-slider .vertical-slider__column .vertical-slider__image img {
		aspect-ratio: var(--wp--preset--aspect-ratio--custom-portrait);
		object-fit: cover;
	}
}


/* Editor Preview */
.block-vertical-slider .vertical-slider__preview {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--vertical-slider-gap);
	max-height: 600px;
	overflow: hidden;
}

.block-vertical-slider .vertical-slider__preview .vertical-slider__column {
	display: flex;
	flex-direction: column;
	gap: var(--vertical-slider-gap);
}

.block-vertical-slider .vertical-slider__preview .vertical-slider__image {
	margin: 0;
}

.block-vertical-slider .vertical-slider__preview .vertical-slider__image img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: var(--wp--custom--radius--block, 0);
}

