/* ------------------------------------------------------ */
/* General Interface                                      */
/* ------------------------------------------------------ */
.carousel-wrapper {
	position: relative;
	width: 100%;
	max-width: 1170px;
	margin: 0 auto;
	overflow: hidden;
	border-radius: 12px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}
/* ------------------------------------------------------ */
/* Carousel Slides Container                              */
/* ------------------------------------------------------ */
#carousel-slides {
	position: relative;
	width: 100%;
	height: 350px;
	background-color: #f0f0f0;
}
/* ------------------------------------------------------ */
/* Individual Slide                                       */
/* ------------------------------------------------------ */
.carousel-slide {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: opacity 0.6s ease-in-out;
	pointer-events: none;
}
.carousel-slide.active {
	opacity: 1;
	pointer-events: auto;
}
.carousel-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
/* ------------------------------------------------------ */
/* Navigation Arrows                                      */
/* ------------------------------------------------------ */
.carousel-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background-color: rgba(255,255,255,0.3);
	border: none;
	border-radius: 50%;
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 10;
	transition: all 0.3s ease;
	box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}
.carousel-arrow:hover {
	background-color: rgba(255,255,255,0.6);
	box-shadow: 0 4px 12px rgba(0,0,0,0.3);
	transform: translateY(-50%) scale(1.1);
}
.carousel-arrow:active {
	transform: translateY(-50%) scale(0.95);
}
.carousel-arrow-left {
	left: 20px;
}
.carousel-arrow-right {
	right: 20px;
}
.carousel-arrow svg {
	color: #333;
}
/* ------------------------------------------------------ */
/* Carousel Indicators                                    */
/* ------------------------------------------------------ */
.carousel-indicators {
    position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	margin-top: 20px;
	padding: 10px 0;
	min-height: 30px;
}
.carousel-indicator {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background-color: rgba(0,0,0,0.3);
	border: 2px solid rgba(0,0,0,0.5);
	cursor: pointer;
	transition: all 0.3s ease;
}
.carousel-indicator:hover {
	background-color: rgba(0,0,0,0.5);
	transform: scale(1.2);
}
.carousel-indicator.active {
	background-color: rgba(0,0,0,0.8);
	transform: scale(1.3);
}
/* ------------------------------------------------------ */
/* Responsive: Mobile                                     */
/* ------------------------------------------------------ */
@media (max-width: 768px) {
	.carousel-wrapper {
		max-width: 450px;
	}
	#carousel-slides {
		height: 600px;
	}
	.carousel-arrow {
		width: 40px;
		height: 40px;
	}
	.carousel-arrow-left {
		left: 10px;
	}
	.carousel-arrow-right {
		right: 10px;
	}
	.carousel-indicators {
		bottom: 15px;
		gap: 8px;
	}
	.carousel-indicator {
		width: 10px;
		height: 10px;
	}
}
/* ------------------------------------------------------ */
/* Responsive: Tablet                                     */
/* ------------------------------------------------------ */
@media (min-width: 769px) and (max-width: 1024px) {
	#carousel-slides {
		height: 350px;
	}
}