section.form {
  max-width: var(--max-section-grid-width);
  margin: 0 auto;

  .content {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-lg);
    padding: var(--section-padding-desktop);


    @media screen and (max-width: 48rem) {
      padding: var(--section-padding-mobile);
    }

    .paragraph {
      font-family: var(--font-family-default);
    }

    h1.heading-xxl {
      letter-spacing: normal;
    }

    .form-breadcrumbs-container {
      .breadcrumb-item {
        color: var(--black);
      }
    }

    form {
      display: flex;
      flex-direction: column;
      gap: var(--spacing-md);

      .personal-info-wrapper,
      .address-info-wrapper {
        display: grid;
        grid-template-areas:
          'head head'
          'field1 field2'
          'field3 field4'
          'field5 field6';
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto auto;
        gap: var(--spacing-md);

        @media screen and (max-width: 48rem) {
          grid-template-areas:
            'head'
            'field1'
            'field2'
            'field3'
            'field4'
            'field5'
            'field6';
          grid-template-columns: 1fr;
        }
      }

      .consent-info-wrapper {
        display: grid;
        grid-template-areas:
          'head'
          'sub-head'
          'field1'
          'field2';
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        gap: var(--spacing-md);
        max-width: 47rem;

        .privacy-head {
          all: unset;
          color: var(--Grey-Grey-5, #212121);
          font-family: var(--font-family-default);
          font-size: 0.875rem;
          font-style: normal;
          font-weight: 400;
          line-height: 1.125rem;

          span.bold {
            font-weight: 600;
          }
        }

        .privacy-sub-head {
          color: var(--Grey-Black, #000);
          font-family: var(--font-family-default);
          font-size: 0.875rem;
          font-style: normal;
          font-weight: 500;
          line-height: 1.125rem;
        }

        p {
          all: unset;

          .wpcf7-list-item {
            cursor: pointer;
            margin: unset;

            label {
              cursor: pointer;
              display: flex;
              gap: 0.75rem;
            }

            .wpcf7-list-item-label {
              text-wrap: pretty;
              flex-basis: calc(100% - 1.5rem);
            }

            input[type='checkbox'] {
              transition: all 0.2s ease-in-out;
              width: 1.5rem;
              aspect-ratio: 1 / 1;
              cursor: pointer;
              align-self: flex-start;
              margin-block-start: var(--spacing-xxs);
              accent-color: #4a5548;
            }
          }
        }
      }

      .wpcf7-not-valid-tip {
        font-family: var(--font-family-default);
        font-size: 0.75rem;
        font-weight: 600;
        line-height: 1.125rem;
        letter-spacing: normal;
        text-transform: uppercase;
        margin-top: 0.5rem;
        color: #d32f2f;
        display: none;
      }

      .wpcf7-not-valid {
        border-bottom: 1px solid #d32f2f !important;
      }

      h3 {
        grid-area: head;
        color: var(--Grey-Black, #000);
        font-family: var(--font-family-default);
        font-size: 0.875rem;
        font-weight: 400;
        line-height: 0.8125rem;
        letter-spacing: 0.1rem;
        text-transform: uppercase;
        margin-bottom: 0.5rem;
      }

      p {
        position: relative;

        input:not([type='checkbox']):not(.wpcf7-submit),
        select,
        textarea {
          transition: all 0.2s ease-in-out;
          width: 100%;
          padding: 0.75rem;
          border: none;
          border-bottom: 1px solid #bbbBBB;
          background-color: transparent;
          height: 3rem;
          outline: none;
          margin-top: 0.25rem;
          font-family: var(--font-family-default);
          font-size: var(--font-size-paragraph-md);

          &:hover {
            border: 2px solid var(--black);
          }

          &:focus {
            border: 2px solid var(--black);
          }

          &::placeholder {
            color: var(--Grey-Grey-4, #757575);
            font-family: var(--font-family-default);
            font-size: 0.75rem;
            font-weight: 400;
            line-height: 0.5625rem;
            letter-spacing: 0.125rem;
            text-transform: uppercase;
          }
        }

        input:not([type='checkbox']):not(.wpcf7-submit),
        textarea {
          &[aria-invalid='false']:not(:placeholder-shown) {
            border: 2px solid yellowgreen;
          }
        }

        select {
          font-size: 0.625rem;
          color: var(--Grey-Grey-4, #757575);
          font-family: var(--font-family-default);
          font-size: 0.75rem;
          font-style: normal;
          font-weight: 400;
          line-height: 0.5625rem;
          letter-spacing: 0.125rem;
          text-transform: uppercase;
          cursor: pointer;

          &:has(option[value]:not([value='']):checked) {
            color: var(--black);
            font-size: var(--font-size-paragraph-md);
            letter-spacing: normal;
            text-transform: none;
            border: 2px solid yellowgreen;
          }

          option {
            color: var(--black);
            font-size: 0.875rem;
            letter-spacing: normal;
            text-transform: none;
          }
        }

        textarea {
          height: auto;
          max-height: 9rem;
        }

        label {
          display: block;
          font-size: 0.875rem;
          color: var(--black);
          margin-bottom: 0.25rem;
          font-weight: 500;
        }

        .wpcf7-submit {
          align-items: center;
          backdrop-filter: blur(0.25rem);
          border: 1px solid;
          border-radius: var(--button-outline-radius);
          display: inline-flex;
          font-family: var(--font-family-default);
          font-size: var(--font-size-label-desktop-xxl);
          font-weight: 500;
          gap: 0.625rem;
          justify-content: center;
          line-height: var(--line-height-label-desktop-xxl);
          margin: unset;
          padding: var(--button-padding);
          text-decoration: none;
          transition: all 0.2s ease-in-out;
          width: max-content;
          color: var(--black);
          cursor: pointer;
          float: right;

          &:disabled {
            background-color: #e0e0e0;
            color: #757575;
            cursor: not-allowed;
            opacity: 0.7;
          }

          &:focus-visible {
            outline: 2px solid #4a5548;
            outline-offset: 2px;
          }

          @media screen and (max-width: 64rem) {
            font-size: var(--font-size-label-tablet-xxl);
            line-height: var(--line-height-label-tablet-xxl);
          }

          @media screen and (max-width: 48rem) {
            font-size: var(--font-size-label-mobile-xxxl);
            line-height: var(--line-height-label-mobile-xxxl);
            width: 100%;
            float: unset;
          }

          &:hover:not(:disabled) {
            backdrop-filter: blur(0.5rem);
            background-color: inherit;
            color: inherit;
          }
        }
      }

      input[type='checkbox']:focus-visible {
        outline: 2px solid #4a5548;
        outline-offset: 2px;
      }

      .wpcf7-validates-as-required label:after {
        content: '*';
        color: #d32f2f;
        margin-left: 0.25rem;
      }

      .wpcf7-response-output {
        margin: 2rem 0 !important;
        padding: 1rem !important;
        font-family: var(--font-family-default);
        font-size: 0.875rem;
        border-radius: 4px;

        &.wpcf7-validation-errors,
        &.wpcf7-spam-blocked {
          background-color: #ffebed;
          border: 1px solid #d32f2f !important;
          color: #d32f2f;
        }

        &.wpcf7-mail-sent-ok {
          background-color: #e8f5e9;
          border: 1px solid #4caf50 !important;
          color: #2e7d32;
        }
      }
    }
  }
}

.reason-info-wrapper {
  >p+p {
    margin-block-start: var(--spacing-md);
  }
}

@media screen and (max-width: 48rem) {
  section.form .content form .wpcf7-submit {
    margin-top: 1rem;
  }

  section.form .content form .consent-info-wrapper p {
    margin-bottom: 1.5rem;
  }
}