.planovo-button-style-enabled .elementor-button-text,
.elementor-button[data-planovo-button-style="true"] .elementor-button-text {
	display: inline-block;
	overflow: clip;
}

.planovo-button-style-enabled .elementor-button,
.elementor-button[data-planovo-button-style="true"] {
	--planovo-button-shadow-size: 6px;
	--planovo-button-shadow-color: color-mix(in srgb, var(--planovo-button-background-color, currentColor) 25%, transparent);
	transition: all 0.75s cubic-bezier(0.65, 0.05, 0, 1);
}

.planovo-button__letter {
	position: relative;
	display: inline-block;
	text-shadow: 0 1.25em currentColor;
	transition:
		transform 0.75s cubic-bezier(0.65, 0.05, 0, 1),
		text-shadow 0.75s cubic-bezier(0.65, 0.05, 0, 1);
	transition-delay: var(--planovo-button-letter-delay, 0s);
}

@media (hover: hover) and (pointer: fine) {

	.planovo-button-style-enabled .elementor-button:hover,
	.planovo-button-style-enabled .elementor-button:focus-visible,
	.elementor-button[data-planovo-button-style="true"]:hover,
	.elementor-button[data-planovo-button-style="true"]:focus-visible {
		box-shadow: 0 0 0 var(--planovo-button-shadow-size) var(--planovo-button-shadow-color);
	}

	.planovo-button-style-enabled .elementor-button:hover .planovo-button__letter,
	.planovo-button-style-enabled .elementor-button:focus-visible .planovo-button__letter,
	.elementor-button[data-planovo-button-style="true"]:hover .planovo-button__letter,
	.elementor-button[data-planovo-button-style="true"]:focus-visible .planovo-button__letter {
		transform: translateY(-1.25em);
	}
}

@media (prefers-reduced-motion: reduce) {
	.planovo-button__letter {
		text-shadow: none;
		transition: none;
	}
}