/* Public weekly timetable on the academy page (academy_card_schedule.php).
   Same week grid as the schedule editor (styles/academy-admin.css .bc-aa-tt-*), read-only. */
.bc-tt-top { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin-bottom: 14px; }
.bc-tt-title { margin: 0; font-size: 20px; font-weight: 700; letter-spacing: -0.01em; color: var(--bc-ink); }
.bc-tt-sub { font-size: 13.5px; color: var(--bc-muted); }
.bc-tt-edit { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; background: var(--bc-surface-2, #f1f1f4); color: var(--bc-ink) !important; font-size: 13px; font-weight: 600; text-decoration: none !important; box-shadow: inset 0 0 0 1px var(--bc-line); }
.bc-tt-edit:hover { box-shadow: inset 0 0 0 1px var(--bc-line-strong); }
.bc-tt-empty { display: flex; align-items: center; gap: 8px; margin: 0; padding: 18px; border-radius: 14px; background: var(--bc-surface-2, #f4f4f6); color: var(--bc-muted); font-size: 14px; }

.bc-tt-wrap { container-type: inline-size; }
.bc-tt { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; }
.bc-tt-day { min-width: 0; display: flex; flex-direction: column; border-radius: 16px; background: var(--bc-surface-2, #f4f4f6); box-shadow: inset 0 0 0 1px var(--bc-line); }
.bc-tt-day.is-today { background: rgba(91, 75, 209, 0.05); box-shadow: inset 0 0 0 1.5px rgba(91, 75, 209, 0.35); }
.bc-tt-head { display: flex; align-items: baseline; gap: 6px; padding: 10px 10px 6px; }
.bc-tt-short { font-size: 13px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--bc-ink); }
.bc-tt-long { display: none; }
.bc-tt-today { font-size: 10.5px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--bc-accent); }
.bc-tt-list { display: flex; flex-direction: column; gap: 6px; padding: 0 5px 5px; flex: 1 1 auto; }
.bc-tt-rest { padding: 8px 6px 10px; font-size: 12px; color: var(--bc-faint); }

.bc-tt-class {
  position: relative; display: flex; flex-direction: column; gap: 3px; min-width: 0;
  padding: 9px 8px 9px 11px; border-radius: 12px; background: var(--bc-surface);
  box-shadow: 0 0 0 1px var(--bc-line), 0 1px 2px rgba(16, 16, 30, 0.05); color: var(--bc-ink-2, var(--bc-ink));
}
.bc-tt-class::before { content: ""; position: absolute; left: 0; top: 10px; bottom: 10px; width: 3px; border-radius: 0 3px 3px 0; background: var(--bc-accent); }
.bc-tt-class.is-now { box-shadow: 0 0 0 1.5px rgba(22, 163, 74, 0.55), 0 6px 16px -8px rgba(22, 163, 74, 0.5); }
.bc-tt-class.is-now::before { background: var(--bc-green); }
.bc-tt-class.is-done { opacity: 0.55; }
.bc-tt-time { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 6px; font-size: 11.5px; white-space: nowrap; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--bc-muted); }
.bc-tt-range { white-space: nowrap; }
.bc-tt-badge { padding: 1px 7px; border-radius: 999px; font-size: 10px; font-weight: 800; letter-spacing: 0.05em; text-transform: uppercase; }
.bc-tt-badge.is-now { background: rgba(22, 163, 74, 0.14); color: var(--bc-green); }
.bc-tt-badge.is-next { background: rgba(91, 75, 209, 0.12); color: var(--bc-accent); }
.bc-tt-name { font-size: 12.5px; letter-spacing: -0.015em; font-weight: 650; line-height: 1.25; color: var(--bc-ink); overflow-wrap: break-word; hyphens: auto; -webkit-hyphens: auto; }
.bc-tt-coach { display: flex; align-items: center; gap: 6px; min-width: 0; font-size: 12px; color: var(--bc-muted) !important; text-decoration: none !important; }
.bc-tt-coach span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bc-tt-coach img, .bc-tt-coach .bc-avatar { flex: none; }
.bc-tt-coach:hover span { color: var(--bc-ink); }
.bc-tt-desc { font-size: 12px; line-height: 1.35; color: var(--bc-faint); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.bc-tt-checkin {
  margin-top: 4px; align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border: 0; border-radius: 999px;
  background: var(--bc-brand-grad); color: #fff; font: 600 12.5px var(--bc-font); cursor: pointer;
}
.bc-tt-tz { margin: 12px 0 0; font-size: 12px; color: var(--bc-faint); }

/* Narrow (phones, small cards): one day per row, classes as a list, rest days collapsed */
@container (max-width: 760px) {
  .bc-tt { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .bc-tt-day { display: grid; grid-template-columns: 74px minmax(0, 1fr); align-items: start; }
  .bc-tt-head { flex-direction: column; align-items: flex-start; gap: 2px; padding: 12px 0 10px 12px; }
  .bc-tt-list { padding: 6px 6px 6px 0; }
  .bc-tt-class { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 2px 10px; align-items: baseline; }
  .bc-tt-time { grid-row: span 4; font-size: 13px; align-items: flex-start; }
  .bc-tt-name { font-size: 14px; }
  .bc-tt-name, .bc-tt-coach, .bc-tt-desc, .bc-tt-checkin { grid-column: 2; }
  .bc-tt-day.is-free { grid-template-columns: 74px minmax(0, 1fr); align-items: center; }
  .bc-tt-day.is-free .bc-tt-head { padding: 10px 0 10px 12px; }
  .bc-tt-day.is-free .bc-tt-rest { padding: 0; }
}
