{"id":2365,"date":"2025-10-16T18:33:37","date_gmt":"2025-10-16T18:33:37","guid":{"rendered":"https:\/\/glovenco.com\/?page_id=2365"},"modified":"2026-06-12T22:56:51","modified_gmt":"2026-06-12T22:56:51","slug":"orlando-homes","status":"publish","type":"page","link":"https:\/\/www.glovenco.com\/es\/orlando-homes\/","title":{"rendered":"Orlando Homes"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"2365\" class=\"elementor elementor-2365\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-bidx1 elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"bidx1\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-bidx2\" data-id=\"bidx2\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-bidx3 elementor-widget elementor-widget-shortcode\" data-id=\"bidx3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><div id=\"bidx-app\">\n\n  <!-- \u2500\u2500 Search Bar \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 -->\n  <div class=\"bidx-bar\">\n    <div class=\"bidx-bar-row\">\n\n      <div class=\"bidx-field\">\n        <label for=\"bidx-county\">County<\/label>\n        <select id=\"bidx-county\">\n          <option value=\"\">All Counties<\/option>\n        <\/select>\n      <\/div>\n\n      <div class=\"bidx-field\">\n        <label for=\"bidx-city\">City<\/label>\n        <select id=\"bidx-city\">\n          <option value=\"\">All Cities<\/option>\n        <\/select>\n      <\/div>\n\n      <div class=\"bidx-field\">\n        <label for=\"bidx-zip\">Zip Code<\/label>\n        <input id=\"bidx-zip\" type=\"text\" placeholder=\"e.g. 32801\" maxlength=\"5\" style=\"width:100%\">\n      <\/div>\n\n      <div class=\"bidx-field\">\n        <label for=\"bidx-type\">Property Type<\/label>\n        <select id=\"bidx-type\">\n          <option value=\"\">All Types<\/option>\n          <option value=\"Residential\" selected>Residential<\/option>\n          <option value=\"Commercial Sale\">Commercial Sale<\/option>\n          <option value=\"Commercial Lease\">Commercial Lease<\/option>\n          <option value=\"Business Opportunity\">Business Opportunity<\/option>\n          <option value=\"Income\">Income<\/option>\n          <option value=\"Vacant Land\">Vacant Land<\/option>\n          <option value=\"Rental\">Rental<\/option>\n        <\/select>\n      <\/div>\n\n      <div class=\"bidx-field\">\n        <label for=\"bidx-style\">Property Style<\/label>\n        <select id=\"bidx-style\">\n          <option value=\"\">Any Style<\/option>\n          <option value=\"Single Family Residence\">Single Family Residence<\/option>\n          <option value=\"Condominium\">Condominium<\/option>\n          <option value=\"Townhouse\">Townhouse<\/option>\n          <option value=\"Villa\">Villa<\/option>\n          <option value=\"1\/2 Duplex\">1\/2 Duplex<\/option>\n          <option value=\"Duplex\">Duplex<\/option>\n          <option value=\"Triplex\">Triplex<\/option>\n          <option value=\"Apartment\">Apartment<\/option>\n          <option value=\"Manufactured Home\">Manufactured Home<\/option>\n          <option value=\"Mobile Home\">Mobile Home<\/option>\n          <option value=\"Modular Home\">Modular Home<\/option>\n          <option value=\"Condo - Hotel\">Condo - Hotel<\/option>\n          <option value=\"Dock-Rackominium\">Dock-Rackominium<\/option>\n          <option value=\"Garage Condo\">Garage Condo<\/option>\n          <option value=\"Medical Office\">Medical Office<\/option>\n          <option value=\"Multi Family (5+)\">Multi Family (5+)<\/option>\n          <option value=\"Office\">Office<\/option>\n          <option value=\"Retail\">Retail<\/option>\n          <option value=\"Mixed Use\">Mixed Use<\/option>\n          <option value=\"Industrial\">Industrial<\/option>\n          <option value=\"Warehouse\">Warehouse<\/option>\n          <option value=\"Restaurant\">Restaurant<\/option>\n          <option value=\"Hotel\/Motel\">Hotel\/Motel<\/option>\n          <option value=\"Assembly Building\">Assembly Building<\/option>\n          <option value=\"Unimproved Land\">Unimproved Land<\/option>\n          <option value=\"Farm\">Farm<\/option>\n          <option value=\"Agriculture\">Agriculture<\/option>\n          <option value=\"Business\">Business<\/option>\n          <option value=\"Quadruplex\">Quadruplex<\/option>\n          <option value=\"Other\">Other<\/option>\n        <\/select>\n      <\/div>\n\n      <div class=\"bidx-field bidx-field-price\">\n        <label>Price Range<\/label>\n        <div class=\"bidx-range\">\n          <select id=\"bidx-price-min\">\n            <option value=\"\">Min Price<\/option>\n            <option value=\"50000\">$50K<\/option><option value=\"100000\">$100K<\/option>\n            <option value=\"150000\">$150K<\/option><option value=\"200000\">$200K<\/option>\n            <option value=\"250000\">$250K<\/option><option value=\"300000\">$300K<\/option>\n            <option value=\"350000\">$350K<\/option><option value=\"400000\">$400K<\/option>\n            <option value=\"500000\">$500K<\/option><option value=\"600000\">$600K<\/option>\n            <option value=\"750000\">$750K<\/option><option value=\"1000000\">$1M<\/option>\n            <option value=\"1500000\">$1.5M<\/option><option value=\"2000000\">$2M<\/option>\n          <\/select>\n          <span class=\"bidx-dash\">\u2013<\/span>\n          <select id=\"bidx-price-max\">\n            <option value=\"\">Max Price<\/option>\n            <option value=\"100000\">$100K<\/option><option value=\"150000\">$150K<\/option>\n            <option value=\"200000\">$200K<\/option><option value=\"250000\">$250K<\/option>\n            <option value=\"300000\">$300K<\/option><option value=\"350000\">$350K<\/option>\n            <option value=\"400000\">$400K<\/option><option value=\"500000\">$500K<\/option>\n            <option value=\"600000\">$600K<\/option><option value=\"750000\">$750K<\/option>\n            <option value=\"1000000\">$1M<\/option><option value=\"1500000\">$1.5M<\/option>\n            <option value=\"2000000\">$2M<\/option><option value=\"3000000\">$3M<\/option>\n            <option value=\"5000000\">$5M+<\/option>\n          <\/select>\n        <\/div>\n      <\/div>\n\n      <div class=\"bidx-field\">\n        <label for=\"bidx-beds\">Beds<\/label>\n        <select id=\"bidx-beds\">\n          <option value=\"\">Any<\/option><option value=\"1\">1+<\/option>\n          <option value=\"2\">2+<\/option><option value=\"3\">3+<\/option>\n          <option value=\"4\">4+<\/option><option value=\"5\">5+<\/option>\n        <\/select>\n      <\/div>\n\n      <div class=\"bidx-field\">\n        <label for=\"bidx-baths\">Baths<\/label>\n        <select id=\"bidx-baths\">\n          <option value=\"\">Any<\/option><option value=\"1\">1+<\/option>\n          <option value=\"2\">2+<\/option><option value=\"3\">3+<\/option>\n          <option value=\"4\">4+<\/option>\n        <\/select>\n      <\/div>\n\n      <div class=\"bidx-field\">\n        <label for=\"bidx-dom\">Days on Market<\/label>\n        <select id=\"bidx-dom\">\n          <option value=\"\">Any<\/option>\n          <option value=\"7\">Under 7 days<\/option>\n          <option value=\"14\">Under 14 days<\/option>\n          <option value=\"30\">Under 30 days<\/option>\n          <option value=\"60\">Under 60 days<\/option>\n          <option value=\"90\">Under 90 days<\/option>\n        <\/select>\n      <\/div>\n\n      <div class=\"bidx-bar-actions\">\n        <button class=\"bidx-btn-more\" id=\"bidx-more-toggle\" type=\"button\">\n          <svg width=\"15\" height=\"15\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" viewBox=\"0 0 24 24\"><path d=\"M3 6h18M7 12h10M11 18h2\"\/><\/svg>\n          More\n        <\/button>\n        <button class=\"bidx-btn-search\" id=\"bidx-search-btn\" type=\"button\">\n          <svg width=\"15\" height=\"15\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" viewBox=\"0 0 24 24\"><circle cx=\"11\" cy=\"11\" r=\"8\"\/><path d=\"m21 21-4.35-4.35\"\/><\/svg>\n          Search\n        <\/button>\n      <\/div>\n\n    <\/div><!-- \/.bidx-bar-row -->\n\n    <!-- \u2500\u2500 More Filters panel \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 -->\n    <div class=\"bidx-more\" id=\"bidx-more-panel\" hidden>\n      <div class=\"bidx-more-grid\">\n\n        <div class=\"bidx-mf\">\n          <label>Square Footage<\/label>\n          <div class=\"bidx-range\">\n            <input id=\"bidx-sqft-min\" type=\"number\" placeholder=\"Min\" min=\"0\">\n            <span class=\"bidx-dash\">\u2013<\/span>\n            <input id=\"bidx-sqft-max\" type=\"number\" placeholder=\"Max\" min=\"0\">\n          <\/div>\n        <\/div>\n\n        <div class=\"bidx-mf\">\n          <label>Year Built<\/label>\n          <div class=\"bidx-range\">\n            <input id=\"bidx-year-min\" type=\"number\" placeholder=\"From\" min=\"1800\" max=\"2030\">\n            <span class=\"bidx-dash\">\u2013<\/span>\n            <input id=\"bidx-year-max\" type=\"number\" placeholder=\"To\"   min=\"1800\" max=\"2030\">\n          <\/div>\n        <\/div>\n\n        <div class=\"bidx-mf\">\n          <label>Lot Size (acres)<\/label>\n          <div class=\"bidx-range\">\n            <input id=\"bidx-lot-min\" type=\"number\" placeholder=\"Min\" min=\"0\" step=\"0.01\">\n            <span class=\"bidx-dash\">\u2013<\/span>\n            <input id=\"bidx-lot-max\" type=\"number\" placeholder=\"Max\" min=\"0\" step=\"0.01\">\n          <\/div>\n        <\/div>\n\n        <div class=\"bidx-mf\">\n          <label for=\"bidx-garage\">Garage Spaces<\/label>\n          <select id=\"bidx-garage\">\n            <option value=\"\">Any<\/option><option value=\"1\">1+<\/option>\n            <option value=\"2\">2+<\/option><option value=\"3\">3+<\/option>\n          <\/select>\n        <\/div>\n\n        <div class=\"bidx-mf\">\n          <label>View<\/label>\n          <div class=\"bidx-checks\">\n            <label><input type=\"checkbox\" name=\"bidx-view\" value=\"Skyline\"> Skyline<\/label>\n            <label><input type=\"checkbox\" name=\"bidx-view\" value=\"Water View\"> Water View <span class=\"bidx-check-hint\">(Lake, Ocean, Pond)<\/span><\/label>\n            <label><input type=\"checkbox\" name=\"bidx-view\" value=\"Pool\"> Pool<\/label>\n            <label><input type=\"checkbox\" name=\"bidx-view\" value=\"Golf Course\"> Golf Course<\/label>\n            <label><input type=\"checkbox\" name=\"bidx-view\" value=\"Other\"> Other<\/label>\n          <\/div>\n        <\/div>\n\n        <div class=\"bidx-mf\">\n          <label>Amenities<\/label>\n          <div class=\"bidx-checks\">\n            <label><input type=\"checkbox\" name=\"bidx-amenity\" value=\"Community Pool\"> Community Pool<\/label>\n            <label><input type=\"checkbox\" name=\"bidx-amenity\" value=\"Private Pool\"> Private Pool<\/label>\n            <label><input type=\"checkbox\" name=\"bidx-amenity\" value=\"Gym\"> Gym<\/label>\n            <label><input type=\"checkbox\" name=\"bidx-amenity\" value=\"Club House\"> Club House<\/label>\n            <label><input type=\"checkbox\" name=\"bidx-amenity\" value=\"Golf\"> Golf<\/label>\n          <\/div>\n        <\/div>\n\n        <div class=\"bidx-mf\">\n          <label>HOA<\/label>\n          <div class=\"bidx-radios\">\n            <label><input type=\"radio\" name=\"bidx-hoa\" value=\"\" checked> Any<\/label>\n            <label><input type=\"radio\" name=\"bidx-hoa\" value=\"none\"> No HOA<\/label>\n            <label><input type=\"radio\" name=\"bidx-hoa\" value=\"max\"> Max $<input id=\"bidx-hoa-max\" type=\"number\" placeholder=\"500\" min=\"0\" style=\"width:70px;margin-left:4px\"><\/label>\n          <\/div>\n        <\/div>\n\n        <div class=\"bidx-mf\">\n          <label>New Construction<\/label>\n          <div class=\"bidx-radios\">\n            <label><input type=\"radio\" name=\"bidx-nc\" value=\"\" checked> Any<\/label>\n            <label><input type=\"radio\" name=\"bidx-nc\" value=\"yes\"> Yes<\/label>\n            <label><input type=\"radio\" name=\"bidx-nc\" value=\"no\"> No<\/label>\n          <\/div>\n        <\/div>\n\n      <\/div>\n      <div class=\"bidx-more-foot\">\n        <button class=\"bidx-btn-clear\" id=\"bidx-clear-btn\" type=\"button\">Clear Filters<\/button>\n        <button class=\"bidx-btn-search\" id=\"bidx-apply-btn\" type=\"button\">Apply Filters<\/button>\n      <\/div>\n    <\/div><!-- \/.bidx-more -->\n\n  <\/div><!-- \/.bidx-bar -->\n\n  <!-- \u2500\u2500 Results header \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 -->\n  <div class=\"bidx-results-hdr\" id=\"bidx-results-hdr\" style=\"display:none\">\n    <span id=\"bidx-count\"><\/span>\n    <div class=\"bidx-sort-wrap\">\n      <label for=\"bidx-sort\">Sort:<\/label>\n      <select id=\"bidx-sort\">\n        <option value=\"ListPrice|asc\">Price: Low \u2192 High<\/option>\n        <option value=\"ListPrice|desc\">Price: High \u2192 Low<\/option>\n        <option value=\"ListingContractDate|desc\">Newest Listings<\/option>\n        <option value=\"DaysOnMarket|asc\">Fewest Days on Market<\/option>\n        <option value=\"BedroomsTotal|desc\">Most Bedrooms<\/option>\n        <option value=\"LivingArea|desc\">Largest First<\/option>\n      <\/select>\n    <\/div>\n  <\/div>\n\n  <!-- \u2500\u2500 Loading \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 -->\n  <div class=\"bidx-loading\" id=\"bidx-loading\" hidden>\n    <div class=\"bidx-spinner\"><\/div>\n    <span>Searching listings\u2026<\/span>\n  <\/div>\n\n  <!-- \u2500\u2500 Grid \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 -->\n  <div class=\"bidx-grid\" id=\"bidx-grid\"><\/div>\n\n  <!-- \u2500\u2500 Pagination \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 -->\n  <div class=\"bidx-pages\" id=\"bidx-pages\"><\/div>\n\n  <!-- \u2500\u2500 MLS Disclaimer \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 -->\n  <p class=\"bidx-disclaimer\" id=\"bidx-disclaimer\" style=\"display:none\">\n    Listing information provided by Stellar MLS via Bridge Data Output. Information is deemed reliable but not guaranteed. Data may be subject to prior sale, change, or withdrawal. \u00a9 2026 Stellar MLS. All rights reserved.\n  <\/p>\n\n  <!-- Modal is created dynamically by JS and appended to document.body -->\n\n<\/div><!-- \/#bidx-app -->\n\n<style>\n\/* \u2500\u2500 Variables & Reset \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n#bidx-app { padding: 0 40px;\n  --p:    #003d53;\n  --a:    #007582;\n  --ah:   #009aaa;\n  --w:    #fff;\n  --g50:  #f8fafc;\n  --g100: #f1f5f9;\n  --g200: #e2e8f0;\n  --g400: #94a3b8;\n  --g600: #475569;\n  --g900: #0f172a;\n  --r:    8px;\n  --sh:   0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.05);\n  --shm:  0 4px 12px rgba(0,0,0,.08), 0 2px 4px rgba(0,0,0,.04);\n  font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif;\n  color: var(--g900);\n}\n#bidx-app *, #bidx-app *::before, #bidx-app *::after { box-sizing: border-box; margin: 0; padding: 0; }\n#bidx-app label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--g600); display: block; margin-bottom: 5px; }\n#bidx-app input[type=\"text\"],\n#bidx-app input[type=\"number\"],\n#bidx-app select {\n  width: 100%; padding: 9px 12px; border: 1.5px solid var(--g200); border-radius: var(--r);\n  font-size: 14px; color: var(--g900); background: var(--w); outline: none;\n  transition: border-color .15s, box-shadow .15s;\n}\n#bidx-app input:focus, #bidx-app select:focus {\n  border-color: var(--a); box-shadow: 0 0 0 3px rgba(0,117,130,.12);\n}\n#bidx-app button { cursor: pointer; border: none; font-family: inherit; }\n\n\/* \u2500\u2500 Search Bar \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.bidx-bar {\n  background: var(--w); border-radius: 12px; box-shadow: var(--shm);\n  border: 1px solid var(--g200); padding: 36px 22px 20px; margin-bottom: 22px;\n  overflow-x: auto; -webkit-overflow-scrolling: touch;\n}\n.bidx-bar-row { display: flex; flex-wrap: nowrap; gap: 10px; align-items: flex-end; min-width: min-content; }\n.bidx-field    { flex: 1 1 110px; min-width: 110px; }\n.bidx-field-lg { flex: 2 1 160px; min-width: 160px; }\n.bidx-field-price { flex: 2 1 190px; min-width: 190px; }\n.bidx-bar-actions { display: flex; gap: 10px; align-items: flex-end; flex-shrink: 0; }\n.bidx-range { display: flex; align-items: center; gap: 6px; }\n.bidx-range input, .bidx-range select { flex: 1; min-width: 0; }\n.bidx-dash { color: var(--g400); font-size: 13px; flex-shrink: 0; }\n\n\/* \u2500\u2500 Buttons \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.bidx-btn-more {\n  padding: 9px 14px; background: var(--g50); border: 1.5px solid var(--g200);\n  border-radius: var(--r); color: var(--g600); font-size: 13px; font-weight: 600;\n  display: flex; align-items: center; gap: 5px; white-space: nowrap;\n  align-self: flex-end; transition: all .15s;\n}\n.bidx-btn-more:hover, .bidx-btn-more.open { background: var(--g100); border-color: var(--a); color: var(--a); }\n.bidx-btn-search {\n  padding: 9px 18px; background: var(--p); color: var(--w); border-radius: var(--r);\n  font-size: 13px; font-weight: 700; display: flex; align-items: center; gap: 5px;\n  white-space: nowrap; align-self: flex-end; transition: background .15s; letter-spacing: .02em;\n}\n.bidx-btn-search:hover { background: var(--a); }\n.bidx-btn-clear {\n  padding: 8px 16px; background: transparent; border: 1.5px solid var(--g200);\n  border-radius: var(--r); color: var(--g600); font-size: 13px; font-weight: 500;\n  transition: all .15s;\n}\n.bidx-btn-clear:hover { border-color: var(--g400); color: var(--g900); }\n\n\/* \u2500\u2500 More Filters \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.bidx-more { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--g200); }\n.bidx-more-grid {\n  display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 16px 20px;\n}\n.bidx-mf label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--g600); margin-bottom: 7px; }\n.bidx-radios { display: flex; gap: 10px; flex-wrap: wrap; }\n.bidx-radios label {\n  font-size: 13px; font-weight: 400; text-transform: none; letter-spacing: 0;\n  color: var(--g900); display: flex; align-items: center; gap: 4px; cursor: pointer; margin: 0;\n}\n.bidx-radios input[type=\"radio\"] { width: auto; padding: 0; border: none; box-shadow: none; }\n.bidx-checks { display: flex; flex-direction: column; gap: 7px; }\n#bidx-app .bidx-checks label {\n  font-size: 13px; font-weight: 400; text-transform: none; letter-spacing: 0;\n  color: var(--g900); display: flex; align-items: center; gap: 7px; cursor: pointer; margin: 0;\n}\n#bidx-app .bidx-checks input[type=\"checkbox\"] { width: auto; padding: 0; border: none; box-shadow: none; accent-color: var(--a); flex-shrink: 0; }\n#bidx-app .bidx-check-hint { font-size: 11px; color: var(--g400); font-style: italic; text-transform: none; font-weight: 400; }\n.bidx-more-foot {\n  display: flex; justify-content: flex-end; gap: 10px;\n  margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--g200);\n}\n\n\/* \u2500\u2500 Results header \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.bidx-results-hdr {\n  display: flex; justify-content: space-between; align-items: center;\n  flex-wrap: wrap; gap: 10px; margin-bottom: 16px; padding-bottom: 14px;\n  border-bottom: 1px solid var(--g200);\n}\n#bidx-count { font-size: 14px; color: var(--g600); }\n#bidx-count strong { color: var(--g900); }\n.bidx-sort-wrap { display: flex; align-items: center; gap: 8px; }\n.bidx-sort-wrap label { font-size: 13px; color: var(--g600); text-transform: none; letter-spacing: 0; font-weight: 400; margin: 0; white-space: nowrap; }\n.bidx-sort-wrap select { width: auto; padding: 7px 10px; font-size: 13px; }\n\n\/* \u2500\u2500 Loading \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n#bidx-loading          { display: none !important; }\n#bidx-loading.bidx-on  { display: flex !important; align-items: center; justify-content: center; gap: 12px; padding: 72px 0; color: var(--g600); font-size: 14px; }\n.bidx-spinner {\n  width: 26px; height: 26px; border: 3px solid var(--g200);\n  border-top-color: var(--a); border-radius: 50%;\n  animation: bidx-spin .7s linear infinite; flex-shrink: 0;\n}\n@keyframes bidx-spin { to { transform: rotate(360deg); } }\n\n\/* \u2500\u2500 Grid \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.bidx-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 20px; }\n\n\/* \u2500\u2500 Cards \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.bidx-card {\n  background: var(--w); border-radius: 12px; box-shadow: var(--sh);\n  border: 1px solid var(--g200); overflow: hidden;\n  display: flex; flex-direction: column;\n  transition: box-shadow .2s, transform .2s;\n}\n.bidx-card:hover { box-shadow: var(--shm); transform: translateY(-3px); }\n\n.bidx-card-img { position: relative; height: 200px; overflow: hidden; background: var(--g100); }\n.bidx-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }\n.bidx-card:hover .bidx-card-img img { transform: scale(1.04); }\n.bidx-card-no-photo {\n  width: 100%; height: 100%; display: flex; align-items: center;\n  justify-content: center; color: var(--g400);\n}\n.bidx-card-no-photo svg { width: 52px; height: 52px; }\n\n.bidx-badges { position: absolute; top: 10px; left: 10px; display: flex; gap: 5px; flex-wrap: wrap; }\n.bidx-badge {\n  padding: 3px 8px; border-radius: 5px; font-size: 10px;\n  font-weight: 800; text-transform: uppercase; letter-spacing: .05em;\n}\n.bidx-badge-active  { background: #d1fae5; color: #065f46; }\n.bidx-badge-pending { background: #fef3c7; color: #78350f; }\n.bidx-badge-closed  { background: var(--g200); color: var(--g600); }\n.bidx-badge-type    { background: rgba(0,61,83,.82); color: var(--w); backdrop-filter: blur(4px); }\n.bidx-badge-new     { background: #fde68a; color: #78350f; }\n\n\/* -- Badge visibility overrides -- *\/\n\/* List view: hide status badges only (ACTIVE \/ PENDING \/ CLOSED \/ NEW) *\/\n#bidx-app:not(.bidx-map-mode) .bidx-badge-active,\n#bidx-app:not(.bidx-map-mode) .bidx-badge-pending,\n#bidx-app:not(.bidx-map-mode) .bidx-badge-closed,\n#bidx-app:not(.bidx-map-mode) .bidx-badge-new {\n  display: none !important;\n}\n\n\/* Map view: hide all photo overlays (status + property type) *\/\n#bidx-app.bidx-map-mode .bidx-badges {\n  display: none !important;\n}\n.bidx-photo-count {\n  position: absolute; bottom: 10px; right: 10px;\n  background: rgba(0,0,0,.55); color: var(--w);\n  padding: 2px 7px; border-radius: 4px; font-size: 11px;\n  display: flex; align-items: center; gap: 4px;\n}\n\n.bidx-card-body { padding: 15px 16px; flex: 1; display: flex; flex-direction: column; gap: 5px; }\n.bidx-price { font-size: 21px; font-weight: 800; color: var(--p); line-height: 1.2; }\n.bidx-stats { display: flex; flex-wrap: wrap; gap: 8px; font-size: 13px; color: var(--g600); }\n.bidx-stats span { display: flex; align-items: center; gap: 3px; }\n.bidx-stats svg  { width: 13px; height: 13px; flex-shrink: 0; }\n.bidx-address    { font-size: 13px; color: var(--g600); margin-top: 1px; line-height: 1.4; }\n.bidx-meta       { display: flex; flex-wrap: wrap; gap: 10px; font-size: 11px; color: var(--g400); margin-top: 3px; }\n\n.bidx-card-foot { padding: 11px 16px; border-top: 1px solid var(--g100); }\n.bidx-detail-btn {\n  width: 100%; padding: 9px; background: var(--p); color: var(--w);\n  border-radius: var(--r); font-size: 13px; font-weight: 700; letter-spacing: .03em;\n  transition: background .15s; display: flex; align-items: center; justify-content: center; gap: 6px;\n}\n.bidx-detail-btn:hover { background: var(--a); }\n\n\/* \u2500\u2500 Empty state \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.bidx-empty {\n  grid-column: 1\/-1; text-align: center; padding: 72px 20px; color: var(--g600);\n}\n.bidx-empty svg  { width: 52px; height: 52px; color: var(--g400); margin-bottom: 14px; }\n.bidx-empty h3   { font-size: 18px; color: var(--g900); margin-bottom: 6px; font-weight: 700; }\n.bidx-empty p    { font-size: 14px; }\n\n\/* \u2500\u2500 Pagination \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.bidx-pages {\n  display: flex; justify-content: center; align-items: center;\n  gap: 5px; margin-top: 36px; flex-wrap: wrap;\n}\n#bidx-app .bidx-page {\n  min-width: 36px; height: 36px; padding: 0 8px;\n  background: var(--w); border: 1.5px solid var(--g200);\n  border-radius: var(--r); font-size: 14px; color: var(--g600); font-weight: 500;\n  transition: all .15s; display: flex; align-items: center; justify-content: center;\n}\n#bidx-app .bidx-page:hover:not(:disabled) { border-color: var(--a); color: var(--a); background: rgba(0,117,130,.05); }\n#bidx-app .bidx-page.on  { background: var(--p); border-color: var(--p); color: var(--w); pointer-events: none; }\n#bidx-app .bidx-page:disabled { opacity: .35; pointer-events: none; }\n.bidx-dot { color: var(--g400); font-size: 13px; padding: 0 3px; }\n\n\/* \u2500\u2500 Disclaimer \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.bidx-disclaimer {\n  font-size: 11px; color: var(--g400); line-height: 1.6;\n  margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--g200); text-align: center;\n}\n\n\/* \u2500\u2500 Modal overlay \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.bidx-overlay {\n  position: fixed; inset: 0; background: rgba(0,0,0,.65);\n  z-index: 999999; display: flex; align-items: center; justify-content: center;\n  padding: 20px; backdrop-filter: blur(4px);\n}\n.bidx-modal {\n  background: var(--w); border-radius: 16px;\n  max-width: 920px; width: 100%; min-height: 220px; max-height: 92vh; overflow-y: auto;\n  position: relative; box-shadow: 0 24px 64px rgba(0,0,0,.3);\n  scrollbar-width: thin;\n}\n.bidx-modal-close {\n  position: sticky; top: 12px; float: right; margin: 12px 12px 0 0;\n  width: 34px; height: 34px; background: rgba(0,0,0,.08);\n  border-radius: 50%; font-size: 20px; color: var(--g900); z-index: 1;\n  display: flex; align-items: center; justify-content: center;\n  transition: background .15s; line-height: 1;\n}\n.bidx-modal-close:hover { background: rgba(0,0,0,.16); }\n.bidx-modal-loading { display: flex; justify-content: center; padding: 80px; }\n\n\/* Gallery *\/\n.bidx-gal { margin-bottom: 0; }\n.bidx-gal-main {\n  position: relative; height: 380px; overflow: hidden;\n  background: var(--g100); border-radius: 16px 16px 0 0;\n}\n.bidx-gal-main img { width: 100%; height: 100%; object-fit: cover; display: block; }\n.bidx-gal-no-photo {\n  width: 100%; height: 100%; display: flex; align-items: center;\n  justify-content: center; color: var(--g400); font-size: 14px; flex-direction: column; gap: 10px;\n}\n.bidx-gal-no-photo svg { width: 48px; height: 48px; }\n.bidx-gal-nav {\n  position: absolute; top: 50%; transform: translateY(-50%);\n  background: rgba(0,0,0,.45); color: var(--w); border: none;\n  width: 42px; height: 42px; border-radius: 50%;\n  display: flex; align-items: center; justify-content: center;\n  font-size: 22px; cursor: pointer; transition: background .15s;\n}\n.bidx-gal-nav:hover { background: rgba(0,0,0,.7); }\n.bidx-gal-prev { left: 14px; }\n.bidx-gal-next { right: 14px; }\n.bidx-gal-count {\n  position: absolute; bottom: 12px; right: 14px;\n  background: rgba(0,0,0,.55); color: var(--w);\n  padding: 3px 9px; border-radius: 5px; font-size: 12px;\n}\n.bidx-gal-thumbs {\n  display: flex; gap: 5px; overflow-x: auto; padding: 8px 16px;\n  background: var(--g50); scrollbar-width: thin;\n}\n.bidx-gal-thumbs img {\n  width: 72px; height: 52px; object-fit: cover; border-radius: 5px;\n  cursor: pointer; border: 2px solid transparent; flex-shrink: 0;\n  transition: border-color .12s, opacity .12s; opacity: .7;\n}\n.bidx-gal-thumbs img:hover, .bidx-gal-thumbs img.on { border-color: var(--a); opacity: 1; }\n\n\/* Modal content *\/\n.bidx-modal-content { padding: 0 22px 22px; }\n.bidx-mhdr { padding: 16px 0 14px; border-bottom: 1px solid var(--g200); }\n.bidx-mhdr-price  { font-size: 28px; font-weight: 800; color: var(--p); line-height: 1.2; }\n.bidx-mhdr-addr   { font-size: 15px; color: var(--g600); margin-top: 5px; }\n.bidx-mhdr-badges { display: flex; gap: 6px; margin-top: 10px; flex-wrap: wrap; }\n\n.bidx-mstats {\n  display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));\n  gap: 10px; padding: 16px 0; border-bottom: 1px solid var(--g200);\n}\n.bidx-mstat { background: var(--g50); border-radius: var(--r); padding: 10px 8px; text-align: center; }\n.bidx-mstat-val { font-size: 18px; font-weight: 800; color: var(--p); }\n.bidx-mstat-lbl { font-size: 10px; text-transform: uppercase; letter-spacing: .05em; color: var(--g600); margin-top: 2px; }\n\n.bidx-msec { padding: 16px 0; border-bottom: 1px solid var(--g200); }\n.bidx-msec:last-child { border-bottom: none; }\n.bidx-msec h3 {\n  font-size: 11px; font-weight: 800; text-transform: uppercase;\n  letter-spacing: .08em; color: var(--p); margin-bottom: 12px;\n}\n.bidx-dgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 10px; }\n.bidx-ditem strong { display: block; font-size: 10px; text-transform: uppercase; letter-spacing: .05em; color: var(--g400); margin-bottom: 2px; }\n.bidx-ditem { font-size: 13px; color: var(--g900); }\n.bidx-remarks { font-size: 14px; line-height: 1.65; color: var(--g600); }\n.bidx-mdisclaimer {\n  font-size: 11px; color: var(--g400); line-height: 1.55;\n  margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--g200);\n}\n\n\/* \u2500\u2500 Responsive \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n@media (max-width: 700px) {\n  #bidx-app { padding: 0 16px; }\n  .bidx-bar { padding: 16px; }\n  .bidx-bar-row { flex-direction: column; flex-wrap: wrap; min-width: unset; }\n  .bidx-field, .bidx-field-lg, .bidx-field-price { min-width: 100%; flex-basis: 100%; }\n  .bidx-bar-actions { width: 100%; }\n  .bidx-btn-more, .bidx-btn-search { flex: 1; justify-content: center; }\n  .bidx-grid { grid-template-columns: 1fr; }\n  .bidx-gal-main { height: 220px; }\n  .bidx-mstats { grid-template-columns: repeat(3, 1fr); }\n  .bidx-mhdr-price { font-size: 22px; }\n  .bidx-modal-content { padding: 0 14px 14px; }\n}\n<\/style>\n\n<script>\n(function () {\n  'use strict';\n\n  var API          = 'https:\/\/www.glovenco.com\/es\/wp-json\/bridge-idx\/v1';\n  var page         = 1;\n  var glPhotos     = [], glIdx = 0;\n  var listingMap   = {};\n  var allLocations = {}; \/\/ { \"Orange\": [\"ORLANDO\", \"WINTER PARK\", ...], ... }\n\n  function gid(id) { return document.getElementById(id); }\n  function qs(sel, ctx) { return (ctx || document).querySelector(sel); }\n\n  var searchBtn  = gid('bidx-search-btn');\n  var moreToggle = gid('bidx-more-toggle');\n  var morePanel  = gid('bidx-more-panel');\n  var applyBtn   = gid('bidx-apply-btn');\n  var clearBtn   = gid('bidx-clear-btn');\n  var loading    = gid('bidx-loading');\n  var grid       = gid('bidx-grid');\n  var pages      = gid('bidx-pages');\n  var resultsHdr = gid('bidx-results-hdr');\n  var countEl    = gid('bidx-count');\n  var sortSel    = gid('bidx-sort');\n  var disclaimer = gid('bidx-disclaimer');\n  \/\/ Modal is created on demand \u2014 no pre-captured refs needed\n\n  \/\/ \u2500\u2500 Events \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  searchBtn.addEventListener('click', function () { page = 1; runSearch(); });\n  applyBtn.addEventListener('click', function () {\n    page = 1;\n    morePanel.hidden = true;\n    moreToggle.classList.remove('open');\n    runSearch();\n  });\n  clearBtn.addEventListener('click', clearFilters);\n  sortSel.addEventListener('change', function () { page = 1; runSearch(); });\n\n  moreToggle.addEventListener('click', function () {\n    var open = !morePanel.hidden;\n    morePanel.hidden = open;\n    moreToggle.classList.toggle('open', !open);\n  });\n\n  document.addEventListener('keydown', function (e) { if (e.key === 'Escape') closeModal(); });\n\n  \/\/ Enter key triggers search from inputs\n  gid('bidx-app').addEventListener('keydown', function (e) {\n    if (e.key === 'Enter' && e.target.tagName !== 'SELECT') { page = 1; runSearch(); }\n  });\n\n  \/\/ \u2500\u2500 Load county\/city dropdowns then auto-search \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  fetch(API + '\/locations')\n    .then(function (r) { return r.json(); })\n    .then(function (data) {\n      allLocations = data;\n      var countySel = gid('bidx-county');\n      Object.keys(data).sort().forEach(function (county) {\n        var o = document.createElement('option');\n        o.value = county;\n        o.textContent = toTitleCase(county);\n        countySel.appendChild(o);\n      });\n      populateCities(''); \/\/ all cities initially\n      runSearch();\n    })\n    .catch(function () { runSearch(); }); \/\/ fallback: search even if locations fail\n\n  gid('bidx-county').addEventListener('change', function () {\n    populateCities(this.value);\n    gid('bidx-city').value = '';\n    page = 1; runSearch();\n  });\n\n  \/\/ \u2500\u2500 Property type \u2192 valid styles map \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  var typeStyleMap = {\n    'Residential':          ['1\/2 Duplex','Condo - Hotel','Condominium','Dock-Rackominium','Farm','Garage Condo','Manufactured Home','Mobile Home','Modular Home','Single Family Residence','Townhouse','Villa'],\n    'Commercial Sale':      ['Agriculture','Assembly Building','Business','Hotel\/Motel','Industrial','Medical Office','Mixed Use','Multi Family (5+)','Office','Other','Restaurant','Retail','Unimproved Land','Warehouse'],\n    'Commercial Lease':     ['Agriculture','Assembly Building','Business','Hotel\/Motel','Industrial','Medical Office','Mixed Use','Multi Family (5+)','Office','Other','Restaurant','Retail','Unimproved Land','Warehouse'],\n    'Business Opportunity': ['Agriculture','Business','Hotel\/Motel','Industrial','Mixed Use','Multi Family (5+)','Office','Restaurant','Retail','Warehouse'],\n    'Income':               ['Duplex','Multi Family (5+)','Quadruplex','Single Family Residence','Triplex'],\n    'Vacant Land':          [],\n    'Rental':               ['1\/2 Duplex','Apartment','Condo - Hotel','Condominium','Dock-Rackominium','Farm','Manufactured Home','Mobile Home','Single Family Residence','Townhouse','Villa'],\n  };\n\n  gid('bidx-type').addEventListener('change', function () {\n    var validStyles = typeStyleMap[this.value] || [];\n    var styleSel = gid('bidx-style');\n    if (styleSel.value && validStyles.indexOf(styleSel.value) === -1) {\n      styleSel.value = '';\n    }\n    page = 1;\n  });\n\n  \/\/ \u2500\u2500 Collect params \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  function getParams() {\n    var parts = (sortSel.value || 'ListPrice|asc').split('|');\n    return {\n      county:    (gid('bidx-county').value || '').trim(),\n      city:      (gid('bidx-city').value || '').trim(),\n      zip:       (gid('bidx-zip').value || '').trim(),\n      type:      gid('bidx-type').value,\n      style:     gid('bidx-style').value,\n      price_min: gid('bidx-price-min').value,\n      price_max: gid('bidx-price-max').value,\n      beds:      gid('bidx-beds').value,\n      baths:     gid('bidx-baths').value,\n      sqft_min:  gid('bidx-sqft-min').value,\n      sqft_max:  gid('bidx-sqft-max').value,\n      year_min:  gid('bidx-year-min').value,\n      year_max:  gid('bidx-year-max').value,\n      lot_min:   gid('bidx-lot-min').value,\n      lot_max:   gid('bidx-lot-max').value,\n      garage:    gid('bidx-garage').value,\n      view:      Array.from(document.querySelectorAll('[name=\"bidx-view\"]:checked')).map(function(cb){return cb.value;}).join(','),\n      amenities: Array.from(document.querySelectorAll('[name=\"bidx-amenity\"]:checked')).map(function(cb){return cb.value;}).join(','),\n      hoa:       (qs('[name=\"bidx-hoa\"]:checked') || {}).value || '',\n      hoa_max:   gid('bidx-hoa-max').value,\n      dom:       gid('bidx-dom').value,\n      new_const: (qs('[name=\"bidx-nc\"]:checked') || {}).value || '',\n      sort:      parts[0],\n      dir:       parts[1],\n      page:      page,\n    };\n  }\n\n  \/\/ \u2500\u2500 Search \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  function runSearch() {\n    var p  = getParams();\n    var qs = Object.keys(p).filter(function (k) { return p[k] !== ''; })\n               .map(function (k) { return encodeURIComponent(k) + '=' + encodeURIComponent(p[k]); })\n               .join('&');\n\n    loading.classList.add('bidx-on');\n    grid.innerHTML = '';\n    pages.innerHTML = '';\n    resultsHdr.style.display = 'none';\n    disclaimer.style.display = 'none';\n\n    fetch(API + '\/search?' + qs)\n      .then(function (r) { return r.json(); })\n      .then(renderResults)\n      .catch(function () {\n        loading.classList.remove('bidx-on');\n        grid.innerHTML = '<div class=\"bidx-empty\"><p>Search failed. Please try again.<\/p><\/div>';\n      });\n  }\n\n  \/\/ \u2500\u2500 Render results \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  function renderResults(data) {\n    loading.classList.remove('bidx-on');\n    var total    = data.total || 0;\n    var listings = data.listings || [];\n\n    resultsHdr.style.display = 'flex';\n    countEl.innerHTML = '<strong>' + total.toLocaleString() + '<\/strong> properties found';\n\n    if (!listings.length) {\n      grid.innerHTML =\n        '<div class=\"bidx-empty\">' +\n        '<svg fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" viewBox=\"0 0 24 24\"><path d=\"M2.25 12l8.954-8.955a1.5 1.5 0 012.091 0L21.75 12M4.5 9.75v10.125c0 .621.504 1.125 1.125 1.125H9.75v-4.875c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125V21h4.125c.621 0 1.125-.504 1.125-1.125V9.75\"\/><\/svg>' +\n        '<h3>No listings found<\/h3><p>Try adjusting your search filters.<\/p><\/div>';\n      return;\n    }\n\n    listingMap = {};\n    listings.forEach(function (l) { listingMap[l.ListingKey] = l; });\n\n    grid.innerHTML = listings.map(cardHTML).join('');\n\n    grid.querySelectorAll('.bidx-detail-btn').forEach(function (btn) {\n      btn.addEventListener('click', function () {\n        openModal(listingMap[btn.dataset.key] || null);\n      });\n    });\n\n    renderPagination(total, data.page, data.per_page);\n    disclaimer.style.display = 'block';\n\n    if (page > 1) {\n      gid('bidx-app').scrollIntoView({ behavior: 'smooth', block: 'start' });\n    }\n  }\n\n  \/\/ \u2500\u2500 Card HTML \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  function cardHTML(l) {\n    var price   = l.ListPrice ? '$' + l.ListPrice.toLocaleString() : 'Price N\/A';\n    var photo   = photoUrl(l);\n    var addr    = h(l.UnparsedAddress || [l.City, l.StateOrProvince, l.PostalCode].filter(Boolean).join(', '));\n    var beds    = l.BedroomsTotal    != null ? l.BedroomsTotal + ' bd'   : null;\n    var baths   = l.BathroomsTotalInteger != null ? l.BathroomsTotalInteger + ' ba' : null;\n    var sqft    = l.LivingArea       ? l.LivingArea.toLocaleString() + ' sqft' : null;\n    var stats   = [beds, baths, sqft].filter(Boolean);\n    var built   = l.YearBuilt ? 'Built ' + l.YearBuilt : null;\n    var dom     = l.DaysOnMarket != null ? l.DaysOnMarket + ' days on market' : null;\n    var cnt     = (l.Media || []).length;\n    var status  = l.StandardStatus || '';\n    var sc      = status === 'Active' ? 'active' : status === 'Pending' ? 'pending' : 'closed';\n    var type    = l.PropertySubType || l.PropertyType || '';\n\n    return '<article class=\"bidx-card\">' +\n      '<div class=\"bidx-card-img\">' +\n        (photo\n          ? '<img decoding=\"async\" src=\"' + h(photo) + '\" alt=\"' + addr + '\" loading=\"lazy\">'\n          : '<div class=\"bidx-card-no-photo\"><svg fill=\"none\" stroke=\"currentColor\" stroke-width=\"1\" viewBox=\"0 0 24 24\"><path d=\"M2.25 15.75l5.159-5.159a2.25 2.25 0 013.182 0l5.159 5.159m-1.5-1.5l1.409-1.409a2.25 2.25 0 013.182 0l2.909 2.909M3 18.75V7.5A2.25 2.25 0 015.25 5.25h13.5A2.25 2.25 0 0121 7.5v11.25m-18 0A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75m-18 0v-7.5\"\/><\/svg><\/div>') +\n        '<div class=\"bidx-badges\">' +\n          '<span class=\"bidx-badge bidx-badge-' + sc + '\">' + h(status) + '<\/span>' +\n          (type ? '<span class=\"bidx-badge bidx-badge-type\">' + h(type) + '<\/span>' : '') +\n          (l.NewConstructionYN ? '<span class=\"bidx-badge bidx-badge-new\">New Build<\/span>' : '') +\n        '<\/div>' +\n        (cnt > 1 ? '<div class=\"bidx-photo-count\"><svg width=\"11\" height=\"11\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\"\/><circle cx=\"8.5\" cy=\"8.5\" r=\"1.5\"\/><path d=\"m21 15-5-5L5 21\"\/><\/svg>' + cnt + '<\/div>' : '') +\n      '<\/div>' +\n      '<div class=\"bidx-card-body\">' +\n        '<div class=\"bidx-price\">' + h(price) + '<\/div>' +\n        (stats.length ? '<div class=\"bidx-stats\">' + stats.map(function(s){return '<span>' + h(s) + '<\/span>';}).join('') + '<\/div>' : '') +\n        '<div class=\"bidx-address\">' + addr + '<\/div>' +\n        '<div class=\"bidx-meta\">' + [built, dom].filter(Boolean).map(h).join('<span>\u00b7<\/span>') + '<\/div>' +\n      '<\/div>' +\n      '<div class=\"bidx-card-foot\">' +\n        '<button class=\"bidx-detail-btn\" data-key=\"' + h(l.ListingKey) + '\" type=\"button\">' +\n          'View Details' +\n          '<svg width=\"13\" height=\"13\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" viewBox=\"0 0 24 24\"><path d=\"M4.5 19.5l15-15m0 0H8.25m11.25 0v11.25\"\/><\/svg>' +\n        '<\/button>' +\n      '<\/div>' +\n    '<\/article>';\n  }\n\n  function photoUrl(l) {\n    if (!l.Media || !l.Media.length) return '';\n    var m = l.Media[0];\n    return m.MediaURL || m.Url || m.MediaUrl || '';\n  }\n\n  \/\/ \u2500\u2500 Pagination \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  function renderPagination(total, cur, per) {\n    var total_pages = Math.ceil(total \/ per);\n    if (total_pages <= 1) return;\n\n    var nums = pageNums(cur, total_pages);\n    var html = '';\n\n    html += '<button class=\"bidx-page\" ' + (cur > 1 ? '' : 'disabled') + ' data-p=\"' + (cur - 1) + '\">&#8592;<\/button>';\n    nums.forEach(function (n) {\n      if (n === '\u2026') { html += '<span class=\"bidx-dot\">\u2026<\/span>'; }\n      else { html += '<button class=\"bidx-page ' + (parseInt(n) === parseInt(cur) ? 'on' : '') + '\" data-p=\"' + n + '\">' + n + '<\/button>'; }\n    });\n    html += '<button class=\"bidx-page\" ' + (cur < total_pages ? '' : 'disabled') + ' data-p=\"' + (cur + 1) + '\">&#8594;<\/button>';\n\n    pages.innerHTML = html;\n    pages.querySelectorAll('[data-p]').forEach(function (btn) {\n      btn.addEventListener('click', function () {\n        page = parseInt(btn.dataset.p);\n        runSearch();\n      });\n    });\n  }\n\n  function pageNums(cur, total) {\n    if (total <= 7) {\n      var a = [];\n      for (var i = 1; i <= total; i++) a.push(i);\n      return a;\n    }\n    if (cur <= 4)          return [1,2,3,4,5,'\u2026',total];\n    if (cur >= total - 3)  return [1,'\u2026',total-4,total-3,total-2,total-1,total];\n    return [1,'\u2026',cur-1,cur,cur+1,'\u2026',total];\n  }\n\n  \/\/ \u2500\u2500 Modal \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  function openModal(listing) {\n    closeModal(); \/\/ remove any existing modal first\n\n    \/\/ Build modal entirely in JS, appended to body \u2014 outside Elementor's DOM\n    var ov = document.createElement('div');\n    ov.id = 'bidx-ov';\n    ov.style.cssText = 'position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:2147483647;display:flex;align-items:center;justify-content:center;padding:20px';\n    ov.addEventListener('click', function (e) { if (e.target === ov) closeModal(); });\n\n    var box = document.createElement('div');\n    box.style.cssText = 'background:#fff;border-radius:16px;max-width:920px;width:100%;min-height:260px;max-height:92vh;overflow-y:auto;position:relative;box-shadow:0 24px 64px rgba(0,0,0,.3);font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif';\n\n    var closeBtn = document.createElement('button');\n    closeBtn.innerHTML = '&times;';\n    closeBtn.style.cssText = 'position:sticky;top:12px;float:right;margin:12px 12px 0 0;width:34px;height:34px;background:rgba(0,0,0,.1);border:none;border-radius:50%;font-size:22px;cursor:pointer;color:#0f172a;line-height:1;display:flex;align-items:center;justify-content:center;z-index:1;flex-shrink:0';\n    closeBtn.onclick = closeModal;\n\n    var body = document.createElement('div');\n    body.id = 'bidx-modal-body';\n    body.style.cssText = 'clear:both;min-height:200px';\n    body.innerHTML = '<div style=\"display:flex;justify-content:center;align-items:center;height:220px\"><div style=\"width:28px;height:28px;border:3px solid #e2e8f0;border-top-color:#007582;border-radius:50%;animation:bidx-spin .7s linear infinite\"><\/div><\/div>';\n\n    box.appendChild(closeBtn);\n    box.appendChild(body);\n    ov.appendChild(box);\n    document.body.appendChild(ov);\n    document.body.style.overflow = 'hidden';\n\n    if (listing) {\n      try { renderModal(body, listing); }\n      catch(e) {\n        console.error('bidx renderModal error:', e);\n        body.innerHTML = '<div style=\"padding:60px;text-align:center;color:#475569\">Could not display listing details.<\/div>';\n      }\n    } else {\n      body.innerHTML = '<div style=\"padding:60px;text-align:center;color:#475569\">Listing not found.<\/div>';\n    }\n  }\n\n  function closeModal() {\n    var ov = document.getElementById('bidx-ov');\n    if (ov) ov.parentNode.removeChild(ov);\n    document.body.style.overflow = '';\n    glPhotos = []; glIdx = 0;\n  }\n\n  function renderModal(mb, l) {\n    glPhotos = (l.Media || []).map(function (m) { return m.MediaURL || m.Url || m.MediaUrl || ''; }).filter(Boolean);\n    glIdx = 0;\n\n    var price  = l.ListPrice ? '$' + l.ListPrice.toLocaleString() : 'Price N\/A';\n    var addr   = l.UnparsedAddress || [l.City, l.StateOrProvince, l.PostalCode].filter(Boolean).join(', ') || '';\n    var status = l.StandardStatus || '';\n    var type   = l.PropertySubType || l.PropertyType || '';\n    var scColor = status === 'Active' ? '#065f46' : status === 'Pending' ? '#92400e' : '#475569';\n    var scBg    = status === 'Active' ? '#d1fae5' : status === 'Pending' ? '#fef3c7' : '#e2e8f0';\n\n    var stats = [\n      l.BedroomsTotal        != null ? [l.BedroomsTotal,                     'Beds']   : null,\n      l.BathroomsTotalInteger != null ? [l.BathroomsTotalInteger,             'Baths']  : null,\n      l.LivingArea            ? [l.LivingArea.toLocaleString(),               'Sqft']   : null,\n      l.LotSizeAcres          ? [(+l.LotSizeAcres).toFixed(2),               'Lot ac']  : null,\n      l.YearBuilt             ? [l.YearBuilt,                                 'Built']   : null,\n      l.GarageSpaces          ? [l.GarageSpaces,                              'Garage']  : null,\n    ].filter(Boolean);\n\n    var details = [\n      ['Property Type',    type],\n      ['Status',           status],\n      ['Days on Market',   l.DaysOnMarket != null ? l.DaysOnMarket + ' days' : null],\n      ['MLS #',            l.ListingKey ? l.ListingKey.slice(0,8).toUpperCase() : null],\n      ['Pool',             l.PoolPrivateYN != null ? (l.PoolPrivateYN ? 'Yes' : 'No') : null],\n      ['Waterfront',       l.WaterfrontYN  != null ? (l.WaterfrontYN  ? 'Yes' : 'No') : null],\n      ['New Construction', l.NewConstructionYN != null ? (l.NewConstructionYN ? 'Yes' : 'No') : null],\n      ['HOA Fee',          l.AssociationFee ? '$' + (+l.AssociationFee).toLocaleString() + '\/mo' : null],\n      ['Zip Code',         l.PostalCode],\n      ['County',           l.CountyOrParish],\n      ['Lot Size',         l.LotSizeSquareFeet ? (+l.LotSizeSquareFeet).toLocaleString() + ' sqft' : null],\n      ['Building Area',    l.BuildingAreaTotal ? (+l.BuildingAreaTotal).toLocaleString() + ' sqft' : null],\n    ].filter(function (d) { return d[1]; });\n\n    \/\/ \u2500\u2500 Photo gallery (inline styles only) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n    var galHtml = '';\n    if (glPhotos.length) {\n      galHtml =\n        '<div style=\"position:relative;width:100%;height:320px;overflow:hidden;background:#f1f5f9;flex-shrink:0\">' +\n          '<img decoding=\"async\" id=\"bidx-mi\" src=\"' + h(glPhotos[0]) + '\" alt=\"photo\" style=\"width:100%;height:100%;object-fit:cover;display:block;border:none;margin:0;padding:0\">' +\n          (glPhotos.length > 1\n            ? '<button id=\"bidx-mp\" style=\"position:absolute;left:12px;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background:rgba(0,0,0,.5);color:#fff;border:none;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1\">&#8249;<\/button>' +\n              '<button id=\"bidx-mn\" style=\"position:absolute;right:12px;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background:rgba(0,0,0,.5);color:#fff;border:none;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1\">&#8250;<\/button>' +\n              '<span id=\"bidx-mc\" style=\"position:absolute;bottom:10px;right:12px;background:rgba(0,0,0,.55);color:#fff;padding:2px 8px;border-radius:4px;font-size:12px;font-family:sans-serif\">1 \/ ' + glPhotos.length + '<\/span>'\n            : '') +\n        '<\/div>' +\n        (glPhotos.length > 1\n          ? '<div id=\"bidx-mt\" style=\"display:flex;gap:5px;overflow-x:auto;padding:8px 16px;background:#f8fafc\">' +\n              glPhotos.map(function (u, i) {\n                return '<img decoding=\"async\" src=\"' + h(u) + '\" data-i=\"' + i + '\" style=\"width:70px;height:50px;object-fit:cover;border-radius:4px;cursor:pointer;flex-shrink:0;border:2px solid ' + (i===0?'#007582':'transparent') + ';opacity:' + (i===0?'1':'.65') + '\">';\n              }).join('') +\n            '<\/div>'\n          : '');\n    } else {\n      galHtml = '<div style=\"width:100%;height:180px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-family:sans-serif;font-size:14px\">No photos available<\/div>';\n    }\n\n    \/\/ \u2500\u2500 Stats row \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n    var statsHtml = '';\n    if (stats.length) {\n      statsHtml = '<div style=\"display:flex;flex-wrap:wrap;gap:10px;padding:16px 0;border-bottom:1px solid #e2e8f0\">' +\n        stats.map(function (s) {\n          return '<div style=\"background:#f8fafc;border-radius:8px;padding:10px 14px;text-align:center;min-width:80px\">' +\n            '<div style=\"font-size:18px;font-weight:800;color:#003d53;line-height:1.2;font-family:sans-serif\">' + h(String(s[0])) + '<\/div>' +\n            '<div style=\"font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#475569;margin-top:2px;font-family:sans-serif\">' + h(s[1]) + '<\/div>' +\n            '<\/div>';\n        }).join('') +\n      '<\/div>';\n    }\n\n    \/\/ \u2500\u2500 Details grid \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n    var detailsHtml = '';\n    if (details.length) {\n      detailsHtml = '<div style=\"padding:16px 0;border-bottom:1px solid #e2e8f0\">' +\n        '<div style=\"font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#003d53;margin-bottom:12px;font-family:sans-serif\">Property Details<\/div>' +\n        '<div style=\"display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px\">' +\n          details.map(function (d) {\n            return '<div style=\"font-family:sans-serif\">' +\n              '<div style=\"font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;margin-bottom:2px\">' + h(d[0]) + '<\/div>' +\n              '<div style=\"font-size:13px;color:#0f172a\">' + h(String(d[1])) + '<\/div>' +\n              '<\/div>';\n          }).join('') +\n        '<\/div><\/div>';\n    }\n\n    \/\/ \u2500\u2500 Assemble \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n    mb.innerHTML =\n      '<div style=\"display:flex;flex-direction:column;min-height:200px\">' +\n        galHtml +\n        '<div style=\"padding:20px 22px 22px;font-family:sans-serif\">' +\n          '<div style=\"font-size:26px;font-weight:800;color:#003d53;line-height:1.2;margin-bottom:6px\">' + h(price) + '<\/div>' +\n          '<div style=\"font-size:14px;color:#475569;margin-bottom:10px\">' + h(addr) + '<\/div>' +\n          '<div style=\"display:flex;gap:6px;flex-wrap:wrap;margin-bottom:4px\">' +\n            '<span style=\"padding:3px 9px;border-radius:5px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:' + scBg + ';color:' + scColor + '\">' + h(status) + '<\/span>' +\n            (type ? '<span style=\"padding:3px 9px;border-radius:5px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:#003d53;color:#fff\">' + h(type) + '<\/span>' : '') +\n            (l.NewConstructionYN ? '<span style=\"padding:3px 9px;border-radius:5px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:#fde68a;color:#78350f\">New Construction<\/span>' : '') +\n          '<\/div>' +\n          statsHtml +\n          (l.PublicRemarks\n            ? '<div style=\"padding:16px 0;border-bottom:1px solid #e2e8f0\">' +\n                '<div style=\"font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#003d53;margin-bottom:10px\">Description<\/div>' +\n                '<p style=\"font-size:14px;line-height:1.65;color:#475569;margin:0\">' + h(l.PublicRemarks) + '<\/p>' +\n              '<\/div>'\n            : '') +\n          detailsHtml +\n\n          \/\/ \u2500\u2500 Contact CTA \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n          '<div style=\"margin-top:20px;padding:24px;background:#f0f7f8;border-radius:12px;border:1px solid #c7e4e7\" id=\"bidx-cta\">' +\n            '<div style=\"font-size:16px;font-weight:800;color:#003d53;margin-bottom:6px\">Work with a Gloven Realty Advisor<\/div>' +\n            '<p style=\"font-size:13px;color:#475569;margin:0 0 16px;line-height:1.55\">Interested in this property? Schedule a showing, request more information, or make an offer \u2014 no obligation. Your contact information will never be shared without your consent.<\/p>' +\n            '<button id=\"bidx-contact-btn\" style=\"display:inline-flex;align-items:center;gap:8px;background:#003d53;color:#fff;padding:11px 22px;border-radius:8px;font-size:14px;font-weight:700;border:none;cursor:pointer;letter-spacing:.02em\">Contact an Agent &#8594;<\/button>' +\n            '<div id=\"bidx-contact-form\" style=\"display:none;margin-top:20px;padding-top:20px;border-top:1px solid #c7e4e7\">' +\n              '<div style=\"display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px\">' +\n                '<div>' +\n                  '<label style=\"display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#475569;margin-bottom:5px\">Full Name *<\/label>' +\n                  '<input id=\"bidx-f-name\" type=\"text\" placeholder=\"Your name\" style=\"width:100%;padding:9px 12px;border:1.5px solid #c7e4e7;border-radius:7px;font-size:14px;color:#0f172a;background:#fff;outline:none;box-sizing:border-box\">' +\n                '<\/div>' +\n                '<div>' +\n                  '<label style=\"display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#475569;margin-bottom:5px\">Email Address *<\/label>' +\n                  '<input id=\"bidx-f-email\" type=\"email\" placeholder=\"you@email.com\" style=\"width:100%;padding:9px 12px;border:1.5px solid #c7e4e7;border-radius:7px;font-size:14px;color:#0f172a;background:#fff;outline:none;box-sizing:border-box\">' +\n                '<\/div>' +\n              '<\/div>' +\n              '<div style=\"margin-bottom:12px\">' +\n                '<label style=\"display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#475569;margin-bottom:5px\">Phone Number (optional)<\/label>' +\n                '<input id=\"bidx-f-phone\" type=\"tel\" placeholder=\"(305) 000-0000\" style=\"width:100%;padding:9px 12px;border:1.5px solid #c7e4e7;border-radius:7px;font-size:14px;color:#0f172a;background:#fff;outline:none;box-sizing:border-box\">' +\n              '<\/div>' +\n              '<div style=\"margin-bottom:16px\">' +\n                '<label style=\"display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#475569;margin-bottom:5px\">Message<\/label>' +\n                '<textarea id=\"bidx-f-msg\" rows=\"3\" style=\"width:100%;padding:9px 12px;border:1.5px solid #c7e4e7;border-radius:7px;font-size:14px;color:#0f172a;background:#fff;outline:none;box-sizing:border-box;resize:vertical;font-family:inherit\">' +\n                  'I\\'m interested in ' + addr.replace(\/'\/g, \"\\\\'\") + ' listed at ' + price + '. Please contact me with more information.' +\n                '<\/textarea>' +\n              '<\/div>' +\n              '<div style=\"display:flex;align-items:center;gap:12px;flex-wrap:wrap\">' +\n                '<button id=\"bidx-f-submit\" style=\"background:#007582;color:#fff;padding:10px 24px;border-radius:7px;font-size:14px;font-weight:700;border:none;cursor:pointer\">Send Message<\/button>' +\n                '<button id=\"bidx-f-cancel\" style=\"background:transparent;color:#475569;padding:10px 16px;border-radius:7px;font-size:14px;border:1.5px solid #c7e4e7;cursor:pointer\">Cancel<\/button>' +\n                '<p id=\"bidx-f-status\" style=\"font-size:13px;margin:0\"><\/p>' +\n              '<\/div>' +\n            '<\/div>' +\n          '<\/div>' +\n\n          \/\/ \u2500\u2500 Legal Disclaimer \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n          '<div style=\"margin-top:20px;padding:16px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0\">' +\n            '<p style=\"font-size:11px;color:#64748b;line-height:1.7;margin:0 0 8px\">' +\n              '<strong style=\"color:#475569\">Glovenco LLC dba Gloven Realty<\/strong> is a licensed real estate brokerage in the State of Florida. Florida Broker License No. 3602550.' +\n            '<\/p>' +\n            '<p style=\"font-size:11px;color:#64748b;line-height:1.7;margin:0 0 8px\">' +\n              'Listing information is provided by Stellar MLS via Bridge Data Output and is intended for consumers\\' personal, non-commercial use only. Information is deemed reliable but not guaranteed and may be subject to errors, omissions, price changes, prior sale, or withdrawal without notice. Glovenco LLC dba Gloven Realty does not warrant the accuracy of property measurements, HOA fees, tax assessments, school assignments, or any other data.' +\n            '<\/p>' +\n            '<p style=\"font-size:11px;color:#64748b;line-height:1.7;margin:0 0 8px\">' +\n              '&copy; ' + new Date().getFullYear() + ' Stellar MLS. All rights reserved. <span style=\"display:inline-block;margin-left:6px\">&#9750; Equal Housing Opportunity.<\/span>' +\n            '<\/p>' +\n            '<p style=\"font-size:11px;color:#94a3b8;line-height:1.6;margin:0\">' +\n              'Gloven Realty is a division of Glovenco LLC. Use of this website constitutes acceptance of our Terms of Use and Privacy Policy.' +\n            '<\/p>' +\n          '<\/div>' +\n\n        '<\/div>' +\n      '<\/div>';\n\n    \/\/ \u2500\u2500 Contact form logic \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n    var contactBtn = mb.querySelector('#bidx-contact-btn');\n    var contactForm = mb.querySelector('#bidx-contact-form');\n    var cancelBtn   = mb.querySelector('#bidx-f-cancel');\n    var submitBtn   = mb.querySelector('#bidx-f-submit');\n    var statusEl    = mb.querySelector('#bidx-f-status');\n\n    contactBtn.onclick = function () {\n      contactForm.style.display = 'block';\n      contactBtn.style.display  = 'none';\n      contactForm.scrollIntoView({ block: 'nearest', behavior: 'smooth' });\n    };\n    cancelBtn.onclick = function () {\n      contactForm.style.display = 'none';\n      contactBtn.style.display  = 'inline-flex';\n    };\n    submitBtn.onclick = function () {\n      var name  = mb.querySelector('#bidx-f-name').value.trim();\n      var email = mb.querySelector('#bidx-f-email').value.trim();\n      var phone = mb.querySelector('#bidx-f-phone').value.trim();\n      var msg   = mb.querySelector('#bidx-f-msg').value.trim();\n      var prop  = addr + ' \u2014 ' + price;\n\n      if (!name || !email) {\n        statusEl.style.color = '#dc2626';\n        statusEl.textContent = 'Please fill in your name and email.';\n        return;\n      }\n\n      submitBtn.disabled   = true;\n      submitBtn.textContent = 'Sending\u2026';\n      statusEl.textContent  = '';\n\n      fetch(API + '\/contact', {\n        method: 'POST',\n        headers: { 'Content-Type': 'application\/json' },\n        body: JSON.stringify({ name: name, email: email, phone: phone, message: msg, property: prop })\n      })\n      .then(function (r) { return r.json(); })\n      .then(function (d) {\n        if (d.success) {\n          contactForm.innerHTML =\n            '<div style=\"padding:20px;text-align:center\">' +\n              '<div style=\"font-size:32px;margin-bottom:10px\">&#10003;<\/div>' +\n              '<div style=\"font-size:16px;font-weight:700;color:#003d53;margin-bottom:6px\">Message Sent!<\/div>' +\n              '<p style=\"font-size:13px;color:#475569;margin:0\">A Gloven Realty advisor will reach out to you shortly.<\/p>' +\n            '<\/div>';\n        } else {\n          statusEl.style.color  = '#dc2626';\n          statusEl.textContent  = d.error || 'Something went wrong. Please try again.';\n          submitBtn.disabled    = false;\n          submitBtn.textContent = 'Send Message';\n        }\n      })\n      .catch(function () {\n        statusEl.style.color  = '#dc2626';\n        statusEl.textContent  = 'Connection error. Please call us at 305-890-9000.';\n        submitBtn.disabled    = false;\n        submitBtn.textContent = 'Send Message';\n      });\n    };\n\n    \/\/ Gallery nav\n    if (glPhotos.length > 1) {\n      mb.querySelector('#bidx-mp').onclick = function () { setGalIdx(mb, glIdx - 1); };\n      mb.querySelector('#bidx-mn').onclick = function () { setGalIdx(mb, glIdx + 1); };\n      mb.querySelector('#bidx-mt').querySelectorAll('img').forEach(function (img) {\n        img.onclick = function () { setGalIdx(mb, parseInt(img.dataset.i)); };\n      });\n    }\n  }\n\n  function setGalIdx(mb, i) {\n    glIdx = ((i % glPhotos.length) + glPhotos.length) % glPhotos.length;\n    mb.querySelector('#bidx-mi').src = glPhotos[glIdx];\n    mb.querySelector('#bidx-mc').textContent = (glIdx + 1) + ' \/ ' + glPhotos.length;\n    var thumbs = mb.querySelector('#bidx-mt');\n    thumbs.querySelectorAll('img').forEach(function (t, j) {\n      t.style.border = '2px solid ' + (j === glIdx ? '#007582' : 'transparent');\n      t.style.opacity = j === glIdx ? '1' : '.65';\n    });\n    thumbs.querySelectorAll('img')[glIdx].scrollIntoView({ inline: 'nearest', block: 'nearest', behavior: 'smooth' });\n  }\n\n  \/\/ \u2500\u2500 Clear filters \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  function clearFilters() {\n    gid('bidx-county').value    = '';\n    populateCities('');\n    gid('bidx-city').value      = '';\n    gid('bidx-zip').value       = '';\n    gid('bidx-type').value      = 'Residential';\n    gid('bidx-style').value     = '';\n    gid('bidx-price-min').value = '';\n    gid('bidx-price-max').value = '';\n    gid('bidx-beds').value      = '';\n    gid('bidx-baths').value     = '';\n    gid('bidx-sqft-min').value  = '';\n    gid('bidx-sqft-max').value  = '';\n    gid('bidx-year-min').value  = '';\n    gid('bidx-year-max').value  = '';\n    gid('bidx-lot-min').value   = '';\n    gid('bidx-lot-max').value   = '';\n    gid('bidx-garage').value    = '';\n    gid('bidx-hoa-max').value   = '';\n    gid('bidx-dom').value       = '';\n    ['bidx-hoa','bidx-nc'].forEach(function (name) {\n      var first = document.querySelector('[name=\"' + name + '\"]');\n      if (first) first.checked = true;\n    });\n    document.querySelectorAll('[name=\"bidx-view\"]').forEach(function(cb) { cb.checked = false; });\n    document.querySelectorAll('[name=\"bidx-amenity\"]').forEach(function(cb) { cb.checked = false; });\n  }\n\n  \/\/ \u2500\u2500 Helpers \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  function toTitleCase(str) {\n    return str.toLowerCase().replace(\/\\b\\w\/g, function (c) { return c.toUpperCase(); });\n  }\n\n  function populateCities(county) {\n    var sel = gid('bidx-city');\n    var prev = sel.value;\n    sel.innerHTML = '<option value=\"\">All Cities<\/option>';\n    var list = county\n      ? (allLocations[county] || [])\n      : Object.values(allLocations).reduce(function (a, b) { return a.concat(b); }, []);\n    \/\/ Deduplicate + sort\n    var unique = list.filter(function (v, i, a) { return a.indexOf(v) === i; }).sort();\n    unique.forEach(function (city) {\n      var o = document.createElement('option');\n      o.value = city;\n      o.textContent = toTitleCase(city);\n      if (city === prev) o.selected = true;\n      sel.appendChild(o);\n    });\n  }\n\n  \/\/ \u2500\u2500 HTML escape \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  function h(str) {\n    if (str == null) return '';\n    return String(str)\n      .replace(\/&\/g,'&amp;').replace(\/<\/g,'&lt;')\n      .replace(\/>\/g,'&gt;').replace(\/\"\/g,'&quot;');\n  }\n\n}());\n<\/script>\n<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-2365","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.glovenco.com\/es\/wp-json\/wp\/v2\/pages\/2365","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.glovenco.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.glovenco.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.glovenco.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.glovenco.com\/es\/wp-json\/wp\/v2\/comments?post=2365"}],"version-history":[{"count":18,"href":"https:\/\/www.glovenco.com\/es\/wp-json\/wp\/v2\/pages\/2365\/revisions"}],"predecessor-version":[{"id":11931,"href":"https:\/\/www.glovenco.com\/es\/wp-json\/wp\/v2\/pages\/2365\/revisions\/11931"}],"wp:attachment":[{"href":"https:\/\/www.glovenco.com\/es\/wp-json\/wp\/v2\/media?parent=2365"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}