/* Компактность, с 24.09.2026. Антон: сайт крупный, эталон — масштаб
   браузера 80 %; на телефоне отступы в треть экрана и простыни текста.
   Подключение: local/php_interface/include/kompakt-podklyuchenie.php
   (из init.php) вставляет <link> перед </head> мимо склейки Битрикса,
   версия в адресе — время изменения файла (с 01.10.2026; до этого
   файл подключала только заглушка копии dev-zaglushki.php). */

/* ===== компьютер: масштаб 85 % =====
   24.09.2026: 80 % Антону показалось мелковато — 85 %. Сначала была одна
   страница «1С для производства», в тот же день — весь сайт (только
   компьютер, от 1200 px). Размеры в долях экрана (vw, vh) внутри
   масштаба тоже умножаются на 0,85 — где это видно, делим обратно. */
@media (min-width: 1200px) {
    html { zoom: 0.85; }
    .consult-img { width: calc(40vw / 0.85) !important; }
    .header_navbar .dropdown-menu { max-height: calc((100vh - 110px) / 0.85) !important; }
    #callback .modal-content,
    #price-up .modal-content,
    #callback-success-new .modal-content,
    .modalAction .modal-content { max-height: calc((100vh - 40px) / 0.85) !important; }
}

/* первый экран: было четыре начертания (Oswald Medium, Oswald, OpenSans
   Bold, OpenSans с искусственным жирным) — заголовок Oswald, остальное
   OpenSans: пункты жирные, подзаголовок и примечание обычные */
body:has(.otrasl-banner) .otrasl-banner .slider-s { font-family: OpenSans, sans-serif !important; font-weight: 400 !important; font-size: 18px !important; line-height: 27px !important; color: #4A5060 !important; }
body:has(.otrasl-banner) .otrasl-banner .slider-note { font-family: OpenSans, sans-serif !important; font-weight: 400 !important; font-size: 14px !important; line-height: 20px !important; color: #666 !important; }

/* ===== общее для всех ширин ===== */
/* шапка с названием: 189 → ~117 px */
body:has(.otrasl-banner) .gray-section.block-h1 { height: auto !important; min-height: 0 !important; padding-top: 22px !important; padding-bottom: 12px !important; }
body:has(.otrasl-banner) .gray-section.block-h1 h1 { padding-top: 0 !important; padding-bottom: 34px !important; margin-bottom: 0 !important; }

/* «С чем к нам приходят»: отступы 90/100 → 40 */
body:has(.otrasl-banner) .otrasl-pains { padding-top: 40px !important; padding-bottom: 40px !important; }
body:has(.otrasl-banner) .otrasl-pains .program-bullets { margin-top: 20px !important; margin-bottom: 0 !important; }

/* текст: отступы между разделами 36 → 24 */
body:has(.otrasl-banner) .otrasl-text { padding-top: 28px !important; padding-bottom: 20px !important; }
body:has(.otrasl-banner) .otrasl-text h2 { margin-top: 24px !important; }
body:has(.otrasl-banner) .otrasl-text h2:first-child { margin-top: 0 !important; }
body:has(.otrasl-banner) .otrasl-text h3 { margin-top: 16px !important; }

/* кейсы: пустые 30 px снизу */
body:has(.otrasl-banner) .ccases-block { margin-bottom: 0 !important; padding-top: 28px !important; padding-bottom: 24px !important; }

/* вопросы-ответы: 60/70 → 28, строки плотнее */
body:has(.otrasl-banner) .block_faq { padding-top: 28px !important; padding-bottom: 28px !important; }
body:has(.otrasl-banner) .block_faq h2 { margin-bottom: 14px !important; }
body:has(.otrasl-banner) .block_faq_outer { margin-bottom: 8px !important; }
body:has(.otrasl-banner) .block_faq_q { padding-top: 7px !important; padding-bottom: 7px !important; }
body:has(.otrasl-banner) .block_faq_q::before,
body:has(.otrasl-banner) .block_faq_q > span { font-size: 17px !important; line-height: 22px !important; }
body:has(.otrasl-banner) .block_faq_q .faq_plus { flex: 0 0 26px !important; width: 26px !important; height: 26px !important; min-width: 26px !important; }
body:has(.otrasl-banner) .block_faq_q .faq_plus span { top: 12px !important; left: 6px !important; }
body:has(.otrasl-banner) .block_faq_a,
body:has(.otrasl-banner) .block_faq_a p { font-size: 14px !important; line-height: 21px !important; }

/* сокращённый текст (24.09.2026): «Что настраиваем» и «Почему выбирают» —
   карточки, «Как проходит проект» — шаги с номерами */
.kratko-primechanie { font-size: 15px !important; line-height: 22px !important; color: #4A5060; font-weight: 400 !important; }
.kratko-karty { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; margin: 12px 0 8px; }
.kratko-karta { background: #F5F7F9; border-radius: 14px; padding: 14px 16px; }
.kratko-karta h3, .kratko-shagi h3 { font-size: 18px !important; line-height: 23px !important; margin: 0 0 6px !important; }
.kratko-karta p, .kratko-shagi p { font-size: 14px !important; line-height: 20px !important; margin: 0 !important; font-weight: 400 !important; color: #4A5060; }
.kratko-shagi { list-style: none; counter-reset: shag; display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; padding: 0 !important; margin: 12px 0 !important; }
.kratko-shagi li { counter-increment: shag; margin: 0 !important; padding: 14px 16px !important; border: 1px solid #ECECEC; border-radius: 14px; background: #fff; }
.kratko-shagi li::before { content: counter(shag); display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; margin-bottom: 8px; border-radius: 50%; background: #FFDE0B; font-family: Oswald-Medium, Oswald, sans-serif; font-size: 15px; color: #1F2430; }
@media (min-width: 992px) {
    .kratko-shagi { grid-template-columns: repeat(5, 1fr); }
}
@media (max-width: 575.98px) {
    .kratko-karty, .kratko-shagi { grid-template-columns: 1fr; gap: 8px; }
    .kratko-karta, .kratko-shagi li { padding: 12px 14px !important; }
    .kratko-shagi li { display: grid; grid-template-columns: 28px 1fr; column-gap: 10px; }
    .kratko-shagi li::before { grid-row: 1 / span 2; margin: 0; }
}

/* фон разделов по очереди, серый — белый (24.09.2026): было четыре белых
   подряд — «С чем приходят», «Какую программу», «Что настраиваем»,
   «Как проходит». Стало: серый, белый, серый, белый, дальше кейсы (серые),
   «Почему выбирают» (белый), вопросы (серые) */
body:has(.otrasl-banner) .otrasl-pains { background: #F5F7F9; }
body:has(.otrasl-banner) .otrasl-pains .auto-goals-description { background-color: #fff !important; }
.kratko-polosa { background: #F5F7F9; box-shadow: 0 0 0 100vmax #F5F7F9; clip-path: inset(0 -100vmax); padding: 28px 0 24px; margin: 24px 0; }
.kratko-polosa h2 { margin-top: 0 !important; }
.kratko-polosa .kratko-karta { background: #fff; }
.kratko-polosa .kratko-karty { margin-bottom: 0; }
.kratko-polosa + h2 { margin-top: 0 !important; }
@media (max-width: 767.98px) {
    .kratko-polosa { padding: 24px 0 20px; }
}

/* порог 1200 px (01.10.2026): стили сайта (media.css) прячут фото первого
   экрана в диапазоне 768–1200.99 px (альбомный планшет), а масштаб
   включается с 1200. Ровно на 1200 первый экран главной, отраслей и
   «Реальной автоматизации» выходил без фото: заголовок в одну строку,
   справа пусто. В масштабе места под фото хватает — возвращаем. */
@media (min-width: 1200px) and (max-width: 1200.99px) {
    .main-slider .slider-img, .otrasl-banner .slider-img { display: block; }
    /* на отраслях стили сайта в этом диапазоне растягивают фото на всю
       колонку — первый экран выходил выше, чем на 1280; как на 1280: 70 %
       по центру. На главной фото и так по размеру, подпись на нём мелкая —
       её не уменьшаем */
    .otrasl-banner .slider-img img { max-width: 70% !important; height: auto !important; display: block; margin-left: auto !important; margin-right: auto !important; }
}

/* всплывающие окна при масштабе 85 %: затемнение ложилось на 85 % экрана,
   справа и снизу оставалась светлая полоса (24.09.2026) */
@media (min-width: 1200px) {
    .modal-backdrop { width: calc(100vw / 0.85) !important; height: calc(100vh / 0.85) !important; }
}

/* шапка с названием — максимально низкая (24.09.2026): на компьютере
   крошки слева в одну строку с заголовком */
@media (min-width: 1200px) {
    body:has(.otrasl-banner) .gray-section.block-h1 { padding-top: 10px !important; padding-bottom: 10px !important; }
    body:has(.otrasl-banner) .gray-section.block-h1 h1 { font-size: 30px !important; line-height: 38px !important; padding: 0 300px !important; }
    body:has(.otrasl-banner) .gray-section.block-h1 .bx-breadcrumb { top: 50% !important; bottom: auto !important; transform: translateY(-50%); margin-top: 0 !important; margin-bottom: 0 !important; width: auto !important; }
}

/* кейсы: слайд не помещался в экран (24.09.2026) — видео уже, текст мельче,
   отступы меньше */
body:has(.otrasl-banner) .ccases-block h2 { margin-bottom: 12px !important; }
body:has(.otrasl-banner) .ccases .ccase-head { margin-bottom: 12px !important; }
body:has(.otrasl-banner) .ccases .ccase-lead { font-size: 18px !important; line-height: 23px !important; margin-bottom: 8px !important; }
body:has(.otrasl-banner) .ccases .ccase-block { margin-bottom: 8px !important; }
body:has(.otrasl-banner) .ccases .ccase-block .h4 { font-size: 17px !important; line-height: 22px !important; margin-bottom: 4px !important; }
body:has(.otrasl-banner) .ccases .ccase-list { margin-bottom: 0 !important; }
body:has(.otrasl-banner) .ccases .ccase-list li { font-size: 14px !important; line-height: 20px !important; margin-bottom: 4px !important; }
body:has(.otrasl-banner) .ccases .ccase-btn .btn { padding-top: 12px !important; padding-bottom: 12px !important; }
@media (min-width: 768px) {
    body:has(.otrasl-banner) .ccases .row > .col-md-6:first-child { flex: 0 0 40%; max-width: 40%; }
    body:has(.otrasl-banner) .ccases .row > .col-md-6:last-child { flex: 0 0 60%; max-width: 60%; }
}

/* кейсы, проверка каждого слайда (24.09.2026):
   — на телефоне значок цитаты растягивался на всю ширину, в круг 300 px;
   — кнопка YouTube на телефоне закрывала почти всё превью;
   — у «Штарка» вместо видео картинка, вписанная в белый прямоугольник
     с полями сверху и снизу — заполняем блок целиком */
.ccases .ccase-review img[alt="Значок цитаты"] { width: 44px !important; height: 44px !important; min-width: 44px; flex: 0 0 44px !important; max-width: 44px !important; }
.ccases .play-video { width: 68px !important; height: auto !important; max-width: 68px !important; }
/* 01.10.2026, проход 1: cover срезал края картинки, а в ней почти всегда
   логотип клиента во всю ширину («LFARMA», «МИР ЗДОРОВЬ»). Картинка целиком,
   поля белые — у «Штарка» белый прямоугольник сливается с ними */
.ccases .ccases-img { background-size: contain !important; background-repeat: no-repeat !important; background-position: center !important; background-color: #fff !important; }
@media (max-width: 767.98px) {
    .ccases .ccases-img { height: 190px !important; }
    .ccases .ccase-review { padding: 14px !important; gap: 10px; }
}

/* разбор задачи: белый текст на оранжевом читался плохо — тёмный */
body:has(.otrasl-banner) .otrasl-consult .consult-content-title,
body:has(.otrasl-banner) .otrasl-consult .consult-content-text { color: #4A5060 !important; }

/* первый экран: заголовок был в одну строку без переноса и на «Реальной
   автоматизации» заезжал на фото (и без масштаба). Разрешаем перенос —
   короткие заголовки остаются в строку. 24.09.2026 */
@media (min-width: 992px) {
    .main-slider .slider-h { white-space: normal !important; }
}

/* «Команда»: фото команды стоит от середины (left:50%) и шире половины —
   страница прокручивалась вбок на 280 px (и без масштаба). Обрезаем фото
   по правому краю. 24.09.2026 */
@media (min-width: 1200px) {
    .team1c-photo { right: 0; overflow: hidden; }
}

/* всплывающие окна: текст под заголовком был 15 px — мелко (Антон,
   24.09.2026) */
.modalAction .modal-text .text { font-size: 18px !important; line-height: 26px !important; color: #4A5060 !important; margin-bottom: 18px; }
/* выгоды списком (25.09.2026): список по центру окна, строки слева */
.modalAction .modal-text .text p { margin: 0 0 6px; font-size: inherit; line-height: inherit; }
.modalAction .modal-text .text ul { display: inline-block; text-align: left; list-style: none; margin: 2px 0 8px; padding: 0; }
.modalAction .modal-text .text li { position: relative; padding-left: 24px; margin: 3px 0; font-weight: 600; }
.modalAction .modal-text .text li::before { content: ""; position: absolute; left: 4px; top: 9px; width: 9px; height: 9px; border-radius: 50%; background: #FFDE0B; box-shadow: 0 0 0 2px #F5A623 inset; }

/* волна при наведении (24.09.2026): скрипт сайта вставляет в кнопку
   span.ripple, круг расходится во все стороны. Антон: убрать на всех
   кнопках. Раньше (сентябрь) убрали только на пунктах аккордеонов */
.ripple, .ripple-animate { display: none !important; animation: none !important; }

/* подвал: значки соцсетей были 20 px, сам знак внутри — около 10 px
   (24.09.2026). Круглые кнопки 40 px */
.socsety { display: flex !important; flex-wrap: wrap; gap: 10px; align-items: center; }
.socsety a { display: inline-flex !important; align-items: center; justify-content: center; width: 40px; height: 40px; margin: 0 !important; padding: 0 !important; border-radius: 50%; background: rgba(255,255,255,.12); transition: background .2s; }
.socsety a:hover { background: rgba(255,255,255,.25); }
/* у картинки в стилях сайта padding-left 15 px — он и сжимал знак до 10 px */
.socsety a img { width: 24px !important; height: 24px !important; max-width: none !important; padding: 0 !important; }

/* ======================================================================
   ВЕСЬ САЙТ, 25.09.2026 — то, что приняли на «1С для производства»,
   плюс сжатие по замеру блоков 15 страниц (tools/zamer-blokov.js).
   ====================================================================== */

/* шапка с заголовком: на страницах была 100–202 px */
.gray-section.block-h1 { height: auto !important; min-height: 0 !important; }
@media (min-width: 1200px) {
    /* класс повторён: в стилях сайта есть .gray-section.block-h1:has(+ .detail-program)
       с !important, :has добавляет ему вес */
    html body .gray-section.block-h1.block-h1 { padding-top: 10px !important; padding-bottom: 10px !important; }
    html body .gray-section.block-h1.block-h1 h1 { font-size: 30px !important; line-height: 38px !important; padding: 0 300px !important; margin: 0 !important; }
    html body .gray-section.block-h1.block-h1 .bx-breadcrumb { top: 50% !important; bottom: auto !important; transform: translateY(-50%); margin-top: 0 !important; margin-bottom: 0 !important; width: auto !important; }
}

/* кейсы — как на «производстве» */
.ccases-block { margin-bottom: 0 !important; padding-top: 28px !important; padding-bottom: 24px !important; }
.ccases-block h2 { margin-bottom: 12px !important; }
.ccases .ccase-head { margin-bottom: 12px !important; }
.ccases .ccase-lead { font-size: 18px !important; line-height: 23px !important; margin-bottom: 8px !important; }
.ccases .ccase-block { margin-bottom: 8px !important; }
.ccases .ccase-block .h4 { font-size: 17px !important; line-height: 22px !important; margin-bottom: 4px !important; }
.ccases .ccase-list { margin-bottom: 0 !important; }
.ccases .ccase-list li { font-size: 14px !important; line-height: 20px !important; margin-bottom: 4px !important; }
.ccases .ccase-btn .btn { padding-top: 12px !important; padding-bottom: 12px !important; }
@media (min-width: 768px) {
    .ccases .row > .col-md-6:first-child { flex: 0 0 40%; max-width: 40%; }
    .ccases .row > .col-md-6:last-child { flex: 0 0 60%; max-width: 60%; }
}

/* вопросы-ответы — как на «производстве» */
.block_faq { padding-top: 28px !important; padding-bottom: 28px !important; }
.block_faq h2 { margin-bottom: 14px !important; }
.block_faq_outer { margin-bottom: 8px !important; }
.block_faq_q { padding-top: 7px !important; padding-bottom: 7px !important; }
.block_faq_q::before, .block_faq_q > span { font-size: 17px !important; line-height: 22px !important; }
.block_faq_a, .block_faq_a p { font-size: 14px !important; line-height: 21px !important; }

/* компьютер: крупные отступы, найденные замером */
@media (min-width: 992px) {
    .detail-program { padding-top: 32px !important; padding-bottom: 24px !important; }   /* карточка программы: 80 сверху */
    .yam-block > div { padding-top: 32px !important; padding-bottom: 32px !important; } /* отзывы Яндекса: 60/60 */
    .about { padding-top: 40px !important; padding-bottom: 40px !important; }             /* «О компании»: 80/80 */
    .kviz-cotainer > div { padding-top: 32px !important; padding-bottom: 32px !important; }
}

/* ===== телефон, весь сайт ===== */
@media (max-width: 767.98px) {
    /* шапка с заголовком */
    /* вес поднят: см. выше про :has(+ .detail-program) */
    html body .gray-section.block-h1.block-h1 { padding-top: 10px !important; padding-bottom: 4px !important; }
    html body .gray-section.block-h1.block-h1 h1 { font-size: 21px !important; line-height: 26px !important; padding-top: 0 !important; padding-bottom: 6px !important; margin: 0 !important; }

    /* заголовки разделов были 38 px в 3–4 строки */
    .main_container h2, .main_container .h2, .main_container div.h1, .consult-content-title { font-size: 24px !important; line-height: 29px !important; }
    .main_container h2, .main_container .h2, .main_container div.h1 { margin-bottom: 12px !important; }

    /* отступы разделов 32 → 24 */
    .block, .gray-section.block, .ccases-block, .block_faq { padding-top: 24px !important; padding-bottom: 20px !important; }
    .detail-program { padding-top: 16px !important; padding-bottom: 20px !important; }          /* было 80/50 */
    .yam-block > div { padding-top: 24px !important; padding-bottom: 24px !important; margin-bottom: 0 !important; }
    .kviz-cotainer > div { padding-top: 24px !important; padding-bottom: 24px !important; }       /* было 60/60 */
    .why-us > .container, .bg-default.why-us > div { padding-top: 24px !important; padding-bottom: 20px !important; }
    .orange-callback > div { padding-top: 130px !important; padding-bottom: 32px !important; }     /* было 167/66, сверху заходит на блок выше */

    /* вопросы-ответы */
    .block_faq_q::before, .block_faq_q > span { font-size: 15px !important; line-height: 20px !important; }
    .block_faq_a { margin-left: 20px !important; margin-right: 20px !important; }

    /* «Посоветуйтесь со специалистом»: 902 px */
    .consult-callback__inner { margin-top: 24px !important; }
    .consult-wrapper { padding-top: 20px !important; padding-bottom: 20px !important; }
    .consult-content-person { margin-top: 14px !important; }

    /* первый экран: жёсткая высота и пустой блок фото */
    .main-slider, .main-slider .swiper-wrapper, .main-slider .swiper-slide,
    .main-slider .container.h-100, .main-slider .slider-box { height: auto !important; min-height: 0 !important; }
    .main-slider .swiper-slide { padding-top: 12px !important; padding-bottom: 16px !important; }
    .main-slider .slider-info { padding-top: 12px !important; padding-bottom: 8px !important; }
    .main-slider .slider-h { font-size: 24px !important; line-height: 30px !important; }
    .main-slider .slider-s { margin-top: 12px !important; font-size: 16px !important; line-height: 23px !important; }
    .main-slider .list-plus { margin-top: 12px !important; }
    .main-slider .list-plus li { padding-bottom: 6px !important; }
    .main-slider .slider-btns { margin-bottom: 0 !important; }
    .main-slider .slider-img { display: none !important; }

    /* шапка закреплена и вместе с полосой «ИИ…» занимала 131 px на каждом
       экране. После прокрутки полоса уходит (класс ставит kompakt.js) */
    body.kompakt-prokrutka .header_block .polosa-ii { display: none !important; }

    /* список модулей: карточка 457 px, коробка на весь экран → строкой */
    .module { display: grid !important; grid-template-columns: 84px 1fr; column-gap: 14px; align-items: center; padding: 14px !important; height: auto !important; min-height: 0 !important; }
    .module .module-img { grid-row: 1 / 3; margin: 0 !important; }
    .module .module-img img { width: 84px !important; height: auto !important; }
    .module .module-name { margin: 0 0 4px !important; font-size: 17px !important; line-height: 22px !important; text-align: left !important; }
    .module .module-name a { font-size: inherit !important; }
    .module .module-preview { margin: 0 !important; font-size: 13px !important; line-height: 18px !important; text-align: left !important; grid-column: 2; }
    .module > .btn { grid-column: 1 / -1; margin: 12px 0 0 !important; padding-top: 10px !important; padding-bottom: 10px !important; width: 100%; }
    .module-outer { margin-bottom: 12px !important; }

    /* список кейсов: заголовок 28 px и отступы 20/30 */
    .cases-body { padding: 14px 16px !important; }
    .cases-name .h3 { font-size: 20px !important; line-height: 25px !important; }
    .cases-name { margin-bottom: 6px !important; }
    .cases-text .h4 { font-size: 15px !important; line-height: 20px !important; margin-bottom: 4px !important; }
    .cases-text span { font-size: 13px !important; line-height: 18px !important; }
    .cases-body .ccase-btn { margin-top: 10px !important; }
    .cases-body .ccase-btn .btn { padding-top: 10px !important; padding-bottom: 10px !important; }

    /* карточка программы: коробка 316 px */
    .detail-program .gray-img-program img { max-height: 180px !important; width: auto !important; max-width: 100% !important; }
    /* тарифы «Базовая / Проф» по карточке на экран → в две колонки */
    .prices-detail-block { display: grid !important; grid-template-columns: 1fr 1fr; gap: 10px; }
    .prices-detail-block .outer-box { width: auto !important; max-width: none !important; margin: 0 !important; padding: 14px 10px !important; }
    .prices-detail-block .program-price-head, .prices-detail-block .program-price-head a { font-size: 18px !important; line-height: 22px !important; }
    .prices-detail-block .boxes-program-name { font-size: 12px !important; line-height: 16px !important; }
    .prices-detail-block .price-box { font-size: 20px !important; margin: 6px 0 !important; }
    .prices-detail-block .btn-big { padding: 10px 16px !important; font-size: 13px !important; }
    /* плашка «+4 часа в подарок» шириной 250 px распирала страницу до 433 */
    .prices-detail-block .outer-box { position: relative; }
    .prices-detail-block .present-box { width: auto !important; max-width: none !important; left: 6px !important; right: 6px !important; font-size: 11px !important; line-height: 14px !important; padding: 4px 6px !important; white-space: normal !important; text-align: center; }

    /* «Сопровождение»: карточка услуги 295 px, значок 150 px → строкой */
    .service-block { display: grid !important; grid-template-columns: 64px 1fr; column-gap: 14px; align-items: start; padding: 14px !important; height: auto !important; min-height: 0 !important; text-align: left !important; }
    .service-block .service-img { margin: 0 !important; }
    .service-block .service-img img { width: 64px !important; height: auto !important; max-width: 64px !important; }
    .service-block h3 { font-size: 20px !important; line-height: 24px !important; margin: 0 0 4px !important; text-align: left !important; }
    .service-block .text-box { font-size: 13px !important; line-height: 18px !important; margin: 0 0 6px !important; text-align: left !important; }
    .service-block .price-box { font-size: 18px !important; line-height: 22px !important; margin: 0 0 8px !important; text-align: left !important; }
    .service-block .btn { padding: 9px 18px !important; font-size: 12px !important; }
    .podderzhka .col-md-6 { margin-bottom: 12px !important; }

    /* Битрикс24: карточки возможностей 225–276 px, отступы 20/30, между ними 30 */
    .b24helper_item { padding: 14px 16px !important; margin-bottom: 10px !important; height: auto !important; min-height: 0 !important; }
    .b24helper_item .item_header { font-size: 18px !important; line-height: 22px !important; margin-bottom: 6px !important; }
    .b24helper_item .item_desc { font-size: 14px !important; line-height: 20px !important; }
    /* логотипы «Нам доверяют» — три в ряд вместо двух */
    .preview-cases .preview-case { flex: 0 0 33.333% !important; max-width: 33.333% !important; padding-left: 6px !important; padding-right: 6px !important; margin-bottom: 10px !important; }
    .preview-cases .preview-case img { max-height: 56px !important; width: auto !important; max-width: 100% !important; }

    /* таблица цен на старых карточках программ: цена в столбце 59 px
       ломалась «223 / 000 / руб.», таблица на четыре экрана */
    .prices-block .table-func td:nth-child(2) { white-space: nowrap !important; }
    .prices-block .table-func td { padding-top: 8px !important; padding-bottom: 8px !important; font-size: 14px !important; line-height: 19px !important; }

    /* кейс: текстовый отзыв 2664 px — свёрнут до 320 с кнопкой (kompakt.js),
       текст остаётся в коде страницы */
    .review-text.kompakt-svernuto { max-height: 320px; }

    /* пункт 4: цели меньше 32 px — 26.09.2026 правила перенесены в
       template_styles.css (аудит), чтобы ушли на рабочий сайт */
}

/* ===== планшет и телефон (до 991 px) ===== */
@media (max-width: 991.98px) {
    /* первый экран: у карусели жёсткая высота, а блок фото пустой */
    body:has(.otrasl-banner) .otrasl-banner,
    body:has(.otrasl-banner) .otrasl-banner .swiper-wrapper,
    body:has(.otrasl-banner) .otrasl-banner .swiper-slide,
    body:has(.otrasl-banner) .otrasl-banner .container.h-100,
    body:has(.otrasl-banner) .otrasl-banner .slider-box { height: auto !important; min-height: 0 !important; }
    body:has(.otrasl-banner) .otrasl-banner .slider-img { display: none !important; }
    body:has(.otrasl-banner) .otrasl-banner .slider-btns { margin-bottom: 0 !important; }

    /* заголовки разделов */
    body:has(.otrasl-banner) .otrasl-pains .h2,
    body:has(.otrasl-banner) .ccases-block h2,
    body:has(.otrasl-banner) .block_faq h2 { font-size: 28px !important; line-height: 34px !important; }

    /* отступы разделов */
    body:has(.otrasl-banner) .otrasl-pains { padding-top: 28px !important; padding-bottom: 28px !important; }

    /* карточки «С чем приходят»: значок и заголовок в строку, текст под ними */
    body:has(.otrasl-banner) .otrasl-pains .bullet-block { display: grid !important; grid-template-columns: 34px 1fr; column-gap: 10px; row-gap: 6px; align-items: center; padding: 12px !important; height: auto !important; }
    body:has(.otrasl-banner) .otrasl-pains .bullet-block .icon-block { grid-column: 1; grid-row: 1; margin: 0 !important; }
    body:has(.otrasl-banner) .otrasl-pains .bullet-block .program-bullets-title { grid-column: 2; grid-row: 1; margin: 0 !important; width: auto !important; max-width: none !important; }
    body:has(.otrasl-banner) .otrasl-pains .bullet-block .program-bullets-text { grid-column: 1 / -1; grid-row: 2; margin: 0 !important; width: auto !important; max-width: none !important; font-size: 14px !important; line-height: 20px !important; }
}

/* планшет: карточки «С чем приходят» стояли по одной в левой половине — в две колонки */
@media (min-width: 576px) and (max-width: 991.98px) {
    body:has(.otrasl-banner) .otrasl-pains .program-bullets { display: grid !important; grid-template-columns: 1fr 1fr; gap: 12px !important; }
    body:has(.otrasl-banner) .otrasl-pains .program-bullets > * { width: auto !important; max-width: none !important; margin: 0 !important; flex: none !important; }
    body:has(.otrasl-banner) .otrasl-pains .program-bullets > .auto-goals-description { grid-column: 1 / -1; }
}

/* ===== телефон ===== */
@media (max-width: 767.98px) {
    body:has(.otrasl-banner) .gray-section.block-h1 { padding-top: 10px !important; padding-bottom: 4px !important; }
    body:has(.otrasl-banner) .gray-section.block-h1 h1 { font-size: 21px !important; line-height: 26px !important; padding-bottom: 6px !important; }

    /* первый экран: 1073 px — отступы и зазоры меньше */
    body:has(.otrasl-banner) .otrasl-banner .swiper-slide { padding-top: 12px !important; padding-bottom: 16px !important; height: auto !important; min-height: 0 !important; }
    body:has(.otrasl-banner) .otrasl-banner,
    body:has(.otrasl-banner) .otrasl-banner .swiper-wrapper,
    body:has(.otrasl-banner) .otrasl-banner .container.h-100,
    body:has(.otrasl-banner) .otrasl-banner .slider-box { height: auto !important; min-height: 0 !important; }
    body:has(.otrasl-banner) .otrasl-banner .slider-info { padding-top: 12px !important; padding-bottom: 8px !important; }
    body:has(.otrasl-banner) .otrasl-banner .slider-h { font-size: 24px !important; line-height: 30px !important; }
    body:has(.otrasl-banner) .otrasl-banner .slider-s { margin-top: 12px !important; font-size: 16px !important; line-height: 23px !important; }
    body:has(.otrasl-banner) .otrasl-banner .list-plus { margin-top: 12px !important; }
    body:has(.otrasl-banner) .otrasl-banner .list-plus li { padding-bottom: 6px !important; }
    body:has(.otrasl-banner) .otrasl-banner .slider-note { margin-top: 8px !important; margin-bottom: 8px !important; font-size: 14px !important; }
    body:has(.otrasl-banner) .otrasl-banner .slider-btns { margin-bottom: 0 !important; }
    /* блок фото на телефоне пустой, но держал 80 px под кнопками */
    body:has(.otrasl-banner) .otrasl-banner .slider-img { display: none !important; }

    /* заголовки разделов 38 px в 3–4 строки → 24 px */
    body:has(.otrasl-banner) .otrasl-pains .h2,
    body:has(.otrasl-banner) .ccases-block h2,
    body:has(.otrasl-banner) .block_faq h2,
    body:has(.otrasl-banner) .otrasl-text h2 { font-size: 24px !important; line-height: 29px !important; }

    /* отступы разделов → 24 */
    body:has(.otrasl-banner) .otrasl-pains { padding-top: 24px !important; padding-bottom: 24px !important; }
    body:has(.otrasl-banner) .otrasl-text { padding-top: 24px !important; padding-bottom: 16px !important; }
    body:has(.otrasl-banner) .ccases-block { padding-top: 24px !important; padding-bottom: 16px !important; }
    body:has(.otrasl-banner) .block_faq { padding-top: 24px !important; padding-bottom: 24px !important; }
    body:has(.otrasl-banner) .block_faq_q::before,
    body:has(.otrasl-banner) .block_faq_q > span { font-size: 15px !important; line-height: 20px !important; }
    body:has(.otrasl-banner) .block_faq_a { margin-left: 20px !important; margin-right: 20px !important; }

    /* карточки «С чем приходят»: значок и заголовок в строку, текст под ними
       (было три колонки — заголовок по слову в строке) */
    body:has(.otrasl-banner) .otrasl-pains .bullet-block { display: grid !important; grid-template-columns: 34px 1fr; column-gap: 10px; row-gap: 6px; align-items: center; padding: 12px !important; height: auto !important; }
    body:has(.otrasl-banner) .otrasl-pains .bullet-block .icon-block { grid-column: 1; grid-row: 1; margin: 0 !important; }
    body:has(.otrasl-banner) .otrasl-pains .bullet-block .program-bullets-title { grid-column: 2; grid-row: 1; margin: 0 !important; width: auto !important; max-width: none !important; }
    body:has(.otrasl-banner) .otrasl-pains .bullet-block .program-bullets-text { grid-column: 1 / -1; grid-row: 2; margin: 0 !important; width: auto !important; max-width: none !important; font-size: 14px !important; line-height: 20px !important; }
    body:has(.otrasl-banner) .otrasl-pains .program-bullets { gap: 10px !important; }
    body:has(.otrasl-banner) .otrasl-pains .auto-goals-description { padding: 14px 16px !important; font-size: 14px !important; line-height: 20px !important; }

    /* длинный текст: свёрнут, кнопка «Читать полностью» (kompakt.js);
       текст остаётся в коде страницы — поисковикам виден целиком */
    .kompakt-svernuto { position: relative; overflow: hidden; }
    .kompakt-svernuto::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 80px; background: linear-gradient(rgba(255,255,255,0), #fff); pointer-events: none; }
    .kompakt-knopka { display: inline-block; margin: 8px 15px 0; color: #B4553A; font-weight: 600; font-size: 15px; border: 0; background: none; padding: 0; border-bottom: 1px solid rgba(214,21,31,.35); }
}

/* 01.10.2026: блик прозрачных кнопок (.btn-trans, «Развернуть» на карточках
   программ) ехал сдвигом transform: translateX(-100%…100%) и две трети цикла
   стоял за правым краем кнопки. Сдвинутый псевдоэлемент раздувал ширину
   страницы: на телефоне 375 документ 699 px вместо 375 — прокрутка вбок, а у
   кнопки scrollWidth вдвое больше коробки. Обрезать нельзя: overflow:hidden
   срезал бы рамку на ::after (она выходит на 3 px наружу). Поэтому блик
   остаётся в границах кнопки, а полоса едет фоном: картинка в 3 ширины
   кнопки, полоса в её середине, background-position 100 % → 0 % проводит
   полосу от −0,5 до 1,5 ширины — тот же путь, что был. Раскладка не меняется. */
.btn-trans::before {
    transform: none;
    border-radius: inherit;
    background: linear-gradient(100deg,
        rgba(255, 255, 255, 0) 47.33%,
        rgba(255, 255, 255, 0.55) 50%,
        rgba(255, 255, 255, 0) 52.67%) no-repeat;
    background-size: 300% 100%;
    background-position: 100% 0;
    animation: blik_po_knopke_fonom 3s ease-in-out 2s infinite;
}
@keyframes blik_po_knopke_fonom {
    0%   { background-position: 100% 0; }
    35%  { background-position: 0% 0; }
    100% { background-position: 0% 0; }
}
@media (prefers-reduced-motion: reduce) {
    .btn-trans::before { animation: none; opacity: 0; }
}

/* ======================================================================
   ПРОХОД 1 ГЛАЗАМИ, 01.10.2026 — повторяющийся брак на 375 / 768 / 1440
   (tasks/vykatka/pravki-prohod1.md). Блик .btn-red::after проверен: у
   кнопки overflow:hidden, за неё не выходит — правки не нужно.
   ====================================================================== */

/* 1. Крошки наезжали на длинный заголовок (~78 страниц: блог, карточки
   программ, модули, вакансии). Последнее звено крошек — название этой же
   страницы, оно тут же стоит крупным H1. Когда звеньев три и больше, его
   прячем (разметка BreadcrumbList остаётся в коде); у коротких крошек
   «Главная › Раздел» длинное звено режем многоточием. На компьютере крошки
   живут в левом поле шириной 300 px (у H1 поля по 300 px) — не шире 290. */
.gray-section.block-h1 .bx-breadcrumb:has(> .bx-breadcrumb-item:nth-child(3)) > .bx-breadcrumb-item:not(:has(> a)) { display: none !important; }
.gray-section.block-h1 .bx-breadcrumb > .bx-breadcrumb-item:not(:has(> a)) > span { display: inline-block; max-width: 240px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; }
@media (min-width: 1200px) {
    html body .gray-section.block-h1.block-h1 .bx-breadcrumb { max-width: 290px; }
}

/* 2. Телефон: кнопка чата (46 px над плашкой MAX/Telegram) ложилась на
   ссылку «Согласие на обработку персональных данных» в конце подвала
   (151 страница). Под плашку уже был отступ 90 px — добавляем высоту
   кнопки чата. На блоге и вакансиях плашки нет, там ссылка ниже кнопки. */
@media (max-width: 767.98px) {
    body:has(.fixed-messengers) .footer_copy { padding-bottom: 146px; }
}

/* 3. «Посоветуйтесь со специалистом» на страницах Битрикс24: до 991 px
   отдельное фото Анны спрятано, но фон блока consult-bg_b24.jpg сам с её
   фото — оно вставало под заголовок и текст. На планшете и телефоне —
   сплошной синий фон тех же тонов. */
@media (max-width: 991.98px) {
    .b24_color .consult-callback__inner { background-image: linear-gradient(180deg, #0b4b8f 0%, #1f5aa2 100%) !important; }
}

/* 5. Цена словами («Рассчитывается индивидуально») в таблице цен старых
   карточек: «руб.» больше не дописывается (шаблон), а запрет переноса из
   правила телефона растягивал таблицу до 411 px — словам перенос можно */
.prices-block .table-func td.cena-tekstom { white-space: normal !important; }

/* 6. Миниатюры кейсов на /cases/ и в «Похожих кейсах»: cover срезал края,
   а в картинке почти всегда логотип клиента («FARM», «МИР ЗДОР», «ZENDEI»).
   Картинка целиком, поля светло-серые; логотип без картинки — с полями. */
.keys-kartochka__foto, .keys-pohozhie__foto { background-size: contain !important; background-repeat: no-repeat !important; background-position: center !important; background-color: #f3f5f8 !important; }
.keys-kartochka__foto--logo, .keys-pohozhie__foto--logo { background-size: 76% auto !important; }
.keys-pohozhie__karta--bez-foto { grid-template-columns: 1fr !important; }
.keys-pohozhie__karta--bez-foto .keys-pohozhie__telo { padding-left: 14px !important; }
/* страница кейса без своей картинки — логотип клиента с полями */
.case-img--logo { display: flex; align-items: center; justify-content: center; background: #fff; border-radius: 14px; padding: 24px; }
.case-img--logo img { width: auto !important; height: auto !important; max-width: 100% !important; max-height: 200px; box-shadow: none !important; }

/* 7. Модули: снимки 1С сверх трёх (на телефоне — сверх двух) прячутся до
   «Показать ещё», но правило ленивых картинок img.lazy[width][height]:not([src])
   сильнее .moduli-tekst .snimok-skryt — спрятанные снимки стояли пустыми
   рамками с подписью «2019-07-23_10-16-31.png» (билайн, мегафон и др.) */
.moduli-tekst img.snimok-skryt, .moduli-tekst p.snimok-skryt { display: none !important; }
@media (max-width: 767.98px) {
    .moduli-tekst img.snimok-skryt-tel, .moduli-tekst p.snimok-skryt-tel { display: none !important; }
}

/* 9. Снимки 1С в тексте модулей и статей — не шире колонки
   (мегафон на 768 растягивался до 1063 px) */
.moduli-tekst img, .detail-text img { max-width: 100%; height: auto; }

/* 10. Таблицы в статьях блога шире экрана телефона: прокрутка вбок внутри
   таблицы, страница не растягивается (обёртку ставит шаблон статьи) */
.tablica-prokrutka { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 0 0 16px; }
.tablica-prokrutka > table { margin-bottom: 0; }
@media (max-width: 767.98px) {
    .tablica-prokrutka > table td, .tablica-prokrutka > table th { font-size: 14px; line-height: 19px; }
}

/* 11. Статьи блога без белой подложки (переписанные в сентябре) — обёртку
   detail-text-container ставит шаблон статьи, стили у неё прежние */

/* ======================================================================
   ПРОХОД 2 ГЛАЗАМИ, 02.10.2026 (tasks/vykatka/pravki-prohod2.md).
   Буквы — пункты задания A–N.
   ====================================================================== */

/* A. Модули: снимок прячется вместе с подписью — класс стоит на абзаце,
   пункте списка или блоке со снимками (moduli-tekst.php). Ссылок «Показать
   ещё» две: для компьютера (после третьего снимка) и для телефона (после
   второго), видна одна. */
.moduli-tekst .snimok-skryt { display: none !important; }
@media (max-width: 767.98px) {
    .moduli-tekst .snimok-skryt-tel, .moduli-tekst .snimki-eshche--pk { display: none !important; }
}
@media (min-width: 768px) {
    .moduli-tekst .snimki-eshche--tel { display: none !important; }
}
.moduli-tekst p.moduli-snimok { margin: 0 0 16px; }

/* B. Длинный текст под «Читать полностью» (страницы Битрикс24, карточки
   программ): блоки ниже границы прячутся целиком (common.js), без обреза
   по высоте и дымки */
.tekst-skryto { display: none !important; }

/* C. Таблицы статей на телефоне: ячейки переносятся по словам (правило
   20.09 «без переноса» растягивало строку на экран и шире — видна была одна
   колонка, слова срезались краем), у колонки разумный минимум. Если таблица
   всё равно шире рамки — подсказка над ней, тень у правого края и полоса
   прокрутки снизу (классы ставит скрипт шаблона статьи). */
.tablica-ramka { position: relative; margin: 0 0 16px; }
.tablica-ramka > .tablica-prokrutka { margin: 0; }
.tablica-prokrutka > table { display: table !important; width: 100% !important; max-width: none !important; overflow: visible !important; margin: 0 !important; }
.tablica-ramka.tablica--shire .tablica-prokrutka { padding-bottom: 6px; scrollbar-width: thin; scrollbar-color: #b6bcc6 #eef0f3; }
.tablica-prokrutka::-webkit-scrollbar { height: 8px; }
.tablica-prokrutka::-webkit-scrollbar-track { background: #eef0f3; border-radius: 4px; }
.tablica-prokrutka::-webkit-scrollbar-thumb { background: #b6bcc6; border-radius: 4px; }
.tablica-ramka.tablica--shire::before { content: "Таблица шире экрана — листайте вбок →"; display: block; font-size: 13px; line-height: 18px; color: #6b7280; margin: 0 0 6px; }
.tablica-ramka::after { content: ""; position: absolute; top: 24px; right: 0; bottom: 14px; width: 28px; pointer-events: none; background: linear-gradient(to left, rgba(15, 23, 42, .18), rgba(15, 23, 42, 0)); opacity: 0; transition: opacity .2s; }
.tablica-ramka.tablica--est-sprava::after { opacity: 1; }
@media (max-width: 767.98px) {
    .tablica-prokrutka > table td, .tablica-prokrutka > table th { white-space: normal !important; min-width: 96px; word-break: normal; overflow-wrap: normal; -webkit-hyphens: manual; hyphens: manual; }
}

/* D. Подвал под плашкой MAX/TELEGRAM: отступ был только до 767.98 px, а
   плашка видна до 767.99 px — на 768 (планшет в браузере с дробной шириной)
   строка © уходила под плашку (контакты, «Что вручную», 9 страниц
   Битрикс24). Граница теперь та же, что у плашки (css/style.css). */
@media (max-width: 767.99px) {
    body:has(.fixed-messengers) .footer_copy { padding-bottom: 146px !important; }
}

/* E. «Посоветуйтесь со специалистом» на Битрикс24, компьютер: фон вписан
   по высоте (contain) — справа оставалась полоса цвета подложки ~90 px.
   Фон на всю ширину, обрезается сверху, Анна и стол на месте. */
@media (min-width: 992px) {
    .b24_color .consult-callback__inner { background-size: cover !important; background-position: left bottom !important; }
}

/* F. Крошки над первым экраном (отрасли, внедрение — свойство bez_shapki):
   как у серой шапки — при трёх звеньях и больше последнее (название
   страницы, оно же H1) не показываем */
.kroshki-stroka .bx-breadcrumb:has(> .bx-breadcrumb-item:nth-child(3)) > .bx-breadcrumb-item:not(:has(> a)) { display: none !important; }

/* G. Строка цены карточек программ: диапазон «1–2» и «редакция + цена»
   не рвутся (шаблон programs_new.detail) */
.ne-perenosit { white-space: nowrap; }

/* H. Телефон на контактах (768): «+7 925 049-27-» / «30» — номер целиком */
.contact-click.click_phone, .h4 a[href^="tel:"] { white-space: nowrap; }

/* I. Карусель кейсов: стрелки и точки стоят справа вверху, а название
   кейса и метки шли под ними (финансовый учёт: «‹» на «Медицина», на 768 —
   на названии). Шапке слайда отступ справа под стрелки, метки переносятся */
@media (min-width: 1200px) {
    .ccases .ccase-head:not(.vak-histories .ccase-head) { padding-right: 350px; flex-wrap: wrap; row-gap: 4px; }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
    .ccases .ccase-head:not(.vak-histories .ccase-head) { padding-right: 300px; flex-wrap: wrap; row-gap: 4px; }
}
@media (min-width: 768px) and (max-width: 991.98px) {
    .ccases .ccase-head:not(.vak-histories .ccase-head) { padding-right: 200px; flex-wrap: wrap; row-gap: 4px; }
}

/* J. Кейс: «Что сделано» с одной картинкой — без стрелок и миниатюр */
.what-do--odin .swiper-button-prev, .what-do--odin .swiper-button-next, .what-do--odin .bottom-interface { display: none !important; }

/* K. Миниатюры кейсов (/cases/, «Похожие кейсы»): вместо фото кейса —
   логотип клиента на белом поле с отступом (шаблоны). Компьютер и планшет —
   колонка слева, телефон — полоса над текстом во всю ширину карточки: в
   колонке 96 px логотип был нечитаем. */
.keys-kartochka__foto--logo, .keys-pohozhie__foto--logo { background-color: #fff !important; background-size: contain !important; background-origin: content-box !important; background-position: center !important; background-repeat: no-repeat !important; padding: 20px 18px !important; box-sizing: border-box; border-right: 1px solid #eef0f3; }
@media (min-width: 992px) {
    .keys-pohozhie__karta:has(> .keys-pohozhie__foto--logo) { grid-template-columns: 140px 1fr; }
}
@media (min-width: 576px) and (max-width: 991.98px) {
    .keys-pohozhie__karta:has(> .keys-pohozhie__foto--logo) { grid-template-columns: 160px 1fr; }
}
@media (max-width: 575.98px) {
    .keys-kartochka:has(> .keys-kartochka__foto--logo), .keys-pohozhie__karta:has(> .keys-pohozhie__foto--logo) { grid-template-columns: 1fr !important; }
    .keys-kartochka > .keys-kartochka__foto--logo, .keys-pohozhie__karta > .keys-pohozhie__foto--logo { min-height: 0 !important; height: 52px; padding: 14px 50% 0 14px !important; background-position: left center !important; border-right: 0; }
    .keys-kartochka:has(> .keys-kartochka__foto--logo) .keys-kartochka__telo { padding: 8px 14px 14px !important; }
    .keys-pohozhie__karta:has(> .keys-pohozhie__foto--logo) .keys-pohozhie__telo { padding: 8px 14px 12px !important; }
}

/* M. Цены старых карточек, телефон: плашка «+10 часов в подарок» держала
   высоту 60 px из стилей сайта и закрывала название тарифа */
@media (max-width: 767.98px) {
    .prices-detail-block .present-box { height: auto !important; top: -10px !important; border-radius: 14px 0 !important; }
    .prices-detail-block .outer-box:has(> .present-box) { padding-top: 26px !important; }
}

/* N. Превью YouTube в статьях и модулях: правило п. 9 (height:auto для
   картинок текста) перебило высоту превью, а отступ картинок текста статьи
   (margin-top 15 px) сдвигал картинку вниз внутри рамки — сверху оставалась
   чёрная полоса фона превью */
.detail-text .yt-prevyu img, .moduli-tekst .yt-prevyu img { margin: 0 !important; }
@supports (aspect-ratio: 1) {
    .detail-text .yt-prevyu img, .moduli-tekst .yt-prevyu img { height: 100% !important; max-width: none !important; }
}

/* N. /prices/: «РАЗВЕРНУТЬ» — белые буквы на жёлтой кнопке (style.css,
   color: white) читались плохо и без блика; тёмные, как у остальных
   жёлтых кнопок сайта */
.table-prices .expand-btn { color: #4A5060 !important; }

/* N. Первый экран отраслей, внедрения и ИИ на планшете и телефоне (фото
   скрыто): из фоновой картинки с кругами бледный белый круг вставал поверх
   списка («от 120 тыс. ₽», «от 150 тыс. ₽»). Фон — ровный, того же тона. */
@media (max-width: 991.98px) {
    .otrasl-banner .swiper-slide.automatization { background-image: none !important; background-color: #eeeef7 !important; }
}

/* ======================================================================
   ПРОХОД 3 ГЛАЗАМИ, 02.10.2026 (tasks/vykatka/pravki-prohod3.md).
   Номера — пункты задания 1–10.
   ====================================================================== */

/* 1. Шапка слайда карусели кейсов (заменяет отступы правки I). Отступ
   справа — по месту, где начинаются стрелки (левый край «‹»), а не с
   запасом: при 350 px третья метка уходила под логотип. Точка-разделитель
   стоит перед меткой (::before), а не после неё: при переносе метка
   уходит на новую строку вместе со своей точкой, а точка в начале строки
   срезается левым краем шапки (clip-path) — висящей «•» нет нигде.
   Расстояния между частями шапки — через gap: он не даёт отступа в начале
   строки, поэтому перенесённая метка встаёт ровно под логотип. */
.ccases .ccase-head:not(.vak-histories .ccase-head) { flex-wrap: wrap; row-gap: 4px; }
@media (min-width: 1201px) {
    /* метки в шапке видны только здесь (media.css прячет их до 1200 px) */
    .ccases .ccase-head:not(.vak-histories .ccase-head) { padding-right: 300px; column-gap: 20px; clip-path: inset(-40px -600px -40px 0); }
    .ccases .ccase-head:not(.vak-histories .ccase-head) > .ccase-logo { margin-right: 10px; }
    .ccases .ccase-head:not(.vak-histories .ccase-head) > .h4 { margin-right: 6px; }
    .ccases .ccase-head:not(.vak-histories .ccase-head) > .ccases-tag { position: relative; margin: 0; white-space: nowrap; }
    .ccases .ccase-head:not(.vak-histories .ccase-head) > .icon-circle { display: none !important; }
    .ccases .ccase-head:not(.vak-histories .ccase-head) > .icon-circle + .ccases-tag::before { content: ""; position: absolute; left: -14px; top: 50%; width: 8px; height: 8px; margin-top: -4px; border-radius: 50%; background: #C4C4C4; }
}
@media (min-width: 992px) and (max-width: 1200.98px) {
    .ccases .ccase-head:not(.vak-histories .ccase-head) { padding-right: 380px; }
}
@media (min-width: 769px) and (max-width: 991.98px) {
    .ccases .ccase-head:not(.vak-histories .ccase-head) { padding-right: 250px; }
}
@media (max-width: 768.98px) {
    .ccases .ccase-head:not(.vak-histories .ccase-head) { padding-right: 190px; }
}
@media (max-width: 767.98px) {
    .ccases .ccase-head:not(.vak-histories .ccase-head) { padding-right: 100px; }
}

/* 2. Кейс: «Текстовый отзыв» — у блока было margin-bottom: -80px (style.css,
   от старой раскладки), серый блок «Похожие кейсы» наезжал на низ карточки
   отзыва: нижней рамки и поля не было, последняя строка резалась */
.case-text-block { margin-bottom: 0 !important; padding-bottom: 28px !important; }
.case-text-block .blockquote-section { margin-bottom: 0 !important; }
@media (max-width: 767.98px) {
    .case-text-block { padding-bottom: 22px !important; }
}

/* 5. Статья блога: картинка статьи над датой — не выше 260 px (на телефоне
   200), чтобы дата и начало текста были на первом экране. Если та же
   картинка стоит в тексте, шаблон её над датой не выводит. */
.blog-detail-page .item-img img { width: auto !important; max-width: 100%; height: auto; max-height: 260px; object-fit: contain; margin-bottom: 12px; }
@media (max-width: 767.98px) {
    .blog-detail-page .item-img img { max-height: 200px; }
}

/* 6. «Содержание» статьи (article-toc из текста статьи): белая полоса во всю
   ширину окна, пункты шрифтом с засечками («Open Sans» с пробелом нет на
   сайте). Теперь — карточка той же ширины и вида, что колонка текста. */
.blog-detail-page .article-toc { background: none !important; padding: 0 !important; margin: 0 0 16px !important; }
.blog-detail-page .article-toc-container { background: #fff; border: 1px solid #DADDE4; border-radius: 5px; padding: 24px 50px; gap: 12px 30px; }
.blog-detail-page .toc-title { font-size: 26px; line-height: 30px; }
.blog-detail-page .toc-box li a { font-family: OpenSans, "Open Sans", Arial, sans-serif; font-size: 17px; line-height: 22px; }
.blog-detail-page .toc-box li:not(:last-child) { margin-bottom: 10px; }
.blog-detail-page .toc-box li::before { width: 32px; height: 32px; flex: 0 0 32px; font-size: 17px; }
@media (max-width: 767.98px) {
    .blog-detail-page .article-toc-container { padding: 18px 16px; }
    .blog-detail-page .toc-title { font-size: 22px; line-height: 26px; }
    .blog-detail-page .toc-box li a { font-size: 15px; line-height: 20px; }
}

/* 7. «Развернуть» под «Доп. лицензиями» старых карточек 1ssoft: белая
   кнопка на белом, рамка #F4F8FC не видна, значок open.svg (5×15 px)
   читался красной чертой. Рамка красная, как у прозрачных кнопок сайта,
   значок — галочка вниз (вверх, когда таблица раскрыта). */
.btn-trans.btn-open, .btn-trans.btn-open:hover, .btn-trans.btn-open:focus, .btn-trans.btn-open:active { border: 2px solid #D6151F !important; color: #B4553A !important; height: 48px; line-height: 44px; width: auto; min-width: 220px; padding: 0 26px; }
.btn-trans.btn-open:hover { background-color: #FDF0F0 !important; }
.btn-trans.btn-open .icon-open { background: none; width: 9px; height: 9px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); vertical-align: middle; margin: -5px 10px 0 0; }
.btn-open--razvernuto .icon-open { transform: rotate(-135deg) !important; margin-top: 3px !important; }

/* 8. «Читать полностью» под свёрнутым текстом карточек программ: кнопка
   стояла в 20 px от заголовка следующего блока на том же белом фоне */
.prog-detail-text + .tekst-razvernut { margin-bottom: 30px; }

/* 9. podderzhka-1s, «Помощник первой линии»: ссылка «Как это устроено»
   переносилась под кнопку с зазором 5 px и сдвигом 16 px вправо, цвет не
   как у ссылок сайта. Отдельной строкой под кнопкой, с отступом. */
.service-block--ii .service-more { display: table !important; margin: 14px 0 0 !important; color: #B4553A !important; font-weight: 600; text-decoration: none; border-bottom: 1px solid rgba(214, 21, 31, .35); line-height: 1.3; }
.service-block--ii .service-more:hover { border-bottom-color: #D6151F; }

/* 13. Главная, первый экран на планшете (фото скрыто): белое кольцо фоновой
   картинки slider1-bg шло сквозь текст и список. Как на отраслях (пункт N
   прохода 2) — ровный фон того же тона; до 480 px так уже было (media.css). */
@media (max-width: 991.98px) {
    .main-slider:not(.otrasl-banner) .swiper-slide.integration { background-image: none !important; background-color: #f0f0f8 !important; }
}

/* 16. Картинки статей и текстов карточек: до 1200 px media.css растягивал
   каждую на всю ширину колонки (width: 100%) — мелкие снимки кнопок и
   диалогов 1С становились крупнее текста и размытыми. Теперь картинка не
   шире своей натуральной ширины и не шире колонки. Превью видео — по-прежнему
   во всю рамку. */
.detail-text img { width: auto !important; max-width: 100% !important; height: auto; }
.detail-text .yt-prevyu img { width: 100% !important; }

/* 17. Кейс: видеоотзыв на планшете и телефоне (колонкой) — у блока видео
   высота не больше 362 px, а превью шириной в колонку выше: низ видео
   ложился на строку «Контактное лицо». Высота по картинке. */
.case .dcase-video-clock .video-block { height: auto !important; max-height: none !important; }

/* 7 (дополнение). «Развернуть» и «Подобрать лицензии» рядом — одной высоты
   и по средней линии */
.lic-nizhe .btn { vertical-align: middle; }
.btn-trans.btn-open, .btn-trans.btn-open:hover, .btn-trans.btn-open:focus, .btn-trans.btn-open:active { height: 50px; line-height: 46px; }

/* 14. podderzhka-1s: под последней карточкой услуг до «Как работаем» было
   75 px на компьютере и 130 на планшете (поле карточки 30 + поле ряда 28–40
   + отступ ряда 30–60). Остаётся только поле ряда. */
.podderzhka .row.services { margin-bottom: 0 !important; padding-bottom: 28px !important; }
.podderzhka .row.services .service-block--ii { margin-bottom: 0 !important; }

/* 18. «Похожие кейсы»: у кейса без логотипа (АСЦ ККТ, Штарк, Поставщик
   косметики) фото вписывалось целиком (contain, правка прохода 1) — в узкой
   колонке это полоска ~100×40. Фото заполняет миниатюру по высоте карточки. */
.keys-pohozhie__foto:not(.keys-pohozhie__foto--logo) { background-size: cover !important; background-position: center !important; }

/* 21 (и 18 на телефоне). Карточка кейса без логотипа (Маркетпол на /cases/,
   АСЦ ККТ, Штарк, Поставщик косметики в «Похожих»): на телефоне фото стояло
   слева в узкой серой колонке, у соседних карточек логотип — полосой над
   текстом. Теперь так же: фото полосой над текстом, по ширине карточки. */
@media (max-width: 575.98px) {
    .keys-kartochka:not(.keys-kartochka--bez-foto):not(:has(> .keys-kartochka__foto--logo)),
    .keys-pohozhie__karta:not(.keys-pohozhie__karta--bez-foto):not(:has(> .keys-pohozhie__foto--logo)) { grid-template-columns: 1fr !important; }
    .keys-kartochka > .keys-kartochka__foto:not(.keys-kartochka__foto--logo),
    .keys-pohozhie__karta > .keys-pohozhie__foto:not(.keys-pohozhie__foto--logo) { min-height: 0 !important; height: 110px; background-size: cover !important; background-position: center !important; }
    .keys-kartochka:not(.keys-kartochka--bez-foto):not(:has(> .keys-kartochka__foto--logo)) .keys-kartochka__telo { padding: 10px 14px 14px !important; }
    .keys-pohozhie__karta:not(.keys-pohozhie__karta--bez-foto):not(:has(> .keys-pohozhie__foto--logo)) .keys-pohozhie__telo { padding: 10px 14px 12px !important; }
}

/* 22. «Рекомендуем прочитать» в статьях: до 992 px стрелки и точки были
   скрыты (точки наезжали на заголовок) — на телефоне видна одна карточка,
   и не понятно, что блок листается. Точки — под карточками, в потоке. */
@media (max-width: 991.98px) {
    .hit-slider .swiper-pagination.swiper-pagination-bullets { display: block !important; position: static !important; width: auto !important; height: auto !important; margin: 10px 0 4px; text-align: center; line-height: 0; }
    .hit-slider .swiper-pagination-bullets .swiper-pagination-bullet { width: 10px; height: 10px; margin: 0 5px; opacity: 1; background: #d5d8da; }
    .hit-slider .swiper-pagination-bullets .swiper-pagination-bullet-active { background: #B4553A; width: 26px; border-radius: 5px; }
    .hit-slider .swiper-pagination-bullets:has(> .swiper-pagination-bullet:only-child) { display: none !important; }
}

/* ===== ИТОГОВЫЕ ПРАВКИ, 02.10.2026 (final-1440/768/375) ===== */

/* 1. Статья блога: строка «Что делаем: …» / «По теме статьи: …» стояла во
   всю ширину контейнера (красная черта в ~16 px от края окна), а колонка
   статьи и «Понравилась статья?» — по центру шириной 1200 (1020 при
   масштабе). Строка — в ширину колонки. */
.blog-detail-page .stat-po-teme { max-width: 1200px; margin-left: auto; margin-right: auto; box-sizing: border-box; }

/* 4. /1ssoft/ на телефоне: правило каталога «карточки программ по две в ряд»
   (template_styles.css, .progs .row > .col-sm-6 — 50 %) задевало и колонки
   списков направлений — первые пять пунктов стояли в левой половине экрана.
   Списки до 576 px — одной колонкой во всю ширину, поля как у контейнера. */
@media (max-width: 575.98px) {
    .progs .row > .col-sm-6.soft-links { flex: 0 0 100%; max-width: 100%; padding-left: 15px; padding-right: 15px; }
}

/* ===== ГЛАЗА, 02.10.2026 (tasks/vykatka/pravki-glaza.md) ===== */

/* 1. Всплывающие окна (#formAction, «Обратный звонок» и другие .modal): у шапки
   вместе с полосой «НОВОЕ Спросите ИИ…» z-index 10001, у окна Bootstrap 1050,
   у затемнения 1040 — окно уходило под шапку, шапка, полоса и кнопка чата
   (10000) не затемнялись. Окно и затемнение — выше них. */
.modal-backdrop { z-index: 10040 !important; }
.modal { z-index: 10050 !important; }
/* плашка MAX/Telegram внизу телефона и кнопка чата при открытом окне — под затемнением */
body.modal-open .fixed-messengers, body.modal-open .trend-chat { z-index: 10030 !important; }

/* 2. Крошки над первым экраном (отрасли, внедрение — .kroshki-stroka) стояли
   белой полосой. Как крошки серой шапки на остальных страницах: серый фон
   во всю ширину окна, низкая строка */
.kroshki-stroka { background: #F5F7F9; box-shadow: 0 0 0 100vmax #F5F7F9; clip-path: inset(0 -100vmax); padding-top: 9px !important; padding-bottom: 9px !important; min-height: 0 !important; line-height: 18px; }
.kroshki-stroka .bx-breadcrumb .bx-breadcrumb-item { margin-bottom: 0 !important; }

/* 3. «Посоветуйтесь со специалистом» (consult-block.php, consult-block_b24.php —
   внизу почти всех страниц) на 1440×765 был выше экрана (592 px из 765 вместе
   с шапкой 69–103 px; в окне браузера Антона — выше видимой части). Из шаблона
   убраны подзаголовок слева, строка и кнопки мессенджеров, «Или оставьте заявку
   на звонок». Здесь: заголовок формы мельче, «Коротко о задаче» — в одну строку
   высотой как остальные поля, отступы блока меньше. На компьютере (масштаб):
   заголовок слева вверху, карточка Анны сразу под ним (18 px; 02.10 вечер —
   по низу формы оставляла пустое поле ~200 px). */
.consult-standart .consult-form .form-calc .h4 { font-size: 18px !important; line-height: 23px !important; margin-bottom: 14px !important; }
.consult-standart .consult-form textarea.form-control-input { resize: none; overflow: hidden; }
@media (min-width: 992px) {
    .consult-standart .consult-wrapper { padding-top: 20px !important; padding-bottom: 20px !important; }
    .consult-standart .consult-form .form-calc { padding: 22px 24px 14px !important; }
    .consult-standart .consult-form textarea.form-control-input { height: 47px !important; min-height: 47px !important; padding-top: 11px !important; padding-bottom: 11px !important; line-height: 23px; }
    .consult-standart .consult-form .politic { margin-top: 10px !important; }
}
@media (min-width: 1200px) {
    /* 03.10.2026: левая колонка (заголовок + карточка) по середине высоты формы — без пустоты под карточкой */
    .consult-standart .consult-wrapper { align-items: center !important; }
    .consult-standart .consult-content { max-width: 440px !important; }
    .consult-standart .consult-content .consult-content-person--foto { max-width: 400px !important; }
    .consult-standart:not(.b24_color) .consult-content { display: flex; flex-direction: column; }
    .consult-standart:not(.b24_color) .consult-content-person { margin-top: 18px !important; }
    .consult-standart:not(.b24_color) .consult-content-title { margin-bottom: 0 !important; }
}
/* 03.10.2026: большое фото за столом убрано из шаблона («фотка уехала») —
   в карточке круглое фото 68 px: кроп лица из того же consult-main.png
   (1338×840, лицо около x 905, y 225) — картинка 303 px со сдвигом */
.consult-standart .consult-img { display: none !important; }
.consult-standart .consult-content-person--foto { display: flex !important; align-items: center; gap: 14px; padding: 12px 20px 12px 12px !important; max-width: 340px !important; }
.consult-standart .consult-avatar { position: relative; flex: 0 0 68px; width: 68px; height: 68px; border-radius: 50%; overflow: hidden; background: #f3f0ec; box-shadow: 0 0 0 3px #FFDE0B; }
.consult-standart .consult-avatar img { position: absolute; left: -171px; top: -17px; width: 303px !important; height: auto !important; max-width: none !important; margin: 0 !important; }
.consult-standart .consult-content-person-tekst { min-width: 0; }
.consult-standart .consult-content-person--foto .consult-content-person-name { font-size: 20px; line-height: 24px; }
.consult-standart .consult-content-person--foto .consult-content-person-position { margin-top: 4px !important; font-size: 15px; line-height: 20px; }
@media (max-width: 991.98px) {
    .consult-standart .consult-content-person--foto { max-width: none !important; padding: 10px 16px 10px 10px !important; gap: 12px; }
    .consult-standart .consult-avatar { flex-basis: 64px; width: 64px; height: 64px; }
    .consult-standart .consult-avatar img { left: -161px; top: -16px; width: 285px !important; }
}
/* 03.10.2026: декоративные круги фона не заходят на карточку и форму.
   Оранжевый фон consult-bg.jpg (1920×840) — в натуральную величину от центра
   окна, поэтому круги стоят на одном месте относительно колонок при любой
   ширине: большой круг слева внизу и мелкие — вне карточки, круг справа
   вверху — правее формы. Большое пятно справа (x 1213–1795, y 345–840, то
   есть от центра +253…+835) ложилось под форму — закрыто заливкой цвета
   фона (::before), до правого края окна, без прокрутки вбок.
   Битрикс24: в фоне consult-bg_b24.jpg само фото Анны за ноутбуком — на всех
   ширинах ровный синий, как раньше на телефоне (п. 3 правок 01.10). */
.consult-standart:not(.b24_color) .consult-callback__inner { background-size: 1920px auto !important; background-position: center top !important; background-repeat: no-repeat !important; background-color: #feac40 !important; }
.consult-standart:not(.b24_color) .consult-callback__inner::before { content: ""; position: absolute; top: 330px; bottom: 0; left: calc(50% + 245px); right: max(0px, calc(50% - 860px)); background: #feac40; pointer-events: none; }
.consult-standart .consult-callback__inner > .container { position: relative; z-index: 1; }
.consult-standart.b24_color .consult-callback__inner { background-image: linear-gradient(180deg, #0b4b8f 0%, #1f5aa2 100%) !important; }
@media (max-width: 991.98px) {
    .consult-standart .consult-form textarea.form-control-input { height: 46px !important; min-height: 46px !important; padding: 11px 16px !important; line-height: 22px; }
    .consult-standart .consult-wrapper { padding-top: 20px !important; padding-bottom: 20px !important; }
    .consult-standart .consult-content-title { margin-bottom: 0 !important; }
}
