/* Published schedule: deliberate empty days, with one selected day on small screens. */
.week-range { color: var(--jg-steel); font-size: 14px; font-weight: 500; }
.week-empty { display: grid; justify-items: center; align-content: center; gap: 12px; min-height: 180px; padding: 20px 4px; text-align: center; }
.week-empty svg, .schedule-empty svg { width: 30px; height: 30px; fill: none; stroke: var(--jg-steel); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.week-empty p { margin: 0; color: var(--jg-steel); font-size: 14px; line-height: 1.5; max-width: 12ch; }
.week-empty a { font-size: 12px; min-height: 44px; display: inline-flex; align-items: center; }
.schedule-empty { display: grid; gap: 16px; justify-items: start; padding: 32px; }
.schedule-empty h3 { font-size: 26px; }
.schedule-empty p { color: var(--jg-steel); max-width: 44ch; margin: 0; }
.schedule-contact { display: flex; justify-content: space-between; align-items: center; gap: 30px; margin-top: 40px; padding: 32px; background: var(--jg-mint); border-radius: var(--jg-radius); }
.schedule-contact h2 { font-size: clamp(26px, 3vw, 36px); }
.schedule-contact p { margin: 14px 0 0; color: var(--jg-steel); }
@media (max-width: 1080px) { .schedule-contact { display: none; } }
@media (max-width: 640px) {
  .week-nav { flex-wrap: wrap; gap: 6px 16px; }
  .week-range { order: 3; width: 100%; }
  .schedule-content { margin-top: 28px; }
  .schedule-empty { padding: 28px 24px; }
}
