/* ============================================================
   SCHEDULE
   ============================================================ */
.schedule { background: var(--dark); padding: 100px 5%; }
.schedule-inner { max-width: 1200px; margin: 0 auto; }
.schedule-header {
  display: flex; justify-content: space-between; align-items: flex-end;
  margin-bottom: 48px; flex-wrap: wrap; gap: 20px;
}
.schedule-table { width: 100%; border-collapse: collapse; }
.schedule-table th {
  font-family: 'Barlow Condensed', sans-serif; font-size: 0.72rem; font-weight: 700;
  letter-spacing: 0.2em; text-transform: uppercase; color: var(--yellow);
  padding: 12px 20px; text-align: left;
  border-bottom: 1px solid rgba(245,200,0,0.2); background: var(--dark2);
}
.schedule-table td {
  padding: 16px 20px; font-size: 0.88rem;
  border-bottom: 1px solid rgba(255,255,255,0.04); color: #aaa; vertical-align: middle;
}
.schedule-table tr:hover td { background: rgba(245,200,0,0.03); color: var(--white); }
.schedule-class {
  font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 1rem;
  color: var(--white); letter-spacing: 0.04em;
}
.level-badge {
  display: inline-block; padding: 2px 10px; font-size: 0.65rem; font-weight: 700;
  letter-spacing: 0.15em; text-transform: uppercase; border-radius: 2px;
}
.level-all { background: rgba(245,200,0,0.15); color: var(--yellow); }
.level-beg { background: rgba(255,255,255,0.08); color: #aaa; }
.level-adv { background: rgba(255,80,80,0.15); color: #ff8080; }
.schedule-empty, .schedule-error { padding: 24px 20px; color: var(--grey); font-size: 0.9rem; }

/* ─── Responsive ─── */
@media (max-width: 760px) {
  .schedule { padding: 70px 5%; }
  /* Let the wide table scroll horizontally instead of breaking the layout */
  .schedule-table-wrap { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .schedule-table { min-width: 640px; }
  .schedule-table th, .schedule-table td { padding: 12px 14px; font-size: 0.82rem; }
  .schedule-header { margin-bottom: 28px; }
  .schedule-header .btn-primary { width: 100%; text-align: center; }
}
