:where(.wphae-hover) {
	--wphae-duration: 220ms;
	--wphae-easing: cubic-bezier(0.2, 0.75, 0.2, 1);
	--wphae-delay: 0ms;
	--wphae-origin: center center;
	--wphae-distance: 8px;
	--wphae-scale-up: 1.04;
	--wphae-scale-down: 0.97;
	--wphae-tilt-angle: 3deg;
	--wphae-skew-angle: 4deg;
	--wphae-shadow-y: 16px;
	--wphae-shadow-blur: 32px;
	--wphae-shadow-color: rgba(15, 23, 42, 0.18);
	--wphae-accent-color: #1d4ed8;
	--wphae-accent-background: rgba(29, 78, 216, 0.1);
	--wphae-translate-x: 0px;
	--wphae-translate-y: 0px;
	--wphae-scale: 1;
	--wphae-rotate: 0deg;
	--wphae-skew-x: 0deg;
	--wphae-skew-y: 0deg;
	--wphae-hover-opacity: 1;
	--wphae-brightness: 1;
	--wphae-saturate: 1;
	--wphae-shadow-hover: none;
	--wphae-outline-offset-hover: 0px;
	transition-property: transform, opacity, filter, box-shadow, color, background-color, border-color, outline-color, outline-offset;
	transition-duration: var(--wphae-duration);
	transition-timing-function: var(--wphae-easing);
	transition-delay: var(--wphae-delay);
	animation: none;
	transform-origin: var(--wphae-origin);
	outline: 1px solid transparent;
	outline-offset: 0;
}

@media (hover: hover) and (pointer: fine) {
	:where(.wphae-hover:is(:hover, :focus-visible)) {
		animation: none;
		transform: translate3d(var(--wphae-translate-x), var(--wphae-translate-y), 0) scale(var(--wphae-scale)) rotate(var(--wphae-rotate)) skew(var(--wphae-skew-x), var(--wphae-skew-y));
		opacity: var(--wphae-hover-opacity);
		filter: brightness(var(--wphae-brightness)) saturate(var(--wphae-saturate));
		box-shadow: var(--wphae-shadow-hover);
		outline-color: var(--wphae-outline-hover-color, transparent);
		outline-offset: var(--wphae-outline-offset-hover);
	}

	:where(.wphae-hover.wphae-color-text:is(:hover, :focus-visible)),
	:where(.wphae-hover.wphae-color-text-background:is(:hover, :focus-visible)),
	:where(.wphae-hover.wphae-color-full:is(:hover, :focus-visible)) {
		color: var(--wphae-text-hover-color, var(--wphae-accent-color));
	}

	:where(.wphae-hover.wphae-color-background:is(:hover, :focus-visible)),
	:where(.wphae-hover.wphae-color-text-background:is(:hover, :focus-visible)),
	:where(.wphae-hover.wphae-color-full:is(:hover, :focus-visible)) {
		background-color: var(--wphae-background-hover-color, var(--wphae-accent-background));
	}

	:where(.wphae-hover.wphae-color-border:is(:hover, :focus-visible)),
	:where(.wphae-hover.wphae-color-full:is(:hover, :focus-visible)) {
		border-color: var(--wphae-border-hover-color, currentColor);
	}
}

:where(.wphae-hover.wphae-motion-rise) {
	--wphae-translate-y: calc(var(--wphae-distance) * -1);
}

:where(.wphae-hover.wphae-motion-sink) {
	--wphae-translate-y: var(--wphae-distance);
}

:where(.wphae-hover.wphae-motion-left) {
	--wphae-translate-x: calc(var(--wphae-distance) * -1);
}

:where(.wphae-hover.wphae-motion-right) {
	--wphae-translate-x: var(--wphae-distance);
}

:where(.wphae-hover.wphae-motion-grow) {
	--wphae-scale: var(--wphae-scale-up);
}

:where(.wphae-hover.wphae-motion-shrink) {
	--wphae-scale: var(--wphae-scale-down);
}

:where(.wphae-hover.wphae-motion-tilt-left) {
	--wphae-rotate: calc(var(--wphae-tilt-angle) * -1);
}

:where(.wphae-hover.wphae-motion-tilt-right) {
	--wphae-rotate: var(--wphae-tilt-angle);
}

:where(.wphae-hover.wphae-motion-rotate) {
	--wphae-rotate: calc(var(--wphae-tilt-angle) * 1.75);
}

:where(.wphae-hover.wphae-motion-skew) {
	--wphae-skew-x: var(--wphae-skew-angle);
}

@media (hover: hover) and (pointer: fine) {
	:where(.wphae-hover.wphae-motion-flip-x:is(:hover, :focus-visible)) {
		transform: perspective(900px) rotateX(calc(var(--wphae-tilt-angle) * 3.5));
	}

	:where(.wphae-hover.wphae-motion-flip-y:is(:hover, :focus-visible)) {
		transform: perspective(900px) rotateY(calc(var(--wphae-tilt-angle) * 3.5));
	}

	:where(.wphae-hover.wphae-motion-bob:is(:hover, :focus-visible)) {
		animation: wphae-bob 850ms ease-in-out infinite alternate;
	}

	:where(.wphae-hover.wphae-motion-pulse:is(:hover, :focus-visible)) {
		animation: wphae-pulse 900ms ease-in-out infinite;
	}

	:where(.wphae-hover.wphae-motion-float:is(:hover, :focus-visible)) {
		animation: wphae-float 1400ms ease-in-out infinite;
	}

	:where(.wphae-hover.wphae-motion-sway:is(:hover, :focus-visible)) {
		animation: wphae-sway 1100ms ease-in-out infinite alternate;
	}
}

:where(.wphae-hover.wphae-surface-lift) {
	--wphae-shadow-hover: 0 var(--wphae-shadow-y) var(--wphae-shadow-blur) calc(var(--wphae-shadow-y) * -0.75) var(--wphae-shadow-color);
}

:where(.wphae-hover.wphae-surface-deepen-shadow) {
	--wphae-shadow-hover: 0 calc(var(--wphae-shadow-y) * 0.75) calc(var(--wphae-shadow-blur) * 0.7) calc(var(--wphae-shadow-y) * -0.55) var(--wphae-shadow-color);
	--wphae-hover-opacity: 0.99;
}

:where(.wphae-hover.wphae-surface-glow) {
	--wphae-shadow-hover: 0 0 0 1px var(--wphae-shadow-color), 0 0 calc(var(--wphae-shadow-blur) * 0.85) calc(var(--wphae-shadow-y) * -0.5) var(--wphae-shadow-color);
}

:where(.wphae-hover.wphae-surface-ring) {
	--wphae-outline-hover-color: var(--wphae-border-hover-color, currentColor);
	--wphae-outline-offset-hover: 3px;
}

:where(.wphae-hover.wphae-surface-inset) {
	--wphae-shadow-hover: inset 0 0 0 1px var(--wphae-border-hover-color, currentColor);
}

:where(.wphae-hover.wphae-surface-brighten) {
	--wphae-brightness: 1.06;
}

:where(.wphae-hover.wphae-surface-saturate) {
	--wphae-saturate: 1.18;
}

:where(.wphae-hidden-price-target) {
	transition-property: opacity, transform, visibility;
	transition-duration: var(--wphae-duration, 220ms);
	transition-timing-function: var(--wphae-easing, cubic-bezier(0.2, 0.75, 0.2, 1));
}

@media (hover: hover) and (pointer: fine) {
	:where(.wphae-hover.wphae-reveal-hidden-price) :where(.wphae-hidden-price-target) {
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transform: translate3d(0, calc(var(--wphae-distance) * 0.5), 0);
	}

	:where(.wphae-hover.wphae-reveal-hidden-price:is(:hover, :focus-visible, :focus-within)) :where(.wphae-hidden-price-target) {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translate3d(0, 0, 0);
	}
}

@keyframes wphae-bob {
	from {
		transform: translate3d(0, calc(var(--wphae-distance) * -0.5), 0);
	}

	to {
		transform: translate3d(0, calc(var(--wphae-distance) * -1), 0);
	}
}

@keyframes wphae-pulse {
	0%,
	100% {
		transform: scale(1);
	}

	50% {
		transform: scale(var(--wphae-scale-up));
	}
}

@keyframes wphae-float {
	0%,
	100% {
		transform: translate3d(0, calc(var(--wphae-distance) * -0.45), 0);
	}

	50% {
		transform: translate3d(0, calc(var(--wphae-distance) * -1), 0);
	}
}

@keyframes wphae-sway {
	from {
		transform: rotate(calc(var(--wphae-tilt-angle) * -1));
	}

	to {
		transform: rotate(var(--wphae-tilt-angle));
	}
}

@media (prefers-reduced-motion: reduce) {
	:where(.wphae-hover) {
		transition-duration: 1ms !important;
		transition-delay: 0ms !important;
		animation: none !important;
	}

	:where(.wphae-hover:is(:hover, :focus-visible)) {
		transform: none !important;
		filter: none !important;
	}
}
