.address-search-input {
    width: 100%;
    padding: 0.35rem 0.65rem;
    border: 1px solid var(--accent-border);
    border-radius: 6px;
    background: var(--accent-fill);
    color: var(--accent-contrast);
    font: inherit;
    font-size: 0.9rem;
    line-height: 1.2;
}

.address-search-input::placeholder {
    color: var(--accent-placeholder);
    opacity: 1;
}

.address-search-input:focus {
    outline: 2px solid var(--accent-focus);
    outline-offset: 1px;
    background: var(--accent-fill-focus);
}

.address-search-input::-webkit-search-cancel-button {
    filter: invert(1);
    opacity: 0.7;
}

.address-search-results {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    z-index: 40;
    width: 100%;
    max-height: 280px;
    margin: 0;
    padding: 0.25rem;
    overflow-y: auto;
    list-style: none;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    color: var(--text);
    box-shadow: 0 4px 16px var(--shadow);
}

.address-search-results[hidden] {
    display: none;
}

.address-search-result {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    padding: 0.45rem 0.55rem;
    border-radius: 5px;
    cursor: pointer;
}

.address-search-result:hover,
.address-search-result.is-active {
    background: var(--hover);
}

.address-search-title {
    color: var(--text);
    font-weight: 600;
}

.address-search-detail {
    color: var(--muted);
    font-size: 0.8rem;
}

.address-search-status {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    z-index: 40;
    width: 100%;
    margin: 0;
    padding: 0.5rem 0.55rem;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    color: var(--muted);
    box-shadow: 0 4px 16px var(--shadow);
}

.address-search-status[hidden] {
    display: none;
}
