/* ===== FINAL CTA + ФОРМА ЗАЯВКИ ===== */
.final-cta {
  border-radius: 12px; padding: 26px 22px 24px;
  background:
    radial-gradient(120% 110% at 92% 8%, rgba(63,174,77,0.18) 0%, rgba(63,174,77,0.04) 36%, rgba(63,174,77,0) 60%),
    linear-gradient(158deg, #15251a 0%, #0f1a12 48%, #0b120c 100%);
}
.final-title { font-size: 22px; font-weight: 600; line-height: 1.2; margin-bottom: 24px; max-width: 260px; }
.final-title .accent { color: var(--accent-bright); }
.final-sub-label { font-size: 12px; font-weight: 600; letter-spacing: 0.08em; color: var(--mute-on-dark); text-transform: uppercase; margin-bottom: 10px; }
.final-list { list-style: none; margin-bottom: 18px; display: flex; flex-direction: column; gap: 4px; }
.final-list li { font-size: 13px; padding-left: 14px; position: relative; line-height: 1.5; }
.final-list li::before { content: "—"; position: absolute; left: 0; }
.final-form { display: flex; flex-direction: column; gap: 10px; margin-top: 20px; }
.field { position: relative; }
.field input, .field textarea {
  width: 100%; background: #0a0f0a; border: 1px solid #233127;
  border-radius: 6px; padding: 13px 14px 13px 40px;
  font-family: inherit; font-size: 13px; color: var(--text-light);
  transition: border-color 0.25s, box-shadow 0.25s;
}
.field textarea {
  min-height: 84px; resize: vertical; padding-left: 14px; line-height: 1.45;
}
.field input::placeholder, .field textarea::placeholder { color: var(--mute-on-dark); }
.field input:focus, .field textarea:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(63,174,77,0.15); }
/* Иконку якорим к центру инпута (top: 23px), а не к высоте всего поля —
   иначе на телефоне поле выше из-за подсказки валидации и иконка съезжает вниз. */
.field svg { position: absolute; left: 12px; top: 23px; transform: translateY(-50%); width: 16px; height: 16px; color: var(--mute-on-dark); stroke-width: 1.5; transition: color 0.2s; }
.field input:focus ~ svg, .field:focus-within svg { color: var(--accent-bright); }
.field-hint-static { font-size: 11px; color: var(--mute-on-dark); margin: 0 0 4px; }
.btn-form {
  background: var(--accent); color: #06140a; width: 100%; padding: 14px;
  border-radius: 6px; border: none; font-family: inherit; font-size: 12px;
  font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
  cursor: pointer; margin-top: 4px;
  transition: transform 0.2s, box-shadow 0.2s;
}
.btn-form:hover { transform: translateY(-2px); box-shadow: 0 8px 24px -6px rgba(95,214,111,0.5); }
.btn-form:active { transform: translateY(0); }
.btn-form:disabled { opacity: 0.6; cursor: progress; transform: none; box-shadow: none; }
.form-meta { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--mute-on-dark); margin-top: 12px; }
.form-meta svg { width: 14px; height: 14px; stroke-width: 1.5; }

/* Статус отправки заявки на бекенд */
.form-status { font-size: 12.5px; line-height: 1.45; min-height: 18px; margin-top: 2px; }
.form-status.is-ok { color: var(--accent-bright); }
.form-status.is-error { color: #ef4444; }
.form-status.is-pending { color: var(--mute-on-dark); }

/* Подсказка валидации телефона (добавляется скриптом phone-validation.js) */
.field-hint { font-size: 12px; margin-top: 5px; min-height: 16px; line-height: 1.4; transition: color 0.15s; color: #ef4444; }
