/**
 * Keep every WPResidence results-filter dropdown in the page flow so an open
 * menu never covers the first property card.
 */

:is(.listing_filters_head, .adv_listing_filters_head) {
    transition: padding-bottom 160ms ease;
}

:is(.listing_filters_head, .adv_listing_filters_head).fp-sort-menu-open {
    padding-bottom: var(--fp-sort-reserved-space, 0);
}

:is(.listing_filters_head, .adv_listing_filters_head) .wpresidence_filters_dropdown {
    position: relative;
    z-index: 30;
    align-self: flex-start;
    flex: 0 1 220px;
    width: 220px;
    max-width: 100%;
}

:is(.listing_filters_head, .adv_listing_filters_head)
    .wpresidence_filters_dropdown
    .filter_menu_trigger {
    width: 100%;
    min-width: 0;
    text-align: left;
}

:is(.listing_filters_head, .adv_listing_filters_head)
    .wpresidence_filters_dropdown
    .dropdown-menu {
    box-sizing: border-box;
    width: 100%;
    min-width: 100%;
    max-width: min(280px, calc(100vw - 24px));
    max-height: min(216px, calc(100vh - 32px));
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    white-space: normal;
    z-index: 31;
}

:is(.listing_filters_head, .adv_listing_filters_head)
    .wpresidence_filters_dropdown
    .dropdown-menu.show {
    position: static !important;
    inset: auto !important;
    float: none;
    transform: none !important;
    margin: 8px 0 0 !important;
}

:is(.listing_filters_head, .adv_listing_filters_head)
    .wpresidence_filters_dropdown
    .dropdown-menu li {
    white-space: normal;
}

@media (max-width: 767px) {
    :is(.listing_filters_head, .adv_listing_filters_head) .wpresidence_filters_dropdown {
        flex-basis: min(280px, 100%);
        width: min(280px, 100%);
    }
}

@media (max-width: 479px) {
    :is(.listing_filters_head, .adv_listing_filters_head) .wpresidence_filters_dropdown {
        flex-basis: 100%;
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    :is(.listing_filters_head, .adv_listing_filters_head) {
        transition: none;
    }
}
