/* ============================================================
   Contact Form 7 compatibility.
   Purely structural: makes CF7's own wrappers behave like the
   original hand-written markup. No visual redesign.
   ============================================================ */

/* CF7 wraps every control in an inline <span>; the design's inputs are
   width:100% block controls, so the wrapper must be a block too. */
.field .wpcf7-form-control-wrap {
  display: block;
}

/* CF7 inserts its own wrapper <div class="wpcf7"> around the <form>.
   Let it take the grid cell transparently. */
.contact-grid > .wpcf7,
.apply-grid > .wpcf7 {
  min-width: 0;
}
.contact-grid > .wpcf7 > form,
.apply-grid > .wpcf7 > form {
  width: 100%;
}

/* Validation hint under a field — matches the theme's error colour. */
.wpcf7-not-valid-tip {
  margin-top: 5px;
  font-size: .78rem;
  font-weight: 500;
  color: var(--orange-d, #e8350f);
}
.field input.wpcf7-not-valid,
.field textarea.wpcf7-not-valid {
  border-color: var(--orange-d, #e8350f);
}

/* Response message — styled to match the theme's .ct-note. */
.wpcf7 form .wpcf7-response-output {
  margin: 14px 0 0;
  padding: 10px 14px;
  border: 1px solid var(--line, #e6ecf2);
  border-radius: 10px;
  font-size: .88rem;
  text-align: center;
}
.wpcf7 form.sent .wpcf7-response-output {
  border-color: #1e9e63;
  color: #1e9e63;
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
  border-color: var(--orange-d, #e8350f);
  color: var(--orange-d, #e8350f);
}

/* Spinner sits beside the submit button rather than pushing layout. */
.wpcf7-spinner {
  position: absolute;
  margin: 0 0 0 10px;
}
.ct-form button[type="submit"],
.apply-form button[type="submit"] {
  position: relative;
}
