.inp-base, textarea, select {
  @extend %form-element;
  @include input-placeholder {
    color: $input-placeholder-color;
  }
}

textarea {
  height: $textarea-height;
  resize: vertical;
  padding: $input-padding $input-padding;
}

input[type=radio], input[type=checkbox] {
  height: $input-checkbox-size;
  opacity: 0;
  width: $input-checkbox-size;
}

.switch-lbl {
  cursor: pointer;
}

.switch-wrap {
  background-color: #fff;
  border: 2px solid $input-brd-color;
  display: inline-block;
  height: $input-checkbox-size;
  margin-right: 5px;
  position: relative;
  vertical-align: middle;
  width: $input-checkbox-size;
  .switch {
    opacity: 0;
  }
  input[type=radio], input[type=checkbox] {
    display: none;
    &:checked + .switch {
      opacity: 1;
    }
  }
  &.__radio {
    border-radius: 50%;
    .switch {
      @include transition(all .3s ease);
      background-color: $primary-color;
      border-radius: 50%;
      position: absolute;
      top: 6px;
      right: 6px;
      bottom: 6px;
      left: 6px;
    }
  }
  &.__checkbox {
    border-radius: $border-radius-base;
    .switch {
      @include icon($icons, checkbox);
      @extend %abs-center;
    }
  }
}

.file-upload {
  @extend %form-element;
  cursor: pointer;
  line-height: ($input-height - 4px);
  overflow: hidden;
  position: relative;
  text-overflow: ellipsis;
  white-space: nowrap;
  &.focus {
    border-color: $input-focus-brd-color;
  }
  .file-upload_mark {
    color: $text-color;
    &.__ac {
      
    }
  }
  input {
    cursor: pointer;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
  }
}

.form-btns {
  @include display-flex;
  @include justify-content(space-between);
  @include align-items(center);
  margin-top: $gutter*2;
  .btn {
    width: auto;
  }
}

.form-base {
  .grid {
    @include grid-gutters(20px);
    @include align-items(center);
  }
  .form-base_lbl {
    color: $base-color-light;
    font-weight: 600;
  }
  .form-base_inp {
    @include flex(none);
    width: 400px;
    .switch-lbl {
      margin-right: 20px;
    }
  }
  .form-base_bttns {
    text-align: right;
  }
  &.__simple {
    .inp-base {
      margin-bottom: 20px;
    }
    .form-btns {
      margin-top: 0;
    }
    .btn {
      min-width: 150px;
    }
  }
}