/* ============================================================================
   Единая типография заголовков «Витрины QR».

   Зачем файл. Шкала заголовков собиралась постранично, и один уровень получал
   разный шрифт. Замеры живых страниц 11 октября 2026:
     — /             рабочий блок «Ваша ссылка / Ваш QR-код» — Onest 600 27px,
                     а соседний раздел «Меньше слов» — Unbounded 500 37px;
     — /etiketki/    один уровень h2 шёл и в Onest, и в Unbounded на одной
                     странице: «Товар на полке» — 18px, «Другие задачи» — 31px;
     — #studio       «Товары 6» — Unbounded 700 20px, «Сохранённые копии» —
                     Onest 600 15px при одном уровне заголовка;
     — /zhkh/        дробные начертания 790 и 760, которых в подключённых
                     файлах шрифта нет: браузер их синтезировал.

   Шкала:
     h1 — заголовок страницы        Unbounded 600
     h2 — заголовок раздела         Unbounded 600
     h3 — карточка, панель, шаг     Onest 600
     h4 — подпись внутри блока      Onest 600

   Про вес селекторов. Прежние правила живут на разной глубине, поэтому наш
   селектор держим не мельче `body #root` + два класса. `:where()` применяем
   только к самому заголовку: если обернуть в него родительский класс, он
   обнулит специфичность всей цепочки, и правило проиграет — на этом уже
   спотыкались.

   Про порядок. Файл подключается последним в index.html, поэтому при равном
   весе решает он.

   Правило на будущее: не задавайте font-family заголовку точечно в страничном
   файле — спор вернётся. Уровень выбирается ролью, а не страницей.
   ========================================================================== */

/* Выше 700 начертаний в подключённых файлах шрифта нет: всё, что больше,
   браузер синтезирует. Держим шкалу в пределах реальных значений. */
body #root :where(h1, h2, h3, h4) {
  font-weight: 600;
}

/* --- h1: заголовок страницы ------------------------------------------------ */
body #root .hh-home :where(h1),
body #root .vn-home :where(h1),
body #root .seo-page :where(h1),
body #root .page-layout :where(h1),
body #root .utility-app :where(h1),
body #root .app-shell :where(.sw-heading, .page-studio-top) :where(h1) {
  font-family: "Unbounded", sans-serif;
  font-weight: 600;
  letter-spacing: -.045em;
}

/* --- h2: заголовок раздела -------------------------------------------------
   Перечислены контейнеры, в которых заголовок называет раздел. Заголовки
   служебных блоков (группа каталога, вопрос-ответ, словарь, шапка мастера)
   в этот список не входят — они остаются текстовыми. */
body #root .hh-home .section-top :where(h2),
body #root .hh-home .business :where(h2),
body #root .hh-home .passport-home-feature :where(h2),
body #root .hh-home .work-panel :where(h2),
body #root .hh-home .workbench :where(h2),
body #root .hh-home .hero :where(h2),
body #root .hh-home .closing :where(h2),
body #root .hh-home .hh-help :where(h2),
body #root .hh-home .home-recent :where(h2),
body #root .vn-home .section-top :where(h2),
body #root .vn-home .work-panel :where(h2),
body #root .seo-page .reader-section-heading :where(h2),
body #root .seo-page .sh-section-start-head :where(h2),
body #root .seo-page .seo-chapter :where(h2),
body #root .seo-page .seo-next :where(h2),
body #root .seo-page .seo-related :where(h2),
body #root .page-layout .utility-section-head :where(h2),
body #root .app-shell .sw-heading :where(h2),
body #root .app-shell .page-studio-top :where(h2) {
  font-family: "Unbounded", sans-serif;
  font-weight: 600;
  letter-spacing: -.038em;
}

/* Главная: у рабочего блока кегль ниже разделового — это блок внутри
   страницы, а не равный раздел. */
body #root .hh-home .work-panel :where(h2),
body #root .hh-home .workbench :where(h2) {
  font-size: 24px;
}

/* --- h3 и h4: карточка, панель, шаг мастера, подпись группы полей ---------- */
body #root .hh-home :where(h3, h4),
body #root .vn-home :where(h3, h4),
body #root .seo-page :where(h3, h4),
body #root .page-layout :where(h3, h4),
body #root .utility-app :where(h3, h4),
body #root .app-shell :where(h3, h4) {
  font-family: "Onest", sans-serif;
  font-weight: 600;
  letter-spacing: -.02em;
}

/* --- Студия: заголовок раздела Unbounded, карточки текстовые ---------------
   Селектор намеренно сильнее прежнего: в studio-workspace.css стоит шорткат
   `font:500 clamp(...) Unbounded`, который перебивал наш вес 600. Студия
   встречается в двух видах — отдельной страницей (/#studio) и встроенной в
   страницу инструмента, поэтому в списке и .app-shell, и #studio. */
body #root .app-shell .sw-heading :where(h2),
body #root #studio .sw-heading :where(h2),
body #root .app-shell .page-studio-top :where(h1, h2),
body #root #studio .page-studio-top :where(h1, h2) {
  font-family: "Unbounded", sans-serif;
  font-weight: 600;
  letter-spacing: -.04em;
}
body #root .app-shell .studio-section :where(h3, h4),
body #root #studio :where(h3, h4),
body #root .app-shell .sw-workspace-form :where(h3, h4) {
  font-family: "Onest", sans-serif;
  font-weight: 600;
  letter-spacing: -.02em;
}
