/* Make the embedded FluentForm ("Mission Contact") match the S10 contact design. */
.contact-form-wrap { width: 100%; }
.contact-form-wrap form { margin: 0; }
.contact-form-wrap .ff-el-group { margin: 0 0 18px; }
.contact-form-wrap .ff-el-group:last-of-type { margin-bottom: 0; }

/* labels */
.contact-form-wrap .ff-el-input--label label,
.contact-form-wrap .ff-el-input--label {
  display: block; font-size: 12px; font-weight: 700; letter-spacing: .04em;
  color: #475467; margin: 0 0 8px; padding: 0;
}
.contact-form-wrap .ff-el-is-required-star,
.contact-form-wrap .ff-el-input--label .ff-el-is-required-star { color: var(--rw-pink, #ef479b); }

/* inputs + textarea */
.contact-form-wrap input.ff-el-form-control,
.contact-form-wrap textarea.ff-el-form-control,
.contact-form-wrap select.ff-el-form-control,
.contact-form-wrap .ff-el-form-control {
  font: inherit; font-size: 15px; line-height: 1.4; color: #111827; background: #f6f8fb;
  border: 1px solid #e3e8ef; border-radius: 12px; padding: 13px 15px; width: 100%;
  box-shadow: none; transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.contact-form-wrap .ff-el-form-control:focus {
  outline: none; border-color: var(--rw-pink, #ef479b); background: #fff;
  box-shadow: 0 0 0 3px rgba(239,71,155,.12);
}
.contact-form-wrap textarea.ff-el-form-control { min-height: 112px; resize: vertical; }
.contact-form-wrap ::placeholder { color: #9aa7b8; }

/* submit button */
.contact-form-wrap .ff-el-group.ff_submit_btn_wrapper { margin-top: 6px; }
.contact-form-wrap .ff-btn-submit,
.contact-form-wrap button[type="submit"] {
  -webkit-appearance: none; appearance: none; width: auto; height: 54px; padding: 0 34px;
  border: 0 !important; border-radius: 999px !important; background: var(--rw-pink, #ef479b) !important;
  background-color: var(--rw-pink, #ef479b) !important; color: #fff !important;
  font-size: 16px; font-weight: 700; letter-spacing: 0; cursor: pointer;
  box-shadow: 0 14px 30px rgba(239,71,155,.3);
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.contact-form-wrap .ff-btn-submit:hover,
.contact-form-wrap button[type="submit"]:hover {
  transform: translateY(-2px); background: #e0338b !important; background-color: #e0338b !important;
  box-shadow: 0 18px 38px rgba(239,71,155,.4);
}

/* validation + success messages */
.contact-form-wrap .ff-el-is-error .ff-el-form-control { border-color: #f04438; }
.contact-form-wrap .text-danger, .contact-form-wrap .error { color: #d92d20; font-size: 12px; margin-top: 6px; }
.contact-form-wrap .ff-message-success, .contact-form-wrap .ff_submit_success {
  color: #12805c; font-size: 15px; line-height: 1.6;
}
