.sqft-filter-wrapper{position:relative;display:inline-block}.sqft-filter-modal{position:absolute;top:110%;left:50%;transform:translateX(-50%);background-color:white;border-radius:16px;box-shadow:0 12px 24px rgba(0,0,0,.1);padding:16px;z-index:100;min-width:260px;animation:fadeIn .15s ease}.sqft-filter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:.95rem;font-weight:600;color:#4b5563}.range-label{color:var(--color-primary-dark,#413a97)}.sqft-filter-modal .range-box{width:110px;padding:8px 10px;border-radius:0;border:1px solid #d1d5db;font-size:14px;text-align:right;background-color:white;color:#111827;transition:border-color .2s ease}.range-box:focus{box-shadow:0 0 0 2px rgba(124,58,237,.4)}.apply-button{background-color:var(--color-primary-dark,#413a97)}.apply-button:hover{background-color:#2f2a6d}@media (max-width:767px){.sqft-filter-modal{position:fixed;left:0;right:0;bottom:0;top:auto;transform:none;border-radius:16px 16px 0 0;width:100%;box-sizing:border-box;max-height:95vh;overflow-y:auto;animation:slideUp .2s ease;text-align:center}.sqft-filter-header{justify-content:center;position:relative}.sqft-filter-header .close-icon{position:absolute;right:16px}.sqft-filter-modal .slider,.sqft-filter-modal .thumb{width:260px}.apply-button{align-self:center;margin-left:auto;margin-right:auto}.clean-button{display:none}}.monthly-rent-wrapper{position:relative;display:inline-block}.monthly-rent-modal{position:absolute;top:110%;left:50%;transform:translateX(-50%);background-color:white;border-radius:16px;box-shadow:0 12px 24px rgba(0,0,0,.1);padding:16px;z-index:100;min-width:260px;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%)}}.monthly-rent-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:.95rem;font-weight:600;color:#4b5563}.clear-text{cursor:pointer;font-size:.9rem;color:#6b21a8;transition:color .2s}.clear-text:hover{color:#4d44b0}.close-icon{cursor:pointer;font-size:18px;color:#9ca3af;transition:color .2s}.close-icon:hover{color:#6b21a8}.range-wrapper{position:relative;width:100%}.range-prefix{left:10px}.range-prefix,.range-unit{position:absolute;top:50%;transform:translateY(-50%);color:#9ca3af;font-size:.85rem;pointer-events:none}.range-unit{right:10px}.range-inputs{display:flex;justify-content:center;align-items:flex-start;gap:20px;margin-top:12px}.range-input-group{display:flex;flex-direction:column;align-items:center}.range-label{font-size:.75rem;color:#374151;font-weight:500}.monthly-rent-modal .range-box{width:110px;padding:8px 10px;border-radius:0;border:1px solid #d1d5db;font-size:14px;text-align:right;background-color:white;color:#111827;transition:border-color .2s ease}.range-with-prefix{padding-left:24px}.range-box::placeholder{color:#9ca3af;font-weight:400}.range-box:focus{outline:none;border-color:#9ca3af;box-shadow:none;box-shadow:0 0 0 2px rgba(156,163,175,.4)}.apply-button{margin-top:12px;align-self:flex-end;border:none;background-color:var(--color-primary,#3c2b91);color:white;border-radius:9999px}.apply-button,.clean-button{padding:8px 14px;cursor:pointer;transition:background .3s ease}.clean-button{display:none;border:1px solid #d1d5db;background-color:#fff;color:#6b21a8;border-radius:9999px;margin-right:.5rem}.clean-button:hover{background-color:#f3e8ff}.actions-row{display:flex;justify-content:flex-end;gap:.5rem}.apply-button:hover{background-color:var(--color-accent)}@media (min-width:768px){.clear-text{display:none}.clean-button{display:inline-block}}@media (max-width:767px){.monthly-rent-modal{position:fixed;left:0;right:0;bottom:0;top:auto;transform:none;border-radius:16px 16px 0 0;width:100%;box-sizing:border-box;max-height:95vh;overflow-y:auto;animation:slideUp .2s ease;text-align:center}.monthly-rent-header{justify-content:center;position:relative}.monthly-rent-header .close-icon{position:absolute;right:16px}.monthly-rent-modal .slider,.monthly-rent-modal .thumb{width:260px}.apply-button{align-self:center;margin-left:auto;margin-right:auto}.clean-button{display:none}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}}