/* Indicators position */
#carouselIndicators .carousel-indicators {
    position: absolute;
    bottom: 20px; 
    left: 50%;
    transform: translateX(-50%);
    margin: 0;
    z-index: 10;
}

/* Rectangle style indicators */
#carouselIndicators .carousel-indicators li {
    width: 30px;
    height: 4px;
    background-color: rgba(255, 255, 255, 0.6);
    border: none;
    margin: 0 3px;
    border-radius: 2px;
    transition: background-color 0.3s ease;
}

/* Active rectangle */
#carouselIndicators .carousel-indicators .active {
    background-color: #fff;
}

/* Caption styling */
#carouselIndicators .custom-caption {
    /* bottom: 60px; */
    max-width: 600px;
}


/* Transparent login button */
#carouselIndicators .btn-lapor {
	display: inline-block;
	margin-top: 10px;
	padding: 8px 20px;
	border: 2px solid #ffffff;
	color: #fff;
	background: transparent;
	border-radius: 25px;
	text-decoration: none;
	font-weight: 500;
	transition: all 0.3s ease;
}

/* Hover effect */
#carouselIndicators .btn-lapor:hover {
	background: #ffffff;
	color: #123458;
	text-decoration: none;
}

/* Desktop: left aligned */
@media (min-width: 768px) and (max-width: 991.98px), (min-width: 992px) {
	#carouselIndicators .custom-caption {
		top: 50%;
		left: 5%;
		transform: translateY(-50%); /* perfect vertical centering */
		display: flex;
		flex-direction: column;
		align-items: flex-start;  /* keep left-aligned */
		text-align: left; 
	}
}

/* Mobile: centered */
@media (max-width: 767.98px) {
	#carouselIndicators .carousel-inner::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(0, 0, 0, 0.425); /* dark translucent */
		z-index: 2; /* sits above image but below caption */
	}

	#carouselIndicators .carousel-item {
		position: relative; /* ensure ::before is positioned relative to this */
	}

	#carouselIndicators .custom-caption {
		position: absolute;
		top: 40%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 90%;
		text-align: center;
		z-index: 3; /* above overlay */
	}
}

/* Caption text */
#carouselIndicators .custom-caption h5 {
	padding-top: 0px;
	font-size: 2rem;
	color: #fff;
	/* text-shadow: 1px 1px 5px rgba(0,0,0,0.6); */
}

#carouselIndicators .custom-caption p {
	font-size: 1.1rem;
	color: #f1f1f1;
	/* text-shadow: 1px 1px 4px rgba(0,0,0,0.5); */
}
