/* NeiroStaff · общие правила для телефонов (29.09.2026).
   Страница никогда не должна быть шире экрана: всё, что шире, либо ужимается, либо
   прокручивается внутри своей рамки. Подключён на всех страницах и в генераторах страниц. */

/* Страховка: даже если что-то выступит, страница не сдвигается вбок. clip, а не hidden —
   hidden делает body прокручиваемым контейнером и ломает прилипающую шапку. */
html, body { max-width: 100%; overflow-x: clip; }

@media (max-width: 600px) {
  /* Шапка: логотип + одна главная кнопка. Второстепенные («На главную», «Цены»,
     «Интеграции») скрываем — логотип и так ведёт на главную, остальное есть в подвале. */
  .topbar .in { gap: 10px; }
  .topbar .in > div { min-width: 0; }
  .topbar .btn-ghost { display: none; }
  .topbar .btn { padding: 8px 12px; font-size: 13.5px; white-space: nowrap; }
  .topbar .brand { flex-shrink: 0; }

  /* Широкие таблицы прокручиваются внутри себя, а не растягивают страницу. */
  table { display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }

  /* Таблицы услуг и цен (в рамке .tbl-scroll и .pr) — стопкой карточек: три колонки
     в 360 px не читаются, а прокрутка вбок прячет цену. Название, описание и цена идут
     друг под другом, строка заголовков скрыта. Таблицы кабинета (.t) не трогаем. */
  .tbl-scroll > table:not(.t), table.pr { display: block; overflow: hidden; min-width: 0 !important; }
  .tbl-scroll > table:not(.t) :is(tbody, tr, td), table.pr :is(tbody, tr, td) { display: block; width: 100%; }
  .tbl-scroll > table:not(.t) thead, table.pr tr:has(> th) { display: none; }
  .tbl-scroll > table:not(.t) tbody tr, table.pr tr { padding: 13px 15px; border-top: 1px solid rgba(0,0,0,.07); }
  .tbl-scroll > table:not(.t) tbody tr:first-child, table.pr tr:nth-child(2) { border-top: 0; }
  .tbl-scroll > table:not(.t) td, table.pr td { padding: 0 !important; border: 0 !important; text-align: left !important; white-space: normal !important; }
  .tbl-scroll > table:not(.t) td + td, table.pr td + td { margin-top: 6px; }
  .tbl-scroll > table:not(.t) td:first-child, table.pr td:first-child { font-weight: 600; font-size: 15px; line-height: 1.35; }

  /* Картинки и видео — не шире экрана. */
  img, video { max-width: 100%; height: auto; }

  /* Длинные адреса и слова переносятся. */
  a, p, li, h1, h2, h3 { overflow-wrap: anywhere; }
  /* В ячейках таблиц — только break-word: «anywhere» разрешает рвать слово по букве,
     и соседняя колонка без переноса (цены) сжимала текст в столбик по одной букве. */
  td, th { overflow-wrap: break-word; }

  /* Главная: карточка первого экрана с меньшими полями. */
  .hero-left { padding: 22px; }

  /* Кнопки-действия переносятся на новую строку, если не помещаются. */
  .cta-row, .hero-cta { flex-wrap: wrap; }
}
