.overlay {
    position: fixed; /* Cubre toda la pantalla */
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.5); /* Fondo gris oscuro semi-transparente */
    z-index: 9998; /* Un nivel debajo del spinner */
    display: flex;
    justify-content: center; /* Centrar horizontalmente */
    align-items: center; /* Centrar verticalmente */
  }

.spinner {
    position: fixed; /* Posicionado relativo a la ventana */
    top: 40%; /* Centramos verticalmente */
    left: 50%; /* Centramos horizontalmente */
    transform: translate(-50%, -50%); /* Ajustamos para que el centro del spinner sea el punto de referencia */
    z-index: 9999; /* Aseguramos que esté por encima de todo */
    width: 80px;
    height: 80px;
    border: 5px solid #f3f3f3; /* Gris claro */
    border-top: 5px solid #3498db; /* Azul */
    border-radius: 50%;
    animation: spin 1s linear infinite;
  }

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}