/* HP Rent Map -- Phase 2a + 2b + 2c /rent map-search.
 * Brand tokens: gold #EEB211, ink #212221, brand gray #B2B3B2, hairline #DAD8D0,
 * hover gray-50 #F5F3EE, light-gold tint #FCF3D6, white #FFFFFF, Poppins. NO pink
 * anywhere. The interactive bits (pills, popover rows, chips, selects, buttons,
 * links) set color/background/border EXPLICITLY and scoped under
 * body.js-rent-search with !important so the Elementor theme's link/button
 * accent (the source of the pink) can never cascade in.
 *
 * Inert until map.js adds body.js-rent-search (progressive enhancement): no-JS /
 * crawlers keep the server-rendered editorial gallery; the split stays hidden.
 * Narrow screens stack single-column (interim; full mobile IA = Phase 2d). */

.hp-rent-search { display: none; }
body.js-rent-search .hp-rent-gallery-off { display: none !important; }

body.js-rent-search .hp-rent-search {
	display: flex;
	flex-direction: column;
	max-width: 1280px;
	margin: 0 auto;
	padding: 24px 20px 64px;
	font-family: Poppins, sans-serif;
	box-sizing: border-box;
}

/* ============ 2c: slim horizontal pill filter bar (brand-scoped) ============ */
body.js-rent-search .hp-rs-filters {
	position: relative; z-index: 20;
	display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px;
	padding: 0 2px 16px; margin: 0 0 18px; border-bottom: 1px solid #DAD8D0;
}
body.js-rent-search .hp-rs-count { font-size: 14px; font-weight: 700; color: #212221; white-space: nowrap; }
body.js-rent-search .hp-rs-pillrow { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
body.js-rent-search .hp-rs-sortpill { margin-left: auto; }

body.js-rent-search .hp-rs-pill-wrap { position: relative; display: inline-flex; }
body.js-rent-search .hp-rs-pill {
	display: inline-flex; align-items: center; gap: 6px;
	font-family: Poppins, sans-serif; font-size: 14px; font-weight: 500; line-height: 1;
	color: #212221 !important; background: #FFFFFF !important;
	border: 1px solid #DAD8D0 !important; border-radius: 10px;
	padding: 8px 14px; cursor: pointer; white-space: nowrap;
	transition: border-color .12s ease, background-color .12s ease;
	box-shadow: none !important; text-decoration: none !important;
}
body.js-rent-search .hp-rs-pill:hover { background: #F5F3EE !important; border-color: #B2B3B2 !important; }
body.js-rent-search .hp-rs-pill.is-open { border-color: #212221 !important; }
/* Active filter pill -- light-gold tint + gold border + INK value (never gold text). */
body.js-rent-search .hp-rs-pill.is-active { background: #FCF3D6 !important; border: 1.5px solid #EEB211 !important; color: #212221 !important; }
body.js-rent-search .hp-rs-pill-label { color: #212221 !important; }
body.js-rent-search .hp-rs-pill-caret { font-size: 9px; color: #B2B3B2 !important; }
body.js-rent-search .hp-rs-pill.is-active .hp-rs-pill-caret { color: #B2B3B2 !important; }
/* The "x" is a quiet gray glyph that goes ink on hover -- NOT a gold chip. */
body.js-rent-search .hp-rs-pill-x {
	display: inline-flex; align-items: center; justify-content: center;
	width: 16px; height: 16px; font-size: 14px; line-height: 1; margin-left: 2px; border-radius: 50%;
	color: #B2B3B2 !important; background: transparent !important; border: 0 !important; box-shadow: none !important;
}
body.js-rent-search .hp-rs-pill-x:hover { color: #212221 !important; background: transparent !important; }

body.js-rent-search .hp-rs-clearall {
	font-family: Poppins, sans-serif; font-size: 12px; font-weight: 600;
	color: #5A5A5A !important; background: transparent !important; border: 0 !important;
	padding: 6px 4px; cursor: pointer; text-decoration: underline !important; box-shadow: none !important;
}
body.js-rent-search .hp-rs-clearall:hover { color: #212221 !important; }

/* ---- popovers ---- */
body.js-rent-search .hp-rs-pop {
	position: absolute; top: calc(100% + 6px); left: 0; z-index: 60;
	min-width: 184px; background: #FFFFFF !important; border: 1px solid #E5E3DB !important; border-radius: 12px;
	box-shadow: 0 8px 24px rgba(33,34,33,0.10); padding: 6px; box-sizing: border-box;
}
body.js-rent-search .hp-rs-sortpill .hp-rs-pop { left: auto; right: 0; }
body.js-rent-search .hp-rs-pop-list { display: flex; flex-direction: column; max-height: 280px; overflow: auto; }
/* Plain full-width rows -- NO per-item borders (kills the theme's pink button border). */
body.js-rent-search .hp-rs-pop-opt {
	font-family: Poppins, sans-serif; font-size: 13px; text-align: left; width: 100%;
	color: #212221 !important; background: transparent !important; border: 0 !important;
	border-radius: 8px; padding: 9px 12px; cursor: pointer; white-space: nowrap;
	box-shadow: none !important; text-decoration: none !important;
}
body.js-rent-search .hp-rs-pop-opt:hover { background: #F5F3EE !important; }
body.js-rent-search .hp-rs-pop-opt.is-sel { background: #FCF3D6 !important; color: #212221 !important; font-weight: 700; }
body.js-rent-search .hp-rs-pop-chips { display: flex; flex-wrap: wrap; gap: 6px; padding: 2px; }
body.js-rent-search .hp-rs-chip {
	font-family: Poppins, sans-serif; font-size: 13px; font-weight: 600;
	color: #212221 !important; background: #F5F3EE !important; border: 1px solid #DAD8D0 !important;
	border-radius: 16px; padding: 7px 14px; cursor: pointer; box-shadow: none !important; text-decoration: none !important;
}
body.js-rent-search .hp-rs-chip:hover { border-color: #B2B3B2 !important; }
body.js-rent-search .hp-rs-chip.is-sel { background: #FCF3D6 !important; border-color: #EEB211 !important; color: #212221 !important; }
body.js-rent-search .hp-rs-pop-price { display: flex; align-items: center; gap: 8px; padding: 2px; }
body.js-rent-search .hp-rs-pop-sel {
	font-family: Poppins, sans-serif; font-size: 13px;
	color: #212221 !important; background: #FFFFFF !important; border: 1px solid #DAD8D0 !important;
	border-radius: 6px; padding: 8px 10px; cursor: pointer; box-shadow: none !important;
}
body.js-rent-search .hp-rs-pop-sel:focus { outline: none; border-color: #EEB211 !important; }
body.js-rent-search .hp-rs-dash { color: #B2B3B2 !important; }

/* ============ split body (list | map) ============ */
body.js-rent-search .hp-rs-body { display: flex; align-items: flex-start; gap: 28px; }
body.js-rent-search .hp-rent-search__list { flex: 0 0 40%; max-width: 40%; }
body.js-rent-search .hp-rent-search__mapwrap { flex: 1 1 60%; position: sticky; top: 88px; height: calc(100vh - 120px); min-height: 480px; }
body.js-rent-search .hp-rent-search__map { width: 100%; height: 100%; border: 1px solid #DAD8D0; border-radius: 8px; overflow: hidden; background: #ECECEC; }

/* ---- list cards (explicit colors so the theme link accent can't tint them) ---- */
body.js-rent-search .hp-rs-card { display: flex; gap: 14px; padding: 14px 6px; text-decoration: none !important; border-top: 1px solid #E8E8E8; transition: background-color .15s ease; }
body.js-rent-search .hp-rs-card:first-of-type { border-top: 0; }
body.js-rent-search .hp-rs-card:hover, body.js-rent-search .hp-rs-card.is-active { background: #FBF7EA; }
body.js-rent-search .hp-rs-card__photo { position: relative; flex: 0 0 132px; width: 132px; height: 96px; border-radius: 6px; overflow: hidden; background: #F0F0F0; }
body.js-rent-search .hp-rs-card__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
body.js-rent-search .hp-rs-photo-ph, body.js-rent-search .hp-rs-iw-ph {
	width: 100%; height: 100%; min-height: 80px; display: flex; align-items: center; justify-content: center;
	background: #F0F0F0; color: #B2B3B2; font-size: 11px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase;
}
body.js-rent-search .hp-rs-card__body { flex: 1 1 auto; min-width: 0; }
body.js-rent-search .hp-rs-card__price { font-size: 18px; font-weight: 700; color: #EEB211 !important; line-height: 1.1; }
body.js-rent-search .hp-rs-card__price span { font-size: 12px; font-weight: 600; color: #B2B3B2 !important; }
body.js-rent-search .hp-rs-card__title { font-size: 14px; font-weight: 600; color: #212221 !important; margin: 4px 0 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.js-rent-search .hp-rs-card__meta { font-size: 13px; color: #3C3C3C !important; }
body.js-rent-search .hp-rs-card__city { font-size: 12px; color: #8A8A8A !important; margin-top: 2px; }

/* ---- 0-result empty state ---- */
body.js-rent-search .hp-rs-empty { padding: 48px 16px; text-align: center; }
body.js-rent-search .hp-rs-empty-msg { font-size: 14px; color: #5A5A5A; margin: 0 0 14px; }
body.js-rent-search .hp-rs-reset { font-family: Poppins, sans-serif; font-size: 13px; font-weight: 600; color: #212221 !important; background: #EEB211 !important; border: 0 !important; padding: 9px 20px; border-radius: 6px; cursor: pointer; box-shadow: none !important; text-decoration: none !important; }
body.js-rent-search .hp-rs-reset:hover { background: #C69100 !important; color: #FFFFFF !important; }

/* ---- price pins ---- */
.hp-rs-pin {
	transform: translateY(-50%); background: #212221; color: #fff; font-family: Poppins, sans-serif; font-size: 12px; font-weight: 700;
	padding: 5px 9px; border-radius: 14px; white-space: nowrap; border: 2px solid #fff; cursor: pointer;
	transition: transform .12s ease, background-color .12s ease;
}
.hp-rs-pin.is-active { background: #EEB211; color: #212221; transform: translateY(-50%) scale(1.12); z-index: 5; }

/* ---- cluster badge ---- */
.hp-rs-cluster {
	display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%;
	background: #EEB211; color: #212221; font-family: Poppins, sans-serif; font-size: 14px; font-weight: 700;
	border: 2px solid #fff; box-shadow: 0 1px 5px rgba(0,0,0,.28); cursor: pointer;
}

/* ---- search-this-area + clear (brand-scoped buttons) ---- */
.hp-rs-areabtn, .hp-rs-clearbtn {
	position: absolute; left: 50%; transform: translateX(-50%); z-index: 3;
	font-family: Poppins, sans-serif; font-size: 13px; font-weight: 600; border-radius: 18px; padding: 8px 16px; cursor: pointer;
	box-shadow: 0 1px 4px rgba(0,0,0,.18); text-decoration: none !important;
}
.hp-rs-areabtn { top: 14px; background: #FFFFFF !important; color: #212221 !important; border: 1px solid #212221 !important; }
.hp-rs-areabtn:hover { background: #212221 !important; color: #FFFFFF !important; }
.hp-rs-clearbtn { bottom: 16px; background: #212221 !important; color: #FFFFFF !important; border: 1px solid #212221 !important; }
.hp-rs-clearbtn:hover { background: #000 !important; }

/* ---- InfoWindow ---- */
.hp-rs-iw { font-family: Poppins, sans-serif; width: 200px; }
.hp-rs-iw img { width: 100%; height: 120px; object-fit: cover; border-radius: 4px; display: block; }
.hp-rs-iw__price { font-size: 16px; font-weight: 700; color: #EEB211 !important; margin-top: 6px; }
.hp-rs-iw__meta { font-size: 13px; color: #3C3C3C !important; }
.hp-rs-iw__addr { font-size: 12px; color: #5A5A5A !important; margin: 2px 0 8px; }
.hp-rs-iw__link { display: inline-block; font-size: 13px; font-weight: 600; color: #212221 !important; background: #EEB211 !important; padding: 6px 14px; border-radius: 5px; text-decoration: none !important; }

/* ============ interim narrow layout (full mobile IA = Phase 2d) ============ */
@media (max-width: 900px) {
	body.js-rent-search .hp-rs-sortpill { margin-left: 0; }
	body.js-rent-search .hp-rs-body { flex-direction: column; gap: 20px; }
	body.js-rent-search .hp-rent-search__list, body.js-rent-search .hp-rent-search__mapwrap { flex: 1 1 auto; max-width: 100%; width: 100%; }
	body.js-rent-search .hp-rent-search__mapwrap { position: relative; top: 0; height: 58vh; min-height: 360px; order: -1; }
}

/* ============ #124 v2: shared-card grid + Zillow clean lines ============
 * LIVE DEFAULT since the #124 G3 flip (2026-06-15): map.js sets V2 = true and
 * always adds .hp-rs-v2, so these rules apply to ALL visitors (?hp_rsv2=1 is a
 * harmless no-op). The list pane is a 2-col photo-forward grid of the shared
 * hpListingCard; a single crisp vertical divider separates it from an
 * edge-to-edge (un-framed) map. The pre-v2 rules above remain live as the
 * fail-soft card path (makeCard falls back to buildCard if the shared
 * component is unavailable). */
body.js-rent-search .hp-rs-v2 .hp-rs-body { gap: 0; align-items: stretch; }
body.js-rent-search .hp-rs-v2 .hp-rent-search__list {
	flex: 0 0 54%; max-width: 54%;
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 24px;
	align-content: start; padding: 4px 28px 0 0;
	border-right: 1px solid #DAD8D0; /* single crisp divider */
}
body.js-rent-search .hp-rs-v2 .hp-rent-search__mapwrap { flex: 1 1 46%; }
body.js-rent-search .hp-rs-v2 .hp-rent-search__map { border: 0; border-radius: 0; } /* edge-to-edge, no frame */

/* v2 narrow: single-column card grid, divider drops, map stacks on top */
@media (max-width: 900px) {
	body.js-rent-search .hp-rs-v2 .hp-rent-search__list {
		flex: 1 1 auto; max-width: 100%; width: 100%;
		grid-template-columns: 1fr; gap: 24px; padding: 0; border-right: 0;
	}
}

/* ============ 2d (#116): mobile IA -- list<->map toggle + bottom-sheet filters
 * Applied ONLY when map.js Phase 2d succeeds (it adds .hp-rs-2d to the split on
 * success) AND the viewport is <=900px. Every layout rule below is scoped under
 * .hp-rs-2d inside the media query, so a 2d failure (class absent) degrades
 * automatically to the interim stacked layout above -- the two pre-2d @media
 * blocks are the untouched degrade target. Desktop (>900px) is unaffected: no
 * rule below applies there.
 *
 * The single base line below mirrors the map.css:13 inert-by-default pattern:
 * the 2d elements exist in the DOM once built, so they must render nothing
 * anywhere except under .hp-rs-2d at <=900px. !important is required: a theme
 * button rule out-cascades a bare class selector and leaked the toggle as a
 * display:block bar on DESKTOP (live-probed 2026-07-07, computed display:block
 * at 1280px); the <=900px show rules below carry !important + higher
 * specificity, so they still win when 2d is active. This line and the body
 * scroll-lock selector at the bottom are deliberate scoping exceptions (both
 * inert unless 2d code is driving). */
.hp-rs-modetoggle, .hp-rs-mbar, .hp-rs-sheet, .hp-rs-sheet-backdrop { display: none !important; }

@media (max-width: 900px) {
	/* pill row + sort pill + desktop count are desktop furniture in 2d --
	   the compact bar replaces them */
	body.js-rent-search .hp-rs-2d .hp-rs-pillrow { display: none; }
	body.js-rent-search .hp-rs-2d .hp-rs-sortpill { display: none; }
	body.js-rent-search .hp-rs-2d .hp-rs-filters > .hp-rs-count { display: none; }

	/* ---- compact bar: count + Filters (badge) ---- */
	body.js-rent-search .hp-rs-2d .hp-rs-mbar { display: flex !important; align-items: center; justify-content: space-between; gap: 12px; width: 100%; }
	body.js-rent-search .hp-rs-2d .hp-rs-mbar__count { font-size: 14px; font-weight: 700; color: #212221; }
	body.js-rent-search .hp-rs-2d .hp-rs-mbar__filters {
		display: inline-flex; align-items: center; gap: 8px;
		font-family: Poppins, sans-serif; font-size: 14px; font-weight: 600; line-height: 1;
		color: #212221 !important; background: #FFFFFF !important;
		border: 1px solid #DAD8D0 !important; border-radius: 10px;
		padding: 9px 14px; cursor: pointer; box-shadow: none !important; text-decoration: none !important;
	}
	body.js-rent-search .hp-rs-2d .hp-rs-mbar__badge {
		display: inline-flex; align-items: center; justify-content: center;
		min-width: 18px; height: 18px; padding: 0 5px; border-radius: 10px;
		background: #EEB211; color: #212221; font-size: 11px; font-weight: 700;
	}

	/* ---- mode visibility: list default, map on toggle ----
	 * INCIDENT FIX (2026-07-07, white-map): two constraints discovered live.
	 * (1) NEVER display:none the mapwrap -- a zero-size Google map goes white
	 *     and (with mapId/vector) the legacy resize trigger is a no-op. In list
	 *     mode the mapwrap is parked off-viewport at REAL definite dimensions
	 *     (position:fixed leaves the flex flow, so sizing is unconditional);
	 *     mode switch is pure repositioning. map.js mirrors this with
	 *     aria-hidden on the parked wrap.
	 * (2) The v2 rule at :188 (flex: 1 1 46%, outside any media query) wins the
	 *     cascade inside the <=900px COLUMN flex body; a percentage basis
	 *     against the indefinite column height degrades to content-sizing, so
	 *     the height property was IGNORED and the wrap collapsed to min-height
	 *     with #hp-rs-map (height:100%) at 0. flex: 0 0 auto restores
	 *     height-property sizing in map mode. Live-proven: flex fix alone took
	 *     the map 0 -> full height. */
	body.js-rent-search .hp-rs-2d.hp-rs-mode-list .hp-rent-search__mapwrap {
		position: fixed; left: -200vw; top: 0;
		width: 100vw; height: 60vh;   /* real, definite dimensions keep the map alive off-screen */
		visibility: hidden; pointer-events: none;
	}
	body.js-rent-search .hp-rs-2d.hp-rs-mode-map .hp-rent-search__list { display: none; }
	body.js-rent-search .hp-rs-2d.hp-rs-mode-map .hp-rent-search__mapwrap {
		flex: 0 0 auto;                /* defeat the v2 46% basis -- the load-bearing line */
		width: 100%;
		order: 0;
		height: calc(100vh - 160px);   /* fallback for browsers without dvh */
		height: calc(100dvh - 160px);  /* 160px = sticky header + compact-bar offset (estimate -- verify on device at the deploy gate) */
		min-height: 360px;
	}

	/* ---- floating mode toggle (fixed bottom-center) ----
	 * INCIDENT FIX (2026-07-07): the hp-hayden ElevenLabs widget is a
	 * full-viewport fixed host at z-index 1000 (pointer-events none on the
	 * host, re-enabled on its card/pill, which sits bottom-center-left on
	 * /rent) -- at z 90 / bottom 18px the toggle was covered visually AND for
	 * hit-testing (live elementFromPoint returned ELEVENLABS-CONVAI). Lifted
	 * above the collapsed widget band and stacked one above the convai host. */
	body.js-rent-search .hp-rs-2d .hp-rs-modetoggle {
		display: inline-flex !important; align-items: center; gap: 8px;
		position: fixed; left: 50%; transform: translateX(-50%);
		bottom: calc(88px + env(safe-area-inset-bottom, 0px));
		z-index: 1001; /* convai host z 1000; still far below the ShowMojo modal layer (2147483646) */
		font-family: Poppins, sans-serif; font-size: 14px; font-weight: 600; line-height: 1;
		color: #FFFFFF !important; background: #212221 !important; border: 0 !important;
		border-radius: 24px; padding: 12px 22px; cursor: pointer;
		box-shadow: 0 4px 14px rgba(0,0,0,.30); text-decoration: none !important;
	}

	/* ---- bottom sheet + backdrop ---- */
	/* Sheet layer above the convai host (z 1000) so the Hayden pill can never
	 * float over the open sheet and steal its taps (incident fix 2026-07-07). */
	body.js-rent-search .hp-rs-2d .hp-rs-sheet-backdrop {
		display: block !important; position: fixed; inset: 0; z-index: 1002;
		background: rgba(33,34,33,.45); opacity: 0; pointer-events: none;
		transition: opacity .2s ease;
	}
	body.js-rent-search .hp-rs-2d .hp-rs-sheet-backdrop.is-open { opacity: 1; pointer-events: auto; }
	body.js-rent-search .hp-rs-2d .hp-rs-sheet {
		display: flex !important; flex-direction: column;
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 1003;
		max-height: 80vh; background: #FFFFFF; border-radius: 16px 16px 0 0;
		box-shadow: 0 -8px 30px rgba(33,34,33,.18);
		transform: translateY(100%); visibility: hidden;
		transition: transform .2s ease, visibility 0s linear .2s;
	}
	body.js-rent-search .hp-rs-2d .hp-rs-sheet.is-open { transform: translateY(0); visibility: visible; transition: transform .2s ease; }
	body.js-rent-search .hp-rs-2d .hp-rs-sheet__head { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px 10px; }
	body.js-rent-search .hp-rs-2d .hp-rs-sheet__title { font-family: Poppins, sans-serif; font-size: 16px; font-weight: 700; color: #212221; }
	body.js-rent-search .hp-rs-2d .hp-rs-sheet__clear {
		font-family: Poppins, sans-serif; font-size: 12px; font-weight: 600;
		color: #5A5A5A !important; background: transparent !important; border: 0 !important;
		padding: 6px 4px; cursor: pointer; text-decoration: underline !important; box-shadow: none !important;
	}
	body.js-rent-search .hp-rs-2d .hp-rs-sheet__clear:hover { color: #212221 !important; }
	body.js-rent-search .hp-rs-2d .hp-rs-sheet__body { overflow-y: auto; padding: 0 20px 16px; }
	body.js-rent-search .hp-rs-2d .hp-rs-sheet__label {
		font-family: Poppins, sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 1.2px;
		text-transform: uppercase; color: #8A8A8A; margin: 18px 0 8px;
	}
	body.js-rent-search .hp-rs-2d .hp-rs-sheet__list { display: flex; flex-direction: column; max-height: 216px; overflow-y: auto; border: 1px solid #E5E3DB; border-radius: 12px; padding: 6px; }
	body.js-rent-search .hp-rs-2d .hp-rs-sheet__foot { padding: 12px 20px calc(14px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid #E8E8E8; }
	body.js-rent-search .hp-rs-2d .hp-rs-sheet__apply {
		display: block; width: 100%;
		font-family: Poppins, sans-serif; font-size: 14px; font-weight: 600;
		color: #212221 !important; background: #EEB211 !important; border: 0 !important;
		padding: 13px 20px; border-radius: 8px; cursor: pointer; box-shadow: none !important; text-decoration: none !important;
	}
	body.js-rent-search .hp-rs-2d .hp-rs-sheet__apply:hover { background: #C69100 !important; color: #FFFFFF !important; }

	/* ---- body scroll lock while the sheet is open. The class is added/removed
	   ONLY by 2d code; body is the scroll container, so this selector cannot be
	   nested under .hp-rs-2d -- the second flagged scoping exception. ---- */
	body.js-rent-search.hp-rs-lock { overflow: hidden; }
}

/* ============ DEGRADE-PATH REPAIR (incident 2026-07-07) -- pre-existing #124
 * G3 regression, NOT introduced by 2d: the v2 rule above (:188, flex: 1 1 46%,
 * un-mediaed) also wins inside the interim <=900px COLUMN flex body, where the
 * percentage basis degrades to content-sizing -- so the interim block's
 * height: 58vh has been silently ignored since the G3 flip and the narrow map
 * collapsed to min-height with #hp-rs-map (height:100%) at 0 (an invisible
 * map; live-probed with 2d torn down via ?hp_no2d=1). flex: 0 0 auto restores
 * height-property sizing. Scoped .hp-rs-v2, NOT .hp-rs-2d -- deliberately: the
 * degrade path is exactly the state where .hp-rs-2d is absent, and the interim
 * block itself stays untouched (this is an additive override). Third flagged
 * scoping exception. In 2d modes the higher-specificity mode rules still win
 * (mode-list parks the wrap position:fixed; mode-map sets its own flex/height). */
@media (max-width: 900px) {
	body.js-rent-search .hp-rs-v2 .hp-rent-search__mapwrap { flex: 0 0 auto; }
}
