.nut-form-item {
  display: flex;

  &.error {
    &.line {
      &::before {
        border-bottom: 1px solid $form-item-error-line-color;
        transform: scaleX(1);
        transition: transform 200ms cubic-bezier(0, 0, 0.2, 1) 0ms;
      }
    }
  }

  &-label {
    font-size: $form-item-label-font-size;
    font-weight: normal;
    width: $form-item-label-width;
    margin-right: $form-item-label-margin-right;
    flex: none !important;
    display: inline-block !important;
    word-wrap: break-word;
    text-align: $form-item-label-text-align;

    .required {
      &::before {
        content: '*';
        color: $form-item-required-color;
        margin-right: $form-item-required-margin-right;
      }
    }
  }

  &-body {
    flex: 1;
    display: flex !important;
    flex-direction: column;

    &-slots {
      text-align: $form-item-body-slots-text-align;

      .nut-input {
        padding: 0;
        border: 0;
      }

      .nut-input-text {
        font-size: $form-item-body-font-size;
        text-align: $form-item-body-input-text-align;
        color: $color-title;
        width: 100%;
        outline: 0 none;
        border: 0;
        text-decoration: none;
        background: transparent;
      }

      .nut-range-container {
        min-height: 24px;
      }

      .nut-textarea {
        padding: 0 !important;

        .nut-textarea-textarea {
          font: inherit;
          text-align: $form-item-body-input-text-align;
        }
      }
    }

    &-tips {
      text-align: $form-item-tip-text-align;
      font-size: $form-item-tip-font-size;
      color: $form-item-error-message-color;
    }
  }
}
[dir='rtl'] .nut-form-item,
.nut-rtl .nut-form-item {
  &-label {
    text-align: right;
    margin-right: 0;
    margin-left: $form-item-label-margin-right;

    .required {
      &::before {
        margin-right: 0;
        margin-left: $form-item-required-margin-right;
      }
    }
  }
  &-body {
    &-slots {
      text-align: right;
      .nut-icon-ArrowRight,
      .nut-icon-ArrowLeft {
        transform: rotateY(180deg);
      }
      .nut-input-text {
        text-align: right;
      }
      .nut-textarea-textarea {
        text-align: right;
      }
    }
  }
  &-tips {
    text-align: right;
  }
}
