/* ============================================================
   CD Carousel — styles
   Une seule slide active rendue dans le flux ; les inactives sont
   superposées, transparentes et NON cliquables (pointer-events:none).
   Personne ne réécrit ça derrière nous → clics toujours bons.
   ============================================================ */

.elementor-widget-cd-carousel .cd-carousel {
	position: relative;
}

.cd-carousel__viewport {
	position: relative;
	overflow: hidden;
}

.cd-carousel__slides {
	position: relative;
}

/* ----- Slides empilées (le conteneur enfant = une slide) ----- */
.cd-carousel__slides > * {
	position: absolute;
	inset: 0;
	width: 100%;
	opacity: 0;
	pointer-events: none;
	transition:
		opacity   var(--cd-transition-speed, 800ms) ease,
		transform var(--cd-transition-speed, 800ms) ease,
		filter    var(--cd-transition-speed, 800ms) ease;
}

/* ----- Slide active : dans le flux (donne la hauteur), visible, cliquable ----- */
.cd-carousel__slides > *.is-active {
	position: relative;
	opacity: 1;
	pointer-events: auto;
	transform: none !important;
	filter: none !important;
	z-index: 2;
}

/* ----- État de repos par mode (slide non active) ----- */
.cd-transition-zoom     .cd-carousel__slides > * { transform: scale(1.08); }
.cd-transition-coulisse .cd-carousel__slides > * { transform: translateX(60px); }
.cd-transition-vertical .cd-carousel__slides > * { transform: translateY(60px); }
.cd-transition-flou     .cd-carousel__slides > * { filter: blur(12px); }
/* le mode Fondu n'anime que l'opacité (rien à ajouter) */

/* ----- Flèches ----- */
.cd-carousel__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 5;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	min-width: 44px;
	min-height: 44px;
	padding: 0;
	border: none;
	border-radius: 50%;
	color: #fff;
	background: rgba(0, 0, 0, 0.35);
	cursor: pointer;
	transition: background-color 0.2s ease, opacity 0.2s ease;
}
.cd-carousel__arrow:hover { background: rgba(0, 0, 0, 0.6); }
.cd-carousel__arrow--prev { left: 16px; }
.cd-carousel__arrow--next { right: 16px; }

/* ----- Points (barre de navigation) ----- */
.cd-carousel__nav {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 16px;
	z-index: 5;
	display: flex;
	gap: 8px;
	justify-content: center;
}
.cd-carousel__dot {
	width: 10px;
	height: 10px;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.5);
	cursor: pointer;
	transition: background-color 0.2s ease, transform 0.2s ease;
}
.cd-carousel__dot.is-active {
	background: #fff;
	transform: scale(1.2);
}

/* ----- Mobile ----- */
@media (max-width: 767px) {
	.cd-carousel__arrow { width: 38px; height: 38px; min-width: 38px; min-height: 38px; }
	.cd-carousel__arrow--prev { left: 8px; }
	.cd-carousel__arrow--next { right: 8px; }
}

/* ============================================================
   ÉDITEUR Elementor : on dé-empile pour pouvoir éditer chaque
   slide normalement (sinon les slides cachées sont inéditables).
   Le comportement carrousel ne s'applique qu'au rendu front.
   ============================================================ */
body.elementor-editor-active .cd-carousel__slides > * {
	position: relative !important;
	inset: auto !important;
	opacity: 1 !important;
	pointer-events: auto !important;
	transform: none !important;
	filter: none !important;
	margin-bottom: 12px;
	outline: 1px dashed rgba(0, 0, 0, 0.15);
}

/* En édition, la barre de points reste dans le flux (poignées de slides). */
body.elementor-editor-active .cd-carousel__nav {
	position: static;
	margin-bottom: 12px;
}
