/**
 * Homepage hero slider (template-parts/hero.php).
 *
 * A full-bleed split panel: brand-navy content column on the left, the
 * slide's photo running edge-to-edge on the right, a slide counter
 * bottom-left and circular prev/next controls over the photo's
 * bottom-right corner.
 *
 * Colours come from the theme's own palette (style.min.css :root) --
 * --blue/--yellow/--cream -- except the tag badge, which is a new
 * element in this design and so declares its own token here rather than
 * borrowing an existing one that doesn't mean "tag".
 */

.un-hero {
	--un-hero-tag-bg: #4a7cb8;
	--un-hero-min-height: 620px;
	position: relative;
	overflow: hidden;
	background: var(--blue, #231a64);
}

/* Slick swaps this for its own markup on init; before that it just
   stacks, and only the first slide is visible (below), so the page
   never flashes every slide at once. */
.un-hero__track {
	position: relative;
}

.un-hero__track:not(.slick-initialized) .un-hero__slide + .un-hero__slide {
	display: none;
}

.un-hero__slide {
	position: relative;
	display: flex !important;
	flex-wrap: wrap;
	min-height: var(--un-hero-min-height);
}

.un-hero__panel {
	flex: 0 0 50%;
	max-width: 50%;
	display: flex;
	align-items: center;
	background: var(--blue, #231a64);
	padding: 70px 6% 90px;
}

/* Keeps the text column lined up with the site's own container width
   rather than hugging the very edge of the viewport on wide screens. */
.un-hero__content {
	width: 100%;
	max-width: 560px;
	margin-left: auto;
	padding-right: 24px;
}

.un-hero__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 16px;
	padding: 9px 20px;
	border-radius: 999px;
	background: var(--cream, #f6f2e8);
	color: var(--blue, #231a64);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .09em;
	text-transform: uppercase;
	line-height: 1.3;
}

.un-hero__tag {
	display: inline-block;
	margin: 0 0 22px;
	padding: 6px 14px;
	border-radius: 4px;
	background: var(--un-hero-tag-bg);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	line-height: 1.2;
}

.un-hero__heading {
	margin: 0 0 22px;
	color: #fff;
	font-size: clamp(32px, 3.4vw, 54px);
	font-weight: 800;
	line-height: 1.14;
}

.un-hero__subtext {
	margin: 0 0 34px;
	color: rgba(255, 255, 255, .82);
	font-size: 17px;
	line-height: 1.6;
	max-width: 46ch;
}

.un-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.un-hero__btn {
	display: inline-flex;
	align-items: center;
	gap: 16px;
	padding: 10px 10px 10px 28px;
	border-radius: 999px;
	background: var(--yellow, #ddb14d);
	color: var(--blue, #231a64);
	font-weight: 700;
	font-size: 16px;
	line-height: 1.2;
	text-decoration: none;
	transition: background .2s ease, color .2s ease;
}

.un-hero__btn i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--blue, #231a64);
	color: #fff;
	font-size: 13px;
	transition: background .2s ease, color .2s ease;
}

.un-hero__btn:hover,
.un-hero__btn:focus {
	background: var(--lyellow, #e8ca59);
	color: var(--blue, #231a64);
}

.un-hero__btn--ghost {
	background: transparent;
	color: #fff;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .55);
}

.un-hero__btn--ghost i {
	background: rgba(255, 255, 255, .16);
}

.un-hero__btn--ghost:hover,
.un-hero__btn--ghost:focus {
	background: rgba(255, 255, 255, .12);
	color: #fff;
}

.un-hero__media {
	flex: 0 0 50%;
	max-width: 50%;
	position: relative;
	background: var(--dblue, #1b1947);
}

.un-hero__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* --- Counter + arrows ------------------------------------------------ */

.un-hero__counter {
	position: absolute;
	left: 6%;
	bottom: 42px;
	margin: 0;
	z-index: 3;
	font-size: 17px;
	font-weight: 700;
	letter-spacing: .04em;
	color: #fff;
	pointer-events: none;
}

/* Matches the design's two-tone counter: current slide white, total in
   the brand yellow. */
.un-hero__counter-total {
	color: var(--yellow, #ddb14d);
}

.un-hero__nav {
	position: absolute;
	right: 34px;
	bottom: 34px;
	z-index: 3;
	display: flex;
	gap: 12px;
}

.un-hero__arrow {
	width: 46px;
	height: 46px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, .75);
	background: rgba(0, 0, 0, .18);
	color: #fff;
	font-size: 14px;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background .2s ease, border-color .2s ease;
}

.un-hero__arrow:hover,
.un-hero__arrow:focus {
	background: rgba(0, 0, 0, .42);
	border-color: #fff;
	outline: none;
}

/* --- Responsive ------------------------------------------------------ */

@media (max-width: 991px) {
	.un-hero {
		--un-hero-min-height: 0;
	}

	.un-hero__panel,
	.un-hero__media {
		flex: 0 0 100%;
		max-width: 100%;
	}

	.un-hero__panel {
		order: 2;
		padding: 48px 24px 86px;
	}

	.un-hero__content {
		max-width: none;
		margin-left: 0;
		padding-right: 0;
	}

	.un-hero__media {
		order: 1;
		min-height: 320px;
	}

	.un-hero__counter {
		left: 24px;
		bottom: 30px;
	}

	.un-hero__nav {
		right: 24px;
		bottom: 24px;
	}
}

@media (max-width: 575px) {
	.un-hero__actions {
		gap: 10px;
	}

	.un-hero__btn {
		font-size: 15px;
		padding-left: 22px;
	}

	.un-hero__arrow {
		width: 40px;
		height: 40px;
	}
}
