.make-input-intent(@colors) {
  .cr-ct-input__input {
    border: 1px solid @colors[color-30];
    color: @colors[color-10];
    &:focus {
      border-color: @colors[color-30];
      box-shadow: 0 0 0 2px @colors[color-40];
    }

    &::placeholder {
      color: @colors[color-30];
    }
  }

  .cr-ct-input__label {
    color: @colors[color-10];
  }
}

.cr-ct-input {
  display: flex;
  flex-direction: column;
  position: relative;
  min-width: 250px;
  max-width: 100%;

  &__input {
    border: 1px solid @theme-secondary-base-color;
    border-radius: 0;
    padding: 14px 20px;
    font-size: 14px;
    font-weight: 500;
    line-height: 18px;
    color: #1C2127;
    transition: all 0.2s ease-in-out;
    outline: none;
    width: 100%;
    background-color: transparent;

    &:focus {
      border-color: @theme-secondary-base-color;
      box-shadow: 0 0 0 2px  @theme-secondary-base-color;
    }

    &::placeholder {
      color: #404854;
      font-weight: 400;
    }
  }

  &--font-variant-1 {
    .cr-ct-input__input, .cr-ct-input__label {
      font-family: @theme-font-variants[@variant-1][body-font-family];
    }
  }

  &--font-variant-2 {
    .cr-ct-input__input, .cr-ct-input__label {
      font-family: @theme-font-variants[@variant-2][body-font-family];
    }
  }

  &--font-variant-3 {
    .cr-ct-input__input, .cr-ct-input__label {
      font-family: @theme-font-variants[@variant-3][body-font-family];
    }
  }

  &--theme-1 {
    .make-input-intent(@themes[@theme-1][@colors])
  }

  &--theme-2 {
    .make-input-intent(@themes[@theme-2][@colors])
  }

  &--theme-3 {
    .make-input-intent(@themes[@theme-3][@colors])
  }

  &--theme-4 {
    .make-input-intent(@themes[@theme-4][@colors])
  }

  &--theme-5 {
    .make-input-intent(@themes[@theme-5][@colors])
  }

  &--theme-6 {
    .make-input-intent(@themes[@theme-6][@colors])
  }

  &__label {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
    color: #1A1818;
    margin-bottom: 4px;
  }

  &--disabled {
    cursor: not-allowed;
  }

  &--error {
    .cr-ct-input__input {
      border-color: @theme-error-color-50;

      &:focus {
        border-color: @theme-error-color-50;
        box-shadow: 0 0 0 2px @theme-error-color-50;
      }

      &::placeholder {
        color: @theme-error-color-50;
      }
    }
  }

  &__error {
    font-size: 12px;
    font-weight: 500;
    line-height: 1.5;
    color: @theme-error-color-35;
    margin-top: 4px;
  }
}