/* Custom styles for Gravity Forms */
.gform-theme--api,
.gform-theme--framework {
  --gf-color-danger: #000;
}

.gform_required_legend {
  display: none;
}

#main-content .gform-theme--api,
#main-content .gform-theme--foundation {
  --gf-form-gap-y: 0;
  --gf-radius: 0;
  --gf-color-in-ctrl: transparent;
  --gf-ctrl-shadow: none;
}
#main-content [id^="gform_wrapper_"] input.button {
  font-size: var(--slr-body) !important;
  font-weight: 700;
  padding: 0.75rem 1.5rem !important;
  text-transform: uppercase;
  background-color: #000;
  border: 0 solid #000;
  color: #fff !important;
  width: auto;
}
#main-content [id^="gform_wrapper_"] input.gform-theme-button--secondary {
  border: 2px solid #000;
  background-color: #fff;
  box-shadow: none;
  color: #000 !important;
  width: 25%;
}
#main-content .gform-theme--foundation .gform_footer,
#main-content .gform-theme--foundation .gform_page_footer {
  display: flex;
  flex-wrap: nowrap;
}

#main-content .gform-theme--framework input {
  border-top: 0;
  border-left: 0;
  border-right: 0;
}

#main-content .gform-theme--framework input:focus {
  outline: none;
}

.gf-padding {
  padding-top: 3rem;
}

/* Floating labels: label acts as placeholder, moves above on focus/value.
   .gf-floating-label is added by JS so we override GF theme (orbital/foundation). */
.gform_wrapper.gform-theme .gfield.gf-floating-label,
.gform_wrapper.gform-theme .gfield--type-select {
  margin-top: 0.75rem;
  position: relative;
  transition: margin-top 0.2s ease;
}

.gform_wrapper.gform-theme
  .gfield.gf-floating-label.gf-floating-label--textarea
  .gfield_label,
.gform_wrapper.gform-theme
  .gfield.gf-floating-label.gf-floating-label--textarea
  .gform-field-label {
  top: 0.5rem !important;
}

.gform_wrapper.gform-theme .gfield.gf-floating-label .gfield_label,
.gform_wrapper.gform-theme .gfield.gf-floating-label .gform-field-label {
  left: 1rem !important;
  margin: 0 !important;
  pointer-events: none;
  position: absolute !important;
  top: 0.5rem !important;
  color: var(--gf-ctrl-color);
  transition:
    top 0.2s ease,
    left 0.2s ease,
    font-size 0.2s ease,
    color 0.2s ease;
  z-index: 1;
}

.gform_wrapper.gform-theme .gfield.gf-floating-label.has-focus .gfield_label,
.gform_wrapper.gform-theme
  .gfield.gf-floating-label.has-focus
  .gform-field-label,
.gform_wrapper.gform-theme .gfield.gf-floating-label.has-value .gfield_label,
.gform_wrapper.gform-theme
  .gfield.gf-floating-label.has-value
  .gform-field-label {
  color: var(--gf-ctrl-label-color-primary) !important;
  left: 0.75rem !important;
  top: -1.25rem !important;
  font-weight: 600;
}
.gform_wrapper.gform-theme .gfield--type-textarea.gf-floating-label.has-value .gfield_label {
  top: -1.5rem !important;
}

.gform_wrapper.gform-theme .gfield.gf-floating-label.has-focus,
.gform_wrapper.gform-theme .gfield.gf-floating-label.has-value {
  margin-top: 2rem !important;
}

/* Select with placeholder option: label hidden until valid selection */
.gform_wrapper.gform-theme .gfield.gfield--type-select .gfield_label,
.gform_wrapper.gform-theme .gfield.gfield--type-select .gform-field-label {
  border: 0 !important;
  clip: rect(0, 0, 0, 0) !important;
  height: 1px !important;
  left: -9999px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  transition:
    clip 0.2s ease,
    top 0.2s ease,
    font-size 0.2s ease,
    color 0.2s ease;
  width: 1px !important;
}

.gform_wrapper.gform-theme .gfield--type-radio {
  margin-top: 1rem;
}

.gform_wrapper.gform-theme
  .gfield.gfield--type-select.has-valid-selection
  .gfield_label,
.gform_wrapper.gform-theme
  .gfield.gfield--type-select.has-valid-selection
  .gform-field-label {
  clip: auto !important;
  color: var(--gf-ctrl-label-color-primary);
  height: auto !important;
  left: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  position: absolute !important;
  top: -1.5rem !important;
  width: auto !important;
}

.gform_wrapper.gform-theme .gfield.gfield--type-select.has-valid-selection {
  margin-top: 2rem !important;
}

.gform-theme--foundation .gf_page_steps {
  justify-content: center;
  position: relative;
  gap: 2rem;
  margin: 0;
}

.gform-theme--framework .gf_step_number {
  --gf-local-bg-color: var(--gf-field-pg-steps-number-border-color);
  --gf-local-border-color: none;
  --gf-local-color: rgba(14, 14, 14, 0.3);
}

.gform-theme--framework .gf_step_active .gf_step_number {
  --gf-local-bg-color: #000;
  --gf-local-color: var(--white-color);
  border: 2px solid var(--white-color);
  box-shadow: 0 0 0 2px #000;
}

.gform-theme--framework .gf_step {
  position: relative;
  gap: 0;
}

.gf_step:after {
  content: "";
  height: 2px;
  left: 100%;
  position: absolute;
  top: 50%;
  width: 2rem;
  background-color: #000;
}

.gf_step:last-child:after {
  display: none;
}

.gform-theme--framework .gfield--type-radio .gform-field-label--type-inline {
  cursor: pointer;
}

.gform_wrapper .gfield.space {
  height: 2rem;
}