/* 공개 강사 상세의 시간표(SSOT 6절 "학생 시간표 메뉴") — 내부 스크롤 없이 모든 줄을 펼치고 날짜 머리글은 상단 막대 아래에 붙는다.
   표 칸은 고정 폭이라 넘치지 않는다. booking.js 가 --timetable-time·--timetable-day 로 폭에 들어가는 날짜 수를 잰다(값은 rem 으로 둔다). 강사 표(teacher-schedule.css)는 그대로다. */
.teacher-detail .timetable { --timetable-time: 4.75rem; --timetable-day: 3.5rem; }

/* clip 은 스크롤 상자를 만들지 않아 머리글이 페이지 스크롤에 붙는다 */
.teacher-detail .schedule-table { overflow: clip; }
.teacher-detail .schedule-table table { table-layout: fixed; inline-size: 100%; min-inline-size: 0; }
.teacher-detail .schedule-table thead th { position: sticky; inset-block-start: var(--sonub-header-height, var(--bar-height)); z-index: 3; }
.teacher-detail .schedule-table thead th:first-child { z-index: 4; inline-size: var(--timetable-time); }
.teacher-detail .schedule-table tr > :first-child { min-inline-size: 0; }
.teacher-detail .schedule-table .slot { min-inline-size: 0; }
.teacher-detail .schedule-table .slot-name { max-inline-size: 100%; }
.teacher-detail .schedule-table .slot-price { max-inline-size: 100%; overflow-wrap: anywhere; text-align: center; white-space: normal; }   /* 언어마다 긴 "무료 체험" 글자가 옆 칸으로 넘지 않게 */

/* 촘촘히 — 줄 높이를 줄여 한 화면에 더 많은 줄을 본다 */
.teacher-detail .schedule-table[data-compact] .slot { grid-auto-flow: column; justify-content: center; align-items: center; gap: var(--wa-space-3xs); min-block-size: 2rem; padding-block: 0; }
.teacher-detail .schedule-table[data-compact] .slot::before { inline-size: 0.9rem; block-size: 0.9rem; font-size: calc(0.65rem * var(--wa-font-size-scale, 1)); }
.teacher-detail .schedule-table[data-compact] .slot-name { display: none; }
.teacher-detail .schedule-table[data-compact] .slot-rule { padding-block: 0; }
.teacher-detail .schedule-table[data-compact] .slot-rule small { display: none; }

/* 메뉴 — 넓으면 펼치고, 좁으면 필터 묶음을 접는다. 움직이지 않고 색만 바뀐다(SSOT 11절 "학생·강사·수업 화면 디자인") */
.timetable-controls { display: grid; gap: var(--wa-space-s); min-inline-size: 0; }
.timetable-controls .profile-help { line-height: 1.5; }
.teacher-detail .schedule-pager { gap: var(--wa-space-2xs); }
.teacher-detail .schedule-pager button { display: inline-flex; align-items: center; gap: var(--wa-space-2xs); min-block-size: 2.5rem; padding: var(--wa-space-2xs) var(--wa-space-s); background: var(--wa-color-surface-default); color: inherit; cursor: pointer; font: inherit; font-size: var(--wa-font-size-s); }
.teacher-detail .schedule-pager button:not(:disabled):hover { border-color: var(--wa-color-brand-border-loud); }
.teacher-detail .schedule-pager button:disabled { cursor: not-allowed; }
.timetable-jump, .timetable-result, .timetable-options { display: flex; flex-wrap: wrap; align-items: center; gap: var(--wa-space-xs) var(--wa-space-m); }
.timetable-range { font-variant-numeric: tabular-nums; }
.teacher-detail .timetable-controls label { display: inline-flex; flex-wrap: nowrap; align-items: center; gap: var(--wa-space-2xs); inline-size: auto; margin: 0; font-size: var(--wa-font-size-s); }
.teacher-detail .timetable-controls .sonub-control { inline-size: auto; block-size: 2.5rem; min-block-size: 0; padding-block: 0; font-size: var(--wa-font-size-s); }
.teacher-detail .timetable-controls select.sonub-control { padding-inline-end: 2.25rem; }
.timetable-controls .chips strong { inline-size: auto; min-inline-size: 6.5rem; }
.timetable-controls .chip { min-block-size: 2.5rem; }
.timetable-controls .chip:disabled { cursor: not-allowed; opacity: 0.45; }
.teacher-detail .timetable-controls .timetable-check { min-block-size: 2.5rem; margin-inline-start: var(--wa-space-xs); }
.timetable-filters { display: grid; gap: var(--wa-space-s); }
.timetable-filters > summary { cursor: pointer; font-size: var(--wa-font-size-s); font-weight: var(--wa-font-weight-semibold); }
.timetable-filters[open] > summary { margin-block-end: var(--wa-space-xs); }
.timetable-filters > .chips, .timetable-filters > .timetable-options { margin-block-end: var(--wa-space-xs); }
.timetable-pager-end { margin-block-start: var(--wa-space-2xs); }
.timetable-reviews-link { margin: 0; font-size: var(--wa-font-size-s); }
.timetable-reviews-link a { display: inline-flex; align-items: center; gap: var(--wa-space-2xs); }

/* 목록 보기 — 날짜마다 시각과 칸을 한 줄씩 */
.timetable-list { display: grid; gap: var(--wa-space-m); min-inline-size: 0; }
.timetable-list h3 { margin: 0 0 var(--wa-space-2xs); font-size: var(--wa-font-size-m); }
.timetable-list ul { display: grid; gap: var(--wa-space-2xs); margin: 0; padding: 0; list-style: none; }
.timetable-list li { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--wa-space-xs) var(--wa-space-m); margin: 0; padding: var(--wa-space-2xs) var(--wa-space-s); border: 1px solid var(--sonub-border); border-radius: var(--wa-border-radius-m); background: var(--wa-color-surface-default); }
.timetable-list-time { display: inline-flex; align-items: baseline; gap: var(--wa-space-xs); }
.timetable-list-time strong { direction: ltr; unicode-bidi: isolate; font-variant-numeric: tabular-nums; }
.timetable-list-time small { color: var(--wa-color-text-quiet); }
.timetable-list .slot { grid-auto-flow: column; inline-size: auto; min-inline-size: 7rem; min-block-size: 2.5rem; padding-inline: var(--wa-space-s); }
