/* =====================================================================
 *  BT-Autocomplete – Lightweight autocomplete dropdown styles
 * ===================================================================== */

.bt-ac-wrap {
    position: relative;
}

.bt-ac-list {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 1060;
    max-height: 220px;
    overflow-y: auto;
    margin-top: 2px;
    padding: 4px 0;
    background: var(--bs-body-bg, #fff);
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: .375rem;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    list-style: none;
    display: none;              /* shown via JS */
}
.bt-ac-list.show { display: block; }

.bt-ac-list li {
    padding: 6px 12px;
    cursor: pointer;
    font-size: .9rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: background .1s;
}
.bt-ac-list li:hover,
.bt-ac-list li.active {
    background: var(--bs-primary, #0d6efd);
    color: #fff;
}
.bt-ac-list li mark {
    background: transparent;
    color: inherit;
    font-weight: 700;
    padding: 0;
}

/* Spinner inside input */
.bt-ac-wrap .bt-ac-spinner {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    border: 2px solid var(--bs-border-color, #ccc);
    border-top-color: var(--bs-primary, #0d6efd);
    border-radius: 50%;
    animation: bt-ac-spin .6s linear infinite;
    display: none;
}
.bt-ac-wrap .bt-ac-spinner.show { display: block; }

@keyframes bt-ac-spin { to { transform: translateY(-50%) rotate(360deg); } }

/* Dark theme */
[data-bs-theme="dark"] .bt-ac-list {
    background: var(--bs-body-bg, #212529);
    border-color: var(--bs-border-color, #495057);
    box-shadow: 0 4px 12px rgba(0,0,0,.35);
}
