/* Course pages: loaded after ../style.css */
/* ---- course pages ---- */
.wrap { max-width: 1200px; }
@media (min-width: 861px) { .wrap { grid-template-columns: 210px 1fr; gap: 48px; } }
table.views-table th:first-child, table.views-table td:first-child { width: 88px; }
table.views-table th:nth-child(2) { width: 30%; }
table.views-table th[width] { width: auto; }
main h2 { margin-top:48px; scroll-margin-top:24px; }
main h2:first-child { margin-top:0; }
.side .code-badge { display:inline-block; font:600 13px/1 var(--mono); color:#fff; background:var(--accent);
  border-radius:3px; padding:6px 9px; margin-bottom:12px; }
.side h1 { font-size:24px; }
.side .instr { font-size:14px; color:var(--muted); line-height:1.55; border-top:1px solid var(--rule); padding-top:16px; }
.just { text-align:left; }
main ul { padding-left:20px; margin:6px 0 14px; }
main ul li { margin-bottom:6px; }
.emph { color:var(--accent-dark); background:var(--accent-soft); font-weight:600; padding:1px 5px; border-radius:3px; }
.opt { color:var(--muted); }
.tablewrap { overflow-x:auto; margin:8px 0 24px; }
table.views-table { width:100%; border-collapse:collapse; font-size:14.5px; table-layout:auto; }
table.views-table th { text-align:left; font:600 12px/1 var(--sans); letter-spacing:.08em; text-transform:uppercase;
  color:var(--accent-dark); background:var(--accent-soft); padding:12px 12px; border-bottom:2px solid var(--accent); }
table.views-table td { padding:12px; vertical-align:top; border-bottom:1px solid var(--rule); }
table.views-table td:first-child { white-space:nowrap; font:600 13px/1.6 var(--mono); color:var(--accent-dark); }
table.views-table td ul { margin:0; padding-left:18px; }
table.views-table td li { margin-bottom:6px; line-height:1.45; }
@media (max-width: 860px) {
  .side { display:block; }
  .side h1 { margin:4px 0 6px; font-size:22px; }
  .side .instr { display:block; }
}
table.views-table tr.module-header td { background:var(--navy); color:#fff; font:600 12.5px/1 var(--sans);
  letter-spacing:.08em; text-transform:uppercase; padding:10px 12px; white-space:normal; }
