/* REH_MAP_POPUP_V1. One responsive selected-property panel in embedded and expanded maps. */
.reh-map-v1 {container-type:inline-size;container-name:reh-popup-map}
:is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-map-card {
  --popup-action:#20a878;--popup-paper:var(--reh-surface,#fff);--popup-ink:var(--reh-ink,#17252d);
  --popup-muted:var(--reh-muted,#596872);--popup-line:var(--reh-border,#dfe5e7);
  box-sizing:border-box!important;position:absolute!important;display:flex!important;flex-direction:column!important;
  grid-template-columns:none!important;align-items:stretch!important;gap:0!important;
  left:16px!important;right:auto!important;bottom:72px!important;top:auto!important;
  width:350px!important;max-width:calc(100% - 88px)!important;
  height:auto!important;max-height:calc(100% - 100px)!important;min-height:0!important;
  padding:0!important;overflow:hidden!important;border:1px solid var(--popup-line)!important;
  border-radius:18px!important;background:var(--popup-paper)!important;color:var(--popup-ink)!important;
  box-shadow:0 10px 36px #102b2633!important;z-index:7;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;
  isolation:isolate;
}
:is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-map-card[hidden] {display:none!important}
:is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-card-photo {
  position:relative!important;display:flex!important;align-items:center;justify-content:center;
  width:100%!important;height:180px!important;min-height:80px!important;max-height:180px!important;
  flex:0 1 180px!important;margin:0!important;padding:0!important;overflow:hidden!important;
  border-radius:0!important;background:var(--reh-soft,#e7ece9);color:var(--popup-muted);font-size:12px;
}
:is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-card-photo img {
  position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;
  min-width:0!important;min-height:0!important;object-fit:cover!important;object-position:center!important;
}
:is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-map-gallery-launch {display:block!important;min-height:0!important;touch-action:manipulation}
:is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-card-close,
:is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-map-share,
:is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-map-favourite .heart {
  display:flex!important;align-items:center!important;justify-content:center!important;
  box-sizing:border-box!important;width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;
  margin:0!important;padding:0!important;border:1px solid #ffffffb3!important;border-radius:50%!important;
  background:#fffffff2!important;color:#17252d!important;box-shadow:0 2px 8px #0002!important;
  font-size:24px!important;font-family:inherit!important;line-height:1!important;opacity:1!important;z-index:5!important;
}
:is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-card-close {position:absolute!important;top:10px!important;right:10px!important;left:auto!important;bottom:auto!important;font-size:27px!important}
:is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-map-share {position:absolute!important;top:10px!important;left:58px!important;right:auto!important;bottom:auto!important}
:is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-map-share svg {width:19px!important;height:19px!important}
:is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-map-favourite {position:absolute!important;top:10px!important;left:10px!important;right:auto!important;width:40px!important;height:40px!important;z-index:5!important}
:is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-map-favourite .heart {position:static!important}
:is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-map-favourite .heart.active {color:#20a878!important;background:#fff!important}
:is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-photo-prev,
:is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-photo-next {
  position:absolute!important;display:grid!important;place-items:center!important;top:auto!important;bottom:10px!important;
  width:36px!important;height:36px!important;min-height:36px!important;border-radius:50%!important;
  background:#182520cc!important;color:white!important;border:1px solid #ffffff66!important;
  font-size:24px!important;line-height:1!important;padding:0!important;z-index:4!important;
}
:is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-photo-prev {left:10px!important;right:auto!important}
:is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-photo-next {right:10px!important;left:auto!important}
:is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-photo-count {position:absolute!important;left:50%!important;right:auto!important;bottom:14px!important;transform:translateX(-50%);padding:4px 9px!important;border-radius:999px!important;background:#182520cc!important;color:#fff!important;font-size:11px!important;white-space:nowrap;pointer-events:none;z-index:4}
:is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-card-copy {
  display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;
  width:100%!important;max-width:100%!important;min-width:0!important;min-height:0!important;flex:1 1 auto!important;
  box-sizing:border-box!important;padding:15px!important;gap:9px!important;overflow-x:hidden!important;
  overflow-y:auto!important;overscroll-behavior:contain;scrollbar-width:thin;scroll-padding:12px 0 58px;
  -webkit-overflow-scrolling:touch;
}
:is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-card-copy h3 {
  order:1!important;display:block!important;flex:none!important;margin:0!important;min-width:0!important;
  font-size:15px!important;line-height:1.4!important;font-weight:700!important;letter-spacing:-.01em;
  color:var(--popup-ink)!important;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;
  overflow:visible!important;-webkit-line-clamp:unset!important;
}
:is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-card-price {order:2!important;flex:none!important;font-size:21px!important;font-weight:750!important;line-height:1.25!important;letter-spacing:-.02em;color:var(--popup-ink)!important;white-space:normal!important;overflow-wrap:break-word;margin:0!important}
:is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-card-spec {order:3!important;flex:none!important;font-size:12px!important;line-height:1.5!important;margin:0!important;color:var(--popup-muted)!important;white-space:normal!important}
:is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-card-agent {order:4!important;flex:none!important;font-size:12px!important;line-height:1.4!important;margin:0!important;white-space:normal!important;overflow-wrap:break-word!important;color:var(--popup-muted)!important;opacity:1!important}
:is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-card-agent[hidden] {display:none!important}
:is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-card-copy>.reh-listing-identity {
  order:4!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;
  width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;flex:0 0 auto!important;
  padding:10px 0 0!important;margin:0!important;gap:10px!important;border:0!important;border-top:1px solid var(--popup-line)!important;
  color:var(--popup-ink)!important;font-family:inherit!important;
}
:is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-card-copy :is(.agency-attribution-visuals,.reh-listing-identity-visuals) {display:flex!important;align-items:center!important;gap:7px!important;flex:0 0 auto!important;min-width:0!important;max-width:42%!important}
:is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-card-copy :is(.agency-logo,.reh-listing-identity-logo) {width:56px!important;height:34px!important;object-fit:contain!important;border-radius:0!important;background:transparent!important;padding:0!important;flex:0 1 56px!important;min-width:0!important;max-width:100%!important}
:is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-card-copy :is(.agency-agent-photo,.reh-listing-identity-photo) {width:34px!important;height:34px!important;min-width:34px!important;object-fit:cover!important;border-radius:50%!important;border:1px solid var(--popup-line)!important;flex-shrink:0!important}
:is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-card-copy :is(.agency-attribution-copy,.reh-listing-identity-copy) {display:flex!important;flex-direction:column!important;gap:3px!important;flex:1 1 0%!important;min-width:0!important;max-width:100%!important;line-height:1.35!important}
:is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-card-copy :is(.agency-name,.reh-listing-identity-name,.reh-listing-identity-copy strong) {font-size:12px!important;line-height:1.4!important;font-weight:700!important;color:var(--popup-ink)!important;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;text-decoration:none}
:is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-card-copy :is(.agency-person,.reh-listing-identity-person,.reh-listing-identity-copy span) {font-size:11px!important;line-height:1.4!important;font-weight:400!important;color:var(--popup-muted)!important;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important}
:is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-card-copy .agency-contacts {display:none!important}
:is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-card-nearby {order:5!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;flex:0 0 auto!important;padding:9px 0 0!important;margin:0!important;border-top:1px solid var(--popup-line)!important;color:var(--popup-muted)!important;font-size:11px!important}
:is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-card-nearby button {width:38px!important;height:38px!important;min-height:38px!important;flex-shrink:0!important;border:1px solid var(--popup-line)!important;background:var(--popup-paper)!important;color:var(--popup-ink)!important;border-radius:9px!important;font-size:23px!important}
:is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-card-link {order:6!important;position:sticky!important;bottom:0!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:7px;flex:0 0 auto!important;min-height:42px!important;padding:9px 12px!important;margin:0!important;border:1px solid #20a878!important;border-radius:9px!important;background:#20a878!important;color:#fff!important;font-size:13px!important;font-weight:650!important;text-decoration:none!important;line-height:1.3!important;z-index:2}
:is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-map-card :is(button,a):focus-visible {outline:2px solid #20a878!important;outline-offset:3px!important}
/* Tablet: comfortable floating preview; controls stay clear along the map's right edge. */
@media(min-width:601px) and (max-width:1100px){
  :is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-map-card {left:12px!important;bottom:72px!important;width:330px!important;max-width:calc(100% - 86px)!important}
  :is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-card-photo {height:150px!important;max-height:150px!important;flex-basis:150px!important}
}
/* Mobile: full-width bottom panel; bounded photo and independently scrolling details. */
@media(max-width:600px){
  :is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-map-card {left:10px!important;right:10px!important;bottom:max(70px,calc(env(safe-area-inset-bottom) + 60px))!important;width:auto!important;max-width:calc(100% - 20px)!important;max-height:min(62dvh,calc(100% - 90px))!important;border-radius:16px!important}
  :is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-card-photo {height:128px!important;max-height:128px!important;min-height:72px!important;flex-basis:128px!important}
  :is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-card-copy {padding:12px!important;gap:8px!important}
  :is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-card-copy h3 {font-size:14px!important}
  :is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-card-price {font-size:20px!important}
}
@media(pointer:coarse){
  :is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) :is(.reh-card-close,.reh-map-share,.reh-map-favourite .heart,.reh-photo-prev,.reh-photo-next,.reh-card-nearby button) {width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important}
  :is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-map-share {left:62px!important}
  :is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-map-favourite {width:44px!important;height:44px!important}
  :is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-card-link {min-height:44px!important}
}
/* Short landscape windows: keep the details usable beside a bounded thumbnail. */
@media(max-height:540px) and (min-width:601px){
  :is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-card-photo {height:88px!important;max-height:88px!important;flex-basis:88px!important;min-height:64px!important}
}
@container reh-popup-map (min-width:520px){
 @media(max-height:540px) and (min-width:601px){
  :is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-map-card {display:grid!important;grid-template-columns:132px minmax(0,1fr)!important;width:460px!important;max-width:calc(100% - 88px)!important;max-height:calc(100% - 88px)!important;bottom:60px!important}
  :is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-card-photo {height:100%!important;min-height:150px!important;max-height:none!important;align-self:stretch}
  :is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-card-close {left:6px!important;right:auto!important;top:6px!important}
  :is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-map-favourite {left:6px!important;top:56px!important}
  :is(#reh-v2-app .reh-map-v1,.reh-map-v1.reh-map-expanded) .reh-map-share {left:58px!important;top:56px!important}
 }
}
