/* Compact mobile navigation and readable schedule cards. */
@media (max-width:600px) {
  .header .nav {
    display:grid;
    grid-template-columns:minmax(92px,1fr) auto 34px;
    align-items:center;
    column-gap:6px;
    row-gap:0;
    min-height:68px;
  }
  .header .brand { grid-column:1;grid-row:1;min-width:0;margin-right:0; }
  .header .brand img { width:clamp(105px,32vw,145px);max-width:100%;height:auto; }
  .header .tools { grid-column:2;grid-row:1;gap:4px;margin-left:0; }
  .header .portal { min-width:28px;min-height:38px;justify-content:center; }
  .header .portal svg { width:17px;height:17px; }
  .header .language-switch { padding-left:6px;gap:3px;font-size:10px; }
  .header .language-switch a { display:inline-flex;align-items:center;min-height:38px; }
  .header .menu-toggle { grid-column:3;grid-row:1;width:34px;min-height:38px;padding:7px; }
  .header .menu-toggle svg { width:18px;height:18px; }
  .header .links { grid-column:1/-1;grid-row:2;width:100%;padding-top:0; }
  .header .links.is-open { display:flex; }
  .header .links a { min-height:42px;display:flex;align-items:center;padding:9px 0; }
  .schedule-table-wrap { overflow:visible;border:0;border-radius:0; }
  .schedule-table { display:block;min-width:0;width:100%;font-size:12px; }
  .schedule-table caption { display:block;padding:12px 14px;margin-bottom:10px;border-radius:7px;font-size:11px; }
  .schedule-table thead { position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap; }
  .schedule-table tbody { display:grid;gap:10px; }
  .schedule-table tbody tr,
  .schedule-table tbody tr+tr { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff; }
  .schedule-table tbody th { display:block;grid-column:1/-1;width:auto;padding:11px 13px;background:var(--cream);font-size:13px; }
  .schedule-table tbody th small { display:inline;margin:0 0 0 8px;font-size:10px; }
  .schedule-table tbody td { display:block;min-width:0;padding:11px 13px; }
  .schedule-table tbody td+td { border-left:1px solid var(--line); }
  .schedule-table tbody td::before { content:attr(data-label);display:block;margin-bottom:5px;color:var(--muted);font-size:10px;font-weight:500; }
  .schedule-table tbody td[data-local] { background:#edf4f5; }
  .schedule-table strong { font-size:12px;white-space:normal;overflow-wrap:anywhere;line-height:1.5; }
  .schedule-table small { font-size:10px;line-height:1.6; }
}
@media (max-width:340px) {
  .header .nav { column-gap:4px;grid-template-columns:minmax(84px,1fr) auto 32px; }
  .header .brand img { width:102px; }
  .header .language-switch { font-size:9px;padding-left:4px;gap:2px; }
  .header .portal { min-width:24px; }
  .header .menu-toggle { width:32px; }
}