/* =============================================================================
 * Centi Theme — assets/css/banner.css
 *
 * Banner trang chủ (template-parts liên quan: front-page.php).
 * Ảnh đơn hiển thị tĩnh (.hero-banner--static); từ 2 ảnh trở lên hiển thị
 * dạng slide (assets/js/hero-banner.js điều khiển .hero-banner__track).
 * ========================================================================== */

.hero-banner {
	position: relative;
	width: 100%;
	overflow: hidden;
	border-radius: var(--radius-lg);
	margin-block: var(--space-8);
}

.hero-banner__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	aspect-ratio: 21 / 9;
}

@media (max-width: 767px) {
	.hero-banner__image {
		aspect-ratio: 4 / 3;
	}
}

/* -----------------------------------------------------------------------
 * Slider (2+ ảnh)
 * -------------------------------------------------------------------- */

.hero-banner__track {
	display: flex;
	transition: transform var(--transition-base);
}

.hero-banner__slide {
	flex: 0 0 100%;
	min-width: 0;
}

.hero-banner__nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: none;
	border-radius: var(--radius-full);
	background: rgb(15 23 42 / 0.45);
	color: var(--color-text-inverse);
	font-size: var(--font-size-lg);
	line-height: 1;
	cursor: pointer;
	transition: background var(--transition-fast);
}

.hero-banner__nav:hover,
.hero-banner__nav:focus-visible {
	background: rgb(15 23 42 / 0.7);
}

.hero-banner__nav--prev {
	left: var(--space-4);
}

.hero-banner__nav--next {
	right: var(--space-4);
}

.hero-banner__dots {
	position: absolute;
	left: 50%;
	bottom: var(--space-4);
	transform: translateX(-50%);
	display: flex;
	gap: var(--space-2);
}

.hero-banner__dot {
	width: 9px;
	height: 9px;
	padding: 0;
	border: none;
	border-radius: var(--radius-full);
	background: rgb(255 255 255 / 0.5);
	cursor: pointer;
	transition: background var(--transition-fast), transform var(--transition-fast);
}

.hero-banner__dot:hover,
.hero-banner__dot:focus-visible {
	background: rgb(255 255 255 / 0.8);
}

.hero-banner__dot.is-active {
	background: var(--color-text-inverse);
	transform: scale(1.2);
}

@media (max-width: 639px) {
	.hero-banner__nav {
		width: 32px;
		height: 32px;
		font-size: var(--font-size-base);
	}
}
