/*
 * Elementor a veces coloca el widget dentro de columnas flexibles con
 * ancho "automático" (fit-content). Como el carrusel usa posición
 * absoluta para las transiciones, no aporta ancho propio y el bloque
 * puede terminar midiendo 0px. Forzamos ancho completo para evitarlo.
 */
.elementor-widget-epa_ad_carousel,
.elementor-widget-epa_ad_carousel > .elementor-widget-container {
	width: 100% !important;
}

.epa-ad-carousel {
	position: relative;
	width: 100%;
	height: 250px;
	overflow: hidden;
	background: #eee;
}

.epa-ad-carousel__track {
	position: relative;
	width: 100%;
	height: 100%;
}

.epa-ad-carousel__slide {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	visibility: hidden;
	z-index: 1;
	transition: opacity 0.6s ease;
}

.epa-ad-carousel__slide.is-active {
	opacity: 1;
	visibility: visible;
	z-index: 2;
}

.epa-ad-carousel__slide img,
.epa-ad-carousel__link {
	display: block;
	width: 100%;
	height: 100%;
}

.epa-ad-carousel__slide img {
	object-fit: cover;
}

/* Efecto slide (deslizar) */
.epa-ad-carousel--slide .epa-ad-carousel__track {
	display: flex;
	height: 100%;
	transition: transform 0.6s ease;
}

.epa-ad-carousel--slide .epa-ad-carousel__slide {
	position: relative;
	flex: 0 0 100%;
	opacity: 1;
	visibility: visible;
	transition: none;
}

/* Flechas */
.epa-ad-carousel__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 5;
	background: rgba(0, 0, 0, 0.35);
	color: #fff;
	border: none;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	cursor: pointer;
	font-size: 14px;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s ease;
}

.epa-ad-carousel__arrow:hover {
	background: rgba(0, 0, 0, 0.6);
}

.epa-ad-carousel__arrow--prev {
	left: 10px;
}

.epa-ad-carousel__arrow--next {
	right: 10px;
}

/* Puntos */
.epa-ad-carousel__dots {
	position: absolute;
	bottom: 10px;
	left: 0;
	right: 0;
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.epa-ad-carousel__dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.5);
	border: none;
	padding: 0;
	cursor: pointer;
	transition: transform 0.2s ease, opacity 0.2s ease;
	opacity: 0.7;
}

.epa-ad-carousel__dot.is-active {
	opacity: 1;
	transform: scale(1.25);
}
