/* TODO: integrate this logic in the proper structure */
nv-fieldslider .slider-container .track-container:has(.thumb:hover) .track-range {
  background: var(--components-slider-track-filled-hover);
}
nv-fieldslider .slider-container .track-container:has(.thumb:hover) .thumb {
  border-color: var(--components-slider-track-filled-hover);
}
nv-fieldslider .slider-container .track-container:has(.thumb:focus) .track-range {
  background: var(--components-slider-track-filled-focus);
}
nv-fieldslider .slider-container .track-container:has(.thumb:focus) .thumb {
  border-color: var(--components-slider-track-filled-focus);
}
nv-fieldslider[error] .slider-container .track-container .track .track-range {
  background: var(--components-slider-track-filled-error);
}
nv-fieldslider[error] .slider-container .track-container .track .thumb {
  border-color: var(--components-slider-track-filled-error);
}
nv-fieldslider[error] .slider-container .track-container .track .thumb:hover {
  border-color: var(--components-slider-track-filled-error);
  outline: calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);
  outline-offset: calc(var(--focus-outline-offset) * 1);
  background-color: var(--components-slider-handler-background-error);
}
nv-fieldslider[error] .slider-container .track-container .track .thumb:focus {
  border-color: var(--components-slider-track-filled-error);
  outline: calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);
  outline-offset: calc(var(--focus-outline-offset) * 1);
  background-color: var(--components-slider-track-filled-error);
}
nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .track-range {
  background: var(--components-slider-track-filled-error);
}
nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .thumb {
  border-color: var(--components-slider-track-filled-error);
}

nv-fielddropdownitem {
  display: flex;
  gap: var(--list-select-gap-y);
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  background-color: var(--components-list-select-option-background-default);
  padding: var(--list-select-option-padding);
  font-weight: var(--menu-contextual-item-font-weight);
  font-size: var(--list-select-font-size);
  line-height: var(--list-select-line-height);
  color: var(--components-list-select-option-content-default);
  border-radius: var(--list-select-option-radius);
  transition: background-color 150ms ease-out, color 150ms ease-out;
  cursor: pointer;
}
nv-fielddropdownitem:not(:first-of-type) {
  margin-top: var(--list-select-gap-y);
}
nv-fielddropdownitem:hover, nv-fielddropdownitem:focus, nv-fielddropdownitem:focus-within {
  background-color: var(--components-list-select-option-background-hover);
  color: var(--components-list-select-option-content-hover);
}
nv-fielddropdownitem:checked {
  background-color: var(--components-list-select-option-background-active);
  color: var(--components-list-select-option-content-active);
}
nv-fielddropdownitem:checked::after {
  order: 1;
  margin-left: auto;
  content: "";
  display: inline-block;
  width: var(--spacing-5);
  height: var(--spacing-5);
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' id='nvicon_check' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6px' d='m5 12 5 5L20 7' vector-effect='non-scaling-stroke'%3E%3C/path%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' id='nvicon_check' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6px' d='m5 12 5 5L20 7' vector-effect='non-scaling-stroke'%3E%3C/path%3E%3C/svg%3E");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}
nv-fielddropdownitem::checkmark {
  display: none;
}
nv-fielddropdownitem:disabled, nv-fielddropdownitem:checked:disabled {
  color: var(--components-list-select-option-content-disabled);
  background-color: var(--components-list-select-option-background-default);
}
nv-fielddropdownitem[disabled]:not([disabled=false]) {
  cursor: not-allowed;
  background-color: unset;
  color: var(--components-menu-contextual-item-content-disabled);
}
nv-fielddropdownitem .text-wrapper {
  display: flex;
  flex-grow: 1;
  align-items: center;
  justify-content: space-between;
}
nv-fielddropdownitem [data-scope=text] {
  flex-grow: 1;
  word-break: break-word;
  overflow-wrap: break-word;
  padding-right: var(--spacing-5);
}
nv-fielddropdownitem nv-icon[data-scope=selected] {
  color: var(--components-list-dropdown-item-label-default);
  align-self: center;
  margin-left: auto;
  position: absolute;
  right: var(--list-dropdown-item-padding-y);
}