.eav-visualizer {
	position: relative;
	width: 100%;
	height: 600px;
	min-height: 200px;
	overflow: hidden;
}

.eav-canvas {
	display: block;
	width: 100%;
	height: 100%;
	cursor: pointer;
}

.eav-controls {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	pointer-events: none;
}

.eav-play-button {
	padding: 10px 22px;
	border: 0;
	border-radius: 4px;
	background: #007dc1;
	color: #fff;
	font: 600 14px/1.2 Arial, sans-serif;
	cursor: pointer;
	pointer-events: auto;
	transition: filter 160ms ease, transform 160ms ease;
}

.eav-play-button:hover,
.eav-play-button:focus-visible {
	filter: brightness(1.1);
}

.eav-play-button:active {
	transform: translateY(1px);
}

.eav-play-button[hidden] {
	display: none;
}

.eav-status {
	margin: 10px 16px 0;
	color: #333;
	font: 14px/1.4 Arial, sans-serif;
	text-align: center;
	pointer-events: none;
}

a.elementor-icon .eav-soundwave--animated,
a.elementor-icon .eav-soundwave--default {
	display: block;
	width: 23px;
	height: 23px;
	overflow: visible;
}

.eav-soundwave__pulse,
.eav-soundwave__echo {
	transform-box: view-box;
	transform-origin: 50% 55%;
}

.eav-soundwave__pulse {
	animation: eav-soundwave-pulse 1.15s cubic-bezier(.45, 0, .55, 1) infinite;
}

.eav-soundwave__echo {
	animation: eav-soundwave-echo 1.15s cubic-bezier(.45, 0, .55, 1) infinite;
}

@keyframes eav-soundwave-pulse {
	0%, 100% { transform: scaleY(.72); }
	22% { transform: scaleY(1); }
	48% { transform: scaleY(.82); }
	72% { transform: scaleY(.94); }
}

@keyframes eav-soundwave-echo {
	0%, 100% { opacity: 0; transform: scale(1.88, 1.72); }
	25% { opacity: .28; }
	62% { opacity: 0.5; transform: scale(2); }
}

@media (prefers-reduced-motion: reduce) {
	.eav-soundwave__pulse,
	.eav-soundwave__echo {
		animation: none;
	}

	.eav-soundwave__echo {
		display: none;
	}
}
