.elementor-widget-ws-crystal-button .ws-crystal-button {
    display: block;
    width: fit-content;
    box-sizing: border-box;
    overflow: hidden;
    position: relative;
    place-items: center;
    transition: transform 0.1s;
}

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

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

.elementor-widget-ws-crystal-button .ws-crystal-button:is(:hover, :focus-visible) {
    --hover: 1;
}

.elementor-widget-ws-crystal-button .ws-crystal-button:before {
    content: "";
    position: absolute;
    inset: 0px;
    border: unset;
    background: conic-gradient(
        from calc(var(--rx, 0) * 180deg) at
            calc(var(--x, 0) * 100%) calc(var(--y, 0) * 100%),
        hsl(10 90% 70%),
        hsl(140 80% 70%),
        hsl(320 80% 70%),
        hsl(210 80% 70%),
        hsl(10 80% 70%)
    );
    filter: saturate(var(--filter));
    opacity: var(--hover, 0);
    transition: opacity 0.2s;
}

.elementor-widget-ws-crystal-button .ws-crystal-button .ws-crystal-button__backdrop {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: unset;
    display: block;
    grid-column: 1;
    grid-row: 1;
    -webkit-backdrop-filter: blur(var(--blur)) brightness(var(--brightness)) saturate(var(--saturate));
    backdrop-filter: blur(var(--blur)) brightness(var(--brightness)) saturate(var(--saturate));
}

.elementor-widget-ws-crystal-button .ws-crystal-button .ws-crystal-button__title {
    grid-row: 1;
    grid-column: 1;
    position: relative;
    z-index: 2;
    display: grid;
    align-items: center;
    gap: 0.5rem;
}