/**
 * Semi-native slider
 */
.slider {
	position: relative;
}
.slider__scrollbar-mask {
	overflow: hidden;
}
.slider__stage {
	display: flex;
	overflow-x: scroll;
	scroll-snap-type: x mandatory;
	overscroll-behavior-x: contain;
	margin-bottom: -2em;
	padding-bottom: 2em;
}
.slider[data-slider-smooth="false"] .slider__stage {
		overflow: hidden;
	}
.slider__slide {
	scroll-snap-align: start;
	width: 100%;
	flex-shrink: 0;
}
/* disabled for customization in sticky-slider-view.css: .slider__frame {
	transition: 2s;
	.slider__slide:not(.is-active) & {
		opacity: 0.2;
	}
} */

/**
 * Semi-native slider navigation
 */
.slider__nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: absolute;
	inset: 50% 0 auto 0;
	height: 0;
	padding-left: var(--sp-gutter);
	padding-right: var(--sp-gutter);
}
.slider__nav-link {
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: max(44px, 1em); /* 44px for wcag */
	aspect-ratio: 1;
	background-color: transparent;
	border: 0;
	background-color: currentColor;
	border-radius: 50%;
}
.slider__nav-link:disabled {
		cursor: default;
		opacity: 0.7;
	}
.slider__nav-link::before {
		--offset: 0.1em;
		--offset-: calc(var(--offset) * -1);
		content: "";
		position: absolute;
		width: 50%;
		aspect-ratio: 1;
		border: 0 solid var(--c-bg);
		border-width: 5px 5px 0 0;
	}
.slider__nav-link--prev::before {
		transform: rotate(-135deg) translate(var(--offset-), var(--offset));
	}
.slider__nav-link--next::before {
		transform: rotate(45deg) translate(var(--offset-), var(--offset));
	}

/**
 * Sticky Slider front-end styling
 *
 * Defines front-end styling. All view.css files
 * like this one only load when enqueued manually
 * or via a block.json file. You can import this
 * file into an editor.css file to apply these
 * front-end styles within the block editor.
 */
/* @import "../../util/slider/lib/pagination.css"; */

.sticky-slider {
	--inset: 5em;
	position: relative;
	width: calc(100% - var(--inset));
	margin-left: auto;
	margin-right: auto;
}

.is-layout-constrained > .sticky-slider {
		margin-bottom: var(--sp-m-rem);
	}

.sticky-slider::before {
		content: "";
		position: absolute;
		inset: 12em calc(var(--inset) * -0.5) 0;
		background-color: var(--c-1-2);
		border-radius: var(--bd-rad-l);
	}

@media (max-width: 781px) {

.sticky-slider::before {
			top: 24vw
	}
		}

.sticky-slider .slider__frame {
		padding: 2px;
	}

.sticky-slider .slider__nav {
		top: 8em;
		left: -3em;
		right: -3em;
	}

@media (max-width: 781px) {

.sticky-slider .slider__nav {
			top: 12vw
	}
		}

.sticky-slider .slider__nav-link {
		width: 2.5em;
		background-color: var(--c-1-7);
	}

.sticky-slider .slider__nav-link::before {
			--offset: 0.05em;
			border-width: 0.3333em 0.3333em 0 0;
			width: 32%;
			border-color: var(--c-1-2);
		}

.sticky-slider .outlined-image {
		position: relative;
	}

.sticky-slider .outlined-image img {
			display: block;
			aspect-ratio: 1540 / 622;
			object-fit: cover;
		}

@media (max-width: 781px) {

.sticky-slider .outlined-image img {
				aspect-ratio: 267 / 166
		}
			}

.sticky-slider .outlined-image__meta {
		pointer-events: none;
		position: absolute;
		inset: 0.5em;
		z-index: 10;
		display: flex;
		align-items: flex-end;
		gap: 0.4em;
	}

.sticky-slider .pill {
		position: relative;
	}

@media (max-width: 479px) {

.sticky-slider .pill--featured {
			position: absolute;
			top: 0.5em;
			right: 0.5em
	}
		}

.sticky-slider .love {
		pointer-events: auto;
		margin-left: auto;
	}
.sticky-slider__image-link {
	display: block;
	overflow: hidden;
	border-radius: var(--bd-rad-l);
	border: 2px solid var(--c-1-5);
}
.sticky-slider__image {
	position: relative;
	z-index: 10;
	width: 100%;
	border-radius: 0;
	mask-image: radial-gradient(
		ellipse at bottom,
		var(--c-1-2) 50%,
		transparent 50%
	);
	mask-repeat: no-repeat;
	mask-size: 200% 200%;
	mask-position: 50% 100%;
}
.sticky-slider:has(.sticky-slider__image-link:hover) .button {
	background-color: var(--c-btn-bg);
	color: var(--c-btn-hvr-txt);
	background-size: 200% 185%;
	transform: scale(var(--button-hover-scale, 1.05));
}
.sticky-slider__text {
	position: relative;
	z-index: 10;
	align-items: flex-start;
	flex-wrap: wrap;
	padding: 2em 0 0;
}
@media (min-width: 782px) {
.sticky-slider__text {
		display: grid;
		gap: var(--sp-s-rem);
		grid-template-columns: 1fr 10em;
		padding: var(--sp-s-rem) var(--sp-m-rem)
}
	}
.sticky-slider__text a {
		text-decoration: none;
		margin-top: 1rem;
		margin-bottom: 1rem;
	}
.sticky-slider__text .button {
		width: 100%;
	}
@media (max-width: 781px) {
.sticky-slider__text .button {
			display: block;
			width: 96%;
			margin-left: auto;
			margin-right: auto
	}
		}

/* slide transitions */
.sticky-slider__image {
	transition: 2s var(--ani-ease);
	transition-property: mask, transform;
}
.sticky-slider__text h2 {
	transition: var(--ani-speed) var(--ani-ease);
	transition-property: opacity, filter, transform;
}
.sticky-slider--slides .slider__slide:not(.is-active) .sticky-slider__image {
			mask-size: 100% 0%;
		}
.sticky-slider--slides .slider__slide:not(.is-active) .sticky-slider__text h2 {
			opacity: 0;
			filter: blur(0.2em);
			transform: translateY(-0.5em);
		}

