/*
 * Ibeka / WPResidence Advanced Search compatibility.
 *
 * Scope is intentionally limited to WPResidence search type 1 and the Ibeka
 * compatibility classes. WPResidence remains responsible for the search
 * mechanics, dropdown behaviour and opening/closing the extended panel.
 */

/* -------------------------------------------------------------------------
 * Type 1 search: full-width light-grey band with a compact professional grid
 * ---------------------------------------------------------------------- */
.search_wrapper.search_wr_1 {
    box-sizing: border-box;
    width: 100% !important;
    max-width: none !important;
    background: #f3f4f6 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Neutralise the theme tint layer so the form remains fully opaque. */
.search_wrapper.search_wr_1 > .search_wrapper_color {
    background: #f3f4f6 !important;
    opacity: 1 !important;
}

.search_wrapper.search_wr_1 .adv-search-1 {
    box-sizing: border-box;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    background: #f3f4f6 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.search_wrapper.search_wr_1 .adv-search-1 form#adv_search_form {
    box-sizing: border-box;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-flow: row dense;
    gap: 10px;
    width: 100%;
    max-width: none;
    margin: 0 !important;
    padding: 16px max(
        16px,
        calc(
            (100% - var(
                --wp-estate-main-grid-content-width-option,
                var(--wp-estate-main-grid-content-width, 1200px)
            )) / 2
        )
    );
    border: 0;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 0;
    background: #f3f4f6 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Promote the normal field wrappers into the form grid without changing DOM. */
.search_wrapper.search_wr_1 .adv-search-1 form#adv_search_form > .adv1-holder {
    display: contents !important;
    width: auto !important;
    margin: 0 !important;
}

.search_wrapper.search_wr_1 .adv-search-1 form#adv_search_form
.adv1-holder > .col-md-3 {
    box-sizing: border-box;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    min-width: 0;
}

.search_wrapper.search_wr_1 .adv-search-1 form#adv_search_form
.adv1-holder > .col-md-3 > input,
.search_wrapper.search_wr_1 .adv-search-1 form#adv_search_form
.adv1-holder > .col-md-3 > select,
.search_wrapper.search_wr_1 .adv-search-1 form#adv_search_form
.adv1-holder > .col-md-3 > .dropdown,
.search_wrapper.search_wr_1 .adv-search-1 form#adv_search_form
.adv1-holder > .col-md-3 > .btn-group,
.search_wrapper.search_wr_1 .adv-search-1 form#adv_search_form
.adv1-holder > .col-md-3 .wpestate-multiselect-custom-style {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.search_wrapper.search_wr_1 .adv-search-1 form#adv_search_form
.adv1-holder > .col-md-3 > input,
.search_wrapper.search_wr_1 .adv-search-1 form#adv_search_form
.adv1-holder > .col-md-3 .wpestate-multiselect-custom-style {
    min-height: 42px;
}

/* More options and submit share a compact row under the 3 x 3 field grid. */
.search_wrapper.search_wr_1 .adv-search-1
.residence_adv_extended_options_text {
    order: 20;
    grid-column: 1 / span 2;
    align-self: center;
    display: flex;
    align-items: center;
    min-height: 42px;
    margin: 0 !important;
    padding: 0 2px;
    font-weight: 600;
}

.search_wrapper.search_wr_1 .adv-search-1
.residence_advanced_submit_button_search_1 {
    order: 21;
    grid-column: 3;
    position: static !important;
    inset: auto !important;
    box-sizing: border-box;
    width: 100% !important;
    height: 42px !important;
    min-height: 42px;
    margin: 0 !important;
    padding: 0 22px !important;
    border-radius: 6px;
    white-space: normal;
    line-height: 1.2;
}

.search_wrapper.search_wr_1 .adv-search-1
.extended_search_check_wrapper {
    order: 30;
    grid-column: 1 / -1;
    margin: 0;
}

/* -------------------------------------------------------------------------
 * Extended Property Features
 * ---------------------------------------------------------------------- */
.extended_search_check_wrapper.ibeka-search-compat-ready {
    box-sizing: border-box;
    max-width: 100%;
    width: 100%;
    overflow: hidden;
    margin-top: 2px;
    padding: 12px 4px 2px;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.extended_search_check_wrapper.ibeka-search-compat-ready::after {
    content: "";
    display: table;
    clear: both;
}

.extended_search_check_wrapper.ibeka-search-compat-ready
.extended_search_checker {
    box-sizing: border-box !important;
    float: left !important;
    display: flex;
    align-items: center;
    width: 33.333333% !important;
    min-width: 0;
    min-height: 36px;
    margin: 0 !important;
    padding: 7px 18px 7px 0;
}

.extended_search_check_wrapper.ibeka-search-compat-ready
.extended_search_checker label {
    box-sizing: border-box;
    display: inline;
    max-width: calc(100% - 26px);
    margin: 0;
    line-height: 1.35;
    overflow-wrap: anywhere;
    vertical-align: middle;
}

.extended_search_check_wrapper.ibeka-search-compat-ready
.extended_search_checker input[type="checkbox"] {
    flex: 0 0 auto;
    margin-top: 0;
    vertical-align: middle;
}

.extended_search_check_wrapper.ibeka-search-compat-ready
.adv_extended_close_button {
    top: 10px;
    right: 4px;
}

/* -------------------------------------------------------------------------
 * Price V3
 * ---------------------------------------------------------------------- */
.ibeka-price-v3-ready .wpestate-price-popoup-wrapper_v3 {
    box-sizing: border-box;
    width: min(430px, calc(100vw - 32px));
    min-width: 0;
    max-width: calc(100vw - 32px);
    padding: 20px;
    overflow: visible;
    z-index: 10020;
}

.ibeka-price-v3-ready .wpestate-price-popoup-wrapper_v3 h3 {
    margin: 0 0 12px;
    font-size: 15px;
    line-height: 1.3;
}

.ibeka-price-v3-ready .wpestate_pricev3_component_adv_search_wrapper {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 10px;
}

.ibeka-price-v3-ready .wpestate_pricev3_component_adv_search_wrapper
.wpresidence_dropdown {
    min-width: 0;
    margin-bottom: 0 !important;
}

.ibeka-price-v3-ready .wpestate_pricev3_component_adv_search_wrapper
.wpestate_child_dropdown_item {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    min-height: 40px;
    overflow: hidden;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ibeka-price-v3-ready .wpestate_pricev3_component_adv_search_wrapper
.filter_menu {
    box-sizing: border-box;
    width: 100%;
    min-width: 100% !important;
    max-height: 280px;
    overflow-x: hidden;
    overflow-y: auto;
}

.ibeka-price-v3-ready .wpestate-price-component-popoup-reset_v3,
.ibeka-price-v3-ready .wpestate-price-component-popoup-done_v3 {
    min-height: 38px;
    line-height: 38px;
}

/* -------------------------------------------------------------------------
 * Responsive
 * ---------------------------------------------------------------------- */
@media screen and (max-width: 1024px) {
    .search_wrapper.search_wr_1 .adv-search-1 form#adv_search_form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .search_wrapper.search_wr_1 .adv-search-1
    .residence_adv_extended_options_text {
        grid-column: 1;
    }

    .search_wrapper.search_wr_1 .adv-search-1
    .residence_advanced_submit_button_search_1 {
        grid-column: 2;
    }

    .extended_search_check_wrapper.ibeka-search-compat-ready
    .extended_search_checker {
        width: 50% !important;
    }
}

@media screen and (max-width: 600px) {
    .search_wrapper.search_wr_1 .adv-search-1 form#adv_search_form {
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
        padding: 12px;
        border-radius: 0;
    }

    .search_wrapper.search_wr_1 .adv-search-1
    .residence_adv_extended_options_text,
    .search_wrapper.search_wr_1 .adv-search-1
    .residence_advanced_submit_button_search_1,
    .search_wrapper.search_wr_1 .adv-search-1
    .extended_search_check_wrapper {
        grid-column: 1;
    }

    .search_wrapper.search_wr_1 .adv-search-1
    .residence_advanced_submit_button_search_1 {
        width: 100% !important;
    }

    .extended_search_check_wrapper.ibeka-search-compat-ready {
        padding: 10px 0 0;
    }

    .extended_search_check_wrapper.ibeka-search-compat-ready
    .extended_search_checker {
        float: none !important;
        width: 100% !important;
        min-height: 36px;
        padding: 7px 0;
    }

    .ibeka-price-v3-ready .wpestate-price-popoup-wrapper_v3 {
        width: min(100%, calc(100vw - 24px));
        max-width: calc(100vw - 24px);
        padding: 16px;
    }

    .ibeka-price-v3-ready .wpestate_pricev3_component_adv_search_wrapper {
        grid-template-columns: minmax(0, 1fr);
    }
}
