/* =========================================
   ESTILOS PREMIUM FULLCALENDAR Y MODAL
   ========================================= */

/* 1. Contenedor y tipografía base */
.fc {
    font-family: 'Manrope', sans-serif;
    color: black;
}

/* 2. Cabecera (Botones de Hoy, Semana, etc.) */
.fc .fc-toolbar-title {
    font-size: 1.25em !important;
    font-weight: 700;
    color: #004b87; /* Azul corporativo oscuro */
}
.fc .fc-button-primary {
    background-color: #ffffff !important;
    color: #004b87 !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    text-transform: capitalize !important;
    padding: 8px 16px !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
    transition: all 0.2s ease;
}
.fc .fc-button-primary:hover {
    background-color: #f0f4f8 !important;
    border-color: #004b87 !important;
}
.fc .fc-button-primary:not(:disabled).fc-button-active {
    background-color: #004b87 !important;
    color: white !important;
    border-color: #004b87 !important;
}

/* 3. Cuadrícula más suave y limpia */
.fc-theme-standard td, .fc-theme-standard th {
    border-color: #f0f0f0 !important;
}
.fc-col-header-cell {
    padding: 12px 0 !important;
    background-color: #fafbfc;
}
.fc-timegrid-slot-label-cushion {
    color: #888 !important;
    font-size: 0.85em;
    font-weight: 500;
}

/* 4. Línea de hora actual */
.fc-timegrid-now-indicator-line {
    border-color: #e63946 !important; /* Rojo elegante */
    border-width: 2px !important;
}
.fc-timegrid-now-indicator-arrow {
    border-color: #e63946 !important;
}

/* 5. Diseño de los Eventos (Premium) */
.fc-event {
    color: #004b87 !important; /* Texto azul corporativo */
    border: none !important;
    border-left: 4px solid #004b87 !important; /* Acento izquierdo */
    border-radius: 6px !important;
    padding: 4px 6px !important;
    font-size: 0.85em !important;
    font-weight: 600 !important;
    box-shadow: 0 2px 6px rgba(0, 75, 135, 0.1);
    cursor: pointer; /* Cambia el ratón a manita */
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.fc-event:hover {
    background-color: #BBDEFB !important;
    transform: translateY(-2px); /* Efecto levitación al pasar el ratón */
    box-shadow: 0 4px 10px rgba(0, 75, 135, 0.15);
}

/* =========================================
   ESTILOS DE LA VENTANA FLOTANTE (MODAL)
   ========================================= */
.modal-oculto {
    display: none; /* Oculto por defecto */
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.4); /* Fondo oscuro semitransparente */
    backdrop-filter: blur(4px); /* Efecto cristal moderno */
    z-index: 9999;
    align-items: center;
    justify-content: center;
}
.modal-oculto.activo {
    display: flex; /* Se muestra al darle la clase activo */
    animation: aparecerModal 0.3s ease;
}
.modal-contenido {
    background: white;
    width: 90%;
    max-width: 450px;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
    overflow: hidden;
}
.modal-cabecera {
    background-color: #004b87;
    color: white;
    padding: 15px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.modal-cabecera h4 {
    margin: 0;
    font-size: 1.1em;
}
.btn-cerrar-modal {
    background: none;
    border: none;
    color: white;
    font-size: 1.5em;
    cursor: pointer;
    transition: opacity 0.2s;
}
.btn-cerrar-modal:hover {
    opacity: 0.7;
}
.modal-cuerpo {
    padding: 20px;
}
.modal-dato {
    font-size: 1em;
    color: #444;
    margin: 10px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}
.modal-dato span {
    font-weight: 600;
}
@keyframes aparecerModal {
    from { opacity: 0; transform: scale(0.95); }
    to { opacity: 1; transform: scale(1); }
}