[hidden]{display:none!important}
#listings .listing{position:relative}
#listings .featured-details{display:block;margin-bottom:12px;text-decoration:underline;text-underline-offset:4px}
#listings .featured-details::after{content:"";position:absolute;inset:0;z-index:1;cursor:pointer;border-radius:inherit}
#listings .featured-details:focus-visible{outline:none}
#listings .featured-details:focus-visible::after{outline:3px solid #747b68;outline-offset:-5px}
#listings a[data-showing]{position:relative;z-index:2;display:inline-block;min-height:44px;padding:8px 0}
.mls-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 22px}
.mls-tabs button{width:auto;min-height:50px;padding:12px 23px;font:700 1rem Arial,sans-serif;border:1px solid #babbb7;border-radius:12px;background:#262726;color:#f5f5f0;cursor:pointer}
.mls-tabs button[aria-selected="true"]{background:#ecece6;color:#252623;box-shadow:inset 0 -3px #a8ada3}
#cgmls-panel{color:#f5f5f0}
.cg-intro{max-width:760px;margin:0 0 20px;color:#eeeee9}
#cgmls-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:25px;border-radius:18px;margin:0 0 22px;color:#292929;background:#f2f2ed}
#cgmls-form .field{margin:0;min-width:0}
#cgmls-form .cg-location{grid-column:span 2}
#cgmls-form label{display:block;font-size:14px;font-weight:700;margin-bottom:7px}
#cgmls-form input,#cgmls-form select{width:100%;min-height:47px;border:1px solid #a9aaa2;border-radius:8px;background:#fff;color:#252623;padding:10px 12px;font:inherit}
#cgmls-form input::placeholder{color:#62645d}
.cg-actions{grid-column:1/-1;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
#cgmls-form .cg-actions button{width:auto;min-width:150px;margin:0}
.cg-summary{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;flex-wrap:wrap}
#cgmls-status{margin:0;font-weight:700;min-height:26px}
#cgmls-updated{font-size:13px;color:#e0e1da}
.cg-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.cg-card{min-width:0;border-radius:16px;overflow:hidden;background:#f6f6f1;color:#272923;border:1px solid #c5c7be;display:flex;flex-direction:column;box-shadow:0 12px 30px #0002}
.cg-cover{position:relative;aspect-ratio:4/3;background:#d9dcd2;display:grid;place-items:center;color:#464b40;font-size:14px}
.cg-cover img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.cg-status{position:absolute;left:14px;top:14px;background:#28342cf0;color:#fff;border-radius:5px;padding:4px 10px;font-size:12px;font-weight:700;letter-spacing:.05em}
.cg-card-body{padding:20px;display:flex;flex-direction:column;flex:1}
.cg-price{font-size:1.45rem;font-weight:800;color:#292d27;margin:0 0 8px}
.cg-card h3{font:700 1.25rem/1.35 Georgia,serif;margin:0 0 3px;overflow-wrap:anywhere}
.cg-city{font-size:14px;color:#565c50;margin:0 0 14px}
.cg-facts{display:flex;gap:6px 16px;flex-wrap:wrap;font-size:14px;padding:0 0 15px;margin:0 0 14px;border-bottom:1px solid #d5d8cc}
.cg-credit{font-size:12px;line-height:1.6;color:#555b50;margin:0 0 12px;overflow-wrap:anywhere}
.cg-credit strong{font-weight:700;color:#383e32}
.cg-card .btn{width:100%;text-align:center;margin-top:auto;min-height:46px}
.cg-empty{grid-column:1/-1;padding:38px 25px;background:#242622d9;border:1px solid #9da291;border-radius:14px;text-align:center;color:#f5f5f0}
.cg-empty p{margin:0 0 16px}
.cg-pagination{display:flex;justify-content:center;align-items:center;gap:18px;margin:28px 0}
.cg-pagination button{width:auto;min-height:46px;padding:10px 20px;background:#ecece6;color:#242721;border:1px solid #b4b8aa;border-radius:8px;font:700 14px Arial;cursor:pointer}
.cg-pagination button:disabled{opacity:.45;cursor:default}
.cg-disclaimer{font-size:12px;line-height:1.7;color:#dddeda;border-top:1px solid #b7bcab55;padding-top:20px;margin-top:25px}
.cg-disclaimer p{margin:0 0 8px}
#cgmls-detail{padding:0;width:min(900px,calc(100% - 28px));max-height:90dvh;border:1px solid #d3d8c9;border-radius:18px;background:#f7f7f1;color:#2b3027;box-shadow:0 35px 100px #0009;overflow:auto}
#cgmls-detail::backdrop{background:#121711cc;backdrop-filter:blur(4px)}
.cg-dialog-bar{position:sticky;top:0;z-index:2;padding:12px 20px;display:flex;justify-content:space-between;align-items:center;background:#f7f7f1f7;border-bottom:1px solid #d9dccc;gap:20px}
.cg-dialog-bar strong{font-size:13px;letter-spacing:.05em}
.cg-dialog-bar button{width:auto;min-height:44px;padding:7px 14px;border:1px solid #aeb3a4;border-radius:8px;background:white;color:#2b3027;font:700 14px Arial;cursor:pointer}
.cg-detail-content{padding:25px}
#cgmls-detail-title{font:700 clamp(1.6rem,4vw,2.4rem)/1.2 Georgia,serif;margin:0 0 7px}
.cg-gallery{aspect-ratio:4/3;background:#d9dcd2;position:relative;display:grid;place-items:center;color:#464b40}
.cg-gallery img{width:100%;height:100%;position:absolute;inset:0;object-fit:contain}
.cg-gallery-nav{position:absolute;bottom:16px;left:16px;right:16px;display:flex;align-items:center;justify-content:space-between;color:white;font-size:14px}
.cg-gallery-nav button{width:48px;height:44px;margin:0;border:1px solid #deded8;border-radius:8px;background:#242a21e8;color:white;font-size:20px;cursor:pointer}
.cg-gallery-nav span{background:#242a21e8;padding:5px 12px;border-radius:5px}
.cg-detail-remarks{white-space:pre-line;overflow-wrap:anywhere;line-height:1.75}
.cg-detail-amenities{display:grid;grid-template-columns:1fr 1fr;gap:15px 25px;font-size:14px;margin:25px 0}
.cg-detail-amenities div{border-top:1px solid #d1d5c7;padding-top:12px;overflow-wrap:anywhere}
.cg-detail-amenities dt{font-weight:700}
.cg-detail-amenities dd{margin:3px 0 0}
.cg-detail-cta{background:#e8ebe0;border:1px solid #c4cab9;border-radius:12px;padding:20px;margin:24px 0}
.cg-detail-cta p{font-size:14px;margin:0 0 14px}
.cg-detail-cta .btn{width:auto}
.cg-detail-footer{font-size:12px;border-top:1px solid #cdd2c3;padding-top:16px;color:#535b4a}
#cgmls-panel select:focus-visible,#cgmls-detail button:focus-visible{outline:3px solid #667956;outline-offset:3px}
@media(max-width:900px){.cg-results{grid-template-columns:repeat(2,minmax(0,1fr))}#cgmls-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.cg-results{grid-template-columns:1fr}.mls-tabs{gap:8px}.mls-tabs button{flex:1;padding:12px 10px;font-size:14px}#cgmls-form{padding:18px;gap:14px}.cg-actions button{flex:1;min-width:0!important}.cg-detail-content{padding:20px}.cg-detail-amenities{grid-template-columns:1fr}.cg-dialog-bar{padding:8px 14px}.cg-pagination{gap:12px}.cg-pagination button{padding:10px 16px}.cg-detail-cta .btn{width:100%}}
#cgmls-form{display:block}
.cg-search-row{display:flex;gap:16px;align-items:flex-end}
.cg-search-row>.field{flex:1}
.cg-search-row>.btn{width:auto;min-height:47px;margin:0;flex-shrink:0}
.cg-filters{margin-top:18px}
.cg-filters summary{cursor:pointer;font-weight:700;font-size:14px;width:fit-content;padding:5px 0}
.cg-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:18px}
#cgmls-form .cg-reset{width:auto;align-self:end;background:transparent;border:0;text-decoration:underline;color:#3e4436;min-height:47px;font:inherit;cursor:pointer;margin:0}
#cgmls-results-heading{font:700 1.65rem Georgia,serif;margin:0 0 10px}
.cg-carousel-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 18px}
.cg-carousel-controls>span{flex:1;font-size:14px;color:#e4e7de}
.cg-carousel-controls button{width:auto;min-height:44px;min-width:44px;padding:9px 15px;border:1px solid #b1b7a6;border-radius:8px;background:#edf0e5;color:#282e23;font:700 14px Arial;cursor:pointer;margin:0}
.cg-carousel-controls button:disabled{opacity:.4;cursor:default}
.cg-results.cg-carousel{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:2px;scrollbar-width:thin;scrollbar-color:#d0d5c6 #414738;padding:2px 2px 18px}
.cg-carousel .cg-card{flex:0 0 calc((100% - 48px)/3);scroll-snap-align:start}
.cg-carousel .cg-empty{flex:1;min-width:100%}
@media(max-width:900px){.cg-carousel .cg-card{flex-basis:calc((100% - 24px)/2)}.cg-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.cg-search-row{flex-direction:column;align-items:stretch;gap:12px}.cg-search-row .btn{width:100%}.cg-carousel .cg-card{flex-basis:88%}.cg-carousel-controls>span{flex-basis:100%}.cg-carousel-controls #cgmls-view-all{margin-left:auto}.cg-results.cg-carousel{gap:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.cg-search-row>.field{position:relative}
#cg-suggestions{position:absolute;top:100%;left:0;right:0;z-index:1100;margin:4px 0 0;padding:5px;list-style:none;background:white;border:1px solid #b2b7a6;border-radius:10px;box-shadow:0 12px 30px #0003;max-height:300px;overflow:auto}
#cg-suggestions li{padding:11px 12px;font-size:14px;line-height:1.4;border-radius:6px;cursor:pointer}
#cg-suggestions li:hover,#cg-suggestions li[aria-selected="true"]{background:#e4e9da;color:#22291b}
.cg-explore-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:24px;align-items:start}
.cg-map-panel{position:sticky;top:20px;min-width:0;border:1px solid #acb29f;border-radius:16px;overflow:hidden;background:#e9ece1;color:#36402a}
#cg-map{height:550px;width:100%;background:#d9e2cd}
#cg-map-note{font-size:12px;line-height:1.5;padding:12px 15px;margin:0;background:#f1f3e9;color:#3f4835}
.cg-results-pane{min-width:0}
.cg-results-pane .cg-results:not(.cg-carousel){grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-height:760px;overflow:auto;padding:2px 2px 12px;scrollbar-width:thin}
.cg-results-pane .cg-carousel .cg-card{flex-basis:88%}
.cg-results-pane .cg-card-body{padding:16px}
.cg-results-pane .cg-card .cg-price{font-size:1.3rem}
.cg-results-pane .cg-card h3{font-size:1.1rem}
.cg-results-pane .cg-carousel-controls>span{flex-basis:100%}
.cg-results-pane .cg-carousel-controls #cgmls-view-all{margin-left:auto}
.cg-map-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 16px;font-size:13px}
.cg-map-toolbar button{width:auto;min-height:44px;padding:9px 18px;border:1px solid #b7bcad;border-radius:8px;background:#ecefe3;color:#2b3222;font:700 14px Arial;cursor:pointer;margin:0}
#cg-search-area{position:absolute;top:15px;left:50%;transform:translateX(-50%);z-index:1000;width:auto;min-height:44px;white-space:nowrap;padding:9px 16px;margin:0;background:#303b28;color:#fff;border:1px solid white;border-radius:8px;font:700 14px Arial;box-shadow:0 4px 15px #0003;cursor:pointer}
.cg-price-pin{padding:5px 8px;white-space:nowrap;min-width:78px;width:fit-content;border:2px solid white;border-radius:20px;background:#30402a;color:white;font:700 12px/1.4 Arial;text-align:center;box-shadow:0 3px 7px #0004}
.cg-map-popup{font-family:Arial,sans-serif;color:#293120;font-size:14px}
.cg-map-popup>strong{font-size:19px}.cg-map-popup p{margin:9px 0}.cg-map-popup .btn{font-size:14px;width:100%;padding:9px 12px}
.leaflet-control-attribution{color:#263320}.leaflet-control-attribution a{color:#214577}
.cg-map-hidden{grid-template-columns:1fr}.cg-map-hidden .cg-results-pane .cg-carousel .cg-card{flex-basis:calc((100% - 48px)/3)}
.cg-map-hidden .cg-results-pane .cg-results:not(.cg-carousel){grid-template-columns:repeat(3,minmax(0,1fr));max-height:none}
.cg-gamls-link{font-size:14px;margin:18px 0 0}.cg-gamls-link a{color:#f2f4eb;text-underline-offset:4px}
@media(max-width:900px){.cg-explore-layout{grid-template-columns:1fr}.cg-map-panel{position:relative;top:0}#cg-map{height:340px}.cg-results-pane .cg-carousel .cg-card,.cg-map-hidden .cg-results-pane .cg-carousel .cg-card{flex-basis:calc((100% - 24px)/2)}.cg-results-pane .cg-results:not(.cg-carousel),.cg-map-hidden .cg-results-pane .cg-results:not(.cg-carousel){grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}}
@media(max-width:580px){#cg-map{height:300px}.cg-results-pane .cg-carousel .cg-card,.cg-map-hidden .cg-results-pane .cg-carousel .cg-card{flex-basis:88%}.cg-results-pane .cg-results:not(.cg-carousel),.cg-map-hidden .cg-results-pane .cg-results:not(.cg-carousel){grid-template-columns:1fr}.cg-map-toolbar{gap:8px}.cg-map-toolbar span{max-width:170px;text-align:right}}
/* Property filters */
.cg-filter-toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:20px;padding-top:20px;border-top:1px solid #d5d5cc}
#cgmls-form .cg-filter-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:auto;min-height:48px;margin:0;padding:11px 20px;border:1px solid #aaa99f;border-radius:9px;background:white;color:#292929;font:700 15px Arial,sans-serif;cursor:pointer}
#cgmls-form .cg-filter-button:hover,#cgmls-form .cg-filter-button.cg-has-filters{background:#363636;color:white;border-color:#363636}
.cg-filter-count{display:grid;place-items:center;min-width:23px;height:23px;border-radius:50%;background:#eeeeea;color:#292929;font-size:12px}
.cg-sort-control{display:flex;align-items:center;gap:10px;margin-left:auto}
#cgmls-form .cg-sort-control label{margin:0;white-space:nowrap}
#cgmls-form .cg-sort-control select{width:auto;max-width:240px;min-height:44px}
#cgmls-form .cg-clear-search,#cg-reset-filters{width:auto;min-height:44px;margin:0;padding:8px 0;background:transparent;border:0;border-radius:4px;color:#48483e;text-decoration:underline;text-underline-offset:4px;font:700 14px Arial,sans-serif;cursor:pointer}
.cg-active-filters{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
#cgmls-form .cg-filter-chip{width:auto;min-height:36px;margin:0;padding:7px 12px;background:#e6e6df;color:#35362d;border:1px solid #cecec2;border-radius:22px;font:14px/1.4 Arial,sans-serif;text-align:left;cursor:pointer}
#cgmls-filters{padding:0;width:min(620px,calc(100% - 28px));max-height:88dvh;border:1px solid #d0d0c7;border-radius:18px;background:#fafaf6;color:#292929;box-shadow:0 30px 90px #0008;overflow:auto;overscroll-behavior:contain}
#cgmls-filters::backdrop{background:#171713b3;backdrop-filter:blur(3px)}
body:has(#cgmls-filters[open]){overflow:hidden}
.cg-filter-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:26px 28px 20px;border-bottom:1px solid #deded4;background:#fafaf6}
.cg-filter-header h2{margin:0 0 8px;font:700 clamp(1.35rem,4vw,1.8rem)/1.2 Georgia,serif;color:#292929}
.cg-filter-header p{margin:0;font:14px/1.55 Arial,sans-serif;color:#5b5b51}
#cg-close-filters{flex:none;width:40px;min-height:40px;padding:0;margin:0;border:1px solid #d4d4c9;border-radius:50%;background:white;color:#292929;font:26px Arial,sans-serif;cursor:pointer}
.cg-filter-body{padding:4px 28px 18px}
.cg-filter-body fieldset{min-width:0;padding:24px 0;margin:0;border:0;border-bottom:1px solid #deded4}
.cg-filter-body fieldset:last-child{border-bottom:0}
.cg-filter-body legend{float:left;width:100%;padding:0;margin:0 0 14px;font:700 15px Arial,sans-serif;color:#30312a}
.cg-filter-fields{clear:both;display:grid;grid-template-columns:1fr 1fr;gap:16px}
#cgmls-filters .field{min-width:0;margin:0}
#cgmls-filters label{display:block;margin:0 0 7px;font:14px Arial,sans-serif;color:#5b5b51}
#cgmls-filters input,#cgmls-filters select{box-sizing:border-box;width:100%;min-width:0;min-height:48px;padding:10px 12px;border:1px solid #b4b4a9;border-radius:8px;background:white;color:#292929;font:16px Arial,sans-serif}
#cgmls-filters input::placeholder{color:#77776c}
.cg-filter-footer{position:sticky;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 28px;background:#fafaf6;border-top:1px solid #deded4;box-shadow:0 -5px 15px #00000008}
.cg-filter-footer .btn{width:auto;min-width:170px;min-height:48px;margin:0;text-align:center;font:700 15px Arial,sans-serif;cursor:pointer}
#cgmls-filters :is(button,input,select):focus-visible{outline:3px solid #7b806e;outline-offset:3px}
@media(max-width:580px){.cg-filter-toolbar{gap:12px}.cg-sort-control{flex:1;justify-content:flex-end;gap:7px}#cgmls-form .cg-sort-control label{font-size:12px}#cgmls-form .cg-sort-control select{font-size:13px;max-width:160px;padding:8px}#cgmls-form .cg-filter-button{padding:10px 13px}.cg-filter-header{padding:22px 20px 18px}.cg-filter-body{padding:0 20px 12px}.cg-filter-footer{padding:16px 20px}.cg-filter-footer .btn{min-width:0;flex:1;max-width:230px}.cg-filter-fields{gap:12px}#cgmls-filters{max-height:94dvh;width:calc(100% - 16px);border-radius:14px}}
@media(max-width:380px){.cg-sort-control{margin-left:0;flex-basis:100%;justify-content:flex-start}#cgmls-form .cg-sort-control select{max-width:none;flex:1}}
