:root {
	--roh-search-red: #b51f2e;
	--roh-search-red-dark: #8d1722;
	--roh-search-text: #171819;
	--roh-search-soft: #62666a;
	--roh-search-border: #d9dbdc;
	--roh-search-background: #f4f4f2;
	--roh-search-white: #ffffff;
	--roh-search-shell: 1560px;
	--roh-status-for-sale: #2d7d46;
	--roh-status-pending: #2f6fb3;
	--roh-status-sold: #b51f2e;
	--roh-status-for-rent: #6f42a5;
	--roh-status-dual: #4f5360;
	--roh-market-resale: #c86b2a;
	--roh-market-new: #167c80;
}

html { scroll-behavior: smooth; }

body.roh-public-search-page {
	margin: 0;
	background: var(--roh-search-background);
	color: var(--roh-search-text);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	font-size: 16px;
	line-height: 1.5;
}

body.roh-public-search-page *,
body.roh-public-search-page *::before,
body.roh-public-search-page *::after { box-sizing: border-box; }
body.roh-public-search-page img { max-width: 100%; }
body.roh-public-search-page button,
body.roh-public-search-page input,
body.roh-public-search-page select { font: inherit; }
body.roh-public-search-page a { text-decoration: none; }

.roh-search-shell {
	width: min(calc(100% - 40px), var(--roh-search-shell));
	margin-right: auto;
	margin-left: auto;
}

.roh-search-site-header {
	position: sticky;
	z-index: 100;
	top: 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 5px 22px rgba(0, 0, 0, 0.05);
	backdrop-filter: blur(14px);
}
.admin-bar .roh-search-site-header { top: 32px; }
.roh-search-header-inner { display: flex; min-height: 72px; align-items: center; justify-content: space-between; gap: 24px; }
.roh-search-brand, .roh-search-brand .custom-logo-link { display: inline-flex; align-items: center; }
.roh-search-brand .custom-logo { display: block; width: auto; max-width: 240px; height: auto; max-height: 48px; }
.roh-search-site-name { color: var(--roh-search-text); font-size: 21px; font-weight: 750; letter-spacing: -0.02em; }
.roh-search-home-link { padding: 8px 0 6px; border-bottom: 2px solid transparent; color: var(--roh-search-text); font-size: 14px; font-weight: 750; transition: border-color 160ms ease, color 160ms ease; }
.roh-search-home-link:hover, .roh-search-home-link:focus { border-color: var(--roh-search-red); color: var(--roh-search-red); }

.roh-search-intro { padding: 44px 0 27px; border-bottom: 0; background: var(--roh-search-white); }
.roh-search-eyebrow { margin: 0 0 6px; color: var(--roh-search-red); font-size: 13px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.roh-search-intro h1 { margin: 0; color: var(--roh-search-text); font-size: clamp(38px, 5vw, 64px); font-weight: 820; line-height: 1; letter-spacing: -0.045em; }
.roh-search-intro-copy { max-width: 760px; margin: 11px 0 0; color: var(--roh-search-soft); font-size: 18px; line-height: 1.4; }
.roh-search-start-guidance { max-width: 760px; margin: 24px 0 0; padding-top: 18px; border-top: 1px solid var(--roh-search-border); }
.roh-search-start-guidance h2 { margin: 0; color: var(--roh-search-text); font-size: 24px; font-weight: 800; line-height: 1.15; }
.roh-search-start-guidance p { margin: 7px 0 0; color: var(--roh-search-soft); font-size: 17px; line-height: 1.4; }

.roh-search-controls { padding: 20px 0 22px; border-bottom: 0; background: var(--roh-search-white); }
.roh-search-form { display: grid; gap: 17px; }
.roh-search-primary-fields { display: grid; grid-template-columns: minmax(300px, 2.2fr) minmax(190px, 0.8fr); align-items: end; gap: 12px; }
.roh-search-field { min-width: 0; }
.roh-search-field label,
.roh-search-field-label,
.roh-choice-filter legend,
.roh-range-filter-heading > span { display: block; margin: 0 0 6px; color: var(--roh-search-text); font-size: 12px; font-weight: 800; letter-spacing: 0.035em; text-transform: uppercase; }
.roh-search-field input,
.roh-search-field select,
.roh-property-type-toggle { display: block; width: 100%; height: 44px; padding: 0 12px; border: 1px solid var(--roh-search-border); border-radius: 3px; outline: 0; background: var(--roh-search-white); color: var(--roh-search-text); transition: border-color 160ms ease, box-shadow 160ms ease; }
.roh-search-field input:focus,
.roh-search-field select:focus,
.roh-property-type-toggle:focus,
.roh-range-values input:focus { border-color: var(--roh-search-red); box-shadow: 0 0 0 3px rgba(181, 31, 46, 0.12); }
.roh-property-type-field { position: relative; z-index: 12; }
.roh-property-type-toggle { display: flex; align-items: center; justify-content: space-between; gap: 12px; text-align: left; cursor: pointer; }
.roh-property-type-toggle > span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.roh-property-type-chevron { width: 9px; height: 9px; flex: 0 0 9px; border-right: 2px solid var(--roh-search-red); border-bottom: 2px solid var(--roh-search-red); transform: rotate(45deg) translateY(-2px); transition: transform 150ms ease; }
.roh-property-type-field.is-open .roh-property-type-chevron { transform: rotate(225deg) translate(-2px, -1px); }
.roh-property-type-panel { position: absolute; z-index: 30; top: calc(100% + 7px); right: 0; width: min(390px, calc(100vw - 40px)); padding: 12px; border: 1px solid var(--roh-search-border); border-top: 3px solid var(--roh-search-red); background: var(--roh-search-white); box-shadow: 0 15px 36px rgba(0, 0, 0, 0.17); }
.roh-property-type-panel[hidden] { display: none; }
.roh-property-type-panel-actions { display: flex; justify-content: flex-end; gap: 14px; margin-bottom: 9px; padding-bottom: 8px; border-bottom: 1px solid var(--roh-search-border); }
.roh-property-type-panel-actions button { padding: 0; border: 0; border-bottom: 1px solid transparent; background: transparent; color: var(--roh-search-red); font-size: 11px; font-weight: 800; cursor: pointer; text-transform: uppercase; }
.roh-property-type-panel-actions button:hover, .roh-property-type-panel-actions button:focus { border-bottom-color: var(--roh-search-red); outline: 0; }
.roh-property-type-error { margin: 0 0 8px; color: var(--roh-search-red); font-size: 12px; font-weight: 800; line-height: 1.35; }
.roh-property-type-toggle[aria-invalid="true"] { border-color: var(--roh-search-red); box-shadow: 0 0 0 3px rgba(181, 31, 46, 0.14); }
.roh-property-type-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px 12px; }
.roh-property-type-options label { display: flex; min-width: 0; align-items: center; gap: 8px; margin: 0; padding: 7px 5px; color: var(--roh-search-text); font-size: 13px; font-weight: 700; letter-spacing: 0; text-transform: none; cursor: pointer; }
.roh-property-type-options input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; }
.roh-property-type-check { position: relative; width: 17px; height: 17px; flex: 0 0 17px; border: 1px solid #aeb1b3; background: var(--roh-search-white); }
.roh-property-type-options input:checked + .roh-property-type-check { border-color: var(--roh-search-red); background: var(--roh-search-red); }
.roh-property-type-options input:checked + .roh-property-type-check::after { position: absolute; top: 2px; left: 5px; width: 4px; height: 8px; border-right: 2px solid var(--roh-search-white); border-bottom: 2px solid var(--roh-search-white); content: ""; transform: rotate(45deg); }
.roh-property-type-options input:focus-visible + .roh-property-type-check { box-shadow: 0 0 0 3px rgba(181, 31, 46, 0.18); }
.roh-search-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; padding-top: 1px; }
.roh-search-submit, .roh-search-reset { display: inline-flex; height: 44px; align-items: center; justify-content: center; border-radius: 3px; font-size: 14px; font-weight: 800; white-space: nowrap; }
.roh-search-submit { min-width: 104px; padding: 0 20px; border: 1px solid var(--roh-search-red); background: var(--roh-search-red); color: var(--roh-search-white); cursor: pointer; transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease; }
.roh-search-submit:hover, .roh-search-submit:focus { border-color: var(--roh-search-red-dark); background: var(--roh-search-red-dark); transform: translateY(-1px); }
.roh-search-reset { padding: 0 4px; border-bottom: 2px solid transparent; color: var(--roh-search-red); transition: border-color 160ms ease; }
.roh-search-reset:hover, .roh-search-reset:focus { border-color: var(--roh-search-red); }

.roh-search-filter-grid { display: grid; grid-template-columns: minmax(235px, 1.35fr) minmax(230px, 1fr) minmax(195px, 0.9fr) minmax(235px, 1.25fr) minmax(235px, 1.25fr); gap: 12px; align-items: stretch; }
.roh-range-filter, .roh-choice-filter { min-width: 0; margin: 0; padding: 4px 0 0; border: 0; background: transparent; }
.roh-choice-filter { border: 0; }
.roh-choice-filter legend { float: left; width: 100%; padding: 0; }
.roh-choice-filter legend + * { clear: both; }
.roh-range-filter-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.roh-range-filter-heading > span { margin-bottom: 0; }
.roh-range-filter-heading output { overflow: hidden; color: var(--roh-search-red); font-size: 12px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.roh-range-track { --roh-range-start: 0%; --roh-range-end: 100%; position: relative; height: 28px; margin: 7px 2px 6px; }
.roh-range-rail, .roh-range-selection { position: absolute; top: 13px; right: 0; left: 0; height: 3px; border-radius: 999px; }
.roh-range-rail { background: #c9ccce; }
.roh-range-selection { right: calc(100% - var(--roh-range-end)); left: var(--roh-range-start); background: var(--roh-search-red); }
.roh-range-track input[type="range"] { position: absolute; z-index: 2; top: 3px; left: 0; width: 100%; height: 22px; margin: 0; padding: 0; appearance: none; border: 0; outline: 0; background: transparent; pointer-events: none; }
.roh-range-track input[type="range"]::-webkit-slider-runnable-track { height: 3px; background: transparent; }
.roh-range-track input[type="range"]::-webkit-slider-thumb { width: 17px; height: 17px; margin-top: -7px; appearance: none; border: 2px solid var(--roh-search-red); border-radius: 50%; background: var(--roh-search-white); box-shadow: 0 1px 4px rgba(0,0,0,.2); cursor: pointer; pointer-events: auto; }
.roh-range-track input[type="range"]::-moz-range-track { height: 3px; background: transparent; }
.roh-range-track input[type="range"]::-moz-range-thumb { width: 14px; height: 14px; border: 2px solid var(--roh-search-red); border-radius: 50%; background: var(--roh-search-white); box-shadow: 0 1px 4px rgba(0,0,0,.2); cursor: pointer; pointer-events: auto; }
.roh-range-track input[type="range"]:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 4px rgba(181,31,46,.18); }
.roh-range-values { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: end; gap: 7px; }
.roh-range-values label { min-width: 0; }
.roh-range-values label > span { display: block; margin: 0 0 3px; color: var(--roh-search-soft); font-size: 10px; font-weight: 750; text-transform: uppercase; }
.roh-range-values input { display: block; width: 100%; height: 33px; padding: 0 8px; border: 1px solid var(--roh-search-border); border-radius: 3px; outline: 0; background: var(--roh-search-white); color: var(--roh-search-text); font-size: 12px; font-weight: 700; }
.roh-range-to { padding-bottom: 7px; color: var(--roh-search-soft); }
.roh-choice-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: hidden; border: 1px solid var(--roh-search-border); border-radius: 3px; }
.roh-choice-options label { min-width: 0; }
.roh-choice-options input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; }
.roh-choice-options span { display: flex; min-height: 37px; align-items: center; justify-content: center; padding: 5px 3px; border-right: 1px solid var(--roh-search-border); border-bottom: 1px solid var(--roh-search-border); background: var(--roh-search-white); color: var(--roh-search-text); font-size: 12px; font-weight: 750; cursor: pointer; transition: background-color 140ms ease, color 140ms ease; }
.roh-choice-options label:nth-child(3n) span { border-right: 0; }
.roh-choice-options label:nth-last-child(-n+3) span { border-bottom: 0; }
.roh-choice-options input:checked + span { background: var(--roh-search-red); color: var(--roh-search-white); }
.roh-choice-options input:focus-visible + span { outline: 3px solid rgba(181,31,46,.2); outline-offset: -3px; }

.roh-search-results { padding: 30px 0 60px; }
.roh-search-results-heading-row { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; margin: 0 0 15px; }
.roh-search-results-heading-row h2 { margin: 0; color: var(--roh-search-text); font-size: 23px; font-weight: 800; letter-spacing: -0.025em; }
.roh-search-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 21px 17px; }
.roh-search-card { min-width: 0; }
.roh-search-card-link { display: block; height: 100%; background: var(--roh-search-white); color: var(--roh-search-text); box-shadow: 0 7px 24px rgba(0, 0, 0, 0.08); transition: box-shadow 180ms ease, transform 180ms ease; }
.roh-search-card-link:hover, .roh-search-card-link:focus { color: var(--roh-search-text); box-shadow: 0 14px 34px rgba(0, 0, 0, 0.15); transform: translateY(-3px); }
.roh-search-card-media { position: relative; overflow: hidden; aspect-ratio: 16 / 9; background: #1b1c1d; }
.roh-search-card-image, .roh-search-card-image-placeholder { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 320ms ease; }
.roh-search-card-image-placeholder { background: linear-gradient(135deg, #36383a, #171819); }
.roh-search-card-link:hover .roh-search-card-image, .roh-search-card-link:focus .roh-search-card-image { transform: scale(1.025); }
.roh-search-card-shade { position: absolute; inset: 38% 0 0; background: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.88)); }
.roh-search-card-media h3 { position: absolute; z-index: 2; right: 12px; bottom: 11px; left: 12px; margin: 0; color: var(--roh-search-white); font-size: clamp(16px, 1.4vw, 20px); font-weight: 800; line-height: 1.12; letter-spacing: -0.025em; text-shadow: 0 2px 10px rgba(0, 0, 0, 0.65); }
.roh-search-card-walkthrough { position: absolute; z-index: 3; top: 10px; left: 10px; display: inline-flex; max-width: calc(100% - 20px); align-items: center; gap: 8px; color: var(--roh-search-white); }
.roh-search-card-sold-overlay { position: absolute; z-index: 4; top: 10px; right: 10px; left: 10px; display: flex; align-items: stretch; gap: 6px; pointer-events: none; }
.roh-search-card-sold-badge { display: inline-flex; min-height: 34px; flex: 0 0 auto; align-items: center; justify-content: center; padding: 5px 12px; background: var(--roh-search-red); color: var(--roh-search-white); font-size: clamp(16px, 1.4vw, 20px); font-weight: 900; line-height: 1; letter-spacing: .04em; box-shadow: 0 4px 14px rgba(0, 0, 0, 0.34); text-shadow: 0 1px 3px rgba(0, 0, 0, 0.28); }
.roh-search-card-sold-representations { display: flex; min-width: 0; flex: 1 1 auto; flex-direction: column; justify-content: center; padding: 5px 8px; background: rgba(0, 0, 0, .74); color: var(--roh-search-white); font-size: clamp(10px, .85vw, 12px); font-weight: 800; line-height: 1.16; box-shadow: 0 4px 14px rgba(0, 0, 0, .3); text-shadow: 0 1px 3px rgba(0, 0, 0, .45); }
.roh-search-card-sold-representations span { display: block; overflow-wrap: anywhere; }
.roh-search-card.is-sold .roh-search-card-walkthrough { top: 70px; }
.roh-search-card-play-button { display: flex; width: 40px; height: 40px; flex: 0 0 40px; align-items: center; justify-content: center; border: 2px solid rgba(255, 255, 255, 0.92); border-radius: 50%; background: var(--roh-search-red); box-shadow: 0 4px 14px rgba(0, 0, 0, 0.34); }
.roh-search-card-play { width: 0; height: 0; margin-left: 3px; border-top: 6px solid transparent; border-bottom: 6px solid transparent; border-left: 10px solid var(--roh-search-white); }
.roh-search-card-walkthrough-text { display: inline-block; max-width: calc(100% - 48px); color: var(--roh-search-white); font-size: clamp(16px, 1.4vw, 20px); font-weight: 800; line-height: 1.12; letter-spacing: -0.025em; text-shadow: 0 2px 10px rgba(0, 0, 0, 0.65); }
.roh-search-card-content { padding: 10px 12px 11px; }
.roh-search-card-content p { margin: 0; }
.roh-search-card-price { color: var(--roh-search-text); font-size: 27px; font-weight: 850; line-height: 1; letter-spacing: -0.035em; }
.roh-search-card-facts { margin-top: 1px !important; color: var(--roh-search-text); font-size: 13px; font-weight: 700; line-height: 1.12; }
.roh-search-card-lot { margin-top: 3px !important; color: var(--roh-search-soft); font-size: 12px; font-weight: 700; line-height: 1.15; }
.roh-search-card-address { margin-top: 5px !important; color: var(--roh-search-red); font-size: 13px; font-weight: 750; line-height: 1.2; }
.roh-search-card-brokerage { margin-top: 5px !important; padding-top: 5px; border-top: 1px solid var(--roh-search-border); color: var(--roh-search-soft); font-size: 11px; font-weight: 650; line-height: 1.2; }

.roh-search-pagination { margin-top: 38px; }
.roh-search-pagination ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 7px; margin: 0; padding: 0; list-style: none; }
.roh-search-pagination a, .roh-search-pagination span { display: inline-flex; min-width: 42px; height: 42px; align-items: center; justify-content: center; padding: 0 13px; border: 1px solid var(--roh-search-border); background: var(--roh-search-white); color: var(--roh-search-text); font-size: 14px; font-weight: 750; }
.roh-search-pagination a:hover, .roh-search-pagination a:focus, .roh-search-pagination .current { border-color: var(--roh-search-red); background: var(--roh-search-red); color: var(--roh-search-white); }
.roh-search-empty { padding: 58px 30px; border-top: 3px solid var(--roh-search-red); background: var(--roh-search-white); text-align: center; }
.roh-search-empty h2 { margin: 0; font-size: 30px; }
.roh-search-empty p { margin: 10px 0 20px; color: var(--roh-search-soft); }
.roh-search-empty a { display: inline-flex; padding: 11px 18px; border: 1px solid var(--roh-search-red); background: var(--roh-search-red); color: var(--roh-search-white); font-weight: 800; }
.roh-search-geography-error { margin: -8px 0 0; }

@media (max-width: 1320px) {
	.roh-search-filter-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1120px) {
	.roh-search-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.roh-search-primary-fields { grid-template-columns: minmax(260px, 2fr) minmax(190px, 1fr); }
}
@media (max-width: 820px) {
	.admin-bar .roh-search-site-header { top: 46px; }
	.roh-search-grid, .roh-search-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.roh-search-primary-fields { grid-template-columns: 1fr 1fr; }
	.roh-search-field-location { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
	.roh-search-shell { width: min(calc(100% - 28px), var(--roh-search-shell)); }
	.roh-search-header-inner { min-height: 64px; }
	.roh-search-brand .custom-logo { max-width: 190px; max-height: 42px; }
	.roh-search-intro { padding: 34px 0 22px; }
	.roh-search-intro-copy { font-size: 16px; }
	.roh-search-start-guidance { margin-top: 20px; padding-top: 16px; }
	.roh-search-start-guidance h2 { font-size: 22px; }
	.roh-search-start-guidance p { font-size: 16px; }
	.roh-search-controls { padding: 16px 0 18px; }
	.roh-search-primary-fields, .roh-search-filter-grid, .roh-search-grid { grid-template-columns: 1fr; }
	.roh-search-field-location { grid-column: auto; }
	.roh-property-type-panel { right: auto; left: 0; width: 100%; }
	.roh-property-type-options { grid-template-columns: 1fr; }
	.roh-search-actions { justify-content: space-between; }
	.roh-search-submit { flex: 1 1 auto; }
	.roh-search-results { padding: 24px 0 46px; }
	.roh-search-card-media h3 { font-size: 20px; }
}
@media (prefers-reduced-motion: reduce) {
	.roh-search-card-link, .roh-search-card-image, .roh-search-submit { transition: none; }
}

/* ROH 0.9.2: compact visible Status and Property Type choices. */
.roh-search-choice-groups {
	display: grid;
	gap: 12px;
}
.roh-visible-check-group {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}
.roh-visible-check-heading {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 18px;
	margin: 0 0 5px;
}
.roh-visible-check-heading legend {
	padding: 0;
	color: var(--roh-search-text);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.035em;
	text-transform: uppercase;
}
.roh-visible-check-heading p {
	margin: 0;
	color: var(--roh-search-soft);
	font-size: 12px;
	line-height: 1.35;
}
.roh-visible-check-actions {
	display: flex;
	align-items: center;
	gap: 14px;
}
.roh-visible-check-actions button {
	padding: 0;
	border: 0;
	border-bottom: 1px solid transparent;
	background: transparent;
	color: var(--roh-search-red);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	cursor: pointer;
}
.roh-visible-check-actions button:hover,
.roh-visible-check-actions button:focus {
	border-bottom-color: var(--roh-search-red);
	outline: 0;
}
.roh-visible-check-error {
	margin: 0 0 6px;
	color: var(--roh-search-red);
	font-size: 12px;
	font-weight: 800;
	line-height: 1.35;
}
.roh-visible-check-options {
	display: grid;
	column-gap: 18px;
	row-gap: 5px;
}
.roh-status-options {
	grid-template-columns: repeat(5, max-content);
	max-width: 860px;
}
.roh-property-type-options-visible {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}
.roh-property-market-options-visible {
	grid-template-columns: repeat(3, max-content);
}
.roh-visible-check-options label {
	display: flex;
	min-width: 0;
	min-height: 27px;
	align-items: center;
	gap: 7px;
	margin: 0;
	padding: 2px 0;
	border: 0;
	background: transparent;
	color: var(--roh-search-text);
	font-size: 13px;
	font-weight: 750;
	line-height: 1.2;
	cursor: pointer;
}
.roh-visible-check-options label:hover span:last-child {
	text-decoration: underline;
	text-underline-offset: 3px;
}
.roh-visible-check-options input {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	opacity: 0;
}
.roh-visible-check-mark {
	position: relative;
	width: 17px;
	height: 17px;
	flex: 0 0 17px;
	border: 1px solid #aeb1b3;
	background: var(--roh-search-white);
}
.roh-visible-check-options input:checked + .roh-visible-check-mark {
	border-color: var(--roh-search-red);
	background: var(--roh-search-red);
}
.roh-visible-check-options input:checked + .roh-visible-check-mark::after {
	position: absolute;
	top: 2px;
	left: 5px;
	width: 4px;
	height: 8px;
	border-right: 2px solid var(--roh-search-white);
	border-bottom: 2px solid var(--roh-search-white);
	content: "";
	transform: rotate(45deg);
}
.roh-visible-check-options input:checked ~ span:last-child {
	color: var(--roh-search-red);
}
.roh-visible-check-options input:focus-visible + .roh-visible-check-mark {
	box-shadow: 0 0 0 3px rgba(181, 31, 46, 0.18);
}
.roh-visible-check-group.has-error .roh-visible-check-options {
	padding: 4px;
	outline: 2px solid rgba(181, 31, 46, 0.28);
	outline-offset: 2px;
}

/* Status colors are identical in filters and result cards. */
.roh-status-for-sale { color: var(--roh-status-for-sale); }
.roh-status-pending { color: var(--roh-status-pending); }
.roh-status-sold { color: var(--roh-status-sold); }
.roh-status-for-rent { color: var(--roh-status-for-rent); }
.roh-status-for-sale-for-rent { color: var(--roh-status-dual); }
.roh-status-options label.roh-status-for-sale span:last-child { color: var(--roh-status-for-sale); }
.roh-status-options label.roh-status-pending span:last-child { color: var(--roh-status-pending); }
.roh-status-options label.roh-status-sold span:last-child { color: var(--roh-status-sold); }
.roh-status-options label.roh-status-for-rent span:last-child { color: var(--roh-status-for-rent); }
.roh-status-options label.roh-status-for-sale-for-rent span:last-child { color: var(--roh-status-dual); }
.roh-status-options label.roh-status-for-sale input:checked + .roh-visible-check-mark { border-color: var(--roh-status-for-sale); background: var(--roh-status-for-sale); }
.roh-status-options label.roh-status-pending input:checked + .roh-visible-check-mark { border-color: var(--roh-status-pending); background: var(--roh-status-pending); }
.roh-status-options label.roh-status-sold input:checked + .roh-visible-check-mark { border-color: var(--roh-status-sold); background: var(--roh-status-sold); }
.roh-status-options label.roh-status-for-rent input:checked + .roh-visible-check-mark { border-color: var(--roh-status-for-rent); background: var(--roh-status-for-rent); }
.roh-status-options label.roh-status-for-sale-for-rent input:checked + .roh-visible-check-mark { border-color: var(--roh-status-dual); background: linear-gradient(135deg, var(--roh-status-for-sale) 0 50%, var(--roh-status-for-rent) 50% 100%); }
.roh-status-options label.roh-status-for-sale input:focus-visible + .roh-visible-check-mark { box-shadow: 0 0 0 3px rgba(45, 125, 70, 0.2); }
.roh-status-options label.roh-status-pending input:focus-visible + .roh-visible-check-mark { box-shadow: 0 0 0 3px rgba(47, 111, 179, 0.2); }
.roh-status-options label.roh-status-sold input:focus-visible + .roh-visible-check-mark { box-shadow: 0 0 0 3px rgba(181, 31, 46, 0.2); }
.roh-status-options label.roh-status-for-rent input:focus-visible + .roh-visible-check-mark { box-shadow: 0 0 0 3px rgba(111, 66, 165, 0.2); }
.roh-status-options label.roh-status-for-sale-for-rent input:focus-visible + .roh-visible-check-mark { box-shadow: 0 0 0 3px rgba(79, 83, 96, 0.2); }

.roh-search-field-location { max-width: none; }
.roh-search-card-price-row {
	display: flex;
	min-width: 0;
	align-items: flex-start;
	justify-content: space-between;
	gap: 10px;
}
.roh-search-card-prices,
.roh-search-card-statuses {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 2px;
}
.roh-search-card-statuses {
	align-items: flex-end;
	padding-top: 4px;
}
.roh-search-card-price {
	margin: 0;
}
.roh-search-card-status {
	flex: 0 0 auto;
	font-size: 12px;
	font-weight: 850;
	line-height: 1;
	letter-spacing: 0.055em;
	text-align: right;
	text-transform: uppercase;
	white-space: nowrap;
}

@media (max-width: 980px) {
	.roh-property-type-options-visible {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 700px) {
	.roh-status-options {
		grid-template-columns: repeat(2, max-content);
	}
	.roh-visible-check-heading {
		align-items: flex-start;
		flex-direction: column;
		gap: 4px;
	}
	.roh-visible-check-actions {
		align-self: flex-end;
	}
	.roh-property-type-options-visible {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 390px) {
	.roh-status-options {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.roh-search-card-status {
		font-size: 11px;
	}
}


/* ROH 0.9.4: slightly clearer separation between pricing and property facts. */
.roh-search-card-price-row + .roh-search-card-facts {
	margin-top: 7px !important;
}

/* ROH 0.9.5: compact fixed disclaimer beneath public search results. */
.roh-search-disclaimer {
	margin-top: clamp(28px, 4vw, 48px);
	padding: 18px 0 2px;
	border-top: 1px solid #d7d9da;
}

.roh-search-disclaimer p {
	max-width: 1120px;
	margin: 0;
	color: #62676b;
	font-size: 12px;
	line-height: 1.55;
}

/* ROH 0.9.29: description search and right-aligned preference stack. */
.roh-search-secondary-controls {
	display: grid;
	grid-template-columns: minmax(320px, 1fr) minmax(240px, 280px);
	align-items: end;
	gap: clamp(24px, 4vw, 64px);
}
.roh-search-description-field {
	max-width: 760px;
}
.roh-search-field-help {
	margin: 5px 0 0;
	color: var(--roh-search-soft);
	font-size: 12px;
	line-height: 1.35;
}
.roh-search-preferences {
	display: flex;
	justify-content: flex-end;
	padding: 0;
	border: 0;
	background: transparent;
}
.roh-search-preferences-stack {
	display: grid;
	width: min(100%, 280px);
	justify-items: end;
	gap: 9px;
}
.roh-search-walkthrough-only {
	display: inline-flex;
	min-height: 28px;
	align-items: center;
	justify-content: flex-end;
	gap: 9px;
	color: var(--roh-search-text);
	font-size: 14px;
	font-weight: 800;
	cursor: pointer;
}
.roh-search-walkthrough-only input {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	opacity: 0;
}
.roh-search-preference-check {
	position: relative;
	width: 19px;
	height: 19px;
	flex: 0 0 19px;
	border: 1px solid #aeb1b3;
	background: var(--roh-search-white);
}
.roh-search-walkthrough-only input:checked + .roh-search-preference-check {
	border-color: var(--roh-search-red);
	background: var(--roh-search-red);
}
.roh-search-walkthrough-only input:checked + .roh-search-preference-check::after {
	position: absolute;
	top: 2px;
	left: 6px;
	width: 4px;
	height: 9px;
	border-right: 2px solid var(--roh-search-white);
	border-bottom: 2px solid var(--roh-search-white);
	content: "";
	transform: rotate(45deg);
}
.roh-search-walkthrough-only input:focus-visible + .roh-search-preference-check {
	box-shadow: 0 0 0 3px rgba(181, 31, 46, 0.18);
}
.roh-search-sort {
	display: grid;
	width: min(100%, 280px);
	gap: 5px;
}
.roh-search-sort > span {
	color: var(--roh-search-text);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.035em;
	text-transform: uppercase;
}
.roh-search-sort select {
	display: block;
	width: 100%;
	height: 44px;
	padding: 0 36px 0 12px;
	border: 1px solid var(--roh-search-border);
	border-radius: 3px;
	outline: 0;
	background: var(--roh-search-white);
	color: var(--roh-search-text);
	font-size: 14px;
	font-weight: 700;
}
.roh-search-sort select:focus {
	border-color: var(--roh-search-red);
	box-shadow: 0 0 0 3px rgba(181, 31, 46, 0.12);
}

@media (max-width: 700px) {
	.roh-search-secondary-controls {
		grid-template-columns: 1fr;
		gap: 16px;
	}
	.roh-search-description-field {
		max-width: none;
	}
	.roh-search-preferences {
		justify-content: flex-start;
	}
	.roh-search-preferences-stack,
	.roh-search-sort {
		width: 100%;
		justify-items: start;
	}
	.roh-search-walkthrough-only {
		justify-content: flex-start;
	}
}

/* ROH 0.9.29: cleaner search groups and description/feature search. */
.roh-search-filter-grid > .roh-range-filter,
.roh-search-filter-grid > .roh-choice-filter {
	padding: 3px 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}
.roh-search-secondary-controls > .roh-search-preferences {
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}
.roh-search-description-field input::placeholder {
	color: #85898c;
	opacity: 1;
}

/* ROH 0.9.52: compact Open House indicator on listing-result cards. */
.roh-search-card.has-open-house .roh-search-card-media h3 {
	right: 54px;
}

.roh-search-card-open-house-icon {
	position: absolute;
	z-index: 4;
	right: 10px;
	bottom: 10px;
	display: inline-flex;
	width: 34px;
	height: 34px;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255, 216, 74, 0.82);
	border-radius: 999px;
	background: rgba(0, 0, 0, 0.58);
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.38);
	color: #ffd84a;
}

.roh-search-card-open-house-icon svg {
	display: block;
	width: 22px;
	height: 22px;
}

.roh-search-card-open-house {
	margin-top: 7px !important;
	color: #b8860b;
	font-size: 12px;
	font-weight: 850;
	line-height: 1.2;
	letter-spacing: 0.02em;
	text-shadow: none;
	text-transform: uppercase;
}

.roh-search-card-open-house + .roh-search-card-facts {
	margin-top: 4px !important;
}

/* ROH Core 0.9.58 result range and page status. */
.roh-search-result-range,
.roh-search-page-status,
.roh-search-pagination-status {
	margin: 5px 0 0;
	color: var(--roh-search-muted);
	font-size: 13px;
	font-weight: 700;
}
.roh-search-page-status { margin: 0; white-space: nowrap; }
.roh-search-pagination-status { margin-top: 34px; text-align: center; }
.roh-search-pagination-status + .roh-search-pagination { margin-top: 12px; }
@media (max-width: 620px) {
	.roh-search-results-heading-row { align-items: flex-start; flex-direction: column; gap: 5px; }
	.roh-search-page-status { white-space: normal; }
}


/* Beta 108 / Core 0.11.86: Sold Experience video signals. */
.roh-search-card-sold-recap-icon,.roh-search-card-sold-testimonial-icon{position:absolute;right:14px;bottom:14px;z-index:5;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;background:#c59a28;box-shadow:0 3px 12px rgba(0,0,0,.28);border:2px solid rgba(255,255,255,.9)}
.roh-search-card-sold-recap-icon svg,.roh-search-card-sold-testimonial-icon svg{display:block;width:25px;height:25px}
.roh-search-card.has-sold-recap-indicator.has-sold-testimonial-indicator .roh-search-card-sold-testimonial-icon{right:66px}



/* Beta 21: public search controls share ROH TV's rounded, consumer-facing visual language. */
.roh-search-controls{padding:0 0 34px;border-bottom:0;background:var(--roh-search-white)}
.roh-search-form{gap:22px;padding:clamp(22px,3vw,34px);border:1px solid var(--roh-search-border);border-radius:16px;background:#f8f8f6;box-shadow:0 14px 45px rgba(0,0,0,.06)}
.roh-search-field input,.roh-search-field select,.roh-property-type-toggle{height:48px;border-color:#bfc2c4;border-radius:10px}
.roh-search-field-market input{margin-bottom:0}
.roh-search-field select[data-roh-search-market-select][hidden]{display:none!important}
.roh-range-values input{height:38px;border-radius:8px}
.roh-choice-options{border-radius:10px}
.roh-choice-options span{min-height:42px}
.roh-visible-check-options{gap:10px}
.roh-visible-check-options label{min-height:44px;padding:8px 12px;border:1px solid var(--roh-search-border);border-radius:10px;background:#fff;transition:border-color 150ms ease,box-shadow 150ms ease,transform 150ms ease}
.roh-visible-check-options label:hover{transform:translateY(-1px)}
.roh-visible-check-options label:hover span:last-child{text-decoration:none}
.roh-visible-check-mark{width:18px;height:18px;flex-basis:18px;border-width:2px;border-radius:4px}
.roh-status-options{grid-template-columns:repeat(5,minmax(0,1fr));max-width:none}
.roh-property-type-options-visible{grid-template-columns:repeat(5,minmax(0,1fr))}
.roh-search-submit{height:46px;border-radius:999px;padding:0 22px}
.roh-search-reset{height:46px}
.roh-search-location-market-grid{display:grid;grid-template-columns:1fr;gap:14px}
.roh-search-field-location{padding:0;border:0;border-radius:0;background:transparent}
.roh-search-secondary-controls{gap:18px}
@media(max-width:1100px){.roh-property-type-options-visible{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:820px){.roh-status-options{grid-template-columns:repeat(2,minmax(0,1fr))}.roh-property-type-options-visible{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.roh-status-options,.roh-property-type-options-visible{grid-template-columns:1fr}}

/* Beta 25 compact property-video indicators. Preview is charcoal; Walkthrough is ROH red. */
.roh-search-card-video-icons{position:absolute;z-index:5;top:10px;left:10px;display:flex;gap:7px;align-items:center}
.roh-search-card.is-sold .roh-search-card-video-icons{top:70px}
.roh-search-card-video-icon{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:2px solid rgba(255,255,255,.94);box-shadow:0 3px 12px rgba(0,0,0,.30);color:#fff}
.roh-search-card-video-icon.is-preview{background:#292b2d}
.roh-search-card-video-icon.is-walkthrough{background:var(--roh-search-red)}
.roh-search-card-video-icon>span{display:block;width:0;height:0;margin-left:3px;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:10px solid currentColor}

/* Single-field searchable Market combobox. */
.roh-market-combobox{position:relative;width:100%}.roh-market-combobox>input{width:100%;box-sizing:border-box}.roh-market-combobox-options{position:absolute;z-index:10020;top:calc(100% + 3px);left:0;right:0;max-height:280px;overflow:auto;margin:0;padding:4px;background:#fff;border:1px solid #a9aaa5;box-shadow:0 8px 24px rgba(0,0,0,.14);box-sizing:border-box}.roh-market-combobox-options[hidden]{display:none}.roh-market-combobox-option{display:block;width:100%;margin:0;padding:9px 10px;border:0;background:#fff;color:#222;text-align:left;font:inherit;cursor:pointer}.roh-market-combobox-option:hover,.roh-market-combobox-option:focus,.roh-market-combobox-option.is-active{background:#f1f1ee;outline:0}.roh-market-combobox-empty{padding:9px 10px;color:#666}

/* ROH 0.11.83: Property Market search choices. */
@media(max-width:700px){.roh-property-market-options-visible{grid-template-columns:1fr}}

/* ROH 0.11.84: cinematic Property Market legend + search-card badges. */
.roh-property-market-choice .roh-property-market-house-icon{display:inline-flex;width:20px;height:20px;flex:0 0 20px;align-items:center;justify-content:center}
.roh-property-market-choice .roh-property-market-house-icon svg{display:block;width:20px;height:20px}
.roh-property-market-options-visible .roh-property-market-choice.roh-property-market-resale .roh-property-market-house-icon,.roh-property-market-options-visible .roh-property-market-choice.roh-property-market-resale .roh-property-market-choice-label{color:var(--roh-market-resale)}
.roh-property-market-options-visible .roh-property-market-choice.roh-property-market-new .roh-property-market-house-icon,.roh-property-market-options-visible .roh-property-market-choice.roh-property-market-new .roh-property-market-choice-label{color:var(--roh-market-new)}
.roh-property-market-choice.roh-property-market-resale input:checked + .roh-visible-check-mark{border-color:var(--roh-market-resale);background:var(--roh-market-resale)}
.roh-property-market-choice.roh-property-market-new input:checked + .roh-visible-check-mark{border-color:var(--roh-market-new);background:var(--roh-market-new)}
.roh-property-market-choice.roh-property-market-resale input:focus-visible + .roh-visible-check-mark{box-shadow:0 0 0 3px rgba(200,107,42,.20)}
.roh-property-market-choice.roh-property-market-new input:focus-visible + .roh-visible-check-mark{box-shadow:0 0 0 3px rgba(22,124,128,.20)}
.roh-search-card.has-market-badge .roh-search-card-media h3{right:54px}
.roh-search-card.has-market-badge.has-open-house .roh-search-card-media h3{right:94px}
.roh-search-card-market-icon{position:absolute;z-index:4;right:10px;bottom:10px;display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border:1px solid currentColor;border-radius:999px;background:rgba(0,0,0,.58);box-shadow:0 4px 14px rgba(0,0,0,.38)}
.roh-search-card-market-icon.is-resale{color:var(--roh-market-resale)}
.roh-search-card-market-icon.is-new{color:var(--roh-market-new)}
.roh-search-card-market-icon svg{display:block;width:22px;height:22px}
.roh-search-card.has-open-house .roh-search-card-market-icon{right:50px}
.roh-search-card.has-sold-recap-indicator .roh-search-card-market-icon,.roh-search-card.has-sold-testimonial-indicator .roh-search-card-market-icon{right:66px}
.roh-search-card.has-sold-recap-indicator.has-sold-testimonial-indicator .roh-search-card-market-icon{right:118px}
.roh-search-card.has-open-house.has-sold-recap-indicator .roh-search-card-market-icon,.roh-search-card.has-open-house.has-sold-testimonial-indicator .roh-search-card-market-icon{right:106px}
.roh-search-card.has-open-house.has-sold-recap-indicator.has-sold-testimonial-indicator .roh-search-card-market-icon{right:158px}


/* Search submissions return to the results, below fixed/sticky navigation. */
#roh-search-results-heading, #roh-find-pro-results { scroll-margin-top: 95px; }
