.has-aurora-effect-10871 {
    --aurora-entrance-10871: 0.9s;
    --aurora-exit-10871: 0.6s;
}

/* Ensure the button has position relative and hidden overflow */
.has-aurora-effect-10871 .elementor-button {
    position: relative !important;
    overflow: hidden !important;
    z-index: 1;
}

/* Base style for the aurora fill element */
.has-aurora-effect-10871 .aderk-fill-10871 {
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: linear-gradient(135deg, #3A5AFF 0%, #5674FF 50%, #3A5AFF 100%);
    background-size: 200% 200%;
    /* Exit transition */
    transition-property: width, height, border-radius;
    transition-duration: var(--aurora-exit-10871);
    transition-timing-function: cubic-bezier(0.25, 1, 0.5, 1);
    transform: translate(-50%, -50%);
    z-index: -1;
    pointer-events: none;
}

/* Hover state expansion */
.has-aurora-effect-10871 .elementor-button:hover .aderk-fill-10871 {
    width: 1500px;
    height: 1500px;
    border-radius: 0;
    /* Entrance transition */
    transition-property: width, height, border-radius;
    transition-duration: var(--aurora-entrance-10871);
    transition-timing-function: cubic-bezier(0.25, 1, 0.5, 1);
    animation: auroraAderk10871 4s ease infinite;
}

@keyframes auroraAderk10871 {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* Ensure button content stays above the fill */
.has-aurora-effect-10871 .elementor-button-content-wrapper {
    position: relative;
    z-index: 2;
}

/* Hide native hover background to let fill show */
.has-aurora-effect-10871 .elementor-button:hover {
    background-color: transparent !important;
}