.map-page{padding:28px 0 55px}
.map-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:17px}
.map-kicker{font-size:10px;font-weight:800;letter-spacing:.14em;color:#b77c4f}
.map-heading h1{font-size:clamp(32px,4vw,48px);margin:3px 0 5px}
.map-heading p{font-size:12px;margin:0}
.map-back{font-size:12px;font-weight:800;color:var(--forest);white-space:nowrap;text-decoration:underline;text-underline-offset:3px}
.map-toolbar{display:flex;align-items:center;gap:13px;margin-bottom:13px}
.map-search{height:42px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--line);border-radius:7px;background:#fff;min-width:230px;max-width:320px;flex:1}
.map-search span{font-size:25px;line-height:1;color:#8aa094}
.map-search input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font-size:12px}
.map-filters{display:flex;gap:6px;overflow-x:auto;scrollbar-width:thin;padding:2px 0}
.map-filter{white-space:nowrap;padding:7px 10px;border-radius:100px;border:1px solid #d8e1d9;background:transparent;color:#596b5e;font-size:11px;font-weight:750}
.map-filter.selected,.map-filter:hover{background:var(--forest);border-color:var(--forest);color:#fff}
.map-layout{display:grid;grid-template-columns:340px minmax(0,1fr);height:min(70vh,680px);min-height:490px;border:1px solid #dce4dc;border-radius:11px;overflow:hidden;background:#fff}
.map-sidebar{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--line)}
.map-sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:13px 14px;border-bottom:1px solid var(--line);font-size:12px}
.map-sidebar-head span{color:var(--muted);font-size:11px}
.map-list{overflow-y:auto;min-height:0;flex:1;scrollbar-width:thin}
.map-list-item{display:flex;align-items:center;gap:3px;min-width:0;border-bottom:1px solid #edf0eb;background:#fff}
.map-list-item:hover,.map-list-item.active{background:#eef5ef}
.map-list-focus{flex:1;display:flex;align-items:center;gap:10px;min-width:0;padding:9px 5px 9px 10px;text-align:left;border:0;background:transparent;color:inherit}
.map-list-focus img{width:64px;height:58px;flex:0 0 64px;object-fit:cover;border-radius:5px}
.map-list-focus span{display:flex;flex-direction:column;min-width:0}
.map-list-focus strong{font:600 15px/1.2 Georgia,serif;letter-spacing:-.02em}
.map-list-focus small{font-size:10px;color:#6b7c70;margin-top:4px;line-height:1.2}
.map-list-focus .map-approx{color:#a46b43}
.map-list-link{align-self:stretch;display:grid;place-items:center;padding:0 10px;color:#326451;font-weight:800;font-size:20px}
.map-empty{padding:20px 14px;font-size:12px}
.market-map{height:100%;width:100%;z-index:0;background:#dde7dd}
.market-marker{background:none;border:0}
.map-pin{display:block;width:26px;height:26px;border:4px solid #fff;border-radius:50%;background:#1b5948;box-shadow:0 2px 7px #14231f8a;position:relative}
.map-pin::after{content:"";position:absolute;left:7px;top:7px;width:4px;height:4px;background:#fff;border-radius:50%}
.map-pin.approximate{background:#c8824f;border-style:dashed}
.map-popup{display:flex;flex-direction:column;gap:5px;width:205px}
.map-popup img{width:205px;height:105px;object-fit:cover;border-radius:5px}
.map-popup strong{font:600 17px/1.15 Georgia,serif}
.map-popup small{font-size:11px;color:#66746b}
.map-popup .map-popup-approx{color:#a46b43}
.map-popup a{margin-top:4px;color:#255e49;font-size:12px;font-weight:800;text-decoration:underline}
.map-note{font-size:11px;line-height:1.6;margin:10px 0 0}
.map-note a{text-decoration:underline;text-underline-offset:2px}
@media(max-width:900px){.map-toolbar{align-items:stretch;flex-direction:column}.map-search{max-width:none;flex:none}.map-layout{grid-template-columns:285px minmax(0,1fr)}}
@media(max-width:700px){
  .map-page{padding:18px 0 45px}
  .map-heading{align-items:flex-start;margin-bottom:12px}
  .map-heading h1{font-size:31px}
  .map-heading p{font-size:11px}
  .map-back{font-size:10px;margin-top:8px}
  .map-filters{width:100%}
  .map-layout{display:flex;flex-direction:column;height:auto;min-height:0}
  .market-map{order:0;height:min(52vh,440px);min-height:300px;flex:none}
  .map-sidebar{order:1;border-right:0;border-top:1px solid var(--line);max-height:370px}
  .map-list{overflow-y:auto}
  .map-list-focus img{width:60px;height:54px;flex-basis:60px}
  .map-note{font-size:10px}
}
@media(max-width:380px){.map-heading{flex-direction:column;gap:5px}.map-back{margin:0}}
