.elementor-widget-ws-mask-button .ws-mask-button {
    --button-bg: var(--bg);
    --button-fg: var(--fg);
    color: var(--button-fg) !important;
    background: var(--button-bg);
    touch-action: none;
    position: relative;
    overflow: hidden;
    display: grid;
    width: fit-content;
}

.elementor-widget-ws-mask-button .ws-mask-button:not(:has(> a)),
.elementor-widget-ws-mask-button .ws-mask-button > a {
    cursor: pointer;
}

.elementor-widget-ws-mask-button .ws-mask-button .ws-mask-button__anchor {
    display: flex;
    width: fit-content;
    height: fit-content;
    color: currentColor !important;
    text-decoration: unset;
}

.elementor-widget-ws-mask-button .ws-mask-button .ws-mask-button__title {
    position: relative;
}

.elementor-widget-ws-mask-button .ws-mask-button .ws-mask-button__back {
    will-change: transform;
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
    border: unset;
}

.elementor-widget-ws-mask-button .ws-mask-button .ws-mask-button__back > span {
    left: calc(var(--x, 0) * 1px);
    top: calc(var(--y, 0) * 1px);
    display: inline-block;
    aspect-ratio: 1;
    transform: translate(-50%, -50%) scale(var(--active, 0));
    transition: transform;
    transition-duration: calc(var(--transition-duration) / 2);
    position: absolute;
    pointer-events: none;
    overflow: hidden;
}

.elementor-widget-ws-mask-button .ws-mask-button:is(:hover, :focus-visible) {
    --active: 1.5;
}

.elementor-widget-ws-mask-button .ws-mask-button:active {
    --active: 3;
}

.elementor-widget-ws-mask-button .ws-mask-button:active .ws-mask-button__back > span {
    transition: transform 0.15s;
}

@supports (transition-timing-function: linear(0, 1)) {
    .elementor-widget-ws-mask-button .ws-mask-button:is(:hover, :focus-visible) .ws-mask-button__back > span {
        transition-duration: var(--transition-duration);
        transition-timing-function: linear(
            0, 0.5007 7.21%, 0.7803 12.29%,
            0.8883 14.93%, 0.9724 17.63%,
            1.0343 20.44%, 1.0754 23.44%,
            1.0898 25.22%, 1.0984 27.11%,
            1.1014 29.15%, 1.0989 31.4%,
            1.0854 35.23%, 1.0196 48.86%,
            1.0043 54.06%, 0.9956 59.6%,
            0.9925 68.11%, 1
        );
    }
}