/* Shared taxonomy picker — typeahead + chips + modal tree. */

.taxonomy-picker__chips {
    display: flex;
    flex-wrap: wrap;
    gap: .375rem;
    margin-bottom: .5rem;
    min-height: 0;
}

.taxonomy-picker__chip {
    display: inline-flex;
    align-items: center;
    gap: .375rem;
    background: rgba(var(--bs-primary-rgb, 13, 110, 253), .12);
    color: var(--bs-body-color);
    padding: .25rem .5rem .25rem .75rem;
    border-radius: 999px;
    font-size: .875rem;
    line-height: 1.2;
}

.taxonomy-picker__chip-remove {
    background: transparent;
    border: 0;
    font-size: 1.1rem;
    line-height: 1;
    color: var(--bs-body-color);
    padding: 0 .25rem;
    cursor: pointer;
    border-radius: 999px;
    min-width: 1.5rem;
    min-height: 1.5rem;
}

.taxonomy-picker__chip-remove:hover,
.taxonomy-picker__chip-remove:focus {
    background: rgba(var(--bs-emphasis-color-rgb), .1);
    outline: none;
}

.taxonomy-picker__search {
    position: relative;
}

.taxonomy-picker__suggestions {
    position: absolute;
    z-index: 20;
    top: 100%;
    left: 0;
    right: 0;
    margin: .25rem 0 0;
    padding: .25rem 0;
    max-height: 16rem;
    overflow-y: auto;
    background: var(--bs-body-bg);
    border: 1px solid var(--bs-border-color);
    border-radius: .375rem;
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .12);
}

.taxonomy-picker__suggestion {
    padding: .5rem .75rem;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: .125rem;
}

.taxonomy-picker__suggestion:hover,
.taxonomy-picker__suggestion:focus {
    background: rgba(var(--bs-emphasis-color-rgb), .08);
    outline: none;
}

.taxonomy-picker__suggestion-title {
    font-weight: 500;
}

/* Modal tree */
.taxonomy-picker__tree,
.taxonomy-picker__tree-list {
    list-style: none;
    padding-left: 0;
    margin: 0;
}

.taxonomy-picker__tree-list .taxonomy-picker__tree-list {
    padding-left: 1.25rem;
    border-left: 1px dashed var(--bs-border-color);
    margin-left: .5rem;
}

.taxonomy-picker__tree-node {
    margin: .125rem 0;
}

.taxonomy-picker__tree-label {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .25rem .5rem;
    border-radius: .25rem;
    cursor: pointer;
    min-height: 2rem;
}

.taxonomy-picker__tree-label:hover {
    background: rgba(var(--bs-emphasis-color-rgb), .08);
}

[data-bs-theme="dark"] .taxonomy-picker__chip {
    background: rgba(var(--bs-primary-rgb, 13, 110, 253), .28);
}

[data-bs-theme="dark"] .taxonomy-picker__suggestions {
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .4);
}
