/* Мобильная версия (спецификация .deploy/docs/decisions/2026-10-02-mobile-version-design.md).
   На компьютере (от 1024px) действует только скрытие новых мобильных элементов. */
.mobile-bar, .mobile-overlay, .mobile-menu-close, .mobile-submenu { display: none; }

@media (max-width: 1023px) {

/* === КАРКАС === */
html, body { min-width: 0 !important; }
.wrapper { min-width: 0 !important; overflow-x: hidden; }
body { padding-top: 56px; }

.mobile-bar {
    display: flex; align-items: center; justify-content: space-between;
    position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
    height: 56px; padding: 0 4px 0 16px; box-sizing: border-box;
    background: #fff; border-bottom: 1px solid #dadada;
}
.mobile-bar__logo img { display: block; height: 30px; width: auto; }
.mobile-bar__actions { display: flex; align-items: center; }
.mobile-bar__phone, .mobile-bar__burger {
    display: flex; align-items: center; justify-content: center;
    width: 44px; height: 44px; flex-direction: column; gap: 5px;
}
.mobile-bar__burger span { display: block; width: 22px; height: 2px; background: #333; border-radius: 1px; }

#menu {
    position: fixed !important; top: 0; bottom: 0; left: 0; z-index: 1100;
    float: none !important; width: min(320px, 85vw) !important; height: auto !important;
    background: #fff; overflow-y: auto; -webkit-overflow-scrolling: touch;
    transform: translateX(-100%); transition: transform .25s ease;
}
#menu > div { width: auto !important; }
html.menu-open #menu, #menu:target { transform: none; }
#menu .bot { position: static !important; margin-top: 24px; }
.mobile-menu-close {
    display: block; position: absolute; top: 6px; right: 6px; z-index: 2;
    width: 44px; height: 44px; line-height: 44px; text-align: center;
    font-size: 30px; color: #333; text-decoration: none;
}
.mobile-overlay {
    display: block; position: fixed; inset: 0; z-index: 1050;
    background: rgba(0, 0, 0, .4); opacity: 0; visibility: hidden; transition: opacity .25s ease;
}
html.menu-open .mobile-overlay { opacity: 1; visibility: visible; }
html.menu-open, html.menu-open body { overflow: hidden; }
.nicescroll-rails { display: none !important; }

.left_menu_second { display: none !important; }
#menu .services_link.open .mobile-submenu { display: block; padding: 4px 0 8px 16px; text-align: left; }
.mobile-submenu a { display: block; padding: 10px 0; font: 15px/1.3 'PragmaticaBookRegular', sans-serif; color: #333; text-decoration: none; }

.block-in, .block { margin-left: 0 !important; }
.row { width: auto !important; max-width: 700px; padding: 0 16px; box-sizing: border-box; }
#header { padding: 24px 0 20px !important; }
.row .h1, .page-title { font-size: 26px !important; line-height: 1.2 !important; }
.nav_chain_container { white-space: normal; line-height: 1.8; margin-top: 0 !important; }
#footer { margin: 40px 16px 0 !important; padding-bottom: 24px; }

.forma {
    padding: 0 0 24px !important; z-index: 1200 !important;
    overflow-y: auto; -webkit-overflow-scrolling: touch;
}
.forma .close { top: 16px !important; right: 16px !important; }
.forma .close::after { content: ""; position: absolute; inset: -9px; }
.forma .h1 { font-size: 22px !important; line-height: 1.25 !important; padding: 64px 16px 24px !important; }
.forma form { width: auto !important; margin: 0 16px !important; }
.forma label .input, .forma label .textarea { width: 100% !important; box-sizing: border-box; font-size: 16px !important; }
.forma .button { width: 100% !important; box-sizing: border-box; }
.forma form div[style*="width"] { width: auto !important; font: 14px/1.4 'PragmaticaBookRegular', sans-serif !important; }

html .cookie-banner { left: 0; right: 0; bottom: 0; max-width: 100%; border-radius: 0; padding: 15px 16px; z-index: 1300; }
html .cookie-banner-buttons { flex-direction: column; align-items: stretch; }

/* === КОНТЕНТ === */
.block-in img, .block-in iframe, .block-in video { max-width: 100% !important; height: auto !important; }
.block-in iframe[src*="youtube"], .block-in iframe[src*="vk.com"] { aspect-ratio: 16 / 9; width: 100% !important; }
.block-in table { display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.block-in pre { max-width: 100%; overflow-x: auto; white-space: pre; }
.block-in .row, .news-detail, .articles { overflow-wrap: anywhere; }
.row [style*="width"], .news-detail [style*="width"], .articles [style*="width"] { max-width: 100% !important; box-sizing: border-box; }
.row img { margin: 12px 0; }
.row p, .news-detail p, .articles p, .row li { font-size: 16px !important; line-height: 1.6 !important; padding-right: 0 !important; }
.row ul li { line-height: 1.5 !important; }
.row .h2, .news-detail h2, .articles h2 { font-size: 22px !important; line-height: 1.25 !important; padding-top: 28px !important; }
.row .h3, .news-detail h3, .articles h3 { font-size: 20px !important; line-height: 1.25 !important; }
.news-detail img:not(a img), .articles img:not(a img), .portfolio-block img:not(a img) { cursor: zoom-in; }
.inner-table td, .inner-table th { padding: 12px !important; }

/* === ГЛАВНАЯ === */
.block { padding-left: 16px; padding-right: 16px; box-sizing: border-box; }
.block1 { min-height: 0 !important; padding-bottom: 48px; }
.block .block-count, .block .next-block, .block .line, .block .line1,
.block1 .figure1, .block1 .figure2, .block1 .figure3, .block3 .figure4, .block5 .figure4 { display: none !important; }
.block .h1 { font-size: 24px !important; line-height: 1.25 !important; padding-top: 48px !important; max-width: 100%; }
.block .h2 { max-width: 100%; }
.block p, .block li, .block .list_circle { font-size: 16px !important; line-height: 1.5 !important; }

.block1 .more_button {
    margin: 0 0 10px !important; padding: 12px 10px !important; box-sizing: border-box;
    width: calc(50% - 6px); min-height: 44px; font-size: 14px !important; line-height: 1.3 !important;
    vertical-align: top;
}
.block1 .more_button:nth-child(odd) { margin-right: 8px !important; }
.block1 .h2 { font-size: 18px !important; line-height: 1.3 !important; }
.block1 .bonus strong { font-size: 20px !important; line-height: 1.3 !important; }
.block1 .bonus p { font-size: 15px !important; line-height: 1.4 !important; }
.block label input { width: 100% !important; box-sizing: border-box; height: auto !important; font-size: 16px !important; }
.block .button { width: 100% !important; box-sizing: border-box; min-height: 48px; }
.block1 form div[style*="width"] { width: auto !important; font: 14px/1.4 'PragmaticaBookRegular', sans-serif !important; text-align: left; }

.block2 .list { display: flex; justify-content: space-between; }
.block2 .list .list1, .block2 .list .list2, .block2 .list .list3,
.block4 .list .list1, .block4 .list .list2, .block4 .list .list3 {
    float: none !important; width: 33.333% !important; margin: 0 !important; padding: 0 4px !important; box-sizing: border-box;
    font-size: 13px !important; line-height: 1.35 !important; hyphens: auto; -webkit-hyphens: auto; overflow-wrap: anywhere;
}
.block2 .list .list_circle, .block4 .list .list_circle { width: 56px !important; height: 56px !important; line-height: 56px !important; font-size: 20px !important; }
.block2 .pluses .title, .block4 .pluses .title { font-size: 20px !important; padding-bottom: 24px !important; }
.pluses, .pluses_list, .block .list { width: auto !important; max-width: 100%; }
.block2 .pluses ul, .block4 .pluses ul { width: auto !important; margin-bottom: 20px !important; }
.block2 .pluses ul li, .block4 .pluses ul li { padding: 16px 12px 16px 40px !important; background-position: 14px 50% !important; }
.block2 .pluses .more, .block4 .pluses .more { margin-top: 0 !important; }
/* декоративные линии и изгибы между блоками */
.block::before, .block2 .pluses ul::before, .block2 .pluses ul::after,
.block4 .pluses ul::before, .block4 .pluses ul::after { display: none !important; }
.block .button2, .block .button3, .block .more { min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; }

.slide-item { width: auto !important; max-width: 100%; }
.slide-item .bottom-block-text { font-size: 15px !important; line-height: 1.5 !important; }
/* стрелки — спрайт 31×35 (buttons.png); зона касания 45×45 за счёт полей, картинка только в контенте */
.bleft, .bright {
    box-sizing: content-box !important; width: 31px !important; height: 35px !important; padding: 5px 7px;
    background-origin: content-box; background-clip: content-box;
}
/* как на компьютере: .bright («назад», ‹) слева, .bleft («вперёд», ›) справа */
.bright { left: 0 !important; right: auto !important; }
.bleft { right: 0 !important; left: auto !important; }

/* === СТРАНИЦЫ === */
/* Услуги и инструкции (список) */
.new-services { text-align: left; }
.new-services-block { width: 100% !important; min-height: 0 !important; margin: 0 0 16px !important; box-sizing: border-box; display: block !important; }
.new-services-block .plus-more { width: 44px !important; height: 44px !important; }
.update-1C-block .specific-info-block, .update-1C-block .product-version-block { float: none !important; width: 100% !important; margin: 0 0 12px !important; height: auto !important; }
.update-1C-popup { width: auto !important; margin: 64px 16px !important; }

/* Кнопки заявки внутри страниц (услуга, проект) */
.block-in .button1, .block-in .button2, .block-in .button3 { display: block !important; width: 100% !important; box-sizing: border-box; min-height: 44px; text-align: center; }

/* Портфолио */
.portfolio-item-line { display: block !important; padding-bottom: 0 !important; }
.portfolio-item { display: block !important; width: 100% !important; margin: 0 0 16px !important; box-sizing: border-box; }
.portfolio-item-bottom { width: 100% !important; max-width: 260px; height: 48px !important; line-height: 48px !important; box-sizing: border-box; }

/* Проект */
.portfolio-block .properties-block { float: left !important; width: calc(50% - 6px) !important; height: auto !important; min-height: 120px; margin: 0 0 12px !important; }
.portfolio-block .properties-block:nth-of-type(even) { float: right !important; }
.portfolio-block::after { content: ""; display: block; clear: both; }

/* Контакты */
.contacts_line .contacts_type, .contacts_line .contacts_value { float: none !important; display: block; }
.contacts_line .contacts_value { margin-top: 6px; }
.map_wrapper { height: 300px !important; margin: 15px 0 40px !important; }
.map_wrapper .bx-yandex-view-layout, .map_wrapper .bx-yandex-view-map, .map_wrapper .bx-yandex-map { width: 100% !important; height: 300px !important; }

/* Блог */
.news-list .news-item { float: none !important; width: auto !important; margin: 0 0 24px !important; }

@media (min-width: 600px) {
    .new-services-block, .portfolio-item { display: inline-block !important; width: calc(50% - 8px) !important; vertical-align: top; }
    .new-services-block:nth-of-type(odd), .portfolio-item:nth-of-type(odd) { margin-right: 12px !important; }
}
@media (max-width: 479px) {
    .portfolio-block .properties-block, .portfolio-block .properties-block:nth-of-type(even) { float: none !important; width: 100% !important; }
}

/* === ФОРМЫ === */
input:not([type=checkbox]):not([type=radio]), textarea, select { font-size: 16px !important; }

/* Бриф */
.about-company { padding: 0 12px !important; box-sizing: border-box; }
.about-company .title { padding: 20px 0 !important; font-size: 20px !important; line-height: 1.25 !important; }
.about-company .field { display: block !important; margin: 0 !important; padding: 20px 0 !important; }
.about-company .field .label { float: none !important; display: block; width: auto !important; margin: 0 0 8px !important; }
.about-company .field .input, .about-company .field .textarea, .about-company .field select,
.about-company .gk-dropdown, .about-company .gk-dropdown__select { width: 100% !important; box-sizing: border-box; margin: 0 !important; min-height: 44px; }
.about-company .radio-group { display: block; }
.about-company .radio { display: block; padding: 8px 0; }
.file_select { float: none !important; display: inline-block; margin-top: 8px; }
.about-company .bottom .text { float: none !important; display: block; width: auto !important; margin: 0 0 12px !important; }
/* вкладки брифа и кнопки «Скачать бриф» / «Загрузить Бриф» */
.top_menu_brief { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.top_menu_brief_inner_1, .top_menu_brief_inner_2 { float: none !important; display: block !important; width: auto !important; margin: 0 !important; }
.row .button4, .row .button5 {
    display: block !important; width: 100% !important; box-sizing: border-box; margin: 0 0 12px !important;
    min-height: 44px; text-align: center;
}

}
