/* Custom slide class — replaces Swiper's default .swiper-slide styles */
.hero-slide {
	flex-shrink: 0;
	width: 100%;
	position: relative;
}

/* Override Swiper's height:100% which collapses when .swiper has no explicit height */
theme-hero .swiper,
theme-hero .swiper-wrapper {
	height: auto;
}

/* Slide background — height driven by section settings via CSS vars */
.s-hero__slide-bg {
	position: relative;
	width: 100%;
	height: var(--s-hero-desktop-height, 600px);
	overflow: hidden;
}

/* Desktop/mobile image swap */
.s-hero__slide-bg--mobile {
	display: none;
}

.s-hero__slide-bg img,
.s-hero__slide-bg svg {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Desktop content positioning */
.s-hero__content--h-left {
	justify-content: flex-start;
}
.s-hero__content--h-center {
	justify-content: center;
}
.s-hero__content--h-right {
	justify-content: flex-end;
}
.s-hero__content--v-top {
	align-items: flex-start;
}
.s-hero__content--v-center {
	align-items: center;
}
.s-hero__content--v-bottom {
	align-items: flex-end;
}

.s-hero__content--h-left .s-hero__content-inner {
	text-align: left;
	align-items: flex-start;
}
.s-hero__content--h-center .s-hero__content-inner {
	text-align: center;
	align-items: center;
}
.s-hero__content--h-right .s-hero__content-inner {
	text-align: right;
	align-items: flex-end;
}

/* Pagination dots */
.s-hero__dots {
	position: absolute;
	bottom: 24px;
	right: 24px;
	z-index: 3;
	display: flex;
	gap: 8px;
	align-items: center;
	justify-content: end;
}

.s-hero__dot {
	width: 8px;
	height: 8px;
	padding: 0;
	cursor: pointer;
	background: transparent;
	border: 1.5px solid currentColor;
	opacity: 0.5;
	transform: rotate(45deg);
	transition: all 0.3s;
}

.s-hero__dot.is-active {
	width: 10px;
	height: 10px;
	background: currentColor;
	opacity: 1;
}

/* Content reveal animation */
.s-hero__content-inner > * {
	opacity: 0;
	transform: translateY(20px);
	transition:
		opacity 0.5s ease,
		transform 0.5s ease;
}

.hero-slide.is-revealed .s-hero__content-inner > * {
	opacity: 1;
	transform: translateY(0);
}

.hero-slide.is-revealed .s-hero__content-inner > *:nth-child(1) {
	transition-delay: 0.1s;
}
.hero-slide.is-revealed .s-hero__content-inner > *:nth-child(2) {
	transition-delay: 0.2s;
}
.hero-slide.is-revealed .s-hero__content-inner > *:nth-child(3) {
	transition-delay: 0.3s;
}
.hero-slide.is-revealed .s-hero__content-inner > *:nth-child(4) {
	transition-delay: 0.4s;
}
.hero-slide.is-revealed .s-hero__content-inner > *:nth-child(5) {
	transition-delay: 0.5s;
}

@media (max-width: 959px) {
	.s-hero__slide-bg {
		height: var(--s-hero-mobile-height, 400px);
	}

	.s-hero__slide-bg--desktop {
		display: none;
	}
	.s-hero__slide-bg--mobile {
		display: block;
	}

	.s-hero__dots {
		bottom: 16px;
		right: 16px;
	}

	/* Mobile content positioning */
	.s-hero__content--mh-left {
		justify-content: flex-start;
	}
	.s-hero__content--mh-center {
		justify-content: center;
	}
	.s-hero__content--mh-right {
		justify-content: flex-end;
	}
	.s-hero__content--mv-top {
		align-items: flex-start;
	}
	.s-hero__content--mv-center {
		align-items: center;
	}
	.s-hero__content--mv-bottom {
		align-items: flex-end;
	}

	.s-hero__content--mh-left .s-hero__content-inner {
		text-align: left;
		align-items: flex-start;
	}
	.s-hero__content--mh-center .s-hero__content-inner {
		text-align: center;
		align-items: center;
	}
	.s-hero__content--mh-right .s-hero__content-inner {
		text-align: right;
		align-items: flex-end;
	}
}
