/* ============================================================
   EXAT Hero Slider — BEM Component
   Scope: .exat-hero-slider
   ============================================================ */

.exat-hero-slider {
	position: relative;
	width: 100%;
	height: 80vh;
	overflow: hidden;
}

/* ── Slide ─────────────────────────────────────────────── */
.exat-hero-slider__slide {
	position: relative;
	width: 100%;
	height: 100%;
}

/* ── Background (image / video) ────────────────────────── */
.exat-hero-slider__bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.exat-hero-slider__bg--video {
	overflow: hidden;
}

.exat-hero-slider__bg--video video {
	position: absolute;
	top: 50%;
	left: 50%;
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
	transform: translate(-50%, -50%);
	object-fit: cover;
	/* Neutralise theme's global img rules */
	border-radius: 0 !important;
	box-shadow: none !important;
}

/* ── Overlay ───────────────────────────────────────────── */
.exat-hero-slider__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.45);
	pointer-events: none;
}

/* ── Content ───────────────────────────────────────────── */
.exat-hero-slider__content {
	position: relative;
	z-index: 10;
	display: flex;
	flex-direction: column;
	justify-content: var(--exat-hero-content-vertical-align, center);
	align-items: var(--exat-hero-content-horizontal-align, flex-start);
	text-align: var(--exat-hero-content-text-align, left);
	gap: var(--exat-hero-content-gap, 1rem);
	height: 100%;
	width: var(--exat-hero-content-width, 100%);
	padding: var(--exat-hero-content-padding-block, 0) var(--exat-hero-content-padding-inline, clamp(1.5rem, 5vw, 6rem));
	max-width: var(--exat-hero-content-max-width, 680px);
}

/* ── Heading ───────────────────────────────────────────── */
.exat-hero-slider__heading {
	font-size: clamp(1.75rem, 4vw, 2.75rem);
	font-weight: 700;
	color: #ffffff;
	line-height: 1.2;
	margin: 0 0 var(--exat-hero-heading-spacing, 0) 0;
	font-family: var(--font-display, sans-serif);
	/* Neutralise base.css heading margins */
	margin-top: 0 !important;
}

/* ── Sub Heading ───────────────────────────────────────── */
.exat-hero-slider__subheading {
	font-size: clamp(1.25rem, 2.5vw, 1.875rem);
	font-weight: 700;
	color: #ffffff;
	line-height: 1.4;
	margin: 0 0 var(--exat-hero-subheading-spacing, 0) 0;
	font-family: var(--font-display, sans-serif);
}

/* ── CTA Button (pill) ─────────────────────────────────── */
.exat-hero-slider__cta {
	display: inline-flex;
	align-items: center;
	gap: var(--exat-hero-cta-gap, 0.4rem);
	width: fit-content;
	padding: 0.625rem 1.5rem;
	border: var(--exat-hero-cta-border-width, 1.5px) solid rgba(255, 255, 255, 0.8);
	border-radius: 9999px;
	color: #ffffff;
	font-size: 0.9rem;
	font-weight: 500;
	text-decoration: none !important;
	text-transform: var(--exat-hero-cta-text-transform, none);
	letter-spacing: var(--exat-hero-cta-letter-spacing, 0);
	transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
	backdrop-filter: blur(2px);
	transform: translateY(0);
}

.exat-hero-slider__cta-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1em;
	line-height: 1;
}

.exat-hero-slider__cta:hover {
	background: rgba(255, 255, 255, 0.18);
	color: #ffffff;
	transform: translateY(calc(var(--exat-hero-cta-hover-translate-y, 0px) * -1));
}

/* ── Pagination ────────────────────────────────────────── */
.exat-hero-slider .swiper-pagination,
.exat-hero-slider__pagination {
	position: absolute;
	left: 0;
	right: 0;
	bottom: var(--exat-hero-pagination-bottom, 1.75rem);
	width: 100%;
	z-index: 20;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--exat-hero-pagination-gap, 6px);
}

.exat-hero-slider .swiper-pagination-bullet {
	width: var(--exat-hero-pagination-bullet-size, 10px);
	height: var(--exat-hero-pagination-bullet-size, 10px);
	background: var(--exat-hero-pagination-bullet-color, rgba(255, 255, 255, 0.45));
	opacity: 1;
	border-radius: 9999px;
	transition: width 0.3s ease, background 0.3s ease;
}

.exat-hero-slider .swiper-pagination-bullet-active {
	background: var(--exat-hero-pagination-bullet-active-color, var(--primary, #1d4ed8));
	width: var(--exat-hero-pagination-bullet-active-width, 28px);
}

/* ── Responsive ────────────────────────────────────────── */
@media (max-width: 767px) {
	.exat-hero-slider {
		height: 60vh;
	}

	.exat-hero-slider__content {
		width: var(--exat-hero-content-width, 100%);
		padding: var(--exat-hero-content-padding-block, 0) var(--exat-hero-content-padding-inline, 1.25rem);
		max-width: 100%;
	}

	.exat-hero-slider__heading {
		font-size: 1.5rem;
	}

	.exat-hero-slider__subheading {
		font-size: 1.125rem;
	}
}
