/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.0
*/

/*************** ADD CUSTOM CSS HERE.   ***************/

.sf-ebc-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 36px;
	align-items: start;
}

.sf-ebc-sidebar {
	position: sticky;
	top: 110px;
}

.sf-ebc-nav,
.sf-ebc-enquiry {
	border: 1px solid rgba(0,0,0,.10);
	border-radius: 8px;
	background: #fff;
	padding: 20px;
	margin-bottom: 24px;
}

.sf-ebc-nav-title {
	font-size: 1.05em;
	font-weight: 700;
	margin-bottom: 12px;
}

.sf-ebc-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.sf-ebc-nav li {
	margin: 0;
}

.sf-ebc-nav a,
.sf-ebc-nav .ebc-heading span {
	display: block;
	padding: 7px 8px;
	line-height: 1.35;
}

.sf-ebc-nav .ebc-root a {
	font-weight: 700;
}

.sf-ebc-nav .ebc-section a,
.sf-ebc-nav .ebc-heading span {
	font-weight: 700;
	margin-top: 8px;
}

.sf-ebc-nav .ebc-child a {
	padding-left: 22px;
	font-size: .95em;
}

.sf-ebc-nav .current-ebc-page > a {
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.sf-ebc-enquiry p {
	margin: 8px 0 0;
}

html {
	scroll-behavior: smooth;
}

.sf-ebc-page-top {
	position: relative;
	top: -120px;
}

.sf-ebc-toc {
	border: 1px solid rgba(0,0,0,.10);
	border-radius: 8px;
	background: rgba(0,0,0,.025);
	padding: 18px 20px;
	margin: 24px 0 30px;
}

.sf-ebc-toc-title {
	font-weight: 700;
	font-size: 1.05em;
	margin-bottom: 10px;
}

.sf-ebc-toc ol {
	margin: 0 0 0 20px;
	columns: 2;
	column-gap: 28px;
}

.sf-ebc-toc li {
	break-inside: avoid;
	margin-bottom: 5px;
}

.sf-ebc-main h2[id] {
	scroll-margin-top: 120px;
}

.sf-ebc-back-to-top {
	position: fixed;
	right: 24px;
	bottom: 24px;
	z-index: 40;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 10px 13px;
	border-radius: 999px;
	background: #fff;
	border: 1px solid rgba(0,0,0,.15);
	box-shadow: 0 3px 16px rgba(0,0,0,.12);
	font-weight: 700;
	line-height: 1;
}

.sf-ebc-back-to-top:hover {
	text-decoration: none;
	transform: translateY(-1px);
}

/* Superior Friction — Mega Shop inspired visual system */
:root {
	--sf-graphite: #191919;
	--sf-graphite-2: #242424;
	--sf-red: #d62828;
	--sf-red-dark: #b91f1f;
	--sf-green: #59a52c;
	--sf-surface: #f5f5f5;
	--sf-border: #e4e4e4;
}

/* Wide, responsive desktop canvas without stretching readable text endlessly. */
.header .flex-row,
.header-wrapper .container,
#main > .row,
.page-wrapper > .row,
.shop-page-title .container,
.footer-wrapper .container,
.container-width,
.full-width .ubermenu-nav,
.row.row-large {
	max-width: 1540px;
}

/* Performance header/navigation treatment. */
.header-top {
	display: none !important;
}

.header-main {
	background: #fff;
	border-bottom: 0;
}

@media only screen and (min-width: 850px) {
	#masthead .header-inner {
		min-height: 88px;
		align-items: center;
	}

	#masthead #logo {
		flex: 1 1 auto;
	}

	#masthead .header-search > a {
		min-width: 48px;
		justify-content: center;
	}

	.header-bottom {
		position: relative;
		min-height: 52px;
		border: 0;
	}

	.header-bottom .flex-row {
		min-height: 52px;
	}

	.header-bottom .nav-left {
		width: 100%;
		align-items: stretch;
	}

	.header-bottom .nav-left > li {
		display: flex;
		align-items: stretch;
	}

	.header-bottom .nav-left > li > a {
		display: flex;
		align-items: center;
		color: #fff;
		font-weight: 700;
		letter-spacing: .02em;
		padding: 0 17px;
	}

	.header-bottom .nav-left > li > a:hover,
	.header-bottom .nav-left > li.current-menu-item > a,
	.header-bottom .nav-left > li.current-menu-ancestor > a {
		color: #fff;
		background: rgba(214,40,40,.14);
	}

	.header-bottom:after {
		content: '';
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		height: 2px;
		background: linear-gradient(90deg, transparent 0 45%, var(--sf-green) 45% 55%, transparent 55% 100%);
		pointer-events: none;
	}
}

.header-bottom,
.header-bottom .nav-dropdown {
	background: var(--sf-graphite);
}

/* Navigation contrast refinement: keep the light bar, make menu links readable. */
@media only screen and (min-width: 850px) {
	.header-bottom .nav-left > li:not(.menu-item-35950) > a {
		color:#3f454b !important;
	}
	.header-bottom .nav-left > li:not(.menu-item-35950) > a:hover,
	.header-bottom .nav-left > li:not(.menu-item-35950).current-menu-item > a,
	.header-bottom .nav-left > li:not(.menu-item-35950).current-menu-ancestor > a {
		color:#17191d !important;
		background:rgba(214,40,40,.08) !important;
	}
}

/* Products mega-menu visual tile. */
.sf-products-mega .sf-mega-visual {
	display:block;
	position:relative;
	margin:0 0 16px;
	border-radius:6px;
	overflow:hidden;
	background:#111;
	box-shadow:0 8px 20px rgba(0,0,0,.12);
}
.sf-products-mega .sf-mega-visual img {
	display:block;
	width:100%;
	height:150px;
	object-fit:cover;
	transition:transform .22s ease;
}
.sf-products-mega .sf-mega-visual span {
	display:block;
	padding:9px 10px;
	background:#17191d;
	color:#fff;
	font-size:.72rem;
	font-weight:800;
	line-height:1.3;
	letter-spacing:.03em;
	text-transform:uppercase;
}
.sf-products-mega .sf-mega-visual:hover img {
	transform:scale(1.025);
}

/* Dropdowns: large, clean Mega Shop feel. */
.nav-dropdown {
	border: 0;
	border-top: 3px solid var(--sf-red);
	box-shadow: 0 14px 38px rgba(0,0,0,.18);
	padding: 18px 22px;
}

.menu-item-35950 > a {
	background: var(--sf-red) !important;
	color: #fff !important;
	border-radius: 2px;
}

.menu-item-35950 > a:hover {
	background: var(--sf-red-dark) !important;
}

.menu-item-design-full-width > .nav-dropdown {
	border-radius: 0 0 6px 6px;
	padding: 24px 28px;
}

.menu-item-design-full-width > .nav-dropdown .row {
	max-width: 1540px;
	margin-left: auto;
	margin-right: auto;
}

.menu-item-design-full-width > .nav-dropdown h4,
.menu-item-design-full-width > .nav-dropdown h5 {
	color: var(--sf-graphite);
}

#masthead .header_logo,
#masthead .header-logo-dark {
	max-height: 72px;
	width: auto;
}

.nav-dropdown > li > a,
.nav-dropdown .menu-item > a {
	font-size: .94em;
}

.nav-dropdown a:hover {
	color: var(--sf-red) !important;
}

/* Primary actions stay red; green is deliberately a signature detail only. */
.button.primary,
.button.checkout,
.single_add_to_cart_button,
.widget_shopping_cart .button.checkout {
	background-color: var(--sf-red) !important;
	border-color: var(--sf-red) !important;
}

.button.primary:hover,
.single_add_to_cart_button:hover {
	background-color: var(--sf-red-dark) !important;
	border-color: var(--sf-red-dark) !important;
}

a:hover,
.entry-content a:hover {
	color: var(--sf-red);
}

/* Tiny Superior Friction green signature. */
.header-bottom:after {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	bottom: -2px;
	height: 2px;
	background: linear-gradient(90deg, transparent 0 46%, var(--sf-green) 46% 54%, transparent 54% 100%);
	pointer-events: none;
}

/* Keep article copy comfortable even on very large monitors. */
.entry-content > p,
.entry-content > ul,
.entry-content > ol {
	line-height: 1.7;
}

/* Products mega menu: polished Mega Shop-style information architecture. */
.nav-dropdown-full {
	width: min(1540px, calc(100vw - 48px));
	max-width: 1540px;
	left: 50% !important;
	transform: translateX(-50%);
	padding: 0;
	border-radius: 0 0 8px 8px;
	overflow: hidden;
}

.sf-products-mega {
	margin: 0 !important;
	background: #fff;
}

.sf-products-mega .col {
	border-right: 1px solid var(--sf-border);
}

.sf-products-mega .col:last-child {
	border-right: 0;
}

.sf-products-mega h3,
.sf-products-mega h4,
.sf-products-mega h5 {
	margin-top: 0;
}

.sf-products-mega h5 {
	font-size: .82em;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: #555;
	margin-bottom: 9px;
}

.sf-products-mega ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.sf-products-mega li {
	margin: 0 0 8px;
	line-height: 1.35;
}

.sf-products-mega a {
	color: #333;
}

.sf-products-mega a:hover {
	color: var(--sf-red) !important;
}

.sf-mega-kicker {
	font-size: .72em;
	letter-spacing: .12em;
	color: var(--sf-red);
	margin-bottom: 7px;
}

.sf-mega-title {
	font-size: 1.32em;
	margin-bottom: 8px;
}

.sf-mega-intro {
	color: #666;
	max-width: 580px;
	margin-bottom: 12px;
}

.sf-mega-feature-link {
	display: inline-block;
	color: var(--sf-red) !important;
	margin-bottom: 16px;
}

.sf-mega-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 28px;
}

.sf-mega-guides {
	background: #fafafa;
}

.sf-mega-help {
	margin-top: 18px;
	padding: 15px 16px;
	background: #fff;
	border-left: 3px solid var(--sf-green);
	box-shadow: 0 2px 10px rgba(0,0,0,.05);
}

.sf-mega-help p {
	margin: 6px 0 9px;
	font-size: .92em;
}

.sf-mega-future {
	background: #f5f5f5;
}

.sf-mega-status {
	display: inline-block;
	padding: 5px 8px;
	font-size: .68em;
	font-weight: 700;
	letter-spacing: .08em;
	background: rgba(214,40,40,.09);
	color: var(--sf-red);
	border-radius: 3px;
}

.sf-mega-status-green {
	background: rgba(89,165,44,.10);
	color: #4b8d26;
}

@media only screen and (min-width: 1550px) {
	.row.row-large {
		max-width: 1540px;
	}
}

@media only screen and (max-width: 849px) {
	.header-main {
		border-bottom: 3px solid var(--sf-graphite);
	}
	.mobile-sidebar .sidebar-menu {
		padding-top: 12px;
	}
	.mobile-sidebar .nav-sidebar > li > a {
		font-weight: 700;
	}
	.mobile-sidebar .nav-sidebar > li > a:hover {
		color: var(--sf-red);
	}
}

@media only screen and (max-width: 48em) {
/*************** ADD MOBILE ONLY CSS HERE  ***************/

.sf-ebc-layout {
	grid-template-columns: 1fr;
	gap: 24px;
}

.sf-ebc-sidebar {
	position: static;
}

.sf-ebc-nav,
.sf-ebc-enquiry {
	padding: 16px;
}

.sf-ebc-toc ol {
	columns: 1;
}

.sf-ebc-back-to-top {
	right: 14px;
	bottom: 14px;
	padding: 10px 12px;
}

.sf-ebc-back-to-top span {
	display: none;
}

}

/* Superior Friction shop-front visual merchandising */
.sf-shopfront-hero,
.sf-shopfront-categories,
.sf-shopfront-brand-panel {
	max-width: 1540px;
	margin-left: auto;
	margin-right: auto;
}

.sf-shopfront-hero {
	margin-top: 20px;
	margin-bottom: 34px;
	border-radius: 10px;
	overflow: hidden;
	background: linear-gradient(90deg, rgba(18,18,18,.97) 0%, rgba(18,18,18,.90) 46%, rgba(18,18,18,.30) 78%, rgba(18,18,18,.12) 100%), url('https://superiorfriction.co.za/wp-content/uploads/2026/05/are-ebc-brakes-good.jpg') center right / cover no-repeat;
	box-shadow: 0 16px 40px rgba(0,0,0,.16);
}
.sf-shopfront-hero-inner { min-height:520px; display:flex; align-items:center; padding:58px 64px; }
.sf-shopfront-hero-copy { max-width:760px; color:#fff; }
.sf-shopfront-kicker { margin:0 0 10px; font-size:.78rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; color:var(--sf-green); }
.sf-shopfront-kicker.dark { color:var(--sf-red); }
.sf-shopfront-hero h1 { color:#fff; font-size:clamp(2.4rem,4.2vw,4.7rem); line-height:1.02; max-width:760px; margin:0 0 18px; letter-spacing:-.035em; }
.sf-shopfront-lead { font-size:1.12rem; line-height:1.65; color:#efefef; max-width:650px; }
.sf-shopfront-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:26px; }
.sf-shopfront-actions .button { margin:0; }
.sf-shopfront-outline { background:transparent!important; border:1px solid rgba(255,255,255,.65)!important; color:#fff!important; }
.sf-shopfront-outline:hover { background:#fff!important; color:var(--sf-graphite)!important; }
.sf-shopfront-proof { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.sf-shopfront-proof span { border:1px solid rgba(255,255,255,.20); background:rgba(255,255,255,.07); padding:7px 11px; border-radius:999px; font-size:.82rem; font-weight:700; }
.sf-shopfront-categories { padding:10px 0 34px; }
.sf-shopfront-section-head { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:20px; }
.sf-shopfront-section-head h2 { margin:0; font-size:clamp(1.8rem,2.3vw,2.7rem); }
.sf-shopfront-section-head>a { font-weight:700; color:var(--sf-red); }
.sf-shopfront-card-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.sf-shopfront-card { display:block; position:relative; min-height:215px; padding:24px; border:1px solid var(--sf-border); background:#fff; border-radius:8px; box-shadow:0 7px 24px rgba(0,0,0,.05); transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; color:var(--sf-graphite); }
.sf-shopfront-card:hover { transform:translateY(-3px); box-shadow:0 12px 30px rgba(0,0,0,.10); border-color:rgba(214,40,40,.35); color:var(--sf-graphite); }
.sf-shopfront-card h3 { margin:20px 0 8px; }
.sf-shopfront-card p { color:#666; line-height:1.55; }
.sf-shopfront-card strong { color:var(--sf-red); }
.sf-card-number { display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:50%; background:var(--sf-surface); font-weight:800; font-size:.8rem; }
.sf-shopfront-card-clearance { background:var(--sf-graphite); border-color:var(--sf-graphite); color:#fff; }
.sf-shopfront-card-clearance:hover,.sf-shopfront-card-clearance h3,.sf-shopfront-card-clearance p { color:#fff; }
.sf-shopfront-card-clearance .sf-card-number { background:var(--sf-red); color:#fff; }
.sf-shopfront-brand-panel { display:grid; grid-template-columns:minmax(0,2.2fr) minmax(260px,.8fr); margin-bottom:34px; border-radius:9px; overflow:hidden; box-shadow:0 12px 34px rgba(0,0,0,.10); }
.sf-brand-panel-main { background:var(--sf-graphite); color:#fff; padding:34px 38px; }
.sf-brand-panel-main h2,.sf-brand-panel-side h3 { color:#fff; margin-top:0; }
.sf-brand-panel-main p { color:#e8e8e8; max-width:850px; }
.sf-brand-links { display:flex; gap:10px; flex-wrap:wrap; margin-top:22px; }
.sf-brand-links a { color:#fff; border:1px solid rgba(255,255,255,.22); padding:9px 12px; border-radius:4px; font-weight:700; }
.sf-brand-links a:hover { background:var(--sf-red); border-color:var(--sf-red); color:#fff; }
.sf-brand-panel-side { background:var(--sf-red); color:#fff; padding:34px 30px; }
.sf-brand-panel-side p { color:#fff; }
.sf-brand-status { display:inline-block; background:rgba(255,255,255,.16); padding:5px 8px; border-radius:3px; font-size:.72rem; font-weight:800; letter-spacing:.08em; margin-bottom:14px; }
.sf-product-grid-anchor { scroll-margin-top:120px; }
@media only screen and (max-width:1100px) {
	.sf-shopfront-hero,.sf-shopfront-categories,.sf-shopfront-brand-panel { margin-left:15px; margin-right:15px; }
	.sf-shopfront-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media only screen and (max-width:849px) {
	.sf-shopfront-hero { margin-top:12px; background:linear-gradient(180deg,rgba(18,18,18,.88) 0%,rgba(18,18,18,.95) 100%),url('https://superiorfriction.co.za/wp-content/uploads/2026/05/are-ebc-brakes-good.jpg') center/cover no-repeat; }
	.sf-shopfront-hero-inner { min-height:430px; padding:38px 24px; }
	.sf-shopfront-hero h1 { font-size:2.45rem; }
	.sf-shopfront-section-head { align-items:flex-start; flex-direction:column; }
	.sf-shopfront-brand-panel { grid-template-columns:1fr; }
}
@media only screen and (max-width:549px) {
	.sf-shopfront-card-grid { grid-template-columns:1fr; }
	.sf-shopfront-card { min-height:auto; }
	.sf-brand-panel-main,.sf-brand-panel-side { padding:28px 22px; }
}

/* Superior Friction product-grid refinement */
.shop-container {
	padding-top: 8px;
}

.products.row {
	row-gap: 22px;
}

.product-small > .col-inner {
	height: 100%;
	background: #fff;
	border: 1px solid #e7e7e7;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 5px 18px rgba(0,0,0,.045);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.product-small > .col-inner:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 28px rgba(0,0,0,.10);
	border-color: rgba(214,40,40,.24);
}

.product-small .box-image {
	background: #f7f7f7;
	border-bottom: 1px solid #eeeeee;
}

.product-small .box-image img {
	transition: transform .25s ease;
}

.product-small > .col-inner:hover .box-image img:first-child {
	transform: scale(1.025);
}

.product-small .box-text-products {
	padding: 18px 18px 20px;
}

.product-small .product-cat {
	color: #777;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .06em;
	margin-bottom: 7px;
}

.product-small .product-title {
	font-size: .98rem;
	line-height: 1.42;
	font-weight: 700;
	min-height: 2.8em;
	margin-bottom: 9px;
}

.product-small .product-title a {
	color: var(--sf-graphite);
}

.product-small .product-title a:hover {
	color: var(--sf-red);
}

.product-small .price-wrapper {
	margin-top: 10px;
}

.product-small .price {
	color: var(--sf-graphite);
	font-size: 1rem;
	font-weight: 800;
}

.product-small .price ins {
	color: var(--sf-red);
	text-decoration: none;
}

.product-small .price del {
	color: #888;
	font-weight: 500;
	opacity: .72;
}

.product-small .woocommerce-price-suffix {
	font-size: .7rem;
	font-weight: 500;
	color: #777;
}

/* The Advanced Woo Labels sale marker already shows sale state; remove the duplicate Flatsome circle. */
.product-small.sale > .col-inner > .badge-container {
	display: none;
}

.product-small .advanced-woo-labels .awl-product-label {
	font-size: 11px !important;
	font-weight: 700 !important;
}

.product-small .advanced-woo-labels .awl-label-text {
	padding: .38em .62em !important;
}

.product-small .quick-view {
	background: rgba(25,25,25,.92);
	color: #fff;
	font-weight: 700;
	letter-spacing: .02em;
}

.product-small .quick-view:hover {
	background: var(--sf-red);
	color: #fff;
}

.shop-page-title {
	margin-top: 12px;
	margin-bottom: 20px;
	background: #f6f6f6;
	border: 1px solid #e7e7e7;
	border-radius: 7px;
}

.shop-page-title .page-title-inner {
	min-height: 62px;
	padding-top: 8px;
	padding-bottom: 8px;
}

.woocommerce-result-count {
	color: #666;
	font-size: .86rem;
	font-weight: 600;
}

.woocommerce-ordering select {
	border-color: #d8d8d8;
	border-radius: 4px;
	background-color: #fff;
	font-weight: 600;
}

/* Four-column desktop grid with smaller, fully-contained product imagery. */
@media only screen and (min-width:1100px) {
	.products.row .product-small {
		flex-basis: 25%;
		max-width: 25%;
	}
}

.product-small .box-image {
	padding: 14px;
}

.product-small .box-image .image-fade_in_back {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 245px;
}

.product-small .box-image img {
	width: 100%;
	height: 245px;
	object-fit: contain;
	object-position: center;
}

.product-small .box-image img.show-on-hover {
	object-fit: contain;
}

@media only screen and (max-width:1099px) and (min-width:850px) {
	.products.row .product-small {
		flex-basis: 33.333%;
		max-width: 33.333%;
	}
}

/* Shop/category filtering: cleaner technical catalogue treatment. */
.shop-page-title {
	box-shadow: 0 5px 18px rgba(0,0,0,.035);
}

.shop-page-title .woocommerce-ordering select {
	min-height: 42px;
	padding-left: 12px;
	padding-right: 34px;
}

.category-filtering .filter-button {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 40px;
	padding: 0 14px;
	border: 1px solid #dedede;
	border-radius: 4px;
	background: #fff;
	color: var(--sf-graphite);
	font-size: .82rem;
	font-weight: 800;
}

.category-filtering .filter-button:hover {
	border-color: var(--sf-red);
	color: var(--sf-red);
}

#shop-sidebar {
	padding-top: 8px;
}

#shop-sidebar .widget {
	margin-bottom: 22px;
	padding: 20px;
	background: #fff;
	border: 1px solid #e6e6e6;
	border-radius: 7px;
	box-shadow: 0 5px 18px rgba(0,0,0,.035);
}

#shop-sidebar .widget-title,
#shop-sidebar .widget-title.shop-sidebar {
	display: block;
	margin-bottom: 12px;
	font-size: .82rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--sf-graphite);
}

#shop-sidebar .is-divider {
	width: 34px;
	height: 3px;
	margin: 0 0 17px;
	background: var(--sf-red);
}

#shop-sidebar .woo-vpf-field {
	margin-bottom: 12px;
}

#shop-sidebar .chosen-container {
	width: 100% !important;
}

#shop-sidebar .chosen-container-single .chosen-single {
	height: 42px;
	line-height: 40px;
	border: 1px solid #dcdcdc;
	border-radius: 4px;
	background: #fff;
	box-shadow: none;
}

#shop-sidebar .chosen-container-single .chosen-single div b {
	background-position-y: 10px;
}

#shop-sidebar .woo-vpf-field-submit input[type="submit"] {
	width: 100%;
	min-height: 42px;
	margin: 2px 0 0;
	border: 0;
	border-radius: 4px;
	background: var(--sf-red);
	color: #fff;
	font-weight: 800;
	text-transform: uppercase;
}

#shop-sidebar .woo-vpf-field-submit input[type="submit"]:hover {
	background: var(--sf-red-dark);
}

#shop-sidebar .facetwp-radio {
	position: relative;
	margin: 0;
	padding: 9px 34px 9px 28px;
	border-bottom: 1px solid #eeeeee;
	background-position: 0 11px;
	font-size: .91rem;
	line-height: 1.35;
}

#shop-sidebar .facetwp-radio:last-child {
	border-bottom: 0;
}

#shop-sidebar .facetwp-radio.checked {
	color: var(--sf-red);
	font-weight: 700;
}

#shop-sidebar .facetwp-counter {
	position: absolute;
	right: 0;
	color: #999;
	font-size: .76rem;
}

#shop-sidebar .mv-header,
#shop-sidebar .mv-section {
	border-color: #ececec;
}

#shop-sidebar .mv-title {
	font-weight: 700;
}

@media only screen and (min-width:850px) {
	.shop-page-title .page-title-inner {
		gap: 20px;
	}
	.shop-page-title .flex-col:last-child {
		display: flex;
		align-items: center;
		gap: 15px;
	}
}

@media only screen and (max-width:849px) {
	#shop-sidebar .widget {
		padding: 17px;
		box-shadow: none;
	}
	.product-small .box-image {
		padding: 9px;
	}
	.product-small .box-image .image-fade_in_back {
		min-height: 180px;
	}
	.product-small .box-image img {
		height: 180px;
	}
	.product-small .box-text-products {
		padding: 13px 12px 15px;
	}
	.product-small .product-title {
		font-size: .9rem;
		min-height: 0;
	}
	.product-small .advanced-woo-labels .awl-product-label {
		font-size: 9px !important;
	}
	.shop-page-title {
		margin-left: 15px;
		margin-right: 15px;
	}
}

/* Superior Friction catalogue list view — clearer for long fitment/product titles. */
.products.row .product-small {
	flex-basis: 100% !important;
	max-width: 100% !important;
}

.products.row .product-small > .col-inner {
	height: auto;
}

.products.row .product-small .product-small.box {
	display: grid;
	grid-template-columns: 240px minmax(0,1fr);
	align-items: stretch;
	min-height: 225px;
}

.products.row .product-small .box-image {
	width: 240px;
	max-width: 240px;
	min-height: 225px;
	padding: 14px;
	border-right: 1px solid #eeeeee;
	border-bottom: 0;
	position: relative;
}

.products.row .product-small .box-image .image-fade_in_back,
.products.row .product-small .box-image > div:first-child {
	min-height: 195px;
	height: 195px;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}

.products.row .product-small .box-image a {
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
}

.products.row .product-small .box-image img {
	width: 100%;
	height: 195px;
	object-fit: contain;
	object-position: center;
}

/* Reliable front/back-image swap without stretching or clipping the secondary image. */
.products.row .product-small .box-image img.back-image,
.products.row .product-small .box-image img.show-on-hover {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 195px !important;
	object-fit: contain !important;
	object-position: center !important;
	opacity: 0;
	transform: none !important;
	transition: opacity .22s ease !important;
}

.products.row .product-small .box-image:hover img:first-child {
	opacity: 0;
	transform: none;
}

.products.row .product-small .box-image:hover img.back-image,
.products.row .product-small .box-image:hover img.show-on-hover {
	opacity: 1 !important;
}

.products.row .product-small .box-text-products {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 24px 28px;
	text-align: left;
}

.products.row .product-small .product-title {
	min-height: 0;
	font-size: 1.05rem;
	line-height: 1.42;
	margin-bottom: 10px;
	max-width: 760px;
}

.products.row .product-small .price-wrapper {
	margin-top: 4px;
}

.products.row .product-small .price {
	font-size: 1.06rem;
}

.products.row .product-small .advanced-woo-labels {
	z-index: 3 !important;
}

@media only screen and (max-width:849px) {
	.products.row .product-small .product-small.box {
		grid-template-columns: 126px minmax(0,1fr);
		min-height: 150px;
	}
	.products.row .product-small .box-image {
		width: 126px;
		max-width: 126px;
		min-height: 150px;
		padding: 8px;
	}
	.products.row .product-small .box-image .image-fade_in_back,
	.products.row .product-small .box-image > div:first-child {
		min-height: 132px;
		height: 132px;
	}
	.products.row .product-small .box-image img,
	.products.row .product-small .box-image img.back-image,
	.products.row .product-small .box-image img.show-on-hover {
		height: 132px !important;
	}
	.products.row .product-small .box-text-products {
		padding: 14px 12px 14px 15px;
	}
	.products.row .product-small .product-cat {
		font-size: .64rem;
		margin-bottom: 4px;
	}
	.products.row .product-small .product-title {
		font-size: .88rem;
		line-height: 1.34;
		margin-bottom: 5px;
	}
	.products.row .product-small .price {
		font-size: .9rem;
	}
}

/* Full-width automotive catalogue: horizontal vehicle finder + filters + technical list. */
.sf-catalogue-tools {
	max-width: 1540px;
	margin: 18px auto 26px;
	padding: 24px;
	background: #fff;
	border: 1px solid #e4e4e4;
	border-radius: 9px;
	box-shadow: 0 8px 26px rgba(0,0,0,.05);
}
.sf-catalogue-tools-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:18px; }
.sf-catalogue-tools-heading h2 { margin:0; font-size:clamp(1.55rem,2vw,2.15rem); }
.sf-catalogue-tools-heading > p { max-width:520px; margin:0; color:#666; text-align:right; }
.category-page-row > .col.large-3.sf-original-shop-sidebar-col,
.category-page-row > .large-3.sf-original-shop-sidebar-col { display:none !important; }
.category-page-row > .col.large-9, .category-page-row > .large-9 { flex-basis:100% !important; max-width:100% !important; }
#sf-catalogue-filter-mount #shop-sidebar { width:100%; padding:0; }
#sf-catalogue-filter-mount #shop-sidebar .widget { margin:0; padding:0; border:0; box-shadow:none; background:transparent; }
#sf-catalogue-filter-mount #shop-sidebar .widget + .widget { margin-top:18px; padding-top:16px; border-top:1px solid #ececec; }
#sf-catalogue-filter-mount .widget_woo_vpf_filter .widget-title,
#sf-catalogue-filter-mount .widget_woo_vpf_filter .is-divider { display:none; }
#sf-catalogue-filter-mount .woo-vpf-filter-vertical form,
.sf-catalogue-tools .woo-vpf-filter-vertical form {
	display:grid !important;
	grid-template-columns:repeat(4,minmax(150px,1fr)) minmax(130px,.55fr) !important;
	gap:12px !important;
	align-items:end !important;
	width:100% !important;
}
#sf-catalogue-filter-mount .woo-vpf-field { margin:0 !important; }
#sf-catalogue-filter-mount .chosen-container, #sf-catalogue-filter-mount select { width:100% !important; }
#sf-catalogue-filter-mount .chosen-container-single .chosen-single, #sf-catalogue-filter-mount select { height:44px; line-height:42px; border:1px solid #d8d8d8; border-radius:4px; background:#fff; box-shadow:none; }
#sf-catalogue-filter-mount .woo-vpf-field-submit input[type="submit"] { width:100%; height:44px; margin:0; border:0; border-radius:4px; background:var(--sf-red); color:#fff; font-weight:800; text-transform:uppercase; }
#sf-catalogue-filter-mount .woo-vpf-field-submit input[type="submit"]:hover { background:var(--sf-red-dark); }
#sf-catalogue-filter-mount .woo-vpf-mv-container { margin-top:12px; padding:10px 12px; border:1px solid #ececec; border-radius:4px; background:#f8f8f8; }
#sf-catalogue-filter-mount .widget_text .textwidget { position:relative; }
#sf-catalogue-filter-mount .facetwp-facet,
.sf-catalogue-tools .facetwp-facet {
	display:flex !important;
	flex-wrap:wrap !important;
	gap:8px 10px !important;
	margin-bottom:0 !important;
	max-height:48px;
	overflow:hidden;
	transition:max-height .25s ease;
}
#sf-catalogue-filter-mount .widget_text.sf-filters-expanded .facetwp-facet { max-height:480px; }
#sf-catalogue-filter-mount .facetwp-radio { position:relative; margin:0; padding:8px 30px 8px 28px; border:1px solid #e2e2e2; border-radius:999px; background-color:#fff; font-size:.84rem; line-height:1.2; }
#sf-catalogue-filter-mount .facetwp-radio.checked { border-color:rgba(214,40,40,.35); color:var(--sf-red); font-weight:700; }
#sf-catalogue-filter-mount .facetwp-counter { position:static; margin-left:4px; color:#999; font-size:.73rem; }
.sf-more-filters { margin:12px 0 0; padding:8px 12px; border:1px solid #dcdcdc; border-radius:4px; background:#fff; color:var(--sf-graphite); font-size:.78rem; font-weight:800; text-transform:uppercase; }

body.woocommerce-shop .products.row,
body.tax-product_cat .products.row,
body.tax-product_tag .products.row,
body.woocommerce-shop .facetwp-template.products,
body.tax-product_cat .facetwp-template.products,
body.tax-product_tag .facetwp-template.products {
	display:block !important;
}
body.woocommerce-shop .products.row > .product,
body.tax-product_cat .products.row > .product,
body.tax-product_tag .products.row > .product,
body.woocommerce-shop .facetwp-template.products > .product,
body.tax-product_cat .facetwp-template.products > .product,
body.tax-product_tag .facetwp-template.products > .product {
	width:100% !important;
	max-width:100% !important;
	flex:0 0 100% !important;
	padding:0 0 14px !important;
}
body.woocommerce-shop .products.row > .product .product-small.box,
body.tax-product_cat .products.row > .product .product-small.box,
body.tax-product_tag .products.row > .product .product-small.box,
body.woocommerce-shop .facetwp-template.products > .product .product-small.box,
body.tax-product_cat .facetwp-template.products > .product .product-small.box,
body.tax-product_tag .facetwp-template.products > .product .product-small.box {
	display:grid !important;
	grid-template-columns:220px minmax(0,1fr) !important;
	align-items:center !important;
}
body.woocommerce-shop .shop-container .product-small .badge-container,
body.tax-product_cat .shop-container .product-small .badge-container,
body.tax-product_tag .shop-container .product-small .badge-container { display:none !important; }

@media only screen and (max-width:849px) {
	.sf-catalogue-tools { margin:12px 15px 20px; padding:18px 15px; }
	.sf-catalogue-tools-heading { align-items:flex-start; flex-direction:column; gap:8px; }
	.sf-catalogue-tools-heading > p { text-align:left; }
	#sf-catalogue-filter-mount .woo-vpf-filter-vertical form { grid-template-columns:1fr; }
	#sf-catalogue-filter-mount .woo-vpf-mv-container { margin-top:10px; }
	body.woocommerce-shop .shop-container .products.row > .product .product-small.box,
	body.tax-product_cat .shop-container .products.row > .product .product-small.box,
	body.tax-product_tag .shop-container .products.row > .product .product-small.box { grid-template-columns:118px minmax(0,1fr) !important; }
}

/* Catalogue toolbar finishing pass. */
@media only screen and (min-width:850px) {
	#sf-catalogue-filter-mount .widget-woo-vpf-filter > form,
	#sf-catalogue-filter-mount .woo-vpf-filter-vertical > form {
		display:grid !important;
		grid-template-columns:repeat(4,minmax(0,1fr)) 118px !important;
		gap:12px !important;
		align-items:center !important;
	}
	#sf-catalogue-filter-mount .woo-vpf-field-submit { margin:0 !important; }
	#sf-catalogue-filter-mount .woo-vpf-field-submit input[type="submit"] {
		height:44px !important;
		margin:0 !important;
	}
	#sf-catalogue-filter-mount .woo-vpf-mv-container {
		margin:14px 0 10px !important;
		padding:8px 12px !important;
	}
}

#sf-catalogue-filter-mount .facetwp-facet-categories {
	display:flex !important;
	flex-wrap:wrap !important;
	gap:8px 10px !important;
	align-items:center !important;
	max-height:none !important;
	overflow:visible !important;
}
#sf-catalogue-filter-mount .facetwp-facet-categories .facetwp-radio {
	margin:0 !important;
	padding:8px 13px !important;
	border:1px solid #dedede !important;
	border-radius:999px !important;
	background:#fff !important;
	background-image:none !important;
	line-height:1.15 !important;
}
#sf-catalogue-filter-mount .facetwp-facet-categories .facetwp-radio.checked {
	background:var(--sf-graphite) !important;
	border-color:var(--sf-graphite) !important;
	color:#fff !important;
}
#sf-catalogue-filter-mount .facetwp-facet-categories .facetwp-counter { color:inherit !important; opacity:.7; }
#sf-catalogue-filter-mount .sf-more-filters {
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	min-height:38px !important;
	margin:10px 10px 0 0 !important;
	padding:0 13px !important;
	border:1px solid #d9d9d9 !important;
	border-radius:4px !important;
	background:#fff !important;
	color:var(--sf-graphite) !important;
	font-size:.78rem !important;
	font-weight:800 !important;
	text-transform:uppercase !important;
}
#sf-catalogue-filter-mount .sf-more-filters:hover { border-color:var(--sf-red) !important; color:var(--sf-red) !important; }
#sf-catalogue-filter-mount .woo-vpf-reset-search,
#sf-catalogue-filter-mount .woo-vpf-reset,
#sf-catalogue-filter-mount .facetwp-reset,
#sf-catalogue-filter-mount .facetwp-facet-reset {
	display:none !important;
}

/* Short technical summary inside catalogue list rows. */
.sf-catalogue-short-description {
	max-width:780px;
	margin:5px 0 6px;
	color:#666;
	font-size:.84rem;
	line-height:1.45;
}
@media only screen and (max-width:549px) {
	.sf-catalogue-short-description {
		font-size:.78rem;
		line-height:1.4;
		margin:4px 0 5px;
	}
}

/* Final catalogue polish — compact controls and denser technical result rows. */
.sf-catalogue-tools {
	margin-bottom: 14px;
	padding-bottom: 18px;
}
.sf-catalogue-filterbar .widget {
	margin-bottom: 0 !important;
}
.sf-catalogue-filterbar .widget_text {
	margin-top: 10px !important;
	padding-top: 0 !important;
	border-top: 0 !important;
}
.sf-catalogue-filterbar .woo-vpf-mv-container {
	margin: 10px 0 8px !important;
	padding: 7px 10px !important;
}
.sf-catalogue-filterbar .facetwp-facet-categories .facetwp-radio,
.sf-catalogue-filterbar .sf-facet-pill {
	display: inline-flex !important;
	align-items: center !important;
	width: auto !important;
	margin: 0 !important;
	padding: 7px 12px !important;
	border: 1px solid #dedede !important;
	border-radius: 999px !important;
	background: #fff !important;
	background-image: none !important;
	font-size: .82rem !important;
	line-height: 1.15 !important;
}
.sf-catalogue-filterbar .facetwp-facet-categories .facetwp-radio.checked,
.sf-catalogue-filterbar .sf-facet-pill.checked {
	background: var(--sf-graphite) !important;
	border-color: var(--sf-graphite) !important;
	color: #fff !important;
}
.sf-catalogue-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 10px;
}
.sf-catalogue-actions .sf-more-filters,
.sf-catalogue-actions .sf-reset-filters {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 36px !important;
	margin: 0 !important;
	padding: 0 12px !important;
	border: 1px solid #d8d8d8 !important;
	border-radius: 4px !important;
	background: #fff !important;
	color: var(--sf-graphite) !important;
	font-size: .75rem !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
}
.sf-catalogue-actions .sf-reset-filters:hover,
.sf-catalogue-actions .sf-more-filters:hover {
	border-color: var(--sf-red) !important;
	color: var(--sf-red) !important;
}
body.woocommerce-shop .products.row > .product,
body.tax-product_cat .products.row > .product,
body.tax-product_tag .products.row > .product,
body.woocommerce-shop .facetwp-template.products > .product,
body.tax-product_cat .facetwp-template.products > .product,
body.tax-product_tag .facetwp-template.products > .product {
	padding-bottom: 8px !important;
	margin-bottom: 8px !important;
}
body.woocommerce-shop .products.row > .product > .col-inner,
body.tax-product_cat .products.row > .product > .col-inner,
body.tax-product_tag .products.row > .product > .col-inner {
	border: 0 !important;
	border-bottom: 1px solid #e9e9e9 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	transform: none !important;
}
body.woocommerce-shop .products.row > .product .product-small.box,
body.tax-product_cat .products.row > .product .product-small.box,
body.tax-product_tag .products.row > .product .product-small.box {
	min-height: 150px !important;
	grid-template-columns: 190px minmax(0,1fr) !important;
}
body.woocommerce-shop .products.row > .product .box-image,
body.tax-product_cat .products.row > .product .box-image,
body.tax-product_tag .products.row > .product .box-image {
	width: 190px !important;
	max-width: 190px !important;
	min-height: 145px !important;
	padding: 10px 14px !important;
	border: 0 !important;
	background: #fff !important;
}
body.woocommerce-shop .products.row > .product .box-image img,
body.tax-product_cat .products.row > .product .box-image img,
body.tax-product_tag .products.row > .product .box-image img {
	height: 135px !important;
	object-fit: contain !important;
}
body.woocommerce-shop .products.row > .product .box-text-products,
body.tax-product_cat .products.row > .product .box-text-products,
body.tax-product_tag .products.row > .product .box-text-products {
	padding: 16px 20px !important;
	justify-content: center !important;
}
body.woocommerce-shop .products.row > .product .product-title,
body.tax-product_cat .products.row > .product .product-title,
body.tax-product_tag .products.row > .product .product-title {
	font-size: 1rem !important;
	line-height: 1.35 !important;
	margin-bottom: 5px !important;
}
body.woocommerce-shop .products.row > .product .price-wrapper,
body.tax-product_cat .products.row > .product .price-wrapper,
body.tax-product_tag .products.row > .product .price-wrapper {
	margin-top: 3px !important;
}
.sf-inline-labels {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0 0 7px;
}
.sf-inline-labels .advanced-woo-labels {
	position: static !important;
	inset: auto !important;
	transform: none !important;
}
@media only screen and (max-width:849px) {
	.sf-catalogue-actions { margin-top: 8px; }
	body.woocommerce-shop .products.row > .product .product-small.box,
	body.tax-product_cat .products.row > .product .product-small.box,
	body.tax-product_tag .products.row > .product .product-small.box {
		grid-template-columns: 118px minmax(0,1fr) !important;
		min-height: 125px !important;
	}
	body.woocommerce-shop .products.row > .product .box-image,
	body.tax-product_cat .products.row > .product .box-image,
	body.tax-product_tag .products.row > .product .box-image {
		width: 118px !important;
		max-width: 118px !important;
		min-height: 120px !important;
		padding: 8px !important;
	}
	body.woocommerce-shop .products.row > .product .box-image img,
	body.tax-product_cat .products.row > .product .box-image img,
	body.tax-product_tag .products.row > .product .box-image img {
		height: 108px !important;
	}
}

/* Unified catalogue actions: keep customer controls beside the category filters. */
.sf-catalogue-actions {
	display:flex !important;
	align-items:center !important;
	justify-content:flex-start !important;
	flex-wrap:wrap !important;
	gap:8px !important;
	margin:10px 0 2px !important;
	padding:0 !important;
}
.sf-catalogue-actions .sf-more-filters,
.sf-catalogue-actions .sf-reset-filters {
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	height:36px !important;
	min-height:36px !important;
	box-sizing:border-box !important;
	vertical-align:middle !important;
	margin:0 !important;
	padding:0 12px !important;
	border:1px solid #d8d8d8 !important;
	border-radius:4px !important;
	background:#fff !important;
	color:var(--sf-graphite) !important;
	font-size:.75rem !important;
	font-weight:800 !important;
	line-height:1 !important;
	text-transform:uppercase !important;
}
.sf-catalogue-actions .sf-more-filters:hover,
.sf-catalogue-actions .sf-reset-filters:hover {
	border-color:var(--sf-red) !important;
	color:var(--sf-red) !important;
}

/* Superior Friction single-product refinement. */
body.single-product .product-main {
	padding-top:28px;
	padding-bottom:30px;
}
body.single-product .product-main .content-row {
	max-width:1480px;
	margin-left:auto;
	margin-right:auto;
	align-items:flex-start;
}
body.single-product .product-gallery {
	padding-right:34px;
}
body.single-product .product-images {
	padding:22px;
	border:1px solid #e6e6e6;
	border-radius:10px;
	background:#fff;
	box-shadow:0 8px 28px rgba(0,0,0,.045);
}
body.single-product .woocommerce-product-gallery__image {
	min-height:430px;
	display:flex;
	align-items:center;
	justify-content:center;
}
body.single-product .woocommerce-product-gallery__image a {
	display:flex;
	width:100%;
	height:100%;
	align-items:center;
	justify-content:center;
}
body.single-product .woocommerce-product-gallery__image img {
	width:auto !important;
	height:auto !important;
	max-width:100% !important;
	max-height:410px !important;
	object-fit:contain !important;
	object-position:center !important;
}
body.single-product .product-thumbnails {
	margin-top:12px;
}
body.single-product .product-thumbnails .col a {
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:92px;
	padding:8px;
	border:1px solid #e6e6e6;
	border-radius:6px;
	background:#fff;
}
body.single-product .product-thumbnails img {
	width:100% !important;
	height:76px !important;
	object-fit:contain !important;
}
body.single-product .product-summary {
	padding:28px 32px 30px;
	border:1px solid #e3e3e3;
	border-radius:10px;
	background:#fff;
	box-shadow:0 8px 30px rgba(0,0,0,.045);
}
body.single-product .product-summary .breadcrumbs {
	margin-bottom:12px;
	font-size:.72rem;
	letter-spacing:.05em;
	color:#777;
}
body.single-product .product-summary .product-title {
	margin:0 0 12px;
	font-size:clamp(1.8rem,2.6vw,2.65rem);
	line-height:1.15;
	letter-spacing:-.02em;
	color:var(--sf-graphite);
}
body.single-product .product-summary > .is-divider {
	width:58px;
	height:3px;
	margin:0 0 18px;
	background:var(--sf-red);
}
body.single-product .product-page-price {
	margin:0 0 16px;
	font-size:1.55rem;
	line-height:1.2;
	font-weight:800;
	color:var(--sf-graphite);
}
body.single-product .product-page-price ins {
	text-decoration:none;
	color:var(--sf-red);
}
body.single-product .product-page-price del {
	margin-right:8px;
	font-size:.78em;
	color:#888;
}
body.single-product .product-short-description {
	margin:0 0 16px;
	padding:16px 18px;
	border-left:3px solid var(--sf-red);
	background:#f7f7f7;
	color:#4e4e4e;
	font-size:.96rem;
	line-height:1.6;
}
body.single-product .product-short-description p:last-child { margin-bottom:0; }
body.single-product .stock.in-stock {
	display:inline-flex;
	align-items:center;
	margin:0 0 16px;
	padding:6px 10px;
	border-radius:999px;
	background:rgba(0,165,5,.08);
	color:#17801b;
	font-size:.78rem;
	font-weight:800;
	text-transform:uppercase;
	letter-spacing:.04em;
}
body.single-product form.cart {
	display:flex;
	align-items:stretch;
	gap:10px;
	margin:0 0 20px;
	padding:15px;
	border:1px solid #e7e7e7;
	border-radius:8px;
	background:#fafafa;
}
body.single-product form.cart .ux-quantity {
	margin:0 !important;
}
body.single-product form.cart .single_add_to_cart_button {
	min-height:44px;
	margin:0 !important;
	padding:0 24px;
	border-radius:4px;
	background:var(--sf-red) !important;
	font-weight:800;
	text-transform:uppercase;
}
body.single-product form.cart .single_add_to_cart_button:hover {
	background:var(--sf-red-dark) !important;
}
body.single-product .product_meta {
	padding-top:15px;
	border-top:1px solid #ececec;
	font-size:.82rem;
	line-height:1.65;
}
body.single-product .product_meta > span {
	dis:block;
}
body.single-product .share-icons {
	margin-top:14px;
}
body.single-product .product-footer .woocommerce-tabs,
body.single-product .product-footer .related-products-wrapper {
	max-width:1480px;
	margin-left:auto;
	margin-right:auto;
}

@media only screen and (max-width:849px) {
	body.single-product .product-main { padding-top:16px; }
	body.single-product .product-gallery { padding-right:15px; }
	body.single-product .product-images { padding:12px; }
	body.single-product .woocommerce-product-gallery__image { min-height:280px; }
	body.single-product .woocommerce-product-gallery__image img { width:auto !important; height:auto !important; max-width:100% !important; max-height:270px !important; }
	body.single-product .product-summary {
		margin-top:14px;
		padding:22px 18px 24px;
	}
	body.single-product .product-summary .product-title { font-size:1.65rem; }
	body.single-product form.cart { flex-wrap:wrap; }
	body.single-product form.cart .single_add_to_cart_button { flex:1 1 190px; }
}

/* Lower single-product content: technical tabs + related products. */
body.single-product .product-footer {
	padding:18px 0 42px;
	background:#f7f7f7;
	border-top:1px solid #ededed;
}
body.single-product .woocommerce-tabs {
	padding:0 !important;
	border:1px solid #e3e3e3;
	border-radius:10px;
	background:#fff;
	box-shadow:0 8px 28px rgba(0,0,0,.04);
	overflow:hidden;
}
body.single-product .woocommerce-tabs .product-tabs {
	margin:0 !important;
	padding:0 22px;
	border-bottom:1px solid #e8e8e8;
	background:#fbfbfb;
	gap:8px;
}
body.single-product .woocommerce-tabs .product-tabs li {
	margin:0 !important;
}
body.single-product .woocommerce-tabs .product-tabs li a {
	padding:16px 12px 13px !important;
	font-size:.82rem;
	font-weight:800;
	letter-spacing:.04em;
}
body.single-product .woocommerce-tabs .product-tabs li.active a {
	color:var(--sf-red) !important;
}
body.single-product .woocommerce-tabs .tab-panels {
	padding:26px 30px 30px;
}
body.single-product .woocommerce-tabs .panel {
	max-width:980px;
	color:#4f4f4f;
	font-size:.96rem;
	line-height:1.65;
}
body.single-product .woocommerce-tabs .panel > *:first-child { margin-top:0; }
body.single-product .woocommerce-tabs .panel h2,
body.single-product .woocommerce-tabs .panel h3,
body.single-product .woocommerce-tabs .panel strong {
	color:var(--sf-graphite);
}
body.single-product .woocommerce-tabs .panel ul {
	margin:10px 0 0 20px;
}
body.single-product .woocommerce-tabs .panel li {
	margin-bottom:6px;
}
body.single-product table.shop_attributes {
	margin:0;
	border:1px solid #e7e7e7;
	border-radius:6px;
	overflow:hidden;
}
body.single-product table.shop_attributes th,
body.single-product table.shop_attributes td {
	padding:13px 16px !important;
	border-color:#ececec !important;
}
body.single-product table.shop_attributes th {
	width:190px;
	background:#f7f7f7;
	color:var(--sf-graphite);
	font-weight:800;
}
body.single-product .related-products-wrapper {
	margin-top:30px !important;
	padding:24px 26px 28px;
	border:1px solid #e3e3e3;
	border-radius:10px;
	background:#fff;
	box-shadow:0 8px 28px rgba(0,0,0,.035);
}
body.single-product .product-section-title-related {
	margin:0 0 18px !important;
	padding:0 0 12px !important;
	border-bottom:1px solid #ececec;
	font-size:1.25rem;
	letter-spacing:.02em;
	text-transform:none !important;
	color:var(--sf-graphite);
}
body.single-product .related-products-wrapper .product-small .box-image {
	min-height:210px;
	padding:14px;
	background:#fff;
	border:1px solid #ededed;
	border-radius:7px;
	overflow:hidden;
}
body.single-product .related-products-wrapper .product-small .box-image img {
	height:180px !important;
	width:100% !important;
	object-fit:contain !important;
}
body.single-product .related-products-wrapper .box-text-products {
	padding:12px 4px 4px;
}
body.single-product .related-products-wrapper .product-title {
	font-size:.92rem;
	line-height:1.35;
}
body.single-product .related-products-wrapper .price {
	font-weight:800;
	color:var(--sf-graphite);
}

@media only screen and (max-width:849px) {
	body.single-product .product-footer { padding:12px 0 28px; }
	body.single-product .woocommerce-tabs .product-tabs { padding:0 10px; }
	body.single-product .woocommerce-tabs .product-tabs li a { padding:13px 8px 11px !important; font-size:.73rem; }
	body.single-product .woocommerce-tabs .tab-panels { padding:20px 16px 22px; }
	body.single-product table.shop_attributes th { width:120px; }
	body.single-product .related-products-wrapper { margin-top:18px !important; padding:18px 14px 20px; }
	body.single-product .related-products-wrapper .product-small .box-image { min-height:160px; }
	body.single-product .related-products-wrapper .product-small .box-image img { height:140px !important; }
}

/* Final site-wide cleanup: consistency, responsive spacing and accessibility. */
html { scroll-behavior:smooth; }
body { overflow-x:hidden; }
.header-top .html_topbar_left { display:none !important; }
#masthead .header-inner,
.header-bottom .flex-row,
#footer .footer-1 > .row,
body.single-product .product-main .content-row {
	width:calc(100% - 32px);
}
#masthead .header_logo,
#masthead .header-logo-dark { object-fit:contain; }
.nav > li > a,
.button,
button,
input,
select,
textarea {
	transition:color .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="number"],
select,
textarea { border-radius:4px; }
a:focus-visible,
button:focus-visible,
.button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline:2px solid var(--sf-red);
	outline-offset:2px;
}
body.single-product .product-footer { padding-bottom:34px; }
body.single-product .related-products-wrapper .product-title a,
body.woocommerce-shop .product-title a,
body.tax-product_cat .product-title a,
#footer .widget_products .product-title { overflow-wrap:anywhere; }
#footer .widget_products del { opacity:.65; }

@media only screen and (max-width:849px) {
	#masthead .header-inner,
	.header-bottom .flex-row,
	#footer .footer-1 > .row,
	body.single-product .product-main .content-row {
		width:calc(100% - 24px);
	}
	#masthead .header_logo,
	#masthead .header-logo-dark { max-height:58px; }
	body.single-product .product-footer { padding-bottom:22px; }
	body.single-product .woocommerce-tabs.wc-tabs-wrapper { margin-top:18px; }
	.sf-catalogue-actions { gap:6px !important; }
}

@media only screen and (max-width:549px) {
	#masthead .header-inner,
	#footer .footer-1 > .row,
	body.single-product .product-main .content-row {
		width:calc(100% - 20px);
	}
	#masthead .header_logo,
	#masthead .header-logo-dark { max-height:50px; }
	.button,
	button,
	input[type="submit"] { min-height:42px; }
}

/* Final duplicate-label cleanup: Advanced Woo Labels already communicates sale state. */
body.single-product .product-images > .badge-container .on-sale {
	display:none !important;
}

/* Defensive shop visibility: keep catalogue content visible even if optimization or late JS leaves stale inline state. */
body.woocommerce-shop .shop-container,
body.tax-product_cat .shop-container,
body.tax-product_tag .shop-container,
body.woocommerce-shop .sf-shopfront-hero,
body.woocommerce-shop .sf-shopfront-categories,
body.woocommerce-shop .sf-shopfront-brand-panel,
body.woocommerce-shop .sf-catalogue-tools,
body.woocommerce-shop .products.row,
body.tax-product_cat .sf-catalogue-tools,
body.tax-product_cat .products.row,
body.tax-product_tag .sf-catalogue-tools,
body.tax-product_tag .products.row {
	visibility:visible !important;
	opacity:1 !important;
}

/* Catalogue sorting: directly above results, below filters. */
.sf-catalogue-ordering-bar {
	display:flex;
	justify-content:flex-end;
	align-items:center;
	margin:14px 0 12px;
	padding-top:2px;
}
.sf-catalogue-ordering-bar .woocommerce-ordering {
	margin:0 !important;
}
.sf-catalogue-ordering-bar .orderby {
	min-width:220px;
	height:40px;
	margin:0 !important;
	border:1px solid #d8d8d8;
	border-radius:4px;
	background:#fff;
	color:var(--sf-graphite);
	font-weight:600;
}
@media only screen and (max-width:549px) {
	.sf-catalogue-ordering-bar {
		justify-content:stretch;
	}
	.sf-catalogue-ordering-bar .woocommerce-ordering,
	.sf-catalogue-ordering-bar .orderby {
		width:100%;
		min-width:0;
	}
}

/* Vehicle finder reset: separate from general catalogue filters. */
.sf-vehicle-reset-row {
	display:flex;
	justify-content:flex-end;
	margin:8px 0 4px;
}
.sf-reset-vehicle {
	display:inline-flex !important;
	align-items:center;
	justify-content:center;
	height:36px !important;
	margin:0 !important;
	padding:0 12px !important;
	border:1px solid #d8d8d8 !important;
	border-radius:4px !important;
	background:#fff !important;
	color:var(--sf-graphite) !important;
	font-size:.75rem !important;
	font-weight:800 !important;
	line-height:1 !important;
	text-transform:uppercase !important;
}
.sf-reset-vehicle:hover {
	border-color:var(--sf-red) !important;
	color:var(--sf-red) !important;
}
@media only screen and (max-width:549px) {
	.sf-vehicle-reset-row,
	.sf-reset-vehicle {
		width:100%;
	}
}

/* Final catalogue action alignment: keep all three controls in one row. */
.sf-catalogue-actions {
	display:flex !important;
	align-items:center !important;
	justify-content:flex-start !important;
	flex-wrap:wrap !important;
	gap:8px !important;
	margin:10px 0 0 !important;
}
.sf-catalogue-actions .sf-reset-vehicle,
.sf-catalogue-actions .sf-reset-filters,
.sf-catalogue-actions .sf-more-filters {
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	height:36px !important;
	min-height:36px !important;
	margin:0 !important;
	padding:0 12px !important;
	box-sizing:border-box !important;
	line-height:1 !important;
}
.sf-catalogue-actions + .sf-vehicle-reset-row,
.sf-vehicle-reset-row:empty {
	display:none !important;
}
@media only screen and (max-width:549px) {
	.sf-catalogue-actions {
		display:grid !important;
		grid-template-columns:1fr !important;
		gap:8px !important;
	}
	.sf-catalogue-actions .sf-reset-vehicle,
	.sf-catalogue-actions .sf-reset-filters,
	.sf-catalogue-actions .sf-more-filters {
		width:100% !important;
	}
}

/* Temporarily retire the Woo Vehicle Parts Finder from the customer-facing catalogue.
 * Keep the plugin and its test data intact for reference while the FacetWP replacement is designed.
 */
body.woocommerce-shop .widget_woo_vpf_filter,
body.tax-product_cat .widget_woo_vpf_filter,
body.tax-product_tag .widget_woo_vpf_filter,
body.woocommerce-shop .sf-reset-vehicle,
body.tax-product_cat .sf-reset-vehicle,
body.tax-product_tag .sf-reset-vehicle,
body.woocommerce-shop .sf-vehicle-reset-row,
body.tax-product_cat .sf-vehicle-reset-row,
body.tax-product_tag .sf-vehicle-reset-row {
	display:none !important;
}
