/* ============================================================
   공연 (performances.html) 전용
   공통 토큰·컴포넌트(schedule·history·tl-*·posters)는 styles.css 재사용
   ============================================================ */

/* 다가오는 공연 — 다크 밴드 위 작품명 링크 */
.schedule .sched-title a {
  color: #fff;
  text-decoration: none;
  box-shadow: inset 0 -1px 0 rgba(231, 212, 181, .45);
  transition: color .3s var(--ease), box-shadow .3s var(--ease);
}
.schedule .sched-title a:hover,
.schedule .sched-title a:focus-visible {
  color: var(--gold-pale);
  box-shadow: inset 0 -1px 0 var(--gold-pale);
}

/* 지난 공연 아카이브 — 타임라인 본문 셀 (긴 공연명 줄바꿈 보정) */
.history .tl-body { min-width: 0; }

/* ============================================================
   지난 공연 아카이브 — 연도 탭 (한 해만 노출해 세로 길이 압축)
   마크업: performances.html [data-year-tabs] · 전환 JS: main.js
   ============================================================ */
.history-tabs { margin-top: clamp(30px, 4.5vw, 46px); }
.history-tabs__bar { display: flex; gap: 6px; border-bottom: 1px solid var(--line-strong); overflow-x: auto; scrollbar-width: none; }
.history-tabs__bar::-webkit-scrollbar { display: none; }
.history-tabs__bar [role="tab"] {
  appearance: none; background: none; border: 0; cursor: pointer;
  padding: 12px 18px 14px; margin-bottom: -1px;
  border-bottom: 2px solid transparent;
  font-family: var(--font-display); font-weight: 600; font-size: clamp(1.05rem, 2vw, 1.25rem);
  color: var(--muted); white-space: nowrap;
  display: inline-flex; align-items: baseline; gap: 8px;
  transition: color .25s var(--ease), border-color .25s var(--ease);
}
.history-tabs__bar [role="tab"]:hover { color: var(--charcoal); }
.history-tabs__bar [role="tab"][aria-selected="true"] { color: var(--burgundy); border-bottom-color: var(--burgundy); }
.history-tabs__count { font-family: var(--font-body); font-weight: 600; font-size: .7rem; letter-spacing: .04em; color: var(--muted-soft); font-variant-numeric: tabular-nums; }

/* 패널은 기존 타임라인 스타일(.history__wrap의 스파인·도트)을 그대로 사용 — 연도 탭으로 한 해만 노출 */
.history-panel { padding-top: 14px; }
.history-panel[hidden] { display: none; }
.history-panel.is-active { animation: panelIn .55s var(--ease-out) both; }
@keyframes panelIn { from { opacity: 0; transform: translateY(12px); } }
@media (prefers-reduced-motion: reduce) { .history-panel.is-active { animation: none; } }
/* 패널 상단 여백만큼 스파인 시작점 보정 */
.history-tabs .history__wrap { margin-top: 0; }
.history-tabs .history__wrap::before { top: 20px; }

/* ============================================================
   다가오는 공연 — 포스터 썸네일 행
   포스터가 있는 공연에만 .sched-row--poster + .sched-thumb 사용
   (없는 공연은 기존 3열 행 그대로 — 혼용 가능)
   ============================================================ */
.schedule .sched-row--poster { grid-template-columns: 120px 58px 1fr auto; }
.sched-thumb {
  width: 58px;
  aspect-ratio: 1 / 1.414;            /* A판형 포스터 기준 — 다른 비율은 상하단이 잘릴 수 있음 */
  padding: 0;
  border: 1px solid rgba(231, 212, 181, .35);
  border-radius: 0;
  overflow: hidden;
  cursor: zoom-in;
  background: none;
  transition: border-color .3s var(--ease);
}
.sched-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s var(--ease); }
.sched-thumb:hover,
.sched-thumb:focus-visible { border-color: var(--gold-pale); }
.sched-thumb:hover img,
.sched-thumb:focus-visible img { transform: scale(1.07); }

/* 예매 버튼(.sched-book)은 홈 '다음 무대'와 공용 — styles.css로 이동 */

@media (max-width: 720px) {
  .schedule .sched-row--poster { grid-template-columns: 64px 44px 1fr; }
  .schedule .sched-row--poster .sched-venue { grid-column: 3; }
}
