/* Match the search inputs: an underline without a surrounding box. */
.mylisting-basic-form .featured-search .form-group:is(.dropdown-filter, .cts-term-hierarchy) select:not([multiple]):not(.select2-hidden-accessible) {
    position: absolute;
    inset: auto 0 0;
    box-sizing: border-box;
    width: 100%;
    height: 27px;
    margin: 0;
    padding: 0;
    border: 0 !important;
    border-bottom: 1.5px solid rgb(0 0 0 / .2) !important;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: inherit;
    font: inherit;
}
.mylisting-basic-form .featured-search .form-group:is(.dropdown-filter, .cts-term-hierarchy):has(select:not([multiple]):not(.select2-hidden-accessible)) label {
    top: auto;
    bottom: 29px;
    transform: none;
    pointer-events: none;
}
.mylisting-basic-form .featured-search .form-group:is(.dropdown-filter, .cts-term-hierarchy) select:not([multiple]):not(.select2-hidden-accessible):focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

/* Keep the enhanced control aligned with the surrounding theme fields as well. */
.mylisting-basic-form .featured-search .form-group:is(.dropdown-filter, .cts-term-hierarchy) .select2-container--default :is(.select2-selection--single, .select2-selection--multiple) {
    box-sizing: border-box;
    border: 0 !important;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.mylisting-basic-form .featured-search .form-group:is(.dropdown-filter, .cts-term-hierarchy) .select2-selection--single .select2-selection__rendered {
    padding-inline-start: 0;
    box-shadow: none;
}

/* MyListing hides Select2's b element and draws its own arrow on ::before. */
.mylisting-basic-form .featured-search :is(.dropdown-filter, .cts-term-hierarchy) .select2-selection__arrow {
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
    display: grid;
    place-items: center;
}
.mylisting-basic-form .featured-search :is(.dropdown-filter, .cts-term-hierarchy) .select2-selection__arrow::before {
    content: "";
    display: block;
    box-sizing: border-box;
    width: 8px;
    height: 8px;
    border: solid currentColor;
    border-width: 0 1px 1px 0;
    transform: translateY(-2px) rotate(45deg);
}
.mylisting-basic-form .featured-search :is(.dropdown-filter, .cts-term-hierarchy) .select2-selection__arrow b {
    display: none;
}
.mylisting-basic-form .featured-search :is(.dropdown-filter, .cts-term-hierarchy) .select2-container--open .select2-selection__arrow::before {
    transform: translateY(2px) rotate(225deg);
}
.mylisting-basic-form .featured-search :is(.dropdown-filter, .cts-term-hierarchy) .select2-selection:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}
.mylisting-basic-form .featured-search .cts-term-hierarchy .select-wrapper.term-select:has(select:not(.select2-hidden-accessible)) {
    height: 100%;
}

/* Align the empty field's label with the arrow. Keep the label above a chosen value. */
.mylisting-basic-form .featured-search .form-group:is(.dropdown-filter, .cts-term-hierarchy) select:not([multiple]):not(.select2-hidden-accessible):has(option:checked:is([value=""], :empty)) {
    height: 100%;
}
.mylisting-basic-form .featured-search .form-group:is(.dropdown-filter, .cts-term-hierarchy):has(select:not([multiple]):not(.select2-hidden-accessible) option:checked:is([value=""], :empty)) label {
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
}

/* The theme already draws the line on the single Select2 value. */
.mylisting-basic-form .featured-search .form-group:is(.dropdown-filter, .cts-term-hierarchy) .select2-container--default .select2-selection--multiple {
    border-bottom: 1.5px solid rgb(0 0 0 / .2) !important;
}

.mylisting-basic-form .featured-search .form-group:is(.dropdown-filter, .cts-term-hierarchy) select:not(.select2-hidden-accessible) option {
    background-color: #000;
    color: #fff;
}

/* Select2 appends its menu outside the search form. The script marks only that menu. */
.select2-dropdown.fpd-search-dropdown {
    --fpd-search-menu-active: #242424;
    background-color: #000;
    color: #fff;
    border: 0;
    overflow: hidden;
}
.select2-dropdown.fpd-search-dropdown .select2-results__option {
    position: relative;
    margin: 0;
    padding: 13px 14px 13px 36px;
    border-bottom: 0;
    background-color: #000;
    color: #fff;
    transition: none;
}
.select2-dropdown.fpd-search-dropdown .select2-results__option:is([aria-selected="true"], .select2-results__option--selected, .select2-results__option--highlighted) {
    background-color: var(--fpd-search-menu-active);
    color: #fff;
}
.select2-dropdown.fpd-search-dropdown .select2-results__option:is([aria-selected="true"], .select2-results__option--selected)::after {
    content: "✓";
    font-family: inherit;
    inset: 13px auto auto 12px;
}
.select2-dropdown.fpd-search-dropdown .select2-results__option:is([aria-disabled="true"], .select2-results__option--disabled) {
    color: #aaa;
}
.select2-dropdown.fpd-search-dropdown .select2-search__field {
    background-color: #000;
    color: #fff;
    border-color: #777;
}
