/**
 * Quick Fix Force — Form controls
 * Source: src/components/ui/{input,label,textarea}.jsx + src/components/contact/EnquiryForm.jsx
 * Shared by every lead-capture form (contact, B2B, AMC estimator, move-out quote, portfolio).
 */
.qff-form { max-width: 42rem; }
.qff-form__row { margin-bottom: 1.25rem; }
.qff-form label {
  display: block;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--qff-charcoal);
  margin-bottom: 0.5rem;
}
.qff-form input[type="text"],
.qff-form input[type="tel"],
.qff-form input[type="email"],
.qff-form select,
.qff-form textarea {
  display: block;
  width: 100%;
  min-height: 48px;
  border-radius: var(--qff-radius-sm);
  border: 1px solid var(--qff-navy-15);
  background: #fff;
  padding: 0 0.875rem;
  font-size: 15px;
  color: var(--qff-charcoal);
}
.qff-form textarea { min-height: 6rem; padding-top: 0.75rem; padding-bottom: 0.75rem; resize: vertical; }
.qff-form input:focus, .qff-form select:focus, .qff-form textarea:focus {
  outline: 2px solid var(--qff-action);
  outline-offset: 1px;
  border-color: var(--qff-action);
}
.qff-form__error { font-size: 14px; color: var(--qff-action); font-weight: 500; margin: 0 0 1rem; }
.qff-form__hint { font-size: 13px; color: var(--qff-charcoal-50); line-height: 1.6; margin-top: 1rem; }
.qff-form__success { text-align: center; max-width: 42rem; margin: 0 auto; }
.qff-form__success .qff-icon-circle { margin: 0 auto; height: 3rem; width: 3rem; background: var(--qff-action); }
.qff-form__success .qff-icon-circle svg { width: 1.5rem; height: 1.5rem; color: #fff; }
.qff-form__success h2 { margin-top: 1.5rem; font-family: var(--qff-font-display); font-weight: 600; color: var(--qff-charcoal); font-size: 26px; letter-spacing: -0.01em; }
.qff-form__success p { margin-top: 1rem; font-size: 16px; color: var(--qff-charcoal-65); line-height: 1.7; }
