.catalog-filterbar{background:#f3f5f4;border-bottom:1px solid #dde3df;padding:18px 0}
.catalog-filters{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:14px}
.catalog-filters label{display:grid;gap:6px;font-size:13px;font-weight:600;min-width:0}
.catalog-filters input,.catalog-filters select{width:100%;min-width:0;height:42px;background:white;border:1px solid #cbd4ce;border-radius:5px;padding:0 10px;font:inherit}
.detail-title-row h1{font-size:30px;line-height:1.25;max-width:800px;overflow-wrap:anywhere;letter-spacing:0}
.detail-title-row>div{min-width:0}.detail-price{white-space:normal;min-width:170px}
.media-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}
.media-thumb{padding:0;border:0;background:#eef1ef;aspect-ratio:4/3;overflow:hidden;border-radius:5px;cursor:zoom-in}
.media-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.media-grid video{width:100%;aspect-ratio:16/9;background:#161a18;grid-column:span 2}
.media-mosaic{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,1fr);grid-template-rows:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0;height:min(560px,calc(100vh - 180px));min-height:420px;overflow:hidden}.media-mosaic .media-thumb{position:relative;min-width:0;min-height:0;aspect-ratio:auto;overflow:hidden}.media-main{grid-row:1 / -1}.media-side{grid-row:1 / -1;display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:10px;min-height:0;overflow:hidden}.media-side .media-thumb{opacity:.62;transition:opacity .2s,filter .2s}.media-side .media-thumb:hover,.media-side .media-thumb:focus-visible{opacity:.9;filter:none}.media-main img,.media-side img{width:100%;height:100%;object-fit:cover}.photo-count{position:absolute;inset:0;display:grid;place-items:center;background:#10181499;color:#fff;font-size:17px;font-weight:700;text-shadow:0 1px 2px #000}.media-empty{min-height:260px;display:grid;place-items:center;background:#eef1ef;border-radius:5px}.media-side video{width:100%;height:100%;object-fit:cover;min-height:0;background:#161a18}
.media-hidden{display:none!important}
.post-description{overflow-wrap:anywhere;line-height:1.75;margin:18px 0 28px;max-width:80ch}.post-description p{margin:0 0 16px}.post-description h3{margin:28px 0 10px;color:var(--navy);font-size:18px}.post-description ul{margin:0 0 20px;padding-left:22px}.post-description li{padding:4px 0 4px 4px}.post-description a{color:var(--green);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.photo-dialog{border:0;padding:54px 64px 42px;background:#171b19;color:white;max-width:95vw;max-height:95vh;overflow:hidden}
.photo-dialog::backdrop{background:#000b}.photo-dialog figure{margin:0;text-align:center}.photo-dialog figure img{display:block;max-width:80vw;max-height:78vh;object-fit:contain}.photo-dialog figcaption{font-size:13px;padding-top:12px;color:#d7e0db}
.photo-close{position:absolute;right:12px;top:12px;width:42px;height:42px;background:white;color:#192d24;border:0;border-radius:5px;font-size:28px;cursor:pointer}
.photo-prev,.photo-next{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:60px;border:0;border-radius:5px;background:#ffffffdd;color:#192d24;font-size:42px;line-height:1;cursor:pointer}.photo-prev{left:12px}.photo-next{right:12px}
.update-post{padding:30px 0;border-bottom:1px solid #dbe1dc}.updates-list{max-width:1040px}
.missing-photo{display:grid;place-items:center;background:#e8ece9;color:#48574e;min-height:180px;height:100%}
.listing-info h3,.property-body h3{overflow-wrap:anywhere}.listing-image .badge{max-width:calc(100% - 20px);white-space:normal;font-size:11px}
.listing-card .listing-image{height:250px;min-height:0}.listing-card .listing-image img{height:100%;width:100%;object-fit:cover}.eyebrow{letter-spacing:0}
.contact-card>a{margin:12px 0;display:block}.detail-meta{flex-wrap:wrap}.detail-layout>article{min-width:0}
.location-section{padding-top:20px}.map-card{border:1px solid #dbe3de;border-radius:8px;overflow:hidden;background:#f4f7f5}.map-card iframe{display:block;width:100%;height:360px;border:0}.map-card p{padding:0 16px 12px;margin:10px 0 0}
.nearby-section{padding-top:10px}.nearby-section .section-title{max-width:760px}.nearby-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.nearby-card{display:flex;flex-direction:column;justify-content:space-between;min-height:112px;padding:18px;background:#f4f7f5;border:1px solid #dbe3de;border-radius:8px;transition:border-color .2s,transform .2s,background .2s}.nearby-card:hover,.nearby-card:focus-visible{border-color:#16865c;background:#fff;transform:translateY(-2px)}.nearby-label{font-weight:700;color:var(--navy)}.nearby-action{font-size:.78rem;color:var(--green);font-weight:700}.nearby-note{margin-top:14px}
@media(max-width:900px){.catalog-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.media-mosaic{height:min(480px,calc(100vh - 160px));min-height:360px;grid-template-columns:minmax(0,1.7fr) minmax(170px,1fr)}.nearby-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.catalog-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-filters label:first-child{grid-column:1/-1}.media-mosaic{display:block;height:auto;min-height:0;overflow:visible}.media-main{display:block;aspect-ratio:4/3!important;margin-bottom:8px}.media-side{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:110px;gap:8px}.media-side .media-thumb{aspect-ratio:1}.detail-title-row{display:block}.detail-title-row h1{font-size:25px}.detail-price{font-size:24px;margin-top:16px}.detail-meta{gap:14px}.post-description{font-size:15px}.listing-image .badge{font-size:10px}.nearby-grid{grid-template-columns:1fr}.photo-dialog{padding:48px 48px 30px}.photo-dialog figure img{max-width:82vw;max-height:72vh}.photo-prev,.photo-next{width:36px;height:52px;font-size:34px}}
.empty-results{grid-column:1/-1;padding:42px 28px;text-align:center;border:1px dashed var(--line);border-radius:10px;background:#fbfaf7;color:var(--navy)}
.empty-results strong{font-size:1.15rem}.empty-results p{max-width:520px;margin:8px auto 20px;color:var(--muted);font-size:.84rem}.empty-actions{display:flex;justify-content:center;gap:9px;flex-wrap:wrap}.empty-actions .btn{min-height:40px}
