/* 課程頁(/courses/*)專用樣式 — 接在 style.css 之後載入 */

/* 子頁時,主選單「課程」也標示為目前區段 */
.nav a[aria-current="true"] { background: var(--surface); color: var(--red); }
.menu-panel a[aria-current] { color: var(--red); }

/* 麵包屑 */
.crumbs ol { list-style: none; margin: 0 0 14px; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 0; font-size: var(--fs-note); color: var(--muted); }
.crumbs li + li::before { content: "›"; margin: 0 8px; color: var(--muted); }
.crumbs a { color: var(--ink-soft); }

.class-tag { margin: 0 0 6px; font-size: var(--fs-note); }
.page-head .summary { max-width: var(--text-max); margin: 0; color: var(--ink-soft); }

/* 學習路徑:目前所在的班 */
.path-card--current { border: 2px solid var(--ink); }
.path-card__here {
  font-size: 14px; font-weight: 700; white-space: nowrap;
  background: var(--ink); color: var(--bg); border-radius: 999px; padding: 2px 10px;
}

/* 適合誰 / 先看看別班 */
.fit { display: grid; gap: 14px; max-width: 980px; }
@media (min-width: 760px) { .fit { grid-template-columns: 1fr 1fr; } }
.fit__col { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 20px 22px; }
.fit__col h3 { font-size: var(--fs-body); margin-bottom: .5em; }
.fit__col .checklist { margin: 0; }
.fit__list { list-style: none; margin: 0; padding: 0; }
.fit__list li { position: relative; padding-left: 28px; color: var(--ink-soft); margin-bottom: 6px; }
.fit__list li::before { content: "→"; position: absolute; left: 2px; top: 0; color: var(--muted); font-weight: 700; }
.fit__list li:last-child, .fit__col .checklist li:last-child { margin-bottom: 0; }

/* 上課內容清單 */
.content-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; max-width: 980px; }
@media (min-width: 760px) { .content-list { grid-template-columns: repeat(3, 1fr); } }
.content-list li { background: var(--bg); border: 1px solid var(--line); border-radius: var(--radius); padding: 16px 18px; }
.content-list strong { display: block; font-size: var(--fs-h3); line-height: 1.35; }
.content-list span { color: var(--ink-soft); }

.age-box { background: var(--bg); border: 1px solid var(--line); border-radius: var(--radius); padding: 18px 20px; margin-bottom: 0; }
.age-box h3 { margin-bottom: .3em; }

/* 時段表:欄位少,手機上不需要強制 640px 寬 */
.table-wrap table.slots { min-width: 0; }
.table-wrap + .note { margin: 12px 0 0; }
.callout p + p { margin-top: 12px; }
.callout .btn { width: 100%; }
@media (min-width: 560px) { .callout .btn { width: auto; } }

/* 幼幼班:兩位教練卡 */
.coach-grid--two { max-width: 560px; }
@media (min-width: 900px) { .coach-grid--two { grid-template-columns: repeat(2, 1fr); } }

/* 教練精簡清單 */
.coach-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; max-width: 980px; }
@media (min-width: 760px) { .coach-list { grid-template-columns: 1fr 1fr; } }
.coach-list a {
  display: flex; flex-direction: column; min-height: 52px; padding: 12px 16px;
  background: var(--bg); border: 1px solid var(--line); border-radius: var(--radius);
  color: var(--ink); text-decoration: none; line-height: 1.5;
}
.coach-list a:hover { border-color: var(--ink); color: var(--ink); }
.coach-list strong { font-size: var(--fs-body); }
.coach-list span { font-size: var(--fs-note); color: var(--muted); }

/* 假日班:三種一起練 */
.family { display: grid; gap: 14px; max-width: 980px; }
@media (min-width: 760px) { .family { grid-template-columns: repeat(3, 1fr); } }
.family__item { background: var(--surface); border: 1px solid var(--line); border-top: 4px solid var(--belt-weekend); border-radius: var(--radius); padding: 18px 20px; }
.family__item h3 { font-size: var(--fs-h3); margin-bottom: .3em; }
.family__item p { margin: 0; color: var(--ink-soft); }
