.ksac-popup {
    position: absolute;
    z-index: 1080;
    max-height: 320px;
    overflow-y: auto;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, .16);
    border-radius: .35rem;
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .12);
    padding: .25rem 0 0;
    box-sizing: border-box;
}
.ksac-option {
    display: block;
    width: 100%;
    border: 0;
    background: transparent;
    color: inherit;
    padding: .55rem .75rem;
    text-align: left;
    cursor: pointer;
    line-height: 1.25;
}
.ksac-option:hover,
.ksac-option:focus,
.ksac-option.is-active {
    background: rgba(0, 0, 0, .055);
    outline: 0;
}
.ksac-source {
    border-top: 1px solid rgba(0, 0, 0, .08);
    padding: .35rem .75rem;
    font-size: .72rem;
    color: #6c757d;
    background: #fafafa;
}
.ksac-source a { color: inherit; text-decoration: underline; }
.ksac-status {
    display: block;
    margin-top: .5rem;
    padding: .55rem .75rem;
    border: 1px solid rgba(0, 0, 0, .14);
    border-radius: .35rem;
    background: #fafafa;
    font-size: .82rem;
    line-height: 1.3;
    box-sizing: border-box;
}
.ksac-status.is-ok {
    color: #287a3f;
    border-color: rgba(40, 122, 63, .28);
    background: rgba(40, 122, 63, .06);
}
.ksac-status.is-warning {
    color: #9a6700;
    border-color: rgba(154, 103, 0, .28);
    background: rgba(154, 103, 0, .06);
}
@media (max-width: 767.98px) {
    .ksac-popup { max-height: 42vh; }
    .ksac-option { padding: .7rem .75rem; }
}
/* Street is technically type=search to stop native address-autofill heuristics.
   Remove browser-specific search decoration so NOVA styling stays unchanged. */
.ksac-street-search::-webkit-search-decoration,
.ksac-street-search::-webkit-search-cancel-button,
.ksac-street-search::-webkit-search-results-button,
.ksac-street-search::-webkit-search-results-decoration {
    -webkit-appearance: none;
    appearance: none;
    display: none;
}
.ksac-street-search { appearance: none; }
