.bg_black {
  .gform_wrapper {
    --color-text: var(--color-white);
  }

  .gfield .gfield_label,
  .gfield label.gfield_label {
    color: var(--color-white);
  }

  .gfield_label .gfield_required_text {
    color: #a8a8a8;
  }

  ::placeholder {
    color: var(--color-white);
  }

  .validation_message {
    background-color: var(--color-green);
    color: var(--color-black);

    &:after {
      border-bottom-color: var(--color-green);
    }
  }

  .gform_submission_error {
    border: 1px solid var(--color-white);
    color: var(--color-white);
  }

  .gform_submission_error:focus-visible,
  .gform_submission_error:focus {
    outline-color: var(--color-white);
  }

  .gfield.gfield_error input[type="text"],
  .gfield.gfield_error input[type="email"],
  .gfield.gfield_error input[type="tel"],
  .gfield input[type="url"],
  .gfield.gfield_error textarea,
  .gfield.gfield_error select {
    border: 1px solid var(--color-white);
  }

  .gfield input[type="text"],
  .gfield input[type="email"],
  .gfield input[type="tel"],
  .gfield input[type="url"],
  .gfield textarea,
  .gfield select {
    color: var(--color-white);
    border: 1px solid var(--color-white);

    &:focus-visible {
      outline-color: var(--color-white);
    }
  }

  .gfield input[type="file"]::file-selector-button {
    border: 1px solid var(--color-green);
    background-color: var(--color-green);
    color: var(--color-black);
  }

  .gfield select {
    background: transparent calc(100% - var(--gap-s)) center no-repeat
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='27' height='15'%3E%3Cpath fill-rule='evenodd' fill='%23fff' d='M27 1L14 15 0 1l1-1 13 13L26 0l1 1z'/%3E%3C/svg%3E");
  }

  .ginput_container_consent {
    label {
      color: var(--color-white);
    }
    input[type="checkbox"] {
      & + label {
        &::after {
          border: 1px solid var(--color-white);
        }
      }

      &:checked {
        & + label {
          &::after {
            background: var(--color-white);
          }
        }
      }
    }
  }
}

.ginput_container_consent label {
  color: var(--color-black);
}

.gform_wrapper {
  --color-text: var(--color-black);
  margin: 0 !important;
  color: var(--color-text);
}

.gfield label.gfield_label,
.gfield .gfield_label {
  font-size: 18px;
  font-weight: 400;
  color: var(--color-black);
  margin: 0 0 calc(var(--gap-s) / 2) 0;
  display: block;
}

.gfield_label .gfield_required_text {
  display: inline-block;
  padding-left: var(--gap-xxs);
  color: var(--color-grey-dark);
}

::placeholder {
  color: var(--color-grey-dark);
}

.validation_message {
  background-color: var(--color-green);
  color: var(--color-black);
  padding: var(--gap-xxs) var(--gap-xs);
  font-size: 12px;
  border-radius: var(--border-radius-s);
  position: relative;
  margin-top: calc(var(--gap-s) / 2);
  display: inline-block;
}

.validation_message::after {
  content: "";
  display: block;
  position: absolute;
  border: calc(var(--gap-s) / 2) solid rgba(0, 0, 0, 0);
  border-bottom-color: var(--color-green);
  width: 0;
  height: 0;
  top: calc(0px - var(--gap-s));
  left: var(--gap-s);
}

.gform_submission_error {
  margin-bottom: var(--gap-s);
  border: 1px solid var(--color-black);
  padding: calc(var(--gap-s) / 2) var(--gap-s);
  font-size: 14px;
  color: var(--color-black);
  letter-spacing: 0;
}

.gform_submission_error:focus,
.gform_submission_error:focus-visible {
  outline: none;
  outline-color: var(--color-black);
}

.gfield.gfield_error input[type="text"],
.gfield.gfield_error input[type="email"],
.gfield.gfield_error input[type="tel"],
.gfield input[type="url"],
.gfield.gfield_error textarea,
.gfield.gfield_error select {
  border: 1px solid var(--color-black);
}

.gfield input[type="text"],
.gfield input[type="email"],
.gfield input[type="tel"],
.gfield input[type="url"],
.gfield textarea,
.gfield select {
  padding: var(--gap-xs) var(--gap-s);
  width: 100%;
  color: var(--color-black);
  background: transparent;
  border: 1px solid var(--color-black);
  box-sizing: border-box;
  border-radius: var(--border-radius-max);

  &:focus-visible {
    outline-color: var(--color-black);
  }
}

.gfield textarea,
.gfield select {
  border-radius: var(--border-radius-l);
}

.gfield input[type="file"]::file-selector-button {
  cursor: pointer;
  margin-right: var(--gap-xs);
  padding: clamp(8px, 0.817vw + 3.294px, 18px)
    clamp(14px, 1.144vw + 7.412px, 28px);
  border: 1px solid var(--color-green);
  border-radius: var(--border-radius-max);
  background-color: var(--color-green);
  color: var(--color-black);
  font-size: 20px;
  font-weight: 400;
  text-transform: capitalize;
  text-decoration: none;
  transition:
    background-color 0.4s ease,
    border-color 0.4s ease,
    color 0.4s ease;
}

.gform_fileupload_rules {
  display: block;
  margin-top: calc(var(--gap-s) / 2);
}

.gfield *::-ms-expand {
  display: none;
}

.gfield select {
  appearance: none;
  -webkit-appearance: none;
  background: transparent calc(100% - var(--gap-s)) center no-repeat
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='27' height='15'%3E%3Cpath fill-rule='evenodd' fill='%23900017' d='M27 1L14 15 0 1l1-1 13 13L26 0l1 1z'/%3E%3C/svg%3E");
  padding-right: 70px;
}

.ginput_container_consent {
  position: relative;

  input[type="checkbox"] {
    margin: 0;
    position: absolute;
    z-index: 0;
    opacity: 0;
    width: var(--gap-xs);
    height: var(--gap-xs);

    & + label {
      position: relative;
      overflow: hidden;
      padding-left: calc(var(--gap-xs) * 2);
      cursor: pointer;
      display: inline-block;

      &::after {
        width: var(--gap-xs);
        height: var(--gap-xs);
        background-color: transparent;
        top: 2px;
        border: 1px solid var(--color-black);
        background: transparent;
        border-radius: var(--border-radius-s);
        content: "";
        position: absolute;
        left: 0;
        z-index: 1;
        -webkit-transition: 0.2s;
        transition: 0.2s;
      }
    }

    &:checked {
      & + label {
        &::after {
          background: var(--color-black);
        }
      }
    }
  }
}

.gform_footer {
  margin-top: var(--gap-s);
}

.gform_fields {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap-s);
}

.gfield {
  flex-basis: 100%;
  position: relative;
}

fieldset.gfield {
  border: none;
  padding: 0;
  margin: 0;
}

fieldset.gfield legend {
  float: left;
}

fieldset.gfield legend + * {
  clear: both;
}

.gfield_visibility_hidden {
  display: none;
}

.gfield.hidden_label .gfield_label {
  display: none;
}

.gfield textarea {
  height: 200px;
  padding: var(--gap-xs) var(--gap-s);
}

.ginput_complex {
  display: flex;
  gap: var(--gap-xs);
}

.ginput_container_address {
  flex-wrap: wrap;
}

.ginput_container_name span {
  flex-grow: 1;
}

.ginput_container_address span {
  flex-basis: calc(50% - 8px);
}

.ginput_container_address span:nth-child(1),
.ginput_container_address span:nth-child(2) {
  flex-basis: 100%;
}

.gfield input[type="text"] + label,
.gfield select + label {
  margin-top: calc(var(--gap-s) / 2);
  display: block;
}

.screen-reader-text {
  display: none;
}

.gfield.captcha_field {
  margin: 0;
  padding: 0;
}

.gfield.captcha_field .gfield_label {
  display: none;
}

.ginput_container_fileupload .validation_message--hidden-on-empty {
  display: none;
}

.gfield.captcha_field {
  margin: 0;
  padding: 0;
  position: absolute;
}

.gform_wrapper {
  container-type: inline-size;
}

.gform_body {
  .gfield.gfield--width-half,
  .gfield.gfield--width-third,
  .gfield.gfield--width-quarter {
    flex-basis: 100%;
  }
}

@container (min-width: 504px) {
  .gform_body {
    .gfield.gfield--width-half {
      flex: 0 1 calc(50% - (var(--gap-s) * 1) / 2);
    }

    .gfield.gfield--width-third {
      flex: 0 1 calc(33.333% - (var(--gap-s) * 2) / 3);
    }

    .gfield.gfield--width-quarter {
      flex: 0 1 calc(25% - (var(--gap-s) * 3) / 4);
    }
  }
}
