/* Keep the map legible: one route, a full destination name, an optional overview. */
.map-explorer{min-width:0;background:#fafcfb;overflow:hidden;border-radius:18px;border:1px solid #e0e8e2;align-self:start}
.premium-neighborhood .map-explorer .map-shell,.variant-map .map-explorer .map-shell,.variant-information-pair .variant-map .map-explorer .map-shell{position:relative;top:0;margin:0;border:0;border-radius:0;height:410px;min-height:0}
.map-explorer .map-shell .real-map{height:100%;min-height:0}
.map-explorer .map-shell .map-topline,[data-layout="main"] .variant-map .map-explorer .map-topline{inset:0 0 auto;min-height:42px;padding:14px 16px;background:linear-gradient(180deg,#fafcfb 0%,#fafcfbdd 60%,#fafcfb00 100%);font-size:.625rem;pointer-events:none}
.map-explorer .map-shell .map-actions,.variant-map .map-explorer .map-shell .map-actions{top:42px;right:12px}
.map-explorer .map-action{min-height:40px;font-size:.8125rem}
.map-explorer .map-destination{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 16px;padding:18px;background:#fff;border-top:1px solid #e0e8e2;min-width:0}
.map-destination-copy{min-width:0;touch-action:pan-y;align-self:center;border-radius:6px}
.map-destination .map-destination-count{font-size:.75rem;color:#5d7366;letter-spacing:.035em;margin:0 0 6px;line-height:1.4}
.map-destination h3{font:600 1rem/1.35 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#244d3c;letter-spacing:-.015em;margin:0 0 7px;overflow-wrap:anywhere}
.map-destination .map-destination-distance{font-size:.8125rem;line-height:1.5;color:#526859;margin:0}
.map-destination-controls{display:flex;gap:6px;align-items:center}
.map-destination-controls button{width:44px;height:44px;display:grid;place-items:center;border:1px solid #d9e3db;border-radius:50%;padding:0;background:#f6f9f6;color:#244d3c;cursor:pointer;transition:background 150ms var(--ease-out),transform 150ms var(--ease-out)}
.map-destination-controls svg{width:20px;height:20px;pointer-events:none}
.map-destination-controls button:disabled{opacity:.35;cursor:default}
.map-destination-route{grid-column:1/-1;justify-self:start;min-height:44px;display:inline-flex;align-items:center;font-size:.875rem;color:#244d3c;text-decoration:underline;text-underline-offset:4px}
.map-destination :focus-visible{outline:2px solid #244d3c;outline-offset:3px}
.map-destination-controls button:active:not(:disabled){transform:scale(.96)}
.map-explorer .poi-map-icon{font-size:15px;font-weight:600;box-shadow:0 2px 8px #19392d20}
.map-cluster-icon{display:grid!important;place-items:center;border:3px solid #fff;border-radius:50%;background:#dbeadd;color:#244d3c;font:600 13px/1 -apple-system,BlinkMacSystemFont,sans-serif;box-shadow:0 0 0 2px #678f72,0 3px 12px #19392d20;text-align:center}
.map-cluster-icon small{display:block;font-size:8px;line-height:1.2;margin-top:2px;text-transform:uppercase;letter-spacing:.04em}
.map-explorer .house-map-icon{box-shadow:0 0 0 4px #fff,0 3px 12px #19392d20}
.map-dialog .map-explorer{height:100%;display:flex;flex-direction:column;border:0;border-radius:0;overflow:auto}
.map-dialog .map-explorer .map-shell{height:auto;flex:1 1 auto;min-height:220px;margin:0;top:0;border-radius:0}
.map-dialog .map-destination{flex:0 0 auto;padding-bottom:max(16px,env(safe-area-inset-bottom))}
.map-dialog .map-destination-route{grid-column:1}
.map-dialog .map-explorer .map-shell .leaflet-control-zoom{margin-bottom:35px!important}
@media(hover:hover) and (pointer:fine){.map-destination-controls button:hover:not(:disabled){background:#e6efe6}}
@media(max-width:540px){.premium-neighborhood .map-explorer .map-shell,.variant-information-pair .variant-map .map-explorer .map-shell{height:390px}.map-explorer .map-destination{grid-template-columns:minmax(0,1fr);gap:10px;padding:15px}.map-destination-controls{position:absolute;right:12px;bottom:15px}.map-destination-route{margin-right:100px}.map-explorer[data-view=overview] .map-destination{padding-bottom:70px}.map-dialog .map-explorer .map-shell{height:auto;min-height:200px}.map-dialog .map-explorer .map-destination{padding-bottom:15px}.map-dialog .map-explorer[data-view=overview] .map-destination{padding-bottom:70px}}
@media(prefers-reduced-motion:reduce){.map-destination-controls button{transition:none}}
/* A single destination card replaces the list, disclosure and duplicated detail. */
.premium-neighborhood:has(.map-explorer){display:block}
.map-explorer .map-destination{grid-template-columns:minmax(0,1fr) auto;gap:12px 14px}
.map-destination-copy{grid-column:1;grid-row:1}
.map-destination-controls{position:static;grid-column:2;grid-row:1;align-self:start;padding-top:0}
.map-destination-description{grid-column:1/-1;grid-row:2;font-size:.9375rem;line-height:1.55;color:#526859;margin:0}
.map-destination-links{grid-column:1/-1;grid-row:3;display:flex;flex-wrap:wrap;gap:4px 24px;align-items:center}
.map-destination-links a{font-size:.875rem;min-height:44px;display:inline-flex;align-items:center;color:#244d3c;text-decoration:underline;text-underline-offset:4px;margin:0}
.map-destination-photo{grid-column:1/-1;grid-row:4}
.map-destination-photo .place-photo{margin:0}
.map-destination-photo .place-photo img{max-height:220px;object-fit:cover}
.map-explorer[data-view=overview] .map-destination{padding-bottom:18px}
.map-dialog .map-explorer .map-destination-photo img{max-height:140px}
@media(max-width:540px){.map-explorer .map-destination{padding:16px;gap:12px}.map-destination-controls{gap:4px}.map-destination h3{font-size:1rem}.map-destination-controls button{width:44px;height:44px}.map-explorer[data-view=overview] .map-destination,.map-dialog .map-explorer[data-view=overview] .map-destination{padding-bottom:16px}}
/* Overview and destination detail are mutually exclusive, with no disclosure. */
.map-overview-list{grid-column:1/-1;grid-row:2;display:grid;margin-top:2px}
.map-overview-item{display:grid;grid-template-columns:26px minmax(0,1fr) 22px;gap:10px;align-items:center;min-height:52px;padding:12px 0;background:none;border:0;border-top:1px solid #e3eae4;text-align:left;color:#244d3c;cursor:pointer;font:500 .9375rem/1.4 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
.map-overview-number{font-size:.8125rem;color:#61796a;text-align:center}
.map-overview-name{overflow-wrap:anywhere}
.map-overview-arrow{justify-self:end;font-size:1.125rem}
.map-dialog .map-overview-list{max-height:30dvh;overflow-y:auto;overscroll-behavior:contain}
@media(hover:hover) and (pointer:fine){.map-overview-item:hover .map-overview-name{text-decoration:underline;text-underline-offset:4px}.map-overview-item:hover{color:#162f23}}
