.elementor-110 .elementor-element.elementor-element-1ed9570{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-110 .elementor-element.elementor-element-7f2972c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-110 .elementor-element.elementor-element-34b9caa{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-110 .elementor-element.elementor-element-fca854c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}/* Start custom CSS for html, class: .elementor-element-0104109 *//* CSS para Horarios EPSI - Colores Azulados Suaves - FUENTES AMPLIADAS */

.horarios-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

.horarios-header {
    text-align: center;
    margin-bottom: 40px;
    padding: 30px 20px;
    background: linear-gradient(135deg, #F0F8FF 0%, #E6F3FF 100%);
    border-radius: 15px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.horarios-header h1 {
    color: #2E5090;
    font-size: 3.5rem; /* Aumentado de 2.8rem */
    margin-bottom: 10px;
    font-weight: 300;
}

.horarios-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 30px;
    margin-bottom: 30px;
}

.horarios-card {
    background: white;
    border-radius: 15px;
    padding: 25px;
    box-shadow: 0 6px 20px rgba(0,0,0,0.08);
    border-left: 5px solid #5B9BD5;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    overflow: hidden;
}

.horarios-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.12);
}

.horarios-card-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
}

.horarios-imagen {
    width: 70px; /* Aumentado de 60px */
    height: 70px; /* Aumentado de 60px */
    border-radius: 12px;
    object-fit: cover;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    flex-shrink: 0;
}

.horarios-imagen-enlace {
    display: block;
    border-radius: 12px;
    transition: transform 0.2s ease;
}

.horarios-imagen-enlace:hover {
    transform: scale(1.05);
}

.horarios-imagen-clickeable {
    cursor: pointer;
    transition: all 0.3s ease;
}

.horarios-imagen-clickeable:hover {
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
    opacity: 0.9;
}

.horarios-titulo {
    color: #2E5090;
    font-size: 2rem; /* Aumentado de 1.6rem */
    font-weight: 600;
    margin: 0;
}

.horarios-contenido {
    color: #1B4F72;
    line-height: 1.6;
}

.horarios-item {
    background-color: #F0F8FF;
    padding: 18px; /* Aumentado de 15px */
    margin-bottom: 12px;
    border-radius: 8px;
    border-left: 3px solid #A8D0F0;
    transition: background-color 0.2s ease;
}

.horarios-item:hover {
    background-color: #E6F3FF;
}

.horarios-turno {
    font-weight: 600;
    color: #2E5090;
    font-size: 1.7rem; /* AUMENTADO de 1.4rem a 1.7rem para mayor visibilidad */
    margin-bottom: 5px;
}

.horarios-tiempo {
    color: #1B4F72;
    font-size: 1.3rem; /* Aumentado de 1.05rem */
}

.horarios-descripcion {
    color: #1B4F72;
    margin-bottom: 20px;
    font-size: 1.3rem; /* Aumentado de 1.05rem */
    line-height: 1.6;
}

.horarios-enlaces {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 20px;
}

.horarios-enlace {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, #5B9BD5 0%, #7FB3D3 100%);
    color: white !important;
    padding: 14px 20px; /* Aumentado de 10px 16px */
    text-decoration: none !important;
    border-radius: 8px;
    transition: all 0.3s ease;
    font-weight: 500;
    font-size: 1.5rem; /* AUMENTADO de 1.2rem a 1.5rem para mayor visibilidad */
}

.horarios-enlace:hover {
    background: linear-gradient(135deg, #7FB3D3 0%, #A8D0F0 100%);
    transform: translateY(-1px);
    text-decoration: none !important;
}

.horarios-laboratorio {
    border-left-color: #52C4B0;
}

.horarios-laboratorio-item {
    background-color: #F0FFFE;
    padding: 18px; /* Aumentado de 15px */
    margin-bottom: 15px;
    border-radius: 8px;
    border-left: 3px solid #52C4B0;
}

.horarios-profesor {
    font-weight: 600;
    color: #2C5282;
    font-size: 1.4rem; /* Aumentado de 1.1rem */
    margin-bottom: 8px;
}

.horarios-materia {
    font-weight: 600;
    color: #2E5090;
    font-size: 1.45rem; /* Aumentado de 1.15rem */
    margin-bottom: 10px;
}

.horarios-contacto {
    background: linear-gradient(135deg, #E8F8F5 0%, #D4F4EC 100%);
    padding: 18px; /* Aumentado de 15px */
    border-radius: 8px;
    margin-top: 15px;
    border: 1px solid #52C4B0;
}

.horarios-email {
    color: #2C5282;
    font-weight: 500;
    font-size: 1.3rem; /* Aumentado de 1.05rem */
}

.horarios-informatica {
    border-left-color: #4A90E2;
}

.horarios-turnos-generales {
    background: linear-gradient(135deg, #F0F8FF 0%, #E6F3FF 100%);
    padding: 22px; /* Aumentado de 20px */
    border-radius: 10px;
    margin-top: 20px;
    border: 2px solid #4A90E2;
}

.horarios-turnos-titulo {
    color: #2C5282;
    font-size: 1.5rem; /* Aumentado de 1.2rem */
    font-weight: 600;
    margin-bottom: 15px;
    text-align: center;
}

.horarios-nota {
    background: linear-gradient(135deg, #FFF8DC 0%, #F0E68C 100%);
    padding: 18px; /* Aumentado de 15px */
    border-radius: 8px;
    margin-bottom: 20px;
    border-left: 4px solid #D4AF37;
    font-style: italic;
    color: #B8860B;
    font-size: 1.2rem; /* Agregado tamaño de fuente */
}

/* Horarios Detallados */
.horarios-detallados {
    background: linear-gradient(135deg, #F0F8FF 0%, #E6F3FF 100%);
    padding: 22px; /* Aumentado de 20px */
    border-radius: 10px;
    margin-bottom: 25px;
    border: 2px solid #4A90E2;
}

.horarios-detallados-titulo {
    color: #2C5282;
    font-size: 1.5rem; /* Aumentado de 1.2rem */
    font-weight: 600;
    margin-bottom: 20px;
    text-align: center;
}

.horarios-semana {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 15px;
}

.horarios-dia {
    background: white;
    padding: 18px; /* Aumentado de 15px */
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    border-left: 3px solid #4A90E2;
}

.horarios-dia-titulo {
    color: #2C5282;
    font-weight: 600;
    font-size: 1.3rem; /* Aumentado de 1.05rem */
    margin-bottom: 12px;
    text-align: center;
    padding-bottom: 8px;
    border-bottom: 1px solid #E6F3FF;
}

.horarios-dia-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0; /* Aumentado de 8px */
    border-bottom: 1px solid #F8FBFC;
    gap: 10px;
}

.horarios-dia-item:last-child {
    border-bottom: none;
}

.horarios-hora {
    font-weight: 500;
    color: #2E5090;
    font-size: 1.4rem; /* AUMENTADO de 1.1rem a 1.4rem para mayor visibilidad */
    flex-shrink: 0;
}

.horarios-asistente {
    color: #1B4F72;
    font-size: 1.4rem; /* AUMENTADO de 1.1rem a 1.4rem para mayor visibilidad */
    text-align: right;
    font-style: italic;
    font-weight: 600; /* Añadido peso para mejor legibilidad */
}

/* Responsive Design */
@media (max-width: 768px) {
    .horarios-container {
        padding: 15px;
    }

    .horarios-header h1 {
        font-size: 2.8rem; /* Aumentado de 2.3rem */
    }

    .horarios-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .horarios-card {
        padding: 20px;
    }

    .horarios-titulo {
        font-size: 1.7rem; /* Aumentado de 1.4rem */
    }

    .horarios-imagen {
        width: 60px; /* Aumentado de 50px */
        height: 60px; /* Aumentado de 50px */
    }

    .horarios-turno {
        font-size: 1.5rem; /* AUMENTADO de 1.25rem a 1.5rem */
    }

    .horarios-tiempo {
        font-size: 1.15rem; /* Aumentado proporcionalmente */
    }

    .horarios-descripcion {
        font-size: 1.15rem; /* Aumentado proporcionalmente */
    }

    .horarios-enlace {
        font-size: 1.3rem; /* AUMENTADO de 1.1rem a 1.3rem para tablets */
        padding: 12px 18px;
    }

    .horarios-semana {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .horarios-detallados {
        padding: 18px; /* Aumentado de 15px */
    }

    .horarios-detallados-titulo {
        font-size: 1.35rem; /* Aumentado de 1.1rem */
    }

    .horarios-dia-titulo {
        font-size: 1.2rem; /* Aumentado proporcionalmente */
    }

    .horarios-hora {
        font-size: 1.25rem; /* AUMENTADO de 1rem a 1.25rem para tablets */
    }

    .horarios-asistente {
        font-size: 1.25rem; /* AUMENTADO de 1rem a 1.25rem para tablets */
        font-weight: 600;
    }
}

@media (max-width: 480px) {
    .horarios-container {
        padding: 10px;
    }

    .horarios-header {
        padding: 20px 15px;
    }

    .horarios-header h1 {
        font-size: 2.4rem; /* Aumentado de 1.9rem */
    }

    .horarios-card {
        padding: 15px;
    }

    .horarios-card-header {
        flex-direction: column;
        text-align: center;
        gap: 10px;
    }

    .horarios-titulo {
        font-size: 1.5rem; /* Aumentado de 1.3rem */
    }

    .horarios-turno {
        font-size: 1.4rem; /* AUMENTADO de 1.2rem a 1.4rem para móviles */
    }

    .horarios-tiempo {
        font-size: 1.1rem; /* Aumentado proporcionalmente */
    }

    .horarios-descripcion {
        font-size: 1.1rem; /* Aumentado proporcionalmente */
    }

    .horarios-enlaces {
        gap: 8px;
    }

    .horarios-enlace {
        padding: 14px 18px; /* Aumentado de 12px 16px */
        font-size: 1.25rem; /* AUMENTADO de 1.05rem a 1.25rem para móviles */
    }

    .horarios-dia {
        padding: 15px; /* Aumentado de 12px */
    }

    .horarios-dia-titulo {
        font-size: 1.15rem; /* Aumentado proporcionalmente */
    }

    .horarios-dia-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
        padding: 12px 0; /* Aumentado de 10px */
    }

    .horarios-asistente {
        text-align: left;
        font-weight: 600; /* Mantenido el peso */
        font-size: 1.15rem; /* AUMENTADO de 0.95rem a 1.15rem para móviles */
    }

    .horarios-hora {
        font-size: 1.2rem; /* AUMENTADO de 1.05rem a 1.2rem para móviles */
    }

    .horarios-profesor {
        font-size: 1.25rem; /* Aumentado proporcionalmente */
    }

    .horarios-materia {
        font-size: 1.3rem; /* Aumentado proporcionalmente */
    }

    .horarios-email {
        font-size: 1.15rem; /* Aumentado proporcionalmente */
    }

    .horarios-turnos-titulo {
        font-size: 1.3rem; /* Aumentado proporcionalmente */
    }

    .horarios-nota {
        font-size: 1.1rem; /* Aumentado proporcionalmente */
    }
}

@media (max-width: 360px) {
    .horarios-header h1 {
        font-size: 2.1rem; /* Aumentado de 1.7rem */
    }

    .horarios-card {
        padding: 12px;
    }

    .horarios-titulo {
        font-size: 1.4rem; /* Aumentado de 1.2rem */
    }

    .horarios-detallados {
        padding: 15px; /* Aumentado de 12px */
    }

    .horarios-dia {
        padding: 12px; /* Aumentado de 10px */
    }

    .horarios-dia-titulo {
        font-size: 1.1rem; /* Aumentado de 1rem */
    }

    .horarios-turno {
        font-size: 1.3rem; /* AUMENTADO de 1.15rem a 1.3rem para pantallas muy pequeñas */
    }

    .horarios-tiempo {
        font-size: 1.05rem; /* Aumentado proporcionalmente */
    }

    .horarios-descripcion {
        font-size: 1.05rem; /* Aumentado proporcionalmente */
    }

    .horarios-enlace {
        font-size: 1.2rem; /* AUMENTADO de 1rem a 1.2rem para pantallas muy pequeñas */
    }

    .horarios-hora {
        font-size: 1.15rem; /* AUMENTADO de 1rem a 1.15rem para pantallas muy pequeñas */
    }

    .horarios-asistente {
        font-size: 1.1rem; /* AUMENTADO de 0.9rem a 1.1rem para pantallas muy pequeñas */
        font-weight: 600;
    }
}/* End custom CSS */