/* ── Bantu Gazette Slider – Frontend Styles ─────────────────────── */

.bantu-slider *,
.bantu-slider *::before,
.bantu-slider *::after {
	box-sizing: border-box;
}

.bantu-slider {
	position: relative;
	width: 100%;
	overflow: hidden;
	background: #111;
	min-height: 320px;
}

/* ── Track ──────────────────────────────────────────────────────── */

.bantu-slider__track {
	display: flex;
	transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	will-change: transform;
}

/* ── Individual slide ───────────────────────────────────────────── */

.bantu-slide {
	flex: 0 0 100%;
	width: 100%;
	position: relative;
	display: flex;
	min-height: 500px;
}

.bantu-slide__link {
	display: flex;
	width: 100%;
	text-decoration: none;
	color: inherit;
}

/* ── Desktop layout (≥768px) ─────────────────────────────────────── */

@media (min-width: 768px) {

	.bantu-slide {
		height: 500px;
		min-height: 500px;
	}

	.bantu-slide__link {
		flex-direction: row;
	}

	.bantu-slide__text-panel {
		flex: 0 0 40%;
		max-width: 40%;
		background: rgba(0, 0, 0, 0.87);
		display: flex;
		flex-direction: column;
		justify-content: center;
		padding: 40px 36px;
		z-index: 2;
	}

	.bantu-slide__image--desktop {
		flex: 1 1 auto;
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
	}

	.bantu-slide__image--mobile {
		display: none;
	}
}

/* ── Mobile layout (<768px) ──────────────────────────────────────── */

@media (max-width: 767px) {

	.bantu-slide {
		min-height: auto;
		height: auto;
	}

	.bantu-slide__link {
		flex-direction: column;
	}

	.bantu-slide__image--mobile {
		width: 100%;
		padding-top: 108.33%;
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
	}

	.bantu-slide__image--desktop {
		display: none;
	}

	.bantu-slide__text-panel {
		background: #ffffff;
		padding: 24px 20px 28px;
		display: flex;
		flex-direction: column;
	}
}

/* ── Text panel contents ─────────────────────────────────────────── */

.bantu-slide__title {
	margin: 0 0 12px;
	font-size: clamp(1.25rem, 2.5vw, 1.75rem);
	font-weight: 700;
	line-height: 1.25;
	color: #ffffff;
}

@media (max-width: 767px) {
	.bantu-slide__title {
		color: #111111;
	}
}

.bantu-slide__author {
	margin: 0 0 12px;
	font-size: 0.85rem;
	color: #aaaaaa;
}

@media (max-width: 767px) {
	.bantu-slide__author {
		color: #555555;
	}
}

.bantu-slide__author-name {
	color: #E91E8C;
	font-weight: 600;
}

.bantu-slide__excerpt {
	margin: 0 0 20px;
	font-size: 0.92rem;
	line-height: 1.55;
	color: #cccccc;
	flex: 1;
}

@media (max-width: 767px) {
	.bantu-slide__excerpt {
		color: #555555;
	}
}

.bantu-slide__read-more {
	display: inline-block;
	color: #E91E8C;
	font-size: 0.85rem;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
	transition: opacity 0.2s;
}

.bantu-slide__link:hover .bantu-slide__read-more {
	opacity: 0.8;
}

/* ── Arrows ─────────────────────────────────────────────────────── */

.bantu-slider__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
	background: rgba(0, 0, 0, 0.45);
	border: none;
	border-radius: 50%;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	color: #fff;
	transition: background 0.2s;
	padding: 0;
}

.bantu-slider__arrow:hover,
.bantu-slider__arrow:focus-visible {
	background: rgba(233, 30, 140, 0.75);
	outline: none;
}

.bantu-slider__arrow--prev { left: 14px; }
.bantu-slider__arrow--next { right: 14px; }

/* ── Dots ───────────────────────────────────────────────────────── */

.bantu-slider__dots {
	position: absolute;
	bottom: 16px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: 8px;
	z-index: 10;
}

.bantu-slider__dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	border: none;
	background: rgba(255, 255, 255, 0.45);
	cursor: pointer;
	padding: 0;
	transition: background 0.25s, transform 0.25s;
}

.bantu-slider__dot.is-active,
.bantu-slider__dot:hover {
	background: #E91E8C;
	transform: scale(1.3);
}

.bantu-slider__dot:focus-visible {
	outline: 2px solid #E91E8C;
	outline-offset: 2px;
}

/* ── Reduced motion ─────────────────────────────────────────────── */

@media (prefers-reduced-motion: reduce) {
	.bantu-slider__track {
		transition: none;
	}
}
