/* FORM_UI_FIX_20261020 — consent / privacy / modal form polish
   Loaded after index-public-list-*.css via RSC serverResources.
   Targets modal «Обратиться к специалисту» (.modal-backdrop > .modal)
   and shared .consent-row used by lead forms. */

/* ---------- Consent checkbox row ---------- */
.consent-row {
  display: flex !important;
  flex-direction: row;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 10px !important;
  margin: 14px 0 4px !important;
  padding: 12px 14px !important;
  background: #faf8f4;
  border: 1px solid #ebe4d7;
  border-radius: 12px;
  text-align: left !important;
  color: #5c6568 !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
}

.consent-row input[type="checkbox"] {
  flex: none !important;
  box-sizing: border-box;
  width: 18px !important;
  height: 18px !important;
  margin: 1px 0 0 !important;
  padding: 0 !important;
  border: 1px solid #c9c2b4 !important;
  border-radius: 5px !important;
  accent-color: #aa8147;
  cursor: pointer;
  align-self: flex-start;
}

.consent-row input[type="checkbox"]:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.consent-row input[type="checkbox"]:focus-visible {
  outline: 2px solid #aa8147;
  outline-offset: 2px;
}

.consent-row > span {
  flex: 1 1 auto;
  min-width: 0;
  padding-top: 1px;
}

.consent-row a {
  color: #826139 !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  font-weight: 500;
}

.consent-row a:hover {
  color: #6b4f2e !important;
}

/* ---------- «Конфиденциальность» must be a visible underlined link ---------- */
.modal a[href="/privacy"],
.modal .privacy-link,
.privacy-link {
  color: #826139 !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 3px;
  font-weight: 600;
  letter-spacing: 0.01em;
}

.modal a[href="/privacy"]:hover,
.modal .privacy-link:hover {
  color: #6b4f2e !important;
}

/* Row that holds the privacy link inside the lead modal */
.modal > p:has(> a[href="/privacy"]),
.modal .privacy-link-row {
  margin: 14px 0 0 !important;
  padding-top: 2px;
  text-align: center !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  color: #5c6568 !important;
}

/* Status link under the form (same visual language) */
.modal > p:has(> a[href^="/request?"]) {
  margin: 10px 0 0 !important;
  text-align: center !important;
  font-size: 12px !important;
}

.modal > p:has(> a[href^="/request?"]) a {
  color: #826139 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px;
}

/* ---------- Modal form visual design ---------- */
.modal-backdrop {
  padding: 20px !important;
}

.modal {
  width: min(460px, 100%) !important;
  padding: 36px 32px 28px !important;
  border-radius: 22px !important;
  box-shadow: 0 30px 100px #00000059 !important;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

/* Icon + title block: centered and vertically rhythmic */
.modal .modal-icon {
  margin: 0 auto !important;
}

.modal h2 {
  margin: 14px 0 8px !important;
  text-align: center;
  font-size: 28px !important;
  line-height: 1.2 !important;
}

.modal > p {
  margin: 0 0 6px !important;
  text-align: center;
}

/* Fields: even vertical spacing, slightly larger hit target
   (exclude checkbox so consent box stays 18×18) */
.modal input:not([type="checkbox"]):not([type="radio"]),
.modal textarea {
  margin-top: 12px !important;
  padding: 13px 15px !important;
  border: 1px solid #dedbd4 !important;
  border-radius: 12px !important;
  min-height: 48px !important;
  box-sizing: border-box;
}

/* Belt-and-suspenders: never let field rules stretch the consent checkbox */
.modal .consent-row input[type="checkbox"],
.consent-row input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  min-height: 0 !important;
  min-width: 0 !important;
  margin: 1px 0 0 !important;
  padding: 0 !important;
  flex: none !important;
  box-sizing: border-box !important;
}

.modal input:not([type="checkbox"]):not([type="radio"]):focus,
.modal textarea:focus {
  border-color: #ae8b57 !important;
  box-shadow: 0 0 0 3px rgba(174, 139, 87, 0.18);
  outline: none;
}

/* Primary button: full width, balanced gap above */
.modal .primary {
  width: 100% !important;
  margin-top: 18px !important;
  padding: 15px 22px !important;
  border-radius: 12px !important;
  min-height: 50px;
  font-size: 15px !important;
  font-weight: 650;
  letter-spacing: 0.01em;
}

.modal .primary:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* Status text under button */
.modal small.form-status,
.modal .form-status {
  margin-top: 12px !important;
  text-align: center !important;
}

.modal small {
  margin-top: 12px !important;
  text-align: center;
}

/* Close button: keep clear of title */
.modal-close {
  top: 14px !important;
  right: 14px !important;
  z-index: 2;
}

/* ---------- Responsive ---------- */
@media (width <= 600px) {
  .modal {
    padding: 28px 20px 22px !important;
    border-radius: 18px !important;
  }

  .modal h2 {
    font-size: 24px !important;
    margin: 12px 0 8px !important;
  }

  .consent-row {
    padding: 11px 12px !important;
    gap: 9px !important;
    font-size: 11.5px !important;
    margin: 12px 0 4px !important;
  }

  .modal .primary {
    margin-top: 16px !important;
    min-height: 48px;
  }

  .modal-backdrop {
    padding: 12px !important;
    align-items: end;
  }
}
