:host(:hover) {
  --r-select-option--background-color: var(--r-background-interactive-hovered);
}

:host(:not([aria-disabled=true]):focus) {
  outline: var(--outline, none);
  --r-select-option--background-color: var(--r-background-interactive-hovered);
  --r-select-option--border-color: var(--r-background-interactive-softest);
  --r-select-option--box-shadow: inset 0px 0px 0px 1px var(--r-border-focused-outlined, #fff), inset 0 0 0 3px var(--r-border-focused, #0071e3), inset 0 0 0 4px var(--r-border-focused-outlined, #fff);
  --r-select-option--outline: 2px solid var(--r-border-focused, #0071e3);
  --r-select-option--outline-offset: -4px;
  --r-select-option--z-index: 1;
}

:host([data-focused=true]) {
  outline: var(--outline, none);
  --r-select-option--background-color: var(--r-background-interactive-hovered);
  --r-select-option--border-color: var(--r-background-interactive-softest);
  --r-select-option--box-shadow: inset 0px 0px 0px 1px var(--r-border-focused-outlined, #fff), inset 0 0 0 3px var(--r-border-focused, #0071e3), inset 0 0 0 4px var(--r-border-focused-outlined, #fff);
  --r-select-option--outline: 2px solid var(--r-border-focused, #0071e3);
  --r-select-option--outline-offset: -4px;
}

:host(:not([aria-disabled=true]):active) {
  --r-select-option--background-color: var(--r-background-interactive-pressed);
}

:host([aria-disabled=true]),
:host([aria-disabled=true]:hover),
:host([aria-disabled=true]:focus) {
  --r-select-option--opacity: 0.4;
  --r-select-option--background-color: transparent;
}

:host([aria-selected=true]) {
  --r-select-option--font-weight: 600;
  --r-select-option--background-color: var(--r-background-interactive-hovered);
}

:host([aria-hidden=true]) {
  --r-select-option--display: none;
}

:host([icon-position=end]) {
  --r-select-option--flex-direction: row-reverse;
  --r-select-option--icon--margin-left: 0.75em;
  --r-select-option--icon--margin-right: 0;
}

.r-select-option {
  box-sizing: var(--r-select-option--box-sizing);
  position: var(--r-select-option--position);
  display: var(--r-select-option--display, flex);
  flex-direction: var(--r-select-option--flex-direction, row);
  min-height: var(--r-select-option--min-height, 1.125em);
  width: var(--r-select-option--width, auto);
  font-size: var(--r-select-option--font-size, 1rem);
  line-height: var(--r-select-option--line-height, 1.2);
  font-weight: var(--r-select-option--font-weight, normal);
  padding-top: var(--r-select-option--padding-top, 0.75em);
  padding-right: var(--r-select-option--padding-right, 0.75em);
  padding-bottom: var(--r-select-option--padding-bottom, 0.75em);
  padding-left: var(--r-select-option--padding-left, 0.75em);
  align-items: var(--r-select-option--align-items, center);
  color: var(--r-select-option--color, inherit);
  background-color: var(--r-select-option--background-color, rgba(0, 0, 0, 0));
  border-color: var(--r-select-option--border-color, rgba(0, 0, 0, 0));
  border-radius: var(--r-select-option--border-radius, 0);
  border-width: var(--r-select-option--border-width, 1px);
  border-style: var(--r-select-option--border-style, solid);
  box-shadow: var(--r-select-option--box-shadow, none);
  outline: var(--r-select-option--outline, none);
  outline-offset: var(--r-select-option--outline-offset, 0);
  transform: var(--r-select-option--transform, none);
  z-index: var(--r-select-option--z-index, 0);
  opacity: var(--r-select-option--opacity, 1);
}
.r-select-option--icon {
  display: var(--r-select-option--icon--display, inline-flex);
  align-items: var(--r-select-option--icon--align-items, center);
  justify-content: var(--r-select-option--icon--justify-content, center);
  margin-top: var(--r-select-option--icon--margin-top, 0.05em);
  margin-left: var(--r-select-option--icon--margin-left, 0);
  margin-right: var(--r-select-option--icon--margin-right, 0.75em);
}
.r-select-option--icon svg {
  display: var(--r-select-option--icon--svg--display, inline-flex);
}
.r-select-option--label {
  max-width: var(--r-select-option--label--max-width, 100%);
  text-overflow: var(--r-select-option--label--text-overflow, ellipsis);
  white-space: var(--r-select-option--label--white-space, normal);
}
