/* =========================================================
   MGC Single Listing Page — Premium Styling
   ========================================================= */

/* ── Page background — soft grey with elevated white cards ─ */
body.single-listings,
body.single-listings #main,
body.single-listings #content {
	background-color: #f0f0f0 !important;
}

/* ── Main listing section padding ─────────────────────── */
.gf-single-page-fixed {
	margin-top: 20px !important;
	padding-top: 24px !important;
	padding-bottom: 48px !important;
	background: transparent !important;
}

/* ── Left + right content columns — white cards ───────── */
.gf-single-page-fixed > .elementor-container > .elementor-col-66 > .elementor-widget-wrap,
.gf-single-page-fixed > .elementor-container > .elementor-col-66 > .elementor-column-wrap > .elementor-widget-wrap,
.gf-single-page-fixed > .elementor-container > .elementor-row > .elementor-col-66 > .elementor-column-wrap > .elementor-widget-wrap,
.gf-single-page-fixed > .elementor-container > .elementor-row > .elementor-col-66 > .elementor-widget-wrap {
	background: #ffffff;
	border-radius: 10px;
	box-shadow: 0 2px 20px rgba(36, 60, 84, 0.08);
	padding: 32px 32px 36px !important;
}

/* ── Right sidebar — top padding when plugin makes it fixed ── */
.single-listings [data-id="ad45d7b"] > .elementor-column-wrap > .elementor-widget-wrap[style*="position: fixed"],
.single-listings [data-id="ad45d7b"] > .elementor-column-wrap > .elementor-widget-wrap[style*="position:fixed"] {
	margin-top: 24px !important;
}

.gf-single-page-fixed > .elementor-container > .elementor-col-33 > .elementor-widget-wrap,
.gf-single-page-fixed > .elementor-container > .elementor-col-33 > .elementor-column-wrap > .elementor-widget-wrap,
.gf-single-page-fixed > .elementor-container > .elementor-row > .elementor-col-33 > .elementor-column-wrap > .elementor-widget-wrap,
.gf-single-page-fixed > .elementor-container > .elementor-row > .elementor-col-33 > .elementor-widget-wrap {
	background: #ffffff;
	border-radius: 10px;
	box-shadow: 0 2px 20px rgba(36, 60, 84, 0.08);
	padding: 24px 20px 28px !important;
}

/* ── Product hero — flowing-line header background ───────── */
.product-hero {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: 1fr auto;
	column-gap: 0;
	align-items: center;
	position: relative;
	isolation: isolate;
	overflow: hidden;
	min-height: 168px;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
	background-color: #ffffff;
	background-image: none;
	padding-bottom: 10px;
	margin-bottom: 0;
}

/* Decorative lines only — no photos, no text */
.product-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background-color: #ffffff;
	background-image: url('../images/flowing-lines.svg');
	background-position: top center;
	background-size: 100% auto;
	background-repeat: no-repeat;
	opacity: 0.55;
}

/* Strip any inherited/template hero backgrounds from children */
.product-hero > [data-id="e49611c"],
.product-hero > [data-id="5a0b2f5"],
.product-hero .elementor-section,
.product-hero .elementor-container,
.product-hero .elementor-column,
.product-hero .elementor-widget-wrap,
.product-hero .elementor-widget-container {
	background: transparent !important;
	background-image: none !important;
}

.product-hero > [data-id="e49611c"]::before,
.product-hero > [data-id="e49611c"]::after,
.product-hero > [data-id="5a0b2f5"]::after,
.product-hero .elementor-section::before,
.product-hero .elementor-section::after,
.product-hero .elementor-widget-wrap::before,
.product-hero .elementor-widget-wrap::after {
	content: none !important;
	display: none !important;
	background: none !important;
	background-image: none !important;
}

.product-hero > [data-id="e49611c"],
.product-hero > [data-id="5a0b2f5"],
.product-hero .mgc-mobile-pay-price-row {
	position: relative;
	z-index: 1;
}

.product-hero > [data-id="e49611c"] {
	grid-column: 1;
	grid-row: 1;
	padding-right: 24px !important;
	padding-bottom: 10px !important;
	margin-bottom: 0 !important;
	align-self: stretch;
	display: flex;
	align-items: center;
	border-top: 0 !important;
}

.product-hero > [data-id="5a0b2f5"] {
	grid-column: 2;
	grid-row: 1;
	padding-bottom: 10px !important;
	margin-bottom: 0 !important;
	align-self: stretch;
	display: flex;
	align-items: center;
}

/* Soft white glow behind pricing for legibility over lines */
.product-hero > [data-id="5a0b2f5"]::before,
.product-hero .mgc-mobile-pay-price-row::before {
	content: "" !important;
	display: block !important;
	position: absolute;
	inset: -6px -10px -6px -28px;
	background: radial-gradient(ellipse 88% 110% at 72% 50%, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.72) 52%, transparent 100%) !important;
	background-image: radial-gradient(ellipse 88% 110% at 72% 50%, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.72) 52%, transparent 100%) !important;
	pointer-events: none;
	z-index: -1;
}

.product-hero .mgc-mobile-pay-price-row::before {
	inset: -4px -8px -4px -8px;
	background: radial-gradient(ellipse 100% 120% at 50% 50%, rgba(255, 255, 255, 0.94) 0%, rgba(255, 255, 255, 0.65) 55%, transparent 100%) !important;
	background-image: radial-gradient(ellipse 100% 120% at 50% 50%, rgba(255, 255, 255, 0.94) 0%, rgba(255, 255, 255, 0.65) 55%, transparent 100%) !important;
}

/* Kill stale silk-wave backgrounds on the card shell */
.gf-single-page-fixed > .elementor-container > .elementor-col-66 > .elementor-widget-wrap::before,
.gf-single-page-fixed > .elementor-container > .elementor-col-66 > .elementor-widget-wrap::after,
.gf-single-page-fixed > .elementor-container > .elementor-col-33 > .elementor-widget-wrap::before,
.gf-single-page-fixed > .elementor-container > .elementor-col-33 > .elementor-widget-wrap::after {
	content: none !important;
	display: none !important;
	background: none !important;
	background-image: none !important;
}

@media (max-width: 767px) {
	.product-hero {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		grid-template-columns: unset;
		min-height: 0;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		padding-bottom: 8px;
		margin-bottom: 12px !important;
		overflow-x: clip;
		overflow-y: visible;
	}

	.product-hero > [data-id="e49611c"],
	.product-hero > .mgc-mobile-pay-price-row {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	.product-hero > [data-id="5a0b2f5"] {
		display: none !important;
		position: absolute !important;
		width: 0 !important;
		height: 0 !important;
		overflow: hidden !important;
		visibility: hidden !important;
		pointer-events: none !important;
	}

	.product-hero > [data-id="e49611c"] {
		padding-right: 0 !important;
		align-self: stretch;
	}

	.product-hero .mgc-mobile-pay-price-row {
		flex: 0 0 auto;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 8px;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0;
		box-sizing: border-box;
		padding: 4px 0 6px;
		margin: 0 0 12px !important;
		overflow: hidden;
		background: #ffffff;
	}

	.product-hero .mgc-mobile-pay-price-row .mgc-pay-promo--single {
		min-width: 0;
		flex: 1 1 auto;
		max-width: 48%;
	}

	.product-hero .mgc-mobile-pay-price-row .mgc-pay-promo--single .mgc-pay-promo__amount {
		font-size: clamp(24px, 7vw, 32px) !important;
	}

	.product-hero .mgc-mobile-pay-price-row .mgc-pay-promo--single .mgc-pay-promo__per {
		font-size: 14px !important;
	}

	.product-hero .mgc-mobile-pay-price-row .mgc-pay-promo--single .mgc-pay-promo__sub {
		font-size: 11px !important;
		white-space: nowrap !important;
	}

	.product-hero .mgc-mobile-pay-price-row > .elementor-widget {
		min-width: 0;
		flex: 0 1 auto;
		max-width: 52% !important;
		width: auto !important;
	}

	.product-hero .mgc-mobile-pay-price-row .mgc-price-promo {
		text-align: right;
		min-width: 0;
	}

	.product-hero .mgc-mobile-pay-price-row .mgc-price-promo__label {
		font-size: 11px !important;
	}

	.product-hero .mgc-mobile-pay-price-row .mgc-price-promo__value--highlight {
		font-size: clamp(20px, 5.5vw, 26px) !important;
	}

	.product-hero .mgc-mobile-pay-price-row .mgc-price-promo__value--strike {
		font-size: 14px !important;
	}

	.product-hero .mgc-mobile-pay-price-row .mgc-price-promo__savings {
		font-size: 11px !important;
		padding: 2px 8px !important;
		margin-top: 4px !important;
	}

	.gf-single-page-fixed > .elementor-container > .elementor-col-66 > .elementor-widget-wrap,
	.gf-single-page-fixed > .elementor-container > .elementor-col-66 > .elementor-column-wrap > .elementor-widget-wrap {
		overflow-x: clip;
		max-width: 100%;
		min-width: 0;
	}

	body.single-listings.elementor-1999 .elementor-element.elementor-element-1abe6da > .elementor-element-populated {
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	body.single-listings .product-hero,
	body.single-listings .product-hero > [data-id="e49611c"],
	body.single-listings .product-hero .mgc-mobile-pay-price-row,
	body.single-listings [data-id="e49611c"] > .elementor-container,
	body.single-listings [data-id="e49611c"] .elementor-column,
	body.single-listings [data-id="e49611c"] .elementor-widget-wrap,
	body.single-listings .stm-single-title-wrap,
	body.single-listings .stm-single-title-wrap .title {
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box;
	}
}

/* ── Remove gray divider line above title ───────────────── */

/* ── Title column — full width inside inner section ────── */
.single-listings [data-id="5344489"] {
	width: 100% !important;
	max-width: 100% !important;
	flex: 0 0 100% !important;
	min-width: 0 !important;
}
.single-listings [data-id="3a3581e"] {
	display: none !important;
	width: 0 !important;
	max-width: 0 !important;
	min-width: 0 !important;
	flex: 0 0 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	overflow: hidden !important;
	visibility: hidden !important;
}

/* Beat Elementor post-1999 mobile 70% / 30% title columns */
@media (max-width: 767px) {
	body.single-listings.elementor-1999 .elementor-element.elementor-element-5344489,
	body.single-listings.elementor-1999 .elementor-element.elementor-element-5344489.elementor-column {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
		min-width: 0 !important;
	}

	body.single-listings.elementor-1999 .elementor-element.elementor-element-5344489 > .elementor-element-populated {
		padding-right: 0 !important;
		padding-left: 0 !important;
	}

	body.single-listings.elementor-1999 .elementor-element.elementor-element-3a3581e,
	body.single-listings.elementor-1999 .elementor-element.elementor-element-3a3581e.elementor-column {
		display: none !important;
		width: 0 !important;
		max-width: 0 !important;
		min-width: 0 !important;
		flex: 0 0 0 !important;
		padding: 0 !important;
		margin: 0 !important;
		overflow: hidden !important;
		visibility: hidden !important;
	}

	body.single-listings.elementor-1999 .elementor-element.elementor-element-e49611c > .elementor-container {
		flex-wrap: wrap !important;
	}

	body.single-listings.elementor-1999 .elementor-element.elementor-element-b464aa7 .title,
	body.single-listings.elementor-1999 .elementor-element.elementor-element-b464aa7 h1.title {
		font-size: clamp(22px, 6.2vw, 30px) !important;
		line-height: 1.12 !important;
		white-space: normal !important;
		overflow: visible !important;
		text-overflow: unset !important;
	}

	body.single-listings .product-hero .ps-listing-tagline {
		display: none !important;
	}
}

/* Force inner section container to flush-left with no auto-centering */
.single-listings [data-id="e49611c"] > .elementor-container {
	max-width: 100% !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* ── Title ─────────────────────────────────────────────── */
.single-listings .elementor-widget-motors-single-listing-classified-title h1 {
	font-size: clamp(22px, 2.6vw, 34px) !important;
	font-weight: 700 !important;
	color: var(--ps-brand-navy, #243C54) !important;
	line-height: 1.2 !important;
	margin: 0 0 4px !important;
	font-family: 'Space Grotesk', system-ui, -apple-system, sans-serif !important;
	text-align: left !important;
}

.single-listings [data-id="b464aa7"] {
	text-align: left !important;
}

/* ── Title + Price inline row ──────────────────────────── */
/* Grid the left content widget-wrap; hero row lives in .product-hero */
.single-listings [data-id="1abe6da"] > .elementor-column-wrap > .elementor-widget-wrap,
.single-listings [data-id="1abe6da"] > .elementor-widget-wrap {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr);
	column-gap: 0;
	align-items: start;
}

/* Title section: left cell
   NOTE: the red divider is NOT drawn here. The two row-1 cells render at
   different heights, so a per-cell border-bottom splits into a broken/stepped
   line. Instead the divider is a single border-top on the full-width element
   below (eee64c6), giving one continuous line snug under the price block. */

/* Single continuous red divider under the price row (top of the gallery) */
.single-listings [data-id="eee64c6"] {
	border-top: 3px solid var(--cl-red) !important;
	margin-top: 0 !important;
	padding-top: 20px !important;
}

/* Tighten the top of the card on phones: Elementor's template CSS adds
   pb8+mb12 under the title cell and pb16+mb24 under the price cell on
   mobile (its selectors out-rank the generic rules above, hence the extra
   body-prefixed specificity here). Pull those in so the title, price,
   divider, and gallery sit close together and more fits on screen. */
@media (max-width: 767px) {
	body.single-listings .elementor-element.elementor-element-e49611c {
		padding-bottom: 2px !important;
		margin-bottom: 0 !important;
	}
	body.single-listings .elementor-element.elementor-element-5a0b2f5 {
		padding-bottom: 8px !important;
		margin-bottom: 0 !important;
	}
	body.single-listings .elementor-element.elementor-element-eee64c6 {
		padding-top: 12px !important;
	}
}

/* All other widgets span full width */
.single-listings [data-id="1abe6da"] > .elementor-column-wrap > .elementor-widget-wrap > *:not(.product-hero),
.single-listings [data-id="1abe6da"] > .elementor-widget-wrap > *:not(.product-hero) {
	grid-column: 1 / -1;
}

/* ── Price block ───────────────────────────────────────── */
.mgc-price-promo {
	border-top: 0 !important;
	padding-top: 0 !important;
	margin-top: 0 !important;
	text-align: right;
}

.mgc-price-promo__label {
	font-size: 13px;
	font-weight: 600;
	color: #888;
	margin-right: 6px;
}

.mgc-price-promo__value--strike {
	font-size: 18px;
	color: #aaa;
	text-decoration: line-through;
}

.mgc-price-promo__value--highlight {
	font-size: 34px !important;
	font-weight: 800 !important;
	color: #0d0d0d !important;
	font-family: 'Montserrat', sans-serif !important;
}

.mgc-price-promo__savings {
	display: inline-block;
	margin-top: 6px;
	background: var(--cl-red);
	color: #fff;
	font-weight: 700;
	font-size: 14px;
	padding: 3px 10px;
	border-radius: 20px;
}

/* ── Specs / listing data ───────────────────────────────── */
.stm-single-car-listing-data {
	background: #f8f8fb;
	border-radius: 8px;
	border: 1px solid #e8e8ee;
	padding: 6px 10px !important;
	margin-top: 16px;
	overflow: hidden;
}

.stm-single-car-listing-data .data-list-wrap {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
}

.stm-single-car-listing-data .data-list-wrap.cols-3 {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 14px;
}

@media (min-width: 640px) {
	.stm-single-car-listing-data .data-list-wrap.cols-3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.stm-single-car-listing-data .data-list-item {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 7px 0 !important;
	border-bottom: 1px solid #ecedf1 !important;
	min-width: 0;
}

.stm-single-car-listing-data .data-list-item:last-child {
	border-bottom: 0 !important;
}

.stm-single-car-listing-data .item-label {
	flex: 0 1 auto;
	min-width: 0;
	font-size: 10px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
	color: #999 !important;
	display: flex !important;
	align-items: center !important;
	gap: 4px !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	max-width: 55% !important;
}

.stm-single-car-listing-data .item-label i {
	color: var(--ps-brand-accent, var(--cl-red));
	font-size: 11px;
	flex-shrink: 0;
}

.stm-single-car-listing-data .heading-font {
	flex: 1 1 auto;
	min-width: 0;
	font-size: 13px !important;
	font-weight: 700 !important;
	color: #111 !important;
	line-height: 1.25 !important;
	text-align: right !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}

/* Allow wrap only for long values (finish, dimensions) */
.stm-single-car-listing-data .data-list-item:nth-child(4) .heading-font,
.stm-single-car-listing-data .data-list-item:nth-child(8) .heading-font {
	white-space: normal !important;
	font-size: 12px !important;
	line-height: 1.2 !important;
}

/* ── Section headings (FEATURES, DESCRIPTION) ─────────── */
.single-listings .elementor-widget-heading .elementor-heading-title {
	font-size: 16px !important;
	font-weight: 800 !important;
	text-transform: uppercase !important;
	letter-spacing: 1.8px !important;
	color: #111 !important;
	padding-left: 14px !important;
	border-left: 4px solid var(--cl-red) !important;
	margin: 8px 0 12px !important;
	display: block;
}

/* ── Features list ──────────────────────────────────────── */
.stm-single-listing-car-features.grouped_features {
	margin-top: 12px;
}

.stm-single-listing-car-features .lists-horizontal {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 14px;
	row-gap: 10px;
	width: 100%;
}

.stm-single-listing-car-features .lists-horizontal > div {
	width: auto !important;
	min-width: 0;
	flex: unset !important;
}

.stm-single-listing-car-features h4 {
	font-size: 10px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
	color: #999 !important;
	margin: 0 0 4px !important;
	line-height: 1.2 !important;
}

.stm-single-listing-car-features .lists-horizontal ul {
	display: flex !important;
	flex-direction: column !important;
	grid-template-columns: unset !important;
	column-gap: 0;
	list-style: none;
	padding: 0 !important;
	margin: 0 !important;
}

.stm-single-listing-car-features .lists-horizontal ul li {
	font-size: 13px;
	line-height: 1.25;
	color: #333;
	padding: 4px 0;
	display: flex;
	align-items: flex-start;
	gap: 6px;
	border-bottom: 1px solid #f0f0f0;
}

.stm-single-listing-car-features .lists-horizontal ul li:last-child {
	border-bottom: 0;
}

.stm-single-listing-car-features .lists-horizontal ul li i {
	color: var(--ps-brand-accent, var(--cl-red));
	font-size: 11px;
	flex-shrink: 0;
	margin-top: 2px;
}

.stm-single-listing-car-features .lists-horizontal ul li span {
	min-width: 0;
}

/* Shorter feature groups — 2 columns within the list */
@media (min-width: 640px) {
	.stm-single-listing-car-features .grouped_checkbox-4:nth-child(1) ul,
	.stm-single-listing-car-features .grouped_checkbox-4:nth-child(4) ul {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 10px;
	}

	.stm-single-listing-car-features .grouped_checkbox-4:nth-child(1) ul li:nth-child(odd):last-child,
	.stm-single-listing-car-features .grouped_checkbox-4:nth-child(4) ul li:nth-child(odd):last-child {
		grid-column: 1 / -1;
	}
}

/* ── Hide dealer widget clutter from sidebar ────────────── */
.single-listings .elementor-widget-motors-single-listing-user-data-simple,
.single-listings .elementor-widget-motors-single-listing-dealer-phone,
.single-listings .elementor-widget-motors-single-listing-dealer-email {
	display: none !important;
}

/* ── CTA container heading ──────────────────────────────── */
.mgc-sidebar-cta-heading {
	font-size: 16px;
	font-weight: 800;
	color: #111;
	margin: 0 0 14px;
	font-family: 'Montserrat', sans-serif;
	letter-spacing: 0.3px;
}

/* ── CTA container card ─────────────────────────────────── */
.mgc-sidebar-cta-wrap {
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 8px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, .09);
	padding: 16px;
	margin-bottom: 4px;
}

/* ── CTA button block ───────────────────────────────────── */
.mgc-sidebar-cta {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.mgc-cta-btn {
	display: block;
	width: 100%;
	text-align: center;
	padding: 15px 12px;
	font-size: 15px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 1px;
	white-space: nowrap;
	border-radius: 5px;
	text-decoration: none !important;
	transition: background .2s, border-color .2s, color .2s;
	font-family: 'Montserrat', sans-serif;
	box-sizing: border-box;
}

.mgc-cta-btn--primary {
	background: var(--cl-red);
	color: #fff !important;
	border: 2px solid var(--cl-red);
}

.mgc-cta-btn--primary:hover {
	background: var(--cl-red, #D40202);
	border-color: var(--cl-red, #D40202);
	color: #fff !important;
}

.mgc-cta-btn--secondary {
	background: #111;
	color: #fff !important;
	border: 2px solid #111;
}

.mgc-cta-btn--secondary:hover {
	background: #333;
	border-color: #333;
	color: #fff !important;
}

.mgc-cta-btn--outline {
	background: transparent;
	color: #111 !important;
	border: 2px solid #d0d0d0;
}

.mgc-cta-btn--outline:hover {
	background: #111;
	border-color: #111;
	color: #fff !important;
}

/* ── Phone number link (desktop) / Call Now button (mobile) ── */
.mgc-phone-link {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-size: 18px;
	font-weight: 800;
	color: #111 !important;
	text-decoration: none !important;
	font-family: 'Montserrat', sans-serif;
	letter-spacing: 0.5px;
	padding: 6px 0;
}

.mgc-phone-link::before {
	content: "\f095";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 14px;
	color: var(--cl-red);
}

.mgc-phone-link:hover {
	color: var(--cl-red) !important;
}

.mgc-phone-link__mobile { display: none; }

@media (max-width: 767px) {
	.mgc-phone-link__desktop { display: none; }
	.mgc-phone-link__mobile { display: inline; }
	.mgc-phone-link {
		display: block;
		width: 100%;
		text-align: center;
		padding: 15px 12px;
		font-size: 15px;
		font-weight: 800;
		text-transform: uppercase;
		letter-spacing: 1px;
		border-radius: 5px;
		background: transparent;
		color: var(--cl-red) !important;
		border: 2px solid var(--cl-red);
		box-sizing: border-box;
	}
	.mgc-phone-link::before {
		display: none;
	}
	.mgc-phone-link:hover {
		background: var(--cl-red);
		color: #fff !important;
	}
}

/* ── Trust badge ────────────────────────────────────────── */
.mgc-trust-badge {
	margin-top: 6px;
	padding: 14px 16px 12px;
	background: #111;
	border: 1px solid #111;
	border-radius: 6px;
	text-align: center;
}

.mgc-trust-badge__stars {
	color: var(--cl-red);
	font-size: 20px;
	letter-spacing: 3px;
	line-height: 1;
	margin-bottom: 6px;
}

.mgc-trust-badge__text {
	font-size: 11px;
	font-weight: 800;
	color: #fff;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-family: 'Montserrat', sans-serif;
}

/* ── Gallery ────────────────────────────────────────────── */
.single-listings .stm-gallery-slider {
	border-radius: 8px;
	overflow: hidden;
	margin-top: 20px;
}

.single-listings [data-id="eee64c6"],
.single-listings [data-id="56c4070"] {
	margin-bottom: 4px !important;
}

.single-listings .motors-elementor-single-listing-gallery {
	margin-bottom: 0 !important;
}

/* Main gallery: show full hot tub — Motors template crops with cover + 220px cap */
.single-listings .motors-elementor-single-listing-gallery .motors-elementor-big-gallery {
	background: #f5f7f9;
	border-radius: 8px;
	overflow: hidden;
	height: auto !important;
	max-height: none !important;
}

.single-listings .motors-elementor-single-listing-gallery .motors-elementor-big-gallery.swiper-container,
.single-listings .motors-elementor-single-listing-gallery .motors-elementor-big-gallery .swiper-wrapper,
.single-listings .motors-elementor-single-listing-gallery .motors-elementor-big-gallery .swiper-slide,
.single-listings .motors-elementor-single-listing-gallery .motors-elementor-big-gallery .stm-single-image {
	height: auto !important;
	max-height: none !important;
}

.single-listings .motors-elementor-single-listing-gallery .motors-elementor-big-gallery .stm-single-image a {
	display: block;
	line-height: 0;
	height: auto !important;
}

.single-listings .motors-elementor-single-listing-gallery .motors-elementor-big-gallery .stm-single-image a img,
.single-listings .motors-elementor-single-listing-gallery .motors-elementor-big-gallery .stm-single-image img.img-responsive {
	width: 100% !important;
	height: auto !important;
	max-height: none !important;
	max-width: 100% !important;
	object-fit: contain !important;
	display: block;
	background: #f5f7f9;
}

.single-listings .motors-elementor-single-listing-gallery .motors-elementor-big-gallery .swiper-slide {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
	height: auto !important;
}

@media (max-width: 767px) {
	body.single-listings .motors-elementor-single-listing-gallery .motors-elementor-big-gallery .stm-single-image a img,
	body.single-listings .motors-elementor-single-listing-gallery .motors-elementor-big-gallery .stm-single-image img.img-responsive {
		height: auto !important;
		max-height: none !important;
		object-fit: contain !important;
	}
}

@media (max-width: 460px) {
	body.single-listings .motors-elementor-single-listing-gallery .motors-elementor-big-gallery .stm-single-image a img,
	body.single-listings .motors-elementor-single-listing-gallery .motors-elementor-big-gallery .stm-single-image img.img-responsive {
		height: auto !important;
		max-height: none !important;
		object-fit: contain !important;
	}
}

/* Thumbnails stay cropped — small previews only */
.single-listings .motors-elementor-single-listing-gallery .motors-elementor-thumbs-gallery .swiper-slide img {
	object-fit: cover;
}

/* ── Second section: contact form ───────────────────────── */
.single-listings .elementor-element-e49611c {
	background: #ffffff !important;
	border-top: 1px solid #eaeaea;
}

.single-listings .stm-single-car-listing-form-wrap,
.single-listings .stm-vl-single-form-wrap {
	background: #fff;
	border-radius: 10px;
	overflow: hidden;
}

/* Dealer image + info column in contact section */
.single-listings .stm-listing-car-dealer-info-simple {
	background: #111;
	color: #fff;
	padding: 32px 24px;
	border-radius: 8px 0 0 8px;
}

.single-listings .stm-listing-car-dealer-info-simple .name a {
	color: #fff;
}

/* Form styling */
.single-listings .stm-dealer-contact-form input,
.single-listings .stm-dealer-contact-form textarea {
	border: 1.5px solid #e0e0e0 !important;
	border-radius: 5px !important;
	padding: 12px 14px !important;
	font-size: 14px !important;
	transition: border-color .2s;
}

.single-listings .stm-dealer-contact-form input:focus,
.single-listings .stm-dealer-contact-form textarea:focus {
	border-color: var(--cl-red) !important;
	outline: none !important;
}

.single-listings .stm-dealer-contact-form .stm-btn,
.single-listings .stm-dealer-contact-form [type="submit"] {
	background: var(--cl-red) !important;
	color: #fff !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	border: 0 !important;
	padding: 14px 32px !important;
	border-radius: 5px !important;
	cursor: pointer !important;
}

/* ── Similar listings section ───────────────────────────── */
.single-listings .stm-similar-cars h3,
.single-listings .stm-similar-cars .section-title {
	font-size: 14px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	color: #111;
	padding-left: 14px;
	border-left: 4px solid var(--cl-red);
}

/* ── Rename "Seller's Notes" → "Description" ───────────── */
.single-listings [data-id="f0dab77"] .elementor-heading-title {
	font-size: 0 !important;
	letter-spacing: 0 !important;
}
.single-listings [data-id="f0dab77"] .elementor-heading-title::before {
	content: "DESCRIPTION";
	font-size: 16px;
	font-weight: 800;
	letter-spacing: 1.8px;
	color: #111;
	padding-left: 14px;
	border-left: 4px solid var(--cl-red);
}

/* ── Bottom section: hide dealer column, full-width form ── */
.single-listings [data-id="4d956ab"] {
	display: none !important;
}

.single-listings [data-id="8c18c09"] {
	width: 100% !important;
	max-width: 100% !important;
	flex: 0 0 100% !important;
}

/* ── Tighten gap above footer on product pages ──────────── */
.single-listings .elementor-1999 {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

.single-listings [data-id="ca0b156"] {
	padding-bottom: 24px !important;
}

.single-listings [data-id="d4396da"] {
	padding-top: 24px !important;
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}

.single-listings [data-id="d4396da"] > .elementor-container {
	padding-bottom: 0 !important;
}

.single-listings .stm-elementor-contact-form-seven {
	margin-bottom: 0 !important;
}

.single-listings #colophon,
.single-listings .footer-width-fixer {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

/* ── Form heading ───────────────────────────────────────── */
.mgc-form-title {
	font-size: 20px !important;
	font-weight: 800 !important;
	color: #111 !important;
	margin-bottom: 20px !important;
	line-height: 1.3 !important;
	font-family: 'Montserrat', sans-serif !important;
}

.mgc-form-title__sub {
	display: block;
	font-size: 15px;
	font-weight: 500;
	color: #555;
	margin-top: 4px;
}

/* ── Responsive ─────────────────────────────────────────── */
@media (max-width: 767px) {
	.gf-single-page-fixed {
		padding-top: 20px !important;
		padding-bottom: 32px !important;
	}

	.gf-single-page-fixed > .elementor-container > .elementor-col-66 > .elementor-widget-wrap,
	.gf-single-page-fixed > .elementor-container > .elementor-col-66 > .elementor-column-wrap > .elementor-widget-wrap,
	.gf-single-page-fixed > .elementor-container > .elementor-col-33 > .elementor-widget-wrap,
	.gf-single-page-fixed > .elementor-container > .elementor-col-33 > .elementor-column-wrap > .elementor-widget-wrap,
	.gf-single-page-fixed > .elementor-container > .elementor-row > .elementor-col-66 > .elementor-column-wrap > .elementor-widget-wrap,
	.gf-single-page-fixed > .elementor-container > .elementor-row > .elementor-col-66 > .elementor-widget-wrap,
	.gf-single-page-fixed > .elementor-container > .elementor-row > .elementor-col-33 > .elementor-column-wrap > .elementor-widget-wrap,
	.gf-single-page-fixed > .elementor-container > .elementor-row > .elementor-col-33 > .elementor-widget-wrap {
		padding: 20px 16px !important;
	}

	.mgc-price-promo__value--highlight {
		font-size: 26px !important;
	}

	.mgc-cta-btn {
		padding: 14px 16px;
	}
}
