/* All changes are inside the existing course component. */
#esbc h1,
#esbc h2 {
  font-family: Georgia, "Times New Roman", serif !important;
  font-weight: 600 !important;
  letter-spacing: -.045em;
  line-height: 1.08;
}
#esbc h3 {
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 750;
  letter-spacing: -.025em;
  line-height: 1.35;
}
#esbc .eb-timetable {
  margin-top: 38px;
  padding-top: 38px;
  border-top: 1px solid var(--eb-line);
}
#esbc .eb-timetable-intro { max-width: 640px; margin-bottom: 24px; }
#esbc .eb-timetable-intro h2 { margin-bottom: 16px; }
#esbc .eb-timetable-intro > p,
#esbc .eb-timetable-card > p { color: var(--eb-muted); font-size: 14px; }
#esbc .eb-timetable-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
#esbc .eb-timetable-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  padding: 26px;
  background: var(--eb-paper);
  border: 1px solid var(--eb-line);
  border-radius: 14px;
  min-width: 0;
}
#esbc .eb-timetable-card .eb-tag { background: #e8f0ff; color: var(--eb-blue); }
#esbc .eb-timetable-upcoming .eb-tag { background: var(--eb-gold); color: var(--eb-navy); }
#esbc .eb-timetable-card h3 { font-size: 22px; }
#esbc .eb-timetable-card .eb-timetable-time { font-size: 17px; font-weight: 700; color: var(--eb-navy); }
#esbc .eb-timetable-card .eb-btn { margin-top: auto; padding-inline: 18px; gap: 12px; }
#esbc .eb-timetable-note { margin-top: 20px; color: var(--eb-muted); font-size: 12px; }
#esbc .eb-timing-help { display: block; margin-top: 8px; font-size: 11px; line-height: 1.6; color: var(--eb-muted); }
@media (max-width: 900px) {
  #esbc .eb-timetable-grid { grid-template-columns: 1fr; }
  #esbc .eb-timetable-card { padding: 24px; }
}
