/* Бином Интегратор — стили, добавленные поверх Tilda (форма, подвал, cookie, юр. страницы). */
:root { --binom-blue: #26336b; --binom-bg: #fbfbfd; --binom-muted: #5a6386; }

/* Форма заявки */
.site-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.site-consent { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: flex-start; margin: 4px 0 16px; text-align: left;
  font-family: 'Commissioner', Arial, sans-serif; font-size: 14px; line-height: 1.4; color: #000; cursor: pointer; }
.site-consent input { flex: 0 0 auto; width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--binom-blue); cursor: pointer; }
.site-consent a { color: var(--binom-blue); text-decoration: underline; }
.site-consent.js-error-control-box { color: #d0021b; }
.site-consent > span:not(.t-input-error) { flex: 1 1 0; }
.site-consent .t-input-error { flex-basis: 100%; margin: 0 0 0 28px; font-size: 13px; }
.site-form_sending .t-submit { opacity: .6; cursor: wait; }
.js-site-form .js-errorbox-all .js-rule-error { display: none; }
.js-site-form .js-errorbox-all .js-rule-error-all { display: block; }

/* Форма Zero-блока «Получите консультацию» (собирается postprocess.py; оформление — по настройкам формы в Tilda) */
.site-zform .t-input-group { margin-bottom: 20px; }
.site-zform .t-input { width: 100%; height: 68px; box-sizing: border-box; padding: 0 20px; outline: none;
  border: 2px solid var(--binom-blue); border-radius: 16px; background: var(--binom-bg); color: var(--binom-blue);
  font: 400 22px/1.2 'Commissioner', Arial, sans-serif; }
.site-zform .t-input::placeholder { color: var(--binom-blue); opacity: .55; }
.site-zform .t-input:focus-visible { outline: 2px solid #4a90e2; outline-offset: 2px; }
.site-zform .js-error-control-box .t-input { border-color: #d0021b; }
.site-zform .t-input-group .t-input-error { margin-top: 4px; color: #d0021b; font: 14px 'Commissioner', Arial, sans-serif; }
.site-zform .site-consent { color: var(--binom-blue); font-size: 15px; }
.site-zform .t-form__errorbox-wrapper { margin: 0 0 12px; }
.site-zform .t-submit { width: 256px; max-width: 100%; height: 68px; border: 0; border-radius: 16px; background: var(--binom-blue);
  color: #fff; font: 600 22px 'Commissioner', Arial, sans-serif; cursor: pointer; }
.site-zform .t-submit:focus-visible { outline: 2px solid #4a90e2; outline-offset: 2px; }
.site-zform__success { color: var(--binom-blue); font: 600 22px/1.3 'Commissioner', Arial, sans-serif; }
.site-zform__bottom { margin-top: 14px; color: var(--binom-blue); font: 15px/1.4 'Commissioner', Arial, sans-serif; }
.site-zform__bottom a { color: var(--binom-blue) !important; }
/* С согласием форма выше исходной Tilda: увеличиваем блок, на узких экранах сдвигаем контакты под формой ниже. */
.t396:has(.site-zform) :is(.t396__artboard, .t396__carrier, .t396__filter) { height: 450px !important; }
@media screen and (max-width: 959px) {
  .t396:has(.site-zform) :is(.t396__artboard, .t396__carrier, .t396__filter) { height: 620px !important; }
  .t396__artboard:has(.site-zform) .tn-elem[data-elem-id="1630347163052"] { top: 459px !important; }
  .t396__artboard:has(.site-zform) .tn-elem[data-elem-id="1630326510932"] { top: 535px !important; }
  .t396__artboard:has(.site-zform) .tn-elem[data-elem-id="1630347250422"] { top: 551px !important; }
  .t396__artboard:has(.site-zform) .tn-elem[data-elem-id="1630326466818"] { top: 607px !important; }
}
@media screen and (max-width: 479px) {
  .t396:has(.site-zform) :is(.t396__artboard, .t396__carrier, .t396__filter) { height: 644px !important; }
  .t396__artboard:has(.site-zform) .tn-elem[data-elem-id="1630347163052"] { top: 497px !important; }
  .t396__artboard:has(.site-zform) .tn-elem[data-elem-id="1630326510932"] { top: 554px !important; }
  .t396__artboard:has(.site-zform) .tn-elem[data-elem-id="1630347250422"] { top: 564px !important; }
  .t396__artboard:has(.site-zform) .tn-elem[data-elem-id="1630326466818"] { top: 626px !important; }
}

/* Юридическая строка в подвале */
.site-legal { background: var(--binom-blue); color: #fff; font-family: 'Commissioner', Arial, sans-serif; font-size: 13px; line-height: 1.5; }
.site-legal__inner { max-width: 1160px; margin: 0 auto; padding: 18px 20px; display: flex; flex-wrap: wrap; gap: 8px 24px; justify-content: space-between; }
.site-legal p { margin: 0; opacity: .85; }
.site-legal nav { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.site-legal a, .site-legal a:visited { color: #fff !important; text-decoration: underline; text-underline-offset: 2px; }
.site-legal a:hover { opacity: .8; }

/* Cookie-уведомление */
.site-cookie { position: fixed; z-index: 100000; left: 16px; right: 16px; bottom: 16px; max-width: 720px; margin: 0 auto;
  display: flex; gap: 16px; align-items: center; padding: 14px 18px; border-radius: 14px; background: #fff; color: #1d2340;
  box-shadow: 0 6px 30px rgba(38, 51, 107, .25); font-family: 'Commissioner', Arial, sans-serif; font-size: 14px; line-height: 1.4; }
.site-cookie__text { margin: 0; flex: 1 1 auto; }
.site-cookie__text a { color: var(--binom-blue); }
.site-cookie__btn { flex: 0 0 auto; border: 0; border-radius: 16px; padding: 10px 22px; background: var(--binom-blue); color: #fff;
  font: 600 14px 'Commissioner', Arial, sans-serif; cursor: pointer; }
.site-cookie__btn:focus-visible, .site-legal a:focus-visible, .site-consent input:focus-visible { outline: 2px solid #4a90e2; outline-offset: 2px; }
@media (max-width: 560px) { .site-cookie { flex-direction: column; align-items: stretch; } }

/* Страницы юридических документов */
.legal-doc { max-width: 860px; margin: 0 auto; padding: 40px 20px 80px; font-family: 'Commissioner', Arial, sans-serif; color: #1d2340; font-size: 17px; line-height: 1.6; }
.legal-doc h1 { font-size: 36px; line-height: 1.2; font-weight: 700; color: var(--binom-blue); margin: 0 0 8px; }
.legal-doc h2 { font-size: 24px; line-height: 1.3; font-weight: 700; color: var(--binom-blue); margin: 40px 0 12px; }
.legal-doc h3 { font-size: 19px; font-weight: 600; color: var(--binom-blue); margin: 28px 0 8px; }
.legal-doc p, .legal-doc ul, .legal-doc ol { margin: 0 0 14px; }
.legal-doc ul, .legal-doc ol { padding-left: 24px; }
.legal-doc li { margin-bottom: 6px; }
.legal-doc a { color: var(--binom-blue); }
.legal-doc .legal-meta { color: var(--binom-muted); font-size: 15px; margin-bottom: 28px; }
.legal-doc table { width: 100%; border-collapse: collapse; margin: 0 0 18px; font-size: 15px; }
.legal-doc th, .legal-doc td { border: 1px solid #d9dcea; padding: 8px 10px; text-align: left; vertical-align: top; }
.legal-doc th { background: #f0f2f8; }
@media (max-width: 640px) { .legal-doc { font-size: 16px; padding-top: 24px; } .legal-doc h1 { font-size: 28px; } .legal-doc h2 { font-size: 21px; }
  .legal-doc table { display: block; overflow-x: auto; } }

/* Подвал Tilda: на узких экранах «ИНН» наезжал на адрес (дефект исходного сайта) — опускаем строку ИНН. */
@media screen and (max-width: 639px) {
  #rec351997686 .tn-elem[data-elem-id="1747223512990"] { top: 351px !important; }
  #rec351997686 .tn-elem[data-elem-id="1747223512997"] { top: 381px !important; }
}
@media screen and (max-width: 479px) {
  #rec351997686 .tn-elem[data-elem-id="1747223512990"] { top: 334px !important; }
  #rec351997686 .tn-elem[data-elem-id="1747223512997"] { top: 364px !important; }
}

/* Commissioner в латинице чуть шире Proxima Nova: e-mail и телефон в Zero-блоках не переносим. */
a.tn-atom[href^="mailto:"], a.tn-atom[href^="tel:"],
.tn-atom:has(> a[href^="mailto:"]), .tn-atom:has(> a[href^="tel:"]),
a.tn-atom[href^="mailto:"] .tn-atom__button-text, a.tn-atom[href^="tel:"] .tn-atom__button-text { white-space: nowrap; }

/* Заголовок страницы в Zero-блоке размечен как <h1 class="tn-atom"> (SEO); вид — как у исходного div. */
h1.tn-atom { margin: 0; font-size: inherit; font-weight: inherit; line-height: inherit; }
