/* Форма заявки B24 в стилях сайта.
   Токены сайта (:root бандла styles-7): --font --text --text-2 --accent --border --input-bg --card --r --r-lg --shadow.
   Принцип: меняем только оформление, НЕ ломаем раскладку B24.
   Плавающие подписи переведены в статичные над полем (label above input). */

#zvk .uk-modal-dialog{
  width:690px;max-width:calc(100vw - 32px);
  border-radius:var(--r-lg,14px);
  background:var(--card,#fff);
  box-shadow:0 24px 60px rgba(26,35,50,.18);
  /* overflow:hidden резал экран благодарности, когда текст переносился на большее
     число строк (узкое окно, зум). Прокрутка вместо обрезки. */
  padding:0;overflow:visible;max-height:calc(100vh - 40px);
}
#zvk .uk-modal-body{
  padding:0;overflow:auto;max-height:calc(100vh - 40px);
  border-radius:var(--r-lg,14px);
}
#b24-form,#b24-form *{font-family:var(--font,'Open Sans',system-ui,sans-serif)!important}

/* один контейнер вместо вложенных коробок */
#b24-form .b24-form,#b24-form .b24-form-wrapper,#b24-form .b24-form-inner-box,
#b24-form .b24-form-content{background:transparent!important;box-shadow:none!important;border:0!important}

#b24-form .b24-form-header{background:transparent!important;border:0!important;padding:26px 28px 2px!important}
#b24-form .b24-form-header-title{
  font-size:22px!important;line-height:1.25!important;font-weight:700!important;
  color:var(--text,#1a2332)!important;text-align:left!important;margin:0!important;
}
#b24-form .b24-form-content,#b24-form .b24-form-padding-side{padding:16px 28px 26px!important}

/* поле целиком */
#b24-form .b24-form-field{margin-bottom:16px!important}
#b24-form .b24-form-field-agreement .b24-form-control-container{display:block!important}
#b24-form .b24-form-control-container{
  height:auto!important;margin-bottom:0!important;
  display:flex!important;flex-direction:column!important;
}

/* подпись: статичная, над полем */
#b24-form .b24-form-control-label{
  position:static!important;transform:none!important;opacity:1!important;
  display:block!important;width:auto!important;order:-1!important;
  margin:0 0 6px!important;padding:0!important;
  font-size:11px!important;font-weight:700!important;line-height:1.3!important;
  text-transform:uppercase!important;letter-spacing:.5px!important;
  color:var(--text-2,#4a5568)!important;white-space:normal!important;
}

/* поле ввода: паттерн калькулятора сайта */
#b24-form .b24-form-control{
  order:0!important;display:block!important;width:100%!important;
  background:var(--input-bg,#f7f8fa)!important;
  border:1.5px solid var(--border,#dfe3e8)!important;
  border-radius:var(--r,10px)!important;
  padding:13px 14px!important;height:auto!important;
  font-size:16px!important;line-height:1.35!important;
  color:var(--text,#1a2332)!important;
  box-shadow:none!important;transition:border-color .15s,background-color .15s;
}
#b24-form .b24-form-control:focus{
  border-color:var(--accent,#1D9BD9)!important;background:var(--card,#fff)!important;outline:none!important;
}
#b24-form .b24-form-control::placeholder{color:var(--text-3,#94a0b4)!important}

/* сообщение об ошибке: под полем, без наложения */
#b24-form .b24-form-control-alert-message{
  order:1!important;position:static!important;transform:none!important;
  display:block!important;margin:6px 0 0!important;padding:0!important;
  background:transparent!important;border:0!important;box-shadow:none!important;
  color:#c2410c!important;font-size:13px!important;line-height:1.35!important;white-space:normal!important;
}
#b24-form .b24-form-control-alert-message:before,
#b24-form .b24-form-control-alert-message:after{display:none!important}
#b24-form .b24-form-control.b24-form-control-alert{border-color:#c2410c!important}

/* согласие */
#b24-form .b24-form-field-agreement{margin:10px 0 18px!important}
/* Согласие: чекбокс позиционируется абсолютно, у label отступ слева.
   Так перенесённые строки выравниваются по первой строке текста, а звёздочка * остаётся инлайново после текста. */
#b24-form .b24-form-control-agreement{display:block!important}
#b24-form .b24-form-field-agreement label{
  display:block!important;position:relative!important;
  padding-left:28px!important;margin:0!important;
}
#b24-form .b24-form-field-agreement input[type=checkbox]{
  position:absolute!important;left:0!important;top:1px!important;
  margin:0!important;width:18px!important;height:18px!important;
  accent-color:var(--accent,#1D9BD9);
}
#b24-form .b24-form-field-agreement .b24-form-control-alert-message{padding-left:28px!important}
#b24-form .b24-form-field-agreement label{font-size:13px!important;line-height:1.45!important;color:var(--text-2,#4a5568)!important}
/* ссылка политики: затемнённый оттенок акцента сайта ради AA на мелком тексте
   (#1D9BD9 даёт лишь 3.11:1, #14709e = 5.47:1) */
#b24-form .b24-form-field-agreement a{color:#14709e!important;text-decoration:underline!important}

/* текст согласия: не подчиняется стилю подписи поля, 13px для читаемости */
#b24-form .b24-form-field-agreement,
#b24-form .b24-form-field-agreement label,
#b24-form .b24-form-field-agreement a,
#b24-form .b24-form-field-agreement span{
  font-size:13px!important;line-height:1.5!important;
  text-transform:none!important;letter-spacing:normal!important;font-weight:400!important;
}
#b24-form .b24-form-control-required{color:#c2410c!important}

/* главная кнопка: фирменный оранжевый сайта, на полтона глубже ради контраста AA */
#b24-form .b24-form-btn{
  background:#EA580C!important;border:0!important;color:#fff!important;
  border-radius:var(--r,10px)!important;
  font-size:19px!important;font-weight:700!important;line-height:1.2!important;
  padding:15px 24px!important;width:100%!important;
  box-shadow:none!important;transition:background-color .15s,transform .08s;
}
#b24-form .b24-form-btn:hover,#b24-form .b24-form-btn:focus-visible{background:#C2410C!important}
#b24-form .b24-form-btn:active{transform:translateY(1px)}
#b24-form .b24-form-btn-border{background:transparent!important;color:var(--accent,#1D9BD9)!important;border:1.5px solid var(--border,#dfe3e8)!important}

#b24-form .b24-form-state-text{color:var(--text-2,#4a5568)!important;font-size:16px!important}

@media (max-width:640px){
  #b24-form .b24-form-header{padding:20px 18px 2px!important}
  #b24-form .b24-form-content,#b24-form .b24-form-padding-side{padding:14px 18px 20px!important}
  #b24-form .b24-form-header-title{font-size:20px!important}
}
@media (prefers-reduced-motion:reduce){
  #b24-form .b24-form-control,#b24-form .b24-form-btn{transition:none!important}
  #b24-form .b24-form-btn:active{transform:none}
}

/* ---------- Состояние «заявка отправлена» (вариант 2: галочка в обводке) ----------
   B24 по умолчанию заливает модалку салатовым и рисует белый круг 169px.
   Переводим в светлую тему сайта; иконку заменяем инлайновой SVG (скрипт в чанке
   box.orderform), чтобы обводку и галочку можно было прочертить анимацией. */
#b24-form .b24-form-state,
#b24-form .b24-form-state.b24-form-success{
  background:var(--card,#fff)!important;
  padding:28px!important;text-align:center!important;
  /* B24 держит блок position:absolute, поэтому модалка не знала его высоту и резала
     контент. Возвращаем в поток. display НЕ трогаем: иначе экран благодарности
     показался бы до отправки. */
  position:relative!important;top:auto!important;left:auto!important;
  height:auto!important;min-height:0!important;
  align-content:center!important;justify-content:center!important;align-items:center!important;
}
/* inner у B24 спозиционирован absolute (top:125px), возвращаем в поток:
   иначе блок с кнопкой ложится поверх иконки */
#b24-form .b24-form-state-inner{
  position:static!important;top:auto!important;left:auto!important;
  width:100%!important;max-width:100%!important;transform:none!important;
}
#b24-form .b24-form-state > .b24-form-inner-box{
  width:100%!important;max-width:100%!important;margin-top:32px!important;text-align:center!important;
}

/* иконка: контейнер под инлайновую SVG, без фоновой картинки и заливки */
#b24-form .b24-form-state-icon,
#b24-form .b24-form-success-icon{
  width:104px!important;height:104px!important;
  margin:0 auto 20px!important;display:block!important;
  background:none!important;border-radius:0!important;
}
#b24-form .pg-success-svg{display:block;width:100%;height:100%;overflow:visible}
#b24-form .pg-ring{
  fill:none;stroke:var(--price-bg,#33A66F);stroke-width:5;opacity:.35;
  stroke-dasharray:264;stroke-dashoffset:264;
  transform:rotate(-90deg);transform-origin:50% 50%;
}
#b24-form .pg-tick{
  fill:none;stroke:var(--price-bg,#33A66F);stroke-width:9;
  stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:120;stroke-dashoffset:120;
}
#b24-form .pg-play .pg-ring{animation:pgDraw .6s cubic-bezier(.65,0,.45,1) forwards}
#b24-form .pg-play .pg-tick{animation:pgDraw .5s cubic-bezier(.65,0,.45,1) .42s forwards}
@keyframes pgDraw{to{stroke-dashoffset:0}}

/* текст: заголовок благодарности + одна поясняющая строка */
#b24-form .b24-form-state-text{margin:0 auto!important;max-width:100%!important}
#b24-form .b24-form-state-text p{margin:0!important}
#b24-form .pg-success-title{
  font-size:24px!important;font-weight:700!important;line-height:1.25!important;
  color:var(--text,#1a2332)!important;margin:0 0 10px!important;
  text-wrap:balance;max-width:24ch;margin-inline:auto!important;
}
#b24-form .b24-form-state-text p:not(.pg-success-title){
  font-size:16px!important;line-height:1.6!important;color:var(--text-2,#4a5568)!important;
  max-width:38ch!important;margin-inline:auto!important;text-wrap:pretty;
}
#b24-form .b24-form-state-text p:empty{display:none!important}

/* вторичная кнопка «Заполнить ещё раз»: призрачная.
   Ховер переопределяем явно, иначе базовое правило красит её в оранжевый,
   а текст остаётся синим (нечитаемо). */
#b24-form .b24-form-btn.b24-form-btn-border,
#b24-form .b24-form-state .b24-form-btn{
  background:transparent!important;color:var(--text-2,#4a5568)!important;
  border:1.5px solid var(--border,#dfe3e8)!important;
  font-size:16px!important;font-weight:600!important;
  width:auto!important;padding:12px 24px!important;
}
#b24-form .b24-form-btn.b24-form-btn-border:hover,
#b24-form .b24-form-btn.b24-form-btn-border:focus-visible,
#b24-form .b24-form-state .b24-form-btn:hover,
#b24-form .b24-form-state .b24-form-btn:focus-visible{
  background:var(--card,#fff)!important;
  border-color:var(--accent,#1D9BD9)!important;
  color:#14709e!important;
}
@media (max-width:640px){
  #b24-form .b24-form-state,#b24-form .b24-form-state.b24-form-success{padding:22px 18px!important}
  #b24-form .b24-form-state-icon,#b24-form .b24-form-success-icon{width:84px!important;height:84px!important;margin-bottom:16px!important}
  #b24-form .pg-success-title{font-size:21px!important}
}
@media (prefers-reduced-motion:reduce){
  #b24-form .pg-ring,#b24-form .pg-tick{stroke-dashoffset:0!important;animation:none!important}
}
