/* =========================================================
   MLS PROPERTY TOOLBAR
   Desktop-first visual system
   ========================================================= */

.properties-toolbar {
    width: 100%;
    max-width: 1440px;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 8px;

    margin: 0 auto;
    padding: 0;

    box-sizing: border-box;
}


/* =========================================================
   SEARCH
   ========================================================= */

.properties-toolbar .search-box {
    height: 46px;
    width: 360px;
    min-width: 260px;

    flex: 1 1 360px;

    display: flex;
    align-items: center;

    padding: 0 16px;

    background: #f7f7f5;
    border: 1px solid transparent;
    border-radius: 23px;

    box-sizing: border-box;

    transition:
        background .18s ease,
        border-color .18s ease,
        box-shadow .18s ease;
}

.properties-toolbar .search-box:hover {
    background: #f4f4f2;
}

.properties-toolbar .search-box:focus-within {
    background: #fff;
    border-color: rgba(185,155,98,.45);
    box-shadow: 0 0 0 3px rgba(185,155,98,.08);
}

.properties-toolbar .search-box > span {
    flex-shrink: 0;

    margin-right: 9px;

    color: #777;
    font-size: 21px;
    line-height: 1;
}

.properties-toolbar .search-box input {
    width: 100%;
    min-width: 0;

    border: none;
    outline: none;

    background: transparent;

    color: #333;

    font-family: "Inter", sans-serif;
    font-size: 13px;
    font-weight: 400;
}

.properties-toolbar .search-box input::placeholder {
    color: #999;
}


/* =========================================================
   FILTER GROUP
   ========================================================= */

.properties-toolbar .filter-group {
    display: flex;
    align-items: center;

    gap: 8px;

    flex-shrink: 0;
}


/* ======================================
   PROPERTY SEARCH SUGGESTIONS DROPDOWN
   ====================================== */

.properties-toolbar {
    position: relative;
}

.properties-toolbar .search-box {
    position: relative;
}

.search-box .property-search-suggestions {
    position: absolute !important;

    top: calc(100% + 10px) !important;
    left: 0 !important;
    right: auto !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    background: #fff !important;

    border: 1px solid #eee !important;
    border-radius: 14px !important;

    box-shadow:
        0 12px 30px rgba(0,0,0,.14) !important;

    overflow: hidden !important;

    z-index: 99999 !important;

    display: none;
}

.search-box .property-search-suggestions.show {
    display: block !important;
}


/* Section heading */

.search-box .search-suggestion-title {
    padding: 9px 14px 6px !important;

    font-size: 11px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;

    color: #888 !important;

    text-transform: uppercase;
    letter-spacing: .05em;
}


/* Individual suggestion */

.search-box .search-suggestion {
    display: flex !important;
    align-items: center !important;

    gap: 10px !important;

    width: 100% !important;
    min-height: 38px !important;

    padding: 8px 14px !important;

    box-sizing: border-box !important;

    font-size: 13px !important;
    line-height: 1.25 !important;
    font-weight: 400 !important;

    color: #222 !important;

    cursor: pointer;

    border: 0 !important;
    border-top: 1px solid #f3f3f3 !important;

    background: transparent !important;

    transition:
        background .12s ease;
}


/* Small icon */

.search-box .search-suggestion
.material-symbols-outlined {
    flex: 0 0 auto !important;

    width: 20px !important;

    font-size: 17px !important;
    line-height: 1 !important;

    color: #777 !important;
}


/* Suggestion name */

.search-box .property-search-suggestions
.search-suggestion-name {
    flex: 1 1 auto !important;

    min-width: 0 !important;

    overflow: hidden !important;

    text-overflow: ellipsis !important;
    white-space: nowrap !important;

    font-size: 13px !important;
    line-height: 1.25 !important;
    font-weight: 400 !important;

    color: #222 !important;
}


/* Right-side count */

.search-box .property-search-suggestions
.search-suggestion-count {
    flex: 0 0 auto !important;

    margin-left: auto !important;

    padding-left: 16px !important;

    color: #999 !important;

    font-size: 11px !important;
    line-height: 1.25 !important;

    white-space: nowrap !important;

    text-align: right !important;
}


/* Hover */

.search-box .search-suggestion:hover {
    background: #f7f7f7 !important;
}


/* Recent-search text */

.search-box .property-search-suggestions
.search-suggestion > span:not(.material-symbols-outlined) {
    font-size: 13px !important;
    line-height: 1.25 !important;
    font-weight: 400 !important;
    color: #222 !important;
}


/* =========================================================
   FILTER DROPDOWN
   ========================================================= */

.properties-toolbar .filter-dropdown {
    position: relative;
    flex-shrink: 0;
}


/* =========================================================
   FILTER BUTTON
   ========================================================= */

.properties-toolbar .filter-button {
    height: 46px;

    min-width: 112px;

    padding: 0 15px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 7px;

    border: 1px solid transparent;
    border-radius: 23px;

    background: #f7f7f5;
    color: #333;

    font-family: "Inter", sans-serif;
    font-size: 13px;
    font-weight: 500;

    white-space: nowrap;

    cursor: pointer;

    transition:
        background .18s ease,
        border-color .18s ease,
        color .18s ease,
        box-shadow .18s ease;
}

.properties-toolbar .filter-button:hover {
    background: #f2f2f0;
}

.properties-toolbar .filter-button.active,
.properties-toolbar .filter-button:focus-visible {
    background: #fff;
    border-color: rgba(185,155,98,.5);

    box-shadow: 0 0 0 3px rgba(185,155,98,.07);

    outline: none;
}

.properties-toolbar .filter-button .filter-label {
    overflow: hidden;

    text-overflow: ellipsis;
    white-space: nowrap;
}

.properties-toolbar .filter-button .arrow {
    flex-shrink: 0;

    color: #777;
    font-size: 18px;
    line-height: 1;

    transition: transform .18s ease;
}

.properties-toolbar .filter-button.active .arrow {
    transform: rotate(180deg);
}


/* =========================================================
   INDIVIDUAL CONTROL WIDTHS
   ========================================================= */

#listing-type-dropdown .filter-button {
    min-width: 112px;
}

#status-dropdown .filter-button {
    min-width: 105px;
}

#price-dropdown .filter-button {
    min-width: 95px;
}

#property-type-dropdown .filter-button {
    min-width: 118px;
}

#beds-baths-dropdown .filter-button {
    min-width: 138px;
}

#more-filters-dropdown .filter-button {
    min-width: 105px;
}

#sort-dropdown .filter-button {
    min-width: 92px;
}


/* =========================================================
   DROPDOWN POPUPS
   ========================================================= */

.properties-toolbar .filter-popup {
    display: none;

    position: absolute;

    top: calc(100% + 8px);
    left: 0;

    min-width: 100%;

    padding: 6px;

    background: #fff;

    border: 1px solid rgba(0,0,0,.06);
    border-radius: 14px;

    box-shadow:
        0 10px 30px rgba(0,0,0,.08),
        0 2px 8px rgba(0,0,0,.04);

    z-index: 10050;

    box-sizing: border-box;
}

.properties-toolbar .filter-popup.active {
    display: block;
}

.properties-toolbar .popup-options {
    display: flex;
    flex-direction: column;

    gap: 2px;
}

.properties-toolbar .popup-options button {
    width: 100%;

    min-height: 38px;

    padding: 8px 11px;

    border: none;
    border-radius: 9px;

    background: transparent;
    color: #444;

    font-family: "Inter", sans-serif;
    font-size: 13px;
    font-weight: 400;

    text-align: left;

    cursor: pointer;

    box-sizing: border-box;

    transition:
        background .15s ease,
        color .15s ease;
}

.properties-toolbar .popup-options button:hover {
    background: #f7f7f5;
    color: #222;
}

.properties-toolbar .popup-options button:active {
    background: #f1f1ee;
}

.properties-toolbar .popup-options button.selected,
.properties-toolbar .popup-options button.active {
    background: #f7f7f5;
    color: #222;
    font-weight: 500;
}


/* =========================================================
   PRICE POPUP
   ========================================================= */

/* =========================================================
   POPUP FOOTER
   ========================================================= */

.properties-toolbar .popup-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 8px;

    margin-top: 14px;
    padding-top: 12px;

    border-top: 1px solid rgba(0,0,0,.06);
}

.properties-toolbar .popup-footer button {
    height: 36px;

    padding: 0 14px;

    border-radius: 18px;

    font-family: "Inter", sans-serif;
    font-size: 12px;
    font-weight: 500;

    cursor: pointer;
}

.properties-toolbar .popup-footer .reset-filter {
    border: none;
    background: transparent;
    color: #666;
}

.properties-toolbar .popup-footer .reset-filter:hover {
    background: #f7f7f5;
    color: #333;
}

.properties-toolbar .popup-footer .apply-filter {
    border: none;

    background: #111;
    color: #fff;
}

.properties-toolbar .popup-footer .apply-filter:hover {
    background: #292929;
}


/* =========================================================
   BEDS / BATHS — SEGMENTED SELECTOR
   ========================================================= */

#beds-baths-dropdown .filter-popup {
    width: 370px;
    min-width: 370px;
    padding: 16px;
}

#beds-baths-dropdown .beds-baths-section {
    width: 100%;
}

#beds-baths-dropdown .beds-baths-section + .beds-baths-section {
    margin-top: 16px;
}

#beds-baths-dropdown .beds-baths-title {
    margin: 0 0 7px;

    color: #555;

    font-family: "Inter", sans-serif;
    font-size: 12px;
    font-weight: 600;
}

#beds-baths-dropdown .beds-baths-segments {
    display: flex;
    gap: 6px;

    width: 100%;
}

#beds-baths-dropdown .beds-baths-segments button {
    flex: 1 1 0;

    min-width: 42px;
    height: 38px;

    padding: 0 8px;

    border: 1px solid #e1e1e5;
    border-radius: 7px;

    background: #f4f4f5;
    color: #555;

    font-family: "Inter", sans-serif;
    font-size: 12px;
    font-weight: 500;

    white-space: nowrap;

    cursor: pointer;

    transition:
        background .15s ease,
        color .15s ease,
        border-color .15s ease,
        box-shadow .15s ease;
}

#beds-baths-dropdown .beds-baths-segments button:last-child {
    border-right: 1px solid #e1e1e5;
}

#beds-baths-dropdown .beds-baths-segments button:hover {
    background: #eaeaec;
    border-color: #d7d7dc;
    color: #333;
}

#beds-baths-dropdown .beds-baths-segments button.active {
    background: #eee9ff;

    border-color: #cfc2f5;

    color: #6541c7;

    font-weight: 600;

    box-shadow:
        0 1px 2px rgba(70, 40, 130, .06);
}


/* =========================================================
   MORE FILTERS
   ========================================================= */

#more-filters-dropdown .filter-popup {
    position: fixed !important;

    top: 50% !important;
    left: 50% !important;

    width: min(560px, calc(100vw - 32px)) !important;
    min-width: 0 !important;
    max-width: 560px;

    max-height: min(820px, calc(100vh - 40px));

    padding: 0 !important;

    overflow-y: auto;
    overflow-x: hidden;

    box-sizing: border-box;

    transform: translate(-50%, -50%);

    border-radius: 20px;

    background: #fff;

    box-shadow:
        0 20px 60px rgba(0, 0, 0, .18),
        0 4px 16px rgba(0, 0, 0, .08);

    z-index: 99999;
}

#more-filters-dropdown .filter-popup.active {
    display: block !important;
}


/* =========================================================
   SORT
   ========================================================= */

#sort-dropdown .filter-popup {
    width: 185px;
    min-width: 185px;
}


/* =========================================================
   STATUS
   ========================================================= */

#status-dropdown .filter-popup {
    width: 155px;
    min-width: 155px;
}


/* =========================================================
   LISTING TYPE
   ========================================================= */

#listing-type-dropdown .filter-popup {
    width: 135px;
    min-width: 135px;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1250px) {

    .properties-toolbar {
        gap: 6px;
    }

    .properties-toolbar .search-box {
        width: 280px;
        min-width: 220px;
    }

    .properties-toolbar .filter-button {
        padding-left: 12px;
        padding-right: 12px;
    }

    #beds-baths-dropdown .filter-button {
        min-width: 125px;
    }

    #property-type-dropdown .filter-button {
        min-width: 108px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

/* =========================================================
   COMPACT DESKTOP / TABLET
   Hide secondary dropdowns before the toolbar runs out of room.
   The mobile filters sheet remains available below 900px.
   ========================================================= */

@media (min-width: 901px) and (max-width: 1375px) {

    body.search-page #status-dropdown,
    body.search-page #property-type-dropdown {
        display: none;
    }

}

/* Hide the category selector at narrower desktop widths to avoid crowding. */
@media (min-width: 901px) and (max-width: 1100px) {

    body.search-page #listing-type-dropdown {
        display: none;
    }

}

@media (min-width: 901px) and (max-width: 1000px) {

    body.search-page .properties-toolbar {
        gap: 4px;
    }

    body.search-page .properties-toolbar .search-box {
        width: auto;
        min-width: 140px;
        flex: 1 1 140px;
    }

    body.search-page .properties-toolbar .filter-group {
        gap: 4px;
    }

    body.search-page .properties-toolbar .filter-button {
        padding-left: 8px;
        padding-right: 8px;
    }

}


@media (max-width: 900px) {

    .properties-toolbar {
        display: none;
    }

}


/* SEARCH SUGGESTIONS VISIBILITY */
.properties-toolbar .search-box
.property-search-suggestions.show {
    display: block !important;
}


/* =========================================================
   DESKTOP PRICE POPUP — FINAL
   ========================================================= */

.price-popup {
    width: 360px !important;
    padding: 22px !important;
    border-radius: 22px !important;
    box-sizing: border-box;
}

/* ---------------------------------------------------------
   PRICE DISTRIBUTION
   --------------------------------------------------------- */

.price-popup .price-chart {
    width: 100%;
    height: 76px;

    display: flex;
    align-items: flex-end;

    gap: 3px;

    margin: 0 0 18px;

    padding: 0 2px;

    box-sizing: border-box;
}

.price-popup .price-chart div {
    flex: 1 1 0;

    min-width: 2px;

    background: #d6d6dc;

    border-radius: 3px 3px 0 0;

    opacity: 1;

    transition:
        height .18s ease,
        opacity .18s ease;
}

.price-popup .price-chart div.active {
    background: #8b5cf6;
    opacity: 1;
}

/* ---------------------------------------------------------
   RANGE SLIDER
   --------------------------------------------------------- */

.price-popup .range-slider {
    position: relative;

    width: 100%;
    height: 28px;

    margin: 0 0 14px;
}

/* Track */

.price-popup .slider-track {
    position: absolute;

    left: 0;
    right: 0;

    top: 50%;

    height: 4px;

    transform: translateY(-50%);

    background: #e8e8e8;

    border-radius: 999px;

    pointer-events: none;
}

/* Both range inputs occupy the same track */

.price-popup .range-slider input[type="range"] {
    position: absolute;

    left: 0;
    top: 0;

    width: 100%;
    height: 28px;

    margin: 0;

    background: transparent;

    pointer-events: none;

    appearance: none;

    -webkit-appearance: none;

    accent-color: #8b5cf6;
}

/* WebKit thumb */

.price-popup .range-slider input[type="range"]::-webkit-slider-thumb {
    appearance: none;
    -webkit-appearance: none;

    width: 16px;
    height: 16px;

    border-radius: 50%;

    background: #fff;

    border: 2px solid #8b5cf6;

    box-shadow: 0 2px 7px rgba(0,0,0,.18);

    cursor: pointer;

    pointer-events: auto;
}

/* Firefox thumb */

.price-popup .range-slider input[type="range"]::-moz-range-thumb {
    width: 16px;
    height: 16px;

    border-radius: 50%;

    background: #fff;

    border: 2px solid #8b5cf6;

    box-shadow: 0 2px 7px rgba(0,0,0,.18);

    cursor: pointer;

    pointer-events: auto;
}

/* Keep max slider above min when necessary */

#max-range {
    z-index: 3;
}

#min-range {
    z-index: 4;
}

/* ---------------------------------------------------------
   MIN / MAX INPUTS
   --------------------------------------------------------- */

.price-popup .price-range-values {
    display: flex;

    gap: 12px;

    width: 100%;

    margin-top: 2px;
}

.price-popup .price-input-group {
    flex: 1;
    min-width: 0;
}

.price-popup .price-input-group label {
    display: block;

    margin: 0 0 5px;

    font-size: 11px;

    font-weight: 500;

    color: #888;
}

.price-popup .price-input-group input {
    width: 100%;

    height: 40px;

    padding: 0 11px;

    box-sizing: border-box;

    border: 1px solid #e5e5e5;

    border-radius: 11px;

    background: #fff;

    color: #222;

    font-family: inherit;

    font-size: 13px;

    outline: none;

    transition:
        border-color .15s ease,
        box-shadow .15s ease;
}

.price-popup .price-input-group input:focus {
    border-color: #8b5cf6;

    box-shadow:
        0 0 0 3px rgba(139,92,246,.10);
}

/* Remove number arrows */

.price-popup .price-input-group input::-webkit-outer-spin-button,
.price-popup .price-input-group input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.price-popup .price-input-group input[type="number"] {
    -moz-appearance: textfield;
}




/* =========================================================
   PRICE POPUP — FINAL WIDTH ALIGNMENT
   ========================================================= */

#price-dropdown .price-popup {
    width: 360px;
    min-width: 360px;
    box-sizing: border-box;
}

#price-dropdown .price-chart,
#price-dropdown .range-slider,
#price-dropdown .price-range-values {
    width: 100%;
    box-sizing: border-box;
}


/* =========================================================
   PRICE INPUTS — MIN LEFT / MAX RIGHT
   ========================================================= */

#price-dropdown .price-range-values {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;

    width: 100%;
    margin-top: 10px;

    box-sizing: border-box;
}

#price-dropdown .price-range-values input {
    width: 100%;
    height: 46px;

    min-width: 0;
    box-sizing: border-box;

    padding: 0 14px;

    border: 1px solid #d8d8d8;
    border-radius: 11px;

    background: #fff;

    color: #222;

    font-family: "Inter", sans-serif;
    font-size: 15px;
    font-weight: 500;

    line-height: 46px;

    text-align: left;

    -webkit-appearance: none;
    appearance: none;
}

#price-dropdown .price-range-values input:focus {
    outline: none;

    border-color: #8b5cf6;

    box-shadow:
        0 0 0 3px rgba(139, 92, 246, .10);
}

#price-dropdown .price-range-values input::placeholder {
    color: #999;
    font-weight: 400;
}

/* Remove number-spinner controls */
#price-dropdown .price-range-values input::-webkit-inner-spin-button,
#price-dropdown .price-range-values input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

#price-dropdown .price-range-values input[type="number"] {
    -moz-appearance: textfield;
}

/* Make Apply button clearly clickable */
#price-dropdown .apply-filter {
    width: 100%;
    min-height: 44px;

    margin-top: 16px;

    border-radius: 11px;

    cursor: pointer;
}


/* =========================================================
   PRICE INPUTS — FINAL
   ========================================================= */

#price-dropdown .price-range-values {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    width: 100%;
    box-sizing: border-box;
}

#price-dropdown .price-range-values input {
    display: block;
    width: 100%;
    height: 46px;
    min-width: 0;
    box-sizing: border-box;

    padding: 0 14px;

    border: 1px solid #d8d8d8;
    border-radius: 11px;

    background: #fff;
    color: #222;

    font-size: 15px;
    font-weight: 500;
    line-height: 46px;

    pointer-events: auto;
    user-select: text;

    -webkit-appearance: none;
    appearance: none;
}

#price-dropdown .price-range-values input:focus {
    outline: none;
    border-color: #8b5cf6;
    box-shadow: 0 0 0 3px rgba(139, 92, 246, .10);
}

#price-dropdown .price-range-values input::-webkit-inner-spin-button,
#price-dropdown .price-range-values input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}


/*
 * =========================================================
 * PRICE HISTOGRAM SELECTION
 * =========================================================
 */

/* Normal / unselected bars */
.price-popup .price-chart .price-chart-bar.inactive {
    background: rgba(255, 255, 255, 0.18);
    opacity: 0.45;
    transition:
        background 0.15s ease,
        opacity 0.15s ease;
}

/* Selected price range */
.price-popup .price-chart .price-chart-bar.active {
    background: #ffffff;
    opacity: 1;
    transition:
        background 0.15s ease,
        opacity 0.15s ease;
}

/* If the existing chart uses a colored bar */
.price-popup .price-chart .price-chart-bar {
    transition:
        background 0.15s ease,
        opacity 0.15s ease;
}


/* =========================================================
   PRICE HISTOGRAM — EXPLICIT SELECTION COLORS
   ========================================================= */

/* Every histogram bar stays visible */
.price-popup .price-chart .price-chart-bar {
    background: #d9d9df !important;
    opacity: 1 !important;
}

/* Selected price range */
.price-popup .price-chart .price-chart-bar.active {
    background: #8b5cf6 !important;
    opacity: 1 !important;
}

/* Outside selected price range */
.price-popup .price-chart .price-chart-bar.inactive {
    background: #d9d9df !important;
    opacity: 1 !important;
}


/* =========================================================
   BEDS / BATHS COUNTERS
   ========================================================= */

#beds-baths-dropdown .beds-baths-popup {
    width: 220px;
    min-width: 220px;
    padding: 18px;
    box-sizing: border-box;
}

#beds-baths-dropdown .beds-baths-control {
    width: 100%;
}

#beds-baths-dropdown .beds-baths-title {
    margin-bottom: 12px;

    color: #222;

    font-family: "Inter", sans-serif;
    font-size: 14px;
    font-weight: 600;
}

#beds-baths-dropdown .beds-baths-counter {
    display: grid;
    grid-template-columns: 36px 1fr 36px;
    align-items: center;

    width: 100%;
}

#beds-baths-dropdown .beds-baths-step {
    width: 36px;
    height: 36px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    border: 1px solid #e4e4e8;
    border-radius: 50%;

    background: #f1f1f3;
    color: #333;

    font-family: Arial, sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 1;

    cursor: pointer;

    transition:
        background .15s ease,
        border-color .15s ease,
        transform .12s ease;
}

#beds-baths-dropdown .beds-baths-step:hover {
    background: #e7e7eb;
    border-color: #d9d9df;
}

#beds-baths-dropdown .beds-baths-step:active {
    transform: scale(.94);
}

#beds-baths-dropdown .beds-baths-step:disabled {
    opacity: .35;
    cursor: default;
    transform: none;
}

#beds-baths-dropdown .beds-baths-value {
    display: flex;
    align-items: center;
    justify-content: center;

    min-width: 70px;

    color: #222;

    font-family: "Inter", sans-serif;
    font-size: 15px;
    font-weight: 600;

    text-align: center;
}

#beds-baths-dropdown .beds-baths-exact {
    display: flex;
    align-items: center;
    gap: 9px;

    margin-top: 12px;

    color: #666;

    font-family: "Inter", sans-serif;
    font-size: 12px;
    font-weight: 400;

    cursor: pointer;
    user-select: none;
}

#beds-baths-dropdown .beds-baths-exact input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

#beds-baths-dropdown .beds-baths-check {
    width: 17px;
    height: 17px;

    flex: 0 0 17px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid #d5d5da;
    border-radius: 5px;

    background: #f5f5f6;

    box-sizing: border-box;

    transition:
        background .15s ease,
        border-color .15s ease;
}

#beds-baths-dropdown
.beds-baths-exact input:checked
+ .beds-baths-check {
    background: #8b5cf6;
    border-color: #8b5cf6;
}

#beds-baths-dropdown
.beds-baths-exact input:checked
+ .beds-baths-check::after {
    content: "✓";

    color: #fff;

    font-size: 11px;
    font-weight: 700;
    line-height: 1;
}

#beds-baths-dropdown .beds-baths-divider {
    height: 1px;

    margin: 18px 0;

    background: #eeeeF1;
}

/* =========================================================
   BEDS / BATHS — FINAL SEGMENTED POPUP WIDTH
   ========================================================= */

#beds-baths-dropdown .filter-popup {
    width: 470px !important;
    min-width: 470px !important;
    max-width: 470px !important;

    padding: 18px !important;
    box-sizing: border-box !important;
}

#beds-baths-dropdown .beds-baths-section {
    width: 100% !important;
}

#beds-baths-dropdown .beds-baths-segments {
    width: 100% !important;

    display: grid !important;
    grid-template-columns: repeat(6, 1fr) !important;

    gap: 4px !important;
}

#beds-baths-dropdown .beds-baths-segments button {
    width: 100% !important;
    min-width: 0 !important;
    height: 42px !important;

    padding: 0 8px !important;

    box-sizing: border-box !important;

    border: 1px solid #e5e5e7 !important;
    border-radius: 7px !important;

    background: #f5f5f6 !important;
    color: #555 !important;

    white-space: nowrap !important;
}

#beds-baths-dropdown .beds-baths-segments button.active {
    background: #8b5cf6 !important;
    border-color: #8b5cf6 !important;
    color: #fff !important;
}

#beds-baths-dropdown .beds-baths-segments button:hover {
    background: #ececf0 !important;
}

#beds-baths-dropdown .beds-baths-segments button.active:hover {
    background: #7c4ee8 !important;
}


/* =========================================================
   BEDS / BATHS — COUNTER DESIGN
   ========================================================= */

#beds-baths-dropdown .beds-baths-popup {
    width: 270px !important;
    min-width: 270px !important;
    max-width: 270px !important;

    padding: 20px !important;
    box-sizing: border-box !important;
}

#beds-baths-dropdown .beds-baths-control {
    width: 100% !important;
}

#beds-baths-dropdown .beds-baths-title {
    margin-bottom: 12px !important;

    color: #222 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}

#beds-baths-dropdown .beds-baths-counter {
    display: grid !important;

    grid-template-columns:
        38px
        1fr
        38px !important;

    align-items: center !important;

    width: 100% !important;
}

#beds-baths-dropdown .beds-baths-step {
    width: 38px !important;
    height: 38px !important;

    padding: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    border: 1px solid #e1e1e5 !important;
    border-radius: 50% !important;

    background: #f1f1f3 !important;
    color: #333 !important;

    font-family: Arial, sans-serif !important;
    font-size: 20px !important;
    font-weight: 400 !important;

    cursor: pointer !important;

    transition:
        background .15s ease,
        transform .1s ease !important;
}

#beds-baths-dropdown .beds-baths-step:hover {
    background: #e7e7eb !important;
}

#beds-baths-dropdown .beds-baths-step:active {
    transform: scale(.93) !important;
}

#beds-baths-dropdown .beds-baths-step:disabled {
    opacity: .35 !important;
    cursor: default !important;
}

#beds-baths-dropdown .beds-baths-value {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-width: 70px !important;

    color: #222 !important;

    font-size: 15px !important;
    font-weight: 600 !important;

    text-align: center !important;
}

#beds-baths-dropdown .beds-baths-divider {
    height: 1px !important;

    margin: 20px 0 !important;

    background: #eeeeF1 !important;
}



/* =========================================================
   ADVANCED FILTERS — AIRBNB / REDFIN STYLE
   ========================================================= */

#more-filters-dropdown .advanced-filters-popup {
    width: 560px !important;
    min-width: 560px !important;
    max-width: 560px !important;

    padding: 0 !important;

    overflow: hidden;

    border-radius: 20px;

    background: #fff;

    box-shadow:
        0 18px 45px rgba(0, 0, 0, .14),
        0 3px 12px rgba(0, 0, 0, .08);

    box-sizing: border-box;
}


/* HEADER */

#more-filters-dropdown .advanced-filters-header {

    display: flex;
    align-items: flex-start;
    justify-content: space-between;

    padding: 20px 22px 17px;

    border-bottom: 1px solid #eeeeF1;

    background: #fff;
}

#more-filters-dropdown .advanced-filters-heading {

    color: #171717;

    font-family: "Inter", sans-serif;
    font-size: 19px;
    font-weight: 700;

    line-height: 1.2;
}

#more-filters-dropdown .advanced-filters-subheading {

    margin-top: 4px;

    color: #85858d;

    font-family: "Inter", sans-serif;
    font-size: 12px;
    font-weight: 400;
}

#more-filters-dropdown .advanced-filters-reset {

    border: 0;
    padding: 4px 0;

    background: transparent;

    color: #6541c7;

    font-family: "Inter", sans-serif;
    font-size: 13px;
    font-weight: 600;

    cursor: pointer;
}

#more-filters-dropdown .advanced-filters-reset:hover {
    color: #4f2fa8;
    text-decoration: underline;
}


/* BODY */

#more-filters-dropdown .advanced-filters-body {

    max-height: 610px;

    overflow-y: auto;

    padding: 0 22px;

    scrollbar-width: thin;
    scrollbar-color: #d8d8de transparent;
}

#more-filters-dropdown .advanced-filter-section {

    padding: 19px 0;

    border-bottom: 1px solid #eeeeF1;
}

#more-filters-dropdown .advanced-filter-section:last-child {
    border-bottom: 0;
}

#more-filters-dropdown .advanced-filter-title {

    margin-bottom: 12px;

    color: #222;

    font-family: "Inter", sans-serif;
    font-size: 14px;
    font-weight: 700;
}


/* CHIPS */

#more-filters-dropdown .advanced-chip-grid {

    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 8px;
}

#more-filters-dropdown .advanced-chip {

    position: relative;

    min-width: 0;
}

#more-filters-dropdown .advanced-chip input {
    position: absolute;

    opacity: 0;

    pointer-events: none;
}

#more-filters-dropdown .advanced-chip span {

    display: flex;

    align-items: center;
    justify-content: center;

    min-height: 36px;

    padding: 0 11px;

    border: 1px solid #dedee4;

    border-radius: 9px;

    background: #fff;

    color: #4c4c54;

    font-family: "Inter", sans-serif;
    font-size: 12px;
    font-weight: 500;

    text-align: center;

    cursor: pointer;

    transition:
        background .15s ease,
        border-color .15s ease,
        color .15s ease,
        box-shadow .15s ease;
}

#more-filters-dropdown
.advanced-chip span:hover {

    border-color: #c9c9d0;

    background: #fafafa;
}

#more-filters-dropdown
.advanced-chip input:checked
+ span {

    border-color: #cfc2f5;

    background: #eee9ff;

    color: #6541c7;

    font-weight: 600;

    box-shadow:
        0 1px 2px rgba(70, 40, 130, .06);
}


/* RADIOS */

#more-filters-dropdown .advanced-radio-row {

    display: flex;

    flex-wrap: wrap;

    gap: 8px;
}

#more-filters-dropdown .advanced-radio-row label {

    position: relative;

    display: inline-flex;

    align-items: center;

    min-height: 34px;

    padding: 0 12px;

    border: 1px solid #dedee4;

    border-radius: 999px;

    background: #fff;

    color: #4d4d55;

    font-family: "Inter", sans-serif;
    font-size: 12px;
    font-weight: 500;

    cursor: pointer;

    transition:
        background .15s ease,
        border-color .15s ease,
        color .15s ease;
}

#more-filters-dropdown
.advanced-radio-row label:hover {

    border-color: #c9c9d0;

    background: #fafafa;
}

#more-filters-dropdown
.advanced-radio-row input {

    position: absolute;

    opacity: 0;

    pointer-events: none;
}

#more-filters-dropdown
.advanced-radio-row label:has(input:checked) {

    border-color: #cfc2f5;

    background: #eee9ff;

    color: #6541c7;

    font-weight: 600;
}


/* INPUT RANGES */

#more-filters-dropdown .advanced-range-grid {

    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 10px;
}

#more-filters-dropdown .advanced-input-wrap {

    display: flex;

    flex-direction: column;

    gap: 5px;
}

#more-filters-dropdown .advanced-input-wrap > span {

    color: #85858d;

    font-family: "Inter", sans-serif;
    font-size: 11px;
    font-weight: 500;
}

#more-filters-dropdown
.advanced-input-wrap input,
#more-filters-dropdown
.advanced-input-full input {

    width: 100%;

    height: 42px;

    padding: 0 12px;

    border: 1px solid #dcdce2;

    border-radius: 9px;

    outline: none;

    background: #fff;

    color: #222;

    font-family: "Inter", sans-serif;
    font-size: 13px;

    box-sizing: border-box;

    transition:
        border-color .15s ease,
        box-shadow .15s ease;
}

#more-filters-dropdown
.advanced-input-wrap input:focus,
#more-filters-dropdown
.advanced-input-full input:focus {

    border-color: #a98be8;

    box-shadow:
        0 0 0 3px rgba(139, 92, 246, .10);
}

#more-filters-dropdown input::placeholder {
    color: #aaaab1;
}


/* RENTAL DATE */

#more-filters-dropdown .advanced-input-full {

    display: flex;

    flex-direction: column;

    gap: 6px;

    margin-bottom: 12px;
}

#more-filters-dropdown
.advanced-input-full label {

    color: #85858d;

    font-family: "Inter", sans-serif;
    font-size: 11px;
    font-weight: 500;
}


/* CHECKBOX ROW */

#more-filters-dropdown .advanced-check-row {

    display: flex;

    flex-wrap: wrap;

    gap: 9px 18px;
}

#more-filters-dropdown .advanced-check {

    display: inline-flex;

    align-items: center;

    gap: 7px;

    color: #4d4d55;

    font-family: "Inter", sans-serif;
    font-size: 12px;
    font-weight: 500;

    cursor: pointer;
}

#more-filters-dropdown .advanced-check input {

    width: 16px;
    height: 16px;

    margin: 0;

    accent-color: #8b5cf6;

    cursor: pointer;
}


/* FOOTER */

#more-filters-dropdown .advanced-filters-footer {

    display: flex;

    align-items: center;
    justify-content: space-between;

    padding: 15px 22px;

    border-top: 1px solid #eeeeF1;

    background: #fff;
}

#more-filters-dropdown .advanced-filters-footer
.footer-reset {

    padding: 0;

    border: 0;

    background: transparent;

    color: #66666f;

    font-family: "Inter", sans-serif;
    font-size: 12px;
    font-weight: 600;

    cursor: pointer;
}

#more-filters-dropdown .advanced-filters-footer
.footer-reset:hover {

    color: #222;

    text-decoration: underline;
}

#more-filters-dropdown .advanced-filters-apply {

    min-width: 130px;

    height: 40px;

    padding: 0 18px;

    border: 0;

    border-radius: 9px;

    background: #8b5cf6;

    color: #fff;

    font-family: "Inter", sans-serif;
    font-size: 13px;
    font-weight: 700;

    cursor: pointer;

    box-shadow:
        0 3px 8px rgba(139, 92, 246, .22);

    transition:
        background .15s ease,
        transform .12s ease;
}

#more-filters-dropdown .advanced-filters-apply:hover {
    background: #7545df;
}

#more-filters-dropdown .advanced-filters-apply:active {
    transform: translateY(1px);
}


/* =========================================================
   ADVANCED FILTERS — RESPONSIVE
   ========================================================= */

@media (max-width: 1250px) {

    #more-filters-dropdown .advanced-filters-popup {

        width: 520px !important;
        min-width: 520px !important;
        max-width: 520px !important;

    }

}


@media (max-width: 900px) {

    #more-filters-dropdown .advanced-filters-popup {

        width: calc(100vw - 24px) !important;
        min-width: 0 !important;
        max-width: calc(100vw - 24px) !important;

    }

    #more-filters-dropdown .advanced-chip-grid {

        grid-template-columns:
            repeat(2, minmax(0, 1fr));

    }

}


/* FINAL ADVANCED FILTER POPUP OVERRIDE */

#more-filters-dropdown .filter-popup.advanced-filters-popup {
    width: 560px !important;
    min-width: 560px !important;
    max-width: 560px !important;
    padding: 0 !important;
}

@media (max-width: 1250px) {
    #more-filters-dropdown .filter-popup.advanced-filters-popup {
        width: 520px !important;
        min-width: 520px !important;
        max-width: 520px !important;
    }
}

@media (max-width: 900px) {
    #more-filters-dropdown .filter-popup.advanced-filters-popup {
        width: calc(100vw - 24px) !important;
        min-width: 0 !important;
        max-width: calc(100vw - 24px) !important;
    }
}


/* =========================================================
   FILTERS — CENTERED ADVANCED FILTER MODAL
   ========================================================= */

#more-filters-dropdown .filter-popup {
    position: fixed !important;

    top: 50% !important;
    left: 50% !important;

    transform: translate(-50%, -50%) !important;

    width: 560px !important;
    max-width: calc(100vw - 40px) !important;
    min-width: 0 !important;

    max-height: calc(100vh - 80px) !important;

    padding: 24px !important;

    box-sizing: border-box;

    background: #fff;

    border: 1px solid #e8e8ec;
    border-radius: 20px;

    box-shadow:
        0 20px 60px rgba(0, 0, 0, .16),
        0 4px 16px rgba(0, 0, 0, .08);

    overflow-y: auto;

    z-index: 10000;
}


#more-filters-dropdown .filter-popup.active {
    display: block !important;

    top: 50% !important;
    left: 50% !important;

    transform: translate(-50%, -50%) !important;
}


/* =========================================================
   FILTER CONTENT
   ========================================================= */

#more-filters-dropdown .popup-options {
    width: 100%;
}


/* =========================================================
   SECTION
   ========================================================= */

#more-filters-dropdown .filter-section {
    padding: 0 0 20px;
    margin: 0 0 20px;

    border-bottom: 1px solid #eeeeF2;
}

#more-filters-dropdown .filter-section:last-child {
    border-bottom: none;
    margin-bottom: 0;
}


#more-filters-dropdown .filter-section-title {
    margin-bottom: 12px;

    color: #222;

    font-family: "Inter", sans-serif;
    font-size: 15px;
    font-weight: 700;
}


/* =========================================================
   CHOICE BUTTONS
   ========================================================= */

#more-filters-dropdown .filter-choice-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}


#more-filters-dropdown .filter-choice {
    min-height: 38px;

    padding: 8px 13px;

    border: 1px solid #dedee4;
    border-radius: 10px;

    background: #fff;
    color: #444;

    font-family: "Inter", sans-serif;
    font-size: 13px;
    font-weight: 500;

    cursor: pointer;

    transition:
        background .15s ease,
        border-color .15s ease,
        color .15s ease,
        box-shadow .15s ease;
}


#more-filters-dropdown .filter-choice:hover {
    border-color: #bdb7d7;
    background: #faf9ff;
}


#more-filters-dropdown .filter-choice.active {
    background: #eee9ff;
    border-color: #cfc2f5;
    color: #6541c7;

    box-shadow:
        0 1px 3px rgba(70, 40, 130, .08);
}


/* =========================================================
   INPUT ROW
   ========================================================= */

#more-filters-dropdown .filter-input-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}


#more-filters-dropdown .filter-input-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
}


#more-filters-dropdown .filter-input-label {
    color: #777;

    font-family: "Inter", sans-serif;
    font-size: 11px;
    font-weight: 600;
}


#more-filters-dropdown .filter-input {
    width: 100%;
    height: 42px;

    padding: 0 12px;

    box-sizing: border-box;

    border: 1px solid #dedee4;
    border-radius: 10px;

    background: #fff;
    color: #222;

    font-family: "Inter", sans-serif;
    font-size: 13px;

    outline: none;

    transition:
        border-color .15s ease,
        box-shadow .15s ease;
}


#more-filters-dropdown .filter-input:focus {
    border-color: #9d86dc;

    box-shadow:
        0 0 0 3px rgba(139, 92, 246, .10);
}


/* =========================================================
   CHECKBOX / RADIO GRID
   ========================================================= */

#more-filters-dropdown .filter-check-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 8px;
}


#more-filters-dropdown .filter-check {
    display: flex;
    align-items: center;
    gap: 8px;

    min-height: 36px;

    padding: 7px 9px;

    border: 1px solid #eeeeF2;
    border-radius: 9px;

    background: #fafafa;

    color: #444;

    font-family: "Inter", sans-serif;
    font-size: 12px;

    cursor: pointer;
}


#more-filters-dropdown .filter-check:hover {
    background: #f7f5ff;
    border-color: #ddd5f5;
}


#more-filters-dropdown .filter-check input {
    accent-color: #8b5cf6;

    width: 15px;
    height: 15px;

    margin: 0;
}


/* =========================================================
   HEADER
   ========================================================= */

#more-filters-dropdown .filters-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-bottom: 22px;
}


#more-filters-dropdown .filters-modal-title {
    color: #171717;

    font-family: "Inter", sans-serif;
    font-size: 21px;
    font-weight: 700;
}


#more-filters-dropdown .filters-reset {
    border: none;

    padding: 5px 0;

    background: transparent;
    color: #6541c7;

    font-family: "Inter", sans-serif;
    font-size: 13px;
    font-weight: 600;

    cursor: pointer;
}


#more-filters-dropdown .filters-reset:hover {
    color: #4f2fa8;
}


/* =========================================================
   FOOTER
   ========================================================= */

#more-filters-dropdown .filters-modal-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;

    gap: 10px;

    padding-top: 18px;

    border-top: 1px solid #eeeeF2;
}


#more-filters-dropdown .filters-apply {
    min-width: 130px;
    height: 42px;

    padding: 0 18px;

    border: none;
    border-radius: 10px;

    background: #8b5cf6;
    color: #fff;

    font-family: "Inter", sans-serif;
    font-size: 13px;
    font-weight: 700;

    cursor: pointer;

    box-shadow:
        0 4px 10px rgba(139, 92, 246, .20);
}


#more-filters-dropdown .filters-apply:hover {
    background: #7c4ee8;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

    #more-filters-dropdown .filter-popup {
        width: calc(100vw - 24px) !important;
        max-width: none !important;

        max-height: calc(100vh - 24px) !important;

        padding: 18px !important;

        border-radius: 16px;
    }

    #more-filters-dropdown .filter-check-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    #more-filters-dropdown .filter-input-row {
        grid-template-columns: 1fr;
    }

}


/* ============================================================
   ADVANCED FILTER SHEET
   Airbnb / Redfin-style master Filters panel
   ============================================================ */

#more-filters-dropdown .advanced-filter-overlay {
    position: fixed;
    inset: 0;

    z-index: 99999;

    display: none;
    align-items: center;
    justify-content: center;

    padding: 24px;

    background: rgba(20, 20, 28, .42);

    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);

    box-sizing: border-box;
}

#more-filters-dropdown .advanced-filter-overlay.active {
    display: flex;
}


#more-filters-dropdown .advanced-filter-sheet {
    position: relative;

    width: min(560px, calc(100vw - 48px));
    max-height: min(820px, calc(100vh - 48px));

    display: flex;
    flex-direction: column;

    overflow: hidden;

    background: #fff;

    border: 1px solid #e8e8ec;
    border-radius: 22px;

    box-shadow:
        0 24px 70px rgba(20, 20, 30, .22),
        0 4px 14px rgba(20, 20, 30, .08);

    color: #222;

    box-sizing: border-box;

    animation: advancedFilterIn .18s ease-out;
}

@keyframes advancedFilterIn {
    from {
        opacity: 0;
        transform: translateY(10px) scale(.985);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}


/* HEADER */

#more-filters-dropdown .advanced-filter-header {
    display: flex;
    align-items: center;
    justify-content: space-between;

    flex: 0 0 auto;

    padding: 20px 22px 17px;

    border-bottom: 1px solid #eeeeF1;

    background: #fff;
}

#more-filters-dropdown .advanced-filter-title {
    color: #17171b;

    font-family: "Inter", sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;
}

#more-filters-dropdown .advanced-filter-subtitle {
    margin-top: 4px;

    color: #77777f;

    font-family: "Inter", sans-serif;
    font-size: 12px;
    line-height: 1.3;
}

#more-filters-dropdown .advanced-filter-close {
    width: 36px;
    height: 36px;

    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 36px;

    padding: 0;

    border: 0;
    border-radius: 50%;

    background: #f3f3f5;
    color: #333;

    cursor: pointer;

    transition:
        background .15s ease,
        transform .12s ease;
}

#more-filters-dropdown .advanced-filter-close:hover {
    background: #e9e9ec;
}

#more-filters-dropdown .advanced-filter-close:active {
    transform: scale(.94);
}

#more-filters-dropdown .advanced-filter-close
.material-symbols-outlined {
    font-size: 20px;
}


/* BODY */

#more-filters-dropdown .advanced-filter-body {
    flex: 1 1 auto;

    min-height: 0;

    overflow-y: auto;
    overflow-x: hidden;

    padding: 2px 22px 20px;

    scrollbar-width: thin;
    scrollbar-color: #d4d4d9 transparent;
}

#more-filters-dropdown .advanced-filter-body::-webkit-scrollbar {
    width: 7px;
}

#more-filters-dropdown .advanced-filter-body::-webkit-scrollbar-track {
    background: transparent;
}

#more-filters-dropdown .advanced-filter-body::-webkit-scrollbar-thumb {
    background: #d5d5da;
    border-radius: 99px;
}


/* SECTIONS */

#more-filters-dropdown .advanced-filter-section {
    padding: 18px 0;
}

#more-filters-dropdown .advanced-filter-section-title {
    margin-bottom: 12px;

    color: #25252a;

    font-family: "Inter", sans-serif;
    font-size: 14px;
    font-weight: 700;
}

#more-filters-dropdown .advanced-subsection {
    margin-top: 18px;
}

#more-filters-dropdown .advanced-filter-divider {
    width: 100%;
    height: 1px;

    background: #eeeeF1;
}


/* GRID */

#more-filters-dropdown .advanced-filter-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 12px;
}

#more-filters-dropdown .advanced-check-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 9px;
}

#more-filters-dropdown .advanced-radio-grid {
    display: flex;
    flex-wrap: wrap;

    gap: 8px;
}


/* SELECT / DATE / RANGE INPUTS */

#more-filters-dropdown .advanced-filter-field {
    display: flex;
    flex-direction: column;

    gap: 6px;
}

#more-filters-dropdown .advanced-filter-field label {
    color: #66666e;

    font-family: "Inter", sans-serif;
    font-size: 11px;
    font-weight: 500;
}

#more-filters-dropdown .advanced-filter-field select,
#more-filters-dropdown .advanced-filter-field input,
#more-filters-dropdown .advanced-range-grid input {
    width: 100%;
    height: 42px;

    padding: 0 12px;

    border: 1px solid #dcdce1;
    border-radius: 10px;

    outline: none;

    background: #fff;
    color: #242429;

    font-family: "Inter", sans-serif;
    font-size: 13px;

    box-sizing: border-box;

    transition:
        border-color .15s ease,
        box-shadow .15s ease;
}

#more-filters-dropdown .advanced-filter-field select:focus,
#more-filters-dropdown .advanced-filter-field input:focus,
#more-filters-dropdown .advanced-range-grid input:focus {
    border-color: #9b7be8;

    box-shadow:
        0 0 0 3px rgba(139, 92, 246, .10);
}


#more-filters-dropdown .advanced-range-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 10px;
}

#more-filters-dropdown .advanced-range-grid input::placeholder {
    color: #9999a1;
}


/* CHECKBOX PILLS */

#more-filters-dropdown .advanced-check {
    position: relative;

    min-width: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    min-height: 38px;

    padding: 0 10px;

    border: 1px solid #dedee3;
    border-radius: 10px;

    background: #fff;
    color: #414148;

    cursor: pointer;
    user-select: none;

    box-sizing: border-box;

    transition:
        background .15s ease,
        border-color .15s ease,
        color .15s ease,
        box-shadow .15s ease;
}

#more-filters-dropdown .advanced-check:hover {
    border-color: #c9c4d5;
    background: #faf9fc;
}

#more-filters-dropdown .advanced-check input {
    position: absolute;

    width: 1px;
    height: 1px;

    opacity: 0;
    pointer-events: none;
}

#more-filters-dropdown .advanced-check span {
    overflow: hidden;

    white-space: nowrap;
    text-overflow: ellipsis;

    font-family: "Inter", sans-serif;
    font-size: 11px;
    font-weight: 500;
}

#more-filters-dropdown
.advanced-check:has(input:checked) {
    border-color: #c9b9ef;

    background: #f3efff;
    color: #6541c7;

    box-shadow:
        0 1px 2px rgba(70, 40, 130, .05);
}

#more-filters-dropdown
.advanced-check:has(input:checked)::before {
    content: "✓";

    margin-right: 5px;

    font-size: 11px;
    font-weight: 700;
}


/* RADIO PILLS */

#more-filters-dropdown .advanced-radio {
    position: relative;

    display: inline-flex;
    align-items: center;

    min-height: 36px;

    padding: 0 12px;

    border: 1px solid #dedee3;
    border-radius: 999px;

    background: #fff;
    color: #46464d;

    cursor: pointer;
    user-select: none;

    box-sizing: border-box;

    transition:
        background .15s ease,
        border-color .15s ease,
        color .15s ease;
}

#more-filters-dropdown .advanced-radio:hover {
    background: #faf9fc;
    border-color: #cbc6d5;
}

#more-filters-dropdown .advanced-radio input {
    position: absolute;

    width: 1px;
    height: 1px;

    opacity: 0;
    pointer-events: none;
}

#more-filters-dropdown .advanced-radio span {
    font-family: "Inter", sans-serif;
    font-size: 11px;
    font-weight: 500;
}

#more-filters-dropdown
.advanced-radio:has(input:checked) {
    border-color: #c9b9ef;

    background: #f1edff;
    color: #6541c7;

    font-weight: 600;
}


/* FOOTER */

#more-filters-dropdown .advanced-filter-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 14px;

    flex: 0 0 auto;

    padding: 14px 22px;

    border-top: 1px solid #eeeeF1;

    background: rgba(255,255,255,.98);

    box-shadow:
        0 -4px 14px rgba(20,20,30,.035);
}

#more-filters-dropdown .advanced-result-count {
    min-width: 0;

    color: #55555d;

    font-family: "Inter", sans-serif;
    font-size: 12px;
    font-weight: 500;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#more-filters-dropdown .advanced-apply-button {
    min-width: 170px;
    height: 44px;

    padding: 0 18px;

    border: 0;
    border-radius: 11px;

    background: #8b5cf6;
    color: #fff;

    font-family: "Inter", sans-serif;
    font-size: 13px;
    font-weight: 700;

    cursor: pointer;

    box-shadow:
        0 5px 14px rgba(139, 92, 246, .22);

    transition:
        background .15s ease,
        transform .12s ease,
        box-shadow .15s ease;
}

#more-filters-dropdown .advanced-apply-button:hover {
    background: #7c4fe8;

    box-shadow:
        0 7px 17px rgba(139, 92, 246, .27);
}

#more-filters-dropdown .advanced-apply-button:active {
    transform: translateY(1px);
}


/* RENTAL */

#more-filters-dropdown .advanced-rental-checks {
    margin-top: 12px;
}


/* ============================================================
   MOBILE — THIS IS THE FUTURE MOBILE FILTER SHEET
   ============================================================ */

@media (max-width: 700px) {

    #more-filters-dropdown .advanced-filter-overlay {
        align-items: flex-end;

        padding: 0;

        background: rgba(20,20,28,.35);
    }

    #more-filters-dropdown .advanced-filter-sheet {
        width: 100%;
        max-width: none;

        height: min(92vh, 900px);
        max-height: 92vh;

        border-radius: 22px 22px 0 0;

        border-left: 0;
        border-right: 0;
        border-bottom: 0;

        animation: advancedFilterMobileIn .2s ease-out;
    }

    @keyframes advancedFilterMobileIn {
        from {
            transform: translateY(100%);
        }

        to {
            transform: translateY(0);
        }
    }

    #more-filters-dropdown .advanced-filter-header {
        padding:
            16px
            18px
            14px;
    }

    #more-filters-dropdown .advanced-filter-body {
        padding:
            0
            18px
            18px;
    }

    #more-filters-dropdown .advanced-filter-footer {
        padding:
            12px
            18px
            calc(12px + env(safe-area-inset-bottom));
    }

    #more-filters-dropdown .advanced-result-count {
        font-size: 11px;
    }

    #more-filters-dropdown .advanced-apply-button {
        min-width: 145px;
    }

    #more-filters-dropdown .advanced-check-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


/* SMALL PHONES */

@media (max-width: 420px) {

    #more-filters-dropdown .advanced-filter-grid {
        grid-template-columns: 1fr;
    }

    #more-filters-dropdown .advanced-filter-footer {
        gap: 8px;
    }

    #more-filters-dropdown .advanced-result-count {
        max-width: 45%;
    }

    #more-filters-dropdown .advanced-apply-button {
        min-width: 0;
        flex: 1;
    }

}


/* =========================================================
   ADVANCED FILTERS — CENTERED DESKTOP SHEET
   ========================================================= */

#advanced-filter-overlay{
    position: fixed !important;

    inset: 0 !important;

    z-index: 99990 !important;

    display: none;

    align-items: center;
    justify-content: center;

    padding: 32px;

    box-sizing: border-box;

    background:
        rgba(15, 15, 20, .38);

    backdrop-filter:
        blur(3px);

    -webkit-backdrop-filter:
        blur(3px);
}


/*
 * JS adds .active when Filters is opened.
 */

#advanced-filter-overlay.active{
    display: flex !important;
}


/* =========================================================
   FILTER SHEET
   ========================================================= */

#advanced-filter-overlay .advanced-filter-sheet{

    width: min(560px, calc(100vw - 48px));

    max-height: min(
        82vh,
        820px
    );

    display: flex;

    flex-direction: column;

    overflow: hidden;

    box-sizing: border-box;

    background: #fff;

    border: 1px solid rgba(0,0,0,.08);

    border-radius: 22px;

    box-shadow:
        0 24px 70px rgba(0,0,0,.20),
        0 8px 24px rgba(0,0,0,.08);

    animation:
        advancedFilterIn
        .18s ease-out;
}


@keyframes advancedFilterIn{

    from{
        opacity: 0;
        transform:
            translateY(8px)
            scale(.985);
    }

    to{
        opacity: 1;
        transform:
            translateY(0)
            scale(1);
    }

}


/* =========================================================
   HEADER
   ========================================================= */

#advanced-filter-overlay .advanced-filter-header{

    flex: 0 0 auto;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;

    padding:
        20px
        22px
        18px;

    border-bottom:
        1px solid #eeeeF1;

    background: #fff;
}


#advanced-filter-overlay .advanced-filter-title{

    font-size: 21px;

    line-height: 1.2;

    font-weight: 700;

    letter-spacing: -.02em;

    color: #18181b;
}


#advanced-filter-overlay .advanced-filter-subtitle{

    margin-top: 4px;

    font-size: 13px;

    line-height: 1.4;

    color: #71717a;
}


#advanced-filter-overlay .advanced-filter-close{

    width: 38px;
    height: 38px;

    flex: 0 0 38px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    padding: 0;

    border: 0;

    border-radius: 50%;

    background: #f4f4f5;

    color: #27272a;

    cursor: pointer;

    transition:
        background .15s ease,
        transform .15s ease;
}


#advanced-filter-overlay .advanced-filter-close:hover{

    background: #e9e9ed;

    transform: scale(1.04);
}


#advanced-filter-overlay .advanced-filter-close .material-symbols-outlined{

    font-size: 21px;
}


/* =========================================================
   BODY
   ========================================================= */

#advanced-filter-overlay .advanced-filter-body{

    flex: 1 1 auto;

    min-height: 0;

    overflow-y: auto;

    padding:
        4px
        22px
        22px;

    overscroll-behavior: contain;

    scrollbar-width: thin;
}


/* =========================================================
   SECTIONS
   ========================================================= */

#advanced-filter-overlay .advanced-filter-section{

    padding:
        18px
        0;

    border-bottom:
        1px solid #eeeeF1;
}


#advanced-filter-overlay .advanced-filter-section:last-child{

    border-bottom: 0;

}


#advanced-filter-overlay .advanced-filter-section-title{

    margin-bottom: 12px;

    font-size: 14px;

    font-weight: 700;

    color: #27272a;

    letter-spacing: -.005em;
}


#advanced-filter-overlay .advanced-filter-section-subtitle{

    margin:
        -7px
        0
        12px;

    font-size: 12px;

    color: #71717a;
}


/* =========================================================
   FIELDS / GRID
   ========================================================= */

#advanced-filter-overlay .advanced-filter-grid{

    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 12px;
}


#advanced-filter-overlay .advanced-filter-field{

    min-width: 0;
}


#advanced-filter-overlay .advanced-filter-field.full{

    grid-column: 1 / -1;

}


#advanced-filter-overlay .advanced-filter-field label{

    display: block;

    margin-bottom: 6px;

    font-size: 12px;

    font-weight: 600;

    color: #52525b;
}


#advanced-filter-overlay .advanced-filter-field input,
#advanced-filter-overlay .advanced-filter-field select{

    width: 100%;

    height: 42px;

    box-sizing: border-box;

    padding:
        0
        12px;

    border:
        1px solid #d9d9df;

    border-radius: 10px;

    background: #fff;

    color: #18181b;

    font-size: 13px;

    outline: none;

    transition:
        border-color .15s ease,
        box-shadow .15s ease;
}


#advanced-filter-overlay .advanced-filter-field input:focus,
#advanced-filter-overlay .advanced-filter-field select:focus{

    border-color: #8b5cf6;

    box-shadow:
        0 0 0 3px rgba(139,92,246,.12);
}


/* =========================================================
   OPTION GROUPS
   ========================================================= */

#advanced-filter-overlay .advanced-filter-options{

    display: flex;

    flex-wrap: wrap;

    gap: 8px;
}


#advanced-filter-overlay .advanced-filter-option{

    position: relative;

    display: inline-flex;

    align-items: center;
}


#advanced-filter-overlay .advanced-filter-option input{

    position: absolute;

    opacity: 0;

    pointer-events: none;
}


#advanced-filter-overlay .advanced-filter-option label{

    min-height: 36px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    box-sizing: border-box;

    padding:
        7px
        12px;

    border:
        1px solid #ddddE2;

    border-radius: 9px;

    background: #fff;

    color: #3f3f46;

    font-size: 12px;

    font-weight: 500;

    cursor: pointer;

    user-select: none;

    transition:
        background .15s ease,
        border-color .15s ease,
        color .15s ease,
        box-shadow .15s ease;
}


#advanced-filter-overlay
.advanced-filter-option
input:checked
+ label{

    background: #eee9ff;

    border-color: #cfc2f5;

    color: #6541c7;

    font-weight: 600;

    box-shadow:
        0 1px 2px rgba(70,40,130,.06);
}


#advanced-filter-overlay
.advanced-filter-option
label:hover{

    border-color: #cfc2f5;

}


/* =========================================================
   FOOTER / APPLY
   ========================================================= */

#advanced-filter-overlay .advanced-filter-footer{

    flex: 0 0 auto;

    display: flex;

    align-items: center;

    justify-content: flex-end;

    gap: 12px;

    padding:
        14px
        22px
        18px;

    border-top:
        1px solid #eeeeF1;

    background: #fff;
}


#advanced-filter-overlay .advanced-filter-apply{

    min-width: 180px;

    height: 44px;

    padding:
        0
        18px;

    border: 0;

    border-radius: 11px;

    background: #6d45d8;

    color: #fff;

    font-size: 13px;

    font-weight: 700;

    cursor: pointer;

    box-shadow:
        0 4px 12px rgba(109,69,216,.20);

    transition:
        background .15s ease,
        transform .15s ease,
        box-shadow .15s ease;
}


#advanced-filter-overlay .advanced-filter-apply:hover{

    background: #5f38ca;

    transform: translateY(-1px);

    box-shadow:
        0 6px 16px rgba(109,69,216,.25);
}


/* =========================================================
   PREVENT PAGE SCROLL WHILE SHEET IS OPEN
   ========================================================= */

body.advanced-filters-open{

    overflow: hidden;

}


/* =========================================================
   MOBILE — BOTTOM SHEET FOUNDATION
   ========================================================= */

@media (max-width: 900px){

    #advanced-filter-overlay{

        align-items: flex-end;

        padding: 0;

    }


    #advanced-filter-overlay
    .advanced-filter-sheet{

        width: 100%;

        max-width: none;

        max-height: 92vh;

        border-radius:
            20px
            20px
            0
            0;

        animation:
            advancedFilterMobileIn
            .18s ease-out;
    }


    @keyframes advancedFilterMobileIn{

        from{
            opacity: 0;
            transform:
                translateY(28px);
        }

        to{
            opacity: 1;
            transform:
                translateY(0);
        }

    }


    #advanced-filter-overlay
    .advanced-filter-header{

        padding:
            18px
            18px
            16px;

    }


    #advanced-filter-overlay
    .advanced-filter-body{

        padding:
            2px
            18px
            18px;

    }


    #advanced-filter-overlay
    .advanced-filter-grid{

        grid-template-columns:
            1fr;

    }


    #advanced-filter-overlay
    .advanced-filter-field.full{

        grid-column: auto;

    }


    #advanced-filter-overlay
    .advanced-filter-footer{

        padding:
            12px
            18px
            calc(14px + env(safe-area-inset-bottom));

    }


    #advanced-filter-overlay
    .advanced-filter-apply{

        width: 100%;

    }

}


/* Desktop filter-sheet controls */
#advanced-filter-overlay .advanced-control{width:100%;min-height:44px;box-sizing:border-box;border:1px solid #d8dce5;border-radius:10px;background:#fff;padding:10px 12px;font:inherit;color:#202431}
#advanced-filter-overlay .advanced-category-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 14px}
#advanced-filter-overlay .advanced-category-tabs button{min-height:42px;border:1px solid #d8dce5;border-radius:999px;background:#fff;color:#777d89;font:inherit;cursor:pointer}
#advanced-filter-overlay .advanced-category-tabs button[aria-pressed="true"]{background:#171923;color:#fff;border-color:#171923}
#advanced-filter-overlay .advanced-filter-footer{display:flex;align-items:center;gap:10px}
#advanced-filter-overlay .advanced-reset-button{flex:0 0 20%;min-height:48px;border:0;background:transparent;color:#596071;font:inherit;cursor:pointer}
#advanced-filter-overlay .advanced-apply-button{flex:1}
#advanced-filter-overlay .advanced-check input{width:16px;height:16px;accent-color:#202431}


/* Desktop Filters: flat controls, live category price chart */
#advanced-filter-overlay .advanced-control,
#advanced-filter-overlay input.advanced-control,
#advanced-filter-overlay select.advanced-control{
  background:transparent!important;color:#25262a!important;border:1px solid #dedfe3!important;
  border-radius:9px!important;box-shadow:none!important;font:inherit!important;min-height:44px;
}
#advanced-filter-overlay select.advanced-control{appearance:none;-webkit-appearance:none;padding-right:36px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%235c5d62' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 12px center!important;background-color:transparent!important}
#advanced-filter-overlay .advanced-control:focus{outline:none;border-color:#797a80!important;box-shadow:0 0 0 2px #0000000a!important}
#advanced-filter-overlay .advanced-filter-field{display:block;color:#6d6e73;font-size:12px;font-weight:500}
#advanced-filter-overlay .advanced-filter-section-title{color:#202126;font-size:15px;font-weight:650;letter-spacing:0;margin-bottom:12px}
#advanced-filter-overlay .advanced-subsection{margin-top:16px;color:#33343a;font-size:13px}
#advanced-filter-overlay .advanced-price-chart{display:flex;align-items:flex-end;gap:2px;height:48px;margin:0 2px 8px;overflow:hidden;border-bottom:1px solid #e5e5e8}
#advanced-filter-overlay .advanced-price-chart .price-chart-bar{flex:1;width:auto;min-width:2px;margin:0;border-radius:2px 2px 0 0;background:#d8d8dc;opacity:1;transition:background .12s ease}
#advanced-filter-overlay .advanced-price-chart .price-chart-bar.active{background:#25262a}
#advanced-filter-overlay .advanced-price-chart .price-chart-bar.inactive{background:#e5e5e8}
#advanced-filter-overlay .advanced-price-slider{--range-left:0%;--range-right:100%;position:relative;height:34px;margin:0 4px 12px;touch-action:pan-y}
#advanced-filter-overlay .advanced-price-track{position:absolute;left:0;right:0;top:15px;height:4px;border-radius:9px;background:linear-gradient(to right,#e2e2e5 0 var(--range-left),#24252a var(--range-left) var(--range-right),#e2e2e5 var(--range-right) 100%)}
#advanced-filter-overlay .advanced-price-slider input[type=range]{position:absolute;inset:0;width:100%;height:34px;margin:0;background:transparent;appearance:none;-webkit-appearance:none;pointer-events:none}
#advanced-filter-overlay .advanced-price-slider input[type=range]::-webkit-slider-runnable-track{height:4px;background:transparent}
#advanced-filter-overlay .advanced-price-slider input[type=range]::-moz-range-track{height:4px;background:transparent}
#advanced-filter-overlay .advanced-price-slider input[type=range]::-webkit-slider-thumb{width:18px;height:18px;margin-top:-7px;border:1px solid #fff;border-radius:50%;background:#292a30;box-shadow:0 1px 4px #0002;appearance:none;-webkit-appearance:none;pointer-events:auto}
#advanced-filter-overlay .advanced-price-slider input[type=range]::-moz-range-thumb{width:16px;height:16px;border:1px solid #fff;border-radius:50%;background:#292a30;box-shadow:0 1px 4px #0002;pointer-events:auto}
#advanced-filter-overlay .advanced-filter-footer{justify-content:flex-end;gap:12px}
#advanced-filter-overlay .advanced-reset-button{flex:0 0 20%;width:auto;background:transparent}
#advanced-filter-overlay .advanced-apply-button{flex:1;min-width:0;width:auto}
#more-filters-button .filter-label{max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
