/* Shared front-end branding for every Gravity Form, regardless of embed method. */
body .gform_confirmation_message.alert.alert-success {
  padding: 1rem !important;
  color: var(--bs-success-text-emphasis, #374c3f) !important;
  background-color: var(--bs-success-bg-subtle, #e7f2ec) !important;
  border: 1px solid var(--bs-success-border-subtle, #d0e5d8) !important;
  border-radius: var(--bs-border-radius, 0.375rem) !important;
  box-shadow: none !important;
}

.form-section {
  position: relative;
  isolation: isolate;
  overflow: clip;
}

.form-section > .bg-vector {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: auto;
  z-index: -1;
  pointer-events: none;
}

body .gform_wrapper .gform_validation_errors.alert.alert-warning {
  padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x) !important;
  color: var(--bs-alert-color) !important;
  background-color: var(--bs-alert-bg) !important;
  border: var(--bs-alert-border) !important;
  border-radius: var(--bs-alert-border-radius) !important;
  box-shadow: none !important;
}

body .gform_wrapper .gform_validation_errors.alert.alert-warning :is(.gform_submission_error, .gform-icon, .gform_validation_error_link) {
  color: inherit !important;
}

body .gform_wrapper {
  --mg-form-background: var(--bs-success-light, #E7F2EC);
  --gf-form-gap-y: 15px;
  --gf-ctrl-font-family: inherit;
  --gf-ctrl-color: var(--bs-secondary, #163963);
  --gf-ctrl-accent-color: var(--bs-primary, #0D99FF);
  --gf-ctrl-choice-check-color: var(--bs-primary, #0D99FF);
  font-family: inherit;
  color: var(--bs-secondary, #163963);
}

body .card-body .gform_wrapper,
body .monitorgroep-gravity-form--light .gform_wrapper,
body .monitorgroep-gravity-form--newsletter .gform_wrapper {
  --mg-form-background: #fff;
}

body .gform_wrapper .gform_fields {
  row-gap: 15px !important;
}

body .gform_wrapper .gfield input:is([type="text"], [type="email"], [type="tel"], [type="url"], [type="number"], [type="password"], [type="search"], [type="date"], [type="time"]),
body .gform_wrapper .gfield textarea,
body .gform_wrapper .gfield select {
  box-sizing: border-box;
  width: 100%;
  font-family: inherit !important;
  font-weight: 400;
  color: var(--bs-secondary, #163963) !important;
  background-color: var(--mg-form-background) !important;
  border: 1px solid var(--mg-form-background) !important;
  border-radius: 50rem !important;
  box-shadow: none !important;
}

body .gform_wrapper .gfield input[type="text"] {
  box-shadow: 0 2px 6px rgba(22, 57, 99, 0.08) !important;
}

/* Match the actual text fields on the Contact page. */
body .gform_wrapper .gfield input:is([type="text"], [type="email"], [type="tel"], [type="url"], [type="number"], [type="password"], [type="search"], [type="date"], [type="time"]),
body .gform_wrapper .gfield textarea {
  padding: 24px !important;
  font-size: 16px !important;
  line-height: 24px !important;
  background-color: #fff !important;
  border-color: var(--bs-success-light, #E7F2EC) !important;
}

body .gform_wrapper .gfield input:is([type="text"], [type="email"], [type="tel"], [type="url"], [type="number"], [type="password"], [type="search"], [type="date"], [type="time"]) {
  height: 50px !important;
  min-height: 0 !important;
}

body .gform_wrapper .gfield textarea,
body .gform_wrapper .gfield select[multiple] {
  border-radius: 16px !important;
}

body .gform_wrapper .gfield input:focus-visible,
body .gform_wrapper .gfield textarea:focus-visible,
body .gform_wrapper .gfield select:focus-visible {
  outline: 2px solid var(--bs-primary, #0D99FF);
  outline-offset: 3px;
}

body .gform_wrapper .gfield_label,
body .gform_wrapper .gform-field-label {
  font-family: inherit;
  font-size: 16px;
  line-height: 1.5;
  color: var(--bs-secondary, #163963);
}

body .gform_wrapper .gfield input:is([type="checkbox"], [type="radio"]) {
  accent-color: var(--bs-primary, #0D99FF);
}

body .gform_wrapper .gfield_checkbox .gchoice {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

body .gform_wrapper .gfield_checkbox .gchoice input[type="checkbox"] {
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  margin: 2px 0 0 !important;
}

body .gform_wrapper .gfield_checkbox .gchoice label {
  flex: 1;
  min-width: 0;
  max-width: none;
  margin: 0 !important;
  padding: 0;
  line-height: 24px !important;
}

body .gform_wrapper .gform_footer,
body .gform_wrapper .gform_page_footer {
  margin-top: 16px;
  padding: 0;
  gap: 12px;
}

body .gform_wrapper :is(.gform_button, .gform_next_button, .gform_previous_button):not([type="image"]) {
  width: auto !important;
  max-width: 100%;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 12px 24px !important;
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  white-space: normal;
  color: #fff !important;
  background-color: var(--bs-primary, #0D99FF) !important;
  border: 1px solid var(--bs-primary, #0D99FF) !important;
  border-radius: 50px !important;
  box-shadow: none !important;
  cursor: pointer;
}

body .gform_wrapper :is(.gform_button, .gform_next_button, .gform_previous_button):not([type="image"]):is(:hover, :focus-visible) {
  color: var(--bs-secondary, #163963) !important;
  background-color: var(--bs-primary-light, #EAF6FE) !important;
  border-color: var(--bs-primary-light, #EAF6FE) !important;
}

body .gform_wrapper :is(.gform_button, .gform_next_button, .gform_previous_button):focus-visible {
  outline: 2px solid var(--bs-primary, #0D99FF);
  outline-offset: 3px;
}

@media (max-width: 767px) {
  body .gform_wrapper :is(.gform_button, .gform_next_button, .gform_previous_button):not([type="image"]) {
    padding: 8px 14px !important;
  }
}
