/* Class programmes («Πρόγραμμα») — the plain base every pack builds on (templates/public/_shared/
   timetable.html). Desktop: a table with the weekdays as columns. Phone: one list per day.
   Print: the table, in black on white, one programme per page. */
.tt{padding-top:clamp(28px,6vw,56px);padding-bottom:clamp(40px,8vw,80px)}
.tt__head{margin:0 0 26px;max-width:760px}
.tt__title{margin:0 0 8px;font-family:var(--font-head);font-size:clamp(1.7rem,5.5vw,2.4rem);line-height:1.15}
.tt__lead{margin:0;line-height:1.6;opacity:.85}
.tt-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0}
.tt-tabs__tab{display:inline-flex;align-items:center;min-height:40px;padding:8px 16px;border-radius:999px;
  border:1px solid rgba(0,0,0,.18);text-decoration:none;font-weight:600;font-size:.95rem;color:inherit}
.tt-tabs__tab:hover,.tt-tabs__tab:focus-visible{border-color:var(--brand);color:var(--brand-ink)}

.tt-block{margin:0 0 40px;scroll-margin-top:90px}
.tt-block__title{margin:0 0 14px;font-family:var(--font-head);font-size:1.35rem}

.tt-table-wrap{overflow-x:auto;border:1px solid rgba(0,0,0,.12);border-radius:12px}
.tt-table{width:100%;border-collapse:collapse;table-layout:fixed;min-width:640px}
.tt-table th{padding:12px 10px;text-align:left;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;
  background:rgba(0,0,0,.035);border-bottom:1px solid rgba(0,0,0,.12)}
.tt-table td{padding:8px;vertical-align:top;border-top:1px solid rgba(0,0,0,.07)}
.tt-table th+th,.tt-table td+td{border-left:1px solid rgba(0,0,0,.07)}
.tt-lesson{display:block;padding:8px 10px;border-radius:8px;background:rgba(var(--brand-rgb),.07);
  border-left:3px solid var(--brand);line-height:1.35}
.tt-lesson__time{display:block;font-weight:700;font-size:.85rem;font-variant-numeric:tabular-nums}
.tt-lesson__subject{display:block;font-weight:600;margin:2px 0 0}
.tt-lesson__meta{display:block;font-size:.8rem;opacity:.75;margin-top:2px}

.tt-days{display:none}
.tt-day{margin:0 0 14px}
.tt-day__name{margin:0 0 8px;font-size:1rem;font-family:var(--font-head)}
.tt-day__list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.tt-note{display:flex;flex-wrap:wrap;gap:10px 22px;margin:8px 0 0;font-weight:600}

@media (max-width:760px){
  .tt-table-wrap{display:none}
  .tt-days{display:block}
}
@media print{
  .site-header,.site-footer,.mobile-bar,.topbar,.tt-tabs,.tt-note,.consent{display:none!important}
  .tt-table-wrap{display:block!important;border:0;overflow:visible}
  .tt-days{display:none!important}
  .tt-table{min-width:0;font-size:10pt}
  .tt-lesson{background:none;border-left:2px solid #000;color:#000}
  .tt-block{break-after:page}
  .tt-block:last-of-type{break-after:auto}
}
