/* Gravity Forms keeps validation/submission; these shared roles match the reference. */
.mhz-form {
  position: relative;
  min-height: 513px;
  border: 2px solid var(--wp--custom--design--charcoal);
  border-radius: 16px;
  padding: 39px 56px;
}
.mhz-form .gform_wrapper.gravity-theme {
  margin: 0;
  color: var(--wp--custom--design--white);
}
.mhz-form .gform_heading {
  margin: 0;
}
.mhz-form .gform_wrapper .gform_title {
  color: var(--wp--preset--color--foreground);
  margin: 0;
  font-family: var(--wp--custom--design--font-display);
  font-size: var(--wp--custom--design--type-h-3-size);
  font-weight: 800;
  line-height: 1;
}
.mhz-form .gform_required_legend {
  display: none;
}
.mhz-form .gform_wrapper.gravity-theme .gform_fields {
  display: block;
}
.mhz-form .gform_wrapper.gravity-theme .gfield {
  position: relative;
  margin-top: 8px;
  padding: 0;
}
.mhz-form .gform_wrapper.gravity-theme .gfield_label {
  position: absolute;
  z-index: 1;
  top: 18px;
  left: 0;
  margin: 0;
  font-size: var(--wp--custom--design--type-field-label-size);
  font-weight: 400;
  line-height: 1;
  color: #dbdbdb;
  pointer-events: none;
  transform-origin: left top;
  transition:
    color 180ms ease,
    transform 180ms var(--wp--custom--design--ease-out);
}
.mhz-form .gform_wrapper.gravity-theme .gfield_required {
  color: var(--wp--custom--design--pink);
  font-size: inherit;
  padding: 0;
}
.mhz-form .gform_wrapper.gravity-theme .gfield:focus-within .gfield_label,
.mhz-form
  .gform_wrapper.gravity-theme
  .gfield:has(input:not(:placeholder-shown))
  .gfield_label,
.mhz-form
  .gform_wrapper.gravity-theme
  .gfield:has(textarea:not(:placeholder-shown))
  .gfield_label {
  color: var(--wp--preset--color--brand);
  transform: translateY(-13px) scale(0.72);
}
.mhz-form .gform_wrapper.gravity-theme .ginput_container {
  margin: 0;
}
.mhz-form .gform_wrapper.gravity-theme .ginput_container :is(input, textarea) {
  box-sizing: border-box;
  display: block;
  width: 100%;
  height: 54px;
  min-height: 0;
  border: 0;
  border-bottom: 1px solid #848484;
  border-radius: 0;
  background: transparent;
  color: var(--wp--custom--design--white);
  font: inherit;
  line-height: 1.5;
  padding: 21px 0 4px;
  resize: none;
  box-shadow: none;
}
.mhz-form .gform_wrapper.gravity-theme .ginput_container textarea.large {
  height: 62px;
  padding-top: 23px;
}
.mhz-form .gform_wrapper.gravity-theme .mhz-form__message {
  margin-top: 6px;
}
.mhz-form
  .gform_wrapper.gravity-theme
  .ginput_container
  :is(input, textarea):focus {
  outline: none;
  border-bottom-color: var(--wp--preset--color--brand);
  box-shadow: 0 4px 0 -3px var(--wp--preset--color--brand);
}
.mhz-form :is(input, textarea)::placeholder {
  color: transparent;
}
.mhz-form .gform_wrapper.gravity-theme .gform_footer {
  display: flex;
  align-items: center;
  padding: 0;
  margin: var(--wp--custom--design--space-form-action) 0 0;
}
.mhz-form .gform_wrapper.gravity-theme .mhz-submit {
  margin: 0;
  cursor: pointer;
}
.mhz-form .mhz-submit:disabled {
  cursor: wait;
  opacity: 0.58;
}
/* Validation stays readable alongside floating labels, including AJAX responses. */
.mhz-form .gform_wrapper.gravity-theme .gform_validation_errors {
  border: 1px solid var(--wp--custom--design--pink);
  border-radius: var(--wp--custom--design--radius-button);
  background: var(--wp--custom--design--charcoal);
  box-shadow: none;
  margin: 0 0 28px;
  padding: 20px 24px;
}
.mhz-form .gform_wrapper.gravity-theme .gform_validation_errors:focus {
  outline: none;
  border-color: var(--wp--preset--color--brand);
}
.mhz-form .gform_wrapper.gravity-theme .gform_validation_errors h2 {
  font-family: var(--wp--custom--design--font-body);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
  color: var(--wp--custom--design--white);
  margin: 0;
}
.mhz-form .gform_wrapper.gravity-theme .gform_validation_errors .gform-icon {
  display: none;
}
.mhz-form .gform_wrapper.gravity-theme .gform_validation_errors ol {
  margin: 12px 0 0;
  padding-left: 20px;
  list-style: disc;
}
.mhz-form .gform_wrapper.gravity-theme .gform_validation_errors li {
  color: var(--wp--custom--design--pink);
  font-size: 14px;
  line-height: 1.6;
  margin: 4px 0 0;
}
.mhz-form .gform_wrapper.gravity-theme .gform_validation_errors a {
  color: var(--wp--custom--design--white);
  text-decoration: underline;
  text-decoration-color: var(--wp--custom--design--pink);
  text-underline-offset: 3px;
}
.mhz-form .gform_wrapper.gravity-theme .gfield_error {
  margin-top: 16px;
}
.mhz-form .gform_wrapper.gravity-theme .gfield_error .ginput_container :is(input, textarea) {
  border-bottom-color: var(--wp--custom--design--pink);
}
.mhz-form .gform_wrapper.gravity-theme .gfield .gfield_validation_message {
  padding: 8px 0 0;
  margin: 0;
  background: none;
  border: 0;
  color: var(--wp--custom--design--pink);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
}
.mhz-form:has(.gform_validation_errors) {
  height: auto;
}
.mhz-contact:has(.gform_validation_errors) {
  height: auto;
  padding-bottom: 150px;
}
.mhz-form .gform_confirmation_message h3 {
  color: var(--wp--preset--color--brand);
  margin-bottom: 16px;
}
@media (max-width: 700px) {
  .mhz-form {
    min-height: 0;
    padding: 34px 24px 30px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .mhz-form .gform_wrapper.gravity-theme .gfield_label {
    transition: none;
  }
}
