/**
 * SEO hub preview — sit inside Voxel header/footer using theme tokens.
 */

html:has(body.rmr-hub-page),
body.rmr-hub-page {
	background: var(--e-global-color-6b70364);
	color: var(--e-global-color-text);
	--rmr-hub-navy: var(--e-global-color-primary);
	--rmr-hub-ink: var(--e-global-color-primary);
	--rmr-hub-mute: var(--e-global-color-20ddf10);
	--rmr-hub-line: var(--e-global-color-28aa42f);
	--navy: var(--e-global-color-primary);
	--mute: var(--e-global-color-20ddf10);
	--line: var(--e-global-color-28aa42f);
}

.rmr-hub {
	--rmr-hub-navy: var(--e-global-color-primary);
	--rmr-hub-ink: var(--e-global-color-primary);
	--rmr-hub-mute: var(--e-global-color-20ddf10);
	--rmr-hub-line: var(--e-global-color-28aa42f);
	max-width: 1120px;
	margin: 0 auto;
	padding: 28px 20px 72px;
	background: var(--e-global-color-6b70364);
}

.rmr-hub-listing a.rb-btn,
.rmr-hub-card a.rb-btn,
.rmr-hub-gen a.rb-btn,
.rmr-hub-model a.rb-btn,
.rmr-hub__back a.rb-btn,
.rmr-hub-missing .rb-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: var(--rb-space-xs) var(--rb-space-s);
	font: inherit;
	font-size: var(--rb-text-s);
	font-weight: 600;
	text-decoration: none;
	background-image: linear-gradient(135deg, var(--e-global-color-primary) 0%, var(--e-global-color-secondary) 100%);
	color: var(--e-global-color-6b70364);
	border: none;
	border-radius: var(--rb-radius-m);
	width: fit-content;
	cursor: pointer;
}

.rmr-hub a.rb-btn.ghost,
.rmr-hub-elementor a.rb-btn.ghost,
.rmr-hub-missing .rb-btn.ghost {
	background: transparent;
	background-image: none;
	color: var(--e-global-color-primary);
	border: 1px solid var(--e-global-color-28aa42f);
}

.rmr-hub a.rb-btn.slight,
.rmr-hub-elementor a.rb-btn.slight {
	background: var(--e-global-color-38b03de);
	color: var(--e-global-color-primary);
}

.rmr-hub__preview-note {
	margin: 0 0 18px;
	padding: 8px 12px;
	font-size: var(--rb-text-xs);
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--e-global-color-primary);
	background: var(--e-global-color-38b03de);
	border-radius: var(--rb-radius-s);
}

.rmr-hub__crumb {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin: 0 0 18px;
	font-size: var(--rb-text-s);
	color: var(--e-global-color-20ddf10);
}

.rmr-hub__crumb a {
	color: inherit;
	font-weight: 600;
	text-decoration: none;
}

.rmr-hub__crumb a:hover {
	color: var(--e-global-color-accent);
}

.rmr-hub__head {
	margin: 0 0 28px;
}

.rmr-hub__head .rb-post-title {
	margin: 10px 0 12px;
	color: var(--e-global-color-primary);
}

.rmr-hub__lead {
	margin: 0 0 16px;
	max-width: 40rem;
	font-size: var(--rb-text-m);
	line-height: 1.5;
	color: var(--e-global-color-20ddf10);
}

.rmr-hub__lead--tight {
	font-size: var(--rb-text-m);
	margin-bottom: 18px;
}

.rmr-hub__pills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.rmr-hub-finder .rmr-listing-stat-bar {
	margin-bottom: 14px;
}

.rmr-hub-make-jump {
	margin: 0 0 28px;
}

.rmr-hub-make-jump__label {
	margin: 0 0 8px;
	font-size: var(--rb-text-xs);
	font-weight: 600;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--e-global-color-20ddf10);
}

.rmr-hub-make-jump__list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.rmr-hub-make-jump a {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 6px 12px;
	border: 1px solid var(--e-global-color-28aa42f);
	border-radius: 999px;
	background: var(--e-global-color-6b70364);
	color: var(--e-global-color-primary);
	font-size: var(--rb-text-s);
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
}

.rmr-hub-make-jump a:hover,
.rmr-hub-make-jump a:focus-visible {
	border-color: var(--e-global-color-accent);
	color: var(--e-global-color-accent);
}

body.rmr-hub-page .rmr-hub__directory-make,
body.rmr-hub-page .rmr-hub__directory-make:target {
	scroll-margin-top: 128px;
}

.rmr-hub__section {
	margin: 36px 0 0;
}

.rmr-hub__h2 {
	margin: 0 0 12px;
}

.rmr-hub-listing {
	display: grid;
	grid-template-columns: minmax(0, 280px) 1fr;
	gap: 22px;
	align-items: stretch;
	padding: 0;
	overflow: hidden;
	transition: none;
}

.rmr-hub-listing .rb-btn {
	transition: var(--rb-transition-default);
}

.rmr-hub-listing__media {
	position: relative;
	min-height: 180px;
	background: var(--e-global-color-38b03de);
}

.rmr-hub-listing__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.rmr-hub-listing__media .section-eyebrow {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 1;
}

.rmr-hub-listing__body {
	padding: 22px 22px 22px 0;
}

.rmr-hub-listing .vx-price {
	display: inline-block;
	margin: 0 0 6px;
	font-weight: 800;
	color: var(--e-global-color-primary);
}

body.rmr-hub-page h2.rmr-hub-listing__title {
	margin: 0 0 8px;
	font-size: var(--rb-text-l);
	line-height: 1.25;
}

.rmr-hub-listing__title a {
	color: var(--e-global-color-primary);
	text-decoration: none;
}

.rmr-hub-listing__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 12px;
	color: var(--e-global-color-20ddf10);
	font-size: var(--rb-text-s);
}

.rmr-hub-listing__distance {
	font-weight: 600;
	color: var(--e-global-color-primary);
}

.rmr-hub-nearby-notice {
	margin: 0 0 16px;
	padding: 10px 14px 10px 16px;
	border-radius: 10px;
	border-left: 4px solid var(--e-global-color-accent);
	background: color-mix(in srgb, var(--e-global-color-accent) 16%, var(--e-global-color-6b70364));
	color: var(--e-global-color-primary);
	font-size: var(--rb-text-m);
	font-weight: 600;
	line-height: 1.45;
}

.rmr-hub-box-nearby:empty {
	display: none;
}

.rmr-hub-place {
	margin: 0 0 18px;
	padding: 14px 16px;
	border: 1px solid var(--e-global-color-28aa42f);
	border-radius: 12px;
	background: color-mix(in srgb, var(--e-global-color-primary) 4%, var(--e-global-color-6b70364));
	position: relative;
	overflow: visible;
}

.rmr-hub-place:not(.rmr-hub-place--set) {
	border-color: color-mix(in srgb, var(--e-global-color-primary) 28%, var(--e-global-color-28aa42f));
	background: color-mix(in srgb, var(--e-global-color-primary) 8%, var(--e-global-color-6b70364));
}

.rmr-hub-place:not(.rmr-hub-place--set) .rmr-hub-place__status {
	color: var(--e-global-color-primary);
	font-weight: 600;
}

.rmr-hub-place__status,
.rmr-hub-place__error {
	margin: 0 0 10px;
}

.rmr-hub-place__status {
	color: var(--e-global-color-20ddf10);
	font-size: var(--rb-text-m);
}

.rmr-hub-place__error {
	color: var(--e-global-color-a78fe54);
	font-size: var(--rb-text-s);
}

.rmr-hub-place__form {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

.rmr-hub-place__label {
	position: relative;
	flex: 1 1 16rem;
	min-width: min(16rem, 100%);
}

.rmr-hub-place__input {
	width: 100%;
	padding: 8px 12px;
	border: 1px solid var(--e-global-color-28aa42f);
	border-radius: 8px;
	font: inherit;
}

.rmr-hub-place .ts-autocomplete-dropdown,
.rmr-hub-place .pac-container {
	z-index: 30;
}

.rmr-hub-place__clear {
	margin-left: 4px;
	color: var(--e-global-color-primary);
	font-size: var(--rb-text-s);
}

.rmr-hub-listing__copy {
	margin: 0 0 18px;
	color: var(--e-global-color-20ddf10);
	max-width: 36rem;
}

.rmr-hub-listing__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.rmr-hub-models,
.rmr-hub-gens {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 16px;
}

.rmr-hub-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	transition: none;
}

.rmr-hub-card .rb-btn {
	margin-top: auto;
	transition: var(--rb-transition-default);
}

@media (hover: hover) {
	.rmr-hub-elementor .rb-card.rmr-hub-card:hover,
	.rmr-hub .rb-card.rmr-hub-card:hover,
	.rmr-hub-elementor .rb-card.rmr-hub-listing:hover,
	.rmr-hub .rb-card.rmr-hub-listing:hover {
		transform: none;
		box-shadow: var(--rb-shadow-md);
	}

	.rmr-hub-listing-group--combo > .rmr-hub-listing:hover,
	.rmr-hub-listing-group--combo .rmr-hub-listing--addon:hover {
		box-shadow: none;
	}
}

.rmr-hub-card .section-eyebrow {
	margin-bottom: 0;
}

.rmr-hub-elementor .rmr-hub-card h3,
.rmr-hub .rmr-hub-card h3 {
	margin: 4px 0 0;
	color: var(--e-global-color-primary);
	font-size: var(--rb-text-m);
	line-height: 1.3;
	font-weight: 600;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
}

.rmr-hub-card__years {
	font-weight: 500;
	color: var(--e-global-color-20ddf10);
}

.rmr-hub-card p {
	margin: 0;
	color: var(--e-global-color-20ddf10);
	font-size: var(--rb-text-s);
}

.rmr-hub-card__meta,
.rmr-hub-model__meta {
	padding-top: 4px;
	font-size: var(--rb-text-xs) !important;
}

.rmr-hub-listings {
	display: flex;
	flex-direction: column;
	gap: 16px;
	transition: opacity 0.15s ease;
}

.rmr-hub-listing-group {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.rmr-hub-listing-group--combo {
	gap: 0;
	overflow: hidden;
	background: color-mix(in srgb, var(--e-global-color-primary) 5%, var(--e-global-color-6b70364));
	border: 1px solid var(--e-global-color-28aa42f);
	border-radius: var(--rb-radius-m);
	box-shadow: var(--rb-shadow-md);
}

.rmr-hub-listing-group--combo > .rmr-hub-listing,
.rmr-hub-listing-group--combo .rmr-hub-listing--addon {
	background: transparent;
	border: 0;
	box-shadow: none;
	border-radius: 0;
}

.rmr-hub-listing-addons {
	margin: 0 4px 4px 12px;
	padding: 12px 14px 14px;
	border-left: 3px solid var(--e-global-color-primary);
	border-radius: 0 12px 12px 0;
	background: color-mix(in srgb, var(--e-global-color-primary) 5%, var(--e-global-color-6b70364));
}

.rmr-hub-listing-group--combo .rmr-hub-listing-addons {
	margin: 0;
	padding: 14px 16px 16px;
	border: 0;
	border-top: 1px solid var(--e-global-color-28aa42f);
	border-radius: 0;
	background: transparent;
}

.rmr-hub-listing-addons__label {
	margin: 0 0 10px;
	color: var(--e-global-color-primary);
	font-size: var(--rb-text-s);
	font-weight: 600;
}

.rmr-hub-listing-addons__cards {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.rmr-hub-listing--addon {
	grid-template-columns: minmax(0, 180px) 1fr;
}

.rmr-hub-listing--addon .rmr-hub-listing__media {
	min-height: 120px;
}

.rmr-hub-listing--addon .rmr-hub-listing__body {
	padding: 14px 16px 14px 0;
}

.rmr-hub-listings.is-loading,
.rmr-hub-box-feed.is-loading {
	opacity: 0.45;
	pointer-events: none;
}

.rmr-hub-place.is-loading .rmr-hub-place__form {
	pointer-events: none;
}

.rmr-hub-box-feed.post-feed-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin: 0;
	transition: opacity 0.15s ease;
}

.rmr-hub-box-feed--standalone:not(.is-expanded) > *:nth-child(n+7) {
	display: none;
}

.rmr-hub-box-more {
	margin: 14px 0 0;
}

.rmr-hub-box-more__btn {
	cursor: pointer;
}

.rmr-hub-box-feed .ts-preview {
	min-width: 0;
}

.rmr-hub-box-feed .ts-preview .elementor-heading-title,
.rmr-hub-box-feed .ts-preview .elementor-heading-title a {
	white-space: normal;
	height: auto;
	overflow: visible;
	text-overflow: unset;
}

.rmr-hub-card-place {
	margin: 6px 0 0;
	color: var(--e-global-color-20ddf10);
	font-size: var(--rb-text-s);
	line-height: 1.35;
}

.rmr-hub-card-place__miles {
	font-weight: 600;
	color: var(--e-global-color-primary);
}

.rmr-hub-market {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin: 0 0 28px;
}

.rmr-hub-market__item {
	padding: 18px 18px 16px;
	background: var(--e-global-color-38b03de);
	border-radius: var(--rb-radius-m);
}

.rmr-hub-market__title {
	margin: 0 0 8px;
	font-size: var(--rb-text-m);
	line-height: 1.3;
	font-weight: 650;
	color: var(--e-global-color-primary);
}

.rmr-hub-market__item p {
	margin: 0;
	font-size: var(--rb-text-s);
	line-height: 1.5;
	color: var(--e-global-color-20ddf10);
}

.rmr-hub-missing {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 16px;
	margin: 8px 0 0;
	padding: 18px 20px;
	background: var(--e-global-color-6b70364);
	border: 1px solid var(--e-global-color-28aa42f);
	border-radius: var(--rb-radius-m);
}

.rmr-hub-missing__copy {
	flex: 1 1 16rem;
	margin: 0;
	font-size: var(--rb-text-m);
	line-height: 1.45;
	color: var(--e-global-color-20ddf10);
}

.rmr-hub-elementor .rmr-hub-missing .rb-btn,
.rmr-hub .rmr-hub-missing .rb-btn {
	flex: 0 0 auto;
}

.rmr-hub__directory-make {
	margin: 0 0 36px;
}

.rmr-hub__directory-make .rmr-hub__h2 {
	margin: 0 0 14px;
}

.rmr-hub__directory-make .rmr-hub__h2 a {
	color: inherit;
	text-decoration: none;
}

.rmr-hub__directory-make .rmr-hub__h2 a:hover {
	text-decoration: underline;
}

.rmr-hub-gen--wait {
	opacity: 0.92;
}

.rmr-hub__back {
	margin: 36px 0 0;
}

.rmr-hub-seo {
	max-width: 1120px;
	margin: 0 auto;
	padding: 8px 20px 48px;
}

.rmr-hub-article {
	margin: 8px 0 36px;
	max-width: 42rem;
}

.rmr-hub-article__body {
	color: var(--e-global-color-20ddf10);
	font-size: var(--rb-text-m);
	line-height: 1.6;
}

.rmr-hub-article__body p {
	margin: 0 0 1rem;
}

.rmr-hub-article__fitment {
	color: var(--e-global-color-primary);
	font-weight: 600;
}

.rmr-hub-roofs {
	max-width: 42rem;
}

.rmr-hub-roofs__list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
}

.rmr-hub-roofs__item {
	margin: 0;
	width: 148px;
	max-width: calc(50% - 5px);
}

.rmr-hub-roofs__open {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	width: 100%;
	margin: 0;
	padding: 8px;
	background: var(--e-global-color-6b70364);
	border: 1.5px solid var(--e-global-color-28aa42f);
	border-radius: 10px;
	font: inherit;
	text-align: left;
	cursor: pointer;
	color: inherit;
}

.rmr-hub-roofs__open:hover,
.rmr-hub-roofs__open:focus-visible {
	border-color: var(--e-global-color-primary);
	outline: none;
}

.rmr-hub-roofs__img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 6px;
}

.rmr-hub-roofs__label {
	font-size: var(--rb-text-s);
	font-weight: 700;
	color: var(--e-global-color-primary);
	line-height: 1.25;
}

.rmr-hub-roofs__more {
	font-size: var(--rb-text-xs);
	font-weight: 600;
	line-height: 1.3;
	color: var(--e-global-color-primary);
}

.rmr-hub-roofs__dialog {
	position: fixed;
	inset: 0;
	width: min(28rem, calc(100vw - 32px));
	height: fit-content;
	max-height: calc(100vh - 32px);
	margin: auto;
	padding: 20px 20px 24px;
	overflow: auto;
	border: 1.5px solid var(--e-global-color-28aa42f);
	border-radius: 12px;
	background: var(--e-global-color-6b70364);
	color: var(--e-global-color-primary);
}

.rmr-hub-roofs__dialog::backdrop {
	background: color-mix(in srgb, var(--e-global-color-primary) 45%, transparent);
}

.rmr-hub-roofs__dialog-close {
	position: absolute;
	top: 8px;
	right: 8px;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 0;
	background: transparent;
	font-size: var(--rb-text-xl);
	line-height: 1;
	color: var(--e-global-color-20ddf10);
	cursor: pointer;
}

.rmr-hub-roofs__dialog-close:hover,
.rmr-hub-roofs__dialog-close:focus-visible {
	color: var(--e-global-color-primary);
}

.rmr-hub-roofs__dialog-img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0 0 12px;
	border-radius: 8px;
}

.rmr-hub-roofs__dialog-title {
	margin: 0 0 8px;
	padding-right: 28px;
	font-size: var(--rb-text-l);
	font-weight: 700;
	line-height: 1.3;
}

.rmr-hub-roofs__dialog-detail {
	margin: 0;
	font-size: var(--rb-text-m);
	line-height: 1.55;
	color: var(--e-global-color-20ddf10);
}

.rmr-hub-rent-buy {
	max-width: 42rem;
}

.rmr-hub-rent-buy p {
	margin: 0;
	color: var(--e-global-color-20ddf10);
	font-size: var(--rb-text-m);
	line-height: 1.6;
}

.rmr-hub-faqs {
	margin-top: 8px;
}

@media (max-width: 900px) {
	.rmr-hub-box-feed.post-feed-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 780px) {
	.rmr-hub-market {
		grid-template-columns: 1fr;
	}

	.rmr-hub-listing {
		grid-template-columns: 1fr;
	}

	.rmr-hub-listing--addon {
		grid-template-columns: 1fr;
	}

	.rmr-hub-listing-addons {
		margin-left: 0;
		border-left-width: 3px;
	}

	.rmr-hub-listing__body {
		padding: 4px 18px 20px;
	}

	.rmr-hub-listing__media {
		min-height: 160px;
	}

}

@media (max-width: 560px) {
	.rmr-hub-box-feed.post-feed-grid {
		grid-template-columns: 1fr;
	}
}
