/* Тап-таргеты: WCAG 2.5.5 (AAA, 44x44) и 2.5.8 (AA, 24x24) — FINISHER-TC-66.
 *
 * Принцип: НЕ трогаем визуальный размер иконок и не двигаем вёрстку Тильды
 * (в zero-блоках элементы позиционируются абсолютно, любой padding поедет).
 * Вместо этого расширяем ТОЛЬКО область нажатия прозрачным ::after внутри самой
 * ссылки/кнопки — палец попадает в 44x44, картинка остаётся прежней.
 *
 * width:45px + min-width:100% = max(45px, собственная ширина): широкие кнопки
 * не сжимаются, узкие иконки дорастают. 45, а не 44 — zero-блоки Тильды
 * отмасштабированы под ширину экрана (коэффициент ~0.999), и ровно 44px CSS
 * дают 43.995 реальных пикселя, то есть формально мимо порога.
 *
 * Шаг иконок в подвале — 45px, в блоке контактов — 56px, бургер отстоит от края
 * на 11px: 44px везде помещается без наложения соседних зон.
 *
 * Что осознанно НЕ трогаем: ссылки внутри строки текста («политикой обработки
 * персональных данных» в согласии и в cookie-баннере). У 2.5.8 есть явное
 * исключение для inline-ссылок в предложении, а раздувание их высоты разрывает
 * строку. Кликабельна при этом вся подпись согласия целиком — см. ниже min-height.
 */

/* ---- 1. Иконки и кнопки-иконки: невидимая зона 44x44 вокруг ---------------- */
a[href="#menuopen"],
a.tn-atom.t-bgimg,
.t450__right_social_links a,
.t-sociallinks__item a,
.t-popup__block-close-button,
.t450__close-button,
.t-popup__close-wrapper {
  position: relative;
}

a[href="#menuopen"]::after,
a.tn-atom.t-bgimg::after,
.t450__right_social_links a::after,
.t-sociallinks__item a::after,
.t-popup__block-close-button::after,
.t450__close-button::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 45px;
  height: 45px;
  min-width: 100%;
  min-height: 100%;
}

/* ---- 2. Текстовые ссылки-кнопки в zero-блоке (телефон, почта, меню) -------- */
/* Ширина у них и так больше 44 — добираем только высоту, по центру.
 * Ссылки внутри .tn-atom перечислены поимённо (tel/mailto/privacy): это
 * самостоятельные ссылки-строки. Ссылки внутри предложения сюда не попадают. */
a.tn-atom[href^="tel:"],
a.tn-atom[href^="mailto:"],
a.tn-atom.t978__tm-link,
.tn-atom a[href^="tel:"],
.tn-atom a[href^="mailto:"],
.tn-atom a[href="/privacy"],
.t450__right_descr a,
.t450__logo_container a {
  position: relative;
  display: inline-block;
}

a.tn-atom[href^="tel:"]::after,
a.tn-atom[href^="mailto:"]::after,
a.tn-atom.t978__tm-link::after,
.tn-atom a[href^="tel:"]::after,
.tn-atom a[href^="mailto:"]::after,
.tn-atom a[href="/privacy"]::after,
.t450__right_descr a::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  height: 45px;
  min-height: 100%;
}

/* ---- 3. Пункты выезжающего меню ------------------------------------------- */
.t450__menu__item .t-menu__link-item,
.t450 .t-menu__link-item {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 45px;
}

/* ---- 4. Согласие на обработку ПДн ----------------------------------------- */
/* Сам квадратик 15–23px, но кликабельна вся подпись — поднимаем её до 44px
 * по высоте, и тогда таргетом становится весь блок, а не квадратик. */
.t-checkbox__control,
.t-checkbox__control_flex {
  min-height: 45px;
  display: flex;
  align-items: center;
}

/* ---- 5. Поля форм ---------------------------------------------------------- */
/* 43px у маски телефона — на 1px мимо порога; выравниваем весь набор полей. */
.t-input,
.t-select,
.t-input-phonemask,
.t-submit,
.t-btnflex {
  min-height: 45px;
  box-sizing: border-box;
}

/* Выбор страны в маске телефона — отдельная кнопка внутри поля.
 * Именно ::after, а не min-height: сам флаг — это спрайт 18x13 с background-image,
 * ему любое изменение высоты растягивает картинку. */
.t-input-phonemask__select {
  position: relative;
}

.t-input-phonemask__select::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  height: 45px;
  min-height: 100%;
}

/* ---- 6. Кнопка «наверх» ---------------------------------------------------- */
.fin-totop {
  min-width: 45px;
  min-height: 45px;
}

/* ---- 7. Ссылки на отзывы 2ГИС в блоке отзывов ------------------------------ */
/* «ещё» и «Отзыв с 2ГИС» — строки высотой 15–16px внутри карточки отзыва. */
.tn-atom a[href*="2gis.ru"] {
  position: relative;
  display: inline-block;
}

.tn-atom a[href*="2gis.ru"]::after {
  content: "";
  position: absolute;
  top: 50%;
  /* «ещё» — строка шириной 33px: по высоте зону подняли, а по ширине она
   * оставалась 33px и не проходила порог. Расширяем в обе стороны. */
  left: -9px;
  right: -9px;
  transform: translateY(-50%);
  height: 45px;
  min-height: 100%;
}

/* ---- 8. Блог: фильтр по рубрикам ------------------------------------------- */
/* Селекторы намеренно из двух классов: свои стили блога лежат в <style> внутри
 * <body>, то есть ПОЗЖЕ нашего <link> в <head>. При равной специфичности
 * выиграли бы они, поэтому здесь она на класс выше. */
.fb-tags .fb-chip {
  min-height: 45px;
  box-sizing: border-box;
}

/* Ярлык рубрики на карточке дублирует чип фильтра выше — по 2.5.8 это
 * «эквивалентный элемент управления на той же странице», и AAA-порог 44px к
 * нему не обязателен. Доводим до AA-порога 24px, не раздувая карточку. */
.fb-card .fb-card__cat {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
}
