/* ==========================================================================
   TPS Hero Slider
   ========================================================================== */
.tps-hero-slider-wrap {
	--tps-orange: #b48e69;
}
/* Wrapper */
.tps-hero-slider-wrap {
	width: 100%;
	overflow: hidden;
	container-type: inline-size;
	margin-bottom: 20px;
}

/* Outer layout: sidebar + slider side by side */
.tps-hero-layout {
	display: flex;
	align-items: stretch;
	width: 100%;
	min-height: 340px;
}

/* Ensure Splide fills its flex space */
#tps-hero-splide {
	background-color: #efefef;
	flex: 1;
	min-width: 0;
	width: 100%;
}

/* --------------------------------------------------------------------------
   Sidebar (static USP boxes — outside the slider)
   -------------------------------------------------------------------------- */
.tps-hero-sidebar {
	flex: 0 0 220px;
	flex-basis: 25%;
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding-right: 20px;
}

.tps-hero-usp-box {
	flex: 1;
	background-color: var(--tps-orange);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 20px 16px;
	font-weight: 900;
	font-size: 24px;
	line-height: 1.2;
}


/* Each slide */
.tps-slide {
	
	height: 100%;
}

/* Slide inner: text + image */
.tps-slide__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 100%;
	min-height: 340px;
	padding: 36px 32px;
	gap: 32px;
}

.tps-slide__content {
	flex: 1;
	min-width: 0;
}

/* Strap line */
.tps-slide__strap {
	font-size: 14px;
	font-weight: 600;
	color:var(--tps-orange);
	margin: 0 0 10px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

/* Main heading */
.tps-slide__heading {
	font-size: clamp(1.6rem, 4cqi, 2.6rem);
	font-weight: 800;
	line-height: 1.05;
	color: #1a1a1a;
	text-transform: uppercase;
	margin: 0 0 14px;
	letter-spacing: -0.01em;
}

/* Description */
.tps-slide__features {
	font-size: 14px;
	line-height: 1.6;
	color: #444;
	margin: 0 0 24px;
}

/* CTA button */
.tps-slide__btn {
	display: inline-block;
	padding: 11px 26px;
	background-color: var(--tps-orange);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 30px;
	transition: background-color 0.2s ease, transform 0.2s ease;
	white-space: nowrap;
}

.tps-slide__btn:hover,
.tps-slide__btn:focus {
	background-color: #5d5030;
	color: #fff;
	text-decoration: none;
	transform: translateY(-1px);
}

/* --------------------------------------------------------------------------
   Image
   -------------------------------------------------------------------------- */
.tps-slide__image-wrap {
	flex: 0 0 42%;
	max-width: 42%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.tps-slide__image-wrap img {
	width: 100%;
	height: auto;
	max-height: 260px;
	object-fit: contain;
	display: block;
}

/* --------------------------------------------------------------------------
   Splide pagination (dots)
   -------------------------------------------------------------------------- */
#tps-hero-splide .splide__pagination {
	bottom: 12px;
	gap: 6px;
	position: relative;
	top:-15px;
}

#tps-hero-splide .splide__pagination__page {
	width: 10px;
	height: 10px;
	padding: 0;
	box-sizing: content-box;
	border-radius: 50% !important;
	background: transparent;
	border: 2px solid var(--tps-orange);
	opacity: 0.6;
	transition: background-color 0.2s ease, transform 0.2s ease, opacity 0.2s ease;
	margin: 0 3px;
}

#tps-hero-splide .splide__pagination__page.is-active {
	background: var(--tps-orange);
	border-color: var(--tps-orange);
	opacity: 1;
	transform: scale(1.2);
}

/* --------------------------------------------------------------------------
   Animations — staggered fade-up on active slide content
   -------------------------------------------------------------------------- */
.tps-slide__strap,
.tps-slide__heading,
.tps-slide__features,
.tps-slide__btn,
.tps-slide__image-wrap img {
	opacity: 0;
	transform: translateY(20px);
	transition: none;
}

.splide__slide.is-active .tps-slide__strap {
	animation: tps-fade-up 0.5s ease forwards 0.1s;
}

.splide__slide.is-active .tps-slide__heading {
	animation: tps-fade-up 0.55s ease forwards 0.25s;
}

.splide__slide.is-active .tps-slide__features {
	animation: tps-fade-up 0.5s ease forwards 0.4s;
}

.splide__slide.is-active .tps-slide__btn {
	animation: tps-fade-up 0.5s ease forwards 0.55s;
}

.splide__slide.is-active .tps-slide__image-wrap img {
	animation: tps-fade-in-right 0.65s ease forwards 0.2s;
}

@keyframes tps-fade-up {
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes tps-fade-in-right {
	from {
		opacity: 0;
		transform: translateX(30px);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media ( max-width: 768px ) {
	.tps-hero-layout {
		flex-direction: column;
	}

	.tps-hero-sidebar {
		flex-direction: row;
		flex: none;
		width: 100%;
		padding: 0 0 4px;
		gap: 4px;
	}

	.tps-hero-usp-box {
		font-size: 13px;
		padding: 14px 10px;
	}

	.tps-slide__inner {
		flex-direction: column-reverse;
		padding: 28px 20px 48px;
		gap: 20px;
		min-height: 0;
	}

	.tps-slide__content,
	.tps-slide__image-wrap {
		flex: none;
		max-width: 100%;
		width: 100%;
	}

	.tps-slide__image-wrap img {
		max-height: 180px;
	}
}
