/* 1. Estructura base del botón */
.magic-rainbow-button {
    position: relative;
    color: #FFFFFF!important;
    padding: 12px 20px;
    font-size: 14px;
    font-family: "Poppins", Sans-serif;
    font-weight: bold;
    display: inline-block;
    text-align: center;
    color: #fff;
    text-transform: uppercase;
    text-decoration: none;
    box-sizing: border-box;
    border: none;
    border-radius: 30px;
    z-index: 1;
    user-select: none;
    cursor: pointer;
    box-shadow: 0px 0px 10px 2px rgba(0, 0, 0, 0.5) !important;
    border-radius: 30px;;
}

.magic-rainbow-button:after {
    content: "";
    position: absolute;
    left: -5px;
    top: -5px;
    width: calc(100% + 10px);
    height: calc(100% + 10px);
    border: #fff solid 5px !important;
    border-radius: 30px;
    
}

/* 2. Degradado animado aplicado directamente (Sin :hover) */
.magic-rainbow-button {
    background: linear-gradient(90deg, #03a9f4, #f441a5, #ffeb3b, #03a9f4);
    background-size: 400%;
    /* Se ejecuta automáticamente en bucle infinito */
    animation: animate-magic 20s linear infinite;
}

/* 3. Animación de los Keyframes */
@keyframes animate-magic {
    0% {
        background-position: 0%;
    }
    100% {
        background-position: 400%;
    }
}

/* 4. Efecto de brillo difuminado (Glow) constante */
.magic-rainbow-button::before {
    content: "";
    position: absolute;
    top: -5px;
    right: -5px;
    bottom: -5px;
    left: -5px;
    z-index: -1;
    background: linear-gradient(90deg, #03a9f4, #f441a5, #ffeb3b, #03a9f4);
    background-size: 400%;
    border-radius: 40px;
    
    opacity: 1; 
    
    /* Animación continua también para el fondo difuminado de atrás */
    animation: animate-magic 20s linear infinite;
}