/* tendery — дополнения темы к стилям макета: страницы, которых в макете нет (подбор, калькулятор, словарь, инструкция, указатель сравнений, 404).
   Собраны из тех же токенов и компонентов; правила макета не переопределяются. Плоско: без теней, свечения и цветовых переходов. Медиазапросы — 768 и 1200px. */

/* подбор: шаги, варианты-кнопки, результат */
.tn-tool { margin-top: var(--tn-sp-24); }
.tn-tool__after { margin-top: var(--tn-sp-12); }
.tn-quiz__step[hidden], .tn-quiz__result[hidden] { display: none; }
button.tn-quiz__opt { width: 100%; font: inherit; color: inherit; text-align: left; cursor: pointer; border-radius: var(--tn-r-0); }
button.tn-quiz__opt .tn-icon { visibility: hidden; flex: none; }
button.tn-quiz__opt[aria-checked="true"] .tn-icon { visibility: visible; }
button.tn-quiz__opt:focus-visible { outline: 2px solid var(--tn-accent); outline-offset: 2px; }
.tn-quiz__nav { flex-wrap: wrap; }
.tn-quiz__nav .tn-btn--primary { margin-left: auto; }
.tn-quiz__result .tn-trio { margin-top: var(--tn-sp-16); }
.tn-quiz__result .tn-empty { margin-top: var(--tn-sp-16); }
.tn-quiz__match { margin-top: var(--tn-sp-8); font-size: var(--tn-fs-small); line-height: var(--tn-lh-small); color: var(--tn-text-muted); }
.tn-quiz__match b { color: var(--tn-text); }
.tn-quiz__rest { margin-top: var(--tn-sp-20); }
.tn-quiz__rest h3 { margin-bottom: var(--tn-sp-8); font-size: var(--tn-fs-h4); line-height: var(--tn-lh-h4); }
.tn-quiz__result .tn-disc { margin-top: var(--tn-sp-16); }

/* калькулятор: лист результата */
.tn-calc__result { align-self: start; }
.tn-calc__result .tn-calc__row .tn-label { min-width: 0; }

/* указатель сравнений: выбор двух записей */
.tn-picker__form { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--tn-sp-12); align-items: end; }
.tn-picker__form > * { min-width: 0; }
.tn-picker .tn-micro { margin-top: var(--tn-sp-12); }
.tn-picker__out { margin-top: var(--tn-sp-20); }
.tn-picker__out[hidden] { display: none; }
.tn-picker__links { margin-top: var(--tn-sp-12); }
.tn-rows--pairs .tn-rows__main .tn-logo + .tn-logo { margin-left: calc(var(--tn-sp-4) * -1); }

/* инструкция: развёрнутые шаги, список для самопроверки */
.tn-steps--guide .tn-steps__text { max-width: var(--tn-measure); color: var(--tn-text); font-size: var(--tn-fs-body); line-height: var(--tn-lh-body); }
.tn-steps--guide .tn-steps__text > * + * { margin-top: var(--tn-sp-8); }
.tn-steps--guide .tn-steps__text ul { padding-left: var(--tn-sp-20); list-style: square; }
.tn-checklist { display: grid; gap: var(--tn-sp-12); }
.tn-checklist li { display: grid; grid-template-columns: var(--tn-check) minmax(0, 1fr); gap: var(--tn-sp-12); align-items: start; }
.tn-checklist .tn-check__box { margin-top: 2px; }

/* словарь: термин без определения не оставляет пустой строки-отступа */
.tn-terms dt { scroll-margin-top: var(--tn-sp-24); }
.tn-terms__empty { padding-bottom: var(--tn-sp-4); }

/* обзор: источник с оговоркой («по сниппету выдачи…») длиннее строки телефона — переносим текст, сама ссылка остаётся неразрывной */
.tn-single-sheet__src.tn-single-sheet__src--long { flex: 0 1 auto; min-width: 0; max-width: 46ch; white-space: normal; }
.tn-single-sheet__src--long a { white-space: nowrap; }

/* 404: поиск по реестру */
.tn-search .tn-control { max-width: 480px; }
.tn-search .tn-found { margin: var(--tn-sp-12) 0; }
.tn-search [data-search-list] li[hidden] { display: none; }

@media (min-width: 768px) {
  .tn-single-sheet__src--long { text-align: right; }
  .tn-picker__form { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; }
}
@media print {
  .tn-header, .tn-footer, .tn-cmpbar, .tn-sticky-cta, .tn-doc__side { display: none; }
}

/* форма «Сообщить об ошибке»: поле-ловушка для ботов вне экрана */
.tn-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* вёрстка 14.10: строки «плитка — название — условие — число» стоят по две в ряд (главная) — от 768px колонка
   с текстом схлопывалась до 7px и текст шёл по букве в столбик. Три колонки — только когда шире 600px сам блок, а не экран. */
.tn-rows { container-type: inline-size; }
@media (min-width: 768px) {
  .tn-rows__item { grid-template-columns: minmax(0, 1fr) auto; }
  .tn-rows__text { grid-column: 1 / -1; }
  .tn-rows__meta { grid-row: 1; grid-column: 2; }
}
@container (min-width: 600px) {
  .tn-rows__item { grid-template-columns: minmax(150px, 200px) minmax(0, 1fr) auto; }
  .tn-rows__text { grid-column: auto; }
  .tn-rows__meta { grid-row: auto; grid-column: auto; }
}

/* калькулятор: на телефоне колонка «за что эта цена» сжималась до 150px — строки по 10–12 строчек; таблица прокручивается внутри обёртки */
.tn-table--scroll .tn-th--terms { min-width: 240px; }

/* планшет с пальцем (768–1199, таблица вместо карточек): кнопки сортировки в шапке были 14–28px в высоту,
   «Все условия» — 17px. На сенсорных экранах тянем зону нажатия до 36–40px, на ПК с мышью вид не меняется. */
@media (pointer: coarse) {
  .tn-table thead .tn-sort { min-height: 40px; align-items: flex-end; padding-top: var(--tn-sp-8); }
  .tn-table--reg .tn-table__toggle { min-height: 36px; vertical-align: middle; }
  .tn-btn--text { min-height: 36px; }
}
