/* ==========================================================
   ΩΡΟΛΟΓΙΟ ΠΡΟΓΡΑΜΜΑ - ΓΕΛ ΣΟΥΔΑΣ
   Joomla 5 / Cassiopeia
   ========================================================== */

.school-schedule-page {
    width: 100%;
    margin: 1.25rem 0 2.5rem;
    color: #222;
}


/* ==========================================================
   ΕΙΣΑΓΩΓΗ / ΗΜΕΡΟΜΗΝΙΑ / DOWNLOAD
   ========================================================== */

.school-schedule-page .schedule-intro {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;

    margin-bottom: 1.5rem;
    padding: 1.1rem 1.25rem;

    background: #f7f9f5;
    border-left: 5px solid #57833d;
    border-radius: 4px;
}

.school-schedule-page .schedule-intro h2 {
    margin: 0 0 0.35rem;
    color: #333;
    font-size: 1.45rem;
}

.school-schedule-page .schedule-intro p {
    margin: 0;
}


/* ==========================================================
   ΚΟΥΜΠΙ ΛΗΨΗΣ
   ========================================================== */

.school-schedule-page .schedule-download {
    display: inline-block;
    flex-shrink: 0;

    padding: 0.7rem 1rem;

    background: #315f9c;
    color: #fff !important;

    text-decoration: none !important;
    font-weight: 600;

    border-radius: 4px;

    transition:
        background-color 0.15s ease,
        transform 0.15s ease;
}

.school-schedule-page .schedule-download:hover,
.school-schedule-page .schedule-download:focus {
    background: #244d82;
    color: #fff !important;
    text-decoration: none !important;
}


/* ==========================================================
   ΚΑΘΕ ΤΑΞΗ
   ========================================================== */

.school-schedule-page .schedule-section {
    margin: 0 0 2.5rem;
}

.school-schedule-page .schedule-section h3 {
    margin: 0 0 0.75rem;

    padding-bottom: 0.4rem;

    color: #57833d;
    font-size: 1.35rem;
    font-weight: 700;

    border-bottom: 2px solid #dce7d5;
}


/* ==========================================================
   RESPONSIVE CONTAINER
   ========================================================== */

.school-schedule-page .schedule-scroll {
    width: 100%;
    max-width: 100%;

    overflow-x: auto;
    overflow-y: hidden;

    border: 1px solid #d4d9de;
    border-radius: 5px;

    -webkit-overflow-scrolling: touch;
}


/* ==========================================================
   ΠΙΝΑΚΑΣ
   ========================================================== */

.school-schedule-page .school-schedule {
    /*
       Ο πίνακας καλύπτει τουλάχιστον όλο το διαθέσιμο πλάτος,
       αλλά μεγαλώνει όσο χρειάζεται ώστε να μη σπάνε τα ονόματα.
    */
    width: max-content;
    min-width: 100%;

    margin: 0;

    border: 0;
    border-collapse: separate;
    border-spacing: 0;

    table-layout: auto;

    background: #fff;

    font-size: 0.95rem;
    line-height: 1.35;
}


/* ==========================================================
   ΚΕΛΙΑ
   ========================================================== */

.school-schedule-page .school-schedule th,
.school-schedule-page .school-schedule td {
    padding: 0.7rem 0.85rem;

    border-right: 1px solid #d9dde1;
    border-bottom: 1px solid #d9dde1;

    text-align: left;
    vertical-align: middle;

    /*
       Δεν επιτρέπουμε σπάσιμο ονομάτων.
       Αν δεν χωράει ο πίνακας, εμφανίζεται horizontal scroll.
    */
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}


/* Τελευταία γραμμή */
.school-schedule-page .school-schedule tr:last-child th,
.school-schedule-page .school-schedule tr:last-child td {
    border-bottom: 0;
}


/* Τελευταία στήλη */
.school-schedule-page .school-schedule th:last-child,
.school-schedule-page .school-schedule td:last-child {
    border-right: 0;
}


/* ==========================================================
   ΕΠΙΚΕΦΑΛΙΔΕΣ ΤΜΗΜΑΤΩΝ
   ========================================================== */

.school-schedule-page .school-schedule thead th {
    background: #edf4e8;

    color: #4f7b37;
    font-weight: 700;
    text-align: center;

    border-bottom: 2px solid #cbd9c1;

    white-space: nowrap;
}


/* ==========================================================
   ΣΤΗΛΗ ΩΡΑΣ
   ========================================================== */

.school-schedule-page .school-schedule tbody th {
    min-width: 110px;

    background: #f1f5fa;

    color: #315f9c;
    font-weight: 700;

    white-space: nowrap;
}


/*
   Η στήλη "Ώρα" παραμένει σταθερή όταν
   γίνεται οριζόντια κύλιση.
*/

.school-schedule-page .school-schedule thead th:first-child,
.school-schedule-page .school-schedule tbody th {
    position: sticky;
    left: 0;
}

.school-schedule-page .school-schedule thead th:first-child {
    z-index: 3;

    min-width: 110px;

    background: #e8eef6;
    color: #315f9c;
}

.school-schedule-page .school-schedule tbody th {
    z-index: 2;
}


/* ==========================================================
   ΕΝΑΛΛΑΓΗ ΓΡΑΜΜΩΝ
   ========================================================== */

.school-schedule-page .school-schedule tbody tr:nth-child(even) td {
    background: #fafbfc;
}


/* ==========================================================
   ΚΕΝΕΣ ΩΡΕΣ
   ========================================================== */

.school-schedule-page .schedule-empty {
    min-width: 70px;

    color: #999;
    text-align: center !important;
}


/* ==========================================================
   ΚΑΤΕΥΘΥΝΣΗ
   ========================================================== */

.school-schedule-page .schedule-direction {
    color: #555;
    font-style: italic;
}


/* ==========================================================
   ACCESSIBILITY
   ========================================================== */

.school-schedule-page .visually-hidden {
    position: absolute !important;

    width: 1px !important;
    height: 1px !important;

    padding: 0 !important;
    margin: -1px !important;

    overflow: hidden !important;

    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;

    border: 0 !important;
}


/* ==========================================================
   ΜΗΝΥΜΑ ΓΙΑ ΚΙΝΗΤΑ
   ========================================================== */

.school-schedule-page .schedule-mobile-hint {
    display: none;
}


/* ==========================================================
   ΚΙΝΗΤΑ / TABLETS
   ========================================================== */

@media (max-width: 767px) {

    .school-schedule-page {
        margin-top: 1rem;
    }

    .school-schedule-page .schedule-intro {
        display: block;
        padding: 1rem;
    }

    .school-schedule-page .schedule-intro h2 {
        font-size: 1.25rem;
    }

    .school-schedule-page .schedule-download {
        display: block;

        width: 100%;
        box-sizing: border-box;

        margin-top: 1rem;

        text-align: center;
    }

    .school-schedule-page .schedule-mobile-hint {
        display: block;

        margin: 0 0 1.25rem;
        padding: 0.65rem 0.8rem;

        background: #f3f6fa;
        color: #4b5563;

        font-size: 0.9rem;

        border-radius: 4px;
    }

    .school-schedule-page .schedule-section {
        margin-bottom: 2rem;
    }

    .school-schedule-page .schedule-section h3 {
        font-size: 1.2rem;
    }

    .school-schedule-page .school-schedule {
        font-size: 0.88rem;
    }

    .school-schedule-page .school-schedule th,
    .school-schedule-page .school-schedule td {
        padding: 0.6rem 0.7rem;
    }

    .school-schedule-page .school-schedule tbody th,
    .school-schedule-page .school-schedule thead th:first-child {
        min-width: 95px;
    }
}