/* strahovanie — theme.css: только то, чего нет в макете, — раскладка инструментов, поиска, 404 и печать памяток.
   Все значения — из tokens.css; новых цветов, теней и скруглений нет. Порядок подключения: после components.css. */
.st-tool { margin-top: var(--st-sp-24); }
.st-tool > .st-calc { max-width: 880px; }
.st-tool__tables { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--st-sp-24) var(--st-gap); }
.st-tool__tables > * { min-width: 0; }
.st-tool__tables h3 { margin-bottom: var(--st-sp-8); }
.st-tool__tables > .st-prose, .st-tool__tables > .st-sec__note, .st-tool__tables > div:last-of-type { grid-column: 1 / -1; }
.st-tool__kinds { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--st-gap); }
.st-tool__kinds > * { min-width: 0; }
.st-tool__kind .st-mini__head h3 a { color: inherit; }
.st-tool__list { margin-top: var(--st-sp-24); list-style: none; padding: 0; }
.st-404__search { margin-top: var(--st-sp-16); max-width: 560px; }
.st-pagehead .st-memo { margin-top: var(--st-sp-12); }
.st-cocmp__checks .st-chip__n { margin-left: 4px; }
[data-cmpb-out] { margin-bottom: var(--st-sp-8); }
.st-calc__line--label span:first-child { width: auto; }
/* страновой блок подборки: вопрос слева, ответ и источник справа; на телефоне — друг под другом */
.st-country { display: grid; }
.st-country > div { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--st-sp-4) var(--st-gap); padding-block: var(--st-sp-12); border-top: var(--st-border); }
.st-country > div:first-child { padding-top: 0; border-top: 0; }
.st-country > div:last-child { padding-bottom: 0; }
.st-country dt { font-weight: var(--st-fw-bold); min-width: 0; }
.st-country dd { min-width: 0; max-width: 72ch; }
.st-country .st-dl__sub { margin-top: var(--st-sp-4); overflow-wrap: anywhere; }
@media (min-width: 768px) {
  .st-country > div { grid-template-columns: minmax(0, 260px) minmax(0, 1fr); }
  .st-tool__tables { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1200px) {
  .st-tool__kinds { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* ---------- Вёрстка ПК и телефон (14.10.2026) ---------- */
/* Тройка лидеров: на 768–1023 три карточки по ~230px — параметры схлопывались в столбик по букве, кнопки не влезали.
   Здесь карточки идут друг под другом, как на телефоне; три в ряд — с 1024. */
@media (min-width: 768px) and (max-width: 1023px) {
  .st-top3 { grid-template-columns: minmax(0, 1fr); }
  .st-top3 > .st-card--top:not(:first-child) { border: var(--st-border); border-image: none; }
}
/* Узкая карточка (боковые в тройке на 1024–1440, карточки в сетках): подпись параметра над значением, а не слева в 116px */
.st-card { container-type: inline-size; }
@container (max-width: 340px) {
  .st-card__params > div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
}
@container (max-width: 250px) {
  .st-card .st-btns { grid-template-columns: minmax(0, 1fr); }
}
/* Справочные таблицы калькуляторов в две колонки: таблица в 560px не влезала в половину ширины, и столбец
   «Коэффициент» уезжал за край прокрутки — значения не видно. Две колонки ужимаются по ширине. */
.st-tool__tables .st-dtable { min-width: 0; width: 100%; }
.st-tool__tables > div:last-of-type .st-dtable { min-width: 560px; }
/* Паспорт компании на 768–1199: левая колонка растягивалась по высоте правой, и строки разъезжались с дырами */
.st-page--company .st-passport__id { align-content: start; }
/* Тап-зоны на телефоне и планшете — не меньше 40px */
@media (max-width: 1199px) {
  :root { --st-control-h-s: 40px; }
  .st-more { min-height: 40px; }
  .st-btn--text { min-height: 40px; }
}
@media print {
  .st-header, .st-footer, .st-footer-band, .st-guil-band, .st-skip, .st-cmpbar, .st-doc__side, #related, #memos, [data-print], .st-crumbs { display: none !important; }
  body { background: var(--st-surface); }
  .st-doc { display: block; }
  .st-pagehead { padding: 0; background: none; }
}
