﻿/* SPINNER Overlay */
#spinnerOverlay {
    display: none; /* ⛔️ solo visible cuando se activa por JS */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5); /* Oscurece fondo */
    z-index: 9999;
    justify-content: center;
    align-items: center;
}

    /* Cuando esté visible, aplicamos display: flex */
    #spinnerOverlay.active {
        display: flex;
    }

/* Caja blanca con sombra */
.spinner-box {
    background: white;
    padding: 30px 40px;
    border-radius: 8px;
    box-shadow: 0 0 15px rgba(0,0,0,0.3);
    text-align: center;
}

/* Loader de 3 puntos */
.dot-loader {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-bottom: 15px;
}

    .dot-loader span {
        width: 12px;
        height: 12px;
        background-color: #3498db;
        border-radius: 50%;
        animation: bounce 0.6s infinite alternate;
    }

        .dot-loader span:nth-child(2) {
            animation-delay: 0.2s;
        }

        .dot-loader span:nth-child(3) {
            animation-delay: 0.4s;
        }

@keyframes bounce {
    to {
        transform: translateY(-10px);
        opacity: 0.5;
    }
}
