/* Scrollbar styling untuk Health Hub */
.health-scroll-container {
	scroll-snap-type: x proximity;
	scroll-padding: 0 20px;
	padding-left: 20px;
}

.health-scroll-container > div {
	scroll-snap-align: start;
	scroll-snap-stop: normal;
}

.health-scroll-container::-webkit-scrollbar {
	height: 8px;
}

.health-scroll-container::-webkit-scrollbar-track {
	background: #f1f1f1;
	border-radius: 10px;
}

.health-scroll-container::-webkit-scrollbar-thumb {
	background: #048CD6;
	border-radius: 10px;
}

.health-scroll-container::-webkit-scrollbar-thumb:hover {
	background: #036BA3;
}

/* Hide scrollbar untuk mobile tapi tetap bisa scroll */
@media (max-width: 768px) {
	.health-scroll-container::-webkit-scrollbar {
		display: none;
	}
	.health-scroll-container {
		-ms-overflow-style: none;
		scrollbar-width: none;
	}
}

/* Modern Read More Button */
.btn-read-more {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 35px;
	height: 35px;
	border-radius: 50%;
	background-color: #048CD6;
	border: none;
	cursor: pointer;
	transition: all 0.3s ease;
	box-shadow: 0 3px 10px rgba(4, 140, 214, 0.3);
	text-decoration: none;
	float: right;
	margin-top: 10px;
}

.btn-read-more:hover {
	transform: translateY(-2px);
	box-shadow: 0 5px 15px rgba(4, 140, 214, 0.5);
	background-color: #044D75;
	text-decoration: none;
}

.btn-read-more i {
	color: white;
	font-size: 14px;
	transition: transform 0.3s ease;
}

.btn-read-more:hover i {
	transform: translateX(2px);
}

/* Hero Section Responsive */
.hero-form-overlay {
	position: absolute;
	top: 20%;
	left: 85px;
	background-color: rgba(196, 199, 202, 0.85);
	width: 35%;
	border-radius: 12px;
	padding-left: 0.75rem;
	padding-right: 1rem;
}

/* Perbaikan placeholder agar tidak terpotong */
.hero-form-overlay .form-control,
.hero-form-overlay .custom-select,
.mobile-doctor-search .form-control,
.mobile-doctor-search .custom-select {
	padding: 0.5rem 0.75rem;
	height: auto;
	line-height: 1.5;
	min-height: 38px;
}

/* Responsive breakpoints untuk hero form */
@media (max-width: 1400px) {
	.hero-form-overlay {
		width: 40%;
		left: 50px;
	}
}

@media (max-width: 1200px) {
	.hero-form-overlay {
		width: 45%;
		left: 40px;
		top: 15%;
	}
	.hero-form-overlay h4 {
		font-size: 1.2rem;
	}
	.hero-form-overlay .form-control,
	.hero-form-overlay .custom-select {
		font-size: 0.75rem;
		padding: 0.5rem 0.75rem;
		height: auto;
		line-height: 1.5;
	}
	.hero-form-overlay label {
		font-size: 0.85rem;
	}
}

@media (max-width: 1024px) {
	.hero-form-overlay {
		width: 50%;
		left: 30px;
		top: 10%;
	}
	.hero img {
		max-height: 500px !important;
	}
}

/* Hero image responsive */
@media (max-width: 1200px) {
	.hero img {
		max-height: 550px !important;
	}
}

/* Hero image transition */
#hero-image,
#hero-image-mobile {
	transition: opacity 1s ease-in-out;
}

/* Mobile hero section styling */
@media (max-width: 991px) {
	#hero-image-mobile {
		height: 350px !important;
	}
}

@media (max-width: 768px) {
	#hero-image-mobile {
		height: 300px !important;
	}
}

@media (max-width: 576px) {
	#hero-image-mobile {
		height: 250px !important;
	}
}

/* Mobile form "Cari Dokter" styling - make it more compact */
@media (max-width: 991px) {
	.mobile-doctor-search h3 {
		font-size: 1.3rem !important;
		padding-bottom: 0.5rem !important;
	}
	.mobile-doctor-search .form-group {
		margin-bottom: 0.5rem !important;
	}
	.mobile-doctor-search label {
		font-size: 0.85rem;
		padding-top: 0.3rem;
		padding-bottom: 0.3rem;
	}
	.mobile-doctor-search .form-control,
	.mobile-doctor-search .custom-select {
		font-size: 0.5rem !important;
		padding: 0.5rem 0.75rem !important;
	}
	.mobile-doctor-search .form-control::placeholder {
		font-size: 0.75rem !important;
	}
	.mobile-doctor-search .custom-select option {
		font-size: 0.5rem;
	}
	.mobile-doctor-search .btn {
		font-size: 0.9rem;
		padding: 0.5rem 1.5rem;
	}
	.mobile-doctor-search {
		padding-top: 1rem !important;
		padding-bottom: 1rem !important;
	}
}

@media (max-width: 576px) {
	.mobile-doctor-search h3 {
		font-size: 1.1rem !important;
	}
	.mobile-doctor-search label {
		font-size: 0.8rem;
	}
	.mobile-doctor-search .form-control,
	.mobile-doctor-search .custom-select {
		font-size: 0.5em !important;
		padding: 0.45rem 0.65rem !important;
	}
	.mobile-doctor-search .form-control::placeholder {
		font-size: 0.7rem !important;
	}
	.mobile-doctor-search .custom-select option {
		font-size: 0.8rem;
	}
}

/* Enhanced Doctor Search Form Styling */
.doctor-search-form .form-control,
.doctor-search-form .custom-select {
	border-radius: 8px;
	border: 2px solid #e0e0e0;
	padding: 0.65rem 0.75rem;
	transition: all 0.3s ease;
	background-color: #fff;
	font-size: 0.85rem;
	width: 100%;
}

.doctor-search-form .form-control:focus,
.doctor-search-form .custom-select:focus {
	border-color: #048CD6;
	box-shadow: 0 0 0 0.2rem rgba(4, 140, 214, 0.15);
	outline: none;
}

.doctor-search-form .form-control::placeholder {
	color: #999;
	font-size: 0.75rem;
}

.doctor-search-form .custom-select option {
	padding: 0.5rem;
	font-size: 0.85rem;
}

.doctor-search-form .btn-search {
	background-color: #048CD6;
	background: linear-gradient(135deg, #048CD6 0%, #036BA3 100%);
	border: none;
	border-radius: 8px;
	padding: 0.5rem 1rem;
	font-weight: 600;
	font-size: 10pt;
	transition: all 0.3s ease;
	box-shadow: 0 4px 10px rgba(4, 140, 214, 0.2);
	width: auto;
	white-space: nowrap;
}

.doctor-search-form .btn-search:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 15px rgba(4, 140, 214, 0.3);
	background: linear-gradient(135deg, #036BA3 0%, #048CD6 100%);
}

.doctor-search-form .form-label {
	font-weight: 500;
	color: #333;
	margin-bottom: 0.5rem;
}

.doctor-search-form h4 {
	font-weight: 700;
	color: #2c3e50;
	margin-bottom: 1.5rem;
}

/* ========== HERO SECTION ========== */
.hero {
	position: relative;
	color: white;
	max-height: 600px;
	overflow: hidden;
}

.hero-mobile {
	position: relative;
	color: white;
	max-height: 800px;
	overflow: hidden;
}

.hero-image {
	width: 100%;
	max-height: 600px;
	object-fit: cover;
	object-position: center;
}

.hero-image-mobile {
	width: 100%;

	object-position: center;
	background-size: cover;
}

/* ========== MOBILE SEARCH SECTION ========== */
.mobile-search-section {
	background-color: #C4C7CA;
	width: 100%;
}

.mobile-doctor-search {
	background-color: #C4C7CA;
	width: 100%;
}

/* ========== HEALTH HUB SCROLL ========== */
.health-scroll-wrapper {
	display: flex;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	cursor: grab;
	user-select: none;
	gap: 15px;
}

.health-card {
	flex: 0 0 auto;
	width: 350px;
}

/* ========== TAB SECTIONS ========== */
.tab-box-active {
	color: #048CD6;
	font-size: 13pt;
	border-bottom: 2px solid #048CD6;
}

.tab-box-inactive {
	color: #5A5757;
	font-size: 13pt;
	border-bottom: 2px solid #5A5757;
}

.tab-link-active {
	color: #048CD6;
}

.tab-link-inactive {
	color: #5A5757;
}

.facility-title-highlight {
	color: #048CD6;
}

.facility-menu-table {
	border-collapse: collapse;
}

.facility-menu-row {
	cursor: pointer;
}

/* ========== FACILITY CONTAINERS ========== */
.facility-container {
	display: none;
}

.facility-container-active {
	display: block;
}

.facility-scroll-wrapper {
	display: flex;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	cursor: grab;
	user-select: none;
	gap: 15px;
}

.facility-card {
	flex: 0 0 auto;
	width: 450px;
}

.facility-image {
	width: 100%;
	height: 300px;
	object-fit: cover;
	background-color: #e9ecef;
}

/* ========== FACILITY MENU STYLING ========== */
.facility-menu-row {
	transition: all 0.3s ease;
	border-left: 3px solid transparent !important;
	position: relative;
}

.facility-menu-row:hover {
	background-color: #f8fbff !important;
	border-left: 3px solid #048CD6 !important;
	transform: translateX(2px);
}

.facility-menu-row.active {
	background-color: #e8f4fc !important;
	border-left: 4px solid #048CD6 !important;
	font-weight: 500;
}

.facility-menu-row td {
	transition: padding-left 0.3s ease;
}

.facility-menu-row:hover td {
	padding-left: 8px !important;
}

.facility-menu-row.active td {
	padding-left: 8px !important;
}

/* Clean border styling */
#facility-menu-bekasi tr,
#facility-menu-karawang tr,
#facility-menu-jababeka tr,
#facility-menu-lippo tr {
	border-bottom: 1px solid #e0e6ed !important;
}

#facility-menu-bekasi tr:last-child,
#facility-menu-karawang tr:last-child,
#facility-menu-jababeka tr:last-child,
#facility-menu-lippo tr:last-child {
	border-bottom: none !important;
}

/* ========== FACILITY SCROLL CONTAINER ========== */
.facility-scroll-container {
	scrollbar-width: thin;
	scrollbar-color: #048CD6 #e9ecef;
	position: relative;
}

.facility-scroll-container::-webkit-scrollbar {
	height: 8px;
}

.facility-scroll-container::-webkit-scrollbar-track {
	background: #e9ecef;
	border-radius: 4px;
}

.facility-scroll-container::-webkit-scrollbar-thumb {
	background: #048CD6;
	border-radius: 4px;
}

.facility-scroll-container::-webkit-scrollbar-thumb:hover {
	background: #0370a8;
}

.facility-scroll-container:active {
	cursor: grabbing;
}

/* Fade effect for scroll edges */
.facility-images-container {
	position: relative;
}

.facility-images-container::after {
	content: '';
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	width: 40px;
	background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.8));
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.facility-images-container.has-more::after {
	opacity: 1;
}

.facility-scroll-container > div {
	transition: transform 0.3s ease;
}

.facility-scroll-container > div:hover {
	transform: translateY(-5px);
}

/* Mobile responsive adjustments */
@media (max-width: 768px) {
	.facility-scroll-container > div {
		width: 85vw !important;
		flex: 0 0 auto;
	}

	.facility-scroll-container {
		padding-left: 15px;
		scroll-snap-type: x mandatory;
		scroll-padding-left: 15px;
	}

	.facility-scroll-container > div {
		scroll-snap-align: start;
	}

	.facility-images-container::after {
		width: 60px;
		background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.95));
	}
}

/* ========== UTILITY CLASSES ========== */
.no-decoration {
	text-decoration: none;
}

.clear-both {
	clear: both;
}

.bg-white-section {
	background-color: #FFFFFF;
}

.health-section-visible {
	display: block;
	position: relative;
	top: 0%;
}

.health-section-hidden {
	display: none;
	position: absolute;
	top: 0%;
}
