div.combobox {
    display: inline-flex;
    align-items: center;
    user-select: none;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    border: 1px solid var(--border-color);
    background-color: var(--list-bg-color);
    height: 2em;
}

div.combobox-button {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    height: 100%;
    position: relative;
}

span.combobox-button-content {
    padding: 0 0.25em;
    flex: 1 1 auto;
    white-space: nowrap;
    line-height: 2em;
}

input.combobox-button-filter {
    position: absolute;
    z-index: 1;
    border: none!important;
    background-color: transparent!important;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}

div.combobox-button > span.icon {
    font-size: 100%;
    flex: 0 0 1em;
}

div.combobox-menu-entry {
    padding: 0.25em;
}

div.combobox-menu-entry-active {
    background-color: var(--list-item-bg-color-active);
    color: var(--list-item-text-color-active);
}

div.combobox-menu-entry-active:focus {
    background-color: var(--list-item-bg-color-active-hover);
    color: var(--list-item-text-color-active-hover);
}

div.combobox-menu-entry-group-header {
    display: flex;
    background-color: var(--list-section-bg-color);
    color: var(--list-section-text-color);
    font-weight: bold;
}

div.combobox-menu-entry-group-header:focus {
    background-color: var(--list-section-bg-color-hover);
}

div.combobox-menu-entry-group-header > span.icon {
    flex: 0 0 auto;
}