/* ===================== GALLERY SECTION ===================== */
.dr1050carouselhome {
	padding: 80px 20px;
	background: linear-gradient(135deg, #fff1f1, #ffffff);
	font-family: 'Poppins', 'Noto Serif Telugu', sans-serif;
	color: #1a1a1a;
	user-select: none;
	overflow: hidden;
}

/* ---------------- TITLE ---------------- */
.dr1050carouselhome .carousel-title {
	text-align: center;
	font-size: 2.6rem;
	font-weight: 800;
	color: #c40000;
	margin-bottom: 50px;
	line-height: 1.35;
}

.dr1050carouselhome .english-sub {
	display: block;
	font-size: 1.05rem;
	font-weight: 600;
	color: #ff2a2a;
	margin-top: 6px;
}

.dr1050carouselhome .telugu-sub {
	display: block;
	font-size: 1.1rem;
	color: #444;
	margin-top: 6px;
}

/* ---------------- CAROUSEL WRAPPER ---------------- */
.dr1050carouselhome .carousel {
	position: relative;
	max-width: 980px;
	margin: auto;
	overflow: hidden;
	border-radius: 22px;
	background: linear-gradient(135deg, #ffffff, #ffeaea);
	box-shadow: 0 20px 45px rgba(196, 0, 0, 0.18);
}

/* ---------------- TRACK ---------------- */
.dr1050carouselhome .carousel-track {
	display: flex;
	transition: transform 0.6s ease;
	will-change: transform;
}

/* ---------------- SLIDE ---------------- */
.dr1050carouselhome .carousel-slide {
	flex: 0 0 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 26px;
	opacity: 0;
	transition: opacity 0.5s ease;
}

.dr1050carouselhome .carousel-slide.active {
	opacity: 1;
}

/* ---------------- IMAGE ---------------- */
.dr1050carouselhome .carousel-slide img {
	max-width: 92%;
	max-height: 460px;
	border-radius: 18px;
	background: transparent;
	box-shadow: 0 12px 32px rgba(196, 0, 0, 0.28);
	transition: transform 0.4s ease, box-shadow 0.4s ease;
	touch-action: manipulation;
}

.dr1050carouselhome .carousel-slide img:hover {
	transform: scale(1.05);
	box-shadow: 0 0 45px rgba(255, 0, 0, 0.45);
}

/* ---------------- NAV BUTTONS ---------------- */
.dr1050carouselhome .carousel-btn {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: linear-gradient(135deg, #ff2a2a, #c40000);
	color: #ffffff;
	border: none;
	font-size: 2rem;
	padding: 14px 18px;
	border-radius: 50%;
	cursor: pointer;
	z-index: 2;
	box-shadow: 0 10px 28px rgba(196, 0, 0, 0.45);
	transition: transform 0.25s ease, background 0.25s ease;
}

.dr1050carouselhome .carousel-btn.left {
	left: 16px;
}

.dr1050carouselhome .carousel-btn.right {
	right: 16px;
}

.dr1050carouselhome .carousel-btn:hover {
	background: linear-gradient(135deg, #c40000, #8b0000);
	transform: scale(1.12);
}

/* ---------------- MOBILE RESPONSIVE ---------------- */
@media ( max-width : 768px) {
	.dr1050carouselhome {
		padding: 60px 16px;
	}
	.dr1050carouselhome .carousel-title {
		font-size: 2rem;
	}
	.dr1050carouselhome .carousel-slide {
		padding: 20px;
	}
	.dr1050carouselhome .carousel-slide img {
		max-height: 320px;
	}
	.dr1050carouselhome .carousel-btn {
		font-size: 1.6rem;
		padding: 10px 14px;
	}
}

/* ---------------- SMALL MOBILE ---------------- */
@media ( max-width : 480px) {
	.dr1050carouselhome {
		padding: 50px 14px;
	}
	.dr1050carouselhome .carousel-title {
		font-size: 1.6rem;
		margin-bottom: 30px;
	}
	.dr1050carouselhome .english-sub, .dr1050carouselhome .telugu-sub {
		font-size: 0.95rem;
	}
	.dr1050carouselhome .carousel-slide img {
		max-height: 240px;
		border-radius: 14px;
	}
	.dr1050carouselhome .carousel-btn {
		font-size: 1.4rem;
		padding: 8px 12px;
	}
}