:host {
  position: relative;
  display: block;
  width: 100%;
}

  :host * {
    box-sizing: border-box;
  }

:host(.option-list-item--drag) {
  border-radius: var(--s-border-radius-s);
  background-color: var(--s-translucent-medium-pressed)
}

.option-list-item {
  display: inline-flex;
  position: relative;
  width: 100%;
  min-width: 15rem;
  min-height: 3rem;
  padding: var(--s-space-12) var(--s-space-16);
  border-radius: var(--s-border-radius-sm);
  align-items: center;
  background-color: transparent;
  cursor: pointer;
  gap: var(--s-space-12);
}

.option-list-item:hover:not(.option-list-item--disabled) {
    background-color: var(--s-state-hovered);
  }

.option-list-item:active:not(.option-list-item--disabled) {
    background-color: var(--s-translucent-low-pressed);
  }

.option-list-item:focus {
    outline: none;
  }

.option-list-item:focus-visible {
    background-color: var(--s-state-hovered);
    outline-color: var(--s-focus-default);
    outline-style: solid;
    outline-width: 0.125rem;
    z-index: 1;
  }

@media (min-width: 992px) and (max-width: 1439px) and (hover: hover),(min-width: 1440px) {

.option-list-item {
    min-height: 0;
    padding: var(--s-space-8) var(--s-space-12);
    gap: var(--s-space-8)
}
  }

.option-list-item--draggable .option-list-item__label-container {
    padding-right: calc(var(--s-space-16) + 1.5rem);
  }

@media (min-width: 992px) and (max-width: 1439px) and (hover: hover),(min-width: 1440px) {

.option-list-item--draggable .option-list-item__label-container {
      padding-right: calc(var(--s-space-16) + 1rem)
  }
    }

.option-list-item--dragging {
  z-index: 1;
  border-radius: var(--s-border-radius-s);
  background-color: var(--s-translucent-low-pressed);
  box-shadow: 0 0.0625rem 0.125rem rgba(25, 26, 28, 0.08),
    0 0.25rem 2rem rgba(25, 26, 28, 0.16);
}

.option-list-item--dragging:hover:not(.option-list-item--disabled) {
    background-color: var(--s-translucent-low-pressed);
  }

.option-list-item--selected .option-list-item__label {
    color: var(--s-text-highlight);
  }

.option-list-item--selected .option-list-item__icon {
    color: var(--s-icon-highlight);
  }

.option-list-item--selected .option-list-item__checkbox-box, .option-list-item--indeterminate .option-list-item__checkbox-box {
    border-color: var(--s-icon-highlight);
    color: var(--s-text-on-status);
    background-color: var(--s-icon-highlight);
  }

.option-list-item--disabled {
  cursor: default;
}

.option-list-item--disabled.option-list-item--selected .option-list-item__checkbox-box {
      background-color: var(--s-icon-disabled);
    }

.option-list-item--disabled.option-list-item--selected .option-list-item__checkbox-icon {
      color: var(--s-text-on-status);
    }

.option-list-item--disabled .option-list-item__label,
  .option-list-item--disabled .option-list-item__description {
    color: var(--s-text-disabled);
  }

.option-list-item--disabled .option-list-item__icon,
  .option-list-item--disabled .option-list-item__selection-icon,
  .option-list-item--disabled .option-list-item__checkbox-icon {
    color: var(--s-icon-disabled);
  }

.option-list-item--disabled .option-list-item__checkbox-box {
    border-color: var(--s-icon-disabled);
    background-color: var(--s-surface-overlay-default);
  }

.option-list-item--disabled.option-list-item--indeterminate .option-list-item__checkbox-box {
      border-color: var(--s-icon-disabled);
      color: var(--s-text-on-status);
      background-color: var(--s-icon-disabled);
    }

.option-list-item--disabled .option-list-item__avatar {
    filter: grayscale(100%);
  }

.option-list-item--show-avatar .option-list-item__avatar {
    display: inline-flex;
  }

.option-list-item__label-container {
  display: flex;
  flex-grow: 1;
  flex-direction: column;
  overflow: hidden;
}

.option-list-item__label-container > * {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

.option-list-item__label {
  color: var(--s-text-default);
  font-size: var(--s-font-size-base);
  font-weight: var(--s-font-weight-medium);
  line-height: var(--s-line-height-base);
  text-align: left;
}

@media (min-width: 992px) and (max-width: 1439px) and (hover: hover),(min-width: 1440px) {

.option-list-item__label {
    font-size: var(--s-font-size-sm);
    line-height: var(--s-line-height-sm)
}
  }

.option-list-item__description {
  color: var(--s-text-subdued);
  font-size: var(--s-font-size-base);
  font-weight: var(--s-font-weight-medium);
  line-height: var(--s-line-height-base);
  text-align: left;
}

@media (min-width: 992px) and (max-width: 1439px) and (hover: hover),(min-width: 1440px) {

.option-list-item__description {
    font-size: var(--s-font-size-sm);
    line-height: var(--s-line-height-sm)
}
  }

.option-list-item__avatar {
  display: none;
  flex-shrink: 0;
}

.option-list-item__icon {
  display: inline-flex;
  position: relative;
  width: 1.5rem;
  height: 1.5rem;
  flex-shrink: 0;
  color: var(--s-icon-default);
}

@media (min-width: 992px) and (max-width: 1439px) and (hover: hover),(min-width: 1440px) {

.option-list-item__icon {
    width: 1.25rem;
    height: 1.25rem
}
  }

.option-list-item__icon-badge {
  position: absolute;
  display: grid;
  bottom: 0;
  right: 0;
}

.option-list-item__selection-icon {
  display: inline-flex;
  flex-shrink: 0;
  color: var(--s-icon-highlight);
}

.option-list-item__checkbox {
  display: inline-flex;
  width: 1.5rem;
  height: 1.5rem;
  padding: var(--s-space-2);
  flex-shrink: 0;
}

@media (min-width: 992px) and (max-width: 1439px) and (hover: hover),(min-width: 1440px) {

.option-list-item__checkbox {
    width: 1.375rem;
    height: 1.375rem
}
  }

.option-list-item__checkbox-box {
  display: inline-flex;
  width: 100%;
  height: 100%;
  justify-content: center;
  align-items: center;
  border: 0.125rem solid var(--s-icon-default);
  border-radius: var(--s-border-radius-s);
}

.option-list-item__checkbox-icon {
  display: inline-flex;
}

.option-list-item__checkbox-indeterminate-icon {
  position: relative;
  width: 100%;
  height: 100%;
}

.option-list-item__checkbox-indeterminate-icon:after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0.625rem;
    height: 0.125rem;
    border-radius: 0.0625rem;
    background-color: currentColor;
    content: "";
    transform: translate3d(-50%, -50%, 0);
  }

.option-list-item__drag-handle {
  position: absolute;
  z-index: 1;
  top: 50%;
  right: var(--s-space-4);
  display: inline-flex;
  margin: 0;
  padding: 0;
  padding: var(--s-space-8);
  flex-shrink: 0;
  border: none;
  color: var(--s-icon-default);
  background-color: transparent;
  cursor: grab;
  transform: translateY(-50%);
}

.option-list-item__drag-handle:active {
    cursor: grabbing;
  }

.option-list-item__drag-handle:focus:not(:focus-visible) {
    outline: none;
  }

.option-list-item__drag-handle:focus-visible {
    outline-color: var(--s-focus-default);
  }
