/* Slider Block – Travel Geometric Slider (exact match to example) */

.slider-block-section {
	position: relative;
	overflow: hidden;
	user-select: none;
	-webkit-user-select: none;
	-webkit-tap-highlight-color: transparent;
}

.slider-block-wrap {
	position: relative;
	width: 100%;
	height: 75vh;
	background: #fff;
	overflow: hidden;
	margin-left: auto;
	margin-right: auto;
}

.container .slider-block-wrap {
	height: 700px;
}


@media (min-width: 1025px) {
	.container .slider-block-wrap {
		border-radius: 0.75rem;
	}

}
.slider-block-viewport {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
	touch-action: pan-y;
}

.slider-block-track {
	display: flex;
	height: 100%;
	width: 100%;
}

.slider-block-slide {
	flex: 0 0 100%;
	min-width: 0;
	height: 100%;
	position: relative;
}

/* Slide inner = example .slide-enter-active absolute inset-0 w-full h-full */
.slider-block-slide-inner {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	background: #fff;
	overflow: hidden;
}

/* ─── GEOMETRY & CLIP-PATHS (exact from example) ─── */
.slider-block-section .clip-chevron-main {
	clip-path: polygon(0 0, 85% 0, 100% 50%, 85% 100%, 0 100%);
}

.slider-block-section .clip-chevron-strip {
	clip-path: polygon(0 0, 85% 0, 100% 50%, 85% 100%, 0 100%);
}

.slider-block-section .clip-chevron-right {
	clip-path: polygon(20% 0, 100% 0, 100% 100%, 20% 100%, 0 50%);
}

/* ─── ANIMATIONS (exact from example) ─── */
.slider-block-section .slide-enter-active .animate-title {
	animation: slideInLeft 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
	opacity: 0;
}

.slider-block-section .slide-enter-active .animate-subtitle {
	animation: slideInLeft 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.1s forwards;
	opacity: 0;
}

.slider-block-section .slide-enter-active .animate-desc {
	animation: fadeInUp 0.8s ease-out 0.2s forwards;
	opacity: 0;
}

.slider-block-section .slide-enter-active .animate-btn {
	animation: zoomIn 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) 0.3s forwards;
	opacity: 0;
	transform: scale(0.8);
}

.slider-block-section .slide-enter-active .bg-image-anim {
	animation: zoomPan 6s linear infinite alternate;
}

@keyframes slideInLeft {
	from { transform: translateX(-50px); opacity: 0; }
	to { transform: translateX(0); opacity: 1; }
}

@keyframes fadeInUp {
	from { transform: translateY(20px); opacity: 0; }
	to { transform: translateY(0); opacity: 1; }
}

@keyframes zoomIn {
	from { transform: scale(0.8); opacity: 0; }
	to { transform: scale(1); opacity: 1; }
}

@keyframes zoomPan {
	from { transform: scale(1); }
	to { transform: scale(1.1); }
}

/* Dots grid (exact #FACC15 from example; overridden by --slider-effect-1 when set) */
.slider-block-section .dots-grid {
	background-image: radial-gradient(var(--slider-effect-1, #FACC15) 20%, transparent 20%);
	background-position: 0 0;
	background-size: 6px 6px;
}

/* ─── Layout: 1. Image layer (right) ─── */
.slider-block-section .slide-image-layer {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
}

@media (min-width: 1025px) {
	.slider-block-section .slide-image-layer {
		width: 65%;
	}
}

.slider-block-section .slide-image-layer img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.slider-block-section .slide-image-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.1);
}

.slider-block-section .slide-edge-accent {
	display: none;
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	width: 33.333%;
	background: var(--slider-effect-1, #FACC15);
	opacity: 0.8;
	mix-blend-mode: overlay;
	z-index: 1;
}

@media (min-width: 1025px) {
	.slider-block-section .slide-edge-accent {
		display: block;
	}
}

/* ─── Layout: 2. Stripes (left, desktop only) ─── */
.slider-block-section .desktop-geometry.slide-stripe-accent {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 58%;
	background: var(--slider-effect-1, #FACC15);
	z-index: 10;
	box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}

.slider-block-section .desktop-geometry.slide-stripe-white {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 50%;
	background: var(--wt-shop-primary);;
	z-index: 20;
	box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

/* ─── Layout: 3. Content layer ─── */
.slider-block-section .slide-content-layer {
	position: relative;
	z-index: 30;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 2rem;
}

@media (min-width: 1025px) {
	.slider-block-section .slide-content-layer {
		width: 50%;
		padding-left: 5rem;
		padding-right: 6rem;
	}
}

.slider-block-section .content-wrapper {
	max-width: 32rem;
	margin-top: 3rem;
}

@media (min-width: 1025px) {
	.slider-block-section .content-wrapper {
		margin-top: 0;
	}
}

.slider-block-section .slide-subtitle-wrap {
	margin-bottom: 0.5rem;
	display: flex;
	align-items: center;
	gap: 1rem;
}

.slider-block-section .slide-subtitle-wrap .slide-subtitle {
	font-size: 1.5rem;
	font-weight: 700;
	color: #fff;
}

@media (min-width: 1025px) {
	.slider-block-section .slide-subtitle-wrap .slide-subtitle {
		font-size: 1.875rem;
	}
}

.slider-block-section .slide-title {
	font-size: 2.5rem;
	font-weight: 900;
	color: #fff;
	line-height: 1.1;
	letter-spacing: -0.025em;
	margin: 0 0 1.5rem;
}

@media (min-width: 1025px) {
	.slider-block-section .slide-title {
		font-size: 4rem;
	}
}

.slider-block-section .slide-desc {
	color: #fff;
	line-height: 1.6;
	margin-bottom: 2rem;
	max-width: 28rem;
}

.slider-block-section .slide-website {
	font-size: 0.875rem;
	font-weight: 700;
	color: #fff;
	letter-spacing: 0.05em;
	margin-bottom: 2rem;
}

.slider-block-section .slide-website.animate-desc {
	animation-delay: 0.25s;
}

.slider-block-section .slide-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	background: transparent;
	color: #fff;
	border: 2px solid #fff;
	padding: 0.75rem 2rem;
	border-radius: 9999px;
	font-weight: 700;
	text-decoration: none;
	transition: background 0.2s, color 0.2s;
}

.slider-block-section .slide-btn:hover {
	background: #fff;
	color: #000;
}

.slider-block-section .slide-content-layer .dots-grid {
	background-image: radial-gradient(#fff 20%, transparent 20%);
}

.slider-block-section .dots-grid {
	width: 3rem;
	height: 1.5rem;
	flex-shrink: 0;
}

/* ─── Navigation (exact from example: bottom-8 left-8 lg:left-[48%] lg:bottom-12) ─── */
.slider-block-no-nav .slider-block-nav-wrap {
	display: none !important;
}

.slider-block-nav-wrap {
	position: absolute;
	bottom: 2rem;
	left: 2rem;
	z-index: 50;
	display: flex;
	gap: 1rem;
}

@media (min-width: 1025px) {
	.slider-block-nav-wrap {
		left: 48%;
		bottom: 3rem;
		transform: translateX(-50%);
	}
}

.slider-block-btn-prev,
.slider-block-btn-next {
	width: 48px;
	height: 48px;
	padding: 0.75rem;
	border-radius: 9999px;
	border: 2px solid #fff;
	background: transparent;
	color: #fff;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s;
}

.slider-block-btn-prev i,
.slider-block-btn-next i {
	transition: transform 0.3s;
}

.slider-block-btn-prev:hover i,
.slider-block-btn-next:hover i {
	transform: scale(1.1);
}

.slider-block-btn-prev:hover,
.slider-block-btn-next:hover {
	background: #fff;
	color: #000;
}

@media (min-width: 1025px) {
	.slider-block-btn-prev,
	.slider-block-btn-next {
		border-color: #fff;
		color: #fff;
	}

	.slider-block-btn-prev:hover,
	.slider-block-btn-next:hover {
		background: #fff;
		color: #000;
	}
}

.slider-block-nav-wrap .slider-block-btn-prev,
.slider-block-nav-wrap .slider-block-btn-next {
	position: relative;
	left: auto;
	right: auto;
	top: auto;
	transform: none;
}

/* ─── Responsive: hide geometry on small (exact from example) ─── */
@media (max-width: 1024px) {
	.slider-block-section .clip-chevron-main,
	.slider-block-section .clip-chevron-strip {
		clip-path: none;
	}

	.slider-block-section .desktop-geometry {
		display: none !important;
	}

	.slider-block-section .slide-content-layer {
		background: transparent;
		backdrop-filter: blur(12px);
		-webkit-backdrop-filter: blur(12px);
		transition: none;
		transform: translateZ(0);
	}

	.slider-block-wrap {
		height: 500px;
	}
}

@media (max-width: 767px) {

}


/* Style 1 – card carousel */

.slider-block-style-1 .slider-block-wrap {
	height: auto;
	background: transparent;
	overflow: visible;
}

.slider-block-style-1 .slider-style-1-headline-wrap {
	margin-bottom: 4rem;
}

.slider-block-style-1 .slider-style-1-headline-position-left {
	text-align: left;
}

.slider-block-style-1 .slider-style-1-headline-position-center {
	text-align: center;
}

.slider-block-style-1 .slider-style-1-headline-position-right {
	text-align: right;
}

.slider-block-style-1 .slider-style-1-headline {
	display: inline-block;
	margin: 0;
	padding-bottom: 0.5rem;
	border-bottom: 4px solid #f3b52a;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	line-height: 1.05;
}

.slider-block-style-1 .slider-style-1-viewport {
	position: relative;
	width: 100%;
	max-width: 80rem;
	height: 28rem;
	margin: 0 auto;
	overflow: hidden;
}

.slider-block-style-1 .slider-style-1-track {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
}

.slider-block-style-1 .slider-style-1-slide {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	width: 17.5rem;
	max-width: calc(100% - 2rem);
	height: 100%;
	margin: 0 auto;
	transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.slider-block-style-1 .slider-style-1-card {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	overflow: hidden;
	border: 1px solid #2f2f2f;
	border-radius: 1rem;
	background: #161616;
	box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.45);
}


.slider-block-style-1 .slider-style-1-card-image {
	position: relative;
	height: 50%;
	overflow: hidden;
	background: #222;
}

.slider-block-style-1 .slider-style-1-card-image::after {
	content: "";
	position: absolute;
	inset: 0;
}

.slider-block-style-1 .slider-style-1-card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.slider-block-style-1 .slider-style-1-card-body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	justify-content: center;
	padding: 1.5rem;
	text-align: center;
}

.slider-block-style-1 .slider-style-1-card-subtitle {
	margin: 0 0 0.25rem;
	color: var(--slider-style-1-accent, #f3b52a);
	font-size: 1.875rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.slider-block-style-1 .slider-style-1-card-title {
	margin: 0 0 0.75rem;
	color: #fff;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.3;
}

.slider-block-style-1 .slider-style-1-card-description {
	margin: 0;
	color: #9ca3af;
	font-size: 0.875rem;
	line-height: 1.5;
}

.slider-block-style-1 .slider-style-1-nav-wrap {
	position: relative;
	left: auto;
	bottom: auto;
	display: flex;
	justify-content: center;
	gap: 1.5rem;
	margin-top: 3rem;
	transform: none;
}

.slider-block-style-1 .slider-block-btn-prev,
.slider-block-style-1 .slider-block-btn-next {
	border-color: #f3b52a;
	color: #f3b52a;
}

.slider-block-style-1 .slider-block-btn-prev:hover,
.slider-block-style-1 .slider-block-btn-next:hover {
	background: #f3b52a;
	border-color: #f3b52a;
	color: #fff;
}

/* Style 1 – responsive tuning (<= 1199px)
 * Goals:
 * - Prevent over-wide cards on laptop/tablet widths
 * - Keep image crop consistent (no squish/stretch)
 * - Reduce vertical footprint while preserving hierarchy
 */
@media (max-width: 1199px) {
	.slider-block-style-1 .slider-style-1-viewport {
		max-width: 64rem;
		height: 26rem;
	}

	.slider-block-style-1 .slider-style-1-slide {
		width: 16.5rem;
	}

	.slider-block-style-1 .slider-style-1-card-image {
		height: 46%;
	}

	.slider-block-style-1 .slider-style-1-card-body {
		padding: 1.25rem;
	}

	.slider-block-style-1 .slider-style-1-card-subtitle {
		font-size: 1.6rem;
	}

	.slider-block-style-1 .slider-style-1-card-title {
		font-size: 1.05rem;
	}
}

/* Style 1 – small tablet (<= 911px)
 * Between 768–911px the legacy rule below sets slide width to 33.33%,
 * which makes cards too narrow/wrong for the centered carousel layout.
 * Override to a fixed/max width card so images/text scale correctly.
 */
@media (max-width: 911px) {
	.slider-block-style-1 .slider-style-1-viewport {
		height: 24rem;
	}

	.slider-block-style-1 .slider-style-1-slide {
		width: min(22rem, calc(100% - 3rem));
		max-width: calc(100% - 3rem);
	}

	.slider-block-style-1 .slider-style-1-card-image {
		height: 48%;
	}

	.slider-block-style-1 .slider-style-1-card-body {
		padding: 1.125rem;
	}
}

@media (min-width: 768px) {
	.slider-block-style-1 .slider-style-1-slide {
		width: 33.33%;
	}

	.slider-block-style-1 .slider-style-1-viewport {
		height: 31.25rem;
	}
}


