/* ============================================================
   SCHEDULE — page-level spacing only; tab/panel mechanics live in
   components/schedule-tabs.css
   ============================================================ */
/* Page title runs full width here instead of the component default's
   60ch/16ch caps (components/section.css). */
.schedule .section-head,
.schedule .section-head h1 { max-width: none; }

.schedule-pdf { margin-top: var(--space-lg); }
.schedule-pdf iframe {
  display: block;
  width: 100%;
  height: 80vh;
  min-height: 500px;
  border: 1px solid rgba(23,16,13,.2);
  background: var(--color-paper);
}
.schedule-pdf .schedule-note { margin-top: var(--space-sm); }

/* Below tablet width, no inline iframe viewer at all - see the comment in
   program.ejs. .schedule-pdf-mobile (styled as .pdf-fallback-card, see
   components/cards.css) is a clean "open the file" prompt instead. */
.schedule-pdf-mobile { display: none; margin-top: var(--space-lg); }
@media (max-width: 767px) {
  .schedule-pdf iframe,
  .schedule-pdf > .schedule-note { display: none; }
  .schedule-pdf-mobile { display: block; }
}

.schedule-image { margin-top: var(--space-lg); }
.schedule-image img {
  display: block;
  width: 100%;
  height: auto;
  background: var(--color-paper);
}

.schedule-legend {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm) var(--space-md);
  margin-top: var(--space-sm);
  font-family: var(--font-mono);
  font-size: .72rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--color-muted-on-ink);
}
