.vrms-searchable-select {
    position: relative;
    min-width: 0;
}

.vrms-searchable-select__native {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    clip-path: inset(50%) !important;
}

.vrms-searchable-select__input {
    width: 100%;
}

/*
 * Die Trefferliste wird von searchable-select.js direkt unter <body>
 * eingehängt. Dadurch wird sie weder von modal-body noch von Karten mit
 * overflow:hidden abgeschnitten und darf bewusst über Dialoggrenzen ragen.
 */
.vrms-searchable-select-results-portal {
    position: fixed !important;
    z-index: 2147483000 !important;
    display: block;
    min-width: min(20rem, calc(100vw - 1rem));
    max-width: calc(100vw - 1rem);
    max-height: min(18rem, calc(100vh - 1rem));
    overflow-x: hidden;
    overflow-y: auto;
    isolation: isolate;
    pointer-events: auto;
    overscroll-behavior: contain;
    padding: .35rem;
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius-md);
    background: var(--app-surface-elevated);
    color: var(--app-text);
    box-shadow: var(--app-shadow);
}

.vrms-searchable-select-results-portal.d-none {
    display: none !important;
}

.vrms-searchable-select-results-portal .vrms-autocomplete-item,
.vrms-searchable-select-results-portal .vrms-autocomplete-empty {
    padding: .65rem .75rem;
    border-radius: var(--app-radius-sm);
    color: var(--app-text);
}

.vrms-searchable-select-results-portal .vrms-autocomplete-item {
    cursor: pointer;
}

.vrms-searchable-select-results-portal .vrms-autocomplete-item:hover,
.vrms-searchable-select-results-portal .vrms-autocomplete-item.is-active {
    background: var(--app-action-hover);
    color: var(--app-text);
}

.vrms-searchable-select-results-portal .vrms-autocomplete-empty {
    color: var(--app-text-muted);
}

@media (max-width: 479.98px) {
    .vrms-searchable-select-results-portal {
        min-width: 0;
        max-width: calc(100vw - 1rem);
    }
}


/*
 * Bootstrap-Modale und deren scrollbare Inhalte dürfen die Trefferliste nicht
 * abschneiden. Die Liste liegt als direktes Kind von <body> in einer eigenen
 * obersten Ebene; nur das Eingabefeld bleibt im Dialog.
 */
body > .vrms-searchable-select-results-portal {
    margin: 0 !important;
    transform: none !important;
    contain: layout paint style;
}

body.modal-open > .vrms-searchable-select-results-portal {
    z-index: 2147483000 !important;
}
