/* ============================================================
   ГЛАВНАЯ СТРАНИЦА
   Источник — design2/assets/css/home.css. Перенесены только те
   блоки, которые скин Messia_Home_Tmpl_Pdd действительно рисует:
   герой с формой подбора, подборка объектов, карта, отзывы,
   статьи, блок доверия, аккордеон вопросов и нижний текст.

   Блоков «Города», «Эксперт» и «Полезное» в новом дизайне нет,
   их стили сюда не переносились. Не переносились и «Шаги»,
   «Ссылки», «Соцсети», «Квиз», «Факты»: под них нет данных
   в конструкторе сегмента 1910.

   Все селекторы идут от body.pdd — специфичностью, а не !important:
   поверх темы лежат frontend.css и skin.css, и они шире по охвату,
   но короче по специфичности.

   Значения — только токены из tokens.css. Общие атомы .rating
   и .stars намеренно заужены до body.pdd .pdd-home: одноимённые
   классы есть и на листинге, и на карточке школы, и правит их
   не этот файл.
   ============================================================ */

body.pdd .pdd-home {
  /* поля и ширины */
  --home-gap: var(--space-9);          /* между блоками */
  --home-pad: var(--page-padding);
  /* колонка содержимого на широком экране: общая --content-max
     плюс поля страницы — ширина одна с листингом и карточкой школы */
  --home-max: calc(var(--content-max) + var(--home-pad) * 2);
  --home-radius: 20px;                 /* витрине идут крупные скругления */

  /* поверхности блоков: без рамок, форму даёт мягкая тень */
  --home-panel-bg: var(--color-surface);
  --home-panel-border: 0;
  --home-panel-pad: var(--space-7);
  --home-panel-shadow: 0 6px 20px rgba(11, 11, 30, 0.06);

  /* заголовки блоков и сетки */
  --home-head-size: var(--font-size-title);
  --home-card-columns: 2;              /* карточки школ: на телефоне парами */
  --home-facts-columns: 2;             /* «чем полезен сервис» */

  /* «Почему нам можно доверять» */
  --home-trust-bg: var(--home-panel-bg);
  --home-trust-fg: var(--color-text);
  --home-trust-muted: var(--color-text-secondary);
  --home-trust-pad: var(--home-panel-pad);
  --home-trust-shadow: var(--home-panel-shadow);
  --home-trust-border: var(--home-panel-border);
  /* принятый вид (v6): нумерованный список в две колонки,
     карточки без плашек, иконок нет */
  --home-trust-columns: 2;
  --home-trust-card-bg: transparent;
  --home-trust-card-border: 0;
  --home-trust-card-pad: 0;
  --home-trust-card-radius: var(--radius-md);
  --home-trust-card-direction: row;
  --home-trust-icon-display: none;
  --home-trust-num-display: inline-flex;

  /* подборки школ: вкладки и ярлык, по которому школа попала в подборку */
  --home-pick-columns: 1;
  --home-pick-tab-fg: var(--color-text);
  --home-pick-tab-bg: var(--color-surface);
  --home-pick-tab-border: var(--border-width) solid var(--color-border);
  --home-pick-tab-radius: var(--radius-pill);
  --home-pick-tab-active-fg: var(--color-text-inverse);
  --home-pick-tab-active-bg: var(--color-primary);
  --home-pick-mark-fg: var(--color-primary);
  --home-pick-mark-bg: var(--color-primary-soft);
  /* значение подборки стоит напротив её названия: под ярлыком
     «Высокий рейтинг» — оценка, «Больше всего отзывов» — их число */
  --home-pick-value-fg: var(--color-text);
  --home-pick-value-size: var(--font-size-card-title);

  /* карта (принята с варианта 3): картинка города под тёмной
     вуалью, объекты белыми плашками, кнопка «Открыть карту»
     посередине карты — без подложки, просто кнопка */
  --home-map-image: url(../img/map/city.svg);
  --home-map-shot-display: block;
  --home-map-shot-filter: none;
  --home-map-veil: linear-gradient(180deg, rgba(11, 11, 30, 0.28) 0%, rgba(11, 11, 30, 0.5) 100%);
  --home-map-height: 300px;
  --home-map-height-wide: 380px;
  --home-map-body-display: none;       /* включается, если под картой есть районы или объекты */
  --home-map-body-fg: var(--color-text);
  --home-map-body-muted: var(--color-text-secondary);
  --home-map-pin-bg: var(--color-surface);
  --home-map-pin-fg: var(--color-text);
  --home-map-pin-radius: var(--radius-pill);
  --home-map-pin-rating-display: inline;
  --home-map-pin-price-display: none;
  --home-map-pin-name-display: none;
  --home-map-list-display: none;
  --home-map-legend-display: none;

  /* отзывы: их всего три, зато карточка крупная и заметная */
  --home-review-columns: 1;
  --home-review-pad: var(--space-8);
  --home-review-gap: var(--space-5);
  --home-review-text-size: var(--font-size-subtitle);
  --home-review-avatar: 44px;
  --home-review-accent: 3px;           /* полоса цветом марки слева (из варианта 1) */

  /* герой: своя пара размеров, крупнее шкалы — это витрина */
  --home-hero-pad: var(--space-9) var(--space-7) var(--space-7);
  --home-hero-title-size: 28px;
  --home-hero-text-size: var(--font-size-subtitle);
  --home-hero-scrim: none;
  --home-hero-text-fg: var(--color-text-secondary);
  --home-hero-title-fg: var(--color-text);

  /* подложка героя: светлая витрина с мягким свечением по углам
     (принят вариант v3, 13.08.2026) — фото не выводится,
     заголовок тёмный, форме нужна граница, а не тень.
     Варианты подменяют только эти токены */
  --home-hero-bg: var(--color-surface);
  --home-hero-photo-display: none;
  --home-hero-photo-filter: none;
  --home-hero-layer:
    radial-gradient(70% 80% at 6% 0%, rgb(var(--color-primary-rgb) / 0.16) 0%, rgb(var(--color-primary-rgb) / 0) 70%),
    radial-gradient(60% 70% at 96% 30%, rgb(var(--color-rating-high-rgb) / 0.12) 0%, rgb(var(--color-rating-high-rgb) / 0) 70%);
  --home-hero-layer-size: auto;
  --home-hero-layer-blend: normal;

  /* форма поиска по нескольким параметрам */
  --hs-pad: var(--space-6);
  --hs-radius: 16px;
  --hs-gap: var(--space-4);
  /* форма стоит на светлой подложке: тень тише, форму держит граница */
  --hs-shadow: 0 8px 24px rgba(11, 11, 30, 0.08);
  --hs-form-border: var(--border-width) solid var(--color-border);
  /* полей в форме два: город и категория. Их доли задаёт токен —
     50 на 50 у эталона, варианты дают городу больше места */
  --hs-fields-template: 1fr 1fr;
  --hs-fields-template-wide: var(--hs-fields-template);
  --hs-form-row-direction: column;     /* на телефоне кнопка «Найти» стоит под полями */
  --hs-submit-label-display: inline;
  --hs-fields-width: 560px;            /* на широком форма не растягивается на всю строку */

  --hs-field-bg: var(--color-surface-muted);
  --hs-field-border: var(--border-width) solid var(--color-border);
  --hs-field-radius: 12px;
  --hs-field-pad: var(--space-4) var(--space-6);
  --hs-label-fg: var(--color-text-muted);
  --hs-value-fg: var(--color-text);

  --hs-submit-bg: var(--color-primary);
  --hs-submit-fg: var(--color-text-inverse);
  --hs-submit-radius: 12px;
  --hs-submit-height: 48px;
  --hs-submit-width: 100%;             /* вариант может оставить одну лупу квадратом */

  /* выпадающий список (принят вариант v1, 13.08.2026): список
     висит под полем, но не упирается в границы витрины — на
     телефоне ему отдано две трети экрана, сверху идёт своя строка
     поиска (городов больше тысячи, категорий шесть десятков).
     Варианты подменяют эти токены (variants/variants-home.css) */
  --hs-drop-position: absolute;
  --hs-drop-inset: calc(100% + var(--space-2)) auto auto 0;
  --hs-drop-inset-last: calc(100% + var(--space-2)) 0 auto auto;
  --hs-drop-display: block;
  --hs-drop-backdrop: transparent;
  --hs-panel-max-height: 62vh;
  --hs-panel-max-width: min(88vw, 440px);
  --hs-head-display: flex;             /* строка поиска внутри списка */
  --hs-head-title-display: none;
  --hs-close-display: none;

  /* герой больше не режет то, что вылезает за его углы: иначе
     длинный список обрезается высотой витрины */
  --home-hero-overflow: visible;

  background: var(--color-bg);
}

/* ------------------------------------------------------------
   Колонка страницы

   Роль .hm-main прототипа здесь играет обёртка .pdd-home, которую
   отдаёт generate_page(). order сбрасывается явно: frontend.css
   задаёт .page-template-newlisting .buttons-new { order: 10 },
   и любой новый flex-контейнер обязан объявить свой порядок сам.
   ------------------------------------------------------------ */
body.pdd .pdd-home {
	/* Базовая типографика прототипа. У прототипа она объявлена на body
	   (13px/1.45), у нас body занят движком, поэтому база живёт на
	   обёртке страницы. Без неё всё, что не задаёт line-height само,
	   наследует 1.3 от frontend.css: поля поиска выходят 51px вместо
	   55, подписи 14 вместо 16, и ряд чипов уезжает вверх. */
	font-size: var(--font-size-meta);
	line-height: var(--line-height-base);

	display: flex;
	flex-direction: column;
	gap: var(--home-gap);
	/* Колонка та же, что у шапки и подвала: прототип на 1280 держит
	   обёртку 40..1240, а карточки внутри неё — 64..1216. Разница
	   ровно в --home-pad, поэтому предел ставим обёртке, а не секциям.

	   Предел — общий --app-max-width, а не своя calc: до 1024 прототип
	   держит колонку в 430px (телефонный макет по центру окна), и на 768
	   содержимое расходилось на все 768 при шапке в 430. На широком экране
	   токен и так равен --content-max + 24 с каждой стороны, то есть 1200. */
	width: 100%;
	max-width: var(--app-max-width);
	margin-inline: auto;
	padding: var(--home-gap) var(--home-pad) 0;
	order: 0;
}

body.pdd .pdd-home > * {
	order: 0;
}

/* Сброс полей у заголовков и абзацев. У прототипа он в main.css одной
   строкой `h1, h2, p { margin: 0 }`; глобально повторить нельзя — под
   body.pdd лежит разметка движка. Поэтому сброс заужен до нашей обёртки:
   расстояния внутри блоков задаёт gap, а не margin заголовка. Без этого
   frontend.css добавляет H1 нижние 20px и герой выше эталона. */
body.pdd .pdd-home :is(h1, h2, h3, h4, p) {
	margin: 0;
}

/* Собственных полей у блоков главной нет — расстояние держит gap
   колонки, как в прототипе. Движок же навешивает свои:

       section              margin-bottom 40px    frontend.css
       .h1..h6, h1..h6      margin-bottom .5rem   bootstrap-слой
       .cap .h1             margin-bottom 15–26px frontend.css / skin.css

   Замер 14.08.2026: между героем и первой секцией выходило 64px
   вместо 24, под каждым заголовком блока — лишние 15–20. */
body.pdd .pdd-home .hm-hero,
body.pdd .pdd-home .hm-section,
body.pdd .pdd-home .hm-seo,
body.pdd .pdd-home .hm-head,
body.pdd .pdd-home .hm-head__title,
body.pdd .pdd-home .hm-head__note,
body.pdd .pdd-home .hm-hero__title,
body.pdd .pdd-home .hm-hero__text,
body.pdd .pdd-home .hm-seo__title {
	margin-bottom: 0;
}

/* ------------------------------------------------------------
   Общие части блоков: заголовок и панель
   ------------------------------------------------------------ */
body.pdd .hm-section {
  display: flex;
  flex-direction: column;
  gap: var(--space-7);
}

body.pdd .hm-head {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

body.pdd .hm-head__title {
  font-size: var(--home-head-size);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-tight);
  letter-spacing: var(--letter-spacing-title);
}

body.pdd .hm-head__note {
  font-size: var(--font-size-subtitle);
  color: var(--color-text-secondary);
}

/* надзаголовок: название блока над его заголовком */
body.pdd .hm-head__kicker {
  font-size: var(--font-size-caption);
  font-weight: var(--font-weight-semibold);
  letter-spacing: 0.04em;
  text-transform: var(--home-kicker-transform, uppercase);
  color: var(--color-primary);
}

body.pdd .hm-head__link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--font-size-control);
  font-weight: var(--font-weight-semibold);
  color: var(--color-primary);
  text-decoration: none;
}

/* ------------------------------------------------------------
   Герой: фото во всю карточку, поверх — заголовок и форма
   ------------------------------------------------------------ */
body.pdd .hm-hero {
  position: relative;
  overflow: var(--home-hero-overflow);
  margin-top: calc(var(--home-gap) * -1);   /* прижат к шапке */
  background: var(--home-hero-bg);
  border-radius: var(--home-radius);
}

body.pdd .hm-hero__photo {
  position: absolute;
  inset: 0;
  display: var(--home-hero-photo-display);
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: var(--home-hero-photo-filter);
}

/* слой узора или свечения: лежит поверх фото, но под содержимым */
body.pdd .hm-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--home-hero-layer);
  background-size: var(--home-hero-layer-size);
  mix-blend-mode: var(--home-hero-layer-blend);
  pointer-events: none;
}

body.pdd .hm-hero__body {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  padding: var(--home-hero-pad);
  background: var(--home-hero-scrim);
}

body.pdd .hm-hero__title {
  font-size: var(--home-hero-title-size);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-tight);
  letter-spacing: var(--letter-spacing-title);
  color: var(--home-hero-title-fg);
}

body.pdd .hm-hero__text {
  font-size: var(--home-hero-text-size);
  color: var(--home-hero-text-fg);
}

/* ------------------------------------------------------------
   Форма поиска: выбор сразу по нескольким параметрам
   Поле — кнопка с подписью и значением, список раскрывается
   под ней; категория прав выбирается пачкой.
   ------------------------------------------------------------ */
body.pdd .hs-form {
  display: flex;
  flex-direction: column;
  gap: var(--hs-gap);
  padding: var(--hs-pad);
  background: var(--color-surface);
  border: var(--hs-form-border);
  border-radius: var(--hs-radius);
  box-shadow: var(--hs-shadow);
}

body.pdd .hs-form__row {
  display: flex;
  flex-direction: var(--hs-form-row-direction);
  align-items: var(--hs-form-row-align, stretch);
  gap: var(--hs-gap);
}

body.pdd .hs-fields {
  display: grid;
  grid-template-columns: var(--hs-fields-template);
  gap: var(--hs-gap);
  flex: 1;
  min-width: 0;
}

body.pdd .hs-field {
  position: relative;
  min-width: 0;
}

body.pdd .hs-field__control {
  display: flex;
  flex-direction: column;
  gap: 1px;
  width: 100%;
  /* button по умолчанию красится в buttontext (чёрный), а не наследует
     цвет текста, как у прототипа (`button { color: inherit }` в main.css) */
  color: inherit;
  padding: var(--hs-field-pad);
  /* Это <button>: без явного цвета браузер красит его в buttontext (чёрный),
     а эталон держит поле в --color-text (rgb(11,11,11)). */
  color: var(--color-text);
  text-align: left;
  background: var(--hs-field-bg);
  border: var(--hs-field-border);
  border-radius: var(--hs-field-radius);
}

body.pdd .hs-field__label {
  font-size: var(--font-size-micro);
  color: var(--hs-label-fg);
}

body.pdd .hs-field__value {
  display: block;
  overflow: hidden;
  font-size: var(--font-size-input);
  font-weight: var(--font-weight-semibold);
  color: var(--hs-value-fg);
  white-space: nowrap;
  text-overflow: ellipsis;
}

body.pdd .hs-field__sign {
  position: absolute;
  top: 50%;
  right: var(--space-5);
  display: inline-flex;
  color: var(--color-icon);
  transform: translateY(-50%);
  transition: transform 160ms ease;
  pointer-events: none;
}

body.pdd .hs-field--open .hs-field__control { border-color: var(--color-primary); }

body.pdd .hs-field--open .hs-field__sign {
  color: var(--color-primary);
  transform: translateY(-50%) rotate(180deg);
}

/* Выпадающий список. Место списка задают токены --hs-drop-*:
   у эталона он висит под полем коробочкой, варианты делают из него
   длинный список, шторку снизу или экран целиком */
body.pdd .hs-field__drop {
  position: var(--hs-drop-position, absolute);
  z-index: 20;
  inset: var(--hs-drop-inset, calc(100% + var(--space-2)) auto auto 0);
  display: none;
  align-items: var(--hs-drop-align, stretch);
  min-width: var(--hs-drop-min-width, 100%);
  background: var(--hs-drop-backdrop, transparent);
}

body.pdd .hs-field--open .hs-field__drop { display: var(--hs-drop-display, block); }

/* второе поле раскрывается влево: иначе список уезжает за край экрана */
body.pdd .hs-fields .hs-field:last-child .hs-field__drop {
  inset: var(--hs-drop-inset-last);
}

body.pdd .hs-field__panel {
  display: flex;
  flex-direction: column;
  width: var(--hs-panel-width, max-content);
  min-width: 100%;
  max-width: var(--hs-panel-max-width, min(92vw, 420px));
  max-height: var(--hs-panel-max-height, 264px);
  padding: var(--space-3);
  background: var(--color-surface);
  border: var(--hs-panel-border, var(--border-width) solid var(--color-border-strong));
  border-radius: var(--hs-panel-radius, var(--radius-lg));
  box-shadow: var(--shadow-float);
}

/* шапка списка: название поля, строка поиска и крестик.
   У эталона её нет — токены прячут всю строку */
body.pdd .hs-field__head {
  position: relative;
  display: var(--hs-head-display, none);
  flex-direction: column;
  gap: var(--space-3);
  flex: none;
  padding: var(--space-2) var(--space-2) var(--space-4);
}

body.pdd .hs-field__head-title {
  display: var(--hs-head-title-display, none);
  font-size: var(--font-size-card-title);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text);
}

body.pdd .hs-field__search {
  position: relative;
  display: flex;
  align-items: center;
}

body.pdd .hs-field__search-icon {
  position: absolute;
  left: var(--space-4);
  display: inline-flex;
  color: var(--color-icon);
  pointer-events: none;
}

body.pdd .hs-field__input {
  width: 100%;
  height: 40px;
  padding: 0 var(--space-5) 0 40px;
  font-size: var(--font-size-input);
  color: var(--color-text);
  background: var(--color-surface-muted);
  border: var(--border-width) solid var(--color-border);
  border-radius: var(--radius-md);
}

body.pdd .hs-field__input:focus {
  border-color: var(--color-primary);
  outline: none;
}

body.pdd .hs-field__close {
  position: absolute;
  top: var(--space-2);
  right: var(--space-2);
  display: var(--hs-close-display, none);
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  color: var(--color-icon);
  background: var(--color-surface-muted);
  border-radius: var(--radius-pill);
}

body.pdd .hs-field__list {
  display: flex;
  flex-direction: column;
  gap: 1px;
  overflow: auto;
}

body.pdd .hs-field__empty {
  padding: var(--space-5);
  font-size: var(--font-size-control);
  color: var(--color-text-muted);
  text-align: center;
}

body.pdd .hs-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-5);
  width: 100%;
  min-height: 34px;
  padding: 0 var(--space-5);
  font-size: var(--font-size-control);
  color: var(--color-text);
  text-align: left;
  white-space: nowrap;
  border-radius: var(--radius-sm);
}

body.pdd .hs-option:hover { background: var(--color-surface-muted); }
body.pdd .hs-option__mark { display: none; }

body.pdd .hs-option.is-active {
  color: var(--color-text-inverse);
  background: var(--color-primary);
}

body.pdd .hs-option.is-active:hover { background: var(--color-primary-hover); }
body.pdd .hs-option.is-active .hs-option__mark { display: inline-flex; }

body.pdd .hs-form__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-4);
  flex: 0 0 auto;
  width: var(--hs-submit-width);
  height: var(--hs-submit-height);
  padding: 0 var(--space-8);
  font-size: var(--font-size-button);
  font-weight: var(--font-weight-semibold);
  color: var(--hs-submit-fg);
  background: var(--hs-submit-bg);
  /* рамку кнопке даёт тема (2px чёрным): в эталоне её нет */
  border: 0;
  border-radius: var(--hs-submit-radius);
  border: 0;   /* frontend.css вешает на button рамку 2px */
}

/* подпись кнопки: вариант может оставить на телефоне одну лупу */
body.pdd .hs-form__submit span { display: var(--hs-submit-label-display); }

body.pdd .hs-chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}

body.pdd .hs-chip {
  /* У прототипа чип — <button>, и содержимое ему центрирует сам браузер.
     У нас это <a> (чип ведёт на отфильтрованный листинг), а у ссылки
     строка ложится к верху блока: при высоте 32 и строке 18.85 текст
     стоял в 1px от верхней грани вместо 7. Центруем руками. */
  display: inline-flex;
  align-items: center;
  justify-content: center;

  height: var(--control-height-chip);
  padding: 0 var(--space-6);
  font-size: var(--font-size-control);
  color: var(--color-text);
  background: var(--color-surface);
  border: var(--border-width) solid var(--color-border-strong);
  border-radius: var(--radius-lg);
}

body.pdd .hs-chip.is-active {
  color: var(--color-text-inverse);
  background: var(--color-primary);
  border-color: var(--color-primary);
}

/* ------------------------------------------------------------
   Как это работает
   Панели-шаги: номер, название, текст. На телефоне парами,
   на широком экране в один ряд (см. конец файла).
   ------------------------------------------------------------ */
body.pdd .hm-steps {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
}

body.pdd .hm-step {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-7);
  background: var(--home-panel-bg);
  border: var(--home-panel-border);
  border-radius: var(--home-radius);
  box-shadow: var(--home-panel-shadow);
}

body.pdd .hm-step__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  font-size: var(--font-size-control);
  font-weight: var(--font-weight-bold);
  color: var(--color-primary);
  background: var(--color-primary-soft);
  border-radius: var(--radius-pill);
}

body.pdd .hm-step__title {
  font-size: var(--font-size-card-title);
  font-weight: var(--font-weight-semibold);
}

body.pdd .hm-step__text {
  font-size: var(--font-size-caption);
  color: var(--color-text-secondary);
}

/* Картинки у шага в макете нет: она появляется, только если её завели
   в настройках главной. Место под неё — как под иконку блока доверия. */
body.pdd .hm-step__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
}

body.pdd .hm-step__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* ------------------------------------------------------------
   Карточки школ
   ------------------------------------------------------------ */
body.pdd .hm-cards {
  display: grid;
  grid-template-columns: repeat(var(--home-card-columns), minmax(0, 1fr));
  gap: var(--space-5);
}

body.pdd .hm-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--home-panel-bg);
  border: var(--home-panel-border);
  border-radius: var(--home-radius);
  box-shadow: var(--home-panel-shadow);
}

body.pdd .hm-card__media {
  position: relative;
  display: block;
}

body.pdd .hm-card__media img {
  /* display: block — иначе под картинкой остаётся строчный отступ
     под базовую линию: 5px лишней высоты у медиа карточки. В прототипе
     его снимал общий сброс img, в теме такого сброса нет. */
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

/* бейдж — общий .rating, здесь только место на фото */
body.pdd .hm-card__rating {
  top: var(--space-5);
  left: var(--space-5);
}

/* на телефоне карточек в ряду две, поэтому тело плотнее,
   а плашка преимущества показывается только на широком экране */
body.pdd .hm-card__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  padding: var(--space-5);
}

body.pdd .hm-card__title {
  font-size: var(--font-size-card-title);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text);
  text-decoration: none;
}

body.pdd .hm-card__metro {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  font-size: var(--font-size-caption);
  color: var(--color-text-secondary);
}

body.pdd .hm-card__metro-icon { color: var(--color-metro); display: inline-flex; }

body.pdd .hm-card__perk {
  display: none;
  align-self: flex-start;
  padding: 2px var(--space-4);
  font-size: var(--font-size-micro);
  color: var(--color-primary);
  background: var(--color-primary-soft);
  border-radius: var(--radius-xs);
}

body.pdd .hm-card__foot {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-4);
  margin-top: var(--space-2);
}

body.pdd .hm-card__price {
  font-size: var(--font-size-price);
  font-weight: var(--font-weight-bold);
}

body.pdd .hm-card__from {
  font-size: var(--font-size-micro);
  font-weight: var(--font-weight-regular);
  color: var(--color-text-muted);
}

body.pdd .hm-card__reviews {
  font-size: var(--font-size-caption);
  color: var(--color-text-muted);
}

/* Обёртка подборки. В макете внутри неё бывают вкладки и подписи-ярлыки,
   у нас — только сами карточки: ни вкладок подборок, ни ярлыков
   «Высокий рейтинг» в базе нет. */
body.pdd .hm-picks {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}

/* ------------------------------------------------------------
   Почему нам можно доверять
   Панель: вводный текст, под ним карточки-обещания и подпись.
   Вид карточек задают токены --home-trust-*
   ------------------------------------------------------------ */
body.pdd .hm-trust {
  display: flex;
  flex-direction: column;
  gap: var(--space-7);
  padding: var(--home-trust-pad);
  color: var(--home-trust-fg);
  background: var(--home-trust-bg);
  border: var(--home-trust-border);
  border-radius: var(--home-radius);
  box-shadow: var(--home-trust-shadow);
}

body.pdd .hm-trust__lead {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

body.pdd .hm-trust__text {
  font-size: var(--font-size-subtitle);
  line-height: var(--line-height-relaxed);
  color: var(--home-trust-muted);
}

body.pdd .hm-trust__cards {
  display: grid;
  grid-template-columns: repeat(var(--home-trust-columns), minmax(0, 1fr));
  gap: var(--space-5);
}

body.pdd .hm-trust__card {
  display: flex;
  flex-direction: var(--home-trust-card-direction);
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--home-trust-card-pad);
  background: var(--home-trust-card-bg);
  border: var(--home-trust-card-border);
  border-radius: var(--home-trust-card-radius);
}

body.pdd .hm-trust__icon {
  display: var(--home-trust-icon-display);
  align-items: center;
  justify-content: center;
  flex: none;
  width: 34px;
  height: 34px;
  color: var(--color-primary);
  background: var(--color-primary-soft);
  border-radius: var(--radius-md);
}

body.pdd .hm-trust__num {
  display: var(--home-trust-num-display);
  align-items: center;
  justify-content: center;
  flex: none;
  width: 28px;
  height: 28px;
  font-size: var(--font-size-caption);
  font-weight: var(--font-weight-bold);
  color: var(--color-primary);
  background: var(--color-primary-soft);
  border-radius: var(--radius-pill);
}

body.pdd .hm-trust__card-title {
  font-size: var(--font-size-card-title);
  font-weight: var(--font-weight-semibold);
}

body.pdd .hm-trust__card-text {
  font-size: var(--font-size-caption);
  line-height: var(--line-height-relaxed);
  color: var(--home-trust-muted);
}

body.pdd .hm-trust__note {
  font-size: var(--font-size-caption);
  line-height: var(--line-height-relaxed);
  color: var(--color-text-muted);
}

/* короткий текст: у карточек только название, они встают парами
   и идут строкой — иконка слева от подписи */
body.pdd .hm-trust--short {
  --home-trust-columns: 2;
  --home-trust-icon-display: inline-flex;
  --home-trust-num-display: none;
  --home-trust-card-direction: row;
  --home-trust-card-pad: var(--space-5);
}

body.pdd .hm-trust--short .hm-trust__card { align-items: center; }
body.pdd .hm-trust--short .hm-trust__card-title { font-size: var(--font-size-control); }

/* ------------------------------------------------------------
   Карта
   ------------------------------------------------------------ */
body.pdd .hm-map {
  display: grid;
  overflow: hidden;
  background: var(--home-panel-bg);
  border: var(--home-panel-border);
  border-radius: var(--home-radius);
}

/* карта-заглушка: картинка города под тёмной вуалью, поверх неё
   бейджи школ и кнопка «Открыть карту» посередине */
body.pdd .hm-map__canvas {
  position: relative;
  min-height: var(--home-map-height);
  background:
    linear-gradient(0deg, var(--color-border-strong) 1px, transparent 1px) 0 0 / 100% 34px,
    linear-gradient(90deg, var(--color-border-strong) 1px, transparent 1px) 0 0 / 34px 100%,
    var(--color-surface-muted);
}

/* ------------------------------------------------------------
   Отзывы
   ------------------------------------------------------------ */
body.pdd .hm-reviews {
  display: grid;
  grid-template-columns: repeat(var(--home-review-columns), minmax(0, 1fr));
  gap: var(--space-5);
}

body.pdd .hm-review {
  display: flex;
  flex-direction: column;
  gap: var(--home-review-gap);
  padding: var(--home-review-pad);
  background: var(--home-panel-bg);
  border: var(--home-panel-border);
  border-left: var(--home-review-accent) solid var(--color-primary);
  border-radius: var(--home-radius);
  box-shadow: var(--home-panel-shadow);
}

body.pdd .hm-review__head {
  display: flex;
  align-items: center;
  gap: var(--space-5);
}

/* звёзды прижаты к правому краю строки с именем */
body.pdd .hm-review__head .hm-review__stars { margin-left: auto; }

body.pdd .hm-review__avatar {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: var(--home-review-avatar);
  height: var(--home-review-avatar);
  font-weight: var(--font-weight-semibold);
  color: var(--color-primary);
  background: var(--color-primary-soft);
  border-radius: var(--radius-pill);
}

body.pdd .hm-review__name {
  font-size: var(--font-size-card-title);
  font-weight: var(--font-weight-semibold);
}

body.pdd .hm-review__date {
  font-size: var(--font-size-micro);
  color: var(--color-text-muted);
}

/* сами звёзды рисует общий компонент .stars (site.js),
   здесь только место в строке */
body.pdd .hm-review__stars {
  display: flex;
}

body.pdd .hm-review__text {
  font-size: var(--home-review-text-size);
  line-height: var(--line-height-snug);
  color: var(--color-text-secondary);
}

/* школа из отзыва — ссылка на её карточку */
body.pdd .hm-review__school {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  align-self: flex-start;
  margin-top: auto;
  font-size: var(--font-size-control);
  font-weight: var(--font-weight-semibold);
  color: var(--color-primary);
  text-decoration: none;
}

/* ------------------------------------------------------------
   Вопросы
   ------------------------------------------------------------ */
body.pdd .hm-faq {
  overflow: hidden;
  background: var(--home-panel-bg);
  border: var(--home-panel-border);
  border-radius: var(--home-radius);
}

body.pdd .hm-faq__item { border-top: var(--home-panel-border); }
body.pdd .hm-faq__item:first-child { border-top: 0; }

body.pdd .hm-faq__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-6);
  width: 100%;
  padding: var(--space-7);
  font-size: var(--font-size-card-title);
  font-weight: var(--font-weight-medium);
  text-align: left;
}

body.pdd .hm-faq__sign {
  display: inline-flex;
  color: var(--color-icon);
  transition: transform 160ms ease;
}

body.pdd .hm-faq__item--open .hm-faq__sign {
  color: var(--color-primary);
  transform: rotate(180deg);
}

body.pdd .hm-faq__answer {
  display: none;
  padding: 0 var(--space-7) var(--space-7);
  font-size: var(--font-size-subtitle);
  color: var(--color-text-secondary);
}

body.pdd .hm-faq__item--open .hm-faq__answer { display: block; }

/* ------------------------------------------------------------
   Статьи
   ------------------------------------------------------------ */
body.pdd .hm-articles {
  display: grid;
  gap: var(--space-5);
}

body.pdd .hm-article {
  display: flex;
  gap: var(--space-6);
  padding: var(--space-5);
  color: var(--color-text);
  text-decoration: none;
  background: var(--home-panel-bg);
  border: var(--home-panel-border);
  border-radius: var(--home-radius);
}

body.pdd .hm-article__photo {
  flex: 0 0 96px;
  width: 96px;
  height: 72px;
  object-fit: cover;
  border-radius: var(--radius-md);
}

body.pdd .hm-article__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  justify-content: center;
}

body.pdd .hm-article__title {
  font-size: var(--font-size-card-title);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-snug);
}

body.pdd .hm-article__note {
  font-size: var(--font-size-micro);
  color: var(--color-text-muted);
}

/* ------------------------------------------------------------
   Перелинковка: разделы, города и категории ссылками

   Вкладка — сегмент блога, кнопка под ней — корень дерева фильтров,
   плитка — категория. Все сетки напечатаны сразу, вкладки только
   показывают и прячут (pdd-home.js).
   ------------------------------------------------------------ */
body.pdd .hm-links {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
  padding: var(--home-panel-pad);
  background: var(--home-panel-bg);
  border: var(--home-panel-border);
  border-radius: var(--home-radius);
  box-shadow: var(--home-panel-shadow);
}

body.pdd .hm-links__tabs {
  display: flex;
  gap: var(--space-7);
  overflow-x: auto;
  scrollbar-width: none;
}

body.pdd .hm-links__tabs::-webkit-scrollbar { display: none; }

body.pdd .hm-links__tab {
  flex: 0 0 auto;
  /* поля целиком, а не одним padding-bottom: у голой <button> остаются
     системные 1px/6px, и вкладка выходит шире эталонной */
  padding: 0 0 var(--space-4);
  font-size: var(--font-size-control);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-muted);
  white-space: nowrap;
  border-bottom: 2px solid var(--color-border);
}

body.pdd .hm-links__tab.is-active {
  color: var(--color-text);
  border-bottom-color: var(--color-primary);
}

/* Панель вкладки: в макете её содержимое лежит прямо в .hm-links,
   потому что вкладка там одна и подставляется скриптом. У нас
   напечатаны все — колонку держит сама панель. */
body.pdd .hm-links__pane,
body.pdd .hm-links__set {
  display: none;
  flex-direction: column;
  gap: var(--space-6);
}

body.pdd .hm-links__pane.is-active,
body.pdd .hm-links__set.is-active { display: flex; }

body.pdd .hm-links__kinds {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}

body.pdd .hm-links__kind {
  height: var(--control-height-chip);
  padding: 0 var(--space-6);
  font-size: var(--font-size-control);
  color: var(--color-primary);
  background: var(--color-surface);
  border: var(--border-width) solid var(--color-primary);
  border-radius: var(--radius-pill);
}

body.pdd .hm-links__kind.is-active {
  color: var(--color-text-inverse);
  background: var(--color-primary);
}

body.pdd .hm-links__grid {
  display: grid;
  grid-template-columns: repeat(var(--home-links-columns, 2), minmax(0, 1fr));
  gap: var(--space-4);
}

body.pdd .hm-link {
  display: flex;
  align-items: center;
  min-height: 46px;
  padding: 0 var(--space-6);
  overflow: hidden;
  font-size: var(--font-size-control);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text);
  text-decoration: none;
  white-space: nowrap;
  text-overflow: ellipsis;
  background: var(--home-link-bg, var(--color-primary-soft));
  border-radius: var(--radius-md);
}

body.pdd .hm-link:hover {
  color: var(--color-text-inverse);
  background: var(--color-primary);
}

/* В прототипе это <button>, у нас — настоящая ссылка на листинг.
   Отсюда display: block с выключкой по центру, а не flex: у блочной
   ссылки те же размеры, что у кнопки прототипа. */
body.pdd .hm-links__all {
  display: block;
  box-sizing: border-box;
  align-self: stretch;
  height: 44px;
  padding: 12px var(--space-6);
  font-size: var(--font-size-button);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-inverse);
  text-align: center;
  text-decoration: none;
  background: var(--color-primary);
  border-radius: var(--radius-lg);
}

/* ------------------------------------------------------------
   Текст внизу
   ------------------------------------------------------------ */
body.pdd .hm-seo {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

body.pdd .hm-seo__title {
  font-size: var(--font-size-section);
  font-weight: var(--font-weight-bold);
  /* иначе h2 движка держит 1.6 вместо эталонных 1.45 */
  line-height: var(--line-height-base);
}

body.pdd .hm-seo__text {
  font-size: var(--font-size-caption);
  color: var(--color-text-secondary);
}body.pdd .pdd-home .rating {
  position: absolute;
  top: var(--space-4);
  left: var(--space-4);
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: 3px var(--space-3);
  font-size: var(--font-size-badge);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-tight);
  color: var(--color-rating-text);
  border-radius: var(--radius-sm);
}

body.pdd .pdd-home .rating--high {
  background: var(--color-rating-high);
}

body.pdd .pdd-home .rating--mid {
  background: var(--color-rating-mid);
}

body.pdd .pdd-home .rating--low {
  background: var(--color-rating-low);
}

body.pdd .pdd-home .stars {
  position: relative;
  display: inline-flex;
  flex: 0 0 auto;
  line-height: 0;
}

body.pdd .pdd-home .stars__row {
  display: flex;
  gap: 1px;
}

body.pdd .pdd-home .stars__row svg {
  flex: 0 0 auto;
}

body.pdd .pdd-home .stars__base {
  color: var(--color-star-empty);
}

body.pdd .pdd-home .stars__fill {
  position: absolute;
  inset: 0;
  width: var(--stars-fill, 0%);
  overflow: hidden;
  color: var(--color-star);
}

/* ------------------------------------------------------------
   Отличия от прототипа

   В прототипе эти места набраны статикой; движок отдаёт их иначе,
   и разница закрывается здесь, а не правкой чужих файлов.
   ------------------------------------------------------------ */

/* Заголовок блока набран тегом <header>, а тема красит голый header
   под шапку сайта: белый фон и свои поля. Сбрасываем — это заголовок
   секции, а не шапка. */
body.pdd .hm-head {
	padding: 0;
	background: none;
	border: 0;
	box-shadow: none;
}

/* Прототип опирался на общий сброс для <button>, которого в теме нет:
   без него у кнопки остаётся системный серый фон. Кнопки, у которых
   фон задан своим правилом (.hs-field__control, .hs-form__submit,
   .hs-option.is-active), сюда не входят — их бы это правило погасило. */
body.pdd .hm-faq__question,
body.pdd .hs-option,
body.pdd .hs-field__close,
body.pdd .hm-links__tab {
	appearance: none;
	color: inherit;
	background: none;
	box-shadow: none;
	cursor: pointer;
}

body.pdd .hm-faq__question,
body.pdd .hs-option,
body.pdd .hs-field__close {
	border: 0;
}

/* У вкладки перелинковки своя нижняя черта, у кнопки вида — своя рамка
   и фон: обнулять их нечем, снимаем только системный вид кнопки. */
body.pdd .hm-links__tab {
	border-inline: 0;
	border-top: 0;
}

body.pdd .hm-links__kind {
	appearance: none;
	box-shadow: none;
	cursor: pointer;
}

/* Кнопка поиска ждёт ответа движка (на боевых объёмах — секунды)
   либо под выбор нет объектов. В прототипе этих состояний нет:
   там список школ лежит в JS и отвечает мгновенно. */
body.pdd .hs-form__submit:disabled {
	opacity: var(--field-disabled-opacity);
	cursor: default;
}

body.pdd .hs-form--busy .hs-form__submit {
	cursor: progress;
}

/* Причины в блоке доверия идут с текстом, а не одним заголовком:
   строкой они не помещаются. */
body.pdd .hm-trust {
	--home-trust-card-direction: column;
}

/* Ответ в аккордеоне приходит из wpautop() — это <div> с <p> внутри,
   а не один <p>, как в макете. */
body.pdd .hm-faq__answer > p {
	margin: 0 0 var(--space-3);
}

body.pdd .hm-faq__answer > p:last-child {
	margin-bottom: 0;
}

/* Кнопка «Читать целиком» под длинным отзывом: в макете отзывы
   короткие и кнопки нет вовсе. */
body.pdd .hm-review__more {
	align-self: flex-start;
	padding: 0;
	font-size: var(--font-size-caption);
	font-weight: var(--font-weight-medium);
	color: var(--color-primary);
	background: none;
	border: 0;
	cursor: pointer;
}

body.pdd .hm-review__more:hover {
	color: var(--color-primary-hover);
}

/* Отзыв тянется на всю высоту ряда, ссылка на школу прижата к низу. */
body.pdd .hm-review__school {
	margin-top: auto;
}

/* Плашка рейтинга у объекта без миниатюры: в потоке тела карточки,
   а не поверх фото. */
body.pdd .hm-card__rating--inline {
	position: static;
	align-self: flex-start;
}

/* Заголовок объекта может прийти длинным: в макете названия короткие. */
body.pdd .hm-card__title {
	overflow-wrap: anywhere;
}

/* Карта: внутри .hm-map__canvas лежит контейнер Яндекса от движка,
   а не картинка-заглушка прототипа. Сетку-заглушку убираем, чтобы
   она не просвечивала сквозь тайлы, и растягиваем контейнер. */
body.pdd .hm-map__canvas {
	background: var(--color-surface-muted);
}

body.pdd .hm-map__canvas .ym-container,
body.pdd .hm-map__canvas > ymaps {
	width: 100%;
	height: var(--home-map-height);
}

body.pdd .hm-map__canvas .map-loading {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Заслонка «Открыть карту» — чужая, её кладёт поверх карты сам движок.
   Место ей оставляем его, правим только кегль: заголовок набран кеглем
   шапки сайта и в блок не влезал, обрезаясь по краю. */
body.pdd .hm-map__canvas .home-map-button .left {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--space-4);
	max-width: 320px;
}

body.pdd .hm-map__canvas .home-map-button .title {
	font-size: var(--font-size-card-title);
	font-weight: var(--font-weight-semibold);
	line-height: var(--line-height-snug);
	color: var(--color-text);
}

body.pdd .hm-map__canvas .toggle-ym {
	height: var(--control-height-button);
	padding: 0 var(--space-6);
	font-size: var(--font-size-button);
	font-weight: var(--font-weight-semibold);
	color: var(--color-text);
	background: var(--color-surface);
	border: var(--border-width) solid var(--color-border);
	border-radius: var(--radius-md);
	cursor: pointer;
}

/* Картинки блока доверия приходят из медиатеки: в макете это svg-иконка
   фиксированного размера, здесь — произвольный файл. */
body.pdd .hm-trust__icon img {
	width: 20px;
	height: 20px;
	object-fit: contain;
}

/* Нижний текст: изображение под текстом, если оно задано в настройках. */
body.pdd .hm-seo__media img {
	width: 100%;
	height: auto;
	border-radius: var(--radius-lg);
}

body.pdd .hm-seo__text p {
	margin: 0 0 var(--space-4);
}

body.pdd .hm-seo__text p:last-child {
	margin-bottom: 0;
}

/* Список городов длинный (1113 значений) — панель обязана скроллиться
   сама, иначе выпадающий список растягивает страницу. */
body.pdd .hs-field__list {
	overscroll-behavior: contain;
}

/* Галочка выбранного значения нарисована рамкой, а не svg: иначе
   иконка повторилась бы в разметке 1117 раз. */
body.pdd .hs-option__mark {
	width: 12px;
	height: 7px;
	border: 0 solid currentColor;
	border-left-width: 1.8px;
	border-bottom-width: 1.8px;
	transform: rotate(-45deg) translate(1px, -2px);
}

/* ------------------------------------------------------------
   ШИРОКИЙ ЭКРАН
   Правила ширины — в конце файла: web.css выведен из-под правок.
   ------------------------------------------------------------ */
@media (min-width: 1024px) {

	/* Поле вокруг колонки на широком экране темнее полотна телефона:
	   в эталоне это `.home { background: var(--color-bg-desktop) }`
	   (design2/assets/css/home.css, стр. 1712). Фон body задан в main.css
	   с !important и заморожен, поэтому подменяем сам токен под классом
	   главной — ровно так это делает и прототип. */
	body.pdd.pdd-home-page {
		--color-bg: var(--color-bg-desktop);
	}

	body.pdd .pdd-home {
		--home-gap: 56px;
		--home-pad: 24px;
		--home-card-columns: 3;
		--home-panel-pad: var(--space-8);
		--home-hero-pad: 64px var(--space-9) 44px;
		--home-hero-title-size: 44px;
		--home-hero-text-size: 16px;
		--home-review-columns: 3;
		--hs-panel-max-height: 31vh;
	}

	body.pdd .hm-head {
		flex-direction: row;
		align-items: baseline;
		justify-content: space-between;
		gap: var(--space-7);
	}

	body.pdd .hm-steps {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	body.pdd .hm-links {
		--home-links-columns: 3;
	}

	body.pdd .hm-links__all {
		align-self: center;
		min-width: 320px;
		padding-inline: var(--space-9);
	}

	body.pdd .hm-hero__title {
		max-width: 720px;
	}

	body.pdd .hm-hero__text {
		max-width: 620px;
	}

	body.pdd .hs-form__row {
		flex-direction: row;
		align-items: flex-end;
	}

	body.pdd .hs-fields {
		flex: 0 1 var(--hs-fields-width);
		grid-template-columns: var(--hs-fields-template-wide);
	}

	body.pdd .hs-form__submit {
		width: auto;
		min-width: 200px;
	}

	body.pdd .hm-card__body {
		padding: var(--space-6);
		gap: var(--space-3);
	}

	body.pdd .hm-articles {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	body.pdd .hm-article {
		flex-direction: column;
		padding: var(--space-6);
	}

	body.pdd .hm-article__photo {
		flex: none;
		width: 100%;
		height: 160px;
	}

	body.pdd .hm-map__canvas {
		min-height: var(--home-map-height-wide);
	}

	body.pdd .hm-map__canvas .ym-container,
	body.pdd .hm-map__canvas > ymaps {
		height: var(--home-map-height-wide);
	}

	body.pdd .hm-section--trust .hm-head {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--space-2);
	}

	body.pdd .hm-trust {
		--home-trust-columns: 4;
	}

	body.pdd .hm-seo {
		max-width: 900px;
	}
}

/* ---- Герой-поиск главной на сенсорных — 16px ----

   Порог автозума Safari на iOS: при фокусе в поле мельче 16px страница
   масштабируется и обратно не отматывается. Разбор — раздел 26
   в listing.css. */
@media (pointer: coarse) {

	body.pdd .hs-field__input {
		font-size: 16px;
	}
}
