/* vendinGO Animations for Elementor – frontend styles */

.vga-scroll-yes,
.vga-mouse-yes {
	transform-origin: var(--vga-origin-x, center) var(--vga-origin-y, center);
}

/* Elementor (3.31+) adds a CSS transition on "transform" – it would fight the JS animation.
   Keep the usual hover transitions for colors/borders/shadows only. */
.vga-scroll-yes.vga-ready,
.vga-mouse-yes.vga-ready,
.vga-scroll-yes.vga-ready > .elementor-widget-container,
.vga-mouse-yes.vga-ready > .elementor-widget-container,
.vga-piece {
	transition-property: background, border, border-radius, box-shadow, color !important;
	transition-duration: .3s !important;
}

/* Elementor entrance animations ("Motion Effects") must not keep their final keyframe on top of ours */
.vga-scroll-yes.animated,
.vga-mouse-yes.animated {
	animation-fill-mode: none;
}

.vga-animating {
	will-change: transform, opacity;
}

/* Sticky flow */
.vga-scroll-yes.vga-flow-sticky:not(.vga-scroll-off),
.e-con.vga-scroll-yes.vga-flow-sticky:not(.vga-scroll-off),
.elementor-element.vga-scroll-yes.vga-flow-sticky:not(.vga-scroll-off) {
	position: -webkit-sticky;
	position: sticky;
}

/* Text animation (words / chars) */
.vga-piece {
	display: inline-block;
	vertical-align: top;
	transform-origin: var(--vga-origin-x, center) var(--vga-origin-y, center);
}
.vga-word-wrap {
	display: inline-block;
	white-space: nowrap;
}
@media (min-width: 768px) {
	.vga-text-nowrap-yes .vga-text-split {
		white-space: nowrap;
	}
}

/* Mouse animation – 3D needs preserved depth inside the handler */
.vga-mouse-yes.vga-mouse-3d {
	backface-visibility: hidden;
}

/* Editor: keep animated elements reachable/visible */
.elementor-editor-active .vga-scroll-yes {
	overflow: visible;
}

/* Horizontal scroll flow · wrapper = element with the flow, track = its first child container */
.vga-flow-horizontal {
	overflow-x: clip;
}
.vga-flow-horizontal .e-child {
	--width: auto;
}
.vga-h-on > .vga-h-track {
	transition-property: background, border, border-radius, box-shadow !important;
	position: -webkit-sticky;
	position: sticky;
	flex-wrap: nowrap !important;
	width: max-content !important;
	max-width: none !important;
	will-change: transform;
}
.vga-h-on > .vga-h-track > * {
	flex-shrink: 0 !important;
}
.vga-h-handoff:not(.vga-h-pinned) > .vga-h-track {
	visibility: hidden;
}
.vga-h-clone {
	transition: none !important;
	flex: 0 0 auto !important;
	position: relative !important;
	top: auto !important;
	left: auto !important;
	transform: none !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}
/* Editor / animation disabled: show the track items wrapped so they stay editable */
.elementor-editor-active .vga-flow-horizontal > .e-con,
.vga-h-off > .e-con,
html.vga-timeout .vga-flow-horizontal:not(.vga-h-on) > .e-con {
	flex-wrap: wrap !important;
}

/* Sticky "full-bleed -> card": the corners are drawn by the clip-path and grow in while the
   element shrinks (no border-radius transition, it would lag behind the scroll). */
.vga-scroll-yes.vga-ready.vga-radius-morph {
	transition-property: background, border, box-shadow, color !important;
}
