/* Search Map/List/Both, map controls, pins, selected-listing card, city boundaries. Loaded after workspace-reference.css. */

/* ---------- Map / List / Both ---------- */
html[data-aw-theme] body .aw-search-v3 .aw-search-toolbar{align-items:end}
html[data-aw-theme] body .aw-search-v3 .aw-view-switch{display:inline-flex;flex:none;align-items:stretch;gap:2px;height:44px;padding:3px;border:1px solid var(--ws-line);border-radius:8px;background:var(--ws-soft)}
html[data-aw-theme] body .aw-search-v3 .aw-view-switch button{display:inline-flex!important;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:0!important;height:auto;margin:0;padding:0 12px!important;border:0!important;border-radius:5px!important;background:transparent!important;color:var(--ws-text)!important;box-shadow:none!important;font:600 14px/1 var(--ws-font)!important;cursor:pointer}
html[data-aw-theme] body .aw-search-v3 .aw-view-switch button:hover{color:var(--ws-ink)!important;background:var(--ws-surface)!important}
html[data-aw-theme] body .aw-search-v3 .aw-view-switch button[aria-pressed=true]{background:var(--ws-surface)!important;color:var(--ws-blue)!important;box-shadow:0 1px 3px rgba(16,24,40,.14)!important}
html[data-aw-theme] body .aw-search-v3 .aw-view-switch button:focus-visible{outline:2px solid var(--ws-blue);outline-offset:1px}
html[data-aw-theme] body .aw-search-v3 .aw-sv-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(410px,43%);grid-template-rows:minmax(0,1fr);height:calc(100dvh - 170px);min-height:560px}
html[data-aw-theme] body .aw-search-v3 .aw-sv-layout>.native-map{height:100%!important;min-height:0!important;border-radius:0}
html[data-aw-theme] body .aw-search-v3[data-view=both] .aw-sv-layout>.native-search-results{min-height:0;overflow-y:auto!important}
html[data-aw-theme] body .aw-search-v3[data-view=map] .aw-sv-layout{grid-template-columns:minmax(0,1fr)}
html[data-aw-theme] body .aw-search-v3[data-view=map] .native-search-results{display:none}
html[data-aw-theme] body .aw-search-v3[data-view=list] .aw-sv-layout{display:block;height:auto;min-height:0}
html[data-aw-theme] body .aw-search-v3[data-view=list] .aw-sv-layout>.native-map{display:none!important}
html[data-aw-theme] body .aw-search-v3[data-view=list] .native-search-results{overflow:visible;max-width:1680px;margin:0 auto;padding:24px clamp(16px,2.6vw,40px) 44px;background:transparent}
html[data-aw-theme] body .aw-search-v3[data-view=list] .native-search-results .premium-property-grid{grid-template-columns:repeat(auto-fill,minmax(272px,1fr))!important;gap:20px!important}
html[data-aw-theme] body .aw-search-v3 .aw-card-slot.aw-card-selected .aw-listing-card{outline:2px solid var(--ws-blue)!important;outline-offset:1px}
@media (min-width:768px) and (max-width:1180px){
 html[data-aw-theme] body .aw-search-v3 .aw-search-toolbar{flex-wrap:wrap}
 html[data-aw-theme] body .aw-search-v3 .aw-search-toolbar .aw-search-location{flex:1 1 100%}
 html[data-aw-theme] body .aw-search-v3 .aw-sv-layout{height:calc(100dvh - 232px)}
 html[data-aw-theme] body .aw-search-v3 .aw-view-switch{margin-left:auto}
}
@media (min-width:768px) and (max-width:1150px){
 html[data-aw-theme] body .aw-search-v3 .aw-sv-layout{grid-template-columns:minmax(0,1fr) 380px}
 html[data-aw-theme] body .aw-search-v3[data-view=both] .native-search-results{padding:18px}
 html[data-aw-theme] body .aw-search-v3[data-view=both] .native-search-results .premium-property-grid{grid-template-columns:minmax(0,1fr)!important}
}
@media (min-width:768px) and (max-width:900px){html[data-aw-theme] body .aw-search-v3 .aw-sv-layout{grid-template-columns:minmax(0,1fr) 340px}}
/* Phones: Map or List. The map fills the screen below the search controls. */
@media (max-width:767px){
 html[data-aw-theme] body .aw-search-v3 .aw-view-switch{order:-1;flex:1 1 100%;height:48px}
 html[data-aw-theme] body .aw-search-v3 .aw-view-switch button{flex:1;font-size:15px!important}
 html[data-aw-theme] body .aw-search-v3 .aw-view-switch .aw-view-both{display:none!important}
 html[data-aw-theme] body .aw-search-v3 .aw-sv-layout{display:block!important;height:auto!important;min-height:0!important}
 html[data-aw-theme] body .aw-search-v3:not([data-view=map]) .aw-sv-layout>.native-map{display:none!important}
 html[data-aw-theme] body .aw-search-v3[data-view=map]{display:flex;flex-direction:column;min-height:calc(100dvh - 57px)}
 html[data-aw-theme] body .aw-search-v3[data-view=map] .aw-sv-layout{display:flex!important;flex:1 1 auto;flex-direction:column}
 html[data-aw-theme] body .aw-search-v3[data-view=map] .aw-sv-layout>.native-map{display:block;flex:1 1 auto;height:auto!important;min-height:360px!important}
 html[data-aw-theme] body .aw-search-v3[data-view=map] .native-search-results{display:none!important}
 html[data-aw-theme] body .aw-search-v3:not([data-view=map]) .native-search-results{display:block}
}

/* ---------- Floating map controls (white groups, 42 px targets, 44 px on touch) ---------- */
html[data-aw-theme] body .aw-map .aw-map-ui{position:absolute;inset:0;z-index:3;pointer-events:none}
html[data-aw-theme] body .aw-map .aw-map-ctl{position:absolute;display:flex;gap:8px;pointer-events:none}
html[data-aw-theme] body .aw-map .aw-map-ctl>*{pointer-events:auto}
html[data-aw-theme] body .aw-map .aw-map-ctl-tl{top:12px;left:12px;flex-direction:column;align-items:flex-start;max-width:calc(100% - 84px)}
html[data-aw-theme] body .aw-map .aw-map-ctl-tc{top:12px;left:50%;transform:translateX(-50%)}
html[data-aw-theme] body .aw-map .aw-map-ctl-tr{top:12px;right:12px;flex-direction:column;align-items:flex-end}
html[data-aw-theme] body .aw-map .aw-map-ctl-br{right:10px;bottom:34px;z-index:3}
html[data-aw-theme] body .aw-map .aw-map-group{display:inline-flex;align-items:stretch;min-height:0;margin:0;padding:0;border:1px solid var(--ws-line-strong);border-radius:6px;background:var(--ws-surface);color:var(--ws-ink);box-shadow:0 2px 8px rgba(16,24,40,.13);overflow:hidden;font:600 14px/1.2 var(--ws-font)}
html[data-aw-theme] body .aw-map .aw-map-group>button,html[data-aw-theme] body .aw-map button.aw-map-group,html[data-aw-theme] body .aw-map .aw-map-back{display:inline-flex!important;align-items:center;justify-content:center;gap:7px;min-width:42px;height:42px;min-height:42px!important;margin:0;padding:0 13px!important;border:0!important;border-radius:0!important;background:var(--ws-surface)!important;color:var(--ws-ink)!important;box-shadow:none!important;font:600 14px/1 var(--ws-font)!important;white-space:nowrap;cursor:pointer}
html[data-aw-theme] body .aw-map button.aw-map-group{border:1px solid var(--ws-line-strong)!important;border-radius:6px!important;box-shadow:0 2px 8px rgba(16,24,40,.13)!important}
html[data-aw-theme] body .aw-map .aw-map-column{flex-direction:column}
html[data-aw-theme] body .aw-map .aw-map-column>button{width:42px;padding:0!important}
html[data-aw-theme] body .aw-map .aw-map-column>button+button{border-top:1px solid var(--ws-line)!important}
html[data-aw-theme] body .aw-map .aw-map-seg>button+button,html[data-aw-theme] body .aw-map .aw-map-boundary>button{border-left:1px solid var(--ws-line)!important}
html[data-aw-theme] body .aw-map .aw-map-seg>button[aria-pressed=true]{background:var(--ws-blue)!important;color:#fff!important}
html[data-aw-theme] body .aw-map :is(.aw-map-group>button,button.aw-map-group,.aw-map-back):not(:disabled):hover{background:var(--ws-soft)!important}
html[data-aw-theme] body .aw-map .aw-map-seg>button[aria-pressed=true]:hover{background:var(--ws-blue-hover)!important}
html[data-aw-theme] body .aw-map :is(.aw-map-group>button,button.aw-map-group,.aw-map-back,.aw-map-stack button,.aw-map-card button,.aw-map-card a):focus-visible{outline:2px solid var(--ws-blue)!important;outline-offset:-2px}
html[data-aw-theme] body .aw-map :is(.aw-map-group>button,button.aw-map-group):disabled{opacity:.45;cursor:default}
html[data-aw-theme] body .aw-map .aw-map-glyph{flex:none;width:20px;height:20px}
html[data-aw-theme] body .aw-map .aw-map-count{align-items:center;height:36px;padding:0 12px;font-size:14px;font-variant-numeric:tabular-nums;color:var(--ws-text)}
html[data-aw-theme] body .aw-map .aw-map-boundary-name{display:inline-flex;align-items:center;gap:7px;padding:0 12px;color:var(--ws-ink);white-space:nowrap}
html[data-aw-theme] body .aw-map .aw-map-boundary-name svg,html[data-aw-theme] body .aw-map button.aw-map-text svg{color:var(--ws-blue)}
html[data-aw-theme] body .aw-map .aw-map-boundary-remove{width:42px;padding:0!important}
/* Mapbox's own chrome: compact attribution, logo kept visible, legacy 42 px button rule neutralized. */
html[data-aw-theme] body .aw-map .mapboxgl-ctrl-bottom-right{right:4px;bottom:4px}
html[data-aw-theme] body .aw-map .mapboxgl-ctrl-attrib.mapboxgl-compact{min-height:24px;margin:0;font-size:11px;background:rgba(255,255,255,.88)}
html[data-aw-theme] body .aw-map .mapboxgl-ctrl-attrib-button{min-height:0!important;width:24px!important;height:24px!important;padding:0!important;border-radius:12px!important;box-shadow:none!important}
@media (pointer:coarse),(max-width:767px){
 html[data-aw-theme] body .aw-map :is(.aw-map-group>button,button.aw-map-group,.aw-map-back){min-width:44px;height:44px;min-height:44px!important}
 html[data-aw-theme] body .aw-map .aw-map-column>button{width:44px}
}
/* Narrow maps (phones, tablet Both): Search this area moves to the bottom, above any selected card. */
html[data-aw-theme] body .aw-map:is(.aw-map-search,.aw-map-page){container:awmap/inline-size}
@container awmap (max-width:600px){
 html[data-aw-theme] body .aw-map .aw-map-ctl-tc{top:auto;bottom:38px}
 html[data-aw-theme] body .aw-map:has(.aw-map-card) .aw-map-ctl-tc{bottom:162px}
 html[data-aw-theme] body .aw-map .aw-map-ctl-tl{max-width:calc(100% - 76px)}
 html[data-aw-theme] body .aw-map .aw-map-boundary{flex-wrap:wrap}
 html[data-aw-theme] body .aw-map .aw-map-boundary-name{min-height:40px}
}

/* Embedded listing map: zoom group bottom-right above the attribution; Back to property in the tool row. */
html[data-aw-theme] body.pm-public main .aw-map-embed .native-map-tools .aw-map-back{height:auto;min-height:calc(32 * var(--r,1px))!important;padding:0 12px!important;border-radius:6px!important;box-shadow:0 1px 4px #00000033!important;font-size:13px!important;pointer-events:auto}
html[data-aw-theme] body .aw-map-embed .aw-map-ctl-br .aw-map-column>button{width:36px;height:36px;min-width:36px;min-height:36px!important}

/* ---------- Collocated listings: stack selector ---------- */
html[data-aw-theme] body .aw-map .aw-map-stack{position:absolute;z-index:6;width:min(300px,calc(100% - 24px));max-height:min(320px,calc(100% - 24px));display:flex;flex-direction:column;border:1px solid var(--ws-line-strong);border-radius:6px;background:var(--ws-surface);color:var(--ws-ink);box-shadow:0 14px 34px rgba(16,24,40,.26);overflow:hidden;font-family:var(--ws-font)}
html[data-aw-theme] body .aw-map .aw-map-stack-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 4px 4px 14px;border-bottom:1px solid var(--ws-line)}
html[data-aw-theme] body .aw-map .aw-map-stack-head strong{font-size:14px;font-weight:650}
html[data-aw-theme] body .aw-map .aw-map-stack-head button{display:inline-grid!important;place-items:center;width:40px;height:40px;min-height:40px!important;padding:0!important;border:0!important;border-radius:6px!important;background:transparent!important;color:var(--ws-muted)!important;box-shadow:none!important}
html[data-aw-theme] body .aw-map .aw-map-stack ul{margin:0;padding:0;list-style:none;overflow:auto}
html[data-aw-theme] body .aw-map .aw-map-stack li+li{border-top:1px solid var(--ws-line)}
html[data-aw-theme] body .aw-map .aw-map-stack li button{display:grid!important;gap:1px;width:100%;min-height:54px!important;padding:8px 14px!important;border:0!important;border-radius:0!important;background:transparent!important;color:var(--ws-ink)!important;box-shadow:none!important;text-align:left;font:400 13px/1.3 var(--ws-font)!important;cursor:pointer}
html[data-aw-theme] body .aw-map .aw-map-stack li button:hover,html[data-aw-theme] body .aw-map .aw-map-stack li button[aria-current]{background:var(--ws-tint)!important}
html[data-aw-theme] body .aw-map .aw-map-stack li strong{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}
html[data-aw-theme] body .aw-map .aw-map-stack li span{color:var(--ws-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ---------- Selected-listing card ---------- */
html[data-aw-theme] body .aw-map .aw-map-card{position:absolute;z-index:5;left:12px;bottom:36px;width:min(320px,calc(100% - 24px));max-height:calc(100% - 72px);display:flex;flex-direction:column;border:1px solid var(--ws-line-strong);border-radius:6px;background:var(--ws-surface);color:var(--ws-ink);box-shadow:0 14px 34px rgba(16,24,40,.26);overflow:hidden;font-family:var(--ws-font)}
html[data-aw-theme] body .aw-map .aw-map-card-media{display:block;flex:none;height:168px;background:var(--ws-soft)}
html[data-aw-theme] body .aw-map .aw-map-card-media img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0}
html[data-aw-theme] body .aw-map .aw-map-card-nophoto{display:grid;place-items:center;height:100%;color:var(--ws-muted);font-size:14px;font-weight:600}
html[data-aw-theme] body .aw-map .aw-map-card-status{position:absolute;top:10px;left:10px;height:24px;padding:0 9px;border-radius:4px;background:#fff;color:#151b25;box-shadow:0 1px 3px rgba(0,0,0,.18);font:600 12.5px/24px var(--ws-font)}
html[data-aw-theme] body .aw-map .aw-map-card-status:is([data-status=under],[data-status=sold]){background:#1f2733;color:#fff}
html[data-aw-theme] body .aw-map .aw-map-card-close{position:absolute;top:10px;right:10px;display:inline-grid!important;place-items:center;width:32px;height:32px;min-width:0;min-height:32px!important;padding:0!important;border:0!important;border-radius:50%!important;background:#fff!important;box-shadow:0 1px 4px rgba(0,0,0,.28)!important;color:#1d2430!important;cursor:pointer}
/* A 44 px hit area around the 32 px visible button. */
html[data-aw-theme] body .aw-map .aw-map-card-close::after{content:"";position:absolute;inset:-6px;border-radius:50%}
html[data-aw-theme] body .aw-map .aw-map-card-close:hover{background:#f1f3f6!important}
html[data-aw-theme] body .aw-map .aw-map-card-body{display:grid;gap:3px;padding:10px 14px 12px;overflow:auto}
html[data-aw-theme] body .aw-map .aw-map-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:40px}
html[data-aw-theme] body .aw-map .aw-map-card-price{font-size:21px;line-height:1.15;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ws-ink)}
html[data-aw-theme] body .aw-map .aw-map-card-save .aw-save-wrap{position:static!important;display:inline-flex}
html[data-aw-theme] body .aw-map .aw-map-card-save .premium-save{position:static!important;display:inline-grid!important;place-items:center;width:40px!important;height:40px!important;min-height:40px!important;margin:-4px -8px -4px 0;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;box-shadow:none!important;color:var(--ws-ink)!important}
html[data-aw-theme] body .aw-map .aw-map-card-save .premium-save:hover{background:var(--ws-soft)!important}
html[data-aw-theme] body .aw-map .aw-map-card-save .aw-save-problem{position:absolute;right:12px;top:212px;z-index:2;max-width:260px;padding:6px 9px;border-radius:5px;background:var(--ws-ink);color:var(--ws-surface);font-size:12.5px}
html[data-aw-theme] body .aw-map .aw-map-card-facts{display:flex;flex-wrap:wrap;font-size:14px;line-height:1.35;color:var(--ws-text)}
html[data-aw-theme] body .aw-map .aw-map-card-facts>span+span::before{content:"·";margin:0 7px;color:var(--ws-muted)}
html[data-aw-theme] body .aw-map .aw-map-card-address{display:grid;color:var(--ws-ink);text-decoration:none}
html[data-aw-theme] body .aw-map .aw-map-card-address span{font-size:15px;font-weight:500;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html[data-aw-theme] body .aw-map .aw-map-card-address small{font-size:13.5px;line-height:1.35;color:var(--ws-muted)}
html[data-aw-theme] body .aw-map .aw-map-card-link{display:inline-flex;align-items:center;gap:5px;justify-self:start;min-height:32px;margin-top:2px;color:var(--ws-link);font-size:14px;font-weight:600;text-decoration:none}
html[data-aw-theme] body .aw-map .aw-map-card-link:hover{text-decoration:underline}
/* Narrow maps (phones, tablet Both): a compact bottom card that stays clear of the top controls. */
@container awmap (max-width:600px){
 html[data-aw-theme] body .aw-map .aw-map-card{left:8px;right:8px;bottom:30px;width:auto;height:116px;max-height:none;display:grid;grid-template-columns:118px minmax(0,1fr)}
 html[data-aw-theme] body .aw-map .aw-map-card-media{height:auto;min-height:100%}
 html[data-aw-theme] body .aw-map .aw-map-card-status{top:6px;left:6px;height:22px;padding:0 7px;font-size:11.5px;line-height:22px}
 html[data-aw-theme] body .aw-map .aw-map-card-close{top:6px;right:6px;background:var(--ws-soft)!important;box-shadow:none!important;color:var(--ws-ink)!important}
 html[data-aw-theme] body .aw-map .aw-map-card-body{padding:8px 44px 8px 12px;gap:1px}
 html[data-aw-theme] body .aw-map .aw-map-card-top{min-height:36px}
 html[data-aw-theme] body .aw-map .aw-map-card-price{font-size:18px}
 html[data-aw-theme] body .aw-map .aw-map-card-save .premium-save{width:44px!important;height:44px!important;min-height:44px!important}
 html[data-aw-theme] body .aw-map .aw-map-card-facts{font-size:13px}
 html[data-aw-theme] body .aw-map .aw-map-card-address span{font-size:14px}
 html[data-aw-theme] body .aw-map .aw-map-card-address small,html[data-aw-theme] body .aw-map .aw-map-card-link{display:none}
 html[data-aw-theme] body .aw-map .aw-map-card-save .aw-save-problem{top:auto;bottom:calc(100% + 6px);right:0}
}

/* ---------- City limits notes in the results column ---------- */
html[data-aw-theme] body .aw-search-v3 .aw-map-area-note{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px;padding:8px 8px 8px 12px;border:1px solid var(--ws-line);border-radius:6px;background:var(--ws-soft);color:var(--ws-text);font-size:13.5px;line-height:1.4}
html[data-aw-theme] body .aw-search-v3 .aw-map-area-note button{flex:none;display:inline-flex!important;align-items:center;min-height:36px!important;padding:0 10px!important;border:1px solid var(--ws-line-strong)!important;border-radius:6px!important;background:var(--ws-surface)!important;color:var(--ws-ink)!important;box-shadow:none!important;font:600 13.5px/1 var(--ws-font)!important;white-space:nowrap;cursor:pointer}
html[data-aw-theme] body .aw-search-v3 .aw-map-area-note button:hover{border-color:var(--ws-blue)!important;color:var(--ws-blue)!important}
@media (max-width:480px){html[data-aw-theme] body .aw-search-v3 .aw-map-area-note{flex-wrap:wrap}}
html[data-aw-theme] body .aw-search-v3 .aw-place-offer{margin:0 0 16px}
html[data-aw-theme] body .aw-search-v3 .aw-place-offer.is-on{padding:6px 12px 10px;border:1px solid color-mix(in srgb,var(--ws-blue) 32%,var(--ws-line));border-radius:6px;background:var(--ws-tint)}
html[data-aw-theme] body .aw-search-v3 .aw-place-offer.is-on button{color:var(--ws-ink)!important;font-weight:600!important}
html[data-aw-theme] body .aw-search-v3 .aw-place-offer p{margin:0 0 0 46px;color:var(--ws-muted);font-size:13px;line-height:1.4}
html[data-aw-theme] body .aw-search-v3 .aw-place-offer button{display:inline-flex!important;align-items:center;gap:10px;min-height:44px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;color:var(--ws-text)!important;font:500 14.5px/1.3 var(--ws-font)!important;text-align:left;cursor:pointer}
html[data-aw-theme] body .aw-search-v3 .aw-place-offer button:focus-visible{outline:2px solid var(--ws-blue);outline-offset:3px;border-radius:4px}
html[data-aw-theme] body .aw-search-v3 .aw-switch-track{position:relative;flex:none;width:36px;height:20px;border-radius:10px;background:var(--ws-line-strong);transition:background .15s}
html[data-aw-theme] body .aw-search-v3 .aw-switch-track::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .15s}
html[data-aw-theme] body .aw-search-v3 [aria-checked=true] .aw-switch-track{background:var(--ws-blue)}
html[data-aw-theme] body .aw-search-v3 [aria-checked=true] .aw-switch-track::after{transform:translateX(16px)}
html[data-aw-theme] body .aw-search-v3 .aw-place-unavailable{margin:0 0 14px;color:var(--ws-muted);font-size:13.5px}
@media (prefers-reduced-motion:reduce){html[data-aw-theme] body .aw-search-v3 :is(.aw-switch-track,.aw-switch-track::after){transition:none}}
