/* ===================================
	Particle Effect
====================================== */
.elementor-widget-ourdreams-particle-effect {
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
.elementor-widget-ourdreams-particle-effect .elementor-widget-container {
	height: 100%;
	width: 100%;
}
.visible-on-column-hover {
	opacity: 0;
	transition: opacity .3s;
}
.elementor-widget-ourdreams-particle-effect:hover > .elementor-widget-container .visible-on-column-hover {
	opacity: 1;
}

/* Performance optimizations */
.has-particle-effect {
	/* Defer paint until animation is initialized */
	will-change: auto;
	/* Use GPU acceleration for canvas rendering */
	transform: translateZ(0);
	-webkit-transform: translateZ(0);
}

.has-particle-effect.particles-initializing {
	opacity: 0;
	animation: fadeInParticles 0.2s ease-out forwards;
	animation-delay: 0s;
}

@keyframes fadeInParticles {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

/* Canvas should not block layout */
.particles-js-canvas-el {
	display: block;
	vertical-align: bottom;
	/* Ensure canvas renders efficiently */
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}
.lqd-particles-bg-wrap.lqd-overlay,
.ourdreams-particles-container,
.lqd-particles-bg-wrap.lqd-overlay .lqd-overlay,
.particles-as-bg.particles-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}
.lqd-particles-bg-wrap.lqd-overlay canvas {
	display: inline-block;
	vertical-align: baseline;
}
.ourdreams-particles-container {
	position: relative;
	width: 100%;
}