/* Express interest forms (Gravity Forms) inside the landing form panels.
   Theme-owned: the sync script never writes this file.

   Gravity Forms' own CSS is switched off (inc/forms.php), and the forms print the landing
   form's classes (form__field, form__label, form__control, form__input, form__error,
   form__submit), so site.css styles them as on the landing page. This file only takes Gravity
   Forms' wrapper elements out of the layout and handles the success state. */

/* The wrapper, form, body, footer and confirmation boxes drop out of the layout, so the field
   list, the button and the note are laid out by .form (a flex column) as on the landing page. */
.contact__form .gform_wrapper,
.contact__form .gform_wrapper > form,
.contact__form .gform-body,
.contact__form .gform_body,
.contact__form .gform_footer,
.contact__form .gform_confirmation_wrapper,
.contact__form .gform_confirmation_message { display: contents; }

/* The field list is .form__fields. */
.contact__form .gform_fields {
  display: flex;
  flex-direction: column;
  gap: calc(24 * var(--u));
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Never shown: the hidden role field, the honeypot, Gravity Forms' spinner and summary. */
.contact__form .gform_hidden,
.contact__form .gform_validation_container,
.contact__form .gform_ajax_spinner,
.contact__form .gform_validation_errors,
.contact__form .validation_error { display: none !important; }

/* The panel keeps at least its idle height (measured by theme-forms.js), so the card does not
   change height when the form is replaced by the thank-you message. Errors still add their
   lines below the fields, as on the landing page. */
.contact__form { min-height: var(--panel-height, auto); }

/* After a successful send the note keeps its space but is not shown; the message covers the
   panel (.form__success in site.css). */
.contact__form:has(.gform_confirmation_wrapper) > .form__note { visibility: hidden; }
