/* Extensiones del básico: valores y componentes de ../shared/, sin dependencias. */
.course-actions { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-block: var(--space-5); }
.block-time { color: var(--color-muted); font-size: var(--text-small); margin-block: 0 var(--space-4); }
.course-intro h1 { max-width: 19ch; }
.course-intro .hero-figure img { max-height: 23rem; }
.material-list { list-style: none; padding: 0; }
.material-list li { padding-block: var(--space-3); border-bottom: 1px solid var(--color-line); }
.material-list a { display: inline-flex; min-height: 44px; align-items: center; }
.source-sheet { padding: var(--space-5); background: var(--color-canvas); border-radius: var(--radius-sm); }
.source-sheet p:last-child { margin-bottom: 0; }
.session-outline { margin-bottom: var(--space-6); }
.session-outline summary { min-height: 44px; cursor: pointer; color: var(--color-ink); font-weight: 650; padding-block: var(--space-3); }
.session-outline ol { columns: 2; column-gap: var(--space-6); }
.session-outline li { break-inside: avoid; }
.session-outline a { display: inline-flex; min-height: 44px; align-items: center; }
.case-tools { display: grid; gap: var(--space-4); margin-block: var(--space-5); }
.case-filters { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.case-filters button[aria-pressed="true"] { background: var(--color-brand); color: var(--color-paper); }
.case-search { width: 100%; padding: var(--space-3); border: 1px solid var(--color-line); border-radius: var(--radius-control); color: var(--color-ink); background: var(--color-paper); }
.case-list { list-style: none; padding: 0; }
.case-list > li { border-bottom: 1px solid var(--color-line); padding-block: var(--space-4); }
.case-list details { min-width: 0; }
.case-list summary { min-height: 44px; padding-block: var(--space-3); cursor: pointer; font-weight: 700; color: var(--color-ink); overflow-wrap: anywhere; }
.case-type { color: var(--color-muted); font-size: var(--text-small); }
.case-count { color: var(--color-muted); font-variant-numeric: tabular-nums; }
.case-empty { background: var(--color-lilac); padding: var(--space-5); border-radius: var(--radius-sm); }
.table-wrap { overflow-x: auto; overscroll-behavior-inline: contain; }
table { width: 100%; border-collapse: collapse; margin-block: var(--space-4); }
th, td { text-align: start; padding: var(--space-3); border-bottom: 1px solid var(--color-line); vertical-align: top; overflow-wrap: anywhere; }
th { color: var(--color-ink); }
.projection-mode .session-outline, .projection-mode .reading-only { display: none; }
.projection-mode .block-time { font-size: var(--text-small); margin-bottom: var(--space-4); }
.projection-mode .prompt pre { font-family: var(--font-sans); line-height: 1.35; }
.projection-mode .source-sheet { padding: var(--space-4); }
.projection-mode .practica { margin-bottom: 0; }
.projection-mode .practica h3 { font-size: 1em; margin-bottom: var(--space-3); }
.projection-mode .practica ol { margin-block: var(--space-3); }
.projection-mode .practica li { margin-bottom: var(--space-1); }
.projection-mode .practica .practice-meta { font-size: .8em; }
.projection-mode .semantico-dice { margin-bottom: 0; }
.projection-mode #primer-contacto .desplegable,
.projection-mode #practica-comparar .desplegable { margin-top: var(--space-4); }
@media (max-width: 760px) {
  .session-outline ol { columns: 1; }
  .course-intro .hero-figure img { max-height: 10rem; }
  .bloque { padding: var(--space-5); }
  .source-sheet { padding: var(--space-4); }
}
@media print {
  .skip-link, .session-outline, .case-tools, .course-actions, .case-count { display: none !important; }
  .container { width: 100%; padding: 0; }
  details > * { display: block; }
  .case-list > li { break-inside: avoid; }
  .block-time { color: black; }
}
