/* Compact public surfaces; admin forms and property details retain their layout. */
.estate-catalog main>#brokerSignup{max-width:1332px;width:calc(100% - 48px);min-height:156px;margin:16px auto;border-radius:14px;grid-template-columns:minmax(0,1.6fr) minmax(250px,1fr);padding:0}
.estate-catalog #brokerSignup .broker-ad-copy{padding:20px 26px;justify-content:center;gap:5px}
.estate-catalog #brokerSignup h2{margin:0;font-size:21px;font-weight:650}.estate-catalog #brokerSignup p{margin:0;font-size:13px;max-width:600px}.estate-catalog #brokerSignup .card-actions{margin-top:8px}.estate-catalog #brokerSignup .btn{padding:8px 12px;min-height:34px;font-size:12px}.estate-catalog #brokerSignup .broker-ad-image{min-height:156px;background-position:center 43%}
.estate-catalog .catalog-head{margin-top:14px;margin-bottom:10px}.estate-catalog .catalog-layout{gap:15px}.estate-catalog #featuredSection .catalog-head{margin-top:3px;margin-bottom:9px}.estate-catalog .active-filters{margin-bottom:10px}
.estate-catalog .catalog-results .property-card{grid-template-columns:minmax(210px,.9fr) minmax(0,1.3fr);align-items:stretch;border-radius:13px}
.estate-catalog .catalog-results .property-card .cover{min-height:246px;height:100%;aspect-ratio:auto}.estate-catalog .catalog-results .card-body{padding:13px 15px;gap:0}.estate-catalog .catalog-results .location{margin-bottom:4px;font-size:10px}.estate-catalog .catalog-results .card-body h3{margin:0 0 5px;font-size:16px;line-height:1.3}.estate-catalog .catalog-results .price{font-size:21px}.estate-catalog .catalog-results .specs{padding:7px 0;gap:10px}.estate-catalog .catalog-results .card-description{margin:7px 0;font-size:11px;-webkit-line-clamp:1}.estate-catalog .catalog-results .property-contact-meta{font-size:11px;margin:2px 0}.estate-catalog .catalog-results .card-actions{margin-top:9px;gap:6px}.estate-catalog .catalog-results .card-actions .btn{padding:7px 10px;min-height:32px;font-size:11px}
.estate-catalog .catalog-results .broker-identity{margin:7px 0 0;padding:7px 0 0;border:0;border-top:1px solid #ffffff12;border-radius:0;gap:9px;flex-wrap:nowrap}.estate-catalog .catalog-results .broker-identity img{width:32px;height:32px;flex:none}.estate-catalog .catalog-results .broker-identity>div{display:flex;align-items:center;gap:4px 8px;flex-wrap:wrap;min-width:0}.estate-catalog .catalog-results .broker-identity strong{font-size:12px}.estate-catalog .catalog-results .broker-identity p{font-size:10px;margin:0;line-height:1.4}.estate-catalog .catalog-results .broker-identity .btn{margin:0 0 0 auto;border:0;background:transparent;padding:2px 0;min-height:24px;font-size:10px;color:#83daa2}
.card-gallery{position:relative;overflow:hidden}.card-gallery .gallery-link{display:block;position:absolute;inset:0}.card-gallery .gallery-link img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.card-gallery .badges{pointer-events:none;z-index:2}.card-gallery .gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:32px;height:36px;border:1px solid #ffffff55;border-radius:9px;background:#07170cbb;color:#fff;display:grid;place-items:center;font-size:27px;line-height:1;padding:0;backdrop-filter:blur(5px);cursor:pointer}.gallery-prev{left:8px}.gallery-next{right:8px}.gallery-arrow:hover{background:#24663feb}.gallery-count{position:absolute;bottom:9px;right:10px;padding:3px 7px;border-radius:6px;background:#06130dbb;color:#fff;font-size:10px;z-index:3;pointer-events:none}
.estate-catalog .featured-grid{gap:12px}.estate-catalog .feature-theme .cover{height:140px;min-height:140px}.estate-catalog .feature-theme .card-body{padding:11px}.estate-catalog .feature-theme h3{font-size:14px;margin:0 0 7px}.estate-catalog .feature-theme .price{font-size:18px}.estate-catalog .feature-theme .specs{padding:7px 0}.estate-catalog .feature-theme .property-contact-meta{font-size:11px}.estate-catalog .feature-theme .card-actions{margin-top:9px}
.public-profile{padding-top:22px}.public-profile .broker-cover{padding:20px;gap:18px;margin-bottom:20px;border-radius:16px;align-items:center}.public-profile .broker-cover .profile-avatar{width:78px;height:78px;flex:none}.public-profile .broker-cover h1{font-size:28px;margin:4px 0}.public-profile .broker-cover p{font-size:12px;margin:5px 0}.public-profile .broker-cover .description-full{max-width:780px;line-height:1.5}.public-profile #shareStatus:empty{display:none}.public-profile .broker-cover .btn{padding:8px 12px;font-size:12px}.public-profile .broker-listings{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:15px 0}.public-profile .broker-listings .property-card{grid-template-columns:42% minmax(0,1fr)}.public-profile .broker-listings .cover{height:100%;min-height:220px}.public-profile .broker-listings .card-body{padding:14px}.public-profile .broker-listings h2{font-size:17px;line-height:1.3;margin:0 0 7px}.public-profile .broker-listings p{font-size:11px;margin:5px 0}.public-profile .broker-listings .price{font-size:19px}.public-profile .broker-listings .btn{padding:7px 10px;font-size:11px;margin-top:8px;align-self:flex-start}
@media(min-width:1500px){.estate-catalog .catalog-layout.without-map .catalog-results .listings{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1000px){.public-profile .broker-listings{grid-template-columns:1fr}}
@media(max-width:760px){.estate-catalog main>#brokerSignup{width:calc(100% - 32px);grid-template-columns:minmax(0,1.5fr) minmax(100px,1fr);min-height:165px;margin:12px auto}.estate-catalog #brokerSignup .broker-ad-copy{padding:15px}.estate-catalog #brokerSignup h2{font-size:17px}.estate-catalog #brokerSignup p{font-size:11px}.estate-catalog #brokerSignup .eyebrow{font-size:8px;letter-spacing:1.2px}.estate-catalog #brokerSignup .broker-ad-image{min-height:165px;background-position:65% center}.estate-catalog #brokerSignup .card-actions{gap:5px}.estate-catalog #brokerSignup .btn{font-size:10px;padding:6px 8px}.estate-catalog .catalog-results .property-card{grid-template-columns:1fr}.estate-catalog .catalog-results .property-card .cover{height:210px;min-height:210px}.estate-catalog .catalog-results .broker-identity .btn{margin-left:0}.public-profile .broker-cover{flex-direction:row;align-items:flex-start;padding:15px;gap:12px}.public-profile .broker-cover .profile-avatar{width:55px;height:55px}.public-profile .broker-cover h1{font-size:23px}.public-profile .broker-listings .property-card{grid-template-columns:38% minmax(0,1fr)}.public-profile .broker-listings .cover{min-height:220px}.card-gallery .gallery-arrow{width:34px;height:38px}}
@media(max-width:420px){.public-profile .broker-listings .property-card{grid-template-columns:1fr}.public-profile .broker-listings .cover{height:200px;min-height:200px}}

/* Correct empty columns and avoid filters covering the featured cards. */
.estate-catalog main>#brokerSignup{max-width:960px;grid-template-columns:minmax(0,1fr) 300px}.estate-catalog #brokerSignup .broker-ad-image{background-position:right center;background-size:auto 100%;background-repeat:no-repeat}.estate-catalog .filter-panel{position:relative;top:auto}.estate-catalog .catalog-layout.without-map{grid-template-columns:minmax(0,1fr)}.estate-catalog .catalog-layout.without-map .catalog-results{grid-column:1/-1;width:100%}.estate-catalog .catalog-layout.without-map .catalog-results .listings{grid-template-columns:minmax(0,1fr)}.estate-catalog .catalog-layout.without-map .catalog-results .property-card{grid-template-columns:minmax(240px,34%) minmax(0,1fr)}
@media(max-width:760px){.estate-catalog main>#brokerSignup{grid-template-columns:minmax(0,1fr) 130px}.estate-catalog .catalog-layout.without-map .catalog-results .property-card{grid-template-columns:1fr}.estate-catalog #brokerSignup .broker-ad-image{background-size:auto 100%;background-position:right center}}

/* Full banner, contact column and opt-in map dialog. */
.estate-catalog main>#brokerSignup{max-width:1332px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.estate-catalog #brokerSignup .broker-ad-image{background-size:150% auto;background-position:right 45%;min-height:170px}.estate-catalog #brokerSignup .broker-ad-copy{padding:22px 26px}
.estate-catalog .catalog-layout{grid-template-columns:minmax(0,1fr)}.estate-catalog .catalog-results .card-body{display:grid;grid-template-columns:minmax(0,1fr) 145px;column-gap:18px;align-content:start}.estate-catalog .catalog-results .card-body>*{grid-column:1;min-width:0}.estate-catalog .catalog-results .card-body>.card-actions{grid-column:2;grid-row:1/8;display:flex;flex-direction:column;justify-content:center;align-items:stretch;margin:0;padding-left:15px;border-left:1px solid #ffffff12}.estate-catalog .catalog-results .card-actions .btn{min-height:39px}.estate-catalog .catalog-results .broker-identity>div{gap:4px 8px}.estate-catalog .catalog-results .broker-identity .btn{margin-left:0}
#catalogMapDialog{width:calc(100vw - 40px);max-width:1600px;height:calc(100dvh - 40px);max-height:940px;margin:auto;padding:0;border-radius:17px;overflow:hidden;background:#101c15;z-index:2000}#catalogMapDialog::backdrop{background:#000c;backdrop-filter:blur(6px)}#catalogMapDialog:not([open]){display:none}#catalogMapDialog #catalogMapPanel{position:static;display:flex;flex-direction:column;width:100%;height:100%;border:0;border-radius:0;margin:0}#catalogMapDialog .map-heading{flex:none;padding:12px 18px}#catalogMapDialog #closeCatalogMap{width:40px;height:40px;font-size:27px;color:#fff}#catalogMapDialog #catalogMap{flex:1;min-height:0;height:auto;width:100%}#catalogMapDialog #catalogMapStatus{flex:none;padding:10px 18px;margin:0}
@media(max-width:760px){.estate-catalog main>#brokerSignup{grid-template-columns:minmax(0,1.4fr) minmax(110px,1fr)}.estate-catalog #brokerSignup .broker-ad-copy{padding:15px}.estate-catalog #brokerSignup .broker-ad-image{background-size:auto 115%;background-position:right center}.estate-catalog .catalog-results .card-body{display:flex;flex-direction:column}.estate-catalog .catalog-results .card-body>.card-actions{flex-direction:row;flex-wrap:wrap;margin-top:10px;padding:0;border:0}.estate-catalog .catalog-results .card-actions .btn{flex:1;min-height:37px}#catalogMapDialog{width:calc(100vw - 16px);height:calc(100dvh - 16px);max-height:none;border-radius:12px}}

/* Uncropped banner image and unified filter tools. */
.estate-catalog main>#brokerSignup{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}.estate-catalog #brokerSignup .broker-ad-image{background:none!important;min-height:0!important;align-self:center}.estate-catalog #brokerSignup .broker-ad-image img{display:block;width:100%;height:auto;object-fit:contain}.estate-catalog #brokerSignup .broker-ad-copy{padding:18px 24px}.estate-catalog .filter-head{display:flex;align-items:center;gap:10px;margin-bottom:7px}.estate-catalog .filter-toolbar{display:flex;align-items:center;gap:8px;margin-left:auto}.estate-catalog .filter-head #resetFilters{margin-left:0}.estate-catalog .filter-toolbar .btn{padding:5px 10px;font-size:11px;min-height:29px}.estate-catalog .filter-toolbar #sort{height:29px;width:145px;padding:3px 8px;font-size:11px}.map-is-open{overflow:hidden!important;overscroll-behavior:none}#catalogMapDialog,#catalogMapDialog #catalogMap{overscroll-behavior:contain}#catalogMapDialog #catalogMap{touch-action:none}#catalogMapDialog .leaflet-container{cursor:grab}
@media(max-width:760px){.estate-catalog main>#brokerSignup{grid-template-columns:1fr}.estate-catalog #brokerSignup .broker-ad-copy{padding:15px 18px}.estate-catalog #brokerSignup .broker-ad-image{width:100%}.estate-catalog #brokerSignup .broker-ad-image img{width:100%;height:auto}.estate-catalog .filter-head{gap:6px;flex-wrap:wrap}.estate-catalog .filter-toolbar{margin-left:0;flex:1}.estate-catalog .filter-head #resetFilters{margin-left:auto}.estate-catalog .filter-toolbar #sort{max-width:140px}.estate-catalog .filter-toolbar .btn{white-space:nowrap}}

/* Mobile filters start collapsed while the text search remains available. */
@media(max-width:760px){.estate-catalog #filtersPanel .mobile-filter{display:inline-flex!important;min-height:34px;padding:6px 10px;font-size:11px}.estate-catalog #filtersPanel .filter-toolbar{flex-wrap:wrap;justify-content:space-between;width:100%;gap:7px}.estate-catalog #filtersPanel .filter-toolbar #toggleCatalogMap{min-height:34px}.estate-catalog #filtersPanel:not(.open) #filters>:not(.catalog-text-search){display:none}.estate-catalog #filtersPanel:not(.open) .filter-toolbar>label,.estate-catalog #filtersPanel:not(.open) #resetFilters{display:none}.estate-catalog #filtersPanel:not(.open) #filters{grid-template-columns:1fr}.estate-catalog #filtersPanel .catalog-text-search{grid-column:1/-1}.estate-catalog #filtersPanel .filter-head{margin-bottom:7px}.estate-catalog #filtersPanel.open .filter-toolbar>label{display:flex;margin-left:auto}.estate-catalog #filtersPanel.open #resetFilters{display:block;margin-left:auto}.estate-catalog #filtersPanel #filters input,.estate-catalog #filtersPanel #filters select{font-size:16px;min-height:40px}}

/* One desktop row; sort/reset live inside More filters. */
.estate-catalog .filter-head{display:none}.estate-catalog #filters{grid-template-columns:minmax(200px,2fr) 1fr .85fr 1fr .65fr 1fr .7fr .85fr .9fr;gap:7px}.estate-catalog #filters>.map-filter-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:#3eb76a;color:#06120a;border:1px solid #65ce89;border-radius:9px;height:36px;padding:7px 10px;font-size:11px;white-space:nowrap}.estate-catalog #filters>.map-filter-button:hover{background:#63d28a}.advanced-tools{display:flex;align-items:end;justify-content:space-between;gap:14px;padding-bottom:13px;border-bottom:1px solid #ffffff18}.advanced-tools label{flex:1}.advanced-tools #resetFilters{margin:0;padding:7px 9px;min-height:36px;font-size:12px;border:1px solid #3b5946;border-radius:8px}.advanced-tools #sort{height:36px;width:100%}
@media(min-width:761px) and (max-width:1200px){.estate-catalog #filters{grid-template-columns:minmax(170px,1.7fr) repeat(8,minmax(72px,1fr));overflow:visible}.estate-catalog #filters .catalog-text-search{grid-column:auto}.estate-catalog #filters input,.estate-catalog #filters select{padding-left:6px;padding-right:6px;font-size:10px}}
@media(max-width:760px){.estate-catalog #filtersPanel .filter-head{display:flex;margin-bottom:7px}.estate-catalog #filtersPanel .filter-toolbar{justify-content:flex-end}.estate-catalog #filtersPanel #filters{grid-template-columns:repeat(2,minmax(0,1fr))}.estate-catalog #filtersPanel:not(.open) #filters{grid-template-columns:minmax(0,1fr) auto}.estate-catalog #filtersPanel:not(.open) #filters>.catalog-text-search{grid-column:1}.estate-catalog #filtersPanel:not(.open) #filters>.map-filter-button{display:inline-flex;grid-column:2;align-self:end;height:40px}.estate-catalog #filtersPanel.open #filters>.map-filter-button{display:inline-flex;height:40px;align-self:end}.estate-catalog #filtersPanel .advanced-tools #resetFilters{display:block;margin:0}.estate-catalog #filtersPanel .advanced-tools #sort{max-width:none}.estate-catalog #filtersPanel .catalog-text-search{grid-column:1/-1}}

/* Tablet: no minimum-width nine-column filter row. */
@media (min-width:761px) and (max-width:1200px){
 .estate-catalog #filters{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
 .estate-catalog #filters .catalog-text-search{grid-column:span 3}
 .estate-catalog #filters>.map-filter-button{grid-column:4;grid-row:1;align-self:end;height:44px;font-size:13px}
 .estate-catalog #filters>label,.estate-catalog #filters>.filter-disclosure{min-width:0}
 .estate-catalog #filters input,.estate-catalog #filters select{height:44px;font-size:14px;padding:8px 10px;width:100%;min-width:0}
 .estate-catalog #filters>label{font-size:12px}.estate-catalog .filter-disclosure summary{min-height:44px;font-size:13px}
 .estate-catalog .catalog-results .card-body{display:flex;flex-direction:column;padding:16px}
 .estate-catalog .catalog-results .card-body>.card-actions{flex-direction:row;flex-wrap:wrap;margin-top:12px;padding:0;border:0;gap:8px}
 .estate-catalog .catalog-results .card-actions .btn{min-height:42px;flex:1;justify-content:center}
 .estate-catalog .catalog-layout.without-map .catalog-results .property-card{grid-template-columns:minmax(230px,40%) minmax(0,1fr)}
 .estate-catalog .catalog-results .broker-identity{flex-wrap:wrap}
 .card-gallery .gallery-arrow{width:42px;height:44px}
}
