.form {
  .container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 40px;

    &:has(.title_left, .title_right) {
      @media (min-width: 992px) {
        align-items: start;
        flex-direction: row;
      }

      .infos_company {
        a {
          display: flex;
          flex-direction: column;
          align-items: center;
          text-align: center;
          gap: 10px;

          &:before {
            margin: 0px;
          }
        }
      }
    }

    /* &:has(.form__contener.page_contact) { */
    .title_left {
      .map__container {
        width: 100%;
        height: 360px;
        border-radius: var(--border-radius);
      }

      .footer__contact {
        display: flex;
        flex-direction: column;
        gap: 16px;

        >p {
          margin: 40px 0 0 0;
          font-size: 16px;
          font-weight: var(--bold);
          font-family: var(--main-font);
          color: var(--dark-blue);
          text-transform: uppercase;
        }

        .linkedin {
          display: flex;
          align-items: center;
          gap: 4px;

          p {
            display: none !important;
          }

          .socials {
            a {
              gap: 20px !important;

              &:before {
                margin: 0 !important;
              }

              &[data-social="youtube"] {
                &:before {
                  bottom: -6px !important;
                  position: relative !important;
                }
              }
            }
          }
        }

        a {
          line-height: 1.3;
          display: flex;
          font-size: var(--p-size);
          width: fit-content;
          gap: 10px;
          position: relative;
          color: var(--light-blue) !important;

          &:before {
            content: '';
            width: 19px;
            height: 19px;
            display: inline-block;
            margin-right: 10px;
            background-position: center;
            background-size: contain;
            background-repeat: no-repeat;
            flex-shrink: 0;
          }

          &:not(.adresse) {
            &:after {
              content: '';
              height: 1px;
              width: 0;
              background: var(--orange);
              transition: width 0.3s ease;
              position: absolute;
              bottom: -5px;
              right: 0;
            }
          }

          &:hover {
            color: var(--orange) !important;

            p {
              color: var(--orange) !important;
            }

            &:after {
              width: calc(100% - 39px);
              transition: width 0.3s ease;
            }
          }

          &.adresse {
            width: fit-content;

            &:before {
              background-image: url(../../img/icon_address.svg);
            }
          }

          &.phone {
            &:before {
              background-image: url(../../img/icon_phone.svg);
            }
          }

          &.mail {
            &:before {
              background-image: url(../../img/icon_mail.svg);
            }
          }
        }
      }
    }

    /* } */

    &:not(:has(.title_left, .title_right)) {
      .section__title {
        text-align: center;
      }
    }

    .section__title {
      margin-bottom: 0 !important;
    }

    .form__contener {
      @media (min-width: 992px) {
        margin: auto;
        max-width: 450px;

        &.width_expand {
          max-width: 880px;
        }
      }

      @media (min-width: 1200px) {
        max-width: 600px;
      }
    }

    /* &:has(.form__contener.page_contact) { */
    .section__title {
      text-align: left;

      @media (min-width: 992px) {
        max-width: 520px;
      }

      h1 {
        @media (min-width: 992px) {
          font-size: 56px !important;
          line-height: 56px !important;
        }

        p {
          font-size: 16px !important;
        }
      }
    }

    /* } */

    .gform_wrapper>form {
      background: var(--white);
      padding: 35px 35px 10px 35px;
      border-radius: var(--border-radius);
      box-shadow: 0 4px 24px rgba(0, 0, 0, 0.16);

      .gform_fields {
        @media (min-width: 992px) {
          gap: 30px;
        }

        input:not(.gfield-choice-input, [type="checkbox"], [type="submit"], .gform-text-input-reset.ginput_total),
        textarea,
        select {
          border-bottom: 1px solid rgba(15, 57, 143, 0.33) !important;
          box-shadow: none;
          border: 0px;
          padding: 0;
          border-radius: 0px;
          width: 100% !important;

          &::placeholder {
            color: rgba(15, 57, 143, 0.33) !important;
            font-size: 18px !important;
          }
        }

        select {
          color: rgba(15, 57, 143, 0.33) !important;
          font-size: 16px !important;
        }

        .gfield {
          .gfield_description {
            font-size: 12px;
            font-style: italic;
            font-weight: var(--regular);
            font-family: var(--secondary-font);
            opacity: 0.33;
          }

          &.gfield--type-fileupload {
            .gform_drop_area {
              &:before {
                display: none !important;
              }

              .gform_button_select_files {
                background: transparent !important;
                border: 1px solid var(--orange) !important;
                box-shadow: none !important;
                border-radius: var(--border-radius) !important;
                color: var(--orange) !important;
                transition: var(--transition) !important;

                &:hover {
                  background: var(--orange) !important;
                  color: var(--white) !important;
                }
              }
            }
          }

          &.gfield--type-checkbox {
            &:not(.gfield--type-consent) {
              margin-top: -20px;

              legend {
                display: none;
              }

              label {
                font-size: 12px !important;
                color: rgba(15, 57, 143, 0.33) !important;
                font-family: var(--secondary-font) !important;
                padding: 0 0 0px 10px !important;
                font-weight: var(--regular) !important;
                line-height: 16px !important;
              }
            }
          }

          &.rgpd_contact {
            legend {
              display: none !important;
            }
          }

          &.gfield--type-html,
          &.gfield--type-total {
            background: var(--light-blue);
            max-width: 480px;
            padding: 25px 25px 30px 25px;
            text-align: center;
            border-radius: var(--border-radius);
            margin-bottom: 30px;

            &>a {
              display: flex;
              flex-direction: column;
              align-items: center;

              .gform-text-input-reset.ginput_total {
                font-size: 40px !important;
                pointer-events: none !important;
              }

              .gfield_description {
                font-family: var(--secondary-font);
                font-style: italic;
                line-height: 20px;
                font-size: 16px;
                opacity: 1 !important;
              }
            }

            >* {
              color: var(--white);
              margin: 0;
            }

            a {
              color: var(--white);
              text-align: center;

              & * {
                color: var(--white);
                text-align: center;
              }
            }

            span {
              font-size: 20px !important;
              font-weight: var(--regular) !important;
            }
          }

          input {
            &:hover {
              cursor: pointer;
            }

            &[type="radio"],
            &[type="checkbox"] {
              box-shadow: none;
              border: 1px solid rgba(15, 57, 143, 0.33);

              &:checked {
                background: var(--dark);

                &:before {
                  content: '';
                  background-color: var(--light-blue);
                  width: 10px;
                  height: 10px;
                }
              }

              &:focus,
              &:focus-visible {
                outline: 1px solid var(--light-blue);
              }
            }
          }

          &.gfield--type-submit {
            .gform-button {
              padding: 15px 20px !important;
              text-decoration: none !important;
              display: flex !important;
              width: fit-content !important;
              color: var(--white) !important;
              transition: var(--transition) !important;
              gap: 6px !important;
              align-items: center !important;
              border-radius: var(--border-radius) !important;
              font-size: var(--p-size) !important;
              font-weight: var(--medium) !important;
              background-color: var(--orange) !important;
              font-family: var(--secondary-font) !important;
              line-height: 1.2 !important;
              margin-left: auto !important;

              &:hover {
                background-color: var(--dark-blue) !important;
                color: var(--white) !important;
              }
            }
          }

          &:not(.gfield--type-consent, .gfield--type-radio) {

            label,
            legend {
              font-size: 18px;
              font-weight: var(--bold);
              line-height: 24px;
              min-height: 27px;
              margin: 0 !important;
            }
          }

          &.gfield--type-consent,
          &.gfield--type-radio {
            legend {
              font-size: 18px;
              font-weight: var(--bold);
              line-height: 24px;
            }
          }

          &.hidden_tt {
            display: none !important;
          }

          &.hidden_dosilabel {
            &>legend {
              display: none !important;
            }
          }

          &.gfield--type-radio {
            label {
              font-size: 16px;
              line-height: 20px;
              font-family: var(--secondary-font);
              color: rgba(15, 57, 143, 0.33);
            }
          }

          label,
          legend {
            .gfield_required {
              color: var(--orange);
              font-size: 18px;
            }
          }

          @media (min-width: 992px) {
            .gfield_radio {
              flex-direction: row;

              .gchoice {
                width: fit-content;
                display: flex;
                align-items: center;

                &>label {
                  display: flex;
                  gap: 5px;
                  padding-left: 5px;
                }
              }
            }
          }
        }
      }

      .gform_footer {
        .gform_button {
          padding: 10px 16px !important;
          text-decoration: none !important;
          width: fit-content !important;
          border-radius: var(--border-radius-cta) !important;
          color: var(--white) !important;
          transition: var(--transition) !important;
          gap: 6px !important;
          min-height: 40px !important;
          align-items: center !important;
          font-size: var(--p-size) !important;
          font-weight: var(--regular) !important;
          border: 1px solid transparent !important;
          background-color: var(--light-blue) !important;

          &:after {
            content: '';
            background-image: url(../../img/send.svg);
            display: inline-block;
            width: 14px;
            height: 14px;
            background-size: contain;
            background-repeat: no-repeat;
            background-position: center;
          }

          &:hover {
            background-color: var(--blue) !important;
            border: 1px solid var(--blue) !important;
            color: var(--white) !important;
          }
        }
      }
    }

    /* Reset form styles gravity */
    .gform_required_legend,
    .hidden_label label,
    fieldset.hidden_label legend,
    .gform_wrapper.gravity-theme .gf_progressbar_percentagepercentbar_100,
    .gform_wrapper.gravity-theme .gf_progressbar_percentage span,
    .gform_validation_container,
    .gform_wrapper.gravity-theme .gform_validation_container,
    body .gform_wrapper.gravity-theme .gform_body .gform_fields .gfield.gform_validation_container,
    body .gform_wrapper.gravity-theme .gform_fields .gfield.gform_validation_container,
    body .gform_wrapper.gravity-theme .gform_validation_container,
    .gform_wrapper .gform-body .gfield--type-number .ginput_container_number .gfield_description.instruction,
    .hidden_label label,
    .gform-theme--framework .gfield--type-product .ginput_container_singleproduct .ginput_product_price_wrapper,
    .gchoice .gform-field-label .ginput_price {
      display: none;
    }
  }
}