/* ============================================================================
   study.css — раздел /study/, учебные модули для nursing school.

   Токены, шапка и подвал — из assets/styles.css и chrome.css; крошки,
   лид и ширина — из notes/notes.css; тренажёр — из quiz/quiz.css. Здесь
   только своё: карточки фактов, термины, соседние темы, блок источника.

   Цитата учебника — главное на странице, поэтому она крупная и спокойная,
   а наша подпись над ней — маленькая и жирная: видно, где книга, а где мы.
   ========================================================================== */

.st-wrap { max-width: 760px; }
.st-head { margin: 8px 0 26px; }
.st-head h1 {
  font: 400 clamp(32px, 7vw, 52px)/1.02 var(--f-d);
  text-transform: uppercase; text-wrap: balance; margin: 4px 0 12px;
}
.st-jump { margin-top: 10px; font-size: 14px; }
.st-jump a { color: var(--link); }

.st-facts h2, .st-terms h2, .st-practice h2, .st-chap h2, .st-how h2, .st-src h2 {
  font: 400 clamp(21px, 3.6vw, 27px)/1.08 var(--f-d);
  text-transform: uppercase; margin: 30px 0 14px;
}

/* ── ключевые пункты ──────────────────────────────────────────────────── */
.st-facts ol { list-style: none; padding: 0; margin: 0; counter-reset: f; }
.st-facts li {
  counter-increment: f; position: relative;
  background: var(--panel); border: 1px solid var(--line);
  border-radius: var(--radius); padding: 14px 16px 14px 52px; margin-bottom: 10px;
}
.st-facts li::before {
  content: counter(f, decimal-leading-zero);
  position: absolute; left: 16px; top: 15px;
  font: 500 13px/1 var(--f-m); color: var(--accent-ink);
}
.st-facts h3 { font: 600 15px/1.3 var(--f-t); margin: 0 0 6px; }
.st-facts blockquote {
  margin: 0; padding: 0 0 0 12px; border-left: 3px solid var(--line);
  color: var(--fg); font-size: 15.5px; line-height: 1.6;
}

.st-neg { margin: 0 0 6px; font-size: 13px; color: var(--accent-ink); }
.st-neg b { font-weight: 700; }

/* ── термины ──────────────────────────────────────────────────────────── */
.st-terms dl {
  margin: 0; background: var(--panel); border: 1px solid var(--line);
  border-radius: var(--radius); overflow: hidden;
}
.st-terms dt {
  font: 600 14.5px/1.3 var(--f-t); padding: 12px 16px 2px;
  border-top: 1px solid var(--line-2);
}
.st-terms dt:first-child { border-top: 0; }
.st-terms dd { margin: 0; padding: 0 16px 12px; color: var(--fg-2); font-size: 14.5px; line-height: 1.55; }

/* ── тренажёр внутри модуля ───────────────────────────────────────────── */
.st-practice {
  background: var(--panel); border: 1px solid var(--line);
  border-radius: var(--radius); padding: 4px 16px 18px; margin-top: 30px;
}
.st-practice h2 { margin-top: 18px; }

/* ── соседние темы ────────────────────────────────────────────────────── */
.st-pn { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 30px 0 0; }
.st-pn a {
  display: block; background: var(--panel); border: 1px solid var(--line);
  border-radius: var(--radius); padding: 12px 14px; color: var(--fg);
  text-decoration: none; font-weight: 600; font-size: 14.5px; line-height: 1.35;
}
.st-pn a:hover { border-color: var(--fg-3); }
.st-pn span {
  display: block; font: 500 11px/1 var(--f-m); letter-spacing: .08em;
  text-transform: uppercase; color: var(--fg-2); margin-bottom: 6px; font-weight: 500;
}
.st-next { grid-column: 2; text-align: right; }

/* ── список тем и курсов ──────────────────────────────────────────────── */
.st-chap ol { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.st-card {
  display: block; background: var(--panel); border: 1px solid var(--line);
  border-radius: var(--radius); padding: 13px 16px; color: var(--fg); text-decoration: none;
}
.st-card:hover { border-color: var(--fg-3); text-decoration: none; }
.st-card b { display: block; font: 600 16px/1.3 var(--f-t); }
.st-card span { display: block; margin-top: 4px; font-size: 13px; color: var(--fg-2); }
.st-course b { font: 400 24px/1.1 var(--f-d); text-transform: uppercase; }

.st-how p, .st-src p { color: var(--fg-2); font-size: 14.5px; line-height: 1.6; margin: 0 0 10px; }
.st-how a, .st-src a { color: var(--link); }
.st-src { margin-top: 34px; padding-top: 4px; border-top: 1px solid var(--line); }

/* ── статьи «как готовиться» ───────────────────────────────────────── */
.st-by { font-size: 13.5px; color: var(--fg-2); margin: 6px 0 0; }
.st-by a { color: var(--fg-2); }
.st-tip { font-size: 13.5px; color: var(--fg-2); margin: -6px 0 12px; }
.st-tip a { color: var(--link); }
.st-art { font-size: 16.5px; line-height: 1.65; }
.st-art p { margin: 0 0 14px; }
.st-art h2 {
  font: 400 clamp(21px, 3.6vw, 27px)/1.08 var(--f-d);
  text-transform: uppercase; margin: 30px 0 12px;
}
.st-art ul, .st-art ol { margin: 0 0 16px; padding-left: 22px; }
.st-art li { margin-bottom: 8px; }
.st-art a { color: var(--link); }

@media (max-width: 520px) {
  .st-facts li { padding: 13px 13px 13px 44px; }
  .st-facts li::before { left: 13px; }
  .st-pn { grid-template-columns: 1fr; }
  .st-next { grid-column: 1; text-align: left; }
}
