/*
 * RightHomes4U — map view styles (v3.8.0).
 * Additive only: loaded on ?view=map, uses the same tokens as rh-filters.css.
 * Nothing here touches the list view.
 */

.rh-page--map .rh-map-layout {
	display: grid !important;
	grid-template-columns: minmax(320px, 420px) 1fr !important;
	gap: 20px !important;
	align-items: start !important;
	margin-top: 18px !important;
}

.rh-page--map .rh-map-results {
	max-height: 720px !important;
	overflow-y: auto !important;
	padding-right: 6px !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 14px !important;
}

.rh-page--map .rh-map-results::-webkit-scrollbar { width: 8px; }
.rh-page--map .rh-map-results::-webkit-scrollbar-thumb {
	background: #d7dbe2; border-radius: 8px;
}

.rh-page--map .rh-map-card {
	display: grid !important;
	grid-template-columns: 132px 1fr !important;
	gap: 14px !important;
	background: #fff !important;
	border: 1px solid var(--rh-line, #e7e9ee) !important;
	border-radius: var(--rh-radius, 16px) !important;
	overflow: hidden !important;
	cursor: pointer !important;
	transition: box-shadow .25s var(--rh-ease, ease), transform .25s var(--rh-ease, ease), border-color .25s ease !important;
}

.rh-page--map .rh-map-card:hover,
.rh-page--map .rh-map-card.is-active {
	transform: translateY(-2px) !important;
	border-color: rgba(242, 96, 12, .45) !important;
	box-shadow: 0 14px 32px -18px rgba(16, 24, 40, .5) !important;
}

.rh-page--map .rh-map-card__media {
	display: block !important;
	background: #f1f3f6 !important;
	min-height: 112px !important;
}

.rh-page--map .rh-map-card__media img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
}

.rh-page--map .rh-map-card__body { padding: 12px 14px 12px 0 !important; }

.rh-page--map .rh-map-card__price {
	font-weight: 800 !important;
	color: #f2600c !important;
	font-size: 17px !important;
	line-height: 1.2 !important;
}

.rh-page--map .rh-map-card__title {
	margin: 4px 0 2px !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
}

.rh-page--map .rh-map-card__title a {
	color: var(--rh-ink, #14161b) !important;
	text-decoration: none !important;
}

.rh-page--map .rh-map-card__title a:hover { color: #f2600c !important; }

.rh-page--map .rh-map-card__addr {
	margin: 0 0 6px !important;
	font-size: 13px !important;
	color: var(--rh-muted, #737b8a) !important;
}

.rh-page--map .rh-map-card__meta {
	display: flex !important;
	gap: 10px !important;
	font-size: 12.5px !important;
	color: var(--rh-ink-2, #3d434e) !important;
}

.rh-page--map .rh-map-canvas-wrap {
	position: sticky !important;
	top: 16px !important;
	border-radius: var(--rh-radius, 16px) !important;
	overflow: hidden !important;
	border: 1px solid var(--rh-line, #e7e9ee) !important;
	background: #eaeef2 !important;
}

.rh-page--map .rh-map-canvas {
	height: 720px !important;
	width: 100% !important;
}

.rh-page--map .rh-map-empty {
	padding: 18px !important;
	background: #fff !important;
	border: 1px dashed var(--rh-line, #e7e9ee) !important;
	border-radius: 14px !important;
	color: var(--rh-muted, #737b8a) !important;
}

.rh-page--map .rh-map-note {
	margin-top: 14px !important;
	padding: 12px 14px !important;
	border-radius: 12px !important;
	background: #fff7ed !important;
	border: 1px solid #fcd9b6 !important;
	color: #8a4b12 !important;
	font-size: 13px !important;
}

/* Pins */
.rh-pin-wrap { background: none !important; border: 0 !important; }

.rh-pin {
	display: inline-block;
	white-space: nowrap;
	transform: translate(-50%, -100%);
	background: #f2600c;
	color: #fff;
	font: 700 12.5px/1 system-ui, -apple-system, "Segoe UI", sans-serif;
	padding: 7px 10px;
	border-radius: 999px;
	box-shadow: 0 4px 12px rgba(16, 24, 40, .28);
	border: 2px solid #fff;
	transition: transform .18s ease, background .18s ease;
}

.rh-pin-wrap.is-active .rh-pin,
.rh-pin:hover {
	background: #14161b;
	transform: translate(-50%, -100%) scale(1.06);
}

.leaflet-popup-content-wrapper { border-radius: 14px !important; }
.leaflet-popup-content { margin: 0 !important; width: 250px !important; }

.rh-pop__img { width: 100%; height: 130px; object-fit: cover; display: block; }
.rh-pop__body { padding: 10px 12px 12px; }
.rh-pop__price { font-weight: 800; color: #f2600c; font-size: 16px; }
.rh-pop__title {
	display: block; margin: 2px 0 3px; font-weight: 700;
	color: #14161b; text-decoration: none; font-size: 14px;
}
.rh-pop__title:hover { color: #f2600c; }
.rh-pop__addr { font-size: 12.5px; color: #737b8a; }
.rh-pop__meta { font-size: 12.5px; color: #3d434e; margin-top: 4px; }

@media (max-width: 1024px) {
	.rh-page--map .rh-map-layout { grid-template-columns: 1fr !important; }
	.rh-page--map .rh-map-canvas-wrap { position: static !important; order: -1 !important; }
	.rh-page--map .rh-map-canvas { height: 420px !important; }
	.rh-page--map .rh-map-results { max-height: none !important; overflow: visible !important; }
}

/* =========================================================================
   v3.9 — MAP PAGE SEARCH BAR + TOOLBAR
   Self-contained (.rh-msearch / .rh-mbar) so no theme or list-view rule can
   bleed in. Flat brand orange, no gradients.
   ========================================================================= */

.rh-page--map .rh-msearch,
.rh-page--map .rh-msearch * {
	box-sizing: border-box !important;
	font-family: inherit !important;
}

.rh-page--map .rh-msearch {
	background: #fff !important;
	border: 1px solid #e7e9ee !important;
	border-radius: 18px !important;
	box-shadow: 0 18px 40px -28px rgba(16, 24, 40, .45) !important;
	overflow: hidden !important;
	margin: 0 0 14px !important;
	padding: 0 !important;
}

/* --- tabs --- */
.rh-page--map .rh-msearch__tabs {
	display: flex !important;
	gap: 8px !important;
	padding: 12px 16px 0 !important;
	background: #fff7f2 !important;
	border-bottom: 1px solid #f0e5dd !important;
	margin: 0 !important;
}

.rh-page--map .rh-msearch__tab {
	appearance: none !important;
	border: 0 !important;
	cursor: pointer !important;
	background: transparent !important;
	color: #4a5260 !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	padding: 14px 20px !important;
	border-radius: 12px 12px 0 0 !important;
	position: relative !important;
	transition: color .2s ease, background-color .2s ease !important;
	box-shadow: none !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

.rh-page--map .rh-msearch__tab:hover {
	color: #f2600c !important;
	background: rgba(242, 96, 12, .08) !important;
}

.rh-page--map .rh-msearch__tab.is-active {
	background: #f2600c !important;
	color: #fff !important;
}

/* --- fields row --- */
.rh-page--map .rh-msearch__row {
	display: grid !important;
	grid-template-columns: 1.6fr 1fr 1fr .8fr 1.1fr auto !important;
	gap: 14px !important;
	align-items: end !important;
	padding: 18px 18px 20px !important;
	background: #fff !important;
}

.rh-page--map .rh-msearch__field {
	min-width: 0 !important;
	margin: 0 !important;
}

.rh-page--map .rh-msearch__label {
	display: block !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
	color: #8a93a3 !important;
	margin: 0 0 7px !important;
}

.rh-page--map .rh-msearch__pin { color: #f2600c !important; }

.rh-page--map .rh-msearch__input,
.rh-page--map .rh-msearch__select {
	width: 100% !important;
	height: 50px !important;
	padding: 0 40px 0 16px !important;
	border: 1px solid #e3e6ec !important;
	border-radius: 12px !important;
	background: #f8f9fb !important;
	color: #1e242e !important;
	font-size: 15px !important;
	line-height: 50px !important;
	box-shadow: none !important;
	outline: none !important;
	transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease !important;
	margin: 0 !important;
}

.rh-page--map .rh-msearch__input { padding-right: 16px !important; }

.rh-page--map .rh-msearch__input:hover,
.rh-page--map .rh-msearch__select:hover { border-color: #d3d8e1 !important; }

.rh-page--map .rh-msearch__input:focus,
.rh-page--map .rh-msearch__select:focus {
	background: #fff !important;
	border-color: #f2600c !important;
	box-shadow: 0 0 0 3px rgba(242, 96, 12, .16) !important;
}

.rh-page--map .rh-msearch__input::placeholder { color: #9aa2b1 !important; }

.rh-page--map .rh-msearch__selectwrap { position: relative !important; }

.rh-page--map .rh-msearch__select {
	appearance: none !important;
	-webkit-appearance: none !important;
}

.rh-page--map .rh-msearch__selectwrap::after {
	content: "" !important;
	position: absolute !important;
	right: 16px !important;
	top: 50% !important;
	width: 9px !important;
	height: 9px !important;
	margin-top: -6px !important;
	border-right: 2px solid #7b8494 !important;
	border-bottom: 2px solid #7b8494 !important;
	transform: rotate(45deg) !important;
	pointer-events: none !important;
}

/* --- search button --- */
.rh-page--map .rh-msearch__btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 9px !important;
	height: 50px !important;
	padding: 0 30px !important;
	border: 0 !important;
	border-radius: 12px !important;
	background: #f2600c !important;
	color: #fff !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	cursor: pointer !important;
	white-space: nowrap !important;
	box-shadow: 0 10px 22px -14px rgba(242, 96, 12, .9) !important;
	transition: background-color .2s ease, transform .18s ease, box-shadow .2s ease !important;
}

.rh-page--map .rh-msearch__btn:hover {
	background: #d95208 !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 14px 26px -14px rgba(242, 96, 12, .95) !important;
}

.rh-page--map .rh-msearch__btn:active { transform: translateY(0) !important; }

/* --- toolbar --- */
.rh-page--map .rh-mbar {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	flex-wrap: wrap !important;
	gap: 12px !important;
	background: #fff !important;
	border: 1px solid #e7e9ee !important;
	border-radius: 14px !important;
	padding: 12px 16px !important;
	margin: 0 0 6px !important;
}

.rh-page--map .rh-mbar__count {
	font-size: 15px !important;
	color: #555f6e !important;
	margin: 0 !important;
}

.rh-page--map .rh-mbar__count strong {
	color: #1e242e !important;
	font-weight: 800 !important;
}

.rh-page--map .rh-mbar__toggle {
	display: inline-flex !important;
	gap: 6px !important;
	background: #f4f5f8 !important;
	border-radius: 12px !important;
	padding: 4px !important;
}

.rh-page--map .rh-mbar__btn {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	padding: 9px 16px !important;
	border-radius: 9px !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	color: #555f6e !important;
	text-decoration: none !important;
	background: transparent !important;
	transition: color .2s ease, background-color .2s ease !important;
}

.rh-page--map a.rh-mbar__btn:hover {
	color: #f2600c !important;
	background: rgba(242, 96, 12, .1) !important;
}

.rh-page--map .rh-mbar__btn.is-active {
	background: #f2600c !important;
	color: #fff !important;
	box-shadow: 0 8px 18px -12px rgba(242, 96, 12, .9) !important;
}

/* --- responsive --- */
@media (max-width: 1100px) {
	.rh-page--map .rh-msearch__row {
		grid-template-columns: 1fr 1fr 1fr !important;
	}
	.rh-page--map .rh-msearch__field--action { grid-column: 1 / -1 !important; }
	.rh-page--map .rh-msearch__btn { width: 100% !important; }
}

@media (max-width: 700px) {
	.rh-page--map .rh-msearch__row { grid-template-columns: 1fr !important; }
	.rh-page--map .rh-msearch__tabs { padding: 10px 10px 0 !important; }
	.rh-page--map .rh-msearch__tab { flex: 1 1 auto !important; padding: 12px 10px !important; font-size: 14px !important; }
	.rh-page--map .rh-mbar { justify-content: center !important; }
}
