/* Styles for Advanced Button 0528eb1a */

:root {
    --btn-shine-width: 40%;
    --btn-shine-blur: 5px;
    --btn-shine-speed: 2s;
    --btn-shine-delay: 0s;
    --btn-shine-loop: infinite;

    --btn-grow-scale: 1.05;
    --btn-grow-speed: 1.5s;
    --btn-grow-delay: 0s;
    --btn-grow-easing: ease-in-out;
    --btn-grow-loop: infinite;

    --btn-glow-color: rgba(102, 51, 153, 0.6);
    --btn-glow-blur: 20px;
    --btn-glow-spread: 5px;
    --btn-glow-multiplier: 1.8;
    --btn-glow-speed: 2s;
    --btn-glow-delay: 0s;
    --btn-glow-loop: infinite;
}

.btn-0528eb1a-wrapper {
    display: inline-block;
    max-width: 100%;
}

.elementor-align-left .btn-0528eb1a-wrapper { display: block; text-align: left; }
.elementor-align-center .btn-0528eb1a-wrapper { display: block; text-align: center; }
.elementor-align-right .btn-0528eb1a-wrapper { display: block; text-align: right; }
.elementor-align-justify .btn-0528eb1a-wrapper { display: block; }
.elementor-align-justify .btn-0528eb1a { display: flex; width: 100%; justify-content: center; }

.btn-0528eb1a {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    overflow: hidden;
    cursor: pointer;
    vertical-align: middle;
    box-sizing: border-box;
    transition-property: background, border-color, color, box-shadow, transform;
}

/* Icon Specific Selectors (As dictated by standard guidelines) */
.btn-0528eb1a-icon svg {
    display: inline-block;
    vertical-align: middle;
}

/* 1. Shine Animation Setup */
.btn-0528eb1a-shine {
    position: absolute;
    top: 0;
    left: -150%;
    width: var(--btn-shine-width);
    height: 100%;
    filter: blur(var(--btn-shine-blur));
    pointer-events: none;
    z-index: 1;
}

/* Continuous Always Shine */
.btn-0528eb1a.shine-always-0528eb1a .btn-0528eb1a-shine {
    animation: btn-shine-anim-0528eb1a var(--btn-shine-speed) var(--btn-shine-delay) var(--btn-shine-loop);
}

/* Hover Shine */
.btn-0528eb1a.shine-hover-0528eb1a:hover .btn-0528eb1a-shine {
    animation: btn-shine-anim-0528eb1a var(--btn-shine-speed) var(--btn-shine-delay) forwards;
}

@keyframes btn-shine-anim-0528eb1a {
    0% {
        left: -150%;
    }
    100% {
        left: 150%;
    }
}

/* 2. Auto Grow Animation */
.btn-0528eb1a.has-grow-0528eb1a {
    animation: btn-grow-anim-0528eb1a var(--btn-grow-speed) var(--btn-grow-easing) var(--btn-grow-delay) var(--btn-grow-loop);
}

@keyframes btn-grow-anim-0528eb1a {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(var(--btn-grow-scale));
    }
}

/* 3. Auto Shadow Glow Animation */
.btn-0528eb1a.has-glow-0528eb1a {
    animation: btn-glow-anim-0528eb1a var(--btn-glow-speed) ease-in-out var(--btn-glow-delay) var(--btn-glow-loop);
}

@keyframes btn-glow-anim-0528eb1a {
    0%, 100% {
        box-shadow: 0 0 var(--btn-glow-blur) var(--btn-glow-spread) var(--btn-glow-color);
    }
    50% {
        box-shadow: 0 0 calc(var(--btn-glow-blur) * var(--btn-glow-multiplier)) calc(var(--btn-glow-spread) * 1.5) var(--btn-glow-color);
    }
}
