:host {
  .select {
    width: 100%;
    position: relative;
    display: inline-flex;
    flex-direction: column;

    .select__inner {
      display: flex;
      flex: 1;
      align-items: center;
      overflow-x: hidden;
      cursor: pointer;
      outline: none;
      border: 1px solid var(--input-border-color);
      border-radius: var(--input-border-radius);
      padding-right: var(--space-inner-l);
      background: var(--input-bg-color);

      &:hover {
        border-color: var(--input-hover-border-color);
        background: var(--input-hover-bg-color);
      }

      &:focus,
      &:focus-visible,
      &:focus-within {
        border-color: var(--input-focus-border-color);
        box-shadow: var(--input-focus-inner-shadow);
        background: var(--input-focus-bg-color);
      }

      .select__logo {
        display: flex;
        align-items: center;
        padding-left: var(--space-inline-l);
        margin-right: calc(var(--space-inline-m) * -1);

        img {
          width: var(--size-m);
          height: var(--size-m);
        }
      }

      .select__value {
        width: 100%;
        z-index: 1;

        us-input {
          pointer-events: none;
        }
      }

      .select__value.select__value_filterable {
        position: absolute;
        overflow: hidden;
        box-sizing: border-box;
        max-width: calc(100% - 60px);
        line-height: normal;
        text-overflow: ellipsis;
        white-space: nowrap;
      }

      .select__tags {
        display: flex;
        flex-wrap: wrap;
        gap: 4px;
        padding: calc(var(--space-inner-xs) - 1px) calc(var(--space-inner-l));

        .tag {
          position: relative;
          display: inline-flex;
          align-items: center;
          justify-content: center;
          vertical-align: middle;
          width: min-content;
          padding: 2px var(--space-inner-m);
          font: var(--text-p-m-light);
          color: var(--color-neutral-1000);
          background-color: var(--color-neutral-200);
          border-radius: 28px;

          &:hover {
            background-color: #d0d6dd;
          }

          span {
            white-space: nowrap;
          }

          svg.tag__icon {
            margin-left: 5px;
            cursor: pointer;
            width: 16px;
            height: 16px;
          }
        }
      }

      .select__input {
        width: calc(100% - 20px);
        outline: none;
        background: transparent;

        &:read-only {
          cursor: default;
        }
      }

      .select__arrow {
        margin-left: auto;
      }
    }

    &.select_error {
      .select__inner,
      .select__inner:hover {
        border-color: var(--input-error-border-color);
        box-shadow: var(--input-error-inner-shadow);
        background: var(--input-error-bg-color);
      }

      .select_errors {
        display: flex;
        margin-top: var(--space-inline-s);

        .error-icon {
          margin-right: 6px;
        }
      }
    }

    .select__label {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: var(--space-inline-s);
      font: var(--input-label-font);
      color: var(--color-neutral-900);
      background: transparent;

      .label-text {
        padding-top: var(--space-inline-s);
      }

      .info {
        margin-left: auto;
      }

      &.label_disabled {
        color: var(--color-neutral-700);
      }

      &.label_hide {
        display: none;
      }

      .label-icon {
        margin-right: var(--space-inline-s);
      }
    }

    .select__wrapper {
      position: relative;
    }

    &_disabled {
      pointer-events: none;
      .select__inner {
        border-color: transparent;
        background: var(--color-neutral-200) !important;
        &:focus,
        &:focus-visible,
        &:focus-within,
        &:hover {
          border-color: transparent;
          box-shadow: none;
        }
      }
      .select__arrow {
        color: var(--color-neutral-600);
      }
      .select__inner .select__value {
        color: var(--color-neutral-700);
      }
    }
  }
}
