/**
 * Глобальные правки вёрстки по всему сайту:
 * — текст не вылезает из блоков
 * — длинные слова переносятся
 * — flex-контейнеры не дают контенту выходить за границы
 *
 * @import helpexcel-tokens.css — подключает переменные var(--he-*),
 * используемые ниже и в helpexcel-ui.css. Этот @import — единственная
 * точка подключения токенов в Tilda-страницах (site-fixes.css уже стоит
 * в <head> каждой page*.html через head-code Tilda).
 */
@import url("helpexcel-tokens.css");

/* ──────────────────────────────────────────────────────────────
 * Universal text/overflow safety net for all Tilda blocks.
 * Ставим первым блоком, чтобы любой ниже идущий точечный селектор
 * мог его переопределить.
 * ────────────────────────────────────────────────────────────── */
#allrecords .t-descr,
#allrecords .t-title,
#allrecords .t-text,
#allrecords .tn-atom {
  overflow-wrap: break-word;
  word-break: break-word;
  max-width: 100%;
  min-width: 0;
}

#allrecords .t396__elem .tn-atom,
#allrecords .tn-atom[class*="tn-atom"] {
  overflow-wrap: break-word;
  word-wrap: break-word;
  word-break: break-word;
  max-width: 100%;
}
#allrecords .t396__group,
#allrecords .t396__elem {
  min-width: 0;
}
#allrecords .t396__artboard {
  overflow: hidden;
}
#allrecords .t-rec .t-title,
#allrecords .t-rec .t-descr,
#allrecords .t-text {
  overflow-wrap: break-word;
  word-break: break-word;
  max-width: 100%;
}
#allrecords .t-col {
  min-width: 0;
}

/* TODO audit: universalize or keep */
/* — Пункт меню «Блог» в хедере: не обрезать букву «г» (минимальная ширина) */
#allrecords .t396__elem[data-elem-id="1670235435137"] {
  min-width: 48px !important;
}
#allrecords .t396__elem[data-elem-id="1670235435137"] .tn-atom {
  min-width: 48px !important;
  white-space: nowrap;
}

/* — Списки: избегаем наложения строк и пунктов */
#allrecords .t-list__container_inrow3 .t-list__item,
#allrecords .t1052__col,
#allrecords .t1052__text,
#allrecords .t-descr ul,
#allrecords .t-text ul {
  line-height: var(--he-line-height-text, 1.5);
  margin-bottom: 0.75em;
}
#allrecords .t1052__text.t-descr,
#allrecords .t-descr.t-descr_sm,
#allrecords .t-descr.t-descr_md {
  min-height: 1.5em;
  overflow-wrap: break-word;
}
#allrecords li {
  margin-bottom: 0.35em;
}

/* — Аккордеон t585: текст не налезает */
#allrecords .t585__textwrapper,
#allrecords .t585__text {
  line-height: var(--he-line-height-text, 1.5);
  padding: 0.5em 0;
  overflow-wrap: break-word;
}

/* — Заголовки секций: отступ снизу, чтобы следующий блок не перекрывал */
#allrecords .t050__title,
#allrecords .t-section__title,
#allrecords .t-title.t-title_xxl {
  padding-bottom: 0.5em;
  margin-bottom: 0.25em;
}

/* — Zero block t396: контент не обрезать, минимальные отступы между элементами */
#allrecords .t396__artboard {
  min-height: auto;
}
#allrecords .t396__elem[data-elem-type="text"] .tn-atom {
  line-height: 1.4;
  padding-bottom: 0.35em;
}
/* Текстовые элементы с autoheight: разрешаем рост по высоте, чтобы списки не налезали */
#allrecords .t396__elem[data-elem-type="text"][data-field-textfit-value="autoheight"] {
  min-height: 0;
}
#allrecords .t396__elem[data-elem-type="text"][data-field-textfit-value="autoheight"] .tn-atom {
  height: auto !important;
  min-height: 1em;
}
/* Заголовок над цветным/фото блоком: отступ, чтобы не перекрывало (тильда «Кто будет вас сопровождать» и т.п.) */
#allrecords .t050__title + .t050__descr,
#allrecords .t396__elem[data-elem-type="text"] + .t396__elem[data-elem-type="shape"],
#allrecords .t396__elem[data-elem-type="text"] + .t396__elem[data-elem-type="image"] {
  margin-top: 0.5em;
}

/* TODO audit: universalize or keep */
/* — Блок «Услуги» (аутсорсинг): больше высота артборда, чтобы цена и кнопка не обрезались и не слипались */
#rec703367511 .t396__artboard {
  min-height: 1400px;
}
#rec703367511 .t396__elem .tn-atom {
  overflow: visible;
}
#rec703367511 .t396__elem[data-elem-type="text"] .tn-atom {
  height: auto !important;
}
@media screen and (max-width: 1199px) {
  #rec703367511 .t396__artboard { min-height: 1200px; }
}
@media screen and (max-width: 959px) {
  #rec703367511 .t396__artboard { min-height: 1700px; }
}
@media screen and (max-width: 639px) {
  #rec703367511 .t396__artboard { min-height: 1500px; }
}
@media screen and (max-width: 479px) {
  #rec703367511 .t396__artboard { min-height: 1300px; }
}

/* TODO audit: universalize or keep */
/* — Главная (page67728523): H1 «Устали не понимать, где деньги?» слишком крупный
     и налезает на подзаголовок «Настроим финансы так…» справа.
     Уменьшаем ~15 % визуально через transform — не ломает Tilda inline font-size. */
#allrecords .t396__elem[data-elem-id="1745654054999"] .tn-atom {
  transform: scale(0.85);
  transform-origin: top left;
  /* чтобы соседним элементам не «отъедало» — transform не трогает flow */
}

/* Глобальное смягчение «Extra large» Tilda-заголовков: обрезаем хвост строки,
   если текст всё-таки задевает соседние элементы (safety net). */
#allrecords .t396__elem[data-field-textfit-value="fixedsize"] .tn-atom {
  overflow: visible;
  white-space: normal;
}

/* TODO audit: universalize or keep */
/* — /templates (page106717156): баннер «Поможем с внедрением за 7 дней …»
     Шрифт крупнее, чем вмещает фикс-бокс → текст переходит на 3-ю строку
     и налезает на блок «Основатели HelpExcel …» ниже. */
#allrecords .t396__elem[data-elem-id="1766679987656000001"] .tn-atom {
  font-size: 32px !important;
  line-height: var(--he-line-height-heading, 1.2) !important;
}
@media (max-width: 960px) {
  #allrecords .t396__elem[data-elem-id="1766679987656000001"] .tn-atom {
    font-size: 26px !important;
  }
}

/* — Universal safety net: элемент типа text с fixedsize НЕ должен налегать
     на соседний по вертикали блок. Если высоты не хватает — текст может
     обрезаться, но не перекрывать. Tilda авторенде обычно задаёт высоту
     ровно под текст, так что clip не видим. */
#allrecords .t396__elem[data-elem-type="text"][data-field-textfit-value="fixedsize"] .tn-atom {
  overflow: visible !important;
  white-space: normal !important;
}

/* ──────────────────────────────────────────────────────────────
 * Футер (rec467319182) + префутер-CTA (rec651202564) — на мобилке
 * Tilda задаёт абсолютное позиционирование с фиксированными высотами
 * элементов, не учитывая перенос строк. Тексты наезжают (обнаружено
 * через scripts/layout-audit.mjs на ~40 страницах).
 * Фикс: на < 640 px текстовые блоки становятся в поток (static).
 * ────────────────────────────────────────────────────────────── */
@media (max-width: 640px) {
  /* артборд — высота по содержимому */
  #rec467319182 .t396__artboard,
  #rec651202564 .t396__artboard {
    height: auto !important;
    min-height: auto !important;
  }
  /* текстовые элементы — в статический поток */
  #rec467319182 .t396__elem[data-elem-type="text"],
  #rec651202564 .t396__elem[data-elem-type="text"] {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    width: calc(100% - 40px) !important;
    max-width: calc(100% - 40px) !important;
    height: auto !important;
    margin: 0 20px 14px !important;
  }
  /* внутренний .tn-atom — убираем принудительную высоту */
  #rec467319182 .t396__elem[data-elem-type="text"] .tn-atom,
  #rec651202564 .t396__elem[data-elem-type="text"] .tn-atom {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    white-space: normal !important;
  }
}

/* TODO audit: universalize or keep */
/* — Copyright «© 2016-2025 HelpExcel.pro …» на desktop имеет фиксированную
     высоту блока ~100 px, а текст при своей длине занимает больше,
     из-за чего снизу налезает элемент «Договор оферты».
     Разрешаем автоматическое расширение высоты + добавляем padding. */
#rec467319182 .t396__elem[data-elem-id="1475162434807"] {
  height: auto !important;
  min-height: 100px !important;
  padding-bottom: 8px !important;
}
#rec467319182 .t396__elem[data-elem-id="1475162434807"] .tn-atom {
  height: auto !important;
  overflow: visible !important;
}
/* аналогично: НАПРАВЛЕНИЯ / ДРУГИЕ РЕСУРСЫ list-блоки — могут переноситься */
#rec467319182 .t396__elem[data-elem-id="1656746311168"],
#rec467319182 .t396__elem[data-elem-id="1656746401487"] {
  height: auto !important;
  overflow: visible !important;
}

/* — Главная: H2 «Настроим финансы так…» (elem 1674114237753) не помещается
     в width 460px и при overflow:hidden обрезается слева. Разрешаем
     авто-ширину и небольшое увеличение контейнера.
     Scope: только rec985048181 на главной — этот же elem-id используется
     как H1 hero на 350+ tilda-страницах с длинным заголовком (901px). */
#rec985048181 .t396__elem[data-elem-id="1674114237753"] {
  width: auto !important;
  max-width: 560px !important;
}
#rec985048181 .t396__elem[data-elem-id="1674114237753"] .tn-atom {
  overflow: visible !important;
  white-space: normal !important;
  width: auto !important;
}

/* — CTA-секция «Хотите обсудить свой проект?» (elem 1658286637904)
     общая для 758 страниц. С FuturaPT натуральная ширина строки 843px,
     контейнер 831px → переносится на 2 строки и налезает на subtitle
     (top:206px). Чуть ужимаем заголовок, чтобы влезал в 1 строку.
     Только десктоп (>1199px); мобильные брейкпоинты Tilda сами задают
     меньшие font-size (40/37/32px) и не ломаются. */
@media screen and (min-width: 1200px) {
  #allrecords .t396__elem[data-elem-id="1658286637904"] .tn-atom {
    font-size: 56px !important;
    line-height: 1.15 !important;
  }
}

/* — /autocomplete-instruction/: H1 hero «Шаблон по настройке
     автозаполнятора документов.light» (rec595965788/elem 1674114237753)
     при font-size 64px не влезает в width 901px → 3-4 строки и
     налезает на кнопки «Открыть шаблон» / «Инструкция по настройке».
     Ужимаем до 48px, чтобы помещался в 2 строки. */
@media screen and (min-width: 1200px) {
  #rec595965788 .t396__elem[data-elem-id="1674114237753"] .tn-atom {
    font-size: 48px !important;
    line-height: 1.05 !important;
  }
}

/* TODO audit: universalize or keep */
/* — Копирайт-блок действительно пересекает «Договор оферты» снизу
     (моя предыдущая правка увеличила его height, но Tilda не сдвинула
     следующий блок). Сдвигаем "Договор оферты" явно вниз. */
#rec467319182 .t396__elem[data-elem-id="1664795437811"] {
  top: calc(var(--copyright-top, 9122px) + 40px) !important;
}
/* Компактный копирайт, чтобы уместиться в свой бокс */
#rec467319182 .t396__elem[data-elem-id="1475162434807"] .tn-atom {
  font-size: 11px !important;
  line-height: 1.3 !important;
}

/* TODO audit: universalize or keep */
/* — Главная страница — hero H1 "Устали не понимать, где деньги?".
     С FuturaPT→Jost (helpexcel-fonts.css) заголовок помещается
     в 2 строки на исходной Tilda-ширине 1059px при font-size 88px
     (line 1 "Устали не понимать," ~1050px, line 2 "где деньги?" ~350px).
     Подзаголовок H2 "Настроим финансы..." абсолютно позиционирован
     справа (left=941, top=335) — попадает в пустое пространство
     справа от line 2, как и задумано в Tilda-макете.
     Раньше сужали до 650px чтобы убрать наезд при fallback-шрифте;
     теперь с Jost это не нужно, оставлять сужение — значит разрывать
     задуманную композицию (подзаголовок уезжает в пустоту справа). */
#allrecords .t396__elem[data-elem-id="1745654054999"] .tn-atom {
  transform: none !important;
  font-size: 88px !important;
  line-height: 0.95 !important;
  white-space: normal !important;
}
@media (max-width: 960px) {
  #allrecords .t396__elem[data-elem-id="1745654054999"] .tn-atom {
    font-size: 48px !important;
  }
}

/* TODO audit: universalize or keep */
/* — Copyright: предыдущий фикс с var() не сработал (переменная не задана,
     fallback не применился к Tilda inline-top). Задаём top абсолютно. */
#rec467319182 .t396__elem[data-elem-id="1664795437811"] {
  top: 9170px !important;
}

/* ──────────────────────────────────────────────────────────────
 * /outsourcing/ — rec710045524: длинные заголовки карточек 2-й/3-й строки
 * (Tilda фикс-ширина 327px) wrap'ятся на 3-4 строки и накладываются на
 * description ниже. Расширяем заголовки до полной ширины карточки
 * и сдвигаем descriptions + дно карточек вниз на ~30px.
 * Затрагивает только desktop (≥1200) — mobile breakpoint'ы имеют
 * достаточный gap.
 * ────────────────────────────────────────────────────────────── */
@media (min-width: 1200px) {
  /* Заголовки в карточках 2-й/3-й строки расширяем до ширины карточки */
  #rec710045524 .tn-elem[data-elem-id="1707915826638"],
  #rec710045524 .tn-elem[data-elem-id="1707915826643"] {
    width: 510px !important;
  }
  /* Описания в проблемных карточках сдвигаем вниз */
  #rec710045524 .tn-elem[data-elem-id="1707132125580"] { top: 543px !important; }
  #rec710045524 .tn-elem[data-elem-id="1707132276127"] { top: 802px !important; }
  /* Описания в правой колонке для симметрии */
  #rec710045524 .tn-elem[data-elem-id="1707132238038"] { top: 510px !important; }
  #rec710045524 .tn-elem[data-elem-id="1707132278978"] { top: 802px !important; }
  /* Высоту фоновых карточек увеличиваем чтобы вместить смещенный текст */
  #rec710045524 .tn-elem[data-elem-id="1707132179170"],
  #rec710045524 .tn-elem[data-elem-id="1707132238035"] { height: 270px !important; }
  #rec710045524 .tn-elem[data-elem-id="1707132276123"],
  #rec710045524 .tn-elem[data-elem-id="1707132278974"] { top: 660px !important; height: 270px !important; }
  /* 2-ая строка: заголовки тоже сдвигаем вниз чтобы не вылезали из увеличенной карточки */
  #rec710045524 .tn-elem[data-elem-id="1707915826643"],
  #rec710045524 .tn-elem[data-elem-id="1707915826646"] { top: 740px !important; }
  /* Ярлыки/иконки строки 2 двигаем синхронно */
  #rec710045524 .tn-elem[data-elem-id="1707133933263"] { top: 692px !important; }
  #rec710045524 .tn-elem[data-elem-id="1707134125090"] { top: 685px !important; }
  /* Расширяем артборд rec'а */
  #rec710045524 .t396__artboard,
  #rec710045524 .t396__filter,
  #rec710045524 .t396__carrier { height: 1010px !important; }
}
@media (min-width: 960px) and (max-width: 1199px) {
  /* На 960-1199 карточки уже не помещают длинный title — сдвигаем descriptions */
  #rec710045524 .tn-elem[data-elem-id="1707132125580"] { top: 535px !important; }
  #rec710045524 .tn-elem[data-elem-id="1707132276127"] { top: 850px !important; }
  #rec710045524 .tn-elem[data-elem-id="1707132238038"] { top: 535px !important; }
  #rec710045524 .tn-elem[data-elem-id="1707132278978"] { top: 825px !important; }
  #rec710045524 .tn-elem[data-elem-id="1707132179170"],
  #rec710045524 .tn-elem[data-elem-id="1707132238035"] { height: 295px !important; }
  #rec710045524 .tn-elem[data-elem-id="1707132276123"],
  #rec710045524 .tn-elem[data-elem-id="1707132278974"] { top: 695px !important; height: 295px !important; }
  #rec710045524 .tn-elem[data-elem-id="1707915826643"],
  #rec710045524 .tn-elem[data-elem-id="1707915826646"] { top: 780px !important; }
  #rec710045524 .t396__artboard,
  #rec710045524 .t396__filter,
  #rec710045524 .t396__carrier { height: 1060px !important; }
}

/* /outsourcing/ — rec710039026: title "Отчет о движении денег (ДДС)"
 * (font 36px, ширина 462) wrap'ит на 2 строки и наезжает на description.
 * Аналогично "Бюджетирование и платежный календарь", "Отчет о прибылях
 * и убытках (ОПУ)" и т.д. — у всех 36px заголовков нужен запас высоты.
 * Расширяем bounding-box заголовков и сдвигаем описания вниз. */
@media (min-width: 1200px) {
  /* DDS title (правая, 2 строки) — сдвигаем desc + bullet 2 */
  #rec710039026 .tn-elem[data-elem-id="1707408885822"] { width: 510px !important; }
  #rec710039026 .tn-elem[data-elem-id="1707408885825"] { top: 870px !important; }
  #rec710039026 .tn-elem[data-elem-id="1707408885828"] { top: 1075px !important; }
  /* Аудит title (левая, 1 строка) — bullets не наезжают, gap удобный */
  #rec710039026 .tn-elem[data-elem-id="1688476593264"] { top: 905px !important; }
  #rec710039026 .tn-elem[data-elem-id="1688476593274"] { top: 1050px !important; }
}

/* ──────────────────────────────────────────────────────────────
 * /avtomatizaciya-neyrosetyami/ — несколько overlap'ов после
 * редактирования контента в Tilda:
 *   1) H1 "Внедрение нейросетей в бизнес: реальные задачи..."
 *      (rec1114595251 elem 1717593223651) фиксирован font 52px /
 *      height 120 → wrap на 3 строки → налезает на subtitle ниже.
 *   2) Текст "Хочешь увидеть, как это работает?" (rec1114530486
 *      elem 1750354070729) фиксирован height 44 → wrap на 5 строк →
 *      налезает на блок выше.
 *   3) Hero CTA "Получить консультацию" уезжает за первый экран
 *      из-за общего сдвига контента — фикс H1 решает каскадно.
 * ────────────────────────────────────────────────────────────── */

/* H1 «Внедрение нейросетей в бизнес...» — снимаем фикс высоту, уменьшаем шрифт */
#rec1114595251 .tn-elem[data-elem-id="1717593223651"] {
  height: auto !important;
  min-height: 120px !important;
}
#rec1114595251 .tn-elem[data-elem-id="1717593223651"] .tn-atom {
  white-space: normal !important;
  font-size: 32px !important;
  line-height: 1.2 !important;
}
@media (max-width: 1199px) {
  #rec1114595251 .tn-elem[data-elem-id="1717593223651"] .tn-atom {
    font-size: 28px !important;
  }
}
#rec1114595251 .t396__artboard,
#rec1114595251 .t396__filter,
#rec1114595251 .t396__carrier {
  height: auto !important;
  min-height: 130px !important;
}

/* WhatsApp CTA «Хочешь увидеть...» в карточке Кейсов — снимаем фикс высоту */
#rec1114530486 .tn-elem[data-elem-id="1750354070729"] {
  height: auto !important;
  min-height: 44px !important;
}
#rec1114530486 .tn-elem[data-elem-id="1750354070729"] .tn-atom {
  white-space: normal !important;
  overflow: visible !important;
  height: auto !important;
}
/* Карточка Кейса слегка выше, чтобы вместить расширившийся текст */
#rec1114530486 .t396__artboard,
#rec1114530486 .t396__filter,
#rec1114530486 .t396__carrier {
  height: auto !important;
  min-height: 560px !important;
}

/* ──────────────────────────────────────────────────────────────
 * T396 hero: кнопка + субтитр не наезжают на длинный H1
 * Элементы с этими ID — общие для ~70 страниц (instruction/guide).
 * font-size: 64px, line-height: 1, H1 от top:140px.
 * 4 строки = 256px → H1 заканчивается на 396px.
 * Сдвигаем кнопку на 410px и субтитр на 458px.
 *
 * ВАЖНО: ID 1674114036967 встречается ещё на ~20 страницах БЕЗ этой
 * кнопки (например /personal_finance/), где исходный layout другой.
 * Поэтому правило ограничено артбордом, в котором реально есть
 * кнопка 1674622305483 (через :has()).
 * ────────────────────────────────────────────────────────────── */
@media screen and (min-width: 1200px) {
  .t396__artboard:has(.tn-elem[data-elem-id="1674622305483"]) .tn-elem[data-elem-id="1674622305483"] {
    top: 410px !important;
  }
  .t396__artboard:has(.tn-elem[data-elem-id="1674622305483"]) .tn-elem[data-elem-id="1674114036967"] {
    top: 458px !important;
  }
}
@media screen and (min-width: 960px) and (max-width: 1199px) {
  .t396__artboard:has(.tn-elem[data-elem-id="1674622305483"]) .tn-elem[data-elem-id="1674622305483"] {
    top: 340px !important;
  }
  .t396__artboard:has(.tn-elem[data-elem-id="1674622305483"]) .tn-elem[data-elem-id="1674114036967"] {
    top: 390px !important;
  }
}

/* ──────────────────────────────────────────────────────────────
 * Главная (rec985048181) — отмена hero-fix.
 *
 * На guide/instruction-страницах:
 *   1674622305483 = кнопка (top:332, height:55)
 *   1674114036967 = субтитр (top:392)
 * → правило выше двигает кнопку на 410, субтитр на 458 (кнопка над субтитром).
 *
 * На главной семантика обратная:
 *   1674114036967 = кнопка «Получить бесплатную консультацию» (top:506)
 *   1674622305483 = субтитр «Финансовый директор…» (top:521, height:66)
 * → :has()-правило применяется и переставляет их вверх ногами:
 *   субтитр уезжает на top:410 (bottom:476), кнопка на top:458 → overlap 18px.
 *
 * Возвращаем оригинальные tilda-позиции для rec985048181 на тех же брейкпоинтах,
 * на которых правило выше реально срабатывает (≥960px).
 * ────────────────────────────────────────────────────────────── */
@media screen and (min-width: 1200px) {
  #rec985048181 .tn-elem[data-elem-id="1674622305483"] { top: 521px !important; }
  #rec985048181 .tn-elem[data-elem-id="1674114036967"] { top: 506px !important; }
}
@media screen and (min-width: 960px) and (max-width: 1199px) {
  #rec985048181 .tn-elem[data-elem-id="1674622305483"] { top: 445px !important; }
  #rec985048181 .tn-elem[data-elem-id="1674114036967"] { top: 326px !important; }
}

/* ──────────────────────────────────────────────────────────────
 * MOBILE (≤ 479 px) — hero-блоки, где h1 при autoheight расширяется
 * на 4 строки и наезжает на subtitle/sticker, расположенные с
 * Tilda-фиксированным абсолютным top.
 * ────────────────────────────────────────────────────────────── */
@media (max-width: 639px) {
  /* — Главная (rec985048181):
       h1 «Устали не понимать, где деньги?» (id=1745654054999) на mobile
       рендерится с font-size:48 (правило выше @media max-width:960),
       autoheight → 4 строки = ~155 px и наезжает на subtitle (top:100).
       Уменьшаем до 32 px → текст в 3 строки ~ 96 px, subtitle помещается. */
  #allrecords .t396__elem[data-elem-id="1745654054999"] .tn-atom {
    font-size: 32px !important;
    line-height: 1.05 !important;
  }
}

@media (max-width: 639px) {
  /* — finaccount (rec1373819991):
       sticker «standart» (id=1710138540307) и subtitle (id=1636696360448)
       на 375 px стоят с top:286/320 при h1 (id=1627555357129) top:288/h:42.
       «standart» перекрывается с subtitle. Сдвигаем subtitle ниже. */
  #rec1373819991 .tn-elem[data-elem-id="1636696360448"] {
    top: 360px !important;
  }
}

@media (min-width: 480px) and (max-width: 639px) {
  /* На res-480 (480-639) Tilda задаёт h1 left:-17/width:490 → буква «У»
     уезжает за viewport. Возвращаем в видимую зону. */
  #rec985048181 .t396__elem[data-elem-id="1745654054999"] {
    left: 10px !important;
    width: 460px !important;
  }
  /* h1 (32 px) в 2 строки → bottom ~130 px от artboard;
     subtitle (id=1674114237753) на res-480 имеет top:106 → перекрывает h1.
     Сдвигаем subtitle ниже только на 480-639 (на ≤479 у subtitle уже
     корректный top:100, а h1 в 3 строки кончается на ~96 → не пересекаются). */
  #rec985048181 .t396__elem[data-elem-id="1674114237753"] {
    top: 140px !important;
  }
}

@media (max-width: 479px) {
  /* — vnedrenie-upravlencheskogo-ucheta-finpilot (rec1522783591):
       h1 (id=1627555357129) внутри group .tn-group__152278359, у которой
       реальный left = -25.5 px на 375 px viewport. Tilda задаёт h1
       width:391 / left:30 → реальный левый край = 4.5, правый = 395.5
       (за viewport на ~20 px) → буква «В» обрезается слева.
       Компенсируем сдвиг группы: left:55 / width:315. */
  #rec1522783591 .tn-elem[data-elem-id="1627555357129"] {
    width: 315px !important;
    left: 55px !important;
  }

  /* — /templates/ карточки: при autoheight длинный h2 наезжает на subtitle,
     а subtitle-autoheight в свою очередь наезжает на кнопки/картинки ниже.
     Сдвигаем subtitle и всё под ним вниз, расширяем фон-shape карточки.
     Карточка 1 (rec1734853631) «Таблица учета финансов / FinPilot с ИИ»:
       h2 height ~103 (top:307) → bottom 410, subtitle top:389 → overlap 21.
     Карточка 2 (rec1739636551) «Генератор коммерческих предложений»:
       h2 height ~103 (top:40) → bottom 143, subtitle top:124 → overlap 19. */
  #rec1734853631 .tn-elem[data-elem-id="1766611457634"] { top: 425px !important; }
  #rec1734853631 .tn-elem[data-elem-id="1766611543534"] { top: 580px !important; }
  #rec1734853631 .tn-elem[data-elem-id="1770211349740"] { top: 630px !important; }
  #rec1734853631 .tn-elem[data-elem-id="1766611922321000001"] { top: 664px !important; }
  #rec1734853631 .tn-elem[data-elem-id="1766612120699"] { top: 725px !important; }
  #rec1734853631 .tn-elem[data-elem-id="1766612052417"] { top: 779px !important; }
  #rec1734853631 .tn-elem[data-elem-id="1766611053700"] { height: 720px !important; }
  #rec1734853631 .t396__artboard,
  #rec1734853631 .t396__filter,
  #rec1734853631 .t396__carrier { min-height: 945px !important; height: auto !important; }

  #rec1739636551 .tn-elem[data-elem-id="1766733529105"] { top: 155px !important; }
  /* Кнопка «Подробнее» width:118 не вмещает 9 букв → перенос. Расширяем. */
  #rec1739636551 .tn-elem[data-elem-id="1766733807542000001"] {
    width: 200px !important; left: 88px !important;
  }
  #rec1739636551 .tn-elem[data-elem-id="1766733807542000001"] .tn-atom__button-text {
    white-space: nowrap !important;
  }

  /* — Mobile-шапка (rec560762799): текст «Войти в ЛК» (id=175758614995040170)
     в res-360 имеет width:44/fontsize:10 → 11 символов не помещаются и
     переносятся в 3 строки («Войти / в / ЛК»). Скрываем — иконка-аватар
     рядом (id=175758614994355350) уже ведёт на /members/, текст лишний. */
  #rec560762799 .tn-elem[data-elem-id="175758614995040170"] {
    display: none !important;
  }

  /* — Главная: блок «Почему нам доверяют?» (rec986483266):
       заголовки карточек width:182-214 при shape width:298 → текст
       занимает только правую половину карточки, оборачивается в 4-5
       строк и вылезает за нижнюю границу shape (h:93).
       Расширяем width текста до 220 (shape:298 минус 76 на цифру слева),
       и shape-фон до 100 px высоты, чтобы вместить лишнюю строку. */
  #rec986483266 .tn-elem[data-elem-id="1679035658683"], /* «Более 8 лет опыта…» */
  #rec986483266 .tn-elem[data-elem-id="1679035657870"], /* «Команда из опытных…» */
  #rec986483266 .tn-elem[data-elem-id="1679035654088"], /* «Автоматизация…» */
  #rec986483266 .tn-elem[data-elem-id="1679035710744"]  /* «Умеем объяснять…» */
  {
    width: 220px !important;
  }
  #rec986483266 .tn-elem[data-elem-id="1679035710744"] .tn-atom,
  #rec986483266 .tn-elem[data-elem-id="1679035658683"] .tn-atom,
  #rec986483266 .tn-elem[data-elem-id="1679035657870"] .tn-atom,
  #rec986483266 .tn-elem[data-elem-id="1679035654088"] .tn-atom {
    line-height: 1.25 !important;
  }
  #rec986483266 .tn-elem[data-elem-id="1679035710749"], /* shape 4 */
  #rec986483266 .tn-elem[data-elem-id="1679035654063"], /* shape 3 */
  #rec986483266 .tn-elem[data-elem-id="1679035657861"], /* shape 2 */
  #rec986483266 .tn-elem[data-elem-id="1679035658677"]  /* shape 1 */
  {
    height: 105px !important;
  }

  /* — Главная: блок «Попробуйте бесплатно» (rec986494136):
       заголовки карточек width:143-161 → слова «консультация» / «шаблоны
       учёта» разбиваются по слогам или каждое слово в отдельной строке.
       Расширяем width и уменьшаем шрифт, чтобы текст помещался в карточку
       250 px шириной. */
  #rec986494136 .tn-elem[data-elem-id="1679034472185"], /* «Бесплатная консультация» */
  #rec986494136 .tn-elem[data-elem-id="1745652686881"]  /* «Бесплатные шаблоны учёта» */
  {
    width: 175px !important;
  }
  #rec986494136 .tn-elem[data-elem-id="1679034472185"] .tn-atom,
  #rec986494136 .tn-elem[data-elem-id="1745652686881"] .tn-atom {
    font-size: 26px !important;
    line-height: 1.1 !important;
  }
  /* subtitle тоже расширяем — был 170-181, длинные слова не помещаются */
  #rec986494136 .tn-elem[data-elem-id="1679573424550"], /* «Обсудим…» под консультацией */
  #rec986494136 .tn-elem[data-elem-id="1745652686885"]  /* «План-факт, ДДС…» */
  {
    width: 200px !important;
  }
}

/* —— Футер главной (rec467319182). На mobile <=479 Tilda Zero linearize
     не справляется: text/image elem'ы стоят на абсолютных top, лого
     HelpExcel.pro и PayKeeper налезают на список ссылок, «*»-разделитель
     висит над «Оптимизация продаж». Полностью переводим footer в
     блочный flow flex-column и сбрасываем абсолютное позиционирование. */
@media screen and (max-width: 479px) {
  #rec467319182 .t396__artboard,
  #rec467319182 .t396__filter,
  #rec467319182 .t396__carrier {
    height: auto !important;
    min-height: 1100px !important;
    overflow: visible !important;
  }
  #rec467319182 .t396__artboard {
    padding: 16px 0 32px !important;
  }
  /* Все text-блоки — block flow, без top/left */
  #rec467319182 .t396__elem[data-elem-type="text"] {
    position: relative !important;
    display: block !important;
    top: auto !important;
    left: 0 !important;
    right: 0 !important;
    width: calc(100% - 32px) !important;
    max-width: calc(100% - 32px) !important;
    height: auto !important;
    min-height: 0 !important;
    transform: none !important;
    margin: 6px 0 0 16px !important;
    clear: both !important;
    box-sizing: border-box !important;
  }
  #rec467319182 .t396__elem[data-elem-type="text"] .tn-atom {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }
  /* Иконки соцсетей — горизонтальный ряд (inline-block) */
  #rec467319182 .t396__elem[data-elem-type="image"] {
    position: relative !important;
    display: inline-block !important;
    vertical-align: middle !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    margin: 0 12px 0 0 !important;
  }
  /* Лого HelpExcel.pro и PayKeeper — отдельной строкой, не наезжают */
  #rec467319182 .t396__elem[data-elem-id="1656748539254"],
  #rec467319182 .t396__elem[data-elem-id="1673434382082"] {
    display: block !important;
    margin: 18px 0 6px !important;
    width: auto !important;
    clear: both !important;
  }
  /* Звёздочка-разделитель — скрыть */
  #rec467319182 .t396__elem[data-elem-id="1627640997621"] {
    display: none !important;
  }
  /* Линии-разделители (shape h:1) — скрыть, в flow они не нужны */
  #rec467319182 .t396__elem[data-elem-type="shape"] {
    display: none !important;
  }
}

/* —— Точечные per-rec фиксы для нижней-кнопки-обрезается-artboard'ом
     (диагностика по скриншотам пользователя 17.05):
     - rec556873317 (/personal_finance/): кнопка «Купить шаблон» bottom=658,
       artboard h=550 bottom=638 → обрезка 20px сверху-снизу из-за overflow:hidden
     - rec986405821 (главная, блок 3 карточек услуг): кнопка «Смотреть каталог»
       bottom=3302, artboard bottom=3271 → обрезка 31px (раньше был фикс
       height:1015 удалён вместе с :has() правилами, восстанавливаем) */
@media screen and (max-width: 479px) {
  #rec556873317 .t396__artboard,
  #rec556873317 .t396__filter,
  #rec556873317 .t396__carrier {
    height: 620px !important;
    overflow: visible !important;
  }
  #rec986405821 .t396__artboard,
  #rec986405821 .t396__filter,
  #rec986405821 .t396__carrier {
    height: 1050px !important;
    overflow: visible !important;
  }
}
