/* Дополнительная форма контакта для оригинального лендинга */
.nf-contact-modal {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(0, 30, 56, .58);
  backdrop-filter: blur(10px);
}
.nf-contact-modal.is-open { display: flex; }
.nf-contact-card {
  position: relative;
  width: min(100%, 480px);
  max-height: min(720px, calc(100vh - 40px));
  overflow: auto;
  padding: 32px;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 24px 80px rgba(0, 30, 56, .28);
  color: #404041;
  font-family: Inter, Arial, sans-serif;
}
.nf-contact-close {
  position: absolute;
  top: 14px;
  right: 16px;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 50%;
  background: #f1f5f9;
  color: #334155;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}
.nf-contact-title { margin: 0 38px 8px 0; font-size: 25px; line-height: 1.2; font-weight: 600; }
.nf-contact-subtitle { margin: 0 0 24px; color: #64748b; font-size: 14px; line-height: 1.5; }
.nf-contact-label { display: block; margin: 0 0 7px; color: #334155; font-size: 13px; font-weight: 600; }
.nf-contact-field { margin-bottom: 16px; }
.nf-contact-input, .nf-contact-select {
  box-sizing: border-box;
  width: 100%;
  min-height: 48px;
  border: 1px solid #d8e0e8;
  border-radius: 12px;
  padding: 0 14px;
  background: #fff;
  color: #172033;
  font: inherit;
  outline: none;
}
.nf-contact-input:focus, .nf-contact-select:focus { border-color: #0080ff; box-shadow: 0 0 0 3px rgba(0,128,255,.14); }
.nf-phone-row { display: grid; grid-template-columns: 145px 1fr; gap: 8px; }
.nf-contact-submit {
  width: 100%;
  min-height: 50px;
  margin-top: 4px;
  border: 0;
  border-radius: 12px;
  background: #0080ff;
  color: #fff;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  transition: transform .2s, background .2s;
}
.nf-contact-submit:hover { background: #006fe0; transform: translateY(-1px); }
.nf-contact-submit:disabled { cursor: wait; opacity: .65; transform: none; }
.nf-contact-status { min-height: 20px; margin: 12px 0 0; text-align: center; font-size: 13px; }
.nf-contact-status.success { color: #16803c; }
.nf-contact-status.error { color: #c62828; }
@media (max-width: 480px) {
  .nf-contact-card { padding: 26px 20px 22px; border-radius: 18px; }
  .nf-phone-row { grid-template-columns: 120px 1fr; }
}

.nf-contact-trigger {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 2147482000;
  min-height: 46px;
  padding: 0 18px;
  border: 0;
  border-radius: 999px;
  background: #0080ff;
  color: #fff;
  box-shadow: 0 8px 24px rgba(0, 80, 160, .28);
  font: 600 14px Inter, Arial, sans-serif;
  cursor: pointer;
}
.nf-contact-trigger:hover { background: #006fe0; }
@media (max-width: 480px) { .nf-contact-trigger { right: 14px; bottom: 14px; } }
