/*
 * Читаемость и единый стиль на всех страницах (подключается последним и поэтому имеет приоритет).
 */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: #B22013; color: #fff; }
:focus-visible { outline: 2px solid #B22013; outline-offset: 2px; border-radius: 4px; }

/* Надзаголовки над заголовками: тонкие капсом, как у аккуратных сайтов */
.elementor[data-elementor-type="wp-page"] .elementor-widget-heading:has(+ .elementor-widget-heading h2.elementor-heading-title) .elementor-heading-title,
.elementor[data-elementor-type="wp-page"] .elementor-widget-heading:has(+ .elementor-widget-heading h1.elementor-heading-title) .elementor-heading-title {
	font-size: 13px; letter-spacing: .12em; text-transform: uppercase; font-weight: 700;
}
.elementor[data-elementor-type="wp-page"] h2.elementor-heading-title { letter-spacing: -.01em; }

/* Длинные тексты: комфортная ширина строки и интервалы */
.elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor { max-width: 860px; margin-left: auto; margin-right: auto; color: #222; }
.elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor p { font-size: 17.5px; line-height: 1.72; margin: 0 0 1.1em; }
.elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor li { font-size: 17px; line-height: 1.7; margin-bottom: .35em; }
.elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor ul { padding-left: 1.3em; }
.elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor li::marker { color: #B22013; }
.elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor strong { color: #111; }
.elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor h2 { font-family: "Montserrat", Sans-serif; font-size: 30px; font-weight: 800; line-height: 1.25; color: #1B1B1B; text-align: left; margin: 1.7em 0 .55em; letter-spacing: -.01em; }
.elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor h3 { font-family: "Montserrat", Sans-serif; font-size: 22px; font-weight: 700; line-height: 1.3; color: #1B1B1B; margin: 1.4em 0 .45em; }
.elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor a { color: #B22013; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor a:hover { color: #8f190f; }
/* Содержание: ссылки-«таблетки» вместо нумерованного списка */
.elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor ol:has(> li > a) { list-style: none; display: flex; flex-wrap: wrap; gap: 8px 10px; padding: 0; margin: 0 0 1.4em; }
.elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor ol:has(> li > a) > li { margin: 0; }
.elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor ol:has(> li > a) > li > a { display: inline-block; padding: 8px 16px; border: 1px solid #E3E3E3; border-radius: 22px; background: #fff; color: #1B1B1B; font-size: 14px; font-weight: 600; text-decoration: none; transition: border-color .2s, color .2s; }
.elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor ol:has(> li > a) > li > a:hover { border-color: #B22013; color: #B22013; }
/* Вопросы и ответы (раскрывающиеся блоки) */
.elementor[data-elementor-type="wp-page"] details { border: 1px solid #E3E3E3; border-radius: 16px; padding: 14px 20px; margin: 10px 0; background: #fff; }
.elementor[data-elementor-type="wp-page"] details[open] { border-color: #d9b7b3; box-shadow: 0 6px 20px rgba(0,0,0,.05); }
.elementor[data-elementor-type="wp-page"] summary { cursor: pointer; font-weight: 700; font-size: 17px; line-height: 1.4; }

/* Три карточки блока «Разработка и реинжиниринг» — в один ряд */
.elementor[data-elementor-type="wp-page"] .e-n-carousel .swiper-wrapper:has(> .swiper-slide:nth-child(3)) { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; max-width: 1100px; margin: 0 auto; }
@media (max-width: 900px) { .elementor[data-elementor-type="wp-page"] .e-n-carousel .swiper-wrapper:has(> .swiper-slide:nth-child(3)) { grid-template-columns: 1fr !important; } }

/* Формы: понятный фокус и читаемые подсказки */
.elementor[data-elementor-type="wp-page"] .elementor-field-textual:focus { border-color: #B22013 !important; box-shadow: 0 0 0 3px rgba(178,32,19,.15); outline: 0; }
.elementor[data-elementor-type="wp-page"] .elementor-field-textual::placeholder { color: #6b6b6b; opacity: 1; }
.elementor[data-elementor-type="wp-page"] .elementor-field-type-acceptance label { font-size: 13.5px; line-height: 1.5; color: #3a3a3a; }

/* Видео в карточках: красиво подгружаются, без рывков */
video.elementor-background-video-hosted { background: #1B1B1B; }

@media (max-width: 767px) {
	.elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor p { font-size: 16.5px; }
	.elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor h2 { font-size: 24px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; animation: none !important; } }

/* Остаток штатной ленивой загрузки Swiper (крутилка на фото) не нужен: фото подгружаются своим скриптом */
.swiper-lazy-preloader { display: none !important; }

/* Подзаголовок под крупным заголовком раздела — по центру, спокойным цветом */
.elementor[data-elementor-type="wp-page"] .elementor-widget-heading:has(h2.elementor-heading-title) + .elementor-widget-heading .elementor-heading-title { text-align: center; font-size: 17px; font-weight: 500; color: #444; }
/* «Вопросы и ответы»: аккуратные раскрывающиеся карточки */
.elementor[data-elementor-type="wp-page"] details.avt-faq { max-width: 860px; margin: 10px auto; }
.elementor[data-elementor-type="wp-page"] details.avt-faq summary { list-style: none; position: relative; padding-right: 32px; }
.elementor[data-elementor-type="wp-page"] details.avt-faq summary::-webkit-details-marker { display: none; }
.elementor[data-elementor-type="wp-page"] details.avt-faq summary::after { content: ""; position: absolute; right: 4px; top: 50%; width: 9px; height: 9px; border-right: 2px solid #B22013; border-bottom: 2px solid #B22013; transform: translateY(-70%) rotate(45deg); transition: transform .2s; }
.elementor[data-elementor-type="wp-page"] details.avt-faq[open] summary::after { transform: translateY(-30%) rotate(-135deg); }
.elementor[data-elementor-type="wp-page"] details.avt-faq p { margin: 10px 0 2px; font-size: 16.5px; line-height: 1.65; color: #333; }

/* ===== SEO-текст как красивый раскрывающийся список (FAQ) ===== */
.elementor[data-elementor-type="wp-page"] .avt-acc { counter-reset: acc; margin-top: 22px; display: grid; gap: 12px; }
.elementor[data-elementor-type="wp-page"] details.avt-acc-item { counter-increment: acc; border: 1px solid #E3E3E3; border-radius: 20px; background: #fff; scroll-margin-top: 24px; transition: border-color .2s, box-shadow .2s; }
.elementor[data-elementor-type="wp-page"] details.avt-acc-item:hover { border-color: #d3a5a0; }
.elementor[data-elementor-type="wp-page"] details.avt-acc-item[open] { border-color: #c8837c; box-shadow: 0 10px 30px rgba(0,0,0,.07); }
.elementor[data-elementor-type="wp-page"] details.avt-acc-item > summary { display: flex; align-items: center; gap: 16px; padding: 20px 26px; cursor: pointer; list-style: none; position: relative; }
.elementor[data-elementor-type="wp-page"] details.avt-acc-item > summary::-webkit-details-marker { display: none; }
.elementor[data-elementor-type="wp-page"] details.avt-acc-item > summary::before { content: counter(acc, decimal-leading-zero); flex: 0 0 auto; width: 42px; height: 42px; border-radius: 50%; background: #F7F7F7; color: #B22013; font: 800 15px/42px "Montserrat", Sans-serif; text-align: center; transition: background .2s, color .2s; }
.elementor[data-elementor-type="wp-page"] details.avt-acc-item[open] > summary::before { background: #B22013; color: #fff; }
.elementor[data-elementor-type="wp-page"] details.avt-acc-item > summary::after { content: ""; position: absolute; right: 28px; top: 50%; width: 10px; height: 10px; border-right: 2px solid #B22013; border-bottom: 2px solid #B22013; transform: translateY(-70%) rotate(45deg); transition: transform .25s; }
.elementor[data-elementor-type="wp-page"] details.avt-acc-item[open] > summary::after { transform: translateY(-30%) rotate(-135deg); }
.elementor[data-elementor-type="wp-page"] details.avt-acc-item > summary h2 { margin: 0; padding-right: 34px; font-family: "Montserrat", Sans-serif; font-size: 21px; font-weight: 800; line-height: 1.3; color: #1B1B1B; letter-spacing: -.01em; }
.elementor[data-elementor-type="wp-page"] .avt-acc-body { padding: 0 26px 24px 84px; }
.elementor[data-elementor-type="wp-page"] .avt-acc-body > :first-child { margin-top: 0; }
.elementor[data-elementor-type="wp-page"] .avt-acc-body ul, .elementor[data-elementor-type="wp-page"] .avt-acc-body ol { margin: .6em 0 1em; padding-left: 1.2em; }
/* вложенные вопросы в разделе «Вопросы и ответы» */
.elementor[data-elementor-type="wp-page"] .avt-acc-body details.avt-faq { max-width: none; margin: 10px 0; background: #FAFAFA; border-color: #ECECEC; }
@media (max-width: 767px) {
	.elementor[data-elementor-type="wp-page"] details.avt-acc-item > summary { padding: 16px 18px; gap: 12px; }
	.elementor[data-elementor-type="wp-page"] details.avt-acc-item > summary::before { width: 34px; height: 34px; font-size: 13px; line-height: 34px; }
	.elementor[data-elementor-type="wp-page"] details.avt-acc-item > summary h2 { font-size: 17px; }
	.elementor[data-elementor-type="wp-page"] .avt-acc-body { padding: 0 18px 18px; }
}

/* ===== «Что мы производим»: карточки с иконками по смыслу ===== */
.elementor-element-bd14e27 { flex-direction: row !important; flex-wrap: wrap !important; justify-content: center !important; gap: 18px !important; }
.elementor-element-bd14e27 > .e-con {
	flex: 1 1 320px !important; max-width: calc(33.333% - 12px); min-width: 280px;
	flex-direction: column !important; align-items: flex-start !important; justify-content: flex-start !important;
	text-align: left; padding: 28px 28px 30px !important; border-radius: 24px !important;
	position: relative; overflow: hidden; gap: 18px !important;
}
.elementor-element-bd14e27 > .e-con::before { content: ""; position: absolute; left: 0; top: 0; height: 4px; width: 0; background: #B22013; transition: width .4s; }
.elementor-element-bd14e27 > .e-con:hover::before { width: 100%; }
.elementor-element-bd14e27 .elementor-widget { width: 100%; text-align: left !important; margin: 0 !important; }
.elementor-element-bd14e27 .elementor-widget-icon .elementor-icon-wrapper, .elementor-element-bd14e27 .elementor-widget-icon .elementor-icon { display: block; text-align: left; line-height: 1; }
.elementor-element-bd14e27 .avt-ico { display: grid; place-items: center; width: 68px; height: 68px; border-radius: 20px; background: #FBEAE8; color: #B22013; transition: background .3s, color .3s, transform .3s; }
.elementor-element-bd14e27 > .e-con:hover .avt-ico { background: #B22013; color: #fff; transform: translateY(-3px) rotate(-4deg); }
.elementor-element-bd14e27 .avt-ico svg { width: 34px; height: 34px; }
.elementor-element-bd14e27 .elementor-heading-title { text-align: left !important; font-size: 15px !important; font-weight: 400 !important; line-height: 1.6 !important; color: #555 !important; margin: 0 !important; }
.elementor-element-bd14e27 .avt-pc-title { display: block; font-family: "Montserrat", Sans-serif; font-size: 19px; font-weight: 800; line-height: 1.3; color: #1B1B1B; letter-spacing: -.01em; }
.elementor-element-bd14e27 .avt-pc-text { display: block; margin-top: 10px; }
@media (max-width: 767px) { .elementor-element-bd14e27 > .e-con { max-width: 100%; flex-basis: 100% !important; padding: 22px 22px 24px !important; } }
/* иконки: тонкие красные линии, без заливки (перебиваем штатный fill Elementor) */
.elementor-element-bd14e27 .avt-ico svg, .elementor-element-bd14e27 .avt-ico svg * { fill: none !important; stroke: currentColor !important; stroke-width: 1.6; }
.elementor-element-bd14e27 .avt-ico { color: #B22013 !important; }
.elementor-element-bd14e27 > .e-con:hover .avt-ico { color: #fff !important; }
.elementor-element-bd14e27 .avt-pc-text::first-letter { text-transform: uppercase; }

/* ===== Хлебные крошки: по центру над заголовком, «чипом» ===== */
.breadcrumbs { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; max-width: 1100px; margin: 4px auto 6px; padding: 0 16px; font: 500 14px/1.4 "Montserrat", Sans-serif; color: #6b6b6b; text-align: center; }
.breadcrumbs a { color: #B22013; font-weight: 700; text-decoration: none; padding: 5px 12px; border-radius: 16px; background: #FBEAE8; transition: background .2s, color .2s; }
.breadcrumbs a:hover { background: #B22013; color: #fff; }
.breadcrumbs .avt-bc-sep { color: #bdbdbd; font-size: 18px; line-height: 1; }
.breadcrumbs > span:last-of-type, .breadcrumbs .current-item { color: #1B1B1B; font-weight: 600; }

/* ===== Основной текст страниц над формой: ширина, ритм, акценты (перебиваем штатные стили Elementor) ===== */
.elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor { max-width: 840px !important; margin-left: auto !important; margin-right: auto !important; }
.elementor-503 .elementor-widget-text-editor:has(> .elementor-widget-container > p:first-child),
.elementor-483 .elementor-widget-text-editor:has(> .elementor-widget-container > p:first-child),
.elementor-509 .elementor-widget-text-editor:has(> .elementor-widget-container > p:first-child),
.elementor-515 .elementor-widget-text-editor:has(> .elementor-widget-container > p:first-child),
.elementor-723 .elementor-widget-text-editor:has(> .elementor-widget-container > p:first-child):not(.elementor-element-c035dd5) { max-width: 820px !important; }
/* первый абзац — «ведущий»: крупнее, с красной полосой */
.elementor-503 .elementor-widget-text-editor > .elementor-widget-container > p:first-child,
.elementor-483 .elementor-widget-text-editor > .elementor-widget-container > p:first-child,
.elementor-509 .elementor-widget-text-editor > .elementor-widget-container > p:first-child,
.elementor-515 .elementor-widget-text-editor > .elementor-widget-container > p:first-child,
.elementor-723 .elementor-element-22bcf99 .elementor-widget-text-editor > .elementor-widget-container > p:first-child {
	font-size: 19.5px; line-height: 1.65; font-weight: 500; color: #1B1B1B; border-left: 4px solid #B22013; padding: 2px 0 2px 20px; margin-bottom: 1.3em;
}
/* ключевые фразы: заметны, но не «кричат» */
.elementor-503 .elementor-widget-text-editor strong, .elementor-483 .elementor-widget-text-editor strong,
.elementor-509 .elementor-widget-text-editor strong, .elementor-515 .elementor-widget-text-editor strong,
.elementor-723 .elementor-element-22bcf99 .elementor-widget-text-editor strong { font-weight: 600; color: #111; }
/* последний абзац — призыв к действию в плашке */
.elementor-503 .elementor-widget-text-editor > .elementor-widget-container > p:last-child:not(:first-child),
.elementor-483 .elementor-widget-text-editor > .elementor-widget-container > p:last-child:not(:first-child),
.elementor-509 .elementor-widget-text-editor > .elementor-widget-container > p:last-child:not(:first-child),
.elementor-723 .elementor-element-22bcf99 .elementor-widget-text-editor > .elementor-widget-container > p:last-child:not(:first-child) {
	background: #F7F7F7; border-radius: 18px; padding: 20px 24px; margin-top: 1.6em; margin-bottom: 0; border: 1px solid #ECECEC;
}
/* юридические страницы: просто удобный для чтения текст */
.elementor-589 .elementor-widget-text-editor p, .elementor-598 .elementor-widget-text-editor p, .elementor-1868 .elementor-widget-text-editor p, .elementor-1820 .elementor-widget-text-editor p { font-size: 16.5px; line-height: 1.7; }
@media (max-width: 767px) {
	.elementor-503 .elementor-widget-text-editor > .elementor-widget-container > p:first-child, .elementor-483 .elementor-widget-text-editor > .elementor-widget-container > p:first-child,
	.elementor-509 .elementor-widget-text-editor > .elementor-widget-container > p:first-child, .elementor-515 .elementor-widget-text-editor > .elementor-widget-container > p:first-child { font-size: 17.5px; padding-left: 14px; }
	.breadcrumbs { font-size: 13px; }
}
.elementor-503 .elementor-widget-text-editor:has(> .elementor-widget-container > p:first-child), .elementor-483 .elementor-widget-text-editor:has(> .elementor-widget-container > p:first-child),
.elementor-509 .elementor-widget-text-editor:has(> .elementor-widget-container > p:first-child), .elementor-515 .elementor-widget-text-editor:has(> .elementor-widget-container > p:first-child) { margin-bottom: 26px !important; }

/* ===== Телефон: поля форм, таблица реквизитов, длинные заголовки ===== */
.elementor-field, .elementor-field-textual, .elementor-field-group select, .elementor-form select { max-width: 100%; box-sizing: border-box; }
.elementor[data-elementor-type="wp-page"] h1.elementor-heading-title { overflow-wrap: break-word; hyphens: auto; }
.eael-data-table-wrap { overflow-x: auto; }
@media (max-width: 767px) {
	.elementor[data-elementor-type="wp-page"] h1.elementor-heading-title { font-size: 27px; line-height: 1.2; }
	/* реквизиты: вместо таблицы — карточка «название / значение» */
	table.eael-data-table, table.eael-data-table thead, table.eael-data-table tbody, table.eael-data-table tr, table.eael-data-table th, table.eael-data-table td { display: block; width: 100% !important; box-sizing: border-box; }
	table.eael-data-table { border: 0 !important; }
	table.eael-data-table tr { padding: 12px 4px; border-bottom: 1px solid #E3E3E3; }
	table.eael-data-table td:first-child, table.eael-data-table th:first-child { font-size: 13px; color: #6b6b6b; font-weight: 600; padding: 0 0 2px !important; border: 0 !important; }
	table.eael-data-table td:last-child, table.eael-data-table th:last-child { font-size: 16px; font-weight: 600; color: #1B1B1B; padding: 0 !important; border: 0 !important; overflow-wrap: anywhere; }
}
@media (max-width: 767px) {
	.elementor[data-elementor-type="wp-page"] .elementor-widget-heading { width: auto !important; max-width: 100% !important; box-sizing: border-box; }
}
/* Таблицы и длинные слова в текстовых страницах: прокрутка внутри блока, а не расширение страницы */
.elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor { overflow-wrap: anywhere; min-width: 0; }
.elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor td, .elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor th { padding: 8px 10px; border: 1px solid #E3E3E3; vertical-align: top; }
/* Заголовок H1 на текстовых (юридических) страницах — в стиле сайта */
.elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor h1 { font-family: "Montserrat", Sans-serif; font-weight: 900; font-size: 36px; line-height: 1.2; color: #1B1B1B; margin: 0 0 .5em; letter-spacing: -.01em; }
@media (max-width: 767px) { .elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor h1 { font-size: 26px; } }
