﻿.wshast {
    font-size: 2em; 
    margin: 0.6em 0 0.1em;
    text-align: center;
}
.timetable {
    --ttblborder: #d8d8d8;
    --ttblheader: #e9e9e9;
    --ttbsection: #e9e9e9;
    --ttbhover: #f5f5f5;
    --ttbtext: #222;
    --ttbmuted: #666;

    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    color: var(--ttbtext);
}
.timetable__title {
    padding: 12px;
    margin-bottom: 1px;
    background: var(--ttblheader);
    text-align: center;
}
.timetable__title h1 {
    margin: 0;
    font-size: clamp(1.3rem, 3vw, 1.6rem);
}
.timetable__columns {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1px;
    background: var(--ttblborder);
}

.timetable__column {
    min-width: 0;
    padding: 9px 5px;
    background: #fff;
    text-align: center;
    font-size: .85rem;
    font-weight: 700;
    line-height: 1.2;
}
.timetable__column span {
    display: block;
    margin-top: 3px;
    color: var(--ttbmuted);
    font-size: .75rem;
    font-weight: 400;
}
.timetable__section {
    margin: 12px 0 5px;
    padding: 8px 10px;
    background: var(--ttbsection);
    border-radius: 5px;
    text-align: center;
    font-size: .9rem;
    font-weight: 700;
}
.timetable__departure {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1px;
    margin-bottom: 1px;
    background: var(--ttblborder);
}
.timetable__time {
    padding: 8px 4px;
    background: #fff;
    text-align: center;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
    transition: background .15s ease;
}
.timetable__departure:hover .timetable__time {
    background: var(--ttbhover);
}
@media (max-width: 600px) {
    .wshast {
        font-size: 1em;
    }
    .timetable {
        padding: 0 6px;
        box-sizing: border-box;
    }
    .timetable__columns,
    .timetable__departure {
        grid-template-columns:
            repeat(5, minmax(0, 1fr));
    }

    .timetable__column {
        padding: 7px 2px;
        font-size: .68rem;
        line-height: 1.15;
    }

    .timetable__column span {
        margin-top: 2px;
        font-size: .6rem;
    }

    .timetable__time {
        padding: 9px 1px;
        font-size: .85rem;
        white-space: nowrap;
    }

    .timetable__section {
        margin-top: 9px;
        padding: 7px 5px;
        font-size: .78rem;
    }
}
@media (max-width: 380px) {

    .timetable__column {
        font-size: .62rem;
    }

    .timetable__column span {
        font-size: .55rem;
    }

    .timetable__time {
        padding: 8px 0;
        font-size: .78rem;
    }
}
