/* Gravity Forms: match the site's button and form styles */

/* "Select files" (multi-file upload) and native "Choose file" buttons - outlined like .btn-outline-primary */
.gform_wrapper .gform_button_select_files,
.gform_wrapper input[type=file]::file-selector-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 1px solid #333;
  border-radius: 3px;
  color: #333;
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  line-height: 23px;
  padding: 10px 26px;
  cursor: pointer;
  transition: background-color .3s ease-out, color .3s ease-out;
}
.gform_wrapper .gform_button_select_files:hover,
.gform_wrapper .gform_button_select_files:focus,
.gform_wrapper input[type=file]:hover::file-selector-button {
  background: #333;
  color: #fff;
}
.gform_wrapper input[type=file]::file-selector-button {
  margin-right: 16px;
  padding: 6px 20px;
}
.gform_wrapper input[type=file] {
  padding: 8px 12px !important;
  font-size: 14px;
  cursor: pointer;
}

/* Drag & drop area */
.gform_wrapper .gform_drop_area {
  font-size: 16px;
  background: #fafafa;
  border-color: #85878a;
}
.gform_wrapper .gform_drop_instructions {
  display: block;
  margin-bottom: 12px;
}

/* Checkboxes and radios */
.gform_wrapper .gfield_checkbox .gchoice,
.gform_wrapper .gfield_radio .gchoice {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
}
.gform_wrapper .gfield_checkbox input[type=checkbox],
.gform_wrapper .gfield_radio input[type=radio] {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin: 0 10px 0 0;
  accent-color: #333;
  cursor: pointer;
}
.gform_wrapper .gfield_checkbox label,
.gform_wrapper .gfield_radio label {
  margin: 0;
  font-size: 15px;
  cursor: pointer;
}

/* Submit button: left aligned (theme aligned it right in the footer contact form) */
.gform_wrapper .gform_footer {
  text-align: left !important;
}
.contact-form .contact-form-column form .gform_footer .btn,
.gform_wrapper .gform_footer .btn {
  align-self: flex-start !important;
}

/* Cloudflare Turnstile: same gap above it as between other fields (18px),
   and double that (36px) between it and the submit button */
.gform_wrapper .gfield:has(+ .gfield--type-turnstile) textarea,
.gform_wrapper .gfield:has(+ .gfield--type-turnstile) input {
  margin-bottom: 10px !important;
  vertical-align: top;
}
.gform_wrapper .gfield--type-turnstile .cf-turnstile {
  line-height: 0;
}
.gform_wrapper .gform_body:has(.gfield--type-turnstile) + .gform_footer {
  margin-top: 36px !important;
}
