.btn-success-glow {
    position: relative;
    isolation: isolate;
    overflow: hidden;

    /* Espacio con el botón de la derecha */
    margin-right: 16px;

    padding: 5px 5px;
    border: 1px solid #198754;
    border-radius: 8px;

    color: #fff;
    font-weight: 600;
    letter-spacing: 0.2px;

    background: linear-gradient(
        180deg,
        #2caf70 0%,
        #198754 55%,
        #126c43 100%
    );

    box-shadow:
        0 5px 0 #0e5a37,
        0 9px 20px rgba(25, 135, 84, 0.35),
        inset 0 1px 0 rgba(255, 255, 255, 0.38);

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

/* Brillo animado */
.btn-success-glow::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: -55%;
    left: -85%;

    width: 42%;
    height: 210%;

    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.5),
        transparent
    );

    transform: rotate(25deg);
    animation: button-shine 2.4s ease-in-out infinite;
}

/* Movimiento constante del brillo */
@keyframes button-shine {
    0%,
    18% {
        left: -85%;
    }

    62%,
    100% {
        left: 145%;
    }
}

/* Efecto al presionar */
.btn-success-glow:active {
    transform: translateY(4px);

    box-shadow:
        0 1px 0 #0e5a37,
        0 4px 9px rgba(25, 135, 84, 0.3);
}

/* Accesibilidad: desactiva la animación si el usuario lo solicita */
@media (prefers-reduced-motion: reduce) {
    .btn-success-glow::before {
        animation: none;
    }
}