@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: normal;
  font-display: swap;
  src: url(../fonts/open-sans-400.ttf) format('truetype');
}

@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: normal;
  font-display: swap;
  src: url(../fonts/open-sans-600.ttf) format('truetype');
}

@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: normal;
  font-display: swap;
  src: url(../fonts/open-sans-700.ttf) format('truetype');
}

@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 800;
  font-stretch: normal;
  font-display: swap;
  src: url(../fonts/open-sans-800.ttf) format('truetype');
}
.trs-vf-finder {
	--trs-vf-accent: #d1232a;
	--trs-vf-hover: #ff0000;
	--trs-vf-surface: #ffffff;
	--trs-vf-text: #2a3547;
	--trs-vf-field-bg: #ffffff;
	--trs-vf-field-border: #cbd3de;
	--trs-vf-radius: 6px;
	--trs-vf-selection-bg: #f7f9fc;
	--trs-vf-icon-color: #d1232a;
	--trs-vf-icon-bg: #fff0f1;
	--trs-vf-font-family: inherit;
	--trs-vf-title-size: 18px;
	--trs-vf-label-size: 12px;
	--trs-vf-field-size: 14px;
	--trs-vf-button-size: 14px;
	--trs-vf-selected-size: 15px;
	--trs-vf-selected-label-size: 10px;
	--trs-vf-selected-engine-size: 11px;
	--trs-vf-field-height: 44px;
	--trs-vf-icon-size: 42px;
	--trs-vf-blue: #445e86;
	--trs-vf-green: #157347;
	--trs-vf-soft-green: #e9f6ef;
	--trs-vf-soft-red: #fff0f1;
	--trs-vf-soft-blue: #f1f5fa;
	box-sizing: border-box;
	container-name: trs-fitment;
	container-type: inline-size;
	position: relative;
	min-width: 0;
	width: 100%;
	max-width: 100%;
	padding: 18px;
	border: 1px solid var(--trs-vf-field-border);
	border-radius: var(--trs-vf-radius);
	background: var(--trs-vf-surface);
	color: var(--trs-vf-text);
	font-family: var(--trs-vf-font-family);
}

.trs-vf-finder.trs-vf-dropdown-open {
	z-index: 1000000;
}

.trs-vf-finder.trs-vf-transparent {
	padding: 0;
	border: 0;
	background: transparent;
}

.trs-vf-finder *,
.trs-vf-finder *::before,
.trs-vf-finder *::after {
	box-sizing: border-box;
}

.trs-vf-finder [hidden] {
	display: none !important;
}

.trs-vf-responsive-toggle {
	display: none;
}

.trs-vf-responsive-toggle-expanded {
	display: none;
}

.trs-vf-finder-title {
	margin: 0;
	color: var(--trs-vf-text);
	font-size: var(--trs-vf-title-size);
	font-weight: 800;
	line-height: 1.25;
}

.trs-vf-heading-row {
	display: flex;
	gap: 16px;
	align-items: center;
	justify-content: space-between;
	margin: 0 0 10px;
}

.trs-vf-fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	align-items: end;
}

.trs-vf-density-comfortable .trs-vf-fields {
	gap: 14px;
}

.trs-vf-has-make .trs-vf-fields {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.trs-vf-field {
	display: block;
	min-width: 0;
	margin: 0;
	padding: 0;
}

.trs-vf-field > span,
.trs-vf-field > label {
	display: block;
	margin: 0 0 5px;
	color: #172238;
	font-size: var(--trs-vf-label-size);
	font-weight: 800;
	line-height: 1.2;
}

.trs-vf-field select {
	display: block;
	width: 100%;
	height: var(--trs-vf-field-height);
	margin: 0;
	padding: 0 34px 0 12px;
	border: 1px solid var(--trs-vf-field-border);
	border-radius: var(--trs-vf-radius);
	background-color: var(--trs-vf-field-bg);
	color: var(--trs-vf-text);
	font: inherit;
	font-size: var(--trs-vf-field-size);
	line-height: normal;
}

.trs-vf-density-comfortable .trs-vf-field select {
	padding-left: 15px;
}

.trs-vf-field select:focus {
	border-color: var(--trs-vf-blue);
	box-shadow: 0 0 0 3px rgba(68, 94, 134, 0.16);
	outline: 0;
}

.trs-vf-field select:disabled {
	border-color: #b8c3d1;
	background-color: #f6f8fb;
	color: var(--trs-vf-text);
	cursor: not-allowed;
	opacity: 1;
}

.trs-vf-native-select--enhanced {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 0 !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
}

.trs-vf-custom-select {
	position: relative;
	width: 100%;
	min-width: 0;
}

.trs-vf-custom-select.trs-vf-custom-select--open {
	z-index: 1000001;
}

.trs-vf-custom-select__trigger {
	display: flex;
	width: 100%;
	height: var(--trs-vf-field-height);
	margin: 0;
	padding: 0 12px;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	border: 1px solid var(--trs-vf-field-border);
	border-radius: var(--trs-vf-radius);
	background: var(--trs-vf-field-bg);
	color: var(--trs-vf-text);
	cursor: pointer;
	font: inherit;
	font-size: var(--trs-vf-field-size);
	line-height: 1;
	text-align: left;
	transition: border-color 150ms ease, box-shadow 150ms ease, background-color 150ms ease;
}

.trs-vf-custom-select__value {
	display: block;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.trs-vf-custom-select__chevron {
	display: block;
	flex: 0 0 8px;
	width: 8px;
	height: 8px;
	margin-top: -4px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	opacity: 0.72;
	transform: rotate(45deg);
	transition: margin 150ms ease, transform 150ms ease;
}

.trs-vf-custom-select--open .trs-vf-custom-select__trigger {
	border-color: var(--trs-vf-accent);
	box-shadow: none;
}

.trs-vf-custom-select--open .trs-vf-custom-select__chevron {
	margin-top: 4px;
	transform: rotate(225deg);
}

.trs-vf-custom-select__trigger:focus-visible {
	border-color: var(--trs-vf-blue);
	box-shadow: 0 0 0 3px rgba(68, 94, 134, 0.2);
	outline: 0;
}

.trs-vf-custom-select__trigger:disabled {
	border-color: #b8c3d1;
	background: #f6f8fb;
	color: var(--trs-vf-text);
	cursor: not-allowed;
}

.trs-vf-custom-select__panel {
	position: absolute;
	top: calc(100% + 7px);
	left: 0;
	min-width: 100%;
	width: max-content;
	max-width: min(420px, 90vw);
	padding: 7px;
	border: 1px solid color-mix(in srgb, var(--trs-vf-field-border) 82%, #8793a3);
	border-radius: max(8px, var(--trs-vf-radius));
	background: #ffffff;
	box-shadow: 0 16px 38px rgba(25, 35, 50, 0.2), 0 3px 10px rgba(25, 35, 50, 0.1);
	color: var(--trs-vf-text);
}

.trs-vf-custom-select__panel--portal,
.trs-vf-custom-select__panel--portal *,
.trs-vf-custom-select__panel--portal *::before,
.trs-vf-custom-select__panel--portal *::after {
	box-sizing: border-box;
}

.trs-vf-custom-select__panel--portal {
	margin: 0;
	min-width: 0 !important;
	width: var(--trs-vf-menu-width, 235px) !important;
	max-width: calc(100vw - 16px) !important;
}

.trs-vf-custom-select__panel--portal .trs-vf-custom-select__options {
	min-width: 0;
}

.trs-vf-custom-select__panel--portal .trs-vf-custom-select__option {
	overflow-wrap: anywhere;
	white-space: normal;
}

.trs-vf-custom-select__panel--portal[hidden],
.trs-vf-custom-select__panel--portal [hidden] {
	display: none !important;
}

.trs-vf-custom-select__search {
	display: block;
	width: 100%;
	height: 38px;
	margin: 0 0 6px;
	padding: 0 10px;
	border: 1px solid #d6dce4;
	border-radius: 6px;
	background: #f7f8fa;
	color: #283545;
	font: inherit;
	font-size: 13px;
}

.trs-vf-custom-select__search:focus {
	border-color: var(--trs-vf-blue);
	box-shadow: 0 0 0 2px rgba(68, 94, 134, 0.14);
	outline: 0;
}

.trs-vf-custom-select__search::placeholder,
.trs-vf-vin-input::placeholder {
	color: #526071;
	opacity: 1;
}

.trs-vf-custom-select__options {
	max-height: min(340px, 52vh);
	min-width: 235px;
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-color: #9ca5b1 #eef1f4;
	scrollbar-width: thin;
}

.trs-vf-custom-select__options::-webkit-scrollbar {
	width: 9px;
}

.trs-vf-custom-select__options::-webkit-scrollbar-track {
	border-radius: 8px;
	background: #eef1f4;
}

.trs-vf-custom-select__options::-webkit-scrollbar-thumb {
	border: 2px solid #eef1f4;
	border-radius: 8px;
	background: #9ca5b1;
}

.trs-vf-custom-select__option {
	display: flex;
	width: 100%;
	min-height: 40px;
	margin: 0;
	padding: 8px 10px;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	border: 0;
	border-radius: 5px;
	background: transparent;
	color: #2a3547;
	cursor: pointer;
	font: inherit;
	font-size: var(--trs-vf-field-size);
	line-height: 1.25;
	text-align: left;
	white-space: nowrap;
}

.trs-vf-custom-select__option::after {
	display: inline-flex;
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	color: currentColor;
	content: "";
	font-size: 12px;
	font-weight: 900;
}

.trs-vf-custom-select__option:hover,
.trs-vf-custom-select__option:focus-visible {
	background: var(--trs-vf-soft-red);
	color: var(--trs-vf-accent);
	outline: 0;
}

.trs-vf-custom-select__option[aria-selected="true"] {
	background: var(--trs-vf-accent);
	color: #ffffff;
	font-weight: 750;
}

.trs-vf-custom-select__option[aria-selected="true"]::after {
	background: rgba(255, 255, 255, 0.18);
	content: "✓";
}

.trs-vf-custom-select__empty {
	margin: 0;
	padding: 12px 10px;
	color: #6b7480;
	font-size: 13px;
	text-align: center;
}

.trs-vf-submit,
.trs-vf-shop,
.trs-vf-edit,
.trs-vf-clear {
	appearance: none;
	border-radius: var(--trs-vf-radius);
	cursor: pointer;
	font: inherit;
	font-weight: 750;
	line-height: 1;
	text-decoration: none;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.trs-vf-submit {
	grid-column: 1 / -1;
	min-width: 124px;
	width: 100%;
	height: var(--trs-vf-field-height);
	padding: 0 18px;
	border: 1px solid var(--trs-vf-accent);
	background: var(--trs-vf-accent);
	color: #ffffff;
	font-size: var(--trs-vf-button-size);
	white-space: nowrap;
}

.trs-vf-submit:hover,
.trs-vf-submit:focus {
	border-color: var(--trs-vf-hover);
	background: var(--trs-vf-hover);
	color: #ffffff;
	outline: 0;
}

.trs-vf-submit:focus-visible,
.trs-vf-shop:focus-visible,
.trs-vf-edit:focus-visible,
.trs-vf-clear:focus-visible {
	box-shadow: 0 0 0 3px rgba(68, 94, 134, 0.22);
	outline: 0;
}

.trs-vf-submit:disabled {
	border-color: #b8bdc6;
	background: #b8bdc6;
	color: #ffffff;
	cursor: not-allowed;
}

.trs-vf-selection {
	display: flex;
	width: 100%;
	max-width: none;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: 68px;
	padding: 10px 12px;
	border: 1px solid var(--trs-vf-field-border);
	border-left: 4px solid var(--trs-vf-accent);
	border-radius: var(--trs-vf-radius);
	background: var(--trs-vf-selection-bg);
	background: linear-gradient(
		100deg,
		var(--trs-vf-selection-bg) 0%,
		color-mix(in srgb, var(--trs-vf-blue) 7%, var(--trs-vf-selection-bg)) 100%
	);
	box-shadow: 0 2px 8px rgba(42, 53, 71, 0.08);
}

.trs-vf-selection-main {
	display: flex;
	flex: 1 1 auto;
	min-width: 0;
	gap: 11px;
	align-items: center;
}

.trs-vf-selection-icon {
	display: inline-flex;
	flex: 0 0 var(--trs-vf-icon-size);
	width: var(--trs-vf-icon-size);
	height: var(--trs-vf-icon-size);
	align-items: center;
	justify-content: center;
	border: 1px solid color-mix(in srgb, var(--trs-vf-accent) 28%, transparent);
	border-radius: 50%;
	background: var(--trs-vf-icon-bg);
	color: var(--trs-vf-icon-color);
}

.trs-vf-selection-icon svg {
	display: block;
	width: 57%;
	height: 57%;
	fill: currentColor;
}

.trs-vf-selection-icon img {
	display: block;
	width: 62%;
	height: 62%;
	object-fit: contain;
}

.trs-vf-selection-copy {
	display: block;
	flex: 1 1 auto;
	min-width: 0;
}

.trs-vf-selection-kicker {
	display: block;
	margin: 0 0 3px;
	color: var(--trs-vf-blue);
	font-size: var(--trs-vf-selected-label-size);
	font-weight: 800;
	letter-spacing: 0.06em;
	line-height: 1.2;
	text-transform: uppercase;
}

.trs-vf-selection-details {
	display: flex;
	min-width: 0;
	gap: 10px;
	align-items: center;
}

.trs-vf-selection-vehicle {
	overflow: hidden;
	color: var(--trs-vf-text);
	font-size: var(--trs-vf-selected-size);
	font-weight: 800;
	line-height: 1.3;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.trs-vf-selection-engine {
	display: inline-flex;
	flex: 0 0 auto;
	gap: 5px;
	align-items: center;
	padding: 3px 7px;
	border: 1px solid color-mix(in srgb, var(--trs-vf-blue) 20%, transparent);
	border-radius: 999px;
	background: color-mix(in srgb, var(--trs-vf-blue) 7%, var(--trs-vf-surface));
	color: var(--trs-vf-text);
	font-size: var(--trs-vf-selected-engine-size);
	font-weight: 700;
	line-height: 1.3;
	white-space: nowrap;
}

.trs-vf-selection-engine > span {
	color: var(--trs-vf-blue);
	font-size: max(8px, calc(var(--trs-vf-selected-engine-size) - 2px));
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.trs-vf-selection-actions {
	display: flex;
	flex: 0 0 auto;
	gap: 6px;
	align-items: center;
}

.trs-vf-selection-status {
	display: inline-flex;
	gap: 6px;
	align-items: center;
	margin-right: 5px;
	padding: 5px 8px;
	border-radius: 999px;
	background: var(--trs-vf-soft-green);
	color: var(--trs-vf-green);
	font-size: 10px;
	font-weight: 750;
	white-space: nowrap;
}

.trs-vf-selection-status i {
	display: block;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--trs-vf-green);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--trs-vf-green) 16%, transparent);
}

.trs-vf-shop,
.trs-vf-edit,
.trs-vf-clear {
	display: inline-flex;
	min-height: 34px;
	align-items: center;
	justify-content: center;
	padding: 7px 12px;
	font-size: var(--trs-vf-button-size);
	font-weight: 800;
	white-space: nowrap;
}

.trs-vf-shop {
	border: 1px solid var(--trs-vf-accent);
	background: var(--trs-vf-accent);
	color: #ffffff;
}

/*
 * Divi and WooCommerce can apply page-template link colors with !important.
 * Keep this action readable on the Shop, product, archive, and home templates.
 */
body #page-container .trs-vf-finder .trs-vf-selection-actions a.trs-vf-shop,
body #page-container .trs-vf-finder .trs-vf-selection-actions a.trs-vf-shop:link,
body #page-container .trs-vf-finder .trs-vf-selection-actions a.trs-vf-shop:visited,
body #page-container .trs-vf-finder .trs-vf-selection-actions a.trs-vf-shop:hover,
body #page-container .trs-vf-finder .trs-vf-selection-actions a.trs-vf-shop:focus,
body #page-container .trs-vf-finder .trs-vf-selection-actions a.trs-vf-shop:active {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

.trs-vf-shop:hover,
.trs-vf-shop:focus {
	border-color: var(--trs-vf-hover);
	background: var(--trs-vf-hover);
	color: #ffffff;
	text-decoration: none;
}

.trs-vf-edit {
	border: 1px solid var(--trs-vf-accent);
	background: transparent;
	color: var(--trs-vf-accent);
}

.trs-vf-edit:hover,
.trs-vf-edit:focus {
	border-color: var(--trs-vf-hover);
	background: color-mix(in srgb, var(--trs-vf-accent) 8%, transparent);
	color: var(--trs-vf-hover);
}

.trs-vf-clear {
	border: 1px solid #8292a8;
	background: #ffffff;
	color: #172238;
}

.trs-vf-clear:hover,
.trs-vf-clear:focus {
	border-color: var(--trs-vf-blue);
	background: var(--trs-vf-soft-blue);
	color: #172238;
}

.trs-vf-clear:disabled {
	cursor: wait;
	opacity: 0.55;
}

.trs-vf-has-selection .trs-vf-editor {
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid var(--trs-vf-field-border);
}

.trs-vf-vin-toggle,
.trs-vf-vin-submit {
	appearance: none;
	border-radius: var(--trs-vf-radius);
	cursor: pointer;
	font-family: var(--trs-vf-font-family);
	font-weight: 750;
	line-height: 1;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.trs-vf-vin-toggle {
	display: inline-flex;
	flex: 0 0 auto;
	gap: 7px;
	align-items: center;
	align-self: end;
	justify-content: center;
	width: 100%;
	height: var(--trs-vf-field-height);
	min-height: 40px;
	padding: 8px 14px;
	border: 1px solid var(--trs-vf-field-border);
	background: var(--trs-vf-surface);
	color: var(--trs-vf-text);
	font-size: var(--trs-vf-button-size);
	white-space: nowrap;
}

.trs-vf-vin-toggle > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 4px 6px;
	border-radius: 4px;
	background: var(--trs-vf-soft-blue);
	color: var(--trs-vf-blue);
	font-size: max(9px, calc(var(--trs-vf-button-size) - 3px));
	font-weight: 850;
	letter-spacing: 0.04em;
}

.trs-vf-vin-toggle:hover,
.trs-vf-vin-toggle:focus,
.trs-vf-vin-toggle[aria-expanded="true"] {
	border-color: var(--trs-vf-blue);
	background: var(--trs-vf-soft-blue);
	outline: 0;
}

.trs-vf-vin-panel {
	margin: 0 0 12px;
	padding: 12px;
	border: 1px solid color-mix(in srgb, var(--trs-vf-blue) 28%, var(--trs-vf-field-border));
	border-radius: var(--trs-vf-radius);
	background: color-mix(in srgb, var(--trs-vf-blue) 5%, var(--trs-vf-surface));
}

.trs-vf-vin-field,
.trs-vf-vin-field > span {
	display: block;
	margin: 0;
}

.trs-vf-vin-field > span:first-child {
	margin-bottom: 5px;
	color: var(--trs-vf-text);
	font-size: var(--trs-vf-label-size);
	font-weight: 750;
	line-height: 1.2;
}

.trs-vf-vin-entry {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 8px;
}

.trs-vf-vin-input {
	display: block;
	min-width: 0;
	width: 100%;
	height: var(--trs-vf-field-height);
	margin: 0;
	padding: 0 12px;
	border: 1px solid var(--trs-vf-field-border);
	border-radius: var(--trs-vf-radius);
	background: var(--trs-vf-field-bg);
	color: var(--trs-vf-text);
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: var(--trs-vf-field-size);
	font-weight: 650;
	letter-spacing: 0.045em;
	text-transform: uppercase;
}

.trs-vf-vin-input:focus {
	border-color: var(--trs-vf-blue);
	box-shadow: 0 0 0 3px rgba(68, 94, 134, 0.16);
	outline: 0;
}

.trs-vf-vin-submit {
	min-width: 112px;
	height: var(--trs-vf-field-height);
	padding: 0 16px;
	border: 1px solid var(--trs-vf-blue);
	background: var(--trs-vf-blue);
	color: #ffffff;
	font-size: var(--trs-vf-button-size);
	white-space: nowrap;
}

.trs-vf-vin-submit:hover,
.trs-vf-vin-submit:focus {
	border-color: var(--trs-vf-accent);
	background: var(--trs-vf-accent);
	color: #ffffff;
	outline: 0;
}

.trs-vf-vin-submit:disabled {
	cursor: wait;
	opacity: 0.62;
}

.trs-vf-vin-help {
	display: block;
	margin-top: 7px;
	color: #687281;
	font-size: 10px;
	line-height: 1.4;
}

.trs-vf-vin-status {
	margin: 7px 0 0;
	color: var(--trs-vf-text);
	font-size: 12px;
	font-weight: 650;
	line-height: 1.4;
}

.trs-vf-vin-status:empty {
	display: none;
}

.trs-vf-vin-status[data-state="error"] {
	color: #a51d24;
}

.trs-vf-vin-status[data-state="success"] {
	color: var(--trs-vf-green);
}

.trs-vf-vin-status[data-state="notice"] {
	color: var(--trs-vf-blue);
}

.trs-vf-status,
.trs-vf-empty,
.trs-vf-admin-hint {
	margin: 8px 0 0;
	color: var(--trs-vf-text);
	font-size: 13px;
	line-height: 1.4;
}

.trs-vf-status:empty {
	display: none;
}

.trs-vf-admin-hint {
	color: #646970;
	font-style: italic;
}

.trs-vf-compatibility {
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	width: 100%;
	gap: 4px;
	margin: 16px 0;
	padding: 16px 20px;
	border: 1px solid transparent;
	border-left-width: 5px;
	border-radius: 5px;
	color: #2a3547;
	font-family: "Open Sans", Arial, sans-serif !important;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.5;
}

.trs-vf-compatibility > strong {
	margin: 0;
	color: #2a3547;
	font-family: inherit !important;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0;
}

.trs-vf-compatibility > span {
	margin: 0;
	color: #2a3547;
	font-family: inherit !important;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.5;
}

.trs-vf-compatibility > small {
	display: block;
	margin: 3px 0 0;
	color: #5b6574;
	font-family: inherit !important;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.45;
}

.trs-vf-compatibility > .trs-vf-view-compatible-vehicles {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	gap: 5px;
	margin: 5px 0 0;
	color: #445e86;
	font-family: "Open Sans", Arial, sans-serif !important;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.35;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	transition: color 0.2s ease;
}

.trs-vf-compatibility > .trs-vf-view-compatible-vehicles:hover {
	color: #d1232a;
}

.trs-vf-compatibility > .trs-vf-view-compatible-vehicles:focus-visible {
	outline: 2px solid #445e86;
	outline-offset: 3px;
	border-radius: 2px;
}

.trs-vf-compatibility > .trs-vf-view-compatible-vehicles span {
	transition: transform 0.2s ease;
}

.trs-vf-compatibility > .trs-vf-view-compatible-vehicles:hover span {
	transform: translateY(2px);
}

.trs-vf-compatible {
	border-color: #8fc8aa;
	border-left-color: var(--trs-vf-green, #157347);
	background: var(--trs-vf-soft-green, #e9f6ef);
}

.trs-vf-incompatible {
	border-color: #e1a5aa;
	border-left-color: var(--trs-vf-accent, #d1232a);
	background: var(--trs-vf-soft-red, #fff0f1);
}

.trs-vf-neutral {
	border-color: #a9b9cf;
	border-left-color: var(--trs-vf-blue, #445e86);
	background: var(--trs-vf-soft-blue, #f1f5fa);
}

.trs-vf-catalog-filter {
	--trs-vf-accent: #d1232a;
	--trs-vf-hover: #ff0000;
	--trs-vf-blue: #445e86;
	--trs-vf-text: #2a3547;
	--trs-vf-field-border: #cbd3de;
	--trs-vf-font-family: inherit;
	box-sizing: border-box;
	container-name: trs-shop-filter;
	container-type: inline-size;
	width: 100%;
	margin: 0 0 24px;
	padding: 18px;
	border: 1px solid var(--trs-vf-field-border);
	border-top: 3px solid var(--trs-vf-blue);
	border-radius: 8px;
	background: #ffffff;
	color: var(--trs-vf-text);
	box-shadow: 0 3px 12px rgba(42, 53, 71, 0.08);
	font-family: var(--trs-vf-font-family);
}

.trs-vf-catalog-filter *,
.trs-vf-catalog-filter *::before,
.trs-vf-catalog-filter *::after {
	box-sizing: border-box;
}

.trs-vf-catalog-filter-heading {
	display: flex;
	gap: 14px;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 14px;
}

.trs-vf-catalog-filter-heading > div {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.trs-vf-catalog-kicker {
	color: var(--trs-vf-blue);
	font-size: 10px;
	font-weight: 850;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-transform: uppercase;
}

.trs-vf-catalog-filter-heading strong {
	color: var(--trs-vf-text);
	font-size: 18px;
	font-weight: 800;
	line-height: 1.25;
}

.trs-vf-catalog-vehicle {
	display: inline-flex;
	max-width: 55%;
	gap: 7px;
	align-items: center;
	padding: 6px 10px;
	border-radius: 999px;
	background: #e9f6ef;
	color: #157347;
	font-size: 11px;
	font-weight: 750;
	line-height: 1.25;
	text-align: right;
}

.trs-vf-catalog-vehicle i {
	display: block;
	flex: 0 0 7px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #157347;
	box-shadow: 0 0 0 3px rgba(21, 115, 71, 0.13);
}

.trs-vf-catalog-vehicle.is-empty {
	background: #f1f3f5;
	color: #687281;
}

.trs-vf-catalog-filter-form {
	display: grid;
	width: 100%;
	max-width: 100%;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	align-items: end;
	margin: 0;
}

.trs-vf-catalog-filter-form.trs-vf-catalog-has-brand,
.trs-vf-catalog-filter-form.trs-vf-catalog-has-groups {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.trs-vf-catalog-filter-form.trs-vf-catalog-has-brand.trs-vf-catalog-has-groups {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.trs-vf-catalog-filter-body[hidden] {
	display: none !important;
}

.trs-vf-catalog-mobile-toggle {
	display: none;
}

.trs-vf-catalog-fitment,
.trs-vf-catalog-select {
	display: block;
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

.trs-vf-catalog-fitment legend,
.trs-vf-catalog-select > span {
	display: block;
	margin: 0 0 5px;
	padding: 0;
	color: var(--trs-vf-text);
	font-size: 11px;
	font-weight: 750;
	line-height: 1.2;
}

.trs-vf-filter-toggle {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	min-height: 44px;
	overflow: hidden;
	border: 1px solid var(--trs-vf-field-border);
	border-radius: 5px;
}

.trs-vf-filter-toggle label {
	display: flex;
	margin: 0;
	cursor: pointer;
}

.trs-vf-filter-toggle label + label {
	border-left: 1px solid var(--trs-vf-field-border);
}

.trs-vf-filter-toggle input {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}

.trs-vf-filter-toggle span {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: center;
	padding: 8px 10px;
	background: #ffffff;
	color: var(--trs-vf-text);
	font-size: 12px;
	font-weight: 750;
	line-height: 1.2;
	text-align: center;
	transition: background-color 150ms ease, color 150ms ease;
}

.trs-vf-filter-toggle input:checked + span {
	background: var(--trs-vf-blue);
	color: #ffffff;
}

.trs-vf-filter-toggle input:focus-visible + span {
	box-shadow: inset 0 0 0 2px var(--trs-vf-accent);
}

.trs-vf-filter-toggle label.is-disabled {
	cursor: not-allowed;
	opacity: 0.48;
}

.trs-vf-catalog-select select {
	display: block;
	width: 100%;
	height: 44px;
	margin: 0;
	padding: 0 32px 0 11px;
	border: 1px solid var(--trs-vf-field-border);
	border-radius: 5px;
	background-color: #ffffff;
	color: var(--trs-vf-text);
	font: inherit;
	font-size: 12px;
	line-height: normal;
}

.trs-vf-catalog-select select:focus {
	border-color: var(--trs-vf-blue);
	box-shadow: 0 0 0 3px rgba(68, 94, 134, 0.15);
	outline: 0;
}

.trs-vf-catalog-actions {
	display: flex;
	gap: 8px;
	align-items: center;
	height: 44px;
	justify-content: flex-end;
}

.trs-vf-catalog-actions button,
.trs-vf-catalog-actions a {
	display: inline-flex;
	height: 44px;
	align-items: center;
	justify-content: center;
	margin: 0;
	border-radius: 5px;
	font: inherit;
	font-size: 12px;
	font-weight: 750;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
}

.trs-vf-catalog-actions button {
	padding: 0 16px;
	border: 1px solid var(--trs-vf-accent);
	background: var(--trs-vf-accent);
	color: #ffffff;
	cursor: pointer;
}

.trs-vf-catalog-actions button:hover,
.trs-vf-catalog-actions button:focus {
	border-color: var(--trs-vf-hover);
	background: var(--trs-vf-hover);
	color: #ffffff;
}

.trs-vf-catalog-actions a {
	padding: 0 7px;
	color: #687281;
}

.trs-vf-catalog-actions a:hover,
.trs-vf-catalog-actions a:focus {
	color: var(--trs-vf-accent);
	text-decoration: none;
}

.trs-vf-catalog-note {
	margin: 10px 0 0;
	color: #687281;
	font-size: 11px;
	line-height: 1.45;
}

.trs-vf-catalog-note.is-filtered {
	color: #157347;
}

.trs-vf-catalog-note.is-model-group {
	color: #445e86;
}

.trs-vf-fitment-list {
	box-sizing: border-box;
	width: 100%;
	margin: 20px 0;
	scroll-margin-top: 88px;
	color: #2a3547;
	font-family: "Open Sans", Arial, sans-serif !important;
}

.trs-vf-fitment-list *,
.trs-vf-fitment-list *::before,
.trs-vf-fitment-list *::after {
	box-sizing: border-box;
}

.trs-vf-fitment-details {
	margin: 0;
	overflow: hidden;
	border: 1px solid #d8dee8;
	border-radius: 6px;
	background: #ffffff;
	box-shadow: 0 3px 12px rgba(42, 53, 71, 0.06);
}

.trs-vf-fitment-summary {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	gap: 14px;
	align-items: center;
	min-height: 72px;
	margin: 0;
	padding: 14px 18px;
	list-style: none;
	border-left: 5px solid #445e86;
	background: #f7f9fc;
	cursor: pointer;
	transition: background-color 0.2s ease;
	user-select: none;
}

.trs-vf-fitment-summary::-webkit-details-marker {
	display: none;
}

.trs-vf-fitment-summary::marker {
	content: "";
}

.trs-vf-fitment-summary:hover {
	background: #f1f5fa;
}

.trs-vf-fitment-summary:focus-visible {
	outline: 3px solid rgba(68, 94, 134, 0.35);
	outline-offset: -3px;
}

.trs-vf-fitment-details[open] > .trs-vf-fitment-summary {
	border-bottom: 1px solid #d8dee8;
}

.trs-vf-fitment-summary-main {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 2px;
}

.trs-vf-fitment-summary-title {
	color: #445e86;
	font-family: "Bayon", "Open Sans", Arial, sans-serif !important;
	font-size: clamp(22px, 2vw, 27px);
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: 0.2px;
	text-transform: uppercase;
}

.trs-vf-fitment-summary-meta {
	color: #5b6574;
	font-family: "Open Sans", Arial, sans-serif !important;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
}

.trs-vf-fitment-summary-action {
	color: #d1232a;
	font-family: "Bayon", "Open Sans", Arial, sans-serif !important;
	font-size: 19px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0.3px;
	text-transform: uppercase;
	white-space: nowrap;
}

.trs-vf-fitment-summary-open {
	display: none;
}

.trs-vf-fitment-details[open] .trs-vf-fitment-summary-closed {
	display: none;
}

.trs-vf-fitment-details[open] .trs-vf-fitment-summary-open {
	display: inline;
}

.trs-vf-fitment-summary::after {
	content: "";
	width: 10px;
	height: 10px;
	border-right: 2px solid #445e86;
	border-bottom: 2px solid #445e86;
	transform: rotate(45deg) translateY(-2px);
	transition: transform 0.2s ease;
}

.trs-vf-fitment-details[open] > .trs-vf-fitment-summary::after {
	transform: rotate(225deg) translate(-2px, -2px);
}

.trs-vf-fitment-body {
	padding: 18px;
	background: #ffffff;
}

.trs-vf-fitment-table-wrap {
	max-width: 100%;
	overflow-x: auto;
	border: 1px solid #d8dee8;
	border-radius: 5px;
	background: #ffffff;
}

.trs-vf-fitment-table {
	width: 100%;
	min-width: 720px;
	margin: 0 !important;
	border: 0 !important;
	border-collapse: collapse;
	color: #2a3547;
	font-family: "Open Sans", Arial, sans-serif !important;
	font-style: normal !important;
}

.trs-vf-fitment-table th,
.trs-vf-fitment-table td {
	padding: 10px 12px;
	border-bottom: 1px solid #e4e8ee;
	color: #2a3547;
	font-family: "Open Sans", Arial, sans-serif !important;
	font-size: 14px;
	font-style: normal !important;
	line-height: 1.45;
	text-align: left;
	vertical-align: top;
}

.trs-vf-fitment-table th:first-child,
.trs-vf-fitment-table td:first-child {
	padding-left: 22px !important;
}

.trs-vf-fitment-table thead th {
	background: #f1f5fa !important;
	color: #2a3547 !important;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.trs-vf-fitment-table tbody tr:nth-child(even) td {
	background: #f8fafc !important;
}

.trs-vf-fitment-table tbody tr:hover td {
	background: #f1f5fa !important;
}

.trs-vf-fitment-table tbody tr:last-child td {
	border-bottom: 0;
}

.trs-vf-fitment-table .trs-vf-fitment-years {
	color: #2a3547;
	font-weight: 700;
	white-space: nowrap;
}

.trs-vf-fitment-list-notice {
	display: flex;
	flex-direction: column;
	gap: 3px;
	margin: 0;
	padding: 13px 15px;
	border: 1px solid #a9b9cf;
	border-left: 4px solid #445e86;
	border-radius: 4px;
	background: #f1f5fa;
	color: #2a3547;
	font-family: "Open Sans", Arial, sans-serif !important;
	font-size: 14px;
	line-height: 1.45;
}

.trs-vf-fitment-list-notice.is-universal {
	border-color: #a9b9cf;
	border-left-color: #445e86;
	background: #f1f5fa;
}

.trs-vf-fitment-list-notice.is-neutral {
	border-color: #cbd3de;
	border-left-color: #687281;
	background: #f5f6f8;
}

.trs-vf-fitment-disclaimer {
	margin: 14px 2px 0;
	color: #687281;
	font-family: "Open Sans", Arial, sans-serif !important;
	font-size: 12px;
	line-height: 1.5;
}

@media only screen and (max-width: 766.99px) {
	.trs-vf-fitment-summary {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 10px;
		min-height: 64px;
		padding: 13px 14px;
	}

	.trs-vf-fitment-summary-title {
		font-size: 22px;
	}

	.trs-vf-fitment-summary-action {
		display: none;
	}

	.trs-vf-fitment-body {
		padding: 10px;
	}

	.trs-vf-fitment-table {
		min-width: 700px;
	}

	.trs-vf-fitment-table th,
	.trs-vf-fitment-table td {
		padding: 9px 10px;
		font-size: 13px;
	}
}

/* Compact product-card badges. Appearance is controlled in Finder Settings. */
.trs-vf-loop-badge {
	display: flex;
	box-sizing: border-box;
	width: max-content;
	max-width: calc(100% - 2px);
	gap: var(--trs-vf-badge-gap, 6px);
	align-items: center;
	margin-top: var(--trs-vf-badge-margin-top, 8px);
	margin-bottom: var(--trs-vf-badge-margin-bottom, 7px);
	padding: var(--trs-vf-badge-padding-y, 5px) var(--trs-vf-badge-padding-x, 9px);
	border: var(--trs-vf-badge-border-width, 1px) solid var(--trs-vf-badge-border, #cbd3de);
	border-radius: var(--trs-vf-badge-radius, 999px);
	background: var(--trs-vf-badge-bg, #f3f5f7);
	color: var(--trs-vf-badge-color, #596474);
	font-family: var(--trs-vf-badge-font-family, "Open Sans", Arial, sans-serif) !important;
	font-size: var(--trs-vf-badge-font-size, 11px);
	font-weight: var(--trs-vf-badge-font-weight, 800);
	letter-spacing: 0.015em;
	line-height: 1.2;
	text-align: left;
}

.trs-vf-loop-badge-align-left {
	margin-right: auto;
	margin-left: 0;
}

.trs-vf-loop-badge-align-center {
	margin-right: auto;
	margin-left: auto;
}

.trs-vf-loop-badge-align-right {
	margin-right: 0;
	margin-left: auto;
}

.trs-vf-loop-badge-icon {
	display: grid;
	box-sizing: border-box;
	flex: 0 0 var(--trs-vf-badge-icon-circle, 17px);
	width: var(--trs-vf-badge-icon-circle, 17px);
	height: var(--trs-vf-badge-icon-circle, 17px);
	margin: 0;
	padding: 0;
	place-items: center;
	overflow: hidden;
	border-radius: 50%;
	background: var(--trs-vf-badge-icon-bg, #687281);
	color: var(--trs-vf-badge-icon-color, #ffffff);
	font-family: Arial, sans-serif;
	font-size: var(--trs-vf-badge-icon-size, 11px);
	font-weight: 900;
	line-height: 0;
	text-align: center;
	vertical-align: middle;
}

.trs-vf-loop-badge-icon svg {
	display: block;
	width: var(--trs-vf-badge-icon-size, 11px);
	height: var(--trs-vf-badge-icon-size, 11px);
	margin: 0;
	overflow: visible;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2.25;
}

.trs-vf-loop-badge-icon.is-custom span {
	display: block;
	width: 100%;
	line-height: 1;
	text-align: center;
	transform: translateY(-0.01em);
}

.trs-vf-loop-badge-label {
	font-family: inherit !important;
	min-width: 0;
	overflow-wrap: anywhere;
}

/*
 * Remove only the WooCommerce content sidebar. Do not add Divi's page-wide
 * et_full_width_page class: Theme Builder headers also react to that class.
 */
body.woocommerce-shop #main-content .container::before,
body.post-type-archive-product #main-content .container::before,
body.tax-product_cat #main-content .container::before,
body.tax-product_tag #main-content .container::before {
	display: none !important;
}

body.woocommerce-shop #main-content #left-area,
body.post-type-archive-product #main-content #left-area,
body.tax-product_cat #main-content #left-area,
body.tax-product_tag #main-content #left-area {
	float: none !important;
	width: 100% !important;
	padding-right: 0 !important;
}

body.woocommerce-shop #main-content #sidebar,
body.post-type-archive-product #main-content #sidebar,
body.tax-product_cat #main-content #sidebar,
body.tax-product_tag #main-content #sidebar {
	display: none !important;
}

/*
 * The header disclosure follows the finder's usable width, not the browser
 * width. It therefore appears at the exact point where the desktop controls
 * would otherwise wrap into the unwanted intermediate two-column layout.
 */
.trs-vf-responsive-enabled .trs-vf-responsive-toggle:not([hidden]) {
	display: flex;
	width: 100%;
	min-height: 50px;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin: 0;
	padding: 0 17px;
	border: 1px solid var(--trs-vf-field-border);
	border-radius: var(--trs-vf-radius);
	background: linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%);
	box-shadow: 0 2px 7px rgba(42, 53, 71, 0.06);
	color: var(--trs-vf-text);
	cursor: pointer;
	font-family: var(--trs-vf-font-family);
	font-size: 15px;
	font-weight: 800;
	line-height: 1.2;
	text-align: left;
	transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

.trs-vf-responsive-enabled .trs-vf-responsive-toggle:not([hidden]):hover,
.trs-vf-responsive-enabled .trs-vf-responsive-toggle:not([hidden]):focus-visible,
.trs-vf-responsive-enabled .trs-vf-responsive-toggle[aria-expanded="true"] {
	border-color: var(--trs-vf-blue);
	background: var(--trs-vf-soft-blue);
	box-shadow: 0 0 0 3px rgba(68, 94, 134, 0.14);
	outline: 0;
}

.trs-vf-responsive-enabled .trs-vf-responsive-toggle-chevron {
	display: block;
	flex: 0 0 10px;
	width: 10px;
	height: 10px;
	margin-top: -5px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	opacity: 0.75;
	transform: rotate(45deg);
	transition: margin 160ms ease, transform 160ms ease;
}

.trs-vf-responsive-enabled .trs-vf-responsive-toggle[aria-expanded="true"] .trs-vf-responsive-toggle-chevron {
	margin-top: 5px;
	transform: rotate(225deg);
}

.trs-vf-responsive-enabled .trs-vf-responsive-toggle[aria-expanded="true"] .trs-vf-responsive-toggle-collapsed {
	display: none;
}

.trs-vf-responsive-enabled .trs-vf-responsive-toggle[aria-expanded="true"] .trs-vf-responsive-toggle-expanded {
	display: inline;
}

.trs-vf-responsive-enabled .trs-vf-responsive-panel:not([hidden]) {
	margin-top: 10px;
}

/*
 * The finder responds to its actual Divi column width—not the browser width.
 * This prevents a finder in one half of a two-column row from extending under
 * the neighboring column and keeps its controls clickable.
 */
/* Half-width Divi columns use two balanced rows instead of overflow. */
@container trs-fitment (min-width: 520px) and (max-width: 819px) {
	.trs-vf-fields,
	.trs-vf-has-make .trs-vf-fields {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.trs-vf-submit {
		grid-column: auto;
	}
}

/* Full-width Porsche-only finder: every control, including VIN, is one row. */
@container trs-fitment (min-width: 820px) {
	.trs-vf-no-make .trs-vf-fields {
		grid-template-columns:
			minmax(74px, 0.62fr)
			repeat(3, minmax(105px, 1fr))
			minmax(112px, 0.82fr)
			minmax(110px, 0.82fr);
	}

	.trs-vf-no-make .trs-vf-submit {
		grid-column: auto;
	}
}

/* Full-width multi-make finder has one additional Make column. */
@container trs-fitment (min-width: 980px) {
	.trs-vf-has-make .trs-vf-fields {
		grid-template-columns:
			minmax(70px, 0.58fr)
			minmax(86px, 0.76fr)
			repeat(3, minmax(96px, 1fr))
			minmax(110px, 0.8fr)
			minmax(110px, 0.8fr);
	}

	.trs-vf-has-make .trs-vf-submit {
		grid-column: auto;
	}
}

@container trs-fitment (max-width: 649px) {
	.trs-vf-selection-status {
		display: none;
	}
}

/* Narrow containers: one touch-friendly field per line. */
@container trs-fitment (max-width: 419px) {
	.trs-vf-fields,
	.trs-vf-has-make .trs-vf-fields {
		grid-template-columns: 1fr;
	}

	.trs-vf-field select,
	.trs-vf-custom-select__trigger,
	.trs-vf-submit,
	.trs-vf-density-comfortable .trs-vf-field select,
	.trs-vf-density-comfortable .trs-vf-custom-select__trigger,
	.trs-vf-density-comfortable .trs-vf-submit {
		width: 100%;
		height: 48px;
	}
}

/* Let the saved-vehicle bar wrap cleanly in genuinely narrow columns. */
@container trs-fitment (max-width: 519px) {
	.trs-vf-selection {
		align-items: flex-start;
		gap: 10px;
		flex-wrap: wrap;
		padding: 11px 12px;
	}

	.trs-vf-selection-main {
		flex-basis: 100%;
	}

	.trs-vf-selection-details {
		align-items: flex-start;
		flex-direction: column;
		gap: 5px;
	}

	.trs-vf-selection-vehicle {
		white-space: normal;
	}

	.trs-vf-selection-actions {
		width: 100%;
		flex-wrap: wrap;
		justify-content: flex-end;
		padding-top: 9px;
		border-top: 1px solid color-mix(in srgb, var(--trs-vf-field-border) 75%, transparent);
	}

	.trs-vf-shop {
		flex: 1 1 auto;
	}

	.trs-vf-has-selection .trs-vf-editor {
		margin-top: 10px;
		padding-top: 10px;
	}

	.trs-vf-heading-row {
		gap: 10px;
	}

	.trs-vf-vin-toggle {
		height: 48px;
		min-height: 38px;
		padding-right: 11px;
		padding-left: 11px;
	}

	.trs-vf-vin-entry {
		grid-template-columns: 1fr;
	}

	.trs-vf-vin-input,
	.trs-vf-vin-submit {
		width: 100%;
		height: 48px;
	}
}

/* Preserve the complete header finder from 767px through 1064px. The header
 * row is 92% of the viewport, so its normal 980px container layout begins at
 * a 1065px viewport. This bridge closes that exact 981-1064px gap. Flexible
 * zero-minimum columns keep every control on one compact row without pushing
 * the header wider than the viewport.
 */
@media (min-width: 767px) and (max-width: 1064px) {
	.trs-header-vehicle-finder .trs-vf-fields,
	.trs-header-vehicle-finder .trs-vf-has-make .trs-vf-fields {
		grid-template-columns:
			minmax(0, 0.58fr)
			minmax(0, 0.76fr)
			repeat(3, minmax(0, 1fr))
			minmax(0, 0.92fr)
			minmax(0, 0.92fr);
		gap: 8px;
	}

	.trs-header-vehicle-finder .trs-vf-no-make .trs-vf-fields {
		grid-template-columns:
			minmax(0, 0.62fr)
			repeat(3, minmax(0, 1fr))
			minmax(0, 0.92fr)
			minmax(0, 0.92fr);
	}

	.trs-header-vehicle-finder .trs-vf-field,
	.trs-header-vehicle-finder .trs-vf-vin-toggle,
	.trs-header-vehicle-finder .trs-vf-submit {
		min-width: 0;
	}

	.trs-header-vehicle-finder .trs-vf-field > span,
	.trs-header-vehicle-finder .trs-vf-field > label {
		font-size: clamp(10px, 1.3vw, 12px);
	}

	.trs-header-vehicle-finder .trs-vf-field select,
	.trs-header-vehicle-finder .trs-vf-custom-select__trigger,
	.trs-header-vehicle-finder .trs-vf-vin-toggle,
	.trs-header-vehicle-finder .trs-vf-submit {
		padding-right: 8px;
		padding-left: 8px;
		font-size: clamp(11px, 1.35vw, 14px);
		white-space: nowrap;
	}

	.trs-header-vehicle-finder .trs-vf-submit {
		grid-column: auto;
		overflow: hidden;
		text-overflow: ellipsis;
	}
}

/* All fitment mobile interfaces own the complete range below 767px. The
 * fractional ceiling prevents zoom/subpixel rounding from leaving the width
 * displayed as 766px in an unstyled breakpoint gap.
 */
@media (max-width: 766.99px) {
	/* Match the header vehicle disclosure to the companion Menu control. This
	 * is deliberately scoped to the Divi header so standalone finders and Shop
	 * filters retain their existing presentation.
	 */
	.trs-header-vehicle-finder .trs-vf-responsive-enabled .trs-vf-responsive-toggle:not([hidden]) {
		position: relative;
		display: flex;
		width: 100%;
		min-width: 0;
		height: 52px;
		min-height: 52px;
		align-items: center;
		justify-content: center;
		gap: 0;
		margin: 0;
		padding: 0 52px;
		box-sizing: border-box;
		border: 1px solid #cbd3de;
		border-radius: 6px;
		background: linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%);
		box-shadow:
			inset 0 -3px 0 #d1232a,
			0 2px 7px rgba(42, 53, 71, 0.08);
		color: #2a3547;
		font-family: "Bayon", Arial, sans-serif;
		font-size: 19px;
		font-weight: 400;
		line-height: 1;
		letter-spacing: 1.2px;
		text-align: center;
		text-transform: uppercase;
	}

	.trs-header-vehicle-finder .trs-vf-responsive-enabled .trs-vf-responsive-toggle-collapsed,
	.trs-header-vehicle-finder .trs-vf-responsive-enabled .trs-vf-responsive-toggle-expanded {
		max-width: 100%;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.trs-header-vehicle-finder .trs-vf-responsive-enabled.trs-vf-has-selection .trs-vf-responsive-toggle:not([hidden]) {
		font-size: clamp(15px, 4.8vw, 19px);
	}

	.trs-header-vehicle-finder .trs-vf-responsive-enabled .trs-vf-responsive-toggle:not([hidden]):hover,
	.trs-header-vehicle-finder .trs-vf-responsive-enabled .trs-vf-responsive-toggle:not([hidden]):focus-visible,
	.trs-header-vehicle-finder .trs-vf-responsive-enabled .trs-vf-responsive-toggle[aria-expanded="true"] {
		border-color: #445e86;
		background: #f1f5fa;
		box-shadow:
			inset 0 -3px 0 #d1232a,
			0 0 0 3px rgba(68, 94, 134, 0.14);
		outline: 0;
	}

	.trs-header-vehicle-finder .trs-vf-responsive-enabled .trs-vf-responsive-toggle-chevron {
		position: absolute;
		top: 50%;
		right: 20px;
		display: block;
		flex: 0 0 9px;
		width: 9px;
		height: 9px;
		margin: -7px 0 0;
		border: 0;
		border-right: 2px solid #617087;
		border-bottom: 2px solid #617087;
		opacity: 1;
		transform: rotate(45deg);
		transition: margin 160ms ease, transform 160ms ease;
		pointer-events: none;
	}

	.trs-header-vehicle-finder .trs-vf-responsive-enabled .trs-vf-responsive-toggle[aria-expanded="true"] .trs-vf-responsive-toggle-chevron {
		margin-top: -2px;
		transform: rotate(225deg);
	}

	/* The mobile finder can use one, two, or three field columns depending on
	 * its available width. Confirm Vehicle must remain the single full-width
	 * final action in every one of those grid states.
	 */
	.trs-header-vehicle-finder .trs-vf-responsive-enabled .trs-vf-fields > .trs-vf-submit {
		grid-column: 1 / -1 !important;
		width: 100% !important;
		max-width: none !important;
		justify-self: stretch !important;
	}

	.trs-vf-finder:not(.trs-vf-transparent) {
		padding: 14px;
	}

	.trs-vf-catalog-filter {
		padding: 14px;
	}

	.trs-vf-catalog-filter-heading {
		align-items: stretch;
		flex-direction: row;
		flex-wrap: wrap;
	}

	.trs-vf-catalog-vehicle {
		max-width: 100%;
		text-align: left;
	}

	.trs-vf-catalog-mobile-toggle:not([hidden]) {
		display: inline-flex;
		min-height: 42px;
		align-items: center;
		justify-content: center;
		margin-left: auto;
		padding: 0 14px;
		border: 1px solid var(--trs-vf-field-border);
		border-radius: 5px;
		background: #f7f9fc;
		color: var(--trs-vf-text);
		font: inherit;
		font-size: 13px;
		font-weight: 750;
		cursor: pointer;
	}

	.trs-vf-catalog-mobile-toggle-hide {
		display: none;
	}

	.trs-vf-catalog-mobile-toggle[aria-expanded="true"] .trs-vf-catalog-mobile-toggle-show {
		display: none;
	}

	.trs-vf-catalog-mobile-toggle[aria-expanded="true"] .trs-vf-catalog-mobile-toggle-hide {
		display: inline;
	}

	.trs-vf-catalog-filter-form,
	.trs-vf-catalog-filter-form.trs-vf-catalog-has-brand,
	.trs-vf-catalog-filter-form.trs-vf-catalog-has-groups,
	.trs-vf-catalog-filter-form.trs-vf-catalog-has-brand.trs-vf-catalog-has-groups {
		grid-template-columns: 1fr;
	}

	.trs-vf-catalog-actions {
		width: 100%;
	}

	.trs-vf-catalog-actions button {
		flex: 1 1 auto;
	}
}

/* =========================================================
 * v1.8.26 — SHOP CATALOG POLISH + RESPONSIVE ISOLATION
 * =========================================================
 * All rules below are intentionally limited to the plugin's catalog wrapper
 * or WooCommerce main-content archive controls. Nothing targets Divi Theme
 * Builder headers or footers.
 */

/* Keep the expanded desktop filter compact even with Items per page restored. */
@media only screen and (min-width: 981px) {
	.trs-vf-catalog-filter-form,
	.trs-vf-catalog-filter-form.trs-vf-catalog-has-brand,
	.trs-vf-catalog-filter-form.trs-vf-catalog-has-groups,
	.trs-vf-catalog-filter-form.trs-vf-catalog-has-brand.trs-vf-catalog-has-groups {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

/* Stronger, easier-to-read helper copy inside the Shop filter. */
.trs-vf-catalog-note {
	color: #4b5565;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;
}

.trs-vf-catalog-note.is-model-group {
	color: #445e86;
}

.trs-vf-catalog-note.is-filtered {
	color: #157347;
}

/* WooCommerce result count: darker and slightly larger. */
body.woocommerce-shop #main-content .woocommerce-result-count,
body.post-type-archive-product #main-content .woocommerce-result-count,
body.tax-product_cat #main-content .woocommerce-result-count,
body.tax-product_tag #main-content .woocommerce-result-count {
	margin-top: 0;
	color: #4b5565 !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	line-height: 1.45 !important;
}

/* ---------------------------------------------------------
 * WooCommerce pagination — compact TuneRS treatment.
 * --------------------------------------------------------- */
body.woocommerce-shop #main-content nav.woocommerce-pagination,
body.post-type-archive-product #main-content nav.woocommerce-pagination,
body.tax-product_cat #main-content nav.woocommerce-pagination,
body.tax-product_tag #main-content nav.woocommerce-pagination {
	clear: both;
	width: 100%;
	margin: 28px auto 4px !important;
	text-align: center;
}

body.woocommerce-shop #main-content nav.woocommerce-pagination ul.page-numbers,
body.post-type-archive-product #main-content nav.woocommerce-pagination ul.page-numbers,
body.tax-product_cat #main-content nav.woocommerce-pagination ul.page-numbers,
body.tax-product_tag #main-content nav.woocommerce-pagination ul.page-numbers {
	display: inline-flex !important;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	list-style: none !important;
}

body.woocommerce-shop #main-content nav.woocommerce-pagination ul.page-numbers > li,
body.post-type-archive-product #main-content nav.woocommerce-pagination ul.page-numbers > li,
body.tax-product_cat #main-content nav.woocommerce-pagination ul.page-numbers > li,
body.tax-product_tag #main-content nav.woocommerce-pagination ul.page-numbers > li {
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

body.woocommerce-shop #main-content nav.woocommerce-pagination .page-numbers a,
body.woocommerce-shop #main-content nav.woocommerce-pagination .page-numbers span,
body.post-type-archive-product #main-content nav.woocommerce-pagination .page-numbers a,
body.post-type-archive-product #main-content nav.woocommerce-pagination .page-numbers span,
body.tax-product_cat #main-content nav.woocommerce-pagination .page-numbers a,
body.tax-product_cat #main-content nav.woocommerce-pagination .page-numbers span,
body.tax-product_tag #main-content nav.woocommerce-pagination .page-numbers a,
body.tax-product_tag #main-content nav.woocommerce-pagination .page-numbers span {
	display: inline-flex !important;
	box-sizing: border-box;
	min-width: 40px;
	height: 40px;
	align-items: center;
	justify-content: center;
	margin: 0 !important;
	padding: 0 11px !important;
	border: 1px solid #cbd3de !important;
	border-radius: 6px;
	background: #ffffff !important;
	box-shadow: 0 2px 6px rgba(42, 53, 71, 0.06);
	color: #2a3547 !important;
	font-family: "Open Sans", Arial, sans-serif !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	transition: border-color 150ms ease, color 150ms ease, background-color 150ms ease, box-shadow 150ms ease;
}

body.woocommerce-shop #main-content nav.woocommerce-pagination .page-numbers span.current,
body.post-type-archive-product #main-content nav.woocommerce-pagination .page-numbers span.current,
body.tax-product_cat #main-content nav.woocommerce-pagination .page-numbers span.current,
body.tax-product_tag #main-content nav.woocommerce-pagination .page-numbers span.current {
	border-color: #2a3547 !important;
	background: #2a3547 !important;
	color: #ffffff !important;
	box-shadow: none;
}

body.woocommerce-shop #main-content nav.woocommerce-pagination .page-numbers a:hover,
body.woocommerce-shop #main-content nav.woocommerce-pagination .page-numbers a:focus-visible,
body.post-type-archive-product #main-content nav.woocommerce-pagination .page-numbers a:hover,
body.post-type-archive-product #main-content nav.woocommerce-pagination .page-numbers a:focus-visible,
body.tax-product_cat #main-content nav.woocommerce-pagination .page-numbers a:hover,
body.tax-product_cat #main-content nav.woocommerce-pagination .page-numbers a:focus-visible,
body.tax-product_tag #main-content nav.woocommerce-pagination .page-numbers a:hover,
body.tax-product_tag #main-content nav.woocommerce-pagination .page-numbers a:focus-visible {
	border-color: #d1232a !important;
	background: #fff7f7 !important;
	color: #d1232a !important;
	box-shadow: 0 2px 8px rgba(209, 35, 42, 0.10);
	outline: 0;
}

/* ---------------------------------------------------------
 * Tablet + phone filter disclosure.
 * Use the same centered treatment through 980px so there is
 * no awkward intermediate layout between desktop and phone.
 * --------------------------------------------------------- */
@media only screen and (max-width: 980.99px) {
	.trs-vf-catalog-filter {
		padding: 16px;
	}

	.trs-vf-catalog-filter-heading {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 10px;
		margin-bottom: 0;
		text-align: center;
	}

	.trs-vf-catalog-filter-heading > div {
		width: 100%;
		align-items: center;
		justify-content: center;
		text-align: center;
	}

	.trs-vf-catalog-kicker,
	.trs-vf-catalog-filter-heading strong {
		width: 100%;
		text-align: center;
	}

	.trs-vf-catalog-kicker {
		font-size: 11px;
	}

	.trs-vf-catalog-filter-heading strong {
		font-size: 22px;
	}

	.trs-vf-catalog-vehicle,
	.trs-vf-catalog-vehicle.is-empty {
		max-width: min(100%, 520px);
		margin-right: auto;
		margin-left: auto;
		justify-content: center;
		padding: 8px 14px;
		font-size: 13px;
		text-align: center;
	}

	.trs-vf-catalog-mobile-toggle:not([hidden]) {
		display: inline-flex;
		width: min(220px, 100%);
		min-height: 44px;
		align-items: center;
		justify-content: center;
		margin: 0 auto;
		padding: 0 18px;
		border: 1px solid var(--trs-vf-field-border);
		border-radius: 6px;
		background: #f7f9fc;
		color: var(--trs-vf-text);
		cursor: pointer;
		font: inherit;
		font-size: 14px;
		font-weight: 750;
		text-align: center;
	}

	.trs-vf-catalog-mobile-toggle:hover,
	.trs-vf-catalog-mobile-toggle:focus-visible,
	.trs-vf-catalog-mobile-toggle[aria-expanded="true"] {
		border-color: var(--trs-vf-blue);
		background: #f1f5fa;
		box-shadow: 0 0 0 3px rgba(68, 94, 134, 0.12);
		outline: 0;
	}

	.trs-vf-catalog-filter-body:not([hidden]) {
		width: 100%;
		max-width: 760px;
		margin: 16px auto 0;
	}

	.trs-vf-catalog-fitment legend,
	.trs-vf-catalog-select > span {
		text-align: center;
	}

	.trs-vf-catalog-select select {
		text-align: center;
		text-align-last: center;
	}

	.trs-vf-catalog-actions {
		justify-content: center;
	}

	.trs-vf-catalog-note {
		margin-top: 14px;
		font-size: 14px;
		text-align: center;
	}

	body.woocommerce-shop #main-content .woocommerce-result-count,
	body.post-type-archive-product #main-content .woocommerce-result-count,
	body.tax-product_cat #main-content .woocommerce-result-count,
	body.tax-product_tag #main-content .woocommerce-result-count {
		width: 100%;
		text-align: center;
	}
}

/* Tablet: two balanced columns when the filter is expanded. */
@media only screen and (min-width: 767px) and (max-width: 980.99px) {
	.trs-vf-catalog-filter-form,
	.trs-vf-catalog-filter-form.trs-vf-catalog-has-brand,
	.trs-vf-catalog-filter-form.trs-vf-catalog-has-groups,
	.trs-vf-catalog-filter-form.trs-vf-catalog-has-brand.trs-vf-catalog-has-groups {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.trs-vf-catalog-actions {
		grid-column: 1 / -1;
	}
}

/* Phone: one centered control per row with a stronger primary action. */
@media only screen and (max-width: 766.99px) {
	.trs-vf-catalog-filter {
		padding: 14px;
	}

	.trs-vf-catalog-filter-heading strong {
		font-size: 21px;
	}

	.trs-vf-catalog-filter-body:not([hidden]) {
		max-width: 520px;
		margin-top: 14px;
	}

	.trs-vf-catalog-filter-form,
	.trs-vf-catalog-filter-form.trs-vf-catalog-has-brand,
	.trs-vf-catalog-filter-form.trs-vf-catalog-has-groups,
	.trs-vf-catalog-filter-form.trs-vf-catalog-has-brand.trs-vf-catalog-has-groups {
		grid-template-columns: 1fr;
		gap: 11px;
	}

	.trs-vf-catalog-actions {
		height: auto;
		flex-wrap: wrap;
		justify-content: center;
	}

	.trs-vf-catalog-actions button {
		flex: 1 1 100%;
		width: 100%;
	}

	.trs-vf-catalog-actions a {
		height: 36px;
	}

	.trs-vf-catalog-note {
		font-size: 13.5px;
		line-height: 1.5;
	}

	body.woocommerce-shop #main-content nav.woocommerce-pagination,
	body.post-type-archive-product #main-content nav.woocommerce-pagination,
	body.tax-product_cat #main-content nav.woocommerce-pagination,
	body.tax-product_tag #main-content nav.woocommerce-pagination {
		margin-top: 22px !important;
	}

	body.woocommerce-shop #main-content nav.woocommerce-pagination .page-numbers a,
	body.woocommerce-shop #main-content nav.woocommerce-pagination .page-numbers span,
	body.post-type-archive-product #main-content nav.woocommerce-pagination .page-numbers a,
	body.post-type-archive-product #main-content nav.woocommerce-pagination .page-numbers span,
	body.tax-product_cat #main-content nav.woocommerce-pagination .page-numbers a,
	body.tax-product_cat #main-content nav.woocommerce-pagination .page-numbers span,
	body.tax-product_tag #main-content nav.woocommerce-pagination .page-numbers a,
	body.tax-product_tag #main-content nav.woocommerce-pagination .page-numbers span {
		min-width: 36px;
		height: 36px;
		padding: 0 9px !important;
		font-size: 13px !important;
	}
}

/* Tablet disclosure text state (the original phone rules stop at 766.99px). */
@media only screen and (min-width: 767px) and (max-width: 980.99px) {
	.trs-vf-catalog-mobile-toggle-hide {
		display: none;
	}

	.trs-vf-catalog-mobile-toggle[aria-expanded="true"] .trs-vf-catalog-mobile-toggle-show {
		display: none;
	}

	.trs-vf-catalog-mobile-toggle[aria-expanded="true"] .trs-vf-catalog-mobile-toggle-hide {
		display: inline;
	}
}

/* =========================================================
 * v1.8.27 — SHOP ARCHIVE LAYOUT + CARD SYSTEM
 * =========================================================
 * The body.trs-vf-catalog-layout class is added only to the WooCommerce
 * catalog archive by the plugin. All page-level rules below stay inside
 * #main-content so Theme Builder headers and footers are not restyled here.
 * ========================================================= */

/* ---------------------------------------------------------
 * Shop page frame / title
 * --------------------------------------------------------- */
body.trs-vf-catalog-layout #main-content .container {
	width: calc(100% - 48px) !important;
	max-width: 1540px !important;
	padding-top: 22px !important;
}

body.trs-vf-catalog-layout #main-content #left-area {
	padding-bottom: 28px !important;
}

body.trs-vf-catalog-layout #main-content .woocommerce-breadcrumb {
	display: none !important;
}

body.trs-vf-catalog-layout #main-content .woocommerce-products-header {
	margin: 0 0 18px !important;
	padding: 0 !important;
	text-align: center !important;
}

body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title {
	margin: 0 !important;
	padding: 0 !important;
	color: #2a3547 !important;
	font-family: "Bayon", Helvetica, Arial, sans-serif !important;
	font-size: clamp(36px, 3.2vw, 48px) !important;
	font-weight: 400 !important;
	letter-spacing: 0.02em !important;
	line-height: 1.05 !important;
	text-align: center !important;
	text-transform: uppercase !important;
}

/* ---------------------------------------------------------
 * Shop filter — cleaner desktop hierarchy
 * --------------------------------------------------------- */
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter {
	margin-bottom: 18px;
	padding: 18px 20px;
	border-color: #cbd3de;
	border-top: 3px solid #445e86;
	border-radius: 10px;
	box-shadow: 0 4px 16px rgba(42, 53, 71, 0.07);
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-heading {
	margin-bottom: 14px;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-kicker {
	color: #445e86;
	font-size: 11px;
	letter-spacing: 0.09em;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-heading strong {
	color: #2a3547;
	font-size: 21px;
	line-height: 1.15;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-vehicle,
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-vehicle.is-empty {
	max-width: 52%;
	padding: 8px 12px;
	border: 1px solid #d5dce5;
	border-radius: 6px;
	box-shadow: none;
	font-size: 12.5px;
	font-weight: 750;
	line-height: 1.2;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-vehicle.is-empty {
	background: #f3f5f7;
	color: #2a3547;
}

@media only screen and (min-width: 981px) {
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-form,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-form.trs-vf-catalog-has-brand,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-form.trs-vf-catalog-has-groups,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-form.trs-vf-catalog-has-brand.trs-vf-catalog-has-groups {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		column-gap: 14px;
		row-gap: 12px;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-actions {
		grid-column: 2 / -1;
		width: 100%;
		justify-content: flex-end;
	}
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-actions {
	gap: 10px;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-actions button,
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-actions a {
	min-width: 126px;
	height: 44px;
	padding: 0 18px;
	border-radius: 6px;
	font-size: 13px;
	font-weight: 800;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-actions a {
	border: 1px solid #b9c4d2;
	background: #ffffff;
	color: #2a3547;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-actions a:hover,
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-actions a:focus {
	border-color: #445e86;
	background: #f3f6fa;
	color: #2a3547;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-note {
	margin-top: 12px;
	color: #3f4958;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.5;
}

/* ---------------------------------------------------------
 * Always-visible result toolbar / products-per-page control
 * --------------------------------------------------------- */
body.trs-vf-catalog-layout #main-content .woocommerce-result-count {
	float: left !important;
	margin: 8px 0 18px !important;
	color: #3f4958 !important;
	font-family: "Open Sans", Arial, sans-serif !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	line-height: 42px !important;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-page-size {
	display: flex;
	float: right;
	align-items: center;
	justify-content: flex-end;
	margin: 8px 0 18px;
	padding: 0;
	font-family: "Open Sans", Arial, sans-serif;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-page-size label {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	color: #3f4958;
	font-size: 14px;
	font-weight: 700;
	white-space: nowrap;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-page-size select {
	width: 78px;
	height: 42px;
	margin: 0;
	padding: 0 28px 0 12px;
	border: 1px solid #b9c4d2;
	border-radius: 6px;
	background-color: #ffffff;
	color: #2a3547;
	font: inherit;
	font-size: 14px;
	font-weight: 700;
	line-height: normal;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-page-size select:focus {
	border-color: #445e86;
	box-shadow: 0 0 0 3px rgba(68, 94, 134, 0.14);
	outline: 0;
}

/* ---------------------------------------------------------
 * Product-grid cards
 * --------------------------------------------------------- */
body.trs-vf-catalog-layout #main-content ul.products {
	display: grid !important;
	clear: both !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 22px !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.trs-vf-catalog-layout #main-content ul.products::before,
body.trs-vf-catalog-layout #main-content ul.products::after {
	display: none !important;
	content: none !important;
}

body.trs-vf-catalog-layout #main-content ul.products li.product {
	position: relative !important;
	display: flex !important;
	float: none !important;
	flex-direction: column !important;
	min-width: 0 !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 0 15px !important;
	overflow: hidden !important;
	border: 1px solid #dde3ea !important;
	border-radius: 10px !important;
	background: #ffffff !important;
	box-shadow: 0 5px 16px rgba(42, 53, 71, 0.10) !important;
	transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

body.trs-vf-catalog-layout #main-content ul.products li.product:hover {
	border-color: #c7d0dc !important;
	box-shadow: 0 9px 24px rgba(42, 53, 71, 0.15) !important;
	transform: translateY(-2px);
}

body.trs-vf-catalog-layout #main-content ul.products li.product .woocommerce-LoopProduct-link,
body.trs-vf-catalog-layout #main-content ul.products li.product .woocommerce-loop-product__link {
	display: flex !important;
	flex: 0 0 auto !important;
	flex-direction: column !important;
	color: inherit !important;
	text-decoration: none !important;
}

body.trs-vf-catalog-layout #main-content ul.products li.product a img,
body.trs-vf-catalog-layout #main-content ul.products li.product img.woocommerce-placeholder {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 1 / 1 !important;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: contain !important;
	object-position: center !important;
	border-radius: 0 !important;
	background: #ffffff !important;
	border-bottom: 1px solid #edf0f4 !important;
	box-sizing: border-box !important;
}

body.trs-vf-catalog-layout #main-content ul.products li.product .woocommerce-loop-product__title {
	display: -webkit-box !important;
	min-height: 48px;
	margin: 0 !important;
	padding: 14px 14px 5px !important;
	overflow: hidden;
	color: #2a3547 !important;
	font-family: "Bayon", Helvetica, Arial, sans-serif !important;
	font-size: 19px !important;
	font-weight: 400 !important;
	letter-spacing: 0.015em !important;
	line-height: 1.16 !important;
	text-align: center !important;
	text-transform: uppercase !important;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

body.trs-vf-catalog-layout #main-content ul.products li.product:hover .woocommerce-loop-product__title {
	color: #d1232a !important;
}

body.trs-vf-catalog-layout #main-content ul.products li.product .star-rating {
	margin: 2px 14px 6px !important;
}

body.trs-vf-catalog-layout #main-content ul.products li.product .trs-vf-loop-options {
	display: inline-flex;
	width: max-content;
	max-width: calc(100% - 28px);
	align-items: center;
	margin: 4px auto 6px;
	padding: 5px 8px;
	border-radius: 4px;
	background: #fff1f2;
	color: #b91f26;
	font-family: "Open Sans", Arial, sans-serif;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.02em;
	line-height: 1.2;
	text-transform: uppercase;
}

body.trs-vf-catalog-layout #main-content ul.products li.product .price {
	display: block !important;
	margin: 6px 14px 0 !important;
	padding: 5px 0 0 !important;
	text-align: center !important;
	color: #2a3547 !important;
	font-family: "Open Sans", Arial, sans-serif !important;
	font-size: 19px !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
}

body.trs-vf-catalog-layout #main-content ul.products li.product .price del {
	margin-right: 5px;
	color: #8a94a3 !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	opacity: 1 !important;
}

body.trs-vf-catalog-layout #main-content ul.products li.product .price ins {
	color: #d1232a !important;
	font-size: 20px !important;
	font-weight: 800 !important;
	text-decoration: none !important;
}

body.trs-vf-catalog-layout #main-content ul.products li.product .button,
body.trs-vf-catalog-layout #main-content ul.products li.product .added_to_cart {
	display: inline-flex !important;
	width: calc(100% - 28px) !important;
	min-height: 40px !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 12px 14px 0 !important;
	padding: 0 12px !important;
	border: 1px solid #d1232a !important;
	border-radius: 6px !important;
	background: #d1232a !important;
	color: #ffffff !important;
	font-family: "Bayon", Helvetica, Arial, sans-serif !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	text-align: center !important;
	text-transform: uppercase !important;
}

body.trs-vf-catalog-layout #main-content ul.products li.product .button:hover,
body.trs-vf-catalog-layout #main-content ul.products li.product .button:focus,
body.trs-vf-catalog-layout #main-content ul.products li.product .added_to_cart:hover,
body.trs-vf-catalog-layout #main-content ul.products li.product .added_to_cart:focus {
	border-color: #ff0000 !important;
	background: #ff0000 !important;
	color: #ffffff !important;
}

/* Sale badge — TuneRS red, not WooCommerce orange. */
body.trs-vf-catalog-layout #main-content ul.products li.product span.onsale {
	position: absolute !important;
	z-index: 6 !important;
	top: 12px !important;
	right: auto !important;
	left: 12px !important;
	min-width: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 10px 14px !important;
	border: 0 !important;
	border-radius: 6px !important;
	background: #d1232a !important;
	box-shadow: 0 5px 13px rgba(209, 35, 42, 0.26) !important;
	color: #ffffff !important;
	font-family: "Bayon", Helvetica, Arial, sans-serif !important;
	font-size: 19px !important;
	font-weight: 400 !important;
	letter-spacing: 0.03em !important;
	line-height: 1 !important;
	text-transform: uppercase !important;
}

/* Fitment badge overlays the image at top-right, like a catalog status chip. */
body.trs-vf-catalog-layout #main-content ul.products li.product .trs-vf-loop-badge {
	position: absolute !important;
	z-index: 5 !important;
	top: 10px !important;
	right: 10px !important;
	left: auto !important;
	width: max-content !important;
	max-width: 72% !important;
	margin: 0 !important;
	padding: 6px 8px !important;
	border-radius: 5px !important;
	box-shadow: 0 3px 9px rgba(42, 53, 71, 0.13) !important;
	font-size: 11.5px !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	text-align: left !important;
}

body.trs-vf-catalog-layout #main-content ul.products li.product .trs-vf-loop-badge-icon {
	flex-basis: 18px;
	width: 18px;
	height: 18px;
}

/* ---------------------------------------------------------
 * Pagination — keep it compact and branded
 * --------------------------------------------------------- */
body.trs-vf-catalog-layout #main-content nav.woocommerce-pagination {
	margin: 26px auto 2px !important;
}

body.trs-vf-catalog-layout #main-content nav.woocommerce-pagination .page-numbers span.current {
	border-color: #d1232a !important;
	background: #d1232a !important;
	color: #ffffff !important;
}

/* ---------------------------------------------------------
 * Tablet
 * --------------------------------------------------------- */
@media only screen and (min-width: 767px) and (max-width: 980.99px) {
	body.trs-vf-catalog-layout #main-content .container {
		width: 94% !important;
		padding-top: 18px !important;
	}

	body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title {
		font-size: 36px !important;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-heading,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-heading > div {
		align-items: center !important;
		justify-content: center !important;
		text-align: center !important;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-vehicle,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-vehicle.is-empty {
		max-width: 100%;
		margin-right: auto;
		margin-left: auto;
		justify-content: center;
		text-align: center;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-form,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-form.trs-vf-catalog-has-brand,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-form.trs-vf-catalog-has-groups,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-form.trs-vf-catalog-has-brand.trs-vf-catalog-has-groups {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-actions {
		grid-column: 1 / -1;
		justify-content: center;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-actions button,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-actions a {
		min-width: 150px;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-note,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-fitment legend,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-select > span {
		text-align: center;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-select select {
		text-align: center;
		text-align-last: center;
	}

	body.trs-vf-catalog-layout #main-content ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 18px !important;
	}
}

/* ---------------------------------------------------------
 * Phone
 * --------------------------------------------------------- */
@media only screen and (max-width: 766.99px) {
	body.trs-vf-catalog-layout #main-content .container {
		width: 94% !important;
		padding-top: 14px !important;
	}

	body.trs-vf-catalog-layout #main-content .woocommerce-products-header {
		margin-bottom: 14px !important;
	}

	body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title {
		font-size: 32px !important;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter {
		margin-bottom: 14px;
		padding: 14px;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-heading,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-heading > div {
		align-items: center !important;
		justify-content: center !important;
		text-align: center !important;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-heading strong {
		font-size: 21px;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-vehicle,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-vehicle.is-empty {
		max-width: 100%;
		margin-right: auto;
		margin-left: auto;
		justify-content: center;
		font-size: 12.5px;
		text-align: center;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-mobile-toggle:not([hidden]) {
		width: min(240px, 100%);
		margin-right: auto;
		margin-left: auto;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-body:not([hidden]) {
		max-width: 540px;
		margin-right: auto;
		margin-left: auto;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-form,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-form.trs-vf-catalog-has-brand,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-form.trs-vf-catalog-has-groups,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-form.trs-vf-catalog-has-brand.trs-vf-catalog-has-groups {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-fitment legend,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-select > span,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-note {
		text-align: center;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-select select {
		text-align: center;
		text-align-last: center;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-actions {
		grid-column: 1;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
		height: auto;
		justify-content: stretch;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-actions button,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-actions a {
		width: 100%;
		min-width: 0;
		height: 42px;
		padding: 0 10px;
	}

	body.trs-vf-catalog-layout #main-content .woocommerce-result-count,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-page-size {
		float: none !important;
		width: 100%;
		margin: 6px auto 12px !important;
		justify-content: center;
		text-align: center;
	}

	body.trs-vf-catalog-layout #main-content .woocommerce-result-count {
		line-height: 1.4 !important;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-page-size label {
		justify-content: center;
		font-size: 13.5px;
	}

	body.trs-vf-catalog-layout #main-content ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 12px !important;
	}

	body.trs-vf-catalog-layout #main-content ul.products li.product {
		padding-bottom: 11px !important;
		border-radius: 8px !important;
	}

	body.trs-vf-catalog-layout #main-content ul.products li.product a img,
	body.trs-vf-catalog-layout #main-content ul.products li.product img.woocommerce-placeholder {
		padding: 0 !important;
	}

	body.trs-vf-catalog-layout #main-content ul.products li.product .woocommerce-loop-product__title {
		min-height: 42px;
		padding: 10px 9px 4px !important;
		font-size: 15.5px !important;
		line-height: 1.15 !important;
	}

	body.trs-vf-catalog-layout #main-content ul.products li.product .trs-vf-loop-options {
		max-width: calc(100% - 18px);
		margin: 3px auto 5px;
		padding: 4px 6px;
		font-size: 9.5px;
	}

	body.trs-vf-catalog-layout #main-content ul.products li.product .price {
		margin-right: 9px !important;
		margin-left: 9px !important;
		font-size: 16px !important;
	}

	body.trs-vf-catalog-layout #main-content ul.products li.product .price del {
		display: block;
		margin: 0 0 2px;
		font-size: 11px !important;
	}

	body.trs-vf-catalog-layout #main-content ul.products li.product .price ins {
		font-size: 17px !important;
	}

	body.trs-vf-catalog-layout #main-content ul.products li.product span.onsale {
		top: 8px !important;
		left: 8px !important;
		padding: 7px 9px !important;
		font-size: 14px !important;
	}

	body.trs-vf-catalog-layout #main-content ul.products li.product .trs-vf-loop-badge {
		top: 7px !important;
		right: 7px !important;
		max-width: 72% !important;
		padding: 5px 6px !important;
		border-radius: 4px !important;
		font-size: 10px !important;
	}

	body.trs-vf-catalog-layout #main-content ul.products li.product .trs-vf-loop-badge-icon {
		flex-basis: 15px;
		width: 15px;
		height: 15px;
	}

	body.trs-vf-catalog-layout #main-content ul.products li.product .button,
	body.trs-vf-catalog-layout #main-content ul.products li.product .added_to_cart {
		width: calc(100% - 18px) !important;
		min-height: 36px !important;
		margin: 9px 9px 0 !important;
		font-size: 13px !important;
	}
}

@media only screen and (max-width: 420px) {
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-actions {
		grid-template-columns: 1fr;
	}

	body.trs-vf-catalog-layout #main-content ul.products {
		gap: 10px !important;
	}

	body.trs-vf-catalog-layout #main-content ul.products li.product .woocommerce-loop-product__title {
		font-size: 14px !important;
	}

	body.trs-vf-catalog-layout #main-content ul.products li.product .trs-vf-loop-badge {
		max-width: 76% !important;
		font-size: 9.5px !important;
	}
}

/* =========================================================
 * v1.8.29 — SHOP FILTER READABILITY
 * =========================================================
 * Raise the complete Shop filter UI by roughly one pixel without touching
 * the global header/footer finder typography.
 * ========================================================= */
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-kicker {
	font-size: 12px;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-heading strong {
	font-size: 22px;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-vehicle,
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-vehicle.is-empty {
	font-size: 13.5px;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-fitment legend,
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-select > span {
	font-size: 12px;
}

body.trs-vf-catalog-layout #main-content .trs-vf-filter-toggle span,
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-select select {
	font-size: 13px;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-actions button,
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-actions a {
	font-size: 14px;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-note {
	font-size: 16px;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-page-size label,
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-page-size select {
	font-size: 15px;
}

@media only screen and (max-width: 980.99px) {
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-mobile-toggle:not([hidden]) {
		font-size: 14px;
	}
}

/* =========================================================
 * v1.8.31 — COMPACT RESPONSIVE SHOP LAYOUT
 * =========================================================
 * Uses horizontal space more efficiently without touching the Theme Builder
 * header or footer. Every selector remains inside the Shop content wrapper.
 * ========================================================= */

/* Give the catalog a little more usable width on large monitors. */
body.trs-vf-catalog-layout #main-content .container {
	width: calc(100% - 36px) !important;
	max-width: 1720px !important;
	padding-top: 18px !important;
}

body.trs-vf-catalog-layout #main-content .woocommerce-products-header {
	margin-bottom: 14px !important;
}

/* Compact the filter shell itself. */
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter {
	margin-bottom: 14px;
	padding: 14px 16px;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-heading {
	margin-bottom: 10px;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-heading > div {
	gap: 1px;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-vehicle,
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-vehicle.is-empty {
	padding: 7px 11px;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-note {
	margin-top: 8px;
	line-height: 1.4;
}

/* Tighter result toolbar so products begin sooner. */
body.trs-vf-catalog-layout #main-content .woocommerce-result-count,
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-page-size {
	margin-top: 4px !important;
	margin-bottom: 14px !important;
}

/* ---------------------------------------------------------
 * Wide desktop: all controls share one compact row.
 * --------------------------------------------------------- */
@media only screen and (min-width: 1280px) {
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-form,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-form.trs-vf-catalog-has-brand,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-form.trs-vf-catalog-has-groups,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-form.trs-vf-catalog-has-brand.trs-vf-catalog-has-groups {
		grid-template-columns:
			minmax(220px, 1.28fr)
			minmax(155px, 1fr)
			minmax(155px, 1fr)
			minmax(155px, 1fr)
			minmax(155px, 0.95fr)
			minmax(250px, auto);
		column-gap: 10px;
		row-gap: 0;
		align-items: end;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-actions {
		grid-column: auto;
		width: auto;
		gap: 8px;
		justify-content: stretch;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-actions button,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-actions a {
		flex: 1 1 0;
		min-width: 0;
		padding-right: 14px;
		padding-left: 14px;
	}
}

/* ---------------------------------------------------------
 * Smaller desktop: balanced 3 x 2 layout with no empty half-row.
 * --------------------------------------------------------- */
@media only screen and (min-width: 981px) and (max-width: 1279.99px) {
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-form,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-form.trs-vf-catalog-has-brand,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-form.trs-vf-catalog-has-groups,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-form.trs-vf-catalog-has-brand.trs-vf-catalog-has-groups {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 10px 12px;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-actions {
		grid-column: auto;
		width: 100%;
		gap: 8px;
		justify-content: stretch;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-actions button,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-actions a {
		flex: 1 1 0;
		min-width: 0;
	}
}

/* ---------------------------------------------------------
 * Tablet: turn the collapsed filter into a compact toolbar.
 * When expanded, the existing two-column filter remains intact.
 * --------------------------------------------------------- */
@media only screen and (min-width: 767px) and (max-width: 980.99px) {
	body.trs-vf-catalog-layout #main-content .container {
		width: calc(100% - 24px) !important;
		max-width: none !important;
		padding-top: 14px !important;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter {
		padding: 12px 14px;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-heading {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto minmax(160px, 220px);
		gap: 12px;
		align-items: center !important;
		margin-bottom: 0;
		text-align: left !important;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-heading > div {
		align-items: flex-start !important;
		justify-content: center !important;
		text-align: left !important;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-vehicle,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-vehicle.is-empty {
		width: auto;
		max-width: 260px;
		margin: 0;
		justify-self: end;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-mobile-toggle:not([hidden]) {
		width: 100%;
		min-width: 0;
		margin: 0;
		justify-self: end;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-body:not([hidden]) {
		width: 100%;
		max-width: none;
		margin: 14px 0 0;
	}

	body.trs-vf-catalog-layout #main-content .woocommerce-result-count {
		float: left !important;
		width: auto;
		margin: 4px 0 12px !important;
		line-height: 42px !important;
		text-align: left;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-page-size {
		float: right !important;
		width: auto;
		margin: 4px 0 12px !important;
		justify-content: flex-end;
	}
}

/* ---------------------------------------------------------
 * Phone: use nearly the full content width and make the filter disclosure
 * itself wide instead of leaving a narrow button in a large white card.
 * --------------------------------------------------------- */
@media only screen and (max-width: 766.99px) {
	body.trs-vf-catalog-layout #main-content .container {
		width: calc(100% - 20px) !important;
		max-width: none !important;
		padding-top: 12px !important;
	}

	body.trs-vf-catalog-layout #main-content .woocommerce-products-header {
		margin-bottom: 12px !important;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter {
		margin-bottom: 12px;
		padding: 13px 14px 14px;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-heading {
		gap: 8px;
		margin-bottom: 0;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-mobile-toggle:not([hidden]) {
		width: 100%;
		max-width: none;
		margin: 2px 0 0;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-body:not([hidden]) {
		width: 100%;
		max-width: none;
		margin: 12px 0 0;
	}

	/* On wide phones, keep the result summary and density selector together. */
	body.trs-vf-catalog-layout #main-content .woocommerce-result-count {
		float: left !important;
		width: auto;
		margin: 4px 0 12px !important;
		line-height: 42px !important;
		text-align: left;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-page-size {
		float: right !important;
		width: auto;
		margin: 4px 0 12px !important;
		justify-content: flex-end;
	}
}

/* Narrow phones stack the result toolbar again, but with much tighter spacing. */
@media only screen and (max-width: 559.99px) {
	body.trs-vf-catalog-layout #main-content .woocommerce-result-count,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-page-size {
		float: none !important;
		width: 100%;
		margin: 3px auto 8px !important;
		justify-content: center;
		text-align: center;
	}

	body.trs-vf-catalog-layout #main-content .woocommerce-result-count {
		line-height: 1.35 !important;
	}
}

/* =========================================================
 * v1.8.32 — EQUAL-HEIGHT CATALOG CARDS + TOOLBAR ALIGNMENT
 * =========================================================
 * Keeps the Shop grid visually even, aligns the result toolbar, and centers
 * sale prices without changing the Theme Builder header or footer.
 * ========================================================= */

/* Equal-height grid tracks and cards. */
body.trs-vf-catalog-layout #main-content ul.products {
	align-items: stretch !important;
	grid-auto-rows: 1fr !important;
}

body.trs-vf-catalog-layout #main-content ul.products li.product {
	height: 100% !important;
	align-self: stretch !important;
}

/* Let the product information occupy the remaining card height. */
body.trs-vf-catalog-layout #main-content ul.products li.product .woocommerce-LoopProduct-link,
body.trs-vf-catalog-layout #main-content ul.products li.product .woocommerce-loop-product__link {
	flex: 1 1 auto !important;
	min-height: 0 !important;
}

/* Push every visible price row to the same lower baseline within the card. */
body.trs-vf-catalog-layout #main-content ul.products li.product .price {
	display: flex !important;
	min-height: 34px !important;
	align-items: center !important;
	justify-content: center !important;
	margin: auto 14px 0 !important;
	padding-top: 7px !important;
	box-sizing: border-box !important;
}

/*
 * Sale products normally center the old + new prices as one group, which
 * visually pushes the active sale price to the right. Equal flexible columns
 * on both sides keep the red sale price itself on the true card centerline.
 */
body.trs-vf-catalog-layout #main-content ul.products li.product .price:has(del):has(ins) {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
	column-gap: 6px !important;
	align-items: baseline !important;
	justify-content: stretch !important;
}

body.trs-vf-catalog-layout #main-content ul.products li.product .price:has(del):has(ins) del {
	grid-column: 1;
	justify-self: end;
	margin: 0 !important;
	white-space: nowrap;
}

body.trs-vf-catalog-layout #main-content ul.products li.product .price:has(del):has(ins) ins {
	grid-column: 2;
	justify-self: center;
	margin: 0 !important;
	white-space: nowrap;
}

/* Result count and density control share one vertical centerline. */
body.trs-vf-catalog-layout #main-content .woocommerce-result-count,
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-page-size {
	min-height: 42px !important;
	box-sizing: border-box !important;
}

body.trs-vf-catalog-layout #main-content .woocommerce-result-count {
	display: flex !important;
	align-items: center !important;
	line-height: 1.3 !important;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-page-size,
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-page-size label {
	align-items: center !important;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-page-size label {
	min-height: 42px !important;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-page-size select {
	height: 42px !important;
	min-height: 42px !important;
	max-height: 42px !important;
	box-sizing: border-box !important;
}

/* On very narrow cards, stack the old price above while keeping sale centered. */
@media only screen and (max-width: 479.99px) {
	body.trs-vf-catalog-layout #main-content ul.products li.product .price:has(del):has(ins) {
		grid-template-columns: 1fr !important;
		row-gap: 1px !important;
	}

	body.trs-vf-catalog-layout #main-content ul.products li.product .price:has(del):has(ins) del,
	body.trs-vf-catalog-layout #main-content ul.products li.product .price:has(del):has(ins) ins {
		grid-column: 1;
		justify-self: center;
	}
}


/* =========================================================
 * v1.8.33 — SHOP CONTROL RHYTHM + VISUAL POLISH
 * =========================================================
 * Equalizes the Shop filter controls, uses the empty tablet grid cell for
 * Apply/Clear, vertically centers product pricing in the remaining card space,
 * and gives the catalog a subtle TuneRS page treatment. Every selector stays
 * below #main-content so Theme Builder headers and footers remain untouched.
 * ========================================================= */

/* A subtle page canvas lets the white filter/card surfaces read as components
 * instead of floating in an undifferentiated white page. */
body.trs-vf-catalog-layout #main-content {
	background:
		radial-gradient(circle at 12% 0%, rgba(68, 94, 134, 0.075), transparent 34rem),
		linear-gradient(180deg, #f6f8fb 0, #fbfcfe 300px, #ffffff 620px) !important;
}

/* Give the Shop title a compact TuneRS accent. */
body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title {
	position: relative;
	padding-bottom: 12px !important;
}

body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title::after {
	content: "";
	display: block;
	width: 54px;
	height: 3px;
	margin: 9px auto 0;
	border-radius: 999px;
	background: #d1232a;
}

/* Refine the filter surface without adding height. */
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter {
	background: linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%);
	box-shadow:
		0 8px 24px rgba(42, 53, 71, 0.07),
		inset 0 1px 0 rgba(255, 255, 255, 0.95);
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-heading strong {
	font-family: "Bayon", "Open Sans", Arial, sans-serif !important;
	font-weight: 400 !important;
	letter-spacing: 0.025em;
}

/* Make every field label read like a small section header. */
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-fitment legend,
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-select > span {
	box-sizing: border-box;
	width: max-content;
	max-width: 100%;
	margin: 0 0 7px;
	padding: 3px 8px 3px 9px;
	border-left: 3px solid #d1232a;
	border-radius: 4px;
	background: #eef3f8;
	color: #2a3547;
	font-family: "Bayon", "Open Sans", Arial, sans-serif !important;
	font-size: 15px;
	font-weight: 400;
	letter-spacing: 0.035em;
	line-height: 1.15;
	text-transform: uppercase;
}

/* ---------------------------------------------------------
 * Desktop + tablet expanded filter: one consistent control height.
 * --------------------------------------------------------- */
@media only screen and (min-width: 767px) {
	body.trs-vf-catalog-layout #main-content .trs-vf-filter-toggle,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-select select,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-actions {
		height: 54px !important;
		min-height: 54px !important;
		max-height: 54px !important;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-filter-toggle label,
	body.trs-vf-catalog-layout #main-content .trs-vf-filter-toggle span {
		height: 100%;
		min-height: 0;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-actions button,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-actions a {
		height: 54px !important;
		min-height: 54px !important;
		max-height: 54px !important;
	}
}

/* Tablet: there are exactly six grid items when Model Group + Brand exist.
 * Let Sort occupy the left cell of the last row and use the previously blank
 * right cell for Apply/Clear instead of creating a fourth row. */
@media only screen and (min-width: 767px) and (max-width: 980.99px) {
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-form,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-form.trs-vf-catalog-has-brand,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-form.trs-vf-catalog-has-groups,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-form.trs-vf-catalog-has-brand.trs-vf-catalog-has-groups {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px 14px;
		align-items: end;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-actions {
		grid-column: auto !important;
		width: 100% !important;
		gap: 10px;
		align-self: end;
		justify-content: stretch;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-actions button,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-actions a {
		flex: 1 1 0;
		min-width: 0;
		padding-right: 10px;
		padding-left: 10px;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-fitment legend,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-select > span {
		margin-right: auto;
		margin-left: auto;
	}
}

/* ---------------------------------------------------------
 * Product cards: center the price vertically in whatever content space is left
 * below the title/options area instead of pinning it to the bottom edge.
 * --------------------------------------------------------- */
body.trs-vf-catalog-layout #main-content ul.products li.product .price {
	margin: auto 14px auto !important;
	padding-top: 4px !important;
	padding-bottom: 4px !important;
}

/* Preserve the true horizontal center for the active sale price. */
body.trs-vf-catalog-layout #main-content ul.products li.product .price:has(del):has(ins) {
	align-self: stretch;
}

/* Slightly richer card separation against the new page canvas. */
body.trs-vf-catalog-layout #main-content ul.products li.product {
	box-shadow: 0 7px 20px rgba(42, 53, 71, 0.09) !important;
}

body.trs-vf-catalog-layout #main-content ul.products li.product:hover {
	box-shadow: 0 12px 28px rgba(42, 53, 71, 0.14) !important;
}

/* Phone labels keep the same treatment but stay centered and compact. */
@media only screen and (max-width: 766.99px) {
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-fitment legend,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-select > span {
		margin-right: auto;
		margin-left: auto;
		font-size: 14px;
	}
}

/* =========================================================
 * v1.8.34 — FULL-WIDTH FILTER LABELS + COMPACT SHOP HEADING
 * =========================================================
 * Makes each filter category label span and visually belong to its control,
 * keeps the phone result toolbar side by side at every phone width, and moves
 * the Shop title accent beside the word so the heading uses less vertical space.
 * Every selector remains below #main-content.
 * ========================================================= */

/* ---------------------------------------------------------
 * Filter category labels: full control width, centered text.
 * --------------------------------------------------------- */
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-fitment legend,
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-select > span {
	display: flex !important;
	width: 100% !important;
	max-width: none !important;
	min-height: 30px;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	margin: 0 0 6px !important;
	padding: 5px 10px !important;
	border: 1px solid #e2e8f0;
	border-left: 4px solid #d1232a !important;
	border-radius: 5px;
	background: linear-gradient(90deg, #eef3f8 0%, #f7f9fc 100%) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
	text-align: center !important;
}

/* ---------------------------------------------------------
 * Shop title: replace the underline with compact side accents.
 * --------------------------------------------------------- */
body.trs-vf-catalog-layout #main-content .woocommerce-products-header {
	margin-bottom: 8px !important;
}

body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 11px;
	padding-bottom: 0 !important;
}

body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title::before,
body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title::after {
	content: "";
	display: block;
	flex: 0 0 clamp(24px, 3vw, 38px);
	width: clamp(24px, 3vw, 38px);
	height: 3px;
	margin: 0 !important;
	border-radius: 999px;
}

body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title::before {
	background: linear-gradient(90deg, rgba(68, 94, 134, 0.30) 0 28%, #d1232a 28% 100%);
}

body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title::after {
	background: linear-gradient(90deg, #d1232a 0 72%, rgba(68, 94, 134, 0.30) 72% 100%);
}

/* Pull the page contents upward slightly now that the title no longer needs
 * room for a separate underline. */
body.trs-vf-catalog-layout #main-content .container {
	padding-top: 12px !important;
}

/* ---------------------------------------------------------
 * Phone result toolbar: always one horizontal row.
 * Text may wrap inside its half, but the two controls never stack vertically.
 * --------------------------------------------------------- */
@media only screen and (max-width: 766.99px) {
	body.trs-vf-catalog-layout #main-content .container {
		padding-top: 8px !important;
	}

	body.trs-vf-catalog-layout #main-content .woocommerce-products-header {
		margin-bottom: 7px !important;
	}

	body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title {
		gap: 8px;
	}

	body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title::before,
	body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title::after {
		flex-basis: 22px;
		width: 22px;
	}

	body.trs-vf-catalog-layout #main-content .woocommerce-result-count {
		display: flex !important;
		float: left !important;
		width: 48% !important;
		min-height: 44px !important;
		box-sizing: border-box !important;
		align-items: center !important;
		justify-content: flex-start !important;
		margin: 5px 0 10px !important;
		padding-right: 6px;
		font-size: clamp(13px, 3.65vw, 16px) !important;
		line-height: 1.22 !important;
		text-align: left !important;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-page-size {
		display: flex !important;
		float: right !important;
		width: 52% !important;
		min-height: 44px !important;
		box-sizing: border-box !important;
		align-items: center !important;
		justify-content: flex-end !important;
		margin: 5px 0 10px !important;
		padding-left: 6px;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-page-size label {
		display: flex !important;
		width: 100%;
		min-height: 44px !important;
		align-items: center !important;
		justify-content: flex-end !important;
		gap: 6px;
		font-size: clamp(12px, 3.45vw, 15px) !important;
		line-height: 1.15 !important;
		white-space: normal !important;
		text-align: right;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-page-size select {
		flex: 0 0 62px;
		width: 62px !important;
		height: 40px !important;
		min-height: 40px !important;
		max-height: 40px !important;
		padding-left: 9px;
		padding-right: 22px;
	}
}


/* =========================================================
 * v1.8.35 — DIVIDER FILTER LABELS + SOLID SHOP ACCENTS
 * =========================================================
 * Replaces the large full-width filter-label bars with a lighter editorial
 * divider treatment. The label remains centered across the control width, but
 * fine rules visually connect it to the field without adding another box.
 * SHOP title accents are solid TuneRS red. All rules stay below #main-content.
 * ========================================================= */

/* Clean divider-style category labels. */
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-fitment legend,
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-select > span {
	display: grid !important;
	grid-template-columns: minmax(18px, 1fr) auto minmax(18px, 1fr) !important;
	column-gap: 10px !important;
	width: 100% !important;
	max-width: none !important;
	min-height: 24px !important;
	box-sizing: border-box !important;
	align-items: center !important;
	justify-content: stretch !important;
	margin: 0 0 6px !important;
	padding: 0 2px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	color: #2a3547 !important;
	font-family: "Bayon", "Open Sans", Arial, sans-serif !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	letter-spacing: 0.055em !important;
	line-height: 1.1 !important;
	text-align: center !important;
	text-transform: uppercase !important;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-fitment legend::before,
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-fitment legend::after,
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-select > span::before,
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-select > span::after {
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	border-radius: 999px;
}

/* Fine steel-blue rule with the red accent kept nearest the label. */
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-fitment legend::before,
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-select > span::before {
	background: linear-gradient(90deg, #d7e0ea 0 78%, #d1232a 78% 100%);
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-fitment legend::after,
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-select > span::after {
	background: linear-gradient(90deg, #d1232a 0 22%, #d7e0ea 22% 100%);
}

/* SHOP title side accents are now fully red. */
body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title::before,
body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title::after {
	background: #d1232a !important;
}

@media only screen and (max-width: 766.99px) {
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-fitment legend,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-select > span {
		grid-template-columns: minmax(14px, 1fr) auto minmax(14px, 1fr) !important;
		column-gap: 8px !important;
		min-height: 22px !important;
		font-size: 14px !important;
	}
}



/* =========================================================
 * v1.8.36 — CENTERED RED FILTER DIVIDERS
 * =========================================================
 * Refines the filter category treatment from v1.8.35:
 * - solid TuneRS-red divider lines
 * - divider assembly uses only a centered percentage of the control width
 * - keeps the Bayon category label centered
 * - slightly wider proportional treatment on phones for readability
 * All rules remain scoped beneath #main-content.
 * ========================================================= */
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-fitment legend,
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-select > span {
	width: 72% !important;
	max-width: 420px !important;
	margin: 0 auto 6px !important;
	grid-template-columns: minmax(28px, 1fr) auto minmax(28px, 1fr) !important;
	column-gap: 12px !important;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-fitment legend::before,
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-fitment legend::after,
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-select > span::before,
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-select > span::after {
	background: #d1232a !important;
	height: 3px !important;
}

@media only screen and (max-width: 766.99px) {
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-fitment legend,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-select > span {
		width: 84% !important;
		max-width: 360px !important;
		grid-template-columns: minmax(20px, 1fr) auto minmax(20px, 1fr) !important;
		column-gap: 9px !important;
	}
}


/* =========================================================
 * v1.8.37 — FINAL SHOP MICRO-POLISH
 * =========================================================
 * Tightens the Shop header/filter rhythm, shortens and refines the red
 * category dividers, softens the vehicle-status pill, slightly narrows the
 * desktop filter presentation, aligns the result toolbar more intentionally,
 * and gives product cards a slightly calmer, more premium finish.
 * All selectors remain scoped beneath #main-content.
 * ========================================================= */

/* Slightly reduce the usable page width on large displays so the filter and
 * result toolbar feel curated instead of stretched. */
body.trs-vf-catalog-layout #main-content .container {
	width: calc(100% - 32px) !important;
	max-width: 1640px !important;
	padding-top: 8px !important;
}

body.trs-vf-catalog-layout #main-content .woocommerce-products-header {
	margin-bottom: 5px !important;
}

body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title {
	line-height: 1 !important;
	gap: 12px;
}

body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title::before,
body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title::after {
	flex-basis: clamp(22px, 2.6vw, 34px);
	width: clamp(22px, 2.6vw, 34px);
}

/* Keep the filter box strong, but tighten its rhythm and cap its width. */
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter {
	max-width: 1600px;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 12px;
	padding: 12px 16px 13px;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-heading {
	margin-bottom: 9px;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-heading > div {
	gap: 0;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-kicker {
	line-height: 1.1;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-note {
	margin-top: 7px;
	line-height: 1.38;
}

/* Soften the empty-vehicle badge so it informs without dominating. */
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-vehicle,
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-vehicle.is-empty {
	padding: 7px 11px;
	border-color: #d7dee8;
	background: linear-gradient(180deg, #f8fafc 0%, #f3f6fa 100%);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
	color: #425066;
	font-weight: 700;
}

/* Shorter centered red divider treatment. */
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-fitment legend,
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-select > span {
	width: 64% !important;
	max-width: 360px !important;
	min-height: 22px !important;
	margin: 0 auto 5px !important;
	grid-template-columns: minmax(18px, 1fr) auto minmax(18px, 1fr) !important;
	column-gap: 10px !important;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-fitment legend::before,
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-fitment legend::after,
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-select > span::before,
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-select > span::after {
	height: 2px !important;
}

/* Bring the result toolbar slightly closer and lighter. */
body.trs-vf-catalog-layout #main-content .woocommerce-result-count,
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-page-size {
	margin-top: 3px !important;
	margin-bottom: 12px !important;
	min-height: 40px !important;
}

body.trs-vf-catalog-layout #main-content .woocommerce-result-count {
	font-size: 15.5px !important;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-page-size label {
	gap: 8px;
	font-size: 14px;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-page-size select {
	width: 72px;
	height: 40px !important;
	min-height: 40px !important;
	max-height: 40px !important;
	padding-right: 24px;
	padding-left: 11px;
}

/* Product cards: slightly softer shadows and more even content rhythm. */
body.trs-vf-catalog-layout #main-content ul.products {
	gap: 20px !important;
}

body.trs-vf-catalog-layout #main-content ul.products li.product {
	padding-bottom: 14px !important;
	box-shadow: 0 5px 15px rgba(42, 53, 71, 0.08) !important;
}

body.trs-vf-catalog-layout #main-content ul.products li.product:hover {
	box-shadow: 0 10px 24px rgba(42, 53, 71, 0.12) !important;
}

body.trs-vf-catalog-layout #main-content ul.products li.product .woocommerce-loop-product__title {
	padding: 13px 14px 6px !important;
}

body.trs-vf-catalog-layout #main-content ul.products li.product .trs-vf-loop-options {
	margin: 4px auto 5px;
}

body.trs-vf-catalog-layout #main-content ul.products li.product .price {
	min-height: 38px !important;
	padding-top: 4px !important;
	padding-bottom: 4px !important;
}

@media only screen and (min-width: 981px) {
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-form,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-form.trs-vf-catalog-has-brand,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-form.trs-vf-catalog-has-groups,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-form.trs-vf-catalog-has-brand.trs-vf-catalog-has-groups {
		column-gap: 12px;
		row-gap: 10px;
	}
}

@media only screen and (min-width: 767px) and (max-width: 980.99px) {
	body.trs-vf-catalog-layout #main-content .container {
		width: calc(100% - 20px) !important;
		padding-top: 8px !important;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter {
		padding: 12px 14px 13px;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-body:not([hidden]) {
		margin-top: 12px;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-fitment legend,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-select > span {
		width: 72% !important;
		max-width: 320px !important;
	}
}

@media only screen and (max-width: 766.99px) {
	body.trs-vf-catalog-layout #main-content .container {
		width: calc(100% - 16px) !important;
		padding-top: 6px !important;
	}

	body.trs-vf-catalog-layout #main-content .woocommerce-products-header {
		margin-bottom: 6px !important;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter {
		padding: 12px 12px 13px;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-heading {
		gap: 7px;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-fitment legend,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-select > span {
		width: 78% !important;
		max-width: 300px !important;
		column-gap: 8px !important;
	}

	body.trs-vf-catalog-layout #main-content .woocommerce-result-count {
		width: 47% !important;
		margin: 4px 0 9px !important;
		padding-right: 4px;
		font-size: clamp(12.5px, 3.45vw, 15.5px) !important;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-page-size {
		width: 53% !important;
		margin: 4px 0 9px !important;
		padding-left: 4px;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-page-size label {
		gap: 5px;
		font-size: clamp(11.75px, 3.2vw, 14px) !important;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-page-size select {
		flex-basis: 58px;
		width: 58px !important;
		height: 38px !important;
		min-height: 38px !important;
		max-height: 38px !important;
	}

	body.trs-vf-catalog-layout #main-content ul.products {
		gap: 12px !important;
	}

	body.trs-vf-catalog-layout #main-content ul.products li.product {
		box-shadow: 0 4px 12px rgba(42, 53, 71, 0.07) !important;
	}
}


/* =========================================================
 * v1.8.38 — SMALL-SCREEN + CATALOG FINISHING TOUCHES
 * =========================================================
 * Keeps Apply/Clear side by side on narrow phones, shortens the page-size
 * label where space is tight, de-emphasizes helper and neutral fitment states,
 * and supports the branded product-image placeholder without changing the
 * established SHOP title or red category-divider treatment.
 * ========================================================= */

/* Full label by default; compact label is revealed only on small phones. */
body.trs-vf-catalog-layout #main-content .trs-vf-page-size-label-short {
	display: none;
}

/* The no-vehicle helper remains useful but should not compete with controls. */
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-note.is-empty-vehicle {
	margin-top: 7px;
	padding-left: 10px;
	border-left: 2px solid #d7dee8;
	color: #6f7988;
	font-size: 13.5px;
	font-weight: 500;
	line-height: 1.4;
}

/* Neutral / unconfirmed fitment chips stay readable but visually quieter than
 * Universal Fit or confirmed-fit states. */
body.trs-vf-catalog-layout #main-content ul.products li.product .trs-vf-loop-badge-neutral {
	box-shadow: 0 1px 4px rgba(42, 53, 71, 0.08) !important;
	opacity: 0.92;
}

body.trs-vf-catalog-layout #main-content ul.products li.product .trs-vf-loop-badge-neutral .trs-vf-loop-badge-icon {
	opacity: 0.9;
}

/* Keep the bundled SVG placeholder clean and flush like real product images. */
body.trs-vf-catalog-layout #main-content ul.products li.product img.woocommerce-placeholder {
	background: #f7f9fc !important;
}

@media only screen and (max-width: 430px) {
	body.trs-vf-catalog-layout #main-content .trs-vf-page-size-label-full {
		display: none;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-page-size-label-short {
		display: inline;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-page-size label {
		white-space: nowrap !important;
	}
}

/* An older compact-phone rule stacked the action buttons at <=420px. Keep the
 * two actions beside each other all the way down instead. */
@media only screen and (max-width: 420px) {
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-actions {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 8px !important;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-actions button,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-actions a {
		width: 100% !important;
		min-width: 0 !important;
		padding-right: 8px !important;
		padding-left: 8px !important;
	}
}


/* =========================================================
 * v1.8.39 — SHOP USABILITY + EDGE-CASE FINISH
 * =========================================================
 * Final catalog behavior pass:
 * - one consistent 767px tablet boundary
 * - active-filter count + quick Clear in collapsed tablet/phone controls
 * - Clear preserves the current products-per-page density
 * - searchable Brand combobox with native-select fallback
 * - safer SALE / fitment badge spacing on narrow cards
 * - centered product ratings
 * - polished zero-results recovery state
 * All visual rules remain scoped beneath #main-content.
 * ========================================================= */

/* Collapsed tablet/phone filter control group. The wrapper is absent from the
 * desktop layout and becomes the third toolbar cell only below 981px. */
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-mobile-controls {
	display: none;
}

@media only screen and (max-width: 980.99px) {
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-mobile-controls {
		display: grid;
		width: 100%;
		min-width: 0;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 7px;
		align-items: stretch;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-mobile-controls .trs-vf-catalog-mobile-toggle:not([hidden]) {
		width: 100% !important;
		min-width: 0;
		margin: 0 !important;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-mobile-clear {
		display: inline-flex;
		min-width: 58px;
		min-height: 44px;
		align-items: center;
		justify-content: center;
		padding: 0 11px;
		border: 1px solid #c8d1dd;
		border-radius: 6px;
		background: #ffffff;
		color: #445e86;
		font-family: "Open Sans", Arial, sans-serif;
		font-size: 12px;
		font-weight: 800;
		line-height: 1;
		text-decoration: none;
		white-space: nowrap;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-mobile-clear:hover,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-mobile-clear:focus-visible {
		border-color: #d1232a;
		background: #fff7f7;
		color: #d1232a;
		outline: 0;
	}
}

/* Searchable Brand control. The native select remains intact when JS is
 * unavailable; only the enhanced copy is visually hidden. */
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-brand-select {
	position: relative;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-brand-native.is-enhanced {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 0 !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
}

body.trs-vf-catalog-layout #main-content .trs-vf-brand-combobox {
	position: relative;
	width: 100%;
	min-width: 0;
}

body.trs-vf-catalog-layout #main-content .trs-vf-brand-trigger {
	position: relative;
	display: flex;
	width: 100%;
	height: 44px;
	min-height: 44px;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin: 0;
	padding: 0 12px 0 11px;
	border: 1px solid #cbd3de;
	border-radius: 5px;
	background: #ffffff;
	color: #2a3547;
	cursor: pointer;
	font: inherit;
	font-size: 13px;
	line-height: 1;
	text-align: left;
}

body.trs-vf-catalog-layout #main-content .trs-vf-brand-trigger:focus-visible,
body.trs-vf-catalog-layout #main-content .trs-vf-brand-combobox.is-open .trs-vf-brand-trigger {
	border-color: #445e86;
	box-shadow: 0 0 0 3px rgba(68, 94, 134, 0.14);
	outline: 0;
}

body.trs-vf-catalog-layout #main-content .trs-vf-brand-trigger-value {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

body.trs-vf-catalog-layout #main-content .trs-vf-brand-trigger-chevron {
	display: block;
	flex: 0 0 8px;
	width: 8px;
	height: 8px;
	margin-top: -4px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	opacity: 0.72;
	transform: rotate(45deg);
	transition: margin 150ms ease, transform 150ms ease;
}

body.trs-vf-catalog-layout #main-content .trs-vf-brand-combobox.is-open .trs-vf-brand-trigger-chevron {
	margin-top: 4px;
	transform: rotate(225deg);
}

body.trs-vf-catalog-layout #main-content .trs-vf-brand-panel {
	position: absolute;
	z-index: 100;
	top: calc(100% + 6px);
	left: 0;
	width: 100%;
	min-width: 220px;
	padding: 8px;
	border: 1px solid #cbd3de;
	border-radius: 7px;
	background: #ffffff;
	box-shadow: 0 14px 32px rgba(42, 53, 71, 0.18);
}

body.trs-vf-catalog-layout #main-content .trs-vf-brand-panel[hidden] {
	display: none !important;
}

body.trs-vf-catalog-layout #main-content .trs-vf-brand-search {
	display: block;
	width: 100%;
	height: 40px;
	margin: 0 0 7px;
	padding: 0 11px;
	border: 1px solid #cbd3de;
	border-radius: 5px;
	background: #f8fafc;
	color: #2a3547;
	font-family: "Open Sans", Arial, sans-serif;
	font-size: 13px;
	line-height: normal;
}

body.trs-vf-catalog-layout #main-content .trs-vf-brand-search:focus {
	border-color: #445e86;
	box-shadow: 0 0 0 3px rgba(68, 94, 134, 0.12);
	outline: 0;
}

body.trs-vf-catalog-layout #main-content .trs-vf-brand-options {
	max-height: 250px;
	overflow-y: auto;
	overflow-x: hidden;
	overscroll-behavior: contain;
}

body.trs-vf-catalog-layout #main-content .trs-vf-brand-option {
	display: flex;
	width: 100%;
	min-height: 36px;
	align-items: center;
	margin: 0;
	padding: 7px 10px;
	border: 0;
	border-radius: 4px;
	background: transparent;
	color: #2a3547;
	cursor: pointer;
	font-family: "Open Sans", Arial, sans-serif;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.25;
	text-align: left;
}

body.trs-vf-catalog-layout #main-content .trs-vf-brand-option:hover,
body.trs-vf-catalog-layout #main-content .trs-vf-brand-option:focus-visible {
	background: #f1f5fa;
	color: #d1232a;
	outline: 0;
}

body.trs-vf-catalog-layout #main-content .trs-vf-brand-option.is-selected {
	background: #eef3f8;
	color: #445e86;
	font-weight: 800;
}

body.trs-vf-catalog-layout #main-content .trs-vf-brand-no-results {
	padding: 10px;
	color: #6f7988;
	font-family: "Open Sans", Arial, sans-serif;
	font-size: 12px;
	font-weight: 600;
	text-align: center;
}

body.trs-vf-catalog-layout #main-content .trs-vf-brand-no-results[hidden] {
	display: none !important;
}

@media only screen and (min-width: 767px) {
	body.trs-vf-catalog-layout #main-content .trs-vf-brand-trigger {
		height: 54px;
		min-height: 54px;
	}
}

@media only screen and (max-width: 980.99px) {
	body.trs-vf-catalog-layout #main-content .trs-vf-brand-trigger {
		justify-content: center;
		padding-left: 32px;
		text-align: center;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-brand-trigger-chevron {
		position: absolute;
		right: 14px;
	}
}

/* Center ratings with the rest of the card information. */
body.trs-vf-catalog-layout #main-content ul.products li.product .star-rating {
	margin: 2px auto 6px !important;
}

/* On narrow two-column sale cards, move the fitment chip below the SALE chip
 * so two long overlays can never collide. */
@media only screen and (max-width: 430px) {
	body.trs-vf-catalog-layout #main-content ul.products li.product:has(span.onsale) .trs-vf-loop-badge {
		top: 45px !important;
		right: 7px !important;
		max-width: calc(100% - 14px) !important;
	}
}

/* Empty-result recovery: keep WooCommerce's message but make it match the
 * Shop design, then give customers an obvious one-click way back. */
body.trs-vf-catalog-layout #main-content .woocommerce-info {
	clear: both;
	margin: 10px 0 8px !important;
	padding: 16px 18px !important;
	border: 1px solid #d7dee8 !important;
	border-top: 3px solid #445e86 !important;
	border-radius: 8px !important;
	background: #ffffff !important;
	box-shadow: 0 4px 14px rgba(42, 53, 71, 0.06);
	color: #2a3547 !important;
	font-family: "Open Sans", Arial, sans-serif !important;
	font-size: 14px !important;
	font-weight: 650 !important;
	line-height: 1.45 !important;
	text-align: center;
}

body.trs-vf-catalog-layout #main-content .trs-vf-no-products-actions {
	display: flex;
	clear: both;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin: 0 0 18px;
	padding: 0;
	font-family: "Open Sans", Arial, sans-serif;
	text-align: center;
}

body.trs-vf-catalog-layout #main-content .trs-vf-no-products-actions p {
	margin: 0;
	color: #6b7584;
	font-size: 13px;
	line-height: 1.4;
}

body.trs-vf-catalog-layout #main-content .trs-vf-no-products-clear {
	display: inline-flex;
	min-height: 40px;
	align-items: center;
	justify-content: center;
	padding: 0 16px;
	border: 1px solid #d1232a;
	border-radius: 6px;
	background: #d1232a;
	color: #ffffff !important;
	font-family: "Bayon", "Open Sans", Arial, sans-serif;
	font-size: 15px;
	font-weight: 400;
	line-height: 1;
	text-decoration: none !important;
	text-transform: uppercase;
}

body.trs-vf-catalog-layout #main-content .trs-vf-no-products-clear:hover,
body.trs-vf-catalog-layout #main-content .trs-vf-no-products-clear:focus-visible {
	border-color: #ff0000;
	background: #ff0000;
	color: #ffffff !important;
	outline: 0;
}

@media only screen and (max-width: 766.99px) {
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-mobile-controls {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-brand-panel {
		min-width: 0;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-no-products-actions {
		align-items: stretch;
		flex-direction: column;
		gap: 8px;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-no-products-clear {
		width: min(240px, 100%);
		margin: 0 auto;
	}
}

/* =========================================================
 * v1.8.40 — SHOP TITLE + CENTERED VEHICLE STATUS
 * =========================================================
 * Visual-only refinement of the Shop archive:
 * - cleaner editorial SHOP title treatment
 * - true-centered selected-vehicle status card on desktop
 * - clearer Parts Finder kicker
 * - safer products-per-page select width and custom chevron
 * Fitment/query behavior is unchanged.
 * ========================================================= */

/* ---------------------------------------------------------
 * SHOP title — quieter, more intentional hierarchy.
 * The red accent sits above the word and a restrained descriptor below it.
 * --------------------------------------------------------- */
body.trs-vf-catalog-layout #main-content .woocommerce-products-header {
	margin-bottom: 10px !important;
}

body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title {
	display: flex !important;
	flex-direction: column !important;
	gap: 0 !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 !important;
	font-size: clamp(42px, 3.55vw, 56px) !important;
	line-height: 0.98 !important;
	letter-spacing: 0.018em !important;
}

body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title::before {
	content: "" !important;
	display: block !important;
	width: 48px !important;
	height: 4px !important;
	flex: 0 0 4px !important;
	margin: 0 0 7px !important;
	border-radius: 999px !important;
	background: #d1232a !important;
}

body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title::after {
	content: "PARTS  •  PERFORMANCE  •  ACCESSORIES" !important;
	display: block !important;
	width: auto !important;
	height: auto !important;
	flex: 0 0 auto !important;
	margin: 8px 0 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: #6b7584 !important;
	font-family: "Open Sans", Arial, sans-serif !important;
	font-size: 10px !important;
	font-weight: 800 !important;
	letter-spacing: 0.19em !important;
	line-height: 1.2 !important;
	text-transform: uppercase !important;
}

/* ---------------------------------------------------------
 * Filter heading — equal outer columns keep the vehicle card on the exact
 * physical centerline regardless of the heading width on the left.
 * --------------------------------------------------------- */
@media only screen and (min-width: 981px) {
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-heading {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) minmax(360px, auto) minmax(0, 1fr) !important;
		gap: 18px !important;
		align-items: center !important;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-heading > div:first-child {
		grid-column: 1;
		justify-self: start;
		align-items: flex-start !important;
		text-align: left !important;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-vehicle,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-vehicle.is-empty {
		grid-column: 2;
		justify-self: center;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-mobile-controls {
		grid-column: 3;
	}
}

/* Parts Finder reads as a compact section label rather than a second title. */
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-kicker {
	margin-bottom: 2px;
	color: #445e86 !important;
	font-family: "Open Sans", Arial, sans-serif !important;
	font-size: 10.5px !important;
	font-weight: 800 !important;
	letter-spacing: 0.13em !important;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-heading strong {
	font-size: 23px !important;
	line-height: 1.02 !important;
}

/* Selected vehicle — a centered status card rather than a loose pill. */
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-vehicle,
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-vehicle.is-empty {
	display: flex !important;
	width: fit-content;
	max-width: min(680px, 100%);
	min-width: 360px;
	flex-direction: column;
	gap: 2px !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 7px 18px 8px !important;
	border: 1px solid #d5dee9 !important;
	border-radius: 8px !important;
	background: linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%) !important;
	box-shadow: 0 2px 8px rgba(42, 53, 71, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.95) !important;
	color: #2a3547 !important;
	text-align: center !important;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-vehicle-label {
	display: inline-flex;
	gap: 6px;
	align-items: center;
	justify-content: center;
	color: #6a7585;
	font-family: "Open Sans", Arial, sans-serif;
	font-size: 9.5px;
	font-weight: 800;
	letter-spacing: 0.12em;
	line-height: 1.1;
	text-transform: uppercase;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-vehicle-label i {
	display: block;
	width: 8px;
	height: 8px;
	flex: 0 0 8px;
	margin: 0;
	border: 0;
	border-radius: 50%;
	background: #17834f;
	box-shadow: 0 0 0 3px rgba(23, 131, 79, 0.11);
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-vehicle-value {
	display: block;
	max-width: 100%;
	overflow: hidden;
	color: #425066;
	font-family: "Open Sans", Arial, sans-serif;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.25;
	text-overflow: ellipsis;
	white-space: nowrap;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-vehicle.is-empty .trs-vf-catalog-vehicle-value {
	color: #737e8d;
}

/* The old dot rule targeted the vehicle wrapper's direct <i>. Keep it from
 * affecting the new structured status card. */
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-vehicle > i {
	display: none !important;
}

/* ---------------------------------------------------------
 * Products per page — eliminate browser-arrow clipping.
 * A consistent custom chevron gives the number its own protected text area.
 * --------------------------------------------------------- */
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-page-size select {
	box-sizing: border-box !important;
	width: 84px !important;
	min-width: 84px !important;
	padding: 0 34px 0 14px !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
	background-color: #ffffff !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%23425066' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 12px center !important;
	background-size: 12px 8px !important;
	line-height: 1 !important;
	text-align: left !important;
	text-align-last: left !important;
}

/* Tablet/phone headings remain centered and stack naturally. */
@media only screen and (max-width: 980.99px) {
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-heading {
		text-align: center !important;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-heading > div:first-child {
		align-items: center !important;
		text-align: center !important;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-vehicle,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-vehicle.is-empty {
		width: min(100%, 620px);
		min-width: 0;
		margin-right: auto !important;
		margin-left: auto !important;
	}
}

@media only screen and (max-width: 766.99px) {
	body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title {
		font-size: 38px !important;
	}

	body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title::before {
		width: 38px !important;
		height: 3px !important;
		flex-basis: 3px !important;
		margin-bottom: 6px !important;
	}

	body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title::after {
		margin-top: 6px !important;
		font-size: 8.5px !important;
		letter-spacing: 0.13em !important;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-vehicle-value {
		font-size: 12px;
		white-space: normal;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-page-size select {
		flex: 0 0 74px !important;
		width: 74px !important;
		min-width: 74px !important;
		padding-right: 29px !important;
		padding-left: 10px !important;
		background-position: right 9px center !important;
	}
}


/* =========================================================
 * v1.8.41 — SHOP HEADER REDESIGN + FILTER HEADING REPAIR
 * =========================================================
 * Reworks the Shop page heading into a fuller branded title treatment,
 * restores a balanced centered filter heading on every screen size, keeps the
 * selected-vehicle card visually centered, and preserves the safer Products
 * per page control width from v1.8.40.
 * ========================================================= */

body.trs-vf-catalog-layout #main-content .woocommerce-products-header {
	margin-bottom: 16px !important;
}

body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	width: fit-content !important;
	max-width: min(100%, 760px) !important;
	margin: 0 auto !important;
	padding: 18px 28px 16px !important;
	border: 1px solid #d7dee9 !important;
	border-top: 4px solid #d1232a !important;
	border-radius: 10px !important;
	background: linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%) !important;
	box-shadow: 0 4px 14px rgba(42, 53, 71, 0.06) !important;
	color: #2a3547 !important;
	font-size: clamp(42px, 3.45vw, 58px) !important;
	line-height: 0.96 !important;
	letter-spacing: 0.02em !important;
	text-align: center !important;
	text-transform: uppercase !important;
}

body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title::before {
	content: "TUNERS MALL CATALOG" !important;
	display: block !important;
	width: auto !important;
	height: auto !important;
	flex: 0 0 auto !important;
	margin: 0 0 7px !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: #445e86 !important;
	font-family: "Open Sans", Arial, sans-serif !important;
	font-size: 10px !important;
	font-weight: 800 !important;
	letter-spacing: 0.22em !important;
	line-height: 1.2 !important;
	text-transform: uppercase !important;
}

body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title::after {
	content: "PORSCHE PARTS • PERFORMANCE • ACCESSORIES" !important;
	display: block !important;
	width: auto !important;
	height: auto !important;
	flex: 0 0 auto !important;
	margin: 8px 0 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: #6b7584 !important;
	font-family: "Open Sans", Arial, sans-serif !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	letter-spacing: 0.17em !important;
	line-height: 1.25 !important;
	text-transform: uppercase !important;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter {
	padding: 16px 18px 18px !important;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-heading {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
	margin-bottom: 12px !important;
	text-align: center !important;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-heading > div {
	width: 100% !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-kicker {
	margin-bottom: 2px !important;
	color: #445e86 !important;
	font-family: "Open Sans", Arial, sans-serif !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	letter-spacing: 0.16em !important;
	line-height: 1.15 !important;
	text-transform: uppercase !important;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-heading strong {
	max-width: 100% !important;
	color: #2a3547 !important;
	font-size: clamp(25px, 2.15vw, 32px) !important;
	line-height: 1.02 !important;
	text-align: center !important;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-vehicle,
body.trs-vf-catalog-layout #main-content .trs-vf-catalog-vehicle.is-empty {
	display: flex !important;
	width: min(100%, 720px) !important;
	max-width: min(100%, 720px) !important;
	min-width: 0 !important;
	margin: 0 auto !important;
	padding: 10px 18px 11px !important;
	border: 1px solid #d5dee9 !important;
	border-radius: 8px !important;
	background: linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%) !important;
	box-shadow: 0 2px 8px rgba(42, 53, 71, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.95) !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-vehicle-value {
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	text-align: center !important;
}

body.trs-vf-catalog-layout #main-content .trs-vf-catalog-mobile-controls {
	width: min(340px, 100%) !important;
	margin: 0 auto !important;
}

@media only screen and (min-width: 981px) {
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-heading {
		gap: 11px !important;
	}
}

@media only screen and (min-width: 767px) and (max-width: 980.99px) {
	body.trs-vf-catalog-layout #main-content .container {
		width: calc(100% - 24px) !important;
		padding-top: 12px !important;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter {
		padding: 14px 16px 16px !important;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-heading {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 10px !important;
		text-align: center !important;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-heading > div {
		align-items: center !important;
		text-align: center !important;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-vehicle,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-vehicle.is-empty {
		width: min(100%, 620px) !important;
		max-width: min(100%, 620px) !important;
		justify-self: center !important;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-mobile-controls {
		display: grid;
		width: min(320px, 100%) !important;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 8px;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-mobile-toggle:not([hidden]) {
		width: 100% !important;
		margin: 0 auto !important;
	}
}

@media only screen and (max-width: 766.99px) {
	body.trs-vf-catalog-layout #main-content .container {
		width: calc(100% - 20px) !important;
		padding-top: 10px !important;
	}

	body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title {
		width: min(100%, 100%) !important;
		padding: 16px 18px 14px !important;
		font-size: 38px !important;
	}

	body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title::before {
		font-size: 9px !important;
		letter-spacing: 0.18em !important;
	}

	body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title::after {
		font-size: 9px !important;
		letter-spacing: 0.12em !important;
		line-height: 1.35 !important;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter {
		padding: 14px !important;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-heading {
		gap: 9px !important;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-heading strong {
		font-size: 21px !important;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-vehicle,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-vehicle.is-empty {
		width: 100% !important;
		max-width: 100% !important;
		padding: 9px 12px 10px !important;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-vehicle-label {
		font-size: 9px !important;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-vehicle-value {
		font-size: 12px !important;
		white-space: normal !important;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-mobile-controls {
		width: 100% !important;
		max-width: 100% !important;
	}
}


/* =========================================================
 * v1.8.42 — SHOP TITLE BRANDING + DESKTOP FILTER ROW RESTORE
 * =========================================================
 * - redesign the Shop title into a stronger branded presentation
 * - use the TuneRS shield logo in the header treatment
 * - restore a compact desktop heading row so the selected vehicle does not
 *   consume an unnecessary extra line
 * - keep tablet/phone stacked disclosure behavior and preserve the clipped-
 *   select fix from the previous release
 * ========================================================= */

body.trs-vf-catalog-layout #main-content .woocommerce-products-header {
	margin-bottom: 14px !important;
}

body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title {
	position: relative !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: center !important;
	width: min(100%, 900px) !important;
	min-height: 132px !important;
	margin: 0 auto !important;
	padding: 18px 28px 18px 146px !important;
	border: 1px solid #d7dee9 !important;
	border-top: 4px solid #d1232a !important;
	border-radius: 10px !important;
	background-color: #ffffff !important;
	background-image: url('../images/tuners-shield-title.png'), linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%) !important;
	background-repeat: no-repeat, no-repeat !important;
	background-position: 28px center, center center !important;
	background-size: 86px 86px, auto !important;
	box-shadow: 0 4px 14px rgba(42, 53, 71, 0.06) !important;
	color: #2a3547 !important;
	font-size: clamp(50px, 4vw, 66px) !important;
	line-height: 0.94 !important;
	letter-spacing: 0.02em !important;
	text-align: left !important;
	text-transform: uppercase !important;
}

body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title::before {
	content: 'TUNERS MALL CATALOG' !important;
	display: block !important;
	width: auto !important;
	height: auto !important;
	flex: 0 0 auto !important;
	margin: 0 0 6px !important;
	background: transparent !important;
	color: #445e86 !important;
	font-family: 'Open Sans', Arial, sans-serif !important;
	font-size: 10px !important;
	font-weight: 800 !important;
	letter-spacing: 0.23em !important;
	line-height: 1.2 !important;
	text-transform: uppercase !important;
}

body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title::after {
	content: 'PORSCHE PARTS • PERFORMANCE • ACCESSORIES' !important;
	display: block !important;
	width: auto !important;
	height: auto !important;
	flex: 0 0 auto !important;
	margin: 8px 0 0 !important;
	background: transparent !important;
	color: #6b7584 !important;
	font-family: 'Open Sans', Arial, sans-serif !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	letter-spacing: 0.17em !important;
	line-height: 1.25 !important;
	text-transform: uppercase !important;
}

/* Restore a compact desktop heading row. */
@media only screen and (min-width: 981px) {
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter {
		padding: 15px 18px 16px !important;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-heading {
		display: grid !important;
		grid-template-columns: minmax(260px, auto) minmax(380px, 1fr) !important;
		gap: 16px !important;
		align-items: center !important;
		justify-content: space-between !important;
		margin-bottom: 11px !important;
		text-align: left !important;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-heading > div {
		width: auto !important;
		align-items: flex-start !important;
		justify-content: center !important;
		text-align: left !important;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-kicker {
		margin-bottom: 2px !important;
		font-size: 10.5px !important;
		letter-spacing: 0.15em !important;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-filter-heading strong {
		font-size: clamp(24px, 2vw, 31px) !important;
		line-height: 1.02 !important;
		text-align: left !important;
	}

	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-vehicle,
	body.trs-vf-catalog-layout #main-content .trs-vf-catalog-vehicle.is-empty {
		display: flex !important;
		width: 100% !important;
		max-width: 760px !important;
		min-width: 0 !important;
		margin: 0 0 0 auto !important;
		padding: 9px 16px 10px !important;
		justify-content: center !important;
		text-align: center !important;
	}
}

/* Keep stacked behavior below desktop; the existing layout is already working. */
@media only screen and (min-width: 767px) and (max-width: 980.99px) {
	body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title {
		width: min(100%, 700px) !important;
		min-height: 118px !important;
		padding: 16px 22px 16px 126px !important;
		background-position: 24px center, center center !important;
		background-size: 72px 72px, auto !important;
		font-size: clamp(42px, 6vw, 58px) !important;
	}

	body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title::before {
		font-size: 9px !important;
		letter-spacing: 0.19em !important;
	}

	body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title::after {
		font-size: 10px !important;
		letter-spacing: 0.13em !important;
	}
}

@media only screen and (max-width: 766.99px) {
	body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title {
		align-items: center !important;
		width: 100% !important;
		min-height: 0 !important;
		padding: 92px 18px 16px !important;
		background-position: center 14px, center center !important;
		background-size: 58px 58px, auto !important;
		font-size: 38px !important;
		line-height: 0.98 !important;
		text-align: center !important;
	}

	body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title::before {
		margin-bottom: 5px !important;
		font-size: 8.5px !important;
		letter-spacing: 0.16em !important;
	}

	body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title::after {
		margin-top: 7px !important;
		font-size: 9px !important;
		letter-spacing: 0.11em !important;
		line-height: 1.35 !important;
		text-align: center !important;
	}
}

/* =========================================================
 * DESIGN-ONLY SHOP HERO OVERRIDE — recovery 1.8.46 base
 * =========================================================
 * This block changes presentation only. No PHP, JS, database, activation,
 * query, fitment, or WooCommerce logic is modified.
 * ========================================================= */

body.trs-vf-catalog-layout #main-content .woocommerce-products-header {
    position: relative !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    background: linear-gradient(180deg, #f8fafc 0%, #eef2f6 100%) !important;
    box-shadow: none !important;
}

/* Responsive checkered-flag field. It is clipped inside the existing header
 * and never changes the page/container width. */
body.trs-vf-catalog-layout #main-content .woocommerce-products-header::before {
    content: "" !important;
    position: absolute !important;
    z-index: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 46% !important;
    background-image:
        linear-gradient(45deg, rgba(68,94,134,.085) 25%, transparent 25%, transparent 75%, rgba(68,94,134,.085) 75%),
        linear-gradient(45deg, rgba(68,94,134,.085) 25%, transparent 25%, transparent 75%, rgba(68,94,134,.085) 75%) !important;
    background-position: 0 0, 36px 36px !important;
    background-size: 72px 72px !important;
    transform: skewX(-14deg) translateX(9%) !important;
    transform-origin: center right !important;
    opacity: .95 !important;
    pointer-events: none !important;
}

/* Soft red motorsport sweep, contained to the header. */
body.trs-vf-catalog-layout #main-content .woocommerce-products-header::after {
    content: "" !important;
    position: absolute !important;
    z-index: 0 !important;
    right: 7% !important;
    bottom: -52px !important;
    width: 38% !important;
    height: 100px !important;
    background: linear-gradient(100deg, transparent 0 22%, rgba(209,35,42,.13) 22% 34%, transparent 34% 100%) !important;
    transform: skewX(-18deg) !important;
    pointer-events: none !important;
}

body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title {
    position: relative !important;
    z-index: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 148px !important;
    margin: 0 !important;
    padding: 20px 38% 20px 174px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background-color: transparent !important;
    background-image:
        url('../images/tuners-shield-title-transparent-small.png'),
        linear-gradient(180deg, #d1232a, #d1232a) !important;
    background-repeat: no-repeat, no-repeat !important;
    background-position: 24px center, 126px center !important;
    background-size: 78px auto, 4px 96px !important;
    box-shadow: none !important;
    color: #2a3547 !important;
    font-size: clamp(58px, 4.8vw, 82px) !important;
    font-weight: 400 !important;
    line-height: .90 !important;
    letter-spacing: .018em !important;
    text-align: left !important;
    text-transform: uppercase !important;
}

body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title::before {
    content: "TUNERS MALL CATALOG" !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    margin: 0 0 7px !important;
    background: transparent !important;
    color: #445e86 !important;
    font-family: "Open Sans", Arial, sans-serif !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: .24em !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
}

body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title::after {
    content: "PORSCHE PARTS  •  PERFORMANCE  •  ACCESSORIES" !important;
    display: block !important;
    width: min(720px, 100%) !important;
    height: auto !important;
    margin: 11px 0 0 !important;
    padding-top: 17px !important;
    border-radius: 0 !important;
    background-color: transparent !important;
    background-image: linear-gradient(90deg, #d1232a 0 116px, #cbd3de 116px 100%) !important;
    background-repeat: no-repeat !important;
    background-position: left top !important;
    background-size: 100% 3px !important;
    color: #5f6b7b !important;
    font-family: "Open Sans", Arial, sans-serif !important;
    font-size: 10.5px !important;
    font-weight: 800 !important;
    letter-spacing: .16em !important;
    line-height: 1.35 !important;
    text-transform: uppercase !important;
}

/* Medium desktop / tablet: less flag area and a more compact title. */
@media only screen and (min-width: 767px) and (max-width: 1100px) {
    body.trs-vf-catalog-layout #main-content .woocommerce-products-header::before {
        width: 36% !important;
        background-size: 58px 58px !important;
        background-position: 0 0, 29px 29px !important;
        opacity: .75 !important;
    }

    body.trs-vf-catalog-layout #main-content .woocommerce-products-header::after {
        width: 30% !important;
        right: 3% !important;
        opacity: .8 !important;
    }

    body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title {
        min-height: 126px !important;
        padding: 16px 30% 16px 142px !important;
        background-position: 18px center, 102px center !important;
        background-size: 64px auto, 3px 82px !important;
        font-size: clamp(46px, 6vw, 62px) !important;
    }

    body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title::after {
        width: min(560px, 100%) !important;
        font-size: 9.5px !important;
        letter-spacing: .12em !important;
    }
}

/* Phone: keep the design, but simplify the flag and center the identity so the
 * title remains compact and readable without affecting the filter behavior. */
@media only screen and (max-width: 766.99px) {
    body.trs-vf-catalog-layout #main-content .woocommerce-products-header {
        margin-bottom: 12px !important;
    }

    body.trs-vf-catalog-layout #main-content .woocommerce-products-header::before {
        width: 42% !important;
        background-size: 46px 46px !important;
        background-position: 0 0, 23px 23px !important;
        opacity: .42 !important;
    }

    body.trs-vf-catalog-layout #main-content .woocommerce-products-header::after {
        display: none !important;
    }

    body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title {
        align-items: center !important;
        min-height: 0 !important;
        padding: 78px 14px 18px !important;
        background-position: center 12px, center 66px !important;
        background-size: 52px auto, 54px 3px !important;
        font-size: 40px !important;
        line-height: .96 !important;
        text-align: center !important;
    }

    body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title::before {
        margin-bottom: 5px !important;
        font-size: 8px !important;
        letter-spacing: .17em !important;
        text-align: center !important;
    }

    body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title::after {
        width: min(340px, 100%) !important;
        margin-top: 9px !important;
        padding-top: 13px !important;
        background-image: linear-gradient(90deg, #d1232a 0 70px, #cbd3de 70px 100%) !important;
        background-size: 100% 2px !important;
        font-size: 8.5px !important;
        letter-spacing: .09em !important;
        line-height: 1.45 !important;
        text-align: center !important;
    }
}


/* =========================================================
 * DESIGN-ONLY SHOP HERO REFINEMENT — recovery 1.8.46 base
 * =========================================================
 * CSS-only refinement based on the approved working design-only package.
 * - removes the stray red accent in the flag area
 * - removes the small "Tuners Mall Catalog" kicker so SHOP can be larger
 * - removes the red underline directly below SHOP
 * - broadens the wording below SHOP beyond Porsche-only messaging
 * - makes the right-side checkered field blend to the header edges instead of
 *   reading like a boxed block
 * No PHP/JS/database/activation logic changes.
 * ========================================================= */

body.trs-vf-catalog-layout #main-content .woocommerce-products-header {
    background: linear-gradient(180deg, #f8fafc 0%, #eef2f6 100%) !important;
}

body.trs-vf-catalog-layout #main-content .woocommerce-products-header::before {
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 47% !important;
    background-image:
        linear-gradient(45deg, rgba(68,94,134,.075) 25%, transparent 25%, transparent 75%, rgba(68,94,134,.075) 75%),
        linear-gradient(45deg, rgba(68,94,134,.075) 25%, transparent 25%, transparent 75%, rgba(68,94,134,.075) 75%) !important;
    background-position: 0 0, 34px 34px !important;
    background-size: 68px 68px !important;
    transform: skewX(-14deg) translateX(8%) !important;
    opacity: .95 !important;
    -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.10) 16%, rgba(0,0,0,.88) 52%, #000 100%) !important;
    mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.10) 16%, rgba(0,0,0,.88) 52%, #000 100%) !important;
}

/* Remove the extra red slash/sweep in the flag area. */
body.trs-vf-catalog-layout #main-content .woocommerce-products-header::after {
    display: none !important;
}

body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title {
    min-height: 136px !important;
    padding: 16px 37% 16px 176px !important;
    background-position: 20px center, 118px center !important;
    background-size: 78px auto, 4px 108px !important;
    font-size: clamp(68px, 5.9vw, 104px) !important;
    line-height: .84 !important;
    letter-spacing: .012em !important;
}

/* Remove the small kicker above SHOP to let SHOP become the main focus. */
body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title::before {
    content: none !important;
    display: none !important;
}

/* Remove the underline under SHOP and broaden the wording below it. */
body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title::after {
    content: "PARTS • PERFORMANCE • GARAGE • LIFESTYLE" !important;
    width: min(860px, 100%) !important;
    margin: 12px 0 0 !important;
    padding-top: 0 !important;
    background: none !important;
    color: #5f6b7b !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: .18em !important;
    line-height: 1.35 !important;
}

@media only screen and (min-width: 767px) and (max-width: 1100px) {
    body.trs-vf-catalog-layout #main-content .woocommerce-products-header::before {
        width: 40% !important;
        background-size: 58px 58px !important;
        background-position: 0 0, 29px 29px !important;
        transform: skewX(-14deg) translateX(10%) !important;
        opacity: .78 !important;
    }

    body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title {
        min-height: 120px !important;
        padding: 14px 27% 14px 142px !important;
        background-position: 18px center, 100px center !important;
        background-size: 64px auto, 3px 84px !important;
        font-size: clamp(52px, 7vw, 76px) !important;
        line-height: .86 !important;
    }

    body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title::after {
        width: min(620px, 100%) !important;
        font-size: 9.5px !important;
        letter-spacing: .12em !important;
    }
}

@media only screen and (max-width: 766.99px) {
    body.trs-vf-catalog-layout #main-content .woocommerce-products-header::before {
        width: 48% !important;
        background-size: 46px 46px !important;
        background-position: 0 0, 23px 23px !important;
        transform: skewX(-14deg) translateX(10%) !important;
        opacity: .48 !important;
    }

    body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title {
        min-height: 0 !important;
        padding: 66px 14px 12px !important;
        background-position: center 10px, center center !important;
        background-size: 50px auto, 0 0 !important;
        font-size: 46px !important;
        line-height: .92 !important;
    }

    body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title::after {
        width: min(360px, 100%) !important;
        margin-top: 10px !important;
        font-size: 8.5px !important;
        letter-spacing: .09em !important;
        line-height: 1.42 !important;
        text-align: center !important;
    }
}


/* =========================================================
 * DESIGN-ONLY SHOP HERO — EDGE-TO-EDGE FINAL OVERRIDE
 * =========================================================
 * Presentation only. Keeps the working v1.8.46 PHP/JS untouched.
 * The hero background bleeds to the viewport edges without changing layout
 * width, so it cannot create horizontal scrolling. Mobile keeps the shield
 * beside SHOP instead of stacking it above.
 * ========================================================= */

/* Remove the catalog's top inset so the hero touches the site header. */
body.trs-vf-catalog-layout #main-content .container {
    padding-top: 0 !important;
}

/* Full-bleed visual treatment without 100vw or negative viewport margins. */
body.trs-vf-catalog-layout #main-content .woocommerce-products-header {
    position: relative !important;
    isolation: isolate !important;
    width: 100% !important;
    max-width: none !important;
    margin-top: 0 !important;
    margin-bottom: 18px !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #f1f4f8 !important;
    box-shadow: 0 0 0 100vmax #f1f4f8 !important;
    clip-path: inset(0 -100vmax) !important;
}

/* Clean responsive checkered field; no red tile/sweep. */
body.trs-vf-catalog-layout #main-content .woocommerce-products-header::before {
    content: "" !important;
    position: absolute !important;
    z-index: -1 !important;
    top: 0 !important;
    right: -72px !important;
    bottom: 0 !important;
    width: 49% !important;
    background-image:
        linear-gradient(45deg, rgba(68,94,134,.072) 25%, transparent 25%, transparent 75%, rgba(68,94,134,.072) 75%),
        linear-gradient(45deg, rgba(68,94,134,.072) 25%, transparent 25%, transparent 75%, rgba(68,94,134,.072) 75%) !important;
    background-position: 0 0, 34px 34px !important;
    background-size: 68px 68px !important;
    transform: skewX(-12deg) !important;
    transform-origin: right center !important;
    opacity: .95 !important;
    -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.16) 18%, rgba(0,0,0,.88) 55%, #000 100%) !important;
    mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.16) 18%, rgba(0,0,0,.88) 55%, #000 100%) !important;
    pointer-events: none !important;
}

body.trs-vf-catalog-layout #main-content .woocommerce-products-header::after {
    content: none !important;
    display: none !important;
}

/* Desktop / large-screen identity. */
body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title {
    position: relative !important;
    z-index: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 150px !important;
    margin: 0 !important;
    padding: 18px 39% 18px 178px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background-color: transparent !important;
    background-image:
        url('../images/tuners-shield-title-transparent-small.png'),
        linear-gradient(180deg, #d1232a, #d1232a) !important;
    background-repeat: no-repeat, no-repeat !important;
    background-position: 22px center, 120px center !important;
    background-size: 80px auto, 4px 108px !important;
    box-shadow: none !important;
    color: #2a3547 !important;
    font-size: clamp(72px, 6vw, 108px) !important;
    font-weight: 400 !important;
    line-height: .82 !important;
    letter-spacing: .01em !important;
    text-align: left !important;
    text-transform: uppercase !important;
}

body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title::before {
    content: none !important;
    display: none !important;
}

body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title::after {
    content: "PARTS • PERFORMANCE • GARAGE • LIFESTYLE" !important;
    display: block !important;
    width: min(860px, 100%) !important;
    height: auto !important;
    margin: 13px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    color: #5f6b7b !important;
    font-family: "Open Sans", Arial, sans-serif !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: .18em !important;
    line-height: 1.35 !important;
    text-transform: uppercase !important;
}

/* Tablet: same horizontal identity, slightly tighter. */
@media only screen and (min-width: 767px) and (max-width: 1100px) {
    body.trs-vf-catalog-layout #main-content .container {
        padding-top: 0 !important;
    }

    body.trs-vf-catalog-layout #main-content .woocommerce-products-header {
        margin-bottom: 16px !important;
    }

    body.trs-vf-catalog-layout #main-content .woocommerce-products-header::before {
        right: -48px !important;
        width: 43% !important;
        background-size: 56px 56px !important;
        background-position: 0 0, 28px 28px !important;
        opacity: .78 !important;
    }

    body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title {
        min-height: 126px !important;
        padding: 14px 30% 14px 144px !important;
        background-position: 16px center, 98px center !important;
        background-size: 64px auto, 3px 88px !important;
        font-size: clamp(56px, 7.5vw, 78px) !important;
        line-height: .84 !important;
    }

    body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title::after {
        margin-top: 10px !important;
        font-size: 9.5px !important;
        letter-spacing: .12em !important;
    }
}

/* Mobile: keep the logo NEXT TO SHOP and reduce the hero height. */
@media only screen and (max-width: 766.99px) {
    body.trs-vf-catalog-layout #main-content .container {
        padding-top: 0 !important;
    }

    body.trs-vf-catalog-layout #main-content .woocommerce-products-header {
        margin-top: 0 !important;
        margin-bottom: 12px !important;
    }

    body.trs-vf-catalog-layout #main-content .woocommerce-products-header::before {
        right: -24px !important;
        width: 31% !important;
        background-size: 40px 40px !important;
        background-position: 0 0, 20px 20px !important;
        transform: skewX(-10deg) !important;
        opacity: .50 !important;
        -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.25) 28%, #000 76%) !important;
        mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.25) 28%, #000 76%) !important;
    }

    body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: center !important;
        min-height: 104px !important;
        margin: 0 !important;
        padding: 12px 22% 12px 108px !important;
        background-position: 14px center, 82px center !important;
        background-size: 54px auto, 3px 72px !important;
        font-size: clamp(44px, 11vw, 56px) !important;
        line-height: .86 !important;
        text-align: left !important;
    }

    body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title::after {
        width: 100% !important;
        margin-top: 9px !important;
        font-size: 8px !important;
        letter-spacing: .075em !important;
        line-height: 1.3 !important;
        text-align: left !important;
    }
}

/* Very narrow phones: preserve the side-by-side identity without overflow. */
@media only screen and (max-width: 420px) {
    body.trs-vf-catalog-layout #main-content .woocommerce-products-header::before {
        width: 27% !important;
        opacity: .42 !important;
    }

    body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title {
        min-height: 96px !important;
        padding: 10px 17% 10px 96px !important;
        background-position: 12px center, 73px center !important;
        background-size: 48px auto, 3px 66px !important;
        font-size: clamp(40px, 12vw, 50px) !important;
    }

    body.trs-vf-catalog-layout #main-content .woocommerce-products-header__title.page-title::after {
        margin-top: 7px !important;
        font-size: 7.4px !important;
        letter-spacing: .045em !important;
    }
}

/* =========================================================
 * MULTI-MAKE SHOP VEHICLE PICKER + COMPACT GLOBAL HEADER
 * =========================================================
 * Customer-facing vehicle selection is now one shared Y/M/M/T/E experience.
 * Manual browsing remains product-backed; VIN lookup may use the full catalog.
 * Model Groups remain available internally/for legacy URLs but are no longer
 * exposed as a primary Shop filter.
 * ========================================================= */

/* ---------- Compact global header control ---------- */
.trs-header-vehicle-finder .trs-vf-header-compact.trs-vf-responsive-enabled {
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

.trs-header-vehicle-finder .trs-vf-header-compact.trs-vf-responsive-enabled > .trs-vf-responsive-toggle:not([hidden]) {
	display: flex !important;
	width: min(100%, 720px) !important;
	min-height: 48px !important;
	margin: 0 auto !important;
	padding: 0 48px 0 18px !important;
	border: 1px solid #cbd3de !important;
	border-radius: 6px !important;
	background: linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%) !important;
	box-shadow: 0 2px 7px rgba(42, 53, 71, 0.07) !important;
	color: #2a3547 !important;
	font-family: "Bayon", "Open Sans", Arial, sans-serif !important;
	font-size: 18px !important;
	font-weight: 400 !important;
	letter-spacing: .7px !important;
	text-align: center !important;
	text-transform: uppercase !important;
}

.trs-header-vehicle-finder .trs-vf-header-compact.trs-vf-responsive-enabled > .trs-vf-responsive-toggle .trs-vf-responsive-toggle-collapsed,
.trs-header-vehicle-finder .trs-vf-header-compact.trs-vf-responsive-enabled > .trs-vf-responsive-toggle .trs-vf-responsive-toggle-expanded {
	width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.trs-header-vehicle-finder .trs-vf-header-compact.trs-vf-responsive-enabled > .trs-vf-responsive-panel:not([hidden]) {
	width: 100% !important;
	max-width: 1200px !important;
	margin: 10px auto 0 !important;
}

/* When the compact header is opened, go directly to the actual selector. */
.trs-header-vehicle-finder .trs-vf-header-compact.trs-vf-is-editing .trs-vf-selection {
	display: none !important;
}

.trs-header-vehicle-finder .trs-vf-header-compact.trs-vf-is-editing .trs-vf-editor {
	margin-top: 0 !important;
	padding-top: 0 !important;
	border-top: 0 !important;
}
