/* ==========================================================================
   lx-fix.css — правки по результатам Hallmark/sloplint (28.10.2026)
   Только сайт www.luxecorp.ru (w1). Подключается из include/header/body_top_custom.php.
   Откат: убрать include из body_top_custom.php (см. backup-luxecorp-hallmark-20261028-0438.tgz).
   ========================================================================== */

/* ---- 2. горизонтальный скролл ------------------------------------------- */
html, body { overflow-x: clip; }
.phones__dropdown { max-width: calc(100vw - 24px) !important; }
.lxhm .lxhm-marquee, .lxhm .lxhm-marquee__row, .lxa-marquee, .lxpf-marquee { overflow: hidden; overflow: clip; max-width: 100%; }
.lxhm .lxhm-blob { max-width: 100vw; }

/* ---- 1. мобильная вёрстка /products/, /services/, /contacts/ ------------- */
@media (max-width: 1199px) {
	body.site_w1 .lx-service { margin: 0; gap: 0 24px; justify-content: stretch; }
	.lx-service-detail { min-width: 0; width: auto; display: block; }
	.lx-service-detail div.link { max-width: none; min-width: 0; }
}
@media (max-width: 991px) {
	.business-start-header { margin-left: 0 !important; margin-right: 0 !important; }
	.business-start-header p { white-space: normal !important; width: auto !important; max-width: 100% !important; }
}
@media (max-width: 767px) {
	body.site_w1 .lx-service { grid-template-columns: minmax(0, 1fr) !important; }
	/* подвал: колонки фиксированной ширины 350px вылезали за экран */
	body.site_w1 .footer__main-part-inner { flex-wrap: wrap; min-width: 0; }
	body.site_w1 .footer__main-part-inner > div, body.site_w1 .footer__main-part-inner > div > div { min-width: 0 !important; max-width: 100% !important; }
	body.site_w1 .footer__main-part-inner { flex-direction: column; }
	body.site_w1 .footer__main-part-menu { flex-direction: column; flex-wrap: nowrap; }
	body.site_w1 .footer__part, body.site_w1 .footer__part-item, body.site_w1 .footer__part-item > div, body.site_w1 .footer__part-item > div > div, body.site_w1 .footer__part-item .bottom-menu { width: auto !important; min-width: 0 !important; max-width: 100% !important; }
	.business-start-header h1, .business-start-header h2 { font-size: clamp(30px, 9vw, 42px) !important; line-height: 1.12 !important; overflow-wrap: anywhere; }
	.business-start-header p, .business-start-header .banners-big__text-block { max-width: 100%; overflow-wrap: break-word; }
	.contact-legal-address { font-size: clamp(20px, 5.6vw, 28px) !important; line-height: 1.3 !important; overflow-wrap: break-word; }
	.contact-legal-address > span { line-height: 1.4 !important; }
	.maxwidth-theme { min-width: 0; }
	section[style*="padding-bottom: 100px"] { padding-bottom: 56px !important; }
}
@media (max-width: 767px) {
	/* формы: на телефоне ничего не шире экрана */
	.card-index, .formContacts, .form-control, .inputtext, textarea, select { max-width: 100%; box-sizing: border-box; }
	input[type="submit"].btn[style*="width: 200px"] { width: 100% !important; max-width: 320px; }
}

/* ---- 3. контраст --------------------------------------------------------- */
/* мелкий серый текст и ссылки согласия — через CSS там, где нет inline !important; остальное в lx-fix.js */
.lx-service-detail p, .lx-service-detail a { color: #8d97a8 !important; }
/* рамка полей форм ≥ 3:1 к фону */
input.inputtext, input.form-control, textarea.inputtext, textarea.form-control, input.lux-input, textarea.lux-input,
.form-control[type="text"], .form-control[type="tel"], .form-control[type="email"], select.form-control {
	border: 1px solid #7a8396 !important;
}
input.inputtext:focus, input.form-control:focus, textarea.form-control:focus, textarea.inputtext:focus { border-color: #ffb400 !important; outline: 0; }
/* плейсхолдеры */
::placeholder { color: #8d97a8; opacity: 1; font-weight: 400; }
input::-webkit-input-placeholder, textarea::-webkit-input-placeholder { color: #8d97a8; opacity: 1; }

/* ---- 4. первый экран ------------------------------------------------------ */
.lxhm .lxhm-hero { min-height: min(max(560px, calc(100svh - 116px)), 820px); max-height: none; }
.lxhm .lxhm-hero__inner { padding-top: 24px; padding-bottom: 16px; }
.lxhm .lxhm-hero__bottom { padding-bottom: calc(26px + var(--lx-banner-h, 0px)); }
.lxhm .lxhm-hero__title { font-size: clamp(42px, min(5vw, 8.2svh), 76px); margin-bottom: 22px; }
.lxhm .lxhm-hero__lead { margin-bottom: 26px; }
/* иерархия: кнопки сразу после заголовка и лида, плашка аккредитации — под ними, тише */
.lxhm .lxhm-hero__text { display: flex; flex-direction: column; align-items: flex-start; }
.lxhm .lxhm-hero__title { order: 1; }
.lxhm .lxhm-hero__lead { order: 2; font-size: 18px; color: rgba(226,232,242,.82); max-width: 620px; }
.lxhm .lxhm-hero__text .lxhm-actions { order: 3; }
.lxhm .lxhm-hero__text .lxhm-eyebrow { order: 4; margin: 24px 0 0; padding: 5px 12px 5px 10px; font-size: 13px; opacity: .85; background: transparent; }
/* герои остальных страниц: вторичные абзацы тише */
.lxai-hero__sub, .lxa-hero__sub, .lxpf-hero__sub { opacity: .8; font-size: 15px; }
.lxa-hero, .lxpf-hero, .lxai-hero { max-height: none; }
@media (min-width: 1200px) and (min-height: 700px) {
	.lxai-hero--c { padding-top: 32px; padding-bottom: 40px; }
}

/* ---- 5. заметка под картой не должна оказываться под плавающей навигацией --- */
.lxhm .lxhm-scenes { pointer-events: none !important; }
.lxhm .lxhm-scenes a { pointer-events: none; }
.lxhm .lxhm-scenes a i { pointer-events: auto; position: relative; }
.lxhm .lxhm-scenes a i::after { content: ""; position: absolute; inset: -7px; }
.lxhm .lxhm-map__note { position: relative; z-index: 1; padding-right: 8px; }

/* ---- 6. анимации появления: скрыто только при .js, и не при reduced-motion - */
@media (prefers-reduced-motion: reduce) {
	[class*="-reveal"], .lxhm-js .lxhm .lxhm-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
	.lxhm-js .lxhm .lxhm-line > span { transform: none !important; opacity: 1 !important; animation: none !important; }
	.lxhm .lxhm-marquee__track { animation: none !important; }
}

/* ---- 7. типографика и безопасные мелочи ----------------------------------- */
h1, h2, h3, .lxhm-h2, .lxa-h2, .lxpf-h2, .lxai-h2, .lxhm-hero__title { text-wrap: balance; }
p, li, .lxhm-lead { text-wrap: pretty; }
/* спокойные «эйбрау»-подписи: без капса и широкого трекинга */
body [class*="-kicker"], body [class*="-eyebrow"] { text-transform: none !important; letter-spacing: .02em !important; font-weight: 500 !important; }
.lxhm .lxhm-kicker { font-size: 15px; }
/* 3 начертания: 700 -> 600 */
.lxhm .lxhm-bignum, .lxhm .lxhm-tier__pct { font-weight: 600; }
/* высота кнопок 44–52 */
.lxhm .lxhm-btn { height: 52px; }
.lxa-btn { height: 52px !important; }
.lxpf-chip { min-height: 44px; }
.btn.btn-lg { min-height: 44px; }
/* секции: больше воздуха (десктоп), мобильные отступы не трогаем */
@media (min-width: 992px) {
	.lxhm .lxhm-section--tight { padding: 72px 0; }
	.lxa-section { padding-top: 80px; padding-bottom: 80px; }
	.lxa-mission { padding-top: 72px; padding-bottom: 56px; }
	.lxpf-section, .lxai-section { padding-top: 88px; padding-bottom: 88px; }
	.lxpf-section--tig, .lxai-section--tig { padding-top: 72px; padding-bottom: 72px; }
	.lxhm .lxhm-head, .lxpf-head, .lxai-head, .lxa-head { margin-bottom: 56px; }
}
/* подвал и длинные ссылки на узких экранах */
@media (max-width: 360px) {
	a.dark_link, .footer a, #footer a { overflow-wrap: anywhere; text-wrap: balance; }
	a.underline { overflow-wrap: anywhere; }
}

/* ---- /services/: ряд из 4 карточек сжимался до 72px на телефоне ----------- */
@media (max-width: 991px) {
	body.site_w1 .activity-body:not(#directions .activity-body) { flex-wrap: wrap; }
	body.site_w1 .activity-body:not(#directions .activity-body) > .bx-case-develop { flex: 1 1 calc(50% - 15px); min-width: 0; width: auto !important; max-width: 100%; }
}
@media (max-width: 767px) {
	body.site_w1 .activity-body:not(#directions .activity-body) { flex-direction: column; margin-left: 0 !important; margin-right: 0 !important; }
	body.site_w1 .activity-body:not(#directions .activity-body) > .bx-case-develop { flex: 0 0 auto; width: 100% !important; }
}
/* выпадающий список телефонов в шапке не шире экрана */
@media (max-width: 480px) {
	.phones__dropdown { left: auto !important; right: 0 !important; max-width: calc(100vw - 24px) !important; }
}
@media (max-width: 1280px) {
	.phones__dropdown { left: auto !important; right: 0 !important; max-width: calc(100vw - 24px) !important; }
}
@media (max-width: 1199px) {
	.business-start-header { margin-left: 0 !important; margin-right: 0 !important; }
	.business-start-header p { white-space: normal !important; width: auto !important; max-width: 100% !important; }
}

/* ---- форма «Оставьте заявку»: поля 36px шириной на телефоне ---------------- */
@media (max-width: 1199px) {
	body.site_w1 .formContacts { margin-left: 60px; margin-right: 60px; }
}
@media (max-width: 767px) {
	body.site_w1 .formContacts { margin-left: 0 !important; margin-right: 0 !important; padding: 28px 16px !important; }
	body.site_w1 .formResult-case { margin: 28px 0 0 !important; }
	body.site_w1 .formContacts .lux-form-grid { min-width: 0; }
}

/* ---- /services/: декоративное «86 +» 240px вылезало за экран --------------- */
@media (max-width: 767px) {
	body.site_w1 .numberParntners { font-size: min(240px, 34vw) !important; min-height: 0 !important; padding-left: 0 !important; line-height: 1 !important; overflow-wrap: normal; }
}

/* ---- футер на телефоне: карточка «Импортозамещение» и кнопки --------------- */
@media (max-width: 767px) {
	body.site_w1 .footer__main-part { width: 100% !important; max-width: 100% !important; }
	body.site_w1 .footer__main-part div[style*="padding: 30px 40px"] { padding: 22px 18px !important; margin-right: 0 !important; margin-top: 0 !important; box-sizing: border-box; }
	body.site_w1 .footer__main-part div[style*="gap: 10px"][style*="margin-top: 30px"] { flex-wrap: wrap; }
	body.site_w1 .footer__main-part a.btn { white-space: nowrap; min-width: 0; flex: 0 0 auto; }
	body.site_w1 .mobileheader__burger .burger, body.site_w1 .burger.js-burger { margin-left: 0 !important; margin-right: 0 !important; }
}

/* ---- градиент-заголовки: конец градиента ≥4.5:1 (почти те же цвета, но однотонно) */
.lxhm-h2, .lxa-h2, .lxai-h2, .lxpf-h2, h1.main-card-title, h2.main-card-title, #mycomments h2 {
	background: none !important; -webkit-text-fill-color: #f1f4f9 !important; color: #f1f4f9 !important;
}
p.banners-big__text-block.white_text_black_reverse {
	background: none !important; -webkit-text-fill-color: #a7b0c0 !important; color: #a7b0c0 !important;
}
.lxpf-grad { background: none !important; -webkit-text-fill-color: #ffb400 !important; color: #ffb400 !important; }
.header-contacts p { color: #a7b0c0; }
.lxhm-quote, .lxhm-quote p { background: none !important; -webkit-text-fill-color: #e3e8f0 !important; color: #e3e8f0 !important; }
