/* Siebert Brand - IDX (dsIDXpress) pages: listing detail, results, similar/sold.
   Mobile-first; desktop refinements at the bottom. Only loaded with .sb-brand. */

/* ---------- Page frame on non-home pages ---------- */
body.sb-brand:not(.home) h1.entry-title,
body.sb-brand:not(.home) .et_pb_post_title h1 {
	font-family: var(--sb-head) !important;
	font-size: clamp(26px, 6.4vw, 42px) !important;
	line-height: 1.18 !important;
	font-weight: 600 !important;
	color: var(--sb-navy) !important;
	letter-spacing: -.01em !important;
	overflow-wrap: normal; word-break: normal; hyphens: manual;
	text-shadow: none !important;
}
body.sb-brand:not(.home) .et_pb_post_title strong,
body.sb-brand:not(.home) .et_pb_post_title span { color: inherit !important; }
/* The IDX template's light-blue title band -> brand tint */
body.sb-brand:not(.home) .et_pb_section:has(> .et_pb_row .et_pb_post_title) { background-color: var(--sb-tint) !important; padding: 26px 0 !important; }
@media (max-width: 980px) {
	body.sb-brand #main-content .container,
	body.sb-brand:not(.home) #et-main-area .et_pb_row { width: 92% !important; max-width: none !important; }
	body.sb-brand:not(.home) #main-content .container { padding-top: 22px !important; }
}

/* ---------- Shared IDX building blocks ---------- */
body.sb-brand #dsidx { font-family: var(--sb-body); color: var(--sb-ink); }
body.sb-brand #dsidx a { color: var(--sb-steel); }
/* Login-only toolbar items: hide; keep favorite + share */
body.sb-brand .dsidx-navbar-left,
body.sb-brand .dsidx-navbar-center,
body.sb-brand .dsidx-navbar-item:has(> .dsidx-navbar-loginrequired),
body.sb-brand .dsidx-navbar-item:has(> a > .dsidx-favorite),
body.sb-brand .dsidx-navbar-space { display: none !important; }
body.sb-brand .dsidx-navbar { display: flex !important; justify-content: flex-end; align-items: center; gap: 8px; background: none !important; border: 0 !important; min-height: 0 !important; margin: 0 0 10px !important; padding: 0 !important; }
body.sb-brand .dsidx-navbar-center, body.sb-brand .dsidx-navbar-right { display: flex !important; width: auto !important; float: none !important; }
body.sb-brand .dsidx-navbar-item a { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--sb-line); border-radius: 999px; padding: 6px 14px !important; font: 600 13px var(--sb-head) !important; color: var(--sb-steel) !important; background: #fff; text-decoration: none !important; }

body.sb-brand :is(.dsidx-headerbar, .dsidx-headerbar-green, .dsidx-one-col-header) {
	background: none !important; border: 0 !important; border-bottom: 2px solid var(--sb-dusty) !important;
	padding: 0 0 8px !important; margin: 30px 0 14px !important; height: auto !important;
}
body.sb-brand :is(.dsidx-headerbar, .dsidx-headerbar-green) .dsidx-header-title,
body.sb-brand .dsidx-table-header, body.sb-brand #dsidx th.dsidx-table-header {
	font: 700 13px var(--sb-head) !important; letter-spacing: .08em; text-transform: uppercase;
	color: var(--sb-navy) !important; background: none !important; padding: 0 !important;
}
body.sb-brand #dsidx input[type="text"], body.sb-brand #dsidx input[type="email"], body.sb-brand #dsidx input[type="tel"],
body.sb-brand #dsidx select, body.sb-brand #dsidx textarea,
body.sb-brand #sidebar .dsidx-resp-search-box :is(input[type="text"], select) {
	width: 100% !important; min-height: 44px; border: 1px solid #d3dce4 !important; border-radius: 8px !important;
	padding: 10px 12px !important; font: 16px var(--sb-body) !important; background: #fff !important; color: var(--sb-ink) !important; box-shadow: none !important;
}
body.sb-brand #dsidx :is(input[type="submit"], button:not(.dsidx-navbar-hamburger), .dsidx-large-button, input[type="button"]),
body.sb-brand #sidebar .dsidx-resp-search-box :is(input[type="submit"], button) {
	background: var(--sb-dusty) !important; color: #fff !important; border: 1px solid var(--sb-dusty) !important;
	border-radius: 10px !important; font: 600 15px var(--sb-head) !important; text-transform: none !important; letter-spacing: 0 !important;
	min-height: 46px; padding: 10px 18px !important; box-shadow: none !important; text-shadow: none !important; cursor: pointer;
}
body.sb-brand #dsidx :is(input[type="submit"], button, .dsidx-large-button):hover { background: var(--sb-steel) !important; border-color: var(--sb-steel) !important; }
body.sb-brand #dsidx-disclaimer, body.sb-brand #dsidx-disclaimer p, body.sb-brand #dsidx-listing-source { font-size: 12px !important; line-height: 1.55 !important; color: var(--sb-muted) !important; }
body.sb-brand img[src*="mls-icons/rein"], body.sb-brand .dsidx-idx-icon { height: 16px !important; width: auto !important; max-width: 70px !important; }

/* Hidden select2 helpers were pushing pages 770px wide */
body.sb-brand .select2-hidden-accessible { position: absolute !important; width: 1px !important; height: 1px !important; left: 0 !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; }
body.sb-brand .dsm_card_carousel { overflow: hidden; }

/* ---------- Listing detail ---------- */
body.sb-brand .sb-mls { display: inline-block; margin-top: 8px; font: 600 12px var(--sb-head); letter-spacing: .06em; color: var(--sb-steel); background: #fff; border: 1px solid var(--sb-line); border-radius: 999px; padding: 4px 10px; vertical-align: middle; }
body.sb-brand .dsidx-details #dsidx-header { display: block !important; }
body.sb-brand .dsidx-details #dsidx-media-td { display: block !important; width: 100% !important; padding: 0 !important; }
body.sb-brand .dsidx-details #dsidx-media, body.sb-brand .dsidx-details #dsidx-media .juicebox-gallery { width: 100% !important; }
body.sb-brand .dsidx-details #dsidx-media { border-radius: 14px; overflow: hidden; margin: 0 0 18px !important; box-shadow: 0 8px 24px rgba(30, 50, 70, .12); }
body.sb-brand .dsidx-details .jb-splash-background { background: linear-gradient(180deg, transparent 40%, rgba(20, 35, 50, .65)) !important; opacity: 1 !important; }
body.sb-brand .dsidx-details .jb-splash { border: 0 !important; background: none !important; }
body.sb-brand .dsidx-details .jb-splash-cnt { font: 600 13px var(--sb-head) !important; color: #fff !important; text-shadow: none !important; }
body.sb-brand .dsidx-details a.jb-splash-view-glry { display: inline-block; font: 700 13px var(--sb-head) !important; letter-spacing: .08em; text-transform: uppercase; color: var(--sb-navy) !important; background: #fff; border-radius: 999px; padding: 9px 16px; text-shadow: none !important; }

/* Price + key facts */
body.sb-brand .dsidx-details #dsidx-header > div:has(#dsidx-primary-data) { width: 100% !important; float: none !important; }
body.sb-brand #dsidx-primary-data { display: block !important; width: 100% !important; border: 0 !important; margin: 0 0 16px !important; }
body.sb-brand #dsidx-primary-data tbody { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
body.sb-brand #dsidx-primary-data tr { display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 2px; background: var(--sb-tint); border-radius: 12px; padding: 12px 14px; border: 0 !important; }
body.sb-brand #dsidx-primary-data :is(th, td) { display: block; padding: 0 !important; border: 0 !important; background: none !important; text-align: left !important; width: auto !important; }
body.sb-brand #dsidx-primary-data th { font: 600 11px var(--sb-head) !important; letter-spacing: .08em; text-transform: uppercase; color: var(--sb-muted) !important; }
body.sb-brand #dsidx-primary-data td { font: 700 19px var(--sb-head) !important; color: var(--sb-navy) !important; }
body.sb-brand #dsidx-primary-data td .dsidx-primary-data-values { font: inherit !important; color: inherit !important; }
body.sb-brand #dsidx-primary-data #dsidx-price { grid-column: 1 / -1; flex-direction: column; background: none; padding: 0 0 4px; }
body.sb-brand #dsidx-primary-data #dsidx-price td { font-size: 34px !important; letter-spacing: -.01em; display: flex; align-items: center; gap: 10px; }
body.sb-brand #dsidx-primary-data #dsidx-price td img { width: 30px !important; height: 30px !important; }

/* Call-to-action: sticky bottom bar on phones */
body.sb-brand .dsidx-call-to-action { display: flex !important; gap: 10px; background: none !important; border: 0 !important; padding: 0 !important; margin: 0 0 22px !important; width: 100% !important; }
body.sb-brand .dsidx-call-to-action a { flex: 1; display: inline-flex !important; align-items: center; justify-content: center; text-align: center; margin: 0 !important; width: auto !important; height: auto !important; line-height: 1.2 !important; text-decoration: none !important; }
body.sb-brand #dsidx .dsidx-call-to-action #dsidx-button-schedule-showing { background: #fff !important; color: var(--sb-steel) !important; border-color: var(--sb-steel) !important; }
body.sb-brand #dsidx .dsidx-call-to-action #dsidx-button-schedule-showing:hover { background: var(--sb-tint) !important; }
body.sb-brand .dsidx-navbar-markfavorite { width: 38px; height: 38px; padding: 0 !important; justify-content: center; }
body.sb-brand .dsidx-call-to-action .sb-cta-call { flex: 0 0 52px; background: var(--sb-navy) !important; border: 1px solid var(--sb-navy) !important; border-radius: 10px; color: #fff !important; min-height: 46px; }
body.sb-brand .dsidx-call-to-action .sb-cta-call svg { width: 20px; height: 20px; }
@media (max-width: 767px) {
	body.sb-brand.sb-idx-detail { padding-bottom: 84px; }
	body.sb-brand .dsidx-details .dsidx-call-to-action { position: fixed; left: 0; right: 0; bottom: 0; z-index: 9000; margin: 0 !important; padding: 10px 14px calc(10px + env(safe-area-inset-bottom)) !important; background: rgba(255, 255, 255, .97) !important; box-shadow: 0 -6px 20px rgba(30, 50, 70, .14); }
	body.sb-brand .dsidx-details .dsidx-call-to-action a { font-size: 14px !important; padding: 10px 8px !important; }
}

/* Description */
body.sb-brand #dsidx :has(> #dsidx-description-text) { border: 0 !important; padding: 0 !important; margin: 0 !important; background: none !important; }
body.sb-brand #dsidx-description-text { display: block; font: 16px/1.7 var(--sb-body) !important; color: var(--sb-ink) !important; border: 0 !important; padding: 0 !important; margin: 4px 0 8px !important; }

/* Fact tables -> label/value grid */
body.sb-brand #dsidx-secondary-data, body.sb-brand #dsidx .dsidx-supplemental-data { width: 100% !important; border: 0 !important; border-collapse: collapse; margin: 0 0 8px !important; background: none !important; }
body.sb-brand #dsidx-secondary-data tbody { display: grid; grid-template-columns: 40% 60%; }
body.sb-brand #dsidx-secondary-data :is(th, td) { width: auto !important; min-width: 0; }
body.sb-brand #dsidx-secondary-data tr { display: contents; }
body.sb-brand #dsidx-secondary-data :is(th, td),
body.sb-brand #dsidx .dsidx-supplemental-data :is(th:not(.dsidx-table-header), td) {
	padding: 11px 10px 11px 0 !important; border: 0 !important; border-bottom: 1px solid var(--sb-line) !important; background: none !important;
	font-size: 14.5px !important; text-align: left !important; vertical-align: top;
}
body.sb-brand #dsidx-secondary-data th, body.sb-brand #dsidx .dsidx-supplemental-data td:first-child { color: var(--sb-muted) !important; font: 600 12px var(--sb-head) !important; letter-spacing: .05em; text-transform: uppercase; padding-top: 13px !important; }
body.sb-brand #dsidx-secondary-data td, body.sb-brand #dsidx .dsidx-supplemental-data td:not(:first-child) { color: var(--sb-ink) !important; font-weight: 600 !important; }
body.sb-brand #dsidx :is(#dsidx-secondary-data, .dsidx-supplemental-data) tr, body.sb-brand #dsidx .dsidx-result.dsidx-secondary-row { background: none !important; }
body.sb-brand #dsidx .dsidx-supplemental-data th.dsidx-table-header { padding: 0 0 8px !important; border-bottom: 2px solid var(--sb-dusty) !important; }

/* Mortgage calculator */
body.sb-brand #divMortgageCalculator { border: 1px solid var(--sb-line) !important; border-radius: 14px; padding: 16px !important; margin: 24px 0 !important; background: #fff !important; }
body.sb-brand #divMortgageCalculator .row { margin-left: 0 !important; margin-right: 0 !important; }
body.sb-brand #divMortgageCalculator .dsidx-total-month-amount, body.sb-brand #spnTotalMonthlyPayment { color: var(--sb-navy) !important; font-family: var(--sb-head) !important; }
body.sb-brand #divMortgageCalculator input[type="button"]:last-of-type, body.sb-brand #divMortgageCalculator button:last-of-type { background: #fff !important; color: var(--sb-steel) !important; border-color: var(--sb-steel) !important; }
body.sb-brand #divPrincipal { background: var(--sb-navy) !important; }
body.sb-brand #divInterst { background: var(--sb-dusty) !important; }

/* Map */
body.sb-brand .dsidx-details #dsidx-map { border-radius: 14px; overflow: hidden; }

/* Similar + sold listings -> compact horizontal cards */
body.sb-brand #dsidx :is(#dsidx-similar-listings, #dsidx-sold-listings) { float: none !important; width: 100% !important; margin: 0 !important; }
body.sb-brand #dsidx .dsidx-result { background: none !important; margin: 0 0 10px !important; padding: 0 !important; border: 0 !important; }
body.sb-brand #dsidx .dsidx-small-listing {
	display: grid !important; grid-template-columns: 112px 1fr; grid-template-areas: "media addr" "media data";
	align-content: start; gap: 4px 14px; background: #fff !important; border: 1px solid var(--sb-line) !important;
	border-radius: 12px; padding: 10px !important; width: auto !important; float: none !important; box-shadow: 0 2px 8px rgba(30, 50, 70, .05);
}
body.sb-brand #dsidx .dsidx-small-listing .dsidx-primary-data { grid-area: addr; width: auto !important; float: none !important; }
body.sb-brand #dsidx .dsidx-small-listing .dsidx-media { grid-area: media; width: auto !important; float: none !important; margin: 0 !important; }
body.sb-brand #dsidx .dsidx-small-listing .dsidx-data { grid-area: data; width: auto !important; float: none !important; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
body.sb-brand #dsidx .dsidx-small-listing .dsidx-photo img { width: 112px !important; height: 86px !important; object-fit: cover; border-radius: 8px; display: block; }
body.sb-brand #dsidx .dsidx-small-listing .dsidx-address a { font: 700 15px/1.3 var(--sb-head) !important; color: var(--sb-navy) !important; text-decoration: none; }
body.sb-brand #dsidx .dsidx-small-listing .dsidx-address a span { display: block; font: 400 13px var(--sb-body) !important; color: var(--sb-muted) !important; }
body.sb-brand #dsidx .dsidx-small-listing .dsidx-price { font: 700 16px var(--sb-head) !important; color: var(--sb-steel) !important; background: none !important; padding: 0 !important; }
body.sb-brand #dsidx .dsidx-small-listing .dsidx-secondary-data-line { font-size: 13px !important; color: var(--sb-muted) !important; }
body.sb-brand #dsidx .dsidx-small-listing .dsidx-secondary-data-line span { font-weight: 700; color: var(--sb-ink); }
body.sb-brand #dsidx .dsidx-small-listing .dsidx-clear { display: none; }

/* Contact form */
body.sb-brand .dsidx-contact-form table, body.sb-brand .dsidx-contact-form tbody, body.sb-brand .dsidx-contact-form tr, body.sb-brand .dsidx-contact-form td { display: block !important; width: 100% !important; padding: 0 !important; border: 0 !important; background: none !important; }
body.sb-brand .dsidx-contact-form tr { margin-bottom: 12px; }
body.sb-brand .dsidx-contact-form label { font: 600 12px var(--sb-head) !important; letter-spacing: .05em; text-transform: uppercase; color: var(--sb-muted) !important; display: block; margin-bottom: 4px; }

/* ---------- Results pages (communities, agents, search) ---------- */
body.sb-brand .dsidx-results #dsidx-top-search { background: var(--sb-tint) !important; border: 0 !important; border-radius: 14px; padding: 12px !important; margin: 0 0 14px !important; }
body.sb-brand .dsidx-results #dsidx-top-search form { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; color: var(--sb-muted); font-size: 13px; }
body.sb-brand .dsidx-results #dsidx-top-search form > * { flex: 1 1 100%; margin: 0 !important; }
@media (min-width: 768px) { body.sb-brand .dsidx-results #dsidx-top-search form > * { flex: 1 1 0; min-width: 0; } }
body.sb-brand .dsidx-results :is(.dsidx-show-hide-map, .dsidx-sorting-control, .dsidx-paging-control) { font-size: 14px !important; }
body.sb-brand .dsidx-results .dsidx-show-hide-map { border: 1px solid var(--sb-line); border-radius: 999px; padding: 4px 12px 4px 6px; background: #fff; display: inline-flex !important; align-items: center; gap: 6px; }
body.sb-brand .dsidx-results .dsidx-show-hide-map img { width: 22px !important; height: 22px !important; }
body.sb-brand .dsidx-results .dsidx-result-tabs { display: none !important; }
body.sb-brand #dsidx.dsidx-results #dsidx-map { float: none !important; width: 100% !important; height: 260px !important; border-radius: 14px; overflow: hidden; margin: 10px 0 18px !important; }
body.sb-brand #dsidx.dsidx-results #dsidx-map > div { height: 100% !important; width: 100% !important; }
body.sb-brand #dsidx.dsidx-results #dsidx-listings { float: none !important; width: 100% !important; height: auto !important; max-height: none !important; overflow: visible !important; display: grid !important; grid-template-columns: 1fr; gap: 18px; margin: 0 !important; padding: 0 !important; list-style: none !important; }
body.sb-brand #dsidx.dsidx-results #dsidx-listings .dsidx-listing-container { width: auto !important; height: auto !important; float: none !important; margin: 0 !important; padding: 0 !important; list-style: none !important; background: #fff; border: 1px solid var(--sb-line); border-radius: 14px; overflow: hidden; box-shadow: 0 6px 18px rgba(30, 50, 70, .08); }
body.sb-brand #dsidx.dsidx-results #dsidx-listings .dsidx-listing { width: auto !important; height: auto !important; float: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; display: flex; flex-direction: column; }
body.sb-brand #dsidx.dsidx-results #dsidx-listings .dsidx-photos-right { display: none !important; }
body.sb-brand #dsidx.dsidx-results #dsidx-listings .dsidx-photos-left { width: 100% !important; float: none !important; height: auto !important; }
body.sb-brand #dsidx.dsidx-results #dsidx-listings .dsidx-photos-left .dsidx-photo-content { position: relative; width: 100% !important; height: auto !important; aspect-ratio: 16 / 10; }
body.sb-brand #dsidx.dsidx-results #dsidx-listings .dsidx-photos-left img.dsidx-photo { width: 100% !important; height: 100% !important; object-fit: cover; display: block; }
body.sb-brand #dsidx.dsidx-results #dsidx-listings .dsidx-photos-left .dsidx-logo { position: absolute !important; top: 10px; left: 10px; background: #fff; padding: 3px 6px; border-radius: 5px; height: 22px !important; }
body.sb-brand #dsidx.dsidx-results #dsidx-listings .dsidx-photos-left .dsidx-price { position: absolute !important; left: 12px; bottom: 12px; top: auto !important; right: auto !important; background: var(--sb-navy) !important; color: #fff !important; font: 700 17px var(--sb-head) !important; padding: 6px 12px !important; border-radius: 8px; width: auto !important; height: auto !important; }
body.sb-brand #dsidx.dsidx-results #dsidx-listings .dsidx-text { width: auto !important; float: none !important; height: auto !important; padding: 14px 16px 16px !important; position: relative; }
body.sb-brand #dsidx.dsidx-results #dsidx-listings .dsidx-text-content { width: auto !important; height: auto !important; padding: 0 !important; }
body.sb-brand #dsidx.dsidx-results #dsidx-listings .dsidx-toolbar { display: none !important; }
body.sb-brand #dsidx.dsidx-results #dsidx-listings .dsidx-toolbar-button { background-color: rgba(255, 255, 255, .92) !important; border-radius: 999px !important; }
body.sb-brand #dsidx.dsidx-results #dsidx-listings .dsidx-header { justify-content: flex-start; padding: 0 !important; font: 700 16px/1.35 var(--sb-head) !important; color: var(--sb-navy) !important; text-align: left !important; white-space: normal !important; overflow: visible !important; height: auto !important; }
body.sb-brand #dsidx.dsidx-results #dsidx-listings .dsidx-header a { color: var(--sb-navy) !important; }
body.sb-brand #dsidx.dsidx-results #dsidx-listings .dsidx-multi-line-address { display: none !important; }
body.sb-brand #dsidx.dsidx-results #dsidx-listings .dsidx-single-line-address { display: block !important; margin: 0 !important; }
body.sb-brand #dsidx.dsidx-results #dsidx-listings :is(.dsidx-listing-container, .dsidx-listing, .dsidx-text, .dsidx-text-content) { min-height: 0 !important; }
body.sb-brand #dsidx.dsidx-results #dsidx-listings .dsidx-text-content-row { display: flex !important; justify-content: flex-start; flex-wrap: wrap; gap: 4px 14px; margin-top: 8px; width: auto !important; }
body.sb-brand #dsidx.dsidx-results #dsidx-listings .dsidx-text-content-item { width: auto !important; float: none !important; font-size: 14px !important; color: var(--sb-muted) !important; text-align: left !important; padding: 0 !important; list-style: none !important; }
body.sb-brand #dsidx.dsidx-results #dsidx-listings .dsidx-text-list { display: none !important; }

/* ---------- Tablet / desktop ---------- */
@media (min-width: 640px) {
	body.sb-brand #dsidx.dsidx-results #dsidx-listings { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 768px) {
	body.sb-brand #dsidx-primary-data tbody { grid-template-columns: repeat(4, 1fr); }
	body.sb-brand #dsidx-secondary-data tbody { grid-template-columns: 20% 30% 20% 30%; }
	body.sb-brand #dsidx :is(#dsidx-similar-listings, #dsidx-sold-listings) { float: left !important; width: 49% !important; }
	body.sb-brand #dsidx #dsidx-sold-listings { float: right !important; }
	body.sb-brand .dsidx-call-to-action { max-width: 560px; }
}
@media (min-width: 1100px) {
	body.sb-brand #dsidx.dsidx-results #dsidx-map { height: 380px !important; }
	body.sb-brand #dsidx.dsidx-results #dsidx-listings { grid-template-columns: repeat(3, 1fr); }
}

/* Toolbar leftovers */
body.sb-brand .dsidx-navbar-item a { white-space: nowrap; }
body.sb-brand .dsidx-navbar-item:not(:has(a:not(.dsidx-navbar-loginrequired))) { display: none !important; }
body.sb-brand .dsidx-navbar > div:not(:has(.dsidx-navbar-item:not([style*="none"]) a:not(.dsidx-navbar-loginrequired))) { border: 0 !important; }
