/* schedule.css - específico para la vista horarios */
:root{
    --bg: #f5f7fb;
    --title-gradient: linear-gradient(90deg, #8b0000, #b22222); /* ajusta a tu marca */
    --card-bg: rgba(255,255,255,0.9);
    --card-border: rgba(0,0,0,0.06);
    --shadow: 0 10px 25px rgba(15,23,42,0.06);
    --hover-shadow: 0 18px 40px rgba(15,23,42,0.09);
    --muted: #475569;
}

.horarios { max-width:1200px; margin:2.25rem auto; padding:1rem; box-sizing:border-box; }

/* Título: centrado y con max-width para que NO ocupe toda la pantalla */
.horarios__title {
    max-width: 1000px;
    margin: 0 auto 1.6rem auto;
    padding: 1.1rem 1.6rem;
    text-align: center;
    font-size: 2.4rem;
    font-weight: 800;
    color: #fff;
    border-radius: 14px;
    background: var(--title-gradient);
    box-shadow: var(--shadow);
    letter-spacing: .6px;
}

/* Tabs */
.horarios__tabs { display:flex; gap:.6rem; justify-content:center; margin-bottom:1.2rem; flex-wrap:wrap; }
.horarios__tab {
    background: transparent;
    border: 1px solid rgba(0,0,0,0.06);
    padding: .5rem .9rem;
    border-radius: 12px;
    cursor:pointer;
    font-weight:700;
    color:var(--muted);
    transition: transform .15s ease, background .15s ease, color .15s ease, box-shadow .15s ease;
}
.horarios__tab[aria-selected="true"],
.horarios__tab.active {
    background: white;
    color:#111827;
    box-shadow: var(--shadow);
    transform: translateY(-3px);
}

/* Hide content helper */
.horarios__content.hidden { display:none; }

/* Grid of 5 day cards */
.cards-grid {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin: 30px 0;
}

/* Card modern glass look */
.day-card {
    flex: 1;
    min-width: 200px;
    max-width: 220px;
    background: linear-gradient(45deg, lightgrey, transparent);
    border-radius: 20px;
    padding: 15px;
    box-shadow: 0px 4px 12px rgba(0,0,0,0.4);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    text-align: left;
    height: 500px;
}

.day-card:hover { transform: translateY(-8px); box-shadow: var(--hover-shadow); }

.day-card__title {
    text-align: center;
    font-size: 1.3rem;
    color: #8b0000;
    margin-bottom: 10px;
}

.day-card hr {
    border: black;
    border-top: 2px solid grey;
    margin: 0 auto 15px;
    width: 80%;
}

.day-card__list {
    list-style: none;
    padding: 0;
    margin: 0;
    flex-grow: 1; /* mantiene altura uniforme */
}

.day-card__list li {
    font-size: 0.95rem;
    margin-bottom: 8px;
    line-height: 1.4;
}

.hora {
    font-weight: bold;
    margin-right: 5px;
}

/* small muting for "no classes" */
.day-card__list .muted { color: #9aa4b2; font-style:italic; }

/* Responsive tweaks */
@media (max-width: 980px){
    .horarios__title { font-size: 2rem; padding: 1rem 1.2rem; }
    .hora { min-width: 95px; display:block; margin-bottom:.18rem; }
}
@media (max-width:600px){
    .cards-grid { grid-template-columns: 1fr; }
    .horarios__tabs { gap:.4rem; }
    .horarios__tab { padding:.45rem .6rem; font-size:.95rem; }
}
