/* Unified property filters: retain native controls and one apply action. */
#products { display: block; }
#products .top_search { width: 100%; float: none; }
#products .pf-unified-bar { position: sticky; top: var(--pf-header-height,76px); z-index: 12; box-shadow: 0 4px 14px rgb(31 77 59 / 8%); display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 20px; padding: 12px; border: 1px solid #e2daca; border-radius: 14px; background: #fff; direction: rtl; }
.pf-desktop-host { flex: 1; min-width: 0; }
#products .top_search_filter { display: block; padding: 0; margin: 0; border: 0; background: transparent; }
#products .pf-basic { margin: 0; padding: 0; text-align: right; }
.pf-basic-heading { display: none; }
.pf-basic-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.pf-field { position: relative; min-width: 0; color: #1f4d3b; }
#products .pf-field > label, .pf-field-label { display: block; margin: 0 0 7px; color: #344b3e; font-size: 12px; font-weight: 700; line-height: 1.6; }
#products .pf-field > select { box-sizing: border-box; display: block; width: 100%; min-width: 0; height: 48px; margin: 0; padding: 10px 12px 10px 30px; border: 1px solid #cfd8cb; border-radius: 7px; font: inherit; font-size: 13px; color: #17231e; background: #fff; appearance: none; background-image: none; cursor: pointer; }
.pf-field:not(.pf-payment-placeholder)::after { content: ''; position: absolute; left: 15px; bottom: 21px; width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); pointer-events: none; }
.pf-payment-placeholder p { display: flex; align-items: center; box-sizing: border-box; min-height: 48px; margin: 0; padding: 10px; border: 1px dashed #ded3c2; border-radius: 7px; color: #7b8579; font-size: 12px; }
#products .pf-open, #products #property-search-apply { display: inline-flex; align-items: center; justify-content: center; gap: 8px; box-sizing: border-box; min-height: 48px; margin: 0; padding: 10px 18px; border: 1px solid #d6ddcf; border-radius: 7px; color: #1f4d3b; background: #fff; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; white-space: nowrap; }
#products #property-search-apply { border-color: #1f4d3b; color: #fff; background: #1f4d3b; }
#products #property-search-apply:hover { background: #173b2e; }
#products #property-search-apply:disabled { opacity: .65; cursor: wait; }
.pf-count { display: inline-flex; align-items: center; justify-content: center; min-width: 22px; height: 22px; padding: 0 4px; border-radius: 5px; background: #e9f0e7; color: #173b2e; font-size: 11px; }
.pf-count[hidden] { display: none; }
#products #property-search-error { max-width: 270px; margin: 8px 0 0; color: #a73525; font-size: 12px; line-height: 1.7; }
#products .pf-dialog { box-sizing: border-box; position: fixed; inset: 0 0 0 auto; width: min(540px,100%); max-width: 100%; height: 100dvh; max-height: 100dvh; margin: 0; padding: 0; border: 0; border-left: 1px solid #e2daca; border-radius: 0; background: #fff; color: #17231e; font-family: inherit; overflow: clip; }
.pf-dialog[open] { display: flex; flex-direction: column; }
.pf-dialog::backdrop { background: rgb(0 0 0 / 38%); }
.pf-dialog-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-shrink: 0; padding: 16px 20px; border-bottom: 1px solid #e2daca; }
#products .pf-dialog-heading h2 { margin: 0; font-size: 19px; line-height: 1.5; color: #1f4d3b; }
#products .pf-close { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 1px solid #e2daca; border-radius: 6px; color: #1f4d3b; background: #fff; }
.pf-dialog-body { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 22px; }
#products .pf-dialog .pf-basic { margin-bottom: 24px; }
#products .pf-dialog .pf-basic-heading { display: block; margin-bottom: 18px; }
#products .pf-basic-heading h2 { margin: 0 0 6px; color: #1f4d3b; font-size: 16px; }
.pf-basic-heading p { margin: 0; color: #69766a; font-size: 12px; line-height: 1.8; }
#products .pf-dialog .pf-basic-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
#products .pf-dialog .pf-field > select, #products .pf-dialog .pf-payment-placeholder p { border-radius: 8px; }
#products .pf-dialog .side_search { box-sizing: border-box; display: block; width: 100%; padding: 0; max-height: none; overflow: visible; background: transparent; color: #17231e; text-align: right; }
.pf-dialog-footer { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; flex-shrink: 0; gap: 10px 16px; padding: 14px 20px max(14px,env(safe-area-inset-bottom)); border-top: 1px solid #e2daca; background: #fff; }
#products .pf-dialog #property-search-apply { width: 100%; margin: 0; border-radius: 8px; }
#products #reset_filters { min-height: 44px; padding: 8px 0; margin: 0; border: 0; background: transparent; color: #985638; font: inherit; font-size: 12px; cursor: pointer; }
.pf-dialog-footer > p { grid-column: 1 / -1; margin: 0; color: #69766a; font-size: 11px; line-height: 1.6; }
#products :is(.pf-unified-bar,.pf-dialog) :is(button,select):focus-visible { outline: 2px solid #1f4d3b; outline-offset: 3px; }
body.pf-dialog-lock { overflow: hidden; }
.pf-detail-heading { margin-bottom: 22px; }
#products .pf-detail-heading h2 { margin: 0 0 6px; color: #1f4d3b; font-size: 19px; line-height: 1.6; }
.pf-detail-heading p, #products .pf-help { margin: 6px 0 12px; color: #69766a; font-size: 12px; line-height: 1.8; }
#products .side_search .pf-group { display: block; box-sizing: border-box; min-width: 0; width: 100%; margin: 0 0 22px; padding: 16px 0 0; border: 0; border-top: 1px solid #e2daca; text-align: right; }
#products .pf-group > legend, #products .pf-group > h3 { float: none; width: auto; max-width: 100%; margin: 0; padding: 0 0 0 8px; color: #1f4d3b; font-size: 14px; font-weight: 700; line-height: 1.6; }
#products .side_search .advanced_search_box, #products .pf-dependent, #products #search_type_options, #products .type_mod { width: 100%; margin: 0; padding: 0; background: transparent; text-align: right; }
#products .side_search .advanced_search_body { display: block; margin: 0; padding: 0; }
#products .side_search .advanced_search_body.pf-group { margin-bottom: 22px; padding-top: 16px; }
#products .pf-range { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; width: 100%; }
#products .pf-group .relative { display: block; box-sizing: border-box; position: relative; width: 100%; min-width: 0; margin: 0 0 12px; }
#products .pf-range > .relative { margin-bottom: 0; }
#products .pf-group .relative > label { display: block; margin: 0 0 7px; color: #344b3e; font-size: 12px; font-weight: 600; }
#products .pf-group input[type=text] { box-sizing: border-box; display: block; width: 100% !important; min-width: 0; height: 48px; padding: 10px 12px; margin: 0; border: 1px solid #cfd8cb; border-radius: 8px; color: #17231e; background: #fff; font-family: inherit; font-size: 14px; text-align: right; box-shadow: none; }
#products .pf-group input[type=text]::placeholder { color: #7b8579; font-size: 12px; opacity: 1; }
#products .pf-group input[type=text]:focus { border-color: #1f4d3b !important; box-shadow: none; }
#products .pf-group button { display: inline-flex; box-sizing: border-box; align-items: center; justify-content: center; position: static; min-width: 44px; min-height: 44px; height: 44px; padding: 0 !important; margin: 0; border: 1px solid #cfd8cb; border-radius: 7px; background: #fff; color: #1f4d3b; font-size: 14px; cursor: pointer; }
#products .pf-group .relative > button { position: absolute; inset: auto auto 2px 2px; border: 0; background: transparent; }
#products .pf-group button:hover { color: #173b2e; background: #edf2e9; }
#products .pf-group :is(input,button):focus-visible { outline: 2px solid #1f4d3b; outline-offset: 2px; }
#products .pf-group .models { display: flex; flex-direction: column; gap: 10px; width: 100%; }
#products .pf-group .models > span { display: grid; grid-template-columns: minmax(0,1fr) 44px; align-items: center; gap: 6px; width: 100%; min-width: 0; margin: 0; }
#products .pf-group .models input { padding-left: 12px; }
#products .pf-group .models button { position: static; width: 44px; height: 44px; }
#products .pf-group .address_search { padding: 0 !important; }
#products .pf-group .address_search > p { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin: 0 0 12px; }
#products .pf-group .address_search > p > .relative { width: 100% !important; margin: 0; }
#products .pf-group .address_search > p > button { grid-column: 1 / -1; justify-self: start; }
#products .pf-group .address_search input { padding: 10px 8px; height: 48px; }
#products .pf-group .address_search .relative > button { left: 50%; transform: translateX(-50%); }
#products .pf-group :is(input[type=checkbox],input[type=radio]) { display: block; position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
#products .pf-group :is(input[type=checkbox],input[type=radio]) + label { box-sizing: border-box; display: inline-flex; gap: 7px; align-items: center; min-height: 44px; padding: 9px 10px; margin: 0 0 6px 4px; border: 1px solid #d6ddcf; border-radius: 7px; color: #344b3e; background: #fff; font-size: 12px; line-height: 1.7; cursor: pointer; }
#products .pf-group input + label::before { content: ''; flex-shrink: 0; box-sizing: border-box; width: 13px; height: 13px; margin: 0; border: 1px solid #8a9e89; border-radius: 3px; background: transparent; box-shadow: none; }
#products .pf-group input[type=radio] + label::before { border-radius: 6px; }
#products .pf-group input + label > span { display: none; }
#products .pf-group input + label > bdi { color: inherit; }
#products .pf-group input:checked + label { color: #173b2e; background: #e9f0e7; border-color: #1f4d3b; }
#products .pf-group input:checked + label::before { border-color: #1f4d3b; background: #1f4d3b; box-shadow: inset 0 0 0 2px #fff; }
#products .pf-group input:focus-visible + label { outline: 2px solid #1f4d3b; outline-offset: 2px; }
#products .pf-group input + label:hover { border-color: #8a9e89; }
#products #phases_results > span:first-child { display: none; }
#products #phases_results > span { display: block; width: 100%; }

#products .pf-detail-heading { display: none; }
#products .side_search .pf-dependent { display: block; }
#products .pf-group .price_rent { display: block; width: 100%; }
#products .pf-address-label { display: block; margin: 0 0 7px; color: #344b3e; font-size: 12px; font-weight: 600; }
@media screen and (max-width:1024px) {
    #products .pf-unified-bar { position: relative; top: auto; gap: 10px; }
    .pf-desktop-host { display: block; flex-basis: 100%; order: 0; }
    #products .pf-unified-bar .pf-basic-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
    #products .pf-unified-bar .pf-field > select { height: 44px; font-size: 12px; }
    #products .pf-unified-bar .pf-payment-placeholder p { min-height: 44px; height: 44px; }
    .pf-unified-bar .pf-field::after { bottom: 19px; }
    #products .pf-open, #products #property-search-apply { margin-top: 0; }
    .pf-apply-home { flex: 1; }
    #products .pf-apply-home #property-search-apply { width: 100%; }
}
@media screen and (max-width:360px) {
    #products .pf-dialog .pf-basic-grid { grid-template-columns: 1fr; }
    .pf-dialog-body { padding: 18px; }
}

/* Compact quick fields share the original controls with the full dialog. */
.pf-desktop-host { flex: 4 1 350px; }
.pf-quick-home { flex: 3 1 285px; min-width: 0; }
.pf-quick-extra { display: grid; grid-template-columns: minmax(0,1.1fr) repeat(2,minmax(0,1fr)); gap: 8px; direction: rtl; text-align: right; }
.pf-quick-extra > div { min-width: 0; }
#products .pf-quick-extra .pf-group { box-sizing: border-box; min-width: 0; width: 100%; margin: 0; padding: 0; border: 0; }
#products .pf-quick-budget .pf-group > legend, #products .pf-quick-budget .pf-help { display: none; }
#products .pf-quick-budget .relative { margin: 0; }
#products .pf-quick-budget .relative > label, .pf-quick-label { display: block; margin: 0 0 7px; font-size: 12px; font-weight: 700; line-height: 1.6; color: #344b3e; }
#products .pf-quick-menu { position: relative; min-width: 0; }
#products .pf-quick-menu > summary { box-sizing: border-box; display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; height: 40px; padding: 8px 12px; border: 1px solid #cfd8cb; border-radius: 5px; color: #17231e; background: #fff; font-size: 14px; cursor: pointer; list-style: none; }
.pf-quick-menu > summary::-webkit-details-marker { display: none; }
.pf-quick-menu > summary > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pf-quick-menu > summary::after { content: ''; flex-shrink: 0; width: 6px; height: 6px; border-right: 1.5px solid #1f4d3b; border-bottom: 1.5px solid #1f4d3b; transform: rotate(45deg); }
#products .pf-quick-menu[open] > summary { border-color: #1f4d3b; background: #edf2e9; }
.pf-quick-menu > summary:focus-visible { outline: 2px solid #1f4d3b; outline-offset: 3px; }
#products .pf-quick-popover { box-sizing: border-box; position: fixed; z-index: 10; padding: 18px; border: 1px solid #e2daca; border-radius: 12px; background: #fff; box-shadow: 0 8px 24px rgb(31 77 59 / 14%); overflow-y: auto; overscroll-behavior: contain; }
#products .pf-quick-popover .pf-group > :is(legend,h3) { margin-bottom: 12px; }
#products .pf-quick-popover #phases_results { display: block; border: 0; padding: 0; margin: 0; }
#products .pf-dialog .pf-quick-extra { display: block; margin-bottom: 22px; }
#products .pf-dialog .pf-quick-extra > div { margin-bottom: 18px; }
#products .pf-dialog .pf-quick-menu > summary { height: 48px; border-radius: 8px; font-size: 14px; }
#products .pf-dialog .pf-quick-popover { position: static; width: auto; max-height: none; margin-top: 10px; box-shadow: none; padding: 16px; }
#products .pf-dialog .pf-quick-budget input { height: 48px; }
@media screen and (min-width:1025px) {
    #products .pf-unified-bar { gap: 8px; padding: 12px; }
    .pf-basic-grid { gap: 8px; }
    #products .pf-unified-bar .pf-field > select, #products .pf-unified-bar .pf-quick-budget input { height: 44px; padding: 10px 12px 10px 28px; border-radius: 7px; font-size: 14px; }
    #products .pf-unified-bar .pf-quick-budget input { padding-left: 10px; }
    #products .pf-unified-bar .pf-payment-placeholder p { min-height: 40px; height: 40px; padding: 6px 8px; font-size: 11px; }
    .pf-unified-bar .pf-field::after { bottom: 18px; left: 12px; width: 6px; height: 6px; }
    #products .pf-unified-bar .pf-open, #products .pf-unified-bar #property-search-apply { min-height: 44px; padding: 10px 12px; font-size: 14px; }
}
@media screen and (max-width:1024px) {
    .pf-quick-home { flex-basis: 100%; order: 1; }
    #products .pf-open, .pf-apply-home { order: 2; }
    #products .pf-quick-home .pf-quick-menu > summary, #products .pf-quick-home .pf-quick-budget input { height: 44px; font-size: 12px; }
    #products .pf-quick-home .pf-quick-budget input { padding: 8px; border-radius: 5px; }
}

@media screen and (min-width:641px) and (max-width:1024px) {
    #products .pf-unified-bar .pf-basic-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
}
@media screen and (min-width:1025px) and (max-height:520px) {
    #products .pf-unified-bar { max-height: min(50dvh,calc(100dvh - var(--pf-header-height,76px) - 8px)); overflow-y: auto; }
}

/* Mobile filtering is a header entry and a dedicated full-screen flow. */
.pf-mobile-filter, .pf-mobile-tabs, .pf-mobile-choices { display: none; }
.pf-mobile-staff[hidden] { display: none !important; }
.pf-mobile-staff > summary { display: none; }
@media screen and (max-width:1024px) {
    #products .pf-unified-bar { display: none; }
    #products { padding-top: calc(var(--pf-header-height,64px) + 16px); }
    .pf-has-filter > .container { width: calc(100% - 24px); gap: 10px; }
    .pf-has-filter .header_nav { justify-content: flex-end; gap: 8px; }
    .pf-has-filter .pf-mobile-filter { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; gap: 6px; min-height: 44px; padding: 8px 10px; border: 1px solid #cfd8cb; border-radius: 9px; background: #fff; color: #1f4d3b; cursor: pointer; }
    .pf-mobile-filter > span { font-size: 13px; font-weight: 700; }
    .pf-mobile-count { display: inline-flex; align-items: center; justify-content: center; min-width: 18px; height: 18px; padding: 0 3px; border-radius: 10px; color: #fff; background: #1f4d3b; font-size: 10px; }
    .pf-mobile-count[hidden] { display: none; }
    .pf-mobile-filter.has-draft { border-color: #ad7859; }
    .pf-mobile-filter:focus-visible { outline: 2px solid #1f4d3b; outline-offset: 2px; }
    #products .pf-dialog { width: 100%; max-width: none; height: 100dvh; max-height: 100dvh; border: 0; }
    .pf-dialog-heading { padding: 10px 16px; }
    #products .pf-dialog-heading h2 { font-size: 18px; }
    .pf-mobile-tabs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 4px; flex-shrink: 0; padding: 6px 12px; border-bottom: 1px solid #e2daca; background: #fff; }
    #products .pf-mobile-tabs button { min-width: 0; min-height: 44px; margin: 0; padding: 8px 4px; border: 0; border-radius: 8px; background: transparent; color: #69766a; font: inherit; font-size: 13px; font-weight: 700; }
    #products .pf-mobile-tabs button[aria-selected=true] { background: #e9f0e7; color: #173b2e; }
    .pf-dialog-body { padding: 16px; }
    #products .pf-dialog[data-mobile-step=basic] [data-filter-section]:not([data-filter-section=basic]),
    #products .pf-dialog[data-mobile-step=price] [data-filter-section]:not([data-filter-section=price]),
    #products .pf-dialog[data-mobile-step=spec] [data-filter-section]:not([data-filter-section=spec]) { display: none !important; }
    #products .pf-dialog .pf-basic { margin-bottom: 12px; }
    #products .pf-dialog .pf-basic-heading { display: none; }
    #products .pf-dialog .pf-basic-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
    #products .pf-dialog .pf-field > label, #products .pf-dialog .pf-field-label { font-size: 12px; margin-bottom: 6px; }
    #products .pf-dialog .pf-field > select { height: 44px; font-size: 13px; }
    #products .pf-dialog .pf-field::after { bottom: 19px; }
    #products .pf-dialog .pf-field:has(#search_aim) { order: -1; grid-column: 1 / -1; }
    #products .pf-dialog .pf-field[data-payment-field] { order: 1; grid-column: 1 / -1; }
    #products .pf-dialog .pf-payment-placeholder { display: none; }
    #products .pf-dialog .pf-choice-source { display: none !important; }
    #products .pf-dialog .pf-field:has(.pf-choice-source)::after { content: none; }
    #products .pf-dialog .pf-mobile-choices { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
    #products .pf-mobile-choices button { min-width: 0; min-height: 44px; padding: 8px 4px; border: 1px solid #cfd8cb; border-radius: 9px; background: #fff; color: #344b3e; font: inherit; font-size: 12px; }
    #products .pf-mobile-choices button[aria-pressed=true] { color: #fff; background: #1f4d3b; border-color: #1f4d3b; font-weight: 700; }
    #products .pf-dialog .pf-quick-extra { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin: 0 0 12px; }
    #products .pf-dialog .pf-quick-extra > div { margin: 0; }
    #products .pf-dialog .pf-quick-budget { grid-column: 1 / -1; }
    #products .pf-dialog .pf-quick-label { font-size: 12px; margin-bottom: 6px; }
    #products .pf-dialog .pf-quick-menu > summary { height: 44px; font-size: 12px; }
    #products .pf-dialog .pf-quick-item:has(details[open]) { grid-column: 1 / -1; }
    #products .pf-dialog .pf-quick-popover { max-height: min(220px,35dvh); padding: 12px; overflow-y: auto; }
    #products .pf-dialog .side_search { display: flex; flex-direction: column; }
    #products .pf-dialog .advanced_search_box,
    #products .pf-dialog .pf-dependent,
    #products .pf-dialog #search_type_options:not(.hidden),
    #products .pf-dialog .type_mod:not(.hidden) { display: contents; }
    #products .pf-dialog .side_search .pf-group { margin: 0 0 14px; padding: 10px 0 0; }
    #products .pf-dialog .pf-group > :is(legend,h3) { font-size: 13px; }
    #products .pf-dialog .pf-group input[type=text] { height: 44px; font-size: 13px; }
    #products .pf-dialog .pf-group .relative { margin-bottom: 10px; }
    #products .pf-dialog .pf-range .relative { margin: 0; }
    #products .pf-dialog #search_installment_options .pf-group,
    #products .pf-dialog #search_villas > [data-filter-section=price] { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
    #products .pf-dialog #search_installment_options .relative:last-child { grid-column: 1 / -1; }
    #products .pf-dialog .pf-choices { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; }
    #products .pf-dialog .pf-group input + label { margin: 0; min-height: 44px; padding: 7px; font-size: 12px; }
    #products .pf-dialog #search_apartments .pf-group { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 6px; }
    #products .pf-dialog #search_apartments input + label { padding: 5px 3px; gap: 4px; font-size: 11px; }
    #products .pf-dialog #search_apartments input + label::before { width: 10px; height: 10px; }
    #products .pf-dialog .code_box { order: 3; }
    #products .pf-dialog .code_box > legend { display: none; }
    #products .pf-dialog #pf-code-help { margin: 2px 0 0; font-size: 11px; }
    #products .pf-dialog .pf-help { font-size: 11px; margin: 4px 0 8px; }
    #products .pf-dialog .pf-mobile-staff { order: 4; margin: 0 0 12px; }
    #products .pf-mobile-staff > summary { display: flex; align-items: center; min-height: 44px; padding: 10px; border: 1px solid #e2daca; border-radius: 8px; background: #f3f0e8; color: #1f4d3b; font-weight: 700; cursor: pointer; }
    .pf-dialog-footer { gap: 8px 12px; padding: 12px 16px max(12px,env(safe-area-inset-bottom)); }
    .pf-dialog-footer > p { display: none; }
    #products #property-search-error { max-width: none; margin-top: 4px; font-size: 11px; }
}
@media screen and (max-width:420px) {
    .pf-has-filter .contact-logo { gap: 6px; }
    .pf-has-filter .contact-brand-icon { width: 32px; height: 32px; }
    .pf-has-filter .contact-brand-text { font-size: 15px; }
    .pf-has-filter .header_nav { gap: 6px; }
}
@media screen and (max-width:360px) {
    .pf-has-filter .contact-brand-text { font-size: 13px; }
    .pf-has-filter .pf-mobile-filter { padding: 8px; }
}
.pf-mobile-feedback { display: none; }
@media screen and (max-width:1024px) {
    .pf-mobile-feedback { display: block; }
    .pf-mobile-feedback #property-search-error:not([hidden]) { margin: 0 0 16px; padding: 12px; border: 1px solid #e2daca; border-radius: 8px; background: #fff; }
}

.pf-live-status { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* Field values explain the compact bar; labels remain programmatically associated. */
#products .pf-unified-bar :is(.pf-field > label,.pf-field-label,.pf-quick-label,.pf-quick-budget .relative > label) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
#products .pf-unified-bar .pf-quick-menu > summary { height: 44px; border-radius: 7px; font-size: 14px; padding: 10px 12px; }
#products .pf-unified-bar .pf-apply-actions { align-self: center; }
#products .pf-unified-bar .pf-field::after { bottom: 20px; }
#products .pf-unified-bar .pf-payment-placeholder p { height: 44px; min-height: 44px; border-radius: 7px; }

/* One tabbed filter dialog on both desktop and mobile; only its content scrolls. */
@media (min-width: 1025px) {
    #products .pf-dialog { inset: 0; width: min(900px,calc(100vw - 64px)); height: min(700px,calc(100dvh - 64px)); max-height: calc(100dvh - 64px); margin: auto; border: 1px solid #dce2d5; border-radius: 12px; }
}
#products .pf-mobile-tabs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; flex: none; padding: 14px 20px 12px; border-bottom: 1px solid #e4e9df; background: #fff; }
#products .pf-mobile-tabs:has(#pf-tab-admin:not([hidden])) { grid-template-columns: repeat(4,minmax(0,1fr)); }
#products .pf-mobile-tabs button { position: relative; min-height: 44px; padding: 8px 4px; border: 1px solid #dce3d6; border-radius: 7px; background: #fafbf8; color: #46613e; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
#products .pf-mobile-tabs button[aria-selected=true] { background: #1f4d3b; color: #fff; border-color: #1f4d3b; }
#products .pf-mobile-tabs [hidden], #products .pf-tab-count[hidden] { display: none !important; }
#products .pf-tab-count { position: absolute; top: -10px; inset-inline-end: 8px; display: inline-flex; min-width: 22px; height: 20px; padding: 2px 5px; align-items: center; justify-content: center; border: 1px solid #fff; border-radius: 5px; color: #fff; background: #a65d42; font-size: 11px; font-weight: 700; }
#products .pf-dialog[data-mobile-step=basic] [data-filter-section]:not([data-filter-section=basic]),
#products .pf-dialog[data-mobile-step=price] [data-filter-section]:not([data-filter-section=price]),
#products .pf-dialog[data-mobile-step=spec] [data-filter-section]:not([data-filter-section=spec]),
#products .pf-dialog[data-mobile-step=admin] [data-filter-section]:not([data-filter-section=admin]) { display: none !important; }
#products .pf-dialog .pf-basic-heading, #products .pf-dialog .pf-detail-heading, #products .pf-mobile-staff > summary { display: none; }
#products .pf-dialog .advanced_search_box { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
#products .pf-dialog :is(.pf-dependent,#search_type_options,.type_mod):not(.hidden) { display: contents; }
#products .pf-dialog .pf-group { margin-bottom: 0; padding-top: 12px; min-width: 0; }
#products .pf-dialog .pf-mobile-staff { grid-column: 1 / -1; border: 0; padding: 0; margin: 0; }
#products .pf-dialog .pf-staff-body { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
#products .pf-dialog .pf-quick-extra { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-bottom: 16px; }
#products .pf-dialog .pf-quick-extra > div { margin: 0; }
#products .pf-dialog .pf-quick-budget { grid-column: 1 / -1; }
#products .pf-dialog .pf-quick-extra > div:has(details[open]) { grid-column: 1 / -1; }
#products .pf-reset-bar { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 10px; margin: 0; border: 1px solid #dce2d5; border-radius: 7px; color: #6d614e; background: #fff; font: inherit; font-size: 12px; white-space: nowrap; cursor: pointer; }
#products .pf-reset-bar:disabled, #products #reset_filters:disabled { opacity: .45; cursor: default; }
#products .pf-dialog .pf-reset-bar { display: none; }
#products .pf-apply-actions { display: flex; gap: 6px; align-items: center; }
#products .pf-dialog .pf-apply-actions { display: block; }
/* The code field stays visible; feedback floats without moving the header. */
.pc-code-lookup { position: relative; flex: 0 1 168px; min-width: 128px; color: #1f4d3b; }
.pc-code-lookup > .pc-header-code { position: relative; display: grid; grid-template-columns: minmax(0,1fr) 40px; align-items: center; gap: 0; width: 100%; min-width: 0; height: 44px; padding: 0 4px; margin: 0; border: 1px solid #d5ded1; border-radius: 8px; background: #fff; transition: border-color .15s, box-shadow .15s; }
.pc-code-lookup > .pc-header-code:focus-within { border-color: #54755b; box-shadow: 0 0 0 3px rgb(31 77 59 / 8%); }
.pc-header-code legend, .pc-header-code label, .pc-header-code #pf-code-help { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); }
.pc-header-code .pf-input-field { min-width: 0; position: static; }
.pc-header-code input { display: block; width: 100%; min-width: 0; height: 42px; padding: 8px 10px; margin: 0; border: 0; border-radius: 7px; background: transparent; color: #244b35; text-align: right; font-size: 14px; font-variant-numeric: tabular-nums; box-shadow: none; outline: none; }
.pc-header-code input::placeholder { color: #7c897a; opacity: 1; }
.pc-header-code #property-code-open { display: inline-flex; align-items: center; justify-content: center; position: static; width: 36px; min-width: 36px; height: 36px; padding: 0; margin: 0; border: 0; border-radius: 6px; background: #edf3e9; color: #28513a; cursor: pointer; }
.pc-header-code #property-code-open:hover { background: #dfeadb; color: #193f2b; }
.pc-header-code #property-code-open:disabled { opacity: .5; cursor: wait; }
.pc-header-code #property-code-open:focus-visible { outline: 2px solid #a65d42; outline-offset: 1px; }
.pc-header-code #property-code-error, .pc-header-code #property-code-link { position: absolute; top: calc(100% + 8px); inset-inline-start: 0; width: max-content; max-width: min(300px,calc(100vw - 32px)); padding: 10px 12px; border: 1px solid #e0d8cb; border-radius: 7px; background: #fff; color: #a14730; font-size: 12px; line-height: 1.6; box-shadow: 0 5px 16px #173d2d14; z-index: 40; }
.pc-header-code #property-code-link { top: calc(100% + 76px); color: #1f4d3b; }
.pc-header-code [hidden] { display: none !important; }
@media (max-width:640px) {
    #products .pf-mobile-tabs { padding: 14px 12px 10px; gap: 5px; }
    #products .pf-mobile-tabs button { font-size: 11px; }
    #products .pf-dialog :is(.advanced_search_box,.pf-staff-body) { grid-template-columns: minmax(0,1fr); }
    .pf-has-filter .header_nav { gap: 4px; }
}

@media (min-width:1025px) {
    #products .pf-unified-bar { display: grid; grid-template-columns: minmax(0,4fr) minmax(0,3fr) auto auto; gap: 8px; }
    #products .pf-reset-bar { gap: 5px; }
}
@media (min-width:1025px) and (max-width:1199px) {
    #products .pf-reset-bar { width: 44px; padding: 0; }
    #products .pf-reset-bar > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
}
@media (max-width:640px) {
    #products .pf-dialog .pf-dialog-body { padding: 12px 16px; }
    #products .pf-dialog .advanced_search_box { gap: 12px; }
    #products .pf-dialog .pf-group { padding-top: 8px; }
    #products .pf-dialog[data-mobile-step=price] .pf-quick-extra { margin-bottom: 8px; }
}

@media (min-width:1025px) {
    #products .pf-dialog .pf-quick-extra > div:has(details[open]) { grid-column: auto; }
}

@media (min-width:1025px) {
    .contact-next-header.pf-has-filter .header_nav { gap: 12px; }
}
@media (max-width:1024px) {
    .contact-next-header.pf-has-filter > .container { flex-wrap: wrap; row-gap: 0; }
    .contact-next-header .pc-code-lookup { flex: 0 0 100%; min-width: 0; padding: 0 0 8px; }
    .pc-code-lookup > .pc-header-code { height: 44px; grid-template-columns: minmax(0,1fr) 44px; }
    .pc-header-code #property-code-open { width: 40px; height: 40px; }
    .pc-header-code #property-code-error { inset-inline: 0; width: auto; }
}

#products { padding-top: calc(var(--pf-header-height,76px) + 24px); }

@media (max-width:360px) {
    .contact-next-header.pf-has-filter > .container { column-gap: 6px; }
    .contact-next-header.pf-has-filter .contact-brand-text { font-size: 12px; }
    .contact-next-header.pf-has-filter .pf-mobile-filter { padding: 6px; font-size: 12px; }
}
