/* Стили продуктового хаба (layouts/_default/hub.html), которые раньше жили
   заплатками по маршруту: te-product-layout-fix.css подключался из шести
   head-фрагментов, правила body[data-route="/programms/tekhekspert/"] —
   в visual-acceptance-fixes.css. Теперь это модификаторы блока hero,
   включаемые полями блока (hero.compact, hero.tight). Значения перенесены
   без изменений; повышенная специфичность заменяет прежний порядок подключения. */

/* hero.compact — уплотнённый первый экран по образцу утверждённой страницы
   теплоэнергетики (шесть страниц семейства Техэксперт). */
.hero.hero--compact{padding-top:24px}
.hero.hero--compact .hero-grid{align-items:start;gap:32px}
.hero.hero--compact .hero-copy{min-width:0}
.hero.hero--compact h1{font-size:clamp(30px,3vw,42px);overflow-wrap:normal;word-break:normal}
@media(min-width:901px) and (max-height:800px){
.hero.hero--compact{padding-top:14px}
.hero.hero--compact .lead-card{padding:20px}
.hero.hero--compact .lead-card p.sub{margin-bottom:10px}
.hero.hero--compact .lead-card .field{margin-bottom:9px}
.hero.hero--compact .lead-card .field input{padding-block:10px}
.hero.hero--compact .lead-card .lead-foot{margin-top:10px;padding-top:10px}
}

/* hero.tight — сжатый верх первого экрана на невысоких десктопных экранах,
   чтобы оффер и условия оплаты оставались видны (страница семейства). */
.hero.te.hero--tight{padding-top:20px}
@media(min-width:1101px) and (max-height:800px){
.hero.te.hero--tight{padding-top:8px}
.hero.hero--tight h1{font-size:36px;line-height:1.08;margin:10px 0}
.hero.hero--tight .hero-lead{font-size:15px;line-height:1.45;margin-bottom:14px}
.hero.hero--tight .hero-actions{margin-bottom:10px}
.hero.hero--tight .hero-trust{margin-bottom:10px;gap:8px 14px}
.hero.hero--tight .bt-commercial-strip{margin-top:12px;padding:10px 14px;font-size:13px}
}

/* --- NormaCS ---------------------------------------------------------------
   Заплатки <style> из тел страниц семейства перенесены модификаторами
   блоков без изменения значений (изменение 02, задача 4.x / 7.1). */

/* hero.short — уплотнённый первый экран на невысоких десктопных экранах
   (раньше <style> в теле страницы avtodorogi). */
@media (min-width:1024px) and (max-height:800px){
body .hero.hero--short{padding-top:24px;padding-bottom:24px}
body .hero.hero--short .hero-grid{align-items:start}
body .hero.hero--short .lead-card{padding:20px}
body .hero.hero--short .lead-card p.sub{margin:6px 0 10px;line-height:1.45}
body .hero.hero--short .lead-card .field{margin-bottom:8px}
body .hero.hero--short .lead-card .field label{margin-bottom:4px}
body .hero.hero--short .lead-card .field input{padding:10px 14px}
body .hero.hero--short .lead-card .btn{padding-top:11px;padding-bottom:11px;margin-top:4px}
body .hero.hero--short .lead-card .consent-row{margin-top:10px}
body .hero.hero--short .lead-foot{margin-top:10px;padding-top:8px}
body .hero.hero--short .lead-alt{margin-top:8px;padding-top:8px}
}

/* hero.tight без модификатора семейства `te` — страница promekspert
   (раньше <style> в теле страницы). */
body .hero:not(.te).hero--tight .hero-grid{align-items:start}
@media(min-width:921px) and (max-height:800px){
body .hero:not(.te).hero--tight{padding:10px 0 30px}
body .hero:not(.te).hero--tight h1{font-size:36px;margin:12px 0}
body .hero:not(.te).hero--tight .hero-lead{font-size:16px;margin-bottom:14px}
body .hero:not(.te).hero--tight .hero-actions{margin-bottom:12px}
body .hero:not(.te).hero--tight .lead-card{padding:16px}
body .hero:not(.te).hero--tight .lead-card p.sub{margin-bottom:12px}
body .hero:not(.te).hero--tight .lead-foot{margin-top:12px;padding-top:12px}
}

/* upsell.stack — длинные комбинации в столбик на узких экранах
   (раньше <style> в теле страниц razrabotchiki-tu, tekhnicheskiy-nadzor). */
@media(max-width:560px){
body .upsell.upsell--stack .up-combo{flex-direction:column;align-items:flex-start;gap:8px}
body .upsell.upsell--stack .up-combo .pr{white-space:normal;overflow-wrap:normal;max-width:100%}
}

/* Ссылки в прозе NormaCS (sections/seo.html, варианты intro и prose):
   на всех 53 ссылках семейства стоял один и тот же inline-стиль. */
.cat-intro a,.cat-intro a:hover,.cat-intro a:focus,.cat-intro a:active,
.prose a,.prose a:hover,.prose a:focus,.prose a:active{color:var(--cyan-ink);font-weight:700}

/* Блок сертификата партнёра (sections/cert.html). Правила совпадают
   с правилами страничных стилей семейства и продублированы здесь, потому
   что на одной странице (promekspert) они стояли в <style> тела. */
.cert-wrap{display:grid;grid-template-columns:auto 1fr;gap:44px;align-items:center;max-width:920px;--bt-max-width:920px;margin:0 auto}
.cert-img{width:var(--bt-auto-width, auto);max-width:100%;--bt-max-width:100000px;max-height:480px;--bt-max-height:480px;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);display:block;margin:0 auto;transition:transform .2s,box-shadow .2s}
.cert-img:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(22,34,63,.16)}
.cert-body h2{font-size:26px;color:var(--navy-ink);margin:0 0 14px;line-height:1.2}
.cert-body p{color:var(--muted);line-height:1.6;margin:0 0 14px;font-size:15.5px}
.cert-body .cert-badges{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0}
.cert-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:100px;background:var(--surface-cool);font-size:13.5px;font-weight:700;color:var(--navy-ink)}
.cert-chip svg{width:16px;height:16px;--bt-css-height:16px;flex:none;color:var(--cyan-ink)}
@media(max-width:760px){.cert-wrap{grid-template-columns:1fr;gap:24px;max-width:420px;--bt-max-width:420px}.cert-img{max-height:none;--bt-max-height:100000px;max-width:340px;--bt-max-width:340px}}

/* --- NormaCS: правила body[data-route] из brand-standard.css (задача 7.1) ---
   Значения перенесены без изменений; селекторы по адресу страницы заменены
   модификаторами блоков. */

/* subnav.sticky — подменю редакций под двухстрочной шапкой (25 страниц). */
body:has(.ed-subnav--sticky){--bt-ed-header-height:117px}
body .ed-subnav.ed-subnav--sticky{top:var(--bt-ed-header-height)}
@media(max-width:600px){body:has(.ed-subnav--sticky){--bt-ed-header-height:103px}}
@media print{body .ed-subnav.ed-subnav--sticky{position:static}}
/* Якоря секций и карточек не прячутся под шапку и подменю. Раньше — рукописный
   перечень id на каждой странице; по решению пользователя 2026-09-20 одно
   правило семейства на все секции и карточки с id. */
body:has(.ed-subnav--sticky):has(#bt-site-header) main :is(section,.ed-block,.upsell)[id]{scroll-margin-top:calc(var(--bt-ed-header-height) + 80px)}
/* Прокрутка подменю с клавиатуры. */
html body:has(.ed-subnav--sticky) .ed-subnav .ed-subnav-in{padding-inline:8px;scroll-padding-inline:8px;box-sizing:border-box}
html body:has(.ed-subnav--sticky) .ed-subnav a[data-anchor]{scroll-margin-inline:8px}

/* form.consent_fix — оформление согласия на десктопе для двух страниц, чей
   страничный CSS теряет эти правила из-за незакрытого @media
   (avtodorogi-full, avtodorogi-max). */
@media(min-width:761px){
body .lead-card--consent .consent-row,body .final-form--consent .consent-row{display:flex;align-items:flex-start;gap:10px;margin-top:14px}
body .lead-card--consent .consent-row input[type=checkbox],body .final-form--consent .consent-row input[type=checkbox]{appearance:none;-webkit-appearance:none;flex-shrink:0;width:20px;height:20px;--bt-css-height:20px;margin:1px 0 0;border:2px solid var(--line,#cdd8ea);border-radius:6px;background:#fff;cursor:pointer;position:relative;transition:border-color .15s,background .15s}
body .lead-card--consent .consent-row input[type=checkbox]:hover,body .final-form--consent .consent-row input[type=checkbox]:hover{border-color:var(--cyan,#3aa0d6)}
body .lead-card--consent .consent-row input[type=checkbox]:checked,body .final-form--consent .consent-row input[type=checkbox]:checked{background:var(--cyan,#3aa0d6);border-color:var(--cyan,#3aa0d6)}
body .lead-card--consent .consent-row input[type=checkbox]:checked::after,body .final-form--consent .consent-row input[type=checkbox]:checked::after{content:"";position:absolute;left:5px;top:1px;width:6px;height:11px;--bt-css-height:11px;border:solid #fff;border-width:0 2.4px 2.4px 0;transform:rotate(45deg)}
body .lead-card--consent .consent-row input[type=checkbox]:focus-visible,body .final-form--consent .consent-row input[type=checkbox]:focus-visible{outline:3px solid rgba(58,160,214,.5);outline-offset:2px}
body .lead-card--consent .consent-row label,body .final-form--consent .consent-row label{font-size:13px;line-height:1.45;color:var(--muted,#5a6b85);cursor:pointer}
body .final-form--consent .consent-row{flex-basis:100%;margin-top:10px}
body .final-form--consent .consent-row label{color:#bccbe8}
body .final-form--consent .consent-row input[type=checkbox]{border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.1)}
body .final-form--consent .consent-row input[type=checkbox]:checked{background:var(--cyan,#3aa0d6)}
}

/* upsell.wrap — длинные названия комбинаций переносятся (три страницы). */
html body .upsell.upsell--wrap .up-combo > b { flex: 0 0 35%; min-width: 0; }
html body .upsell.upsell--wrap .up-combo .pr { white-space: normal; min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 600px) {
html body .upsell.upsell--wrap .up-combo { flex-direction: column; align-items: flex-start; gap: 8px; }
}

/* upsell.stack_wide — комбинации в столбик до 600 px (одна страница). */
@media(max-width:600px){body .upsell.upsell--stack-wide .up-combo{flex-direction:column;align-items:flex-start;gap:8px}body .upsell.upsell--stack-wide .up-combo .pr{white-space:normal}}

/* --- nanoCAD (изменение 03) ------------------------------------------------ */

/* faq.nano — стиль варианта `nano-page-faq`: раньше одинаковый <style>
   в теле всех 25 страниц; текст правил перенесён без изменений. */
.nano-page-faq{max-width:900px}.nano-page-faq details{margin:12px 0;border:1px solid #dce3ef;border-radius:16px;background:white;color:#182b4a}.nano-page-faq summary{padding:20px;cursor:pointer;line-height:1.5}.nano-page-faq .answer{padding:0 20px 20px;color:#526582;line-height:1.65}.nano-page-faq summary:focus-visible{outline:2px solid #2fb3dd;outline-offset:3px;border-radius:16px}

/* --- nanoCAD: правила body[data-route] из brand-standard.css и
   nanocad-hub-pilot.css (задача 7.1). Значения перенесены без изменений;
   селекторы по адресу страницы заменены модификаторами и классами блоков. */

/* form.foot: nano — две строки под кнопкой формы первого экрана (звонок и
   триал) сеткой «иконка | текст», вторая строка на всю ширину; раньше
   body[data-route^="/programms/nanocad/"] .lead-foot:has(>svg.clock+span+span)
   на всё семейство (24 страницы). */
body .lead-card .lead-foot.lead-foot--nano{display:grid;grid-template-columns:18px minmax(0,1fr);column-gap:8px;row-gap:8px}
body .lead-card .lead-foot.lead-foot--nano>span:last-child{grid-column:1/-1}

/* compose (вариант wrap) — белая ссылка в тёмной карточке Платформы; раньше
   правила по адресу трёх страниц комплектов. */
.comp-card.comp-platform .comp-link { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.comp-card.comp-platform .comp-link:focus-visible { outline: 2px solid #fff; outline-offset: 4px; border-radius: 2px; }

/* hero.family — первый экран страницы семейства nanoCAD (hero--family):
   плотнее отступы, крупнее лид, форма без декоративного псевдоэлемента,
   строка контактов `nano-contact`, лента акций на всю ширину колонки;
   раньше body[data-route="/programms/nanocad/"] в nanocad-hub-pilot.css. */
body .hero.hero--family{padding:24px 0 32px}
body .hero.hero--family .hero-grid{gap:36px;align-items:start}
body .hero.hero--family h1{font-size:clamp(30px,3.4vw,46px);line-height:1.18;word-break:normal;overflow-wrap:normal;margin:18px 0}
body .hero.hero--family .hero-lead{font-size:17px;line-height:1.55;margin-bottom:20px}
body .hero.hero--family .lead-card{padding:22px}
body .hero.hero--family .lead-card:before{display:none}
body .hero.hero--family .lead-card .field{margin-bottom:10px}
body .hero.hero--family .lead-card input{padding:11px 13px}
body .hero.hero--family .lead-card p.sub{margin:7px 0 13px}
body .hero.hero--family .lead-card .consent{font-size:12px;line-height:1.5;margin:10px 0}
body .hero.hero--family .lead-card .lead-foot{font-size:12px;line-height:1.5;margin-top:12px;padding-top:12px;display:flex;gap:8px;align-items:flex-start}
body .hero.hero--family .lead-card .clock{flex:0 0 18px;width:18px;height:18px}
body .hero.hero--family .nano-contact{font-size:12px;line-height:1.5;margin:7px 0 0}
body .hero.hero--family .nano-contact a{color:#204593;text-decoration:underline}
@media(min-width:921px) and (max-height:800px){
 body .hero.hero--family{padding:12px 0 24px}
 body .hero.hero--family .lead-card{padding:17px 20px}
 body .hero.hero--family .lead-card h2{font-size:20px}
 body .hero.hero--family .lead-card input{padding:9px 12px}
 body .hero.hero--family .lead-card .field{margin-bottom:8px}
 body .hero.hero--family .lead-card .lead-foot{margin-top:8px;padding-top:8px}
}
@media(max-width:920px){
 body .hero.hero--family .hero-grid{grid-template-columns:minmax(0,1fr);gap:24px}
 body .hero.hero--family .lead-card{max-width:none;width:100%}
 body .hero.hero--family .vendor-badge{flex-wrap:wrap}
}
body .hero.hero--family .hero-ticker{display:flex;max-width:100%;margin-top:16px;margin-bottom:14px}
body .hero.hero--family .hero-copy{min-width:0}
body .hero.hero--family .tk-view{min-width:0}
body .hero.hero--family .hero-ticker:is(:hover,:focus-within) .tk-track{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){body .hero.hero--family .tk-track{animation:none;transform:none}body .hero.hero--family .tk-view{overflow-x:auto}body .hero.hero--family .tk-set[aria-hidden="true"]{display:none}}

/* catalog — навигация витрины `nano-directions` (страница семейства) и отступ
   якорей, на которые она ведёт, под шапкой; раньше там же по адресу. */
.nano-directions{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 32px}
.nano-directions a{display:block;padding:11px 16px;border:1px solid #dce3ef;border-radius:10px;background:#f5f7fb;color:#204593;font-size:14px;text-decoration:none}
.nano-directions a:is(:hover,:focus-visible){background:#204593;color:white;outline:2px solid #2fb3dd;outline-offset:2px}
body:has(.nano-directions) :is(section[id],.cat-group[id],#raschet,#zayavka){scroll-margin-top:180px}
@media(max-width:920px){body:has(.nano-directions) :is(section[id],.cat-group[id],#raschet,#zayavka){scroll-margin-top:130px}}
