/* ---------- Schedule page ---------- */
.sched-intro { padding-bottom: 3.5rem; }
.sched-intro h1 { color: var(--ivory); margin-bottom: 0.8rem; }
.sched-lede { max-width: 56ch; font-size: 1.05rem; }
.sched-es { font-family: var(--serif); font-style: italic; font-size: 1.2rem; color: var(--gold-light) !important; margin: 0.4rem 0 2.2rem; }

.sched-choices { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; max-width: 860px; }
.sched-choice {
  display: flex; flex-direction: column; gap: 0.35rem; text-align: left;
  background: transparent; color: var(--ivory); font-family: var(--sans);
  border: 1px solid var(--line-on-dark-strong); border-radius: var(--radius);
  padding: 1.4rem 1.5rem 1.4rem 1.8rem; cursor: pointer; position: relative;
  transition: border-color 0.15s, background 0.15s;
}
.sched-choice::before {
  content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
  background: transparent; transition: background 0.15s;
}
.sched-choice:hover { border-color: var(--gold-light); }
.sched-choice[aria-pressed="true"] { background: var(--dark-alt); border-color: var(--gold-light); }
.sched-choice[aria-pressed="true"]::before { background: var(--gold-light); }
.sched-choice-title { font-family: var(--serif); font-size: 1.55rem; font-weight: 600; line-height: 1.15; }
.sched-choice-meta { font-size: 0.82rem; color: var(--gold-light); }
.sched-choice-body { font-size: 0.92rem; color: var(--ivory-dim); line-height: 1.5; margin-top: 0.2rem; }

.sched-cal-section { padding-top: 3rem; scroll-margin-top: 70px; }
.sched-frame {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius);
  min-height: 640px; width: 100%; overflow: auto;
}
.sched-fallback { font-size: 0.85rem; color: var(--ink-dim); margin: 0.8rem 0 0; }
.sched-fallback a, .sched-alt a { color: var(--gold-ink); text-decoration: underline; text-underline-offset: 2px; }
.sched-alt { margin: 2rem 0 0; font-size: 0.98rem; }

@media (max-width: 780px) {
  .sched-choices { grid-template-columns: 1fr; }
  .sched-choice { padding: 1.1rem 1.2rem 1.1rem 1.5rem; }
  .sched-choice-title { font-size: 1.35rem; }
  .sched-frame { min-height: 560px; }
}

/* Home page hero link to the booking section */
.hero-book { margin: -2.2rem 0 2.4rem; font-size: 0.95rem; }
.hero-book a { color: var(--gold-light); text-decoration: underline; text-underline-offset: 3px; }
.hero-book a:hover { color: var(--ivory); }
#book { scroll-margin-top: 70px; }
