.custom-tours__text-container {
  padding: 3rem 0;
  background: var(--color-gray-light);
}

@media( width >= 782px ) {
  .custom-tours__text-container {
    padding: 4rem;
  }
}

.custom-tours__custom-tours-form {
  padding: 4rem 0 8rem;
}

@media( width >= 782px ) {
  .custom-tours__custom-tours-form {
    padding: 4rem;
  }
}

.wpcf7 {
  width: 100%;

  fieldset {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    border: none;
    border-top: 1px dashed var(--color-primary-light);
    padding: 2rem 0;
  }

  h2 {
    font-weight: 400;
    font-size: 1.5rem;
    margin-bottom: 2rem;
  }

  h3 {
    font-weight: 400;
    font-size: 1.125rem;
  }

  label {
    font-weight: 500;
    font-size: .875rem;
  }

  .wpcf7-checkbox {
    display: flex;
    flex-direction: column;
    gap: .9375rem;

    input[type="checkbox"] {
      width: 1.5625rem;
      height: 1.5625rem;
      position: relative;
      appearance: none;
      -webkit-appearance: none;
      outline: none;
      border: 1px solid var(--color-neutral-dark);
      border-radius: 50%;
      cursor: pointer;
      background-color: #fff;
      transition: all 0.3s ease;
      flex-shrink: 0;
    }
  
    input[type="checkbox"] {
      border-radius: 0;
    }
  
    input[type="checkbox"]:checked::after {
      content: '✔';
      display: block;
      font-size: 1rem;
      color: var(--color-blue-light);
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
    }

    .wpcf7-list-item {
      margin-left: 0;
      
      label {
        display: flex;
        align-items: center;
        gap: .625rem;
      }
      
      span {
        cursor: pointer;
        user-select: none;
      }
    }

    .wpcf7-list-item-label {
      font-weight: 500;
      font-size: .9375rem;
    } 
  }

  .custom-tours__number-of-travelers-fields {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;

    label {
      display: flex;
      flex-direction: column;
      gap: .75rem;
    }

  }

  .custom-tours__preferred-dates > p {
    display: flex;
    flex-direction: column;
    width: 100%;

    label {
      display: flex;
      flex-direction: column;
      gap: .75rem;
      width: 50%;
    }
  }

  input[type=text],
  input[type=number],
  input[type=date],
  input[type=email] {
    width: 100%;
    height: 44px;
    font-size: 1rem;
    border: 1px solid var(--color-gray-dark);
    padding: 0 .5rem; 
  }

  .custom-tours__specific-requirements-content {

    .custom-tours__specific-requirements-top-text {
      font-size: 0.875rem;
      margin-bottom: .75rem;
    }

    textarea {
      width: 100%;
      height: 70px;
    }
  }

  .custom-tours__contact-details-fields {
    display: flex;
    width: 100%;
    flex-direction: column;
    gap: 1.25rem;

    .custom-tours__full-name {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      gap: 1.25rem;
    }

    label {
      display: flex;
      flex-direction: column;
      gap: .75rem;
    }
  }

  .wpcf7-form-control.wpcf7-submit {
    font-size: 1rem;
    font-weight: 500;
  }
}

@media( width >= 782px ) {
  .wpcf7 {
    fieldset {
      flex-direction: row;
      gap: 0;
      column-gap: 2rem;
    }

    h3 {
      width: 30%;
      flex-shrink: 0;
    }

    .custom-tours__preferred-dates > p {
      flex-direction: row;
      gap: .625rem;
  
      label,
      input[type=date] {
        max-width: 218px;
      }
    }

    .custom-tours__number-of-travelers-fields {
      flex-direction: row;

      input[type=number] {
        max-width: 137px;
      }
    }

    .custom-tours__contact-details-fields {
      .custom-tours__full-name {
        flex-direction: row;
        gap: 0;
  
        p {
          width: 49%;
        }
      }
    }
  }
  .wpcf7-form-control.wpcf7-submit {
    margin-inline-start: calc(30% + 2rem);
  }
}

.wpcf7 fieldset > p,
.wpcf7 fieldset > div {
 width: 100%;
}

@media( width >= 782px ) {
  #custom-tours-submit {
    margin-block-start: 2rem;
    cursor: pointer;
  }
}