/*
 * Dokterin Post Slider.
 *
 * .dps-slider--hero  : 1 kolom, gambar penuh + overlay + teks di atasnya.
 * .dps-slider--cards : 2-4 kolom, card (gambar, meta, judul, deskripsi singkat).
 *
 * Warna hero diatur lewat variabel yang di-set per slider (inline style):
 * --dps-height, --dps-overlay, --dps-title, --dps-accent.
 */

.dps-slider {
	position: relative;
	width: 100%;
	--dps-card-accent: #1a75bb;
	--dps-card-text: #3d3d3d;
	--dps-card-muted: #6b7280;
	--dps-card-title: #1f1f1f;
}

.dps-slider .swiper {
	width: 100%;
}

/* Theme content styles underline links inside .entry-content - not here. */
.dps-slider a,
.dps-slider a:hover,
.dps-slider a *,
.dps-slider a:hover * {
	text-decoration: none !important;
}

.dps-slider .dps-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 6px;
	margin: 0 0 6px;
	font-size: 13px;
	line-height: 1.5;
	letter-spacing: 0;
}

/* ------------------------------------------------------------------ */
/* Hero (1 kolom)                                                      */
/* ------------------------------------------------------------------ */

.dps-slider--hero .swiper {
	border-radius: 14px;
	overflow: hidden;
}

.dps-slider--hero .swiper-slide {
	height: var( --dps-height, 420px );
}

.dps-slider--hero .dps-card {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
}

.dps-slider--hero .dps-bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
}

.dps-slider--hero .dps-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient( 180deg, transparent, var( --dps-overlay, rgba( 0, 0, 0, 0.7 ) ) );
}

.dps-slider--hero .dps-content {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 28px 32px 40px;
	color: #fff;
}

.dps-slider--hero .dps-meta {
	color: #fff;
	opacity: 0.85;
}

.dps-slider--hero .dps-content .dps-title {
	margin: 0 0 8px;
	color: var( --dps-title, #fff );
	font-size: 26px;
	line-height: 1.3;
	letter-spacing: 0;
}

.dps-slider--hero .dps-content .dps-excerpt {
	margin: 0;
	color: #f0f0f0;
	font-size: 15px;
	letter-spacing: 0;
}

.dps-slider--hero .swiper-button-next,
.dps-slider--hero .swiper-button-prev {
	color: var( --dps-accent, #fff );
}

.dps-slider--hero .swiper-pagination {
	position: absolute;
	bottom: 14px;
	left: 0;
	right: 0;
	z-index: 10;
}

.dps-slider--hero .swiper-pagination-bullet {
	background: var( --dps-accent, #fff );
}

@media ( max-width: 767px ) {

	.dps-slider--hero .dps-content {
		padding: 20px 20px 36px;
	}

	.dps-slider--hero .dps-content .dps-title {
		font-size: 20px;
	}

	.dps-slider--hero .swiper-button-next,
	.dps-slider--hero .swiper-button-prev {
		display: none;
	}
}

/* ------------------------------------------------------------------ */
/* Cards (2-4 kolom)                                                   */
/* ------------------------------------------------------------------ */

.dps-slider--cards {
	padding-bottom: 36px;
}

/* Card sama tinggi di satu baris. */
.dps-slider--cards .swiper-slide {
	height: auto;
	display: flex;
}

.dps-slider--cards .dps-item {
	display: flex;
	flex-direction: column;
	width: 100%;
	background: #fff;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 4px 18px rgba( 20, 40, 80, 0.08 );
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.dps-slider--cards .dps-item:hover {
	box-shadow: 0 10px 28px rgba( 20, 40, 80, 0.14 );
	transform: translateY( -2px );
}

.dps-slider--cards .dps-item-media {
	aspect-ratio: 16 / 10;
	background: #eef2f7;
	overflow: hidden;
}

.dps-slider--cards .dps-item-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.dps-slider--cards .dps-item:hover .dps-item-media img {
	transform: scale( 1.04 );
}

.dps-slider--cards .dps-item-body {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 16px 18px 20px;
}

.dps-slider--cards .dps-meta {
	color: var( --dps-card-muted );
}

.dps-slider--cards .dps-meta .dps-category {
	color: var( --dps-card-accent );
	font-weight: 600;
}

.dps-slider--cards .dps-item-body .dps-item-title {
	margin: 0 0 8px;
	color: var( --dps-card-title );
	font-size: 18px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	max-height: calc( 1.4em * 2 );
	transition: color 0.2s ease;
}

.dps-slider--cards .dps-item:hover .dps-item-title {
	color: var( --dps-card-accent );
}

.dps-slider--cards .dps-item-body .dps-item-excerpt {
	margin: 0;
	color: var( --dps-card-text );
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	max-height: calc( 1.6em * 3 );
}

/* Swiper memotong bayangan card di tepi - beri ruang sedikit. */
.dps-slider--cards .swiper {
	padding: 6px 4px 10px;
	margin: -6px -4px 0;
}

.dps-slider--cards .swiper-button-next,
.dps-slider--cards .swiper-button-prev {
	top: calc( 50% - 18px );
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #fff;
	color: var( --dps-card-accent );
	box-shadow: 0 4px 14px rgba( 20, 40, 80, 0.18 );
}

.dps-slider--cards .swiper-button-next::after,
.dps-slider--cards .swiper-button-prev::after {
	font-size: 16px;
	font-weight: 700;
}

.dps-slider--cards .swiper-button-prev {
	left: -12px;
}

.dps-slider--cards .swiper-button-next {
	right: -12px;
}

.dps-slider--cards .swiper-pagination {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
}

.dps-slider--cards .swiper-pagination-bullet {
	background: var( --dps-card-accent );
}

.dps-slider--cards .swiper-button-disabled {
	opacity: 0;
	pointer-events: none;
}

@media ( max-width: 767px ) {

	.dps-slider--cards .swiper-button-next,
	.dps-slider--cards .swiper-button-prev {
		display: none;
	}
}

/* ------------------------------------------------------------------ */
/* Related Posts ("Artikel Terkait")                                   */
/* ------------------------------------------------------------------ */

.dps-related .dps-related-title {
	margin: 0 0 20px;
	color: #1f1f1f;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0;
}

@media ( max-width: 767px ) {

	.dps-related .dps-related-title {
		font-size: 22px;
	}
}
