/* Баннер согласия на статических лендингах — ОДИН источник на все страницы.
 *
 * ⚠️Аудит 2026-08-06, подпункт 8.10. До этого стиль лежал инлайном в каждом из 34
 * лендингов — 34 побайтово одинаковые копии одного правила. Пока они совпадали,
 * это было терпимо; беда в том, что чинить приходилось бы все 34 сразу, а
 * тридцать пятый лендинг завели бы уже со старым баннером. Ровно этот разъезд
 * копий и породил большинство находок текущего аудита.
 *
 * Скрипт баннера НЕ выносится и остаётся инлайном: он сросся с инициализацией
 * Яндекс.Метрики, а её нельзя уводить из <head> — счётчик начнёт грузиться позже,
 * и статистика по рекламным кампаниям сдвинется.
 *
 * Находка: на телефоне баннер накрывал главную кнопку первого экрана. Он прибит
 * `position:fixed; bottom:12px` без единого мобильного правила, а на узком экране
 * текст ложится в три строки и вместе с двумя рядами кнопок раздувает его до
 * 136 px — тап по кнопке уходил в баннер. Затронуты были все 34 лендинга, то есть
 * весь платный и поисковый трафик на мобильных при первом заходе.
 */

#zntm-cc{position:fixed;left:12px;right:12px;bottom:12px;z-index:99999;background:#1c1813;color:#f3ece2;padding:13px 16px;border-radius:12px;display:flex;gap:14px;align-items:center;justify-content:center;flex-wrap:wrap;font:14px/1.45 Inter,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;box-shadow:0 10px 34px rgba(0,0,0,.32);max-width:1080px;margin:0 auto}
#zntm-cc a{color:#f5a35a}
/* Короткая версия текста живёт рядом с длинной и включается медиазапросом.
 * Ссылка на Политику есть в ОБЕИХ — сокращать согласие до «мы что-то собираем»
 * нельзя, это требование 152-ФЗ, а не косметика. */
#zntm-cc .zntm-short{display:none}
#zntm-cc .zntm-b{display:flex;gap:8px;flex-shrink:0}
#zntm-cc button{cursor:pointer;border:0;border-radius:8px;padding:9px 15px;font-weight:600;font-size:13px;font-family:inherit}
#zntm-cc button[data-a="1"]{background:#f58220;color:#fff}
#zntm-cc button[data-a="0"]{background:#3a352e;color:#e6ded2}

/* ── Узкий экран ────────────────────────────────────────────────────────────
 * Баннер уезжает НАВЕРХ, к шапке, — снизу он неминуемо ложится на кнопку.
 *
 * ⚠️Числа ниже НЕ расчётные, а снятые в браузере на стенде (360×640 и 375×667,
 * страница без cookie согласия). Подбирались тремя заходами: длинный текст ложился
 * в три строки, баннер раздувался, и с большим резервом главная кнопка уезжала за
 * нижнюю кромку — тап красть переставали, но кнопку становилось не видно.
 * Действующий вариант — короткий текст в ОДНУ строку; его замеры в блоке про
 * резерв ниже.
 *
 * ⚠️Числа отвергнутых попыток здесь намеренно НЕ приводятся. Они относились к
 * прежней вёрстке, пережили её и начали противоречить действующим замерам: файл
 * одновременно утверждал, что один и тот же резерв и спасает кнопку, и уводит её
 * за кромку.
 * Выведенными числами их не заменяю — это выдало бы расчёт за замер.
 *
 * ⚠️В приложении (CookieConsent.tsx) баннер на узком экране тоже уходит наверх, но
 * место сверху там НАМЕРЕННО не резервируется. Это не рассогласование, а разные
 * страницы: в приложении карточка формы выше короткого экрана, и резерв опускал
 * кнопку за нижний край. На лендингах наоборот — сверху липкая шапка с кнопкой,
 * и без резерва баннер накрыл бы её.
 */
@media (max-width:600px){
  #zntm-cc{
    top:4px;left:8px;right:8px;bottom:auto;
    flex-direction:column;align-items:stretch;
    gap:3px;padding:5px 10px;font-size:12px;line-height:1.3;
  }
  /* Длинный текст ложился в ТРИ строки и раздувал баннер. С резервом под такую
   * высоту главная кнопка первого экрана уезжала за нижнюю кромку — тап
   * переставали красть, но и кнопку становилось не видно. Короткий вариант —
   * одна строка. */
  #zntm-cc .zntm-long{display:none}
  #zntm-cc .zntm-short{display:inline}
  #zntm-cc .zntm-b{width:100%}
  #zntm-cc .zntm-b button{flex:1;padding:6px;font-size:12px}

  /* Освобождаем место под баннером: иначе он накроет липкую шапку с кнопкой
   * «Начать бесплатно» — то есть мы бы поменяли одну перекрытую кнопку на
   * другую. Резерв применяется ТОЛЬКО пока баннер в документе: скрипт удаляет
   * его после выбора, и отступ уходит вместе с ним, без пустой полосы сверху.
   * `:has()` без поддержки просто не сработает — тогда поведение ровно такое
   * же, как было до правки, хуже не станет. */
  /* Резерв 64 при фактической высоте баннера 57 (замер на стенде) — запас 3 px.
   *
   * ⚠️Числа подбирались ЗАМЕРОМ, а не расчётом, и уточнялись трижды. Прежние
   * варианты (длинный текст, короткий в две строки) уводили кнопку за кромку и
   * отвергнуты. Здесь короткий текст ложится в ОДНУ строку, и на 360×640 кнопка
   * видна целиком с запасом 5 px, на 375×667 — с запасом 17.
   * Меняя текст баннера, перемеряйте: он задаёт высоту, а высота — сдвиг всей
   * страницы. */
  body:has(#zntm-cc){padding-top:64px}
  body:has(#zntm-cc) header.site{top:64px}
}
