/* Кнопка отправки, ошибка и «Сообщение отправлено!» во всех формах заявок (30.09.2026).
   Раньше кнопка до галочки согласия была серой в тонкой рамке и не нажималась вовсе
   (.site-btn--2.disabled { pointer-events: none }) — выглядела сломанной. Теперь она всегда красная;
   без согласия нажатие подсвечивает галочку и пишет, что нужно согласие (/js/site/forms.js). */

.callback-form__button .site-btn--2,
.callback-form__button .site-btn--2.disabled {
  display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 28px;
  border: 1px solid #e9423d; border-radius: 14px; background: #e9423d; color: #fff;
  font-size: 16px; font-weight: 600; line-height: 1.2; white-space: nowrap;
  cursor: pointer; pointer-events: auto; opacity: 1; transition: background .2s, border-color .2s;
}
.callback-form__button .site-btn--2:hover,
.callback-form__button .site-btn--2.disabled:hover,
form .callback-form__button .site-btn--2:not(.disabled):hover { border-color: #c9302b; background: #c9302b; color: #fff; opacity: 1; }

/* нет согласия — галочка и подпись красным, пока не отметят */
.policy-checkbox.is-missing .universitet-filter__checkbox > span { color: #c9302b; }
.policy-checkbox.is-missing .universitet-filter__checkbox > span:before { box-shadow: 0 0 0 2px #e9423d; }

/* ошибка отправки */
.callback-form .recaptchaError:empty { display: none; }
.callback-form .recaptchaError {
  margin: 0 0 14px; padding: 10px 14px; border-radius: 12px; background: #fdeceb;
  color: #b3322d; font-size: 14px; font-weight: 600; line-height: 1.4;
}

/* экран после отправки (LeadForm → Done, показывает forms.js). Высота — как у формы, содержимое по центру.
   [hidden] с !important: шаблон задаёт формам display, и он перебивал атрибут hidden */
form.js-lead-form[hidden], .lead-done[hidden] { display: none !important; }
.lead-done {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0;
  box-sizing: border-box; padding: 36px 28px; border-radius: 20px; background: transparent; /* формы стоят в своих карточках */
  text-align: center; color: #272727; animation: lead-done-in .35s ease-out both;
}
.lead-done__icon { width: 72px; height: 72px; margin-bottom: 20px; }
.lead-done__icon circle { fill: #2f8f5b; }
.lead-done__icon path {
  fill: none; stroke: #fff; stroke-width: 4.5; stroke-linecap: round; stroke-linejoin: round;
  stroke-dasharray: 40; stroke-dashoffset: 40; animation: lead-done-check .45s .2s ease-out forwards;
}
.lead-done__title { margin: 0 0 10px; font-size: clamp(22px, .8vw + 16px, 28px); font-weight: 800; line-height: 1.2; outline: none; }
.lead-done__text { max-width: 400px; margin: 0; font-size: 16px; line-height: 1.55; white-space: pre-line; }
.lead-done__rule { display: flex; gap: 6px; width: 120px; margin-top: 22px; }
.lead-done__rule i { flex: 1; height: 4px; border-radius: 2px; background: #2f8f5b; }
.lead-done__rule i:nth-child(2) { background: #dfe3e8; }
.lead-done__rule i:nth-child(3) { background: #d92b2b; }
.lead-done__ok {
  min-width: 180px; min-height: 52px; margin-top: 26px; padding: 0 28px; border: 0; border-radius: 14px;
  background: #e9423d; color: #fff; font: inherit; font-size: 16px; font-weight: 600; cursor: pointer; transition: background .2s;
}
.lead-done__ok:hover { background: #c9302b; }
.lead-done__ok:focus-visible { outline: 3px solid #f4a7a4; outline-offset: 2px; }
/* телефон: по левому краю, кнопка во всю ширину (docs/mobile-design.md) */
@media (max-width: 767px) {
  .lead-done { align-items: flex-start; padding: 8px 0 4px; text-align: left; }
  .lead-done__icon { width: 60px; height: 60px; margin-bottom: 16px; }
  .lead-done__ok { width: 100%; }
}
@keyframes lead-done-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes lead-done-check { to { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) {
  .lead-done { animation: none; }
  .lead-done__icon path { animation: none; stroke-dashoffset: 0; }
}

/* телефон: кнопка отправки на всю ширину во всех формах (docs/mobile-design.md), в том числе там,
   где блок формы ставит её справа (blog.css, universities.css) */
@media (max-width: 767px) {
  form.js-lead-form .callback-form__button { flex: 1 1 100%; width: 100%; margin-left: 0; }
  form.js-lead-form .callback-form__button .site-btn--2 { width: 100%; }
}

/* заявка отправляется — кнопка приглушена, повторно не нажимается (forms.js) */
.callback-form__button .site-btn--2.is-sending { opacity: .65; cursor: progress; pointer-events: none; }
