/* Prevent FOUC: hide carousel until Swiper and loader are ready */
.carousel-container.loading {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease;
}



/* -------------------------------------------------------------------------- */
/* Base Swiper adjustments */
/* -------------------------------------------------------------------------- */

/* Hide default Swiper arrows (we use custom ones) */
.swiper-button-prev,
.swiper-button-next {
	display: none !important;
}


/* -------------------------------------------------------------------------- */
/* Carousel structure */
/* -------------------------------------------------------------------------- */

.carousel-container {
	position: relative;
	width: 100%;
	overflow: hidden;
}

/* Each slide */
.carousel-item {
	text-align: center;
}


/* -------------------------------------------------------------------------- */
/* Pagination (dot navigation) */
/* -------------------------------------------------------------------------- */

.swiper-pagination {
	bottom: 30px !important;
}

/* Inactive dots */
.swiper-pagination-bullet {
	width: 6px !important;
	height: 6px !important;
	border-radius: 50%;
	background-color: #cdcccb !important;
	opacity: 1 !important;
	margin: 0 5px !important;
	transition: background-color 0.3s;
}

/* Active dot */
.swiper-pagination-bullet.swiper-pagination-bullet-active {
	background-color: #fff !important;
}


/* -------------------------------------------------------------------------- */
/* Bottom-right control area */
/* -------------------------------------------------------------------------- */

.carousel-controls {
	position: absolute;
	bottom: 20px;
	right: 20px;
	display: flex;
	align-items: center;
	gap: 10px;
	z-index: 10;
}


/* -------------------------------------------------------------------------- */
/* Circular loader (progress indicator) */
/* -------------------------------------------------------------------------- */

.loader-circle {
	position: relative;
	width: 50px;
	height: 50px;
}

.loader-circle svg {
	transform: rotate(-90deg); /* start from top */
	width: 50px;
	height: 50px;
}

.loader-circle circle {
	fill: none;
	stroke-width: 2.5;
}

.loader-circle circle.bg {
	stroke: #818479; /* background ring */
}

.loader-circle circle.progress {
	stroke: #fff; /* animated ring */
	stroke-dasharray: 126; /* 2πr */
	stroke-dashoffset: 126;
	transition: stroke-dashoffset linear;
}

/* Play/pause button centered inside the circle */
.loader-circle button.play-pause {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: none;
	border: none;
	cursor: pointer;
	font-size: 12px;
	color: #fff;
}


/* -------------------------------------------------------------------------- */
/* Manual navigation buttons (< and >) */
/* -------------------------------------------------------------------------- */

.manual-nav {
	display: flex; /* side-by-side */
	gap: 10px;
}

.manual-nav button {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: none;
	background: #cdcccb;
	color: #000;
	font-size: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
	transition: background 0.3s;
}

.manual-nav button:hover {
	background: #fff;
}


/* -------------------------------------------------------------------------- */
/* Mobile adjustments */
/* -------------------------------------------------------------------------- */

@media (max-width: 767px) {
	/* Move dots up slightly for mobile */
	.swiper-pagination {
		bottom: 33px !important;
	}

	/* Hide manual nav buttons on smaller screens */
	.manual-nav {
		display: none !important;
	}
}
