/* Seasonal papers share a golden moon and navy ink. */
.schedule-moon [data-season="0"], .schedule-moon [data-active-season="0"] {
  --ticket-paper: #f5dfe4; --ticket-selected: #f2d1db;
  --ticket-edge: #dca9b7; --ticket-ring: #dca9b750;
  --ticket-panel: #f7e5e9; --ticket-accent: #ae7184;
}
.schedule-moon [data-season="1"], .schedule-moon [data-active-season="1"] {
  --ticket-paper: #d9edf3; --ticket-selected: #c9e6ef;
  --ticket-edge: #95c5d4; --ticket-ring: #95c5d450;
  --ticket-panel: #e3f0f5; --ticket-accent: #548b9d;
}
.schedule-moon [data-season="2"], .schedule-moon [data-active-season="2"] {
  --ticket-paper: #f7df98; --ticket-selected: #f8d984;
  --ticket-edge: #e3ba58; --ticket-ring: #e3ba5850;
  --ticket-panel: #f8e3a5; --ticket-accent: #a87c2e;
}
.schedule-moon .schedule-tabs { gap: 1.25rem; align-items: stretch; padding-block: .5rem 1rem; }
.schedule-section.schedule-moon .schedule-tabs .season-tab:nth-child(n) {
  --season-accent: var(--ticket-accent);
  --season-soft: var(--ticket-paper);
  --season-deep: #161d4b;
  display: flex; flex-direction: column;
  position: relative; isolation: isolate;
  padding: 0; overflow: visible;
  background: var(--ticket-paper);
  border: 1px solid var(--ticket-edge);
  border-radius: 1rem;
  color: #161d4b;
  opacity: 1; filter: none; transform: none;
  box-shadow: 0 .5rem 1.5rem #03082020;
  transition: transform .25s ease, box-shadow .25s ease;
}
.schedule-section.schedule-moon .schedule-tabs .season-tab:nth-child(n):hover {
  background: var(--ticket-paper); transform: translateY(-.25rem);
}
.schedule-section.schedule-moon .schedule-tabs .season-tab:nth-child(n)[aria-selected=true],
.schedule-section.schedule-moon .schedule-tabs .season-tab:nth-child(n)[aria-selected=true]:hover {
  background: var(--ticket-selected); border-color: var(--ticket-edge);
  box-shadow: 0 0 0 3px var(--ticket-ring), 0 .8rem 2rem #03082040;
}
.schedule-moon .season-tab:focus-visible { outline: 3px solid #fff5d6; outline-offset: 5px; }
.schedule-section.schedule-moon .season-tab:nth-child(n) .season-top {
  width: 100%; margin: 0; padding: 1rem 1.35rem 0;
  display: flex; flex-direction: row; align-items: center; justify-content: space-between;
  background: none; border: 0; color: #161d4b; opacity: 1;
  font-size: .65rem; letter-spacing: .12em;
}
.schedule-section.schedule-moon .season-tab:nth-child(n) .season-top i {
  background: transparent; color: #161d4b; border: 1px solid #161d4b35;
  font-size: .55rem; padding: .3rem .65rem; border-radius: 999px;
}
.schedule-section.schedule-moon .season-tab:nth-child(n)[aria-selected=true] .season-top i {
  background: #18204e; border-color: #161d4b; color: #ffe6a0;
}
.schedule-moon .moon-scene {
  display: flex; position: relative; align-items: center;
  height: 3.5rem; width: 100%; overflow: hidden;
}
.schedule-moon .moon-season-name {
  position: static; display: block; margin-left: 1.35rem;
  z-index: 1; font-size: 1.5rem; font-weight: 700; letter-spacing: .08em;
}
.schedule-section.schedule-moon .season-tab:nth-child(n) > b {
  display: block; position: relative; margin: 0; padding: 0 1.35rem .85rem;
  color: #161d4b; font: 500 clamp(1.8rem, 2.7vw, 2.65rem)/1.2 var(--latin);
  opacity: 1; white-space: nowrap;
}
.schedule-moon .season-tab > b small { display: inline; font-size: .55rem; margin-left: .25rem; }
.schedule-moon .season-tab > b > span { display: inline; padding: 0 .35rem; font-size: .9rem; color: #65502a; }
.schedule-section.schedule-moon .season-tab:nth-child(n) > .season-caption {
  display: block; margin: auto 0 0; padding: 1rem 1.35rem;
  min-height: 3.6rem; width: 100%; border-top: 1px dashed #161d4b40;
  color: #343451; font-size: .65rem; line-height: 1.6; opacity: 1;
}
.schedule-section.schedule-moon .season-tab::before,
.schedule-section.schedule-moon .season-tab::after {
  content: ''; position: absolute; top: auto; bottom: 3.6rem;
  width: 1.1rem; height: 1.1rem; border-radius: 50%;
  background: var(--night); border: 0; transform: translateY(50%); z-index: 3;
}
.schedule-section.schedule-moon .season-tab::before { left: -.6rem; right: auto; }
.schedule-section.schedule-moon .season-tab::after { right: -.6rem; left: auto; }
/* Let each season's weather read clearly without covering the ticket details. */
.schedule-section.schedule-moon .season-tab > .season-fx {
  inset: 2.75rem 0 2.75rem;
  z-index: 1;
  opacity: .78;
}
.schedule-section.schedule-moon .season-tab > :not(.season-fx) {
  position: relative;
  z-index: 2;
}
.schedule-section.schedule-moon .season-panel[data-active-season] {
  --panel-accent: var(--ticket-accent); --panel-deep: #161d4b; --panel-soft: var(--ticket-selected);
  margin-top: 1.5rem; padding: 2.5rem;
  display: grid; grid-template-columns: 1fr 1fr; gap: 2.5rem;
  background: var(--ticket-panel); border: 1px solid var(--ticket-edge); border-radius: 1.25rem;
  color: #161d4b; box-shadow: 0 1rem 2.5rem #060d2826;
}
.schedule-moon .season-panel::before,
.schedule-moon .season-panel::after,
.schedule-moon .season-panel .season-intro::before,
.schedule-moon .season-panel .season-intro::after { display: none; }
.schedule-moon .season-panel .season-intro { position: relative; padding: 0; }
.schedule-moon .season-panel .event-details {
  background: none; border: 0; border-left: 1px dashed #161d4b40;
  border-radius: 0; padding: 0 0 0 2.5rem;
}
.schedule-moon .season-panel .event-details > div { background: none; }
.schedule-moon .season-panel .outlined-label { background: transparent; border-color: var(--ticket-accent); }
.schedule-moon .season-panel > .season-fx { opacity: .22; }
@media(max-width:900px) {
  .schedule-section.schedule-moon .season-panel[data-active-season] { grid-template-columns: 1fr; padding: 1.75rem; gap: 1.75rem; }
  .schedule-moon .season-panel .event-details { border-left: 0; border-top: 1px dashed #161d4b40; padding: 1.5rem 0 0; }
  .schedule-moon .moon-season-name { font-size: 1.5rem; }
}
@media(max-width:600px) {
  .experience-section .section-heading h2 > .gold-word { display: inline; }
  .schedule-moon .schedule-tabs { gap: 1rem; }
  .schedule-section.schedule-moon .schedule-tabs .season-tab:nth-child(n) { flex: 0 0 82%; }
  .schedule-moon .moon-scene { height: 3rem; }
  .schedule-moon .moon-season-name { font-size: 1.4rem; }
  .schedule-section.schedule-moon .season-tab:nth-child(n) > b { font-size: 2.35rem; padding-bottom: .75rem; }
  .schedule-section.schedule-moon .season-tab:nth-child(n) .season-top { padding-top: .75rem; }
  .schedule-section.schedule-moon .season-tab:nth-child(n) > .season-caption {
    height: 3rem; min-height: 3rem; box-sizing: border-box; padding-block: .7rem;
  }
  .schedule-section.schedule-moon .season-tab::before,
  .schedule-section.schedule-moon .season-tab::after { bottom: 3rem; }
  .schedule-section.schedule-moon .season-panel[data-active-season] { padding: 1.5rem; }
}
@media(prefers-reduced-motion:reduce) {
  .schedule-section.schedule-moon .schedule-tabs .season-tab:nth-child(n) { transition: none; }
}
@media(max-width:600px) {
  .schedule-moon #schedule-title { font-size: clamp(1.2rem, 5.9vw, 1.6rem); letter-spacing: .015em; }
}
