/* Modales ---------------- */
.modal {
    display: none;
    position: fixed;
    z-index: 999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.6);
    backdrop-filter: blur(3px);
}

.modal-contenido {
    background: var(--colorA);
    width: 90%;
    max-width: 800px;
    margin: 5% auto;
    padding: 30px;
    border-radius: 10px;
    position: relative;
    max-height: 80vh;
    overflow-y: auto;
    animation: aparecer 0.3s ease;
}

@keyframes aparecer {
    from { opacity: 0; transform: translateY(-20px); }
    to { opacity: 1; transform: translateY(0); }
}

.cerrar {
    position: absolute;
    right: 15px;
    top: 10px;
    font-size: 25px;
    cursor: pointer;
}

.modal-texto {
    margin-top: 15px;
    line-height: 1.6;
}

/* Para navEvento --------------------- */
#div_principal_evento{
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 95%;  
    max-width: 550px;                                          
}

#div_imagen_evento{
    display: flex;
    align-items: center;
    justify-content:start;
    width: 100%;
    overflow: hidden;    /* evita scroll si la imagen es más grande */      
    
    position: relative;
}

#div_calendario_evento{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-around;
    width: 100%;
    padding: 1rem;                                        
}

#div_detalle_calendario_evento {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

#div_detalle_datos_evento{
    width: 100%;
    margin-top: 15px;
    margin-left: 5px;
}

#div_masinfo_evento{
    width: 90%;                                   
}

.div_gest_reserva{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;   
}

.form_reserva{
    display: flex;
    flex-direction: row;
    justify-content: center; 
    width: 70%; 
}

.form_reserva button{
    font-size: 0.8rem;
    padding: 0.2rem 0.4rem;  
}

#div_ver_reservas{
    display: flex;
    justify-content: center;
}

/* Para navPrivada ------------------- */
.secciones_datos_usuario{
    display: flex;
    flex-direction: column;
    align-items: center;    
    max-width: 550px;     
}

#div_img_perfil{
    width: 25%;
    overflow: hidden;    /* evita scroll si la imagen es más grande */
}    

#img_perfil {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%; /* redondea la imagen */
    border: 2px solid var(--colorG);
}

/* Para navGestionUsuarios ------------- */
#div_tabla_usuarios{
    display: flex;
    justify-content: center;
    width: 100%;
    /* Para scroll */
    max-height: 300px;
    overflow-y: auto;
    overflow-x: hidden;
    padding-bottom: 1rem;
}

#tabla_usuarios{
    width: 100%;
}

/* Para navAgenda y navFuentes --------- */
.boton_gestion{
    background-color: var(--colorH);
    border-color: var(--colorH);
}

/* Para navGestionEntidad -------------- */
#img_entidad {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Para páginas de textos legales */
.navTextos{
    margin: 2%;
}
