/* Базовые стили сайта (вместо общего CSS конструктора): модель размеров, сброс отступов, сглаживание шрифтов */
*, *:before, *:after { box-sizing: content-box; }
div, span, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, code, img, b, u, i, center, table, tr, th, td, video { margin: 0; padding: 0; border: 0; }
sup { line-height: 0; font-size: smaller; vertical-align: super; }
sub { line-height: 0; font-size: smaller; vertical-align: sub; }
body { margin: 0; }
.t-records { -webkit-font-smoothing: antialiased; }
img:not([src]) { visibility: hidden; }
:where(.t-records) a { color: #ff8562; text-decoration: none; }
:where(.t-records) a[href^=tel] { color: inherit; text-decoration: none; }
:where(.t-records) ol { padding-left: 22px; margin-top: 0; margin-bottom: 10px; }
:where(.t-records) ul { padding-left: 20px; margin-top: 0; margin-bottom: 10px; }
:where(.t-records) b, :where(.t-records) strong { font-weight: 700; }
[hidden] { display: none !important; }
/* Кнопки услуг на /our-services/: в Tilda у четырёх из них не задано наведение — делаем как у остальных (чёрный фон, белый текст) */
@media (hover) {
  .nc-z-elem:is([data-elem-id="1631709492877"], [data-elem-id="1631709507354"], [data-elem-id="1631709542967"], [data-elem-id="1651007824238"]) .nc-z-atom:hover { background-color: #000; color: #fff; }
  .nc-z-elem:is([data-elem-id="1631709492877"], [data-elem-id="1631709507354"], [data-elem-id="1631709542967"], [data-elem-id="1651007824238"]) .nc-z-atom:hover .nc-z-atom__button-text { color: #fff; }
}
/* Главная: серая секция «Трудовой день» — заливка начиналась на блок позже (у блока с жёлтой полосой); заголовок и видео на сером, полоса — на белом */
[data-rec="384471634"], [data-rec="342244524"] { background-color: #f5f7f9; }
section[data-rec="177161086"] .nc-396 .nc-396__artboard { background-color: #fff; }
/* «Наша статистика» (t501) на телефоне: цифра и её подпись рядом, разделитель — под подписью, между группами */
@media screen and (max-width: 960px) {
  .nc-501 .nc-501__col.nc-item { display: flex; flex-direction: column; margin-top: 0; margin-bottom: 0; padding-bottom: 20px; }
  .nc-501 .nc-501__col .nc-501__title { padding-bottom: 0; }
  .nc-501 .nc-501__col .nc-501__text { padding-top: 6px; padding-bottom: 0; }
  .nc-501 .nc-501__col .nc-501__line { order: 3; margin-top: 28px; margin-bottom: 0; }
  .nc-501 .nc-501__col:last-child .nc-501__line { display: none; }
}
/* Галерея-лента фотографий (t170, «О нас») на телефоне: крупные фото, листаются вправо-влево */
@media screen and (max-width: 640px) {
  .nc-156__wrapper { display: flex; justify-content: flex-start; align-items: stretch; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 0 20px; margin: 0 -20px; padding: 0 20px 4px; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .nc-156__wrapper::-webkit-scrollbar { display: none; }
  .nc-156__item:not(:only-child) { flex: 0 0 80%; height: 280px; margin: 0; scroll-snap-align: start; }
  .nc-156__item:not(:only-child) img { width: 100%; height: 100%; object-fit: cover; }
}
/* Страница «Монтаж ветрозащитных экранов, Чёрная речка»: абзац «Особо хочется отметить…» набран как список из одного пункта — без маркера */
[data-rec="1060422091"] .nb-text ul { list-style: none; padding-left: 0; }
/* /objects/podem_mebeli_lazareva/: посреди статьи стояли серая полоса, жёлтая черта и ещё серая полоса — оставляем одну серую */
[data-rec="601147341"], [data-rec="601146878"] { display: none; }
/* /objects/podsvetka_urbanist/: перед формой подряд две серые линии (между ними только якорь) — оставляем одну */
[data-rec="488439253"] { display: none; }
/* /objects/kak_my_myli_matchtv/: у хлебных крошек был лишний отступ сверху 210 px (на остальных страницах 0) */
section[data-rec="386408561"] { padding-top: 0 !important; }
/* /our-services/montag_snegozadergateley/: абзац «Чтобы заказать монтаж снегозадержателей…» набран как список из одного пункта — без маркера */
[data-rec="368363935"] .nb-text ul { list-style: none; padding-left: 0; }
/* Низ страницы на телефоне: мелкий шрифт в подвале и тёмный запас под плавающие кнопки («наверх», чат), чтобы они не закрывали текст и значки */
@media screen and (max-width: 480px) {
  .nc-345 .nc-345-text span { font-size: 14px !important; }
  .nc-345 .nc-345-text { max-width: calc(100% - 130px); }
  .dbip { padding-bottom: 80px !important; }
}
/* Закрытое выезжающее меню (бургер) стоит за правым краем экрана: полностью скрываем его, чтобы браузер не учитывал его в ширине страницы
   (в режиме телефона в Chrome страница сдвигалась вправо). При открытии показывается сразу, при закрытии — после того как уедет. */
.t-records .nc-450 { visibility: hidden; transition: transform ease-in-out 0.3s, visibility 0s linear 0.3s; }
.t-records .nc-450.nc-450__menu_show { visibility: visible; transition-delay: 0s; }
/* /our-services/podjem-gruzov-v-okno/ на телефоне: блок «Осмотр объекта… + видео» с отступами 90/90 px оставлял пустоту под заголовком */
@media screen and (max-width: 640px) {
  section[data-rec="2575350101"] { padding-top: 15px !important; padding-bottom: 30px !important; }
}
/* На телефоне двойное касание не приближает страницу (щипок для масштаба остаётся): иначе страница случайно увеличивается и съезжает вбок */
html { touch-action: manipulation; }
/* Цветной заголовок-баннер и форма под ним одного цвета: граница падает на дробный пиксель и между ними просвечивала светлая линия — перекрываем на 1 px */
.nb-b-banner + .nb-b-form { margin-top: -1px; position: relative; }
/* /catalogue/: у зубчатого края перед формой в Tilda задан отступ сверху 30 px (на остальных страницах его нет) — между зубцами и синей формой оставалась белая полоса */
section[data-rec="563186509"] { padding-top: 0 !important; }
/* Пустые текстовые блоки (без текста, с отступами 30/45 px) перед формой: каталог ЗУР/ЗУС и «Монтаж ЗУС» — создавали большую пустоту на телефоне */
section[data-rec="572537450"], section[data-rec="563089677"], section[data-rec="563145801"], section[data-rec="187934600"] { display: none; }
/* Там же: две пустые «распорки» (якорь с отступом 15 px и блок-отступ 15+15 px; блок оставляем — к нему крепится зубчатый край) после скрытого пустого блока */
:is(section[data-rec="572537450"], section[data-rec="563089677"], section[data-rec="563145801"], section[data-rec="187934600"]) + .nc-b-215 { padding-bottom: 0 !important; }
:is(section[data-rec="572537450"], section[data-rec="563089677"], section[data-rec="563145801"], section[data-rec="187934600"]) + .nc-b-215 + .nc-b-113 { padding-top: 0 !important; padding-bottom: 0 !important; }
/* Карточки в ряд (t503) на главной: все картинки одного размера (400×370), лишнее обрезается по краям */
.nc-503__img.nc-img { aspect-ratio: 400 / 370; height: auto; object-fit: cover; }
/* Заголовки карточек (t503) стоят по центру своей «ячейки» (высота ячейки у всех в ряду одинаковая, её выравнивает alpme-chrome.js) */
.nc-503 .nc-card__title { display: flex; flex-direction: column; justify-content: center; }
