/* Public pages only: independent of the administration interface. */
.public-site{background:#fafaf7;color:#132d40}
.public-site .top{border-top:3px solid #c7a35c}
.public-site .nav{height:82px}
.public-site .logo{font-weight:800}
.public-site .hero{min-height:680px;background-color:#0b2030}
.public-site .heroin{padding-top:78px;padding-bottom:44px;gap:42px}
.public-site .hero h1{max-width:760px;font-size:clamp(38px,4.8vw,66px);line-height:1.4}
.public-site .hero .ey{display:inline-block;border:1px solid #ead5a64d;border-radius:30px;padding:7px 16px;letter-spacing:.7px}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-top:28px}
.hero-contact{color:#fff;font-size:15px;border-bottom:1px solid #ffffff70;padding:8px 0}
.public-site .search{grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:stretch;padding:20px;border:1px solid #e9e4d8;border-radius:16px;gap:12px}
.public-site .search label{display:flex;flex-direction:column;gap:7px;background:#fff;padding:0;font-size:13px;font-weight:700;min-width:0}
.public-site .search label span{padding-inline:3px;color:#425466}
.public-site .search select,.public-site .search input{width:100%;min-width:0;height:49px;border:1px solid #e2e5e5;border-radius:8px;background:#f7f8f6;padding:10px;color:#19384b;font-size:14px}
.public-site .search button{align-self:end;height:49px;padding-inline:24px}
.public-site .trust{background:#f1efe7;border-bottom:1px solid #e5e2d8}
.public-site .head{gap:20px;align-items:center}
.public-site .head h2{letter-spacing:-.6px}
.public-site .head>a{border:1px solid #ded7c8;border-radius:8px;padding:9px 15px;white-space:nowrap}
.public-site .card{display:flex;flex-direction:column;border-color:#e3e6e5;border-radius:16px;box-shadow:0 4px 20px #132d4005}
.public-site .property-photo>img{height:auto;aspect-ratio:1.5;object-fit:cover;transition:transform .3s}
.public-site .card:hover .property-photo>img{transform:scale(1.035)}
.public-site .card .body{display:flex;flex-direction:column;flex:1;padding:22px}
.public-site .card h3{min-height:3em;overflow-wrap:anywhere}
.public-site .card .price{color:#15374d;font-size:25px;margin-top:auto}
.public-site .card .meta{flex-wrap:wrap;gap:8px 18px;margin-bottom:14px}
.public-site .badge{box-shadow:0 3px 12px #0002;border-radius:6px}
.public-site .area{min-height:210px;border:1px solid #385064;background:linear-gradient(135deg,#25485e,#0b2030);transition:transform .2s}
.public-site .area:hover{transform:translateY(-3px)}
.public-site .about{gap:50px}
.public-site .office{border-radius:16px;border-top:3px solid #c7a35c;box-shadow:0 14px 40px #0b203015}
.public-site .pagehero{padding-block:48px;border-bottom:4px solid #c7a35c}
.public-site .pro-filters{background:#fff;border:1px solid #e3e6e5;border-radius:14px;padding:22px}
.public-site .detail h1{line-height:1.5;letter-spacing:-.5px}
.public-site .gallery-stage{background:#eef0ed;border:1px solid #dde3e1}
.public-site .property-facts{gap:12px;margin-block:28px}
.public-site .property-facts>div{background:#fff;border:1px solid #e1e6e5;padding:18px}
.public-site .property-facts dd{color:#173d56;font-size:18px}
.public-site .side{border-top:3px solid #c7a35c;box-shadow:0 10px 35px #0b20300a}
.public-site .side h2{color:#173d56}
.public-site .floating-wa{background:#176047;border:1px solid #ffffff40}
@media(max-width:1000px){.public-site .search{grid-template-columns:repeat(2,minmax(0,1fr))}.public-site .search button{grid-column:1/-1}.public-site .hero{min-height:0}}
@media(max-width:900px){.public-site .nav nav.open{top:85px}}
@media(max-width:650px){
 .public-site .nav{height:70px;padding-inline:16px;gap:10px}.public-site .nav nav.open{top:73px}
 .public-site .heroin{padding:36px 18px 26px;gap:28px}.public-site .hero h1{font-size:36px;letter-spacing:-1px}
 .public-site .hero .ey{font-size:10px;letter-spacing:0}.public-site .hero p{font-size:16px}
 .hero-actions{gap:16px;margin-top:22px;font-size:14px}.hero-contact{font-size:13px}
 .public-site .search{padding:14px;gap:14px 10px}.public-site .search label{grid-column:auto;font-size:12px}
 .public-site .search input,.public-site .search select{font-size:16px;padding:9px 5px}
 .public-site .wrap{padding:42px 18px}.public-site .head{gap:12px}.public-site .head h2{font-size:25px}
 .public-site .head>a{padding:8px;font-size:11px}.public-site .card .body{padding:19px}
 .public-site .card h3{min-height:0}.public-site .area{min-height:150px}.public-site .about{gap:24px}
 .public-site .pro-filters{padding:15px;gap:12px}.public-site .detail{padding-inline:16px}
 .public-site .property-facts>div{padding:14px}.public-site .mobile-contact{padding-bottom:max(12px,env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){.public-site .card:hover .property-photo>img,.public-site .area:hover{transform:none}}

.choice-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.choice-actions button,.quick-search button{border:1px solid #d9dedb;border-radius:9px;background:white;color:#19384b;padding:10px 16px;cursor:pointer}.choice-actions button[aria-pressed=true],.quick-search button[aria-pressed=true]{background:#19384b;color:white;border-color:#19384b}.choice-actions button{flex:1;min-height:44px}.quick-search.wrap{display:flex;flex-wrap:wrap;gap:10px;padding-block:22px 0}.compare-bar{position:fixed;bottom:16px;right:50%;transform:translateX(50%);display:flex;align-items:center;gap:14px;background:#0b2030;color:white;border:1px solid #c7a35c;border-radius:12px;padding:12px 18px;box-shadow:0 8px 30px #0003;z-index:45;max-width:calc(100% - 24px);white-space:nowrap}.compare-bar[hidden]{display:none}.compare-bar button{border:0;background:none;color:white;text-decoration:underline;cursor:pointer;padding:8px}.choice-toast{position:fixed;top:95px;left:50%;transform:translateX(-50%);background:#19384b;color:white;padding:14px 22px;border-radius:12px;z-index:60;max-width:90vw;box-shadow:0 6px 20px #0002}.choice-toast:empty{display:none}.saved-results{margin-top:28px}.comparison-scroll{overflow-x:auto;border:1px solid #e1e6e5;border-radius:12px;background:white}.comparison-table{min-width:650px}.comparison-table caption{text-align:right;padding:16px;font-weight:700}.comparison-table th,.comparison-table td{min-width:190px;vertical-align:top;padding:18px;border-inline-start:1px solid #e3e6e5}.comparison-table th:first-child{min-width:110px;background:#f4f3ed}.comparison-table img{width:100%;height:150px;object-fit:cover;border-radius:8px;margin-bottom:12px}.comparison-table thead a{display:block}.comparison-table tbody tr:nth-child(even){background:#fafaf7}.comparison-table .choice-actions button{font-size:13px;padding:8px}.has-comparison{padding-bottom:95px}.compare-hint{color:#64717c;font-size:13px}.public-site.has-comparison .floating-wa{bottom:105px}@media(max-width:700px){.has-comparison .mobile-contact{bottom:86px}.has-comparison .detail{padding-bottom:180px}.compare-bar{bottom:10px;gap:8px;padding:10px;font-size:13px}.compare-bar .gold{padding:10px}.choice-toast{top:80px}.comparison-table th,.comparison-table td{min-width:190px}.public-site .nav nav{gap:16px}.quick-search button{font-size:14px}.comparison-table{min-width:600px}}

/* Side-by-side property search with a persistent, viewport-sized map. */
.public-site .listings-shell{max-width:1440px}.listings-layout{display:grid;grid-template-columns:minmax(340px,.9fr) minmax(0,1.1fr);gap:24px;align-items:start}.listing-results{min-width:0}.listings-layout .cards{grid-template-columns:repeat(2,minmax(0,1fr))}.map-panel{position:sticky;top:90px;min-width:0;border:1px solid #dde3e5;border-radius:18px;background:white;overflow:hidden;box-shadow:0 8px 30px #1028370a}.map-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px}.map-heading h2{font-size:18px;margin:0}.map-heading .outline{font-size:12px;padding:8px 12px}.map-panel .pro-map{height:clamp(380px,64vh,700px);margin:0;border:0;border-radius:0;background:#edf0e8}.map-panel #map-note{font-size:12px;line-height:1.9;color:#596773;padding:12px 16px;margin:0}.map-price{border:2px solid white;border-radius:20px;background:#112b3a;color:white;box-shadow:0 2px 8px #0004;padding:7px 11px;font-family:inherit;font-size:12px;font-weight:700;white-space:nowrap;cursor:pointer}.map-price:hover,.map-price:focus-visible{background:#715719;outline:3px solid #c1a467;outline-offset:2px;z-index:2}.map-panel .maplibregl-popup-content{font-family:inherit;padding:16px;border-radius:12px;color:#102837}.map-panel .maplibregl-popup-content a{font-weight:700;text-decoration:underline}.map-panel .maplibregl-popup-close-button{font-size:22px}.map-hidden{grid-template-columns:1fr}.map-hidden .cards{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1000px){.listings-layout{grid-template-columns:minmax(300px,1fr) minmax(0,1fr)}.listings-layout .cards{grid-template-columns:1fr}.map-hidden{grid-template-columns:1fr}.map-hidden .cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.listings-layout{grid-template-columns:1fr;gap:20px}.map-panel{position:relative;top:auto}.map-panel .pro-map{height:340px}.map-heading{padding:12px}.map-heading h2{font-size:16px}.listings-layout .cards{grid-template-columns:1fr}.map-panel #map-note{padding:10px 12px}.map-price{font-size:11px;padding:6px 9px}}
.public-site .map-panel #map{position:relative;top:auto;height:clamp(380px,60vh,640px);min-height:0;width:100%}.map-heading button{width:auto;flex:0 0 auto}.map-price{width:auto}.map-panel .maplibregl-ctrl button{width:29px}.map-heading h2{flex:1}@media(max-width:700px){.public-site .map-panel #map{height:340px;min-height:0}}
.listings-shell>.head{align-items:center;justify-content:space-between;gap:16px}.listings-shell #toggle-map{width:auto;flex:0 0 auto;padding:10px 16px}.listings-shell #result-count{margin:0;white-space:nowrap}
