.custom-list {
  gap: 20px;
  display: flex;
  flex-direction: column;

  &__item {
    display: flex;
    flex-direction: column;
    gap: 5px;
    width: 100%;
  }

  &__line.label {
    width: 100%;

    @media (max-width: 769px) {
      width: 100%;
      max-width: 100%;
    }
  }

  &__line {
    flex: 1;
  }
}

.custom-form-field {
  margin-bottom: 15px;
  position: relative;

  &:last-of-type {
    margin-bottom: 0;
  }

  &__label {
    display: block;
    margin-bottom: 5px;
  }

  &__radio {
    margin-bottom: 10px;

    :last-of-type {
      margin-bottom: 0;
    }
  }

  &__error {
    display: block;
  }

  &__hint {

  }

  &__invalid {

  }

  &__clearance {
    position: absolute;
    right: 13px;
    height: auto !important;
  }

  &__with-clearance {
    padding-right: 50px;
  }

  &__upload-container {
    display: flex;
    flex-direction: column;
  }

  &__upload-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  &__upload-button {
    position: relative;
  }

  &__uploader {
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0;
    left: 0;
    top: 0;

    .p-fileupload-choose {
      width: 100% !important;
      height: 100%;
    }
  }

  &__selected-files {
    height: 100%;
    align-self: center;
    margin: 20px 0;
    padding: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 15px;
  }

  &__selected-file {
    list-style: none;
    display: flex;
    gap: 10px;
    overflow-wrap: anywhere;
  }

  &__static-files {

  }

  .p-multiselect,
  .p-dropdown,
  .p-calendar,
  .p-fileupload,
  .p-inputnumber,
  .p-password,
  .p-inputtext {
    width: 100%;
  }

  .p-fileupload {
    white-space: nowrap;
    text-overflow: ellipsis;
    .p-fileupload-choose-selected {
      max-width: 100%;
    }
  }
}

.custom-form-array {
  &__title {

  }

  &__row {
    position: relative;
    padding: 15px 0 10px;

    &::before {
      content: '';
      position: absolute;
      top: 0;
      left: 15px;
      width: 95.5%;
      height: 1px;
      background-color: rgba(0,0,0,.12);

      @media (max-width: 767px) {
        content: none;
      }
    }
  }

  &__row-tools {
    width: auto;
  }

  &__add-row {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  &__row-inputs {
    width: 100%;
    flex: 1;
  }
}
