/**
 * Modern Gravity Forms styling (non-Orbital).
 */

.gform_wrapper.gravity-theme,
.gform_wrapper.gravity-theme .gform_body,
.gform_wrapper.gravity-theme .gform_fields {
  --gf-form-gap-y: 18px;
  --gf-form-gap-x: 18px;
}

.gform_wrapper.gravity-theme .gfield_label,
.gform_wrapper.gravity-theme .gform-field-label {
  color: var(--mp-navy);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.01em;
  margin-bottom: 8px;
}

.gform_wrapper.gravity-theme .gfield_description,
.gform_wrapper.gravity-theme .gform-field-label--type-sub {
  color: var(--mp-muted);
  font-size: 13px;
  line-height: 1.5;
}

.gform_wrapper.gravity-theme input[type="text"],
.gform_wrapper.gravity-theme input[type="email"],
.gform_wrapper.gravity-theme input[type="tel"],
.gform_wrapper.gravity-theme input[type="url"],
.gform_wrapper.gravity-theme input[type="password"],
.gform_wrapper.gravity-theme input[type="number"],
.gform_wrapper.gravity-theme select,
.gform_wrapper.gravity-theme textarea {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid var(--mp-border);
  border-radius: var(--mp-radius);
  background: var(--mp-white);
  color: var(--mp-ink);
  font-size: 16px;
  line-height: 1.4;
  box-shadow: none;
  transition: border-color 160ms ease, box-shadow 160ms ease;
}

.gform_wrapper.gravity-theme textarea {
  min-height: 140px;
  resize: vertical;
}

.gform_wrapper.gravity-theme input:focus,
.gform_wrapper.gravity-theme select:focus,
.gform_wrapper.gravity-theme textarea:focus {
  outline: none;
  border-color: var(--mp-blue);
  box-shadow: 0 0 0 3px rgba(47, 120, 189, 0.14);
}

.gform_wrapper.gravity-theme .gfield--type-choice .gchoice {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 10px;
}

.gform_wrapper.gravity-theme .gfield_checkbox input,
.gform_wrapper.gravity-theme .gfield_radio input {
  margin-top: 4px;
}

.gform_wrapper.gravity-theme .gform_footer,
.gform_wrapper.gravity-theme .gform_page_footer {
  margin-top: 24px;
  padding: 0;
}

.gform_wrapper.gravity-theme .gform_button,
.gform_wrapper.gravity-theme .gform_next_button,
.gform_wrapper.gravity-theme .gform_previous_button {
  min-height: 48px;
  padding: 0 22px;
  border: 1px solid var(--mp-navy);
  border-radius: var(--mp-pill);
  background: var(--mp-navy);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: none;
  transition: background 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.gform_wrapper.gravity-theme .gform_button:hover,
.gform_wrapper.gravity-theme .gform_next_button:hover {
  background: var(--mp-deep);
  border-color: var(--mp-deep);
  transform: translateY(-1px);
}

.gform_wrapper.gravity-theme .gform_previous_button {
  background: var(--mp-white);
  color: var(--mp-navy);
}

.gform_wrapper.gravity-theme .gform_validation_errors {
  border: 1px solid rgba(180, 35, 24, 0.25);
  border-radius: var(--mp-radius);
  background: #fff5f5;
  box-shadow: none;
}

.gform_wrapper.gravity-theme .gfield_validation_message,
.gform_wrapper.gravity-theme .validation_message {
  color: #b42318;
  font-size: 13px;
  font-weight: 600;
}

.gform_wrapper.gravity-theme .gfield_error input,
.gform_wrapper.gravity-theme .gfield_error select,
.gform_wrapper.gravity-theme .gfield_error textarea {
  border-color: #fda29b;
}

.gform_wrapper.gravity-theme .gform_required_legend {
  display: none;
}

.gform_wrapper.gravity-theme .gsection {
  border-bottom: 1px solid var(--mp-border-light);
  margin: 28px 0 18px;
  padding-bottom: 10px;
}

.gform_wrapper.gravity-theme .gsection_title {
  color: var(--mp-navy);
  font-size: 20px;
  letter-spacing: -0.03em;
}

.gform_wrapper.gravity-theme .gform_confirmation_message {
  padding: 18px 20px;
  border: 1px solid rgba(47, 120, 189, 0.22);
  border-radius: var(--mp-radius);
  background: var(--mp-light);
  color: var(--mp-navy);
  font-size: 16px;
  line-height: 1.6;
}

@media (prefers-reduced-motion: reduce) {
  .gform_wrapper.gravity-theme .gform_button:hover,
  .gform_wrapper.gravity-theme .gform_next_button:hover {
    transform: none;
  }
}
