/**
 * AGDV Elementor Slider — Stili (da Horizontal Timeline Nested)
 */
.elementor-widget-agdv-elementor-slider { width: 100%; }

.agdv-timeline { width: 100%; position: relative; z-index: 5; }

/* === Track wrapper: overlay sui pannelli === */
.agdv-track-wrapper {
	position: absolute;
	top: 0; left: 0; right: 0; bottom: 0;
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: space-between;
	pointer-events: none;
	width: 100%;
}

.agdv-nav-wrap {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	pointer-events: auto;
	padding: 0 10px;
}

.agdv-nav-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	background: rgba(255,255,255,0.85);
	border: 1px solid #333;
	border-radius: 50%;
	cursor: pointer;
	color: #333;
	font-size: 16px;
	line-height: 1;
	padding: 0;
	transition: color 0.2s, background 0.2s, border-color 0.2s;
	outline: none;
}
.agdv-nav-btn:hover,
.agdv-nav-btn:focus-visible { background: #fff; color: #e05270; border-color: #e05270; }
.agdv-nav-btn:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.agdv-nav-btn svg { width: 1em; height: 1em; }

/* Track nascosta (contiene trigger per NestedTabs/JS) */
.agdv-track { display: none !important; }

/* Dots */
.agdv-dots {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	margin-top: -20px;
}
.agdv-dot {
	width: 12px; height: 12px;
	border-radius: 50%;
	background: rgba(0,0,0,0.3);
	border: none; cursor: pointer; padding: 0;
	transition: background 0.25s, width 0.25s;
	outline: none;
}
.agdv-dot:hover { opacity: 0.8; }
.agdv-dot:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.agdv-dot.agdv-dot--active { background: #e05270; width: 18px; border-radius: 6px; }

/* Pannelli base */
.agdv-panels { width: 100%; overflow: hidden; }
.agdv-panels > .e-con { display: none; width: 100%; box-sizing: border-box; }
.agdv-panels > .e-con.agdv-is-open { display: flex; }

/* Editor: solo pannello attivo visibile */
.elementor-editor-active .agdv-panels > .e-con {
	display: none !important; position: static !important;
	opacity: 1 !important; visibility: visible !important;
	transform: none !important; pointer-events: auto !important;
}
.elementor-editor-active .agdv-panels > .e-con.agdv-is-open { display: flex !important; }

/* Editor: track visibile per edit nested */
.elementor-editor-active .agdv-track-wrapper {
	position: relative !important;
	margin-bottom: 10px;
}
.elementor-editor-active .agdv-track {
	display: flex !important;
	overflow-x: auto;
	gap: 4px;
	padding-bottom: 6px;
}

/* ===== EFFETTO FADE ===== */
.agdv-timeline[data-transition="fade"] .agdv-panels > .e-con {
	display: flex !important;
	position: absolute !important;
	top: 0; left: 0; width: 100%;
	opacity: 0; visibility: hidden; pointer-events: none;
	transition: opacity var(--agdv-fade-dur, 0.4s) ease, visibility 0s linear var(--agdv-fade-dur, 0.4s);
}
.agdv-timeline[data-transition="fade"] .agdv-panels > .e-con.agdv-is-open {
	position: relative !important;
	opacity: 1; visibility: visible; pointer-events: auto;
	transition: opacity var(--agdv-fade-dur, 0.4s) ease, visibility 0s linear 0s;
}

/* ===== EFFETTO SLIDE (direzionale: next→destra, prev→sinistra) ===== */
.agdv-timeline[data-transition="slide"] .agdv-panels > .e-con {
	display: flex !important;
	position: absolute !important;
	top: 0; left: 0; width: 100%;
	opacity: 0; visibility: hidden; pointer-events: none;
	transform: translateX(100%);   /* default: fermo a destra (pronto per entrare da next) */
	transition: transform var(--agdv-fade-dur, 0.4s) ease, opacity var(--agdv-fade-dur, 0.4s) ease, visibility 0s linear var(--agdv-fade-dur, 0.4s);
}

/* Pannello attivo: sempre centrato */
.agdv-timeline[data-transition="slide"] .agdv-panels > .e-con.agdv-is-open {
	position: relative !important;
	opacity: 1; visibility: visible; pointer-events: auto;
	transform: translateX(0);
	transition: transform var(--agdv-fade-dur, 0.4s) ease, opacity var(--agdv-fade-dur, 0.4s) ease, visibility 0s linear 0s;
}

/* Pannello che sta uscendo (next): scivola fuori a sinistra */
.agdv-timeline[data-slide-dir="next"] .agdv-panels > .e-con.agdv-slide-out {
	transform: translateX(-100%) !important;
}
/* Pannello che sta uscendo (prev): scivola fuori a destra */
.agdv-timeline[data-slide-dir="prev"] .agdv-panels > .e-con.agdv-slide-out {
	transform: translateX(100%) !important;
}

/* Pannelli chiusi in attesa: posizionati fuori schermo in base alla direzione */
.agdv-timeline[data-slide-dir="prev"] .agdv-panels > .e-con:not(.agdv-is-open):not(.agdv-slide-out) {
	transform: translateX(-100%);   /* prev: entrano da sinistra */
}

/* Editor: annulla transizioni e slide-out */
.elementor-editor-active .agdv-timeline[data-transition="fade"] .agdv-panels > .e-con,
.elementor-editor-active .agdv-timeline[data-transition="slide"] .agdv-panels > .e-con {
	display: none !important; position: static !important;
	opacity: 1 !important; visibility: visible !important;
	transform: none !important; pointer-events: auto !important;
}
.elementor-editor-active .agdv-timeline[data-transition="fade"] .agdv-panels > .e-con.agdv-is-open,
.elementor-editor-active .agdv-timeline[data-transition="slide"] .agdv-panels > .e-con.agdv-is-open {
	display: flex !important; position: static !important;
}
.elementor-editor-active .agdv-panels > .e-con.agdv-slide-out {
	transform: none !important;
}

/* Nessuno */
.agdv-timeline[data-transition="none"] .agdv-panels > .e-con { display: none !important; }
.agdv-timeline[data-transition="none"] .agdv-panels > .e-con.agdv-is-open { display: flex !important; }

/* Mobile */
@media (max-width: 767px) {
	.agdv-nav-btn { width: 32px; height: 32px; font-size: 14px; }
	.agdv-nav-wrap { padding: 0 4px; }
	.agdv-dot { width: 10px; height: 10px; }
	.agdv-dot.agdv-dot--active { width: 14px; }
}
