/* ============================================================================
   INGRIAFARM — пальцевые цели: на touch ничего мельче 44px.

   У мыши курсор — точка, у пальца подушечка около 44px. По цели меньшего
   размера человек мажет: попадает в соседнюю ссылку или не попадает вовсе
   и решает, что кнопка не работает.

   Файл подключается ПОСЛЕДНИМ — после @stack('theme_head'), то есть после
   home.css и прочих постраничных стилей. Это обязательно: правила ниже
   целятся в те же селекторы с той же специфичностью, что и базовые размеры,
   и выигрывают только порядком. Поднять <link> выше = молча всё отключить.

   Зачем отдельным файлом. Пальцевые правила витрины успели расползтись по
   четырём файлам с РАЗНЫМИ величинами: 38px у счётчика корзины, 40px у чипов,
   44px у иконок шапки, 46px у кнопок инструмента. Половина витрины
   подтянулась, а ссылки подвала так и остались 17px, заголовки блоков
   категорий — 26px, тумблер темы — 30px. Сравнить их было негде. Теперь
   величина одна и видна целиком; сторож — tests/Unit/IngriafarmTouchTargetsTest.php.

   ОСОЗНАННЫЕ ИСКЛЮЧЕНИЯ — их не забыли, их не трогаем:
   — ссылки внутри предложения: «В каталог» в пустом избранном (`.if-fav-empty a`,
     стоит в конце фразы) и ссылки в тексте контентных страниц
     (`.af-page__text p a`, вроде «Dolphin Anty») — расширенная зона тапа
     наехала бы на соседние строки абзаца; по WCAG 2.5.8 инлайновые ссылки в
     тексте из правила выведены;
   — `.af-tool__label` на странице инструмента — это подпись НАД полем, а не
     кнопка: растянув её до 44px, мы бы оторвали подпись от самого поля.

   Берём min-height, а не height: у части контролов есть крупные варианты,
   и жёсткий размер их обрезал бы. Там, где элемент — обычный блок или
   inline-block, добавляем inline-flex с центрированием: иначе коробка
   вырастет, а текст останется прижат к её верху и поедет относительно
   соседей по строке.
   ============================================================================ */
@media (pointer: coarse) {

    /* --- Шапка --------------------------------------------------------- */
    /* Иконки шапки и флажок языка уже 44px — они переехали сюда из
       theme-extra.css как есть, чтобы величина жила в одном месте. */
    .header__search, .header__fav, .header__toggler { width: 44px; height: 44px; }
    .header__lang {
        display: inline-flex; align-items: center; justify-content: center;
        min-width: 44px; min-height: 44px;
    }
    /* Пункты меню: было 43px — не хватало ровно пикселя. min-width нужен
       горизонтальной раскладке шапки (от 1024): там самый короткий пункт
       «2FA» занимал 26px по ширине. В выпадающем меню телефона пункты и так
       во всю ширину, так что min-width там ничего не меняет. */
    .nav-link { display: flex; align-items: center; min-width: 44px; min-height: 44px; }
    .header__link-login {
        display: flex; align-items: center; justify-content: center; min-height: 44px;
    }

    /* Тумблер светлой и тёмной темы. Сама пилюля (::before, 45×27) и её
       кнопка (::after) остаются прежними — растёт только коробка кнопки.
       Отрицательные margin съедают прибавку, чтобы строка меню не разъехалась,
       а сдвиг top у псевдоэлементов держит пилюлю на прежнем месте. */
    .button-theme-change {
        padding-top: 36px; padding-bottom: 8px;
        margin-top: -8px; margin-bottom: -6px;
    }
    .button-theme-change::before { top: 8px; }
    .button-theme-change::after { top: 12px; }

    /* --- Каталог ------------------------------------------------------- */
    .main__navigation-link { min-height: 44px; }
    .if-sort__chip { min-height: 44px; }
    /* Заголовок блока категории — единственный вход в категорию из этого
       блока (в разметке это <h4><a>…</a></h4>), значит цель обязана быть
       пальцевой. */
    .product-section__title-link { min-height: 44px; }
    .if-fav--card { width: 44px; height: 44px; }

    /* Счётчик количества и «в корзину» на карточке товара: кнопки −/+ были
       24×40 — самая мелкая цель витрины. */
    .if-qty__btn { min-width: 44px; min-height: 44px; }
    .if-qty__input { min-height: 44px; font-size: 16px; }
    .if-add-form button { min-height: 44px; }

    /* --- Подвал --------------------------------------------------------
       Ссылкам даём высоту вместо зазора между пунктами: столбец остаётся
       примерно прежней высоты, но промахнуться между ссылками больше некуда.
       Подчёркивание-«ниточка» (::after) висит на -3px от коробки, поэтому при
       росте коробки его надо вернуть под текст, иначе оно уедет вниз. */
    .ifn-list--cols li { margin-bottom: 0; }
    /* min-width — ради самой короткой ссылки («О нас», 42px по тексту);
       подчёркивание тянется по коробке и становится шире текста на пиксель
       с каждой стороны, этого не видно. */
    .ifn-link { display: inline-flex; align-items: center; min-width: 44px; min-height: 44px; }
    /* Текст центрируется в коробке 44px, его низ оказывается в 14px от низа
       коробки; ниточка должна остаться в 3px под текстом — значит 11px. */
    .ifn-link::after { bottom: 11px; }

    /* --- Инструмент проверки ------------------------------------------- */
    .if-tool__crumbs a { display: inline-flex; align-items: center; min-height: 44px; }
    .af-tool__run, .af-btn2, .af-tool__tab { min-height: 46px; }

    /* --- Корзина -------------------------------------------------------- */
    /* «В каталог» на пустой корзине — самостоятельная кнопка, было 40px. */
    .orange-btn, .if-cart__empty-btn { min-height: 44px; }
    .if-cart__row-remove { width: 44px; height: 44px; }
    .if-cart__coupon-remove { min-width: 44px; min-height: 44px; }
    .if-qty--cart .if-qty__btn { min-width: 44px; min-height: 44px; }
    .if-qty--cart .if-qty__input { min-height: 44px; font-size: 16px; }
    #body .b-popup__edit, #body .if-cartm .b-popup__edit { width: 44px; height: 44px; }

    .if-trail__clear { padding: 12px 4px; }
}
