/* ============================================
   Schedule Page — schedule.php
   ============================================ */

.sched-wrap {
  max-width: 860px;
  margin: 0 auto;
  padding: 3.5rem 1.5rem 6rem;
}
.sched-hd { margin-bottom: 3rem; }
.sched-hd h1 {
  font-family: var(--font-serif);
  font-size: 2rem;
  color: var(--cream);
  letter-spacing: .04em;
  margin-bottom: .35rem;
}
.sched-hd p {
  font-size: .75rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--text-dim);
}

.sched-list { list-style: none; }
.sched-item {
  display: grid;
  grid-template-columns: 72px 1fr auto;
  gap: 0 2.5rem;
  padding: 1.6rem 0;
  border-bottom: 1px solid var(--border);
}
.sched-list .sched-item:first-child { border-top: 1px solid var(--border); }

.sched-date { text-align: center; line-height: 1; padding-top: .15rem; }
.sched-dow { display: block; font-size: .65rem; letter-spacing: .18em; text-transform: uppercase; color: var(--text-dim); margin-bottom: .35rem; }
.sched-day { display: block; font-family: var(--font-serif); font-size: 2.1rem; color: var(--gold); letter-spacing: -.01em; line-height: 1; }
.sched-mon { display: block; font-size: .65rem; letter-spacing: .14em; text-transform: uppercase; color: var(--text-dim); margin-top: .35rem; }

.sched-body { min-width: 0; }
.sched-title { font-size: .75rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--cream); margin-bottom: .45rem; line-height: 1.4; }
.sched-desc { font-size: .85rem; color: var(--text); line-height: 1.65; white-space: pre-line; }
.sched-loc { margin-top: .55rem; font-size: .75rem; color: var(--text-dim); letter-spacing: .04em; }
.sched-loc::before { content: '⌖ '; opacity: .5; }

.sched-time { text-align: right; white-space: nowrap; padding-top: .15rem; }
.sched-time-a { display: block; font-size: .85rem; color: var(--cream-dim); letter-spacing: .02em; }
.sched-time-b { display: block; font-size: .8rem; color: var(--text-dim); margin-top: .2rem; }

.sched-empty { padding: 4rem 0; color: var(--text-dim); text-align: center; font-size: .9rem; letter-spacing: .06em; }

.sched-cta {
  text-align: center;
  padding: 60px 20px;
  border-top: 1px solid var(--border);
}
.sched-cta-note {
  margin-top: 16px;
  font-size: 12px;
  color: var(--text-muted);
  letter-spacing: .08em;
}

@media (max-width: 580px) {
  .sched-item { grid-template-columns: 56px 1fr; }
  .sched-time { grid-column: 2; text-align: left; margin-top: .6rem; }
  .sched-time-a, .sched-time-b { display: inline; }
  .sched-time-b::before { content: ' – '; }
}
