/* Type-in-the-field city search.
   On open, the select2 search box is laid over the closed field so the user
   types straight into it; results list drops below (or above when flipped).
   Sizes come from CSS vars set by the select2:open handler in js/home.js. */
.select2-dropdown.s2-inline .select2-search--dropdown {
    position: absolute;
    left: -1px;
    right: -1px;
    padding: 0;
    margin: 0;
    z-index: 2;
    background: #fff;
}
.select2-dropdown--below.s2-inline .select2-search--dropdown {
    top: calc(-1 * var(--s2h, 50px));
}
.select2-dropdown--above.s2-inline .select2-search--dropdown {
    bottom: calc(-1 * var(--s2h, 50px));
}
.select2-dropdown.s2-inline .select2-search--dropdown .select2-search__field {
    display: block;
    width: 100%;
    height: var(--s2h, 50px);
    box-sizing: border-box;
    padding: 0 40px 0 var(--s2pl, 16px);
    font: inherit;
    font-size: var(--s2fs, inherit);
    color: var(--s2color, #333);
    background: #fff;
    border: 1px solid #1a73e8;
    border-radius: var(--s2r, 4px);
    outline: 0;
}
.select2-dropdown.s2-inline .select2-search--dropdown .select2-search__field::placeholder {
    color: #8a94a6;
}
.select2-dropdown.s2-inline .select2-results__option {
    font-size: 14px;
    line-height: 1.4;
    padding: 9px var(--s2pl, 16px);
}

/* Search box + results read as ONE floating panel above the page */
.select2-container--open .select2-dropdown.s2-inline {
    border: 1px solid #1a73e8;
    margin: 0;
    background: #fff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.28), 0 0 0 1px rgba(26, 115, 232, 0.08);
    z-index: 10600;
}
.select2-dropdown--below.s2-inline {
    border-top: 0;
    border-radius: 0 0 var(--s2r, 4px) var(--s2r, 4px);
}
.select2-dropdown--above.s2-inline {
    border-bottom: 0;
    border-radius: var(--s2r, 4px) var(--s2r, 4px) 0 0;
}
.select2-dropdown--below.s2-inline .select2-search--dropdown .select2-search__field {
    border-radius: var(--s2r, 4px) var(--s2r, 4px) 0 0;
    border-bottom-color: #e3e8ef;
}
.select2-dropdown--above.s2-inline .select2-search--dropdown .select2-search__field {
    border-radius: 0 0 var(--s2r, 4px) var(--s2r, 4px);
    border-top-color: #e3e8ef;
}
.select2-dropdown.s2-inline .select2-results > .select2-results__options {
    max-height: 180px;
    overflow-y: auto;
}
.select2-dropdown.s2-inline .select2-results__option {
    color: #1e293b;
    background: #fff;
    border-bottom: 1px solid #f1f4f8;
}
.select2-dropdown.s2-inline .select2-results__option:last-child {
    border-bottom: 0;
}
.select2-dropdown.s2-inline .select2-results__option--highlighted[aria-selected],
.select2-dropdown.s2-inline .select2-results__option[aria-selected="true"] {
    background: #eaf2ff;
    color: #0b57d0;
}
.select2-dropdown.s2-inline .select2-results__message,
.select2-dropdown.s2-inline .select2-results__option.loading-results {
    color: #64748b;
    font-size: 13px;
}
