/**
 * New Web Repuestos — Main Stylesheet v1.1.0
 * Premium Industrial B2B Diesel Engine Parts Catalog Theme
 * No external frameworks — custom CSS only
 */

/* ==========================================================================
   CSS Variables
   ========================================================================== */

:root {
	/* ----------------------------------------------------------------------
	   CANONICAL DESIGN SYSTEM — Spring Garden Repair (--sgr-*)
	   Single source of truth. Legacy --nwr-* and --nwr-v4-* tokens below are
	   aliased to these so the whole store resolves to one industrial palette.
	   ---------------------------------------------------------------------- */
	--sgr-primary: #0b1f3a;        /* deep industrial navy — brand */
	--sgr-primary-2: #132d52;      /* navy hover / gradient stop */
	--sgr-primary-dark: #071428;
	--sgr-charcoal: #111827;       /* near-black structural surfaces */
	--sgr-charcoal-2: #1b2433;
	--sgr-accent: #c0392b;         /* the single brand red */
	--sgr-accent-dark: #a93226;
	--sgr-accent-soft: rgba(192, 57, 43, 0.10);
	--sgr-bg: #f5f6f7;             /* page background */
	--sgr-bg-warm: #f7f4ef;
	--sgr-surface: #ffffff;        /* cards / panels */
	--sgr-surface-soft: #fbfaf8;
	--sgr-text: #1e242b;
	--sgr-muted: #657282;
	--sgr-muted-2: #8a94a1;
	--sgr-border: #e4e7eb;
	--sgr-border-strong: #d4dae1;
	--sgr-success: #16803c;
	--sgr-success-soft: rgba(22, 128, 60, 0.12);
	--sgr-warning: #b7791f;
	--sgr-danger: #b42318;

	--sgr-radius-sm: 6px;
	--sgr-radius-md: 10px;
	--sgr-radius-lg: 16px;
	--sgr-radius-xl: 24px;

	--sgr-shadow-sm: 0 2px 8px rgba(17, 24, 39, .05);
	--sgr-shadow-card: 0 12px 32px rgba(17, 24, 39, .08);
	--sgr-shadow-strong: 0 18px 44px rgba(17, 24, 39, .14);

	--sgr-font: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", Arial, sans-serif;
	--sgr-font-mono: "SFMono-Regular", "JetBrains Mono", "Consolas", "Courier New", monospace;
	--sgr-container: 1320px;
	--sgr-header-height: 76px;

	/* ----------------------------------------------------------------------
	   LEGACY ALIASES — keep old token names working, point them at canonical
	   ---------------------------------------------------------------------- */
	--nwr-navy: var(--sgr-primary);
	--nwr-navy-light: var(--sgr-primary-2);
	--nwr-navy-dark: var(--sgr-primary-dark);
	--nwr-charcoal: var(--sgr-text);
	--nwr-charcoal-light: var(--sgr-charcoal-2);
	--nwr-white: var(--sgr-surface);
	--nwr-gray-100: var(--sgr-bg);
	--nwr-gray-200: var(--sgr-border);
	--nwr-gray-300: var(--sgr-border-strong);
	--nwr-gray-400: var(--sgr-muted-2);
	--nwr-gray-500: var(--sgr-muted);
	--nwr-gray-700: #3d4652;
	--nwr-red: var(--sgr-accent);
	--nwr-red-hover: var(--sgr-accent-dark);
	--nwr-red-light: var(--sgr-accent-soft);
	--nwr-success: var(--sgr-success);
	--nwr-yellow: var(--sgr-warning);

	--nwr-font: var(--sgr-font);
	--nwr-font-mono: var(--sgr-font-mono);

	--nwr-radius: var(--sgr-radius-sm);
	--nwr-radius-md: var(--sgr-radius-sm);
	--nwr-radius-lg: var(--sgr-radius-md);
	--nwr-radius-xl: var(--sgr-radius-lg);

	--nwr-shadow-sm: var(--sgr-shadow-sm);
	--nwr-shadow: var(--sgr-shadow-sm);
	--nwr-shadow-md: var(--sgr-shadow-card);
	--nwr-shadow-lg: var(--sgr-shadow-card);
	--nwr-shadow-xl: var(--sgr-shadow-strong);

	--nwr-space-xs: 0.5rem;
	--nwr-space-sm: 0.75rem;
	--nwr-space-md: 1rem;
	--nwr-space-lg: 1.5rem;
	--nwr-space-xl: 2rem;
	--nwr-space-2xl: 3rem;
	--nwr-space-3xl: 4rem;
	--nwr-space-4xl: 5rem;
	--nwr-space-5xl: 6rem;

	--nwr-container: var(--sgr-container);
	--nwr-container-wide: var(--sgr-container);
	--nwr-header-height: var(--sgr-header-height);
	--nwr-utility-height: 38px;
	--nwr-transition: 0.25s ease;
	--nwr-transition-fast: 0.15s ease;
}

/* ==========================================================================
   Reset & Base
   ========================================================================== */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	font-family: var(--nwr-font);
	font-size: 16px;
	line-height: 1.65;
	color: var(--nwr-charcoal);
	background: var(--nwr-white);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: var(--nwr-navy);
	text-decoration: none;
	transition: color var(--nwr-transition-fast);
}

a:hover {
	color: var(--nwr-red);
}

h1, h2, h3, h4, h5, h6 {
	margin: 0 0 var(--nwr-space-md);
	line-height: 1.25;
	font-weight: 700;
	color: var(--nwr-navy);
}

p {
	margin: 0 0 var(--nwr-space-md);
}

ul, ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

button {
	font-family: inherit;
}

table {
	border-collapse: collapse;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.nwr-skip-link:focus {
	position: fixed;
	top: var(--nwr-space-sm);
	left: var(--nwr-space-sm);
	z-index: 9999;
	width: auto;
	height: auto;
	padding: var(--nwr-space-sm) var(--nwr-space-md);
	background: var(--nwr-navy);
	color: var(--nwr-white);
	clip: auto;
	border-radius: var(--nwr-radius);
}

.nwr-muted {
	color: var(--nwr-gray-500);
}

.nwr-icon-svg {
	flex-shrink: 0;
}

/* ==========================================================================
   Layout
   ========================================================================== */

.nwr-site {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

.nwr-main {
	flex: 1;
	min-height: 50vh;
}

.nwr-container {
	width: 100%;
	max-width: var(--nwr-container);
	margin: 0 auto;
	padding: 0 var(--nwr-space-xl);
}

/* ==========================================================================
   Sections
   ========================================================================== */

.nwr-section {
	padding: var(--nwr-space-4xl) 0;
}

.nwr-section--tight-top {
	padding-top: var(--nwr-space-2xl);
}

.nwr-section--alt {
	background: var(--nwr-gray-100);
}

.nwr-section--dark {
	background: var(--nwr-navy);
	color: var(--nwr-gray-200);
}

.nwr-section--dark .nwr-section-title {
	color: var(--nwr-white);
}

.nwr-section--dark .nwr-section-subtitle {
	color: rgba(255, 255, 255, 0.72);
}

.nwr-section-eyebrow {
	display: inline-block;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: var(--nwr-red);
	margin-bottom: var(--nwr-space-sm);
}

.nwr-section--dark .nwr-section-eyebrow {
	color: rgba(255, 255, 255, 0.55);
}

.nwr-section-header {
	text-align: center;
	max-width: 760px;
	margin: 0 auto var(--nwr-space-3xl);
}

.nwr-section-header--light .nwr-section-eyebrow {
	color: rgba(255, 255, 255, 0.55);
}

.nwr-section-header--light .nwr-section-title {
	color: var(--nwr-white);
}

.nwr-section-header--light .nwr-section-subtitle {
	color: rgba(255, 255, 255, 0.72);
}

.nwr-section-header--row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--nwr-space-xl);
	max-width: none;
	text-align: left;
}

.nwr-section-header--row > div {
	flex: 1 1 400px;
}

.nwr-section-header__action {
	flex-shrink: 0;
}

.nwr-section-title {
	font-size: clamp(1.625rem, 3.2vw, 2.25rem);
	margin-bottom: var(--nwr-space-sm);
	letter-spacing: -0.02em;
}

.nwr-section-subtitle {
	color: var(--nwr-gray-500);
	font-size: 1.0625rem;
	margin: 0;
	line-height: 1.6;
}

.nwr-section-subtitle--left {
	text-align: left;
}

.nwr-section-footer {
	text-align: center;
	margin-top: var(--nwr-space-3xl);
}

/* ==========================================================================
   Buttons
   ========================================================================== */

.nwr-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--nwr-space-xs);
	padding: 0.7rem 1.375rem;
	font-family: inherit;
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.4;
	border: 2px solid transparent;
	border-radius: var(--nwr-radius-md);
	cursor: pointer;
	text-align: center;
	white-space: nowrap;
	transition: background var(--nwr-transition-fast), color var(--nwr-transition-fast),
		border-color var(--nwr-transition-fast), box-shadow var(--nwr-transition-fast),
		transform var(--nwr-transition-fast);
}

.nwr-btn:hover {
	transform: translateY(-1px);
}

.nwr-btn--primary {
	background: var(--nwr-red);
	color: var(--nwr-white);
	border-color: var(--nwr-red);
	box-shadow: 0 4px 12px rgba(192, 57, 43, 0.25);
}

.nwr-btn--primary:hover {
	background: var(--nwr-red-hover);
	border-color: var(--nwr-red-hover);
	color: var(--nwr-white);
	box-shadow: 0 6px 20px rgba(192, 57, 43, 0.35);
}

.nwr-btn--secondary {
	background: var(--nwr-navy);
	color: var(--nwr-white);
	border-color: var(--nwr-navy);
	box-shadow: 0 4px 12px rgba(11, 31, 58, 0.2);
}

.nwr-btn--secondary:hover {
	background: var(--nwr-navy-light);
	border-color: var(--nwr-navy-light);
	color: var(--nwr-white);
}

.nwr-btn--outline {
	background: transparent;
	color: var(--nwr-navy);
	border-color: var(--nwr-gray-300);
}

.nwr-btn--outline:hover {
	background: var(--nwr-gray-100);
	border-color: var(--nwr-navy);
	color: var(--nwr-navy);
}

.nwr-btn--outline-light {
	background: transparent;
	color: var(--nwr-white);
	border-color: rgba(255, 255, 255, 0.45);
}

.nwr-btn--outline-light:hover {
	background: rgba(255, 255, 255, 0.1);
	border-color: var(--nwr-white);
	color: var(--nwr-white);
}

.nwr-btn--quote {
	background: transparent;
	color: var(--nwr-navy);
	border-color: var(--nwr-navy);
}

.nwr-btn--quote:hover {
	background: var(--nwr-navy);
	color: var(--nwr-white);
}

.nwr-btn--sm {
	padding: 0.45rem 0.875rem;
	font-size: 0.8125rem;
	border-radius: var(--nwr-radius);
}

.nwr-btn--lg {
	padding: 0.9rem 1.875rem;
	font-size: 1rem;
}

.nwr-link {
	font-weight: 600;
	color: var(--nwr-red);
}

.nwr-link:hover {
	color: var(--nwr-red-hover);
}

/* ==========================================================================
   Badges
   ========================================================================== */

.nwr-badge {
	display: inline-block;
	padding: 0.25rem 0.65rem;
	font-size: 0.6875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	border-radius: var(--nwr-radius);
	line-height: 1.3;
}

.nwr-badge--in-stock {
	background: var(--sgr-success-soft);
	color: var(--sgr-success);
}

.nwr-badge--out-of-stock {
	background: var(--nwr-red-light);
	color: var(--nwr-red);
}

.nwr-badge--unknown {
	background: rgba(107, 119, 133, 0.15);
	color: var(--nwr-gray-700);
}

/* ==========================================================================
   Forms
   ========================================================================== */

.nwr-label {
	display: block;
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--nwr-navy);
	margin-bottom: var(--nwr-space-xs);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.nwr-input,
.nwr-select {
	width: 100%;
	padding: 0.75rem 1rem;
	font-family: inherit;
	font-size: 1rem;
	color: var(--nwr-charcoal);
	background: var(--nwr-white);
	border: 1px solid var(--nwr-gray-300);
	border-radius: var(--nwr-radius-md);
	transition: border-color var(--nwr-transition-fast), box-shadow var(--nwr-transition-fast);
}

.nwr-input:focus,
.nwr-select:focus {
	outline: none;
	border-color: var(--nwr-navy);
	box-shadow: 0 0 0 3px rgba(11, 31, 58, 0.12);
}

.nwr-input--lg {
	padding: 1rem 1.125rem;
	font-size: 1.0625rem;
}

.nwr-form-group {
	margin-bottom: var(--nwr-space-md);
}

.nwr-input-group {
	position: relative;
	display: flex;
	align-items: center;
}

.nwr-input-group__icon {
	position: absolute;
	left: 1rem;
	font-size: 1.125rem;
	color: var(--nwr-gray-500);
	pointer-events: none;
	z-index: 1;
}

.nwr-input-group .nwr-input {
	padding-left: 2.75rem;
}

/* ==========================================================================
   Search Forms — Premium
   ========================================================================== */

.nwr-search-form {
	display: flex;
	flex-wrap: wrap;
	gap: var(--nwr-space-sm);
	align-items: stretch;
}

.nwr-search-form__input {
	flex: 1 1 240px;
	min-width: 0;
	padding: 0.75rem 1rem;
	font-family: inherit;
	font-size: 1rem;
	border: 1px solid var(--nwr-gray-300);
	border-radius: var(--nwr-radius-md);
	transition: border-color var(--nwr-transition-fast), box-shadow var(--nwr-transition-fast);
}

.nwr-search-form__input:focus {
	outline: none;
	border-color: var(--nwr-navy);
	box-shadow: 0 0 0 3px rgba(11, 31, 58, 0.12);
}

.nwr-search-form--premium .nwr-search-form__input {
	background: var(--nwr-white);
}

.nwr-search-form--hero {
	margin-bottom: var(--nwr-space-xl);
}

.nwr-search-form--hero .nwr-search-form__wrap {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 0;
	background: var(--nwr-white);
	border-radius: var(--nwr-radius-lg);
	box-shadow: var(--nwr-shadow-lg);
	overflow: hidden;
	border: 2px solid rgba(255, 255, 255, 0.15);
}

.nwr-search-form--hero .nwr-search-form__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 0 0 1.25rem;
	font-size: 1.25rem;
	color: var(--nwr-gray-500);
	flex-shrink: 0;
}

.nwr-search-form--hero .nwr-search-form__input {
	flex: 1 1 280px;
	border: none;
	border-radius: 0;
	box-shadow: none;
	padding: 1.125rem 1rem;
	font-size: 1.0625rem;
	background: transparent;
}

.nwr-search-form--hero .nwr-search-form__input:focus {
	box-shadow: none;
}

.nwr-search-form--hero .nwr-btn {
	border-radius: 0;
	flex-shrink: 0;
}

.nwr-search-form--header {
	max-width: 720px;
}

.nwr-search-form--catalog {
	max-width: 480px;
	flex: 1 1 300px;
}

.nwr-notice {
	padding: var(--nwr-space-md) var(--nwr-space-lg);
	border-radius: var(--nwr-radius-md);
	margin-top: var(--nwr-space-xl);
}

.nwr-notice--info {
	background: rgba(11, 31, 58, 0.05);
	border-left: 4px solid var(--nwr-navy);
	color: var(--nwr-gray-700);
}

.nwr-notice p:last-child {
	margin-bottom: 0;
}

/* ==========================================================================
   Image Placeholder
   ========================================================================== */

.nwr-img-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	min-height: 120px;
	background: linear-gradient(135deg, var(--nwr-gray-100) 0%, var(--nwr-gray-200) 100%);
	color: var(--nwr-gray-400);
	font-size: 0.8125rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.nwr-img-placeholder::before {
	content: "";
	display: block;
	width: 48px;
	height: 48px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c5cdd6'%3E%3Cpath d='M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5l3.5-4.5z'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* ==========================================================================
   Header
   ========================================================================== */

.nwr-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: var(--nwr-white);
	transition: box-shadow var(--nwr-transition);
}

.nwr-header.is-scrolled {
	box-shadow: var(--nwr-shadow-md);
}

.nwr-header__utility {
	background: var(--nwr-charcoal);
	color: var(--nwr-gray-200);
	font-size: 0.8125rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.nwr-header__utility-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: var(--nwr-utility-height);
	gap: var(--nwr-space-md);
}

.nwr-header__contact {
	display: flex;
	flex-wrap: wrap;
	gap: var(--nwr-space-lg);
}

.nwr-header__contact-item {
	color: var(--nwr-gray-300);
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.8125rem;
	transition: color var(--nwr-transition-fast);
}

.nwr-header__contact-item:hover {
	color: var(--nwr-white);
}

.nwr-header__utility-actions {
	display: flex;
	align-items: center;
	gap: var(--nwr-space-lg);
}

.nwr-header__utility-tag {
	color: var(--nwr-gray-400);
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.nwr-header__quote-link {
	color: var(--nwr-white);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-size: 0.75rem;
	transition: color var(--nwr-transition-fast);
}

.nwr-header__quote-link:hover {
	color: var(--nwr-red);
}

.nwr-header__main {
	border-bottom: 1px solid var(--nwr-gray-200);
}

.nwr-header__main-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--nwr-space-lg);
	min-height: var(--nwr-header-height);
}

.nwr-header__brand {
	flex-shrink: 0;
}

.nwr-logo {
	display: flex;
	align-items: center;
	gap: var(--nwr-space-sm);
	color: var(--nwr-navy);
	transition: opacity var(--nwr-transition-fast);
}

.nwr-logo:hover {
	color: var(--nwr-navy);
	opacity: 0.9;
}

.nwr-logo__mark {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	background: var(--nwr-navy);
	color: var(--nwr-white);
	font-size: 0.875rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	border-radius: var(--nwr-radius-md);
	flex-shrink: 0;
	box-shadow: var(--nwr-shadow);
}

.nwr-logo__text-wrap {
	display: flex;
	flex-direction: column;
}

.nwr-logo__text {
	font-size: 1.1875rem;
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.2;
	color: var(--nwr-navy);
}

.nwr-logo__tagline {
	font-size: 0.625rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--nwr-gray-500);
	font-weight: 600;
	margin-top: 0.1rem;
}

.custom-logo-link img {
	max-height: 56px;
	width: auto;
}

.nwr-nav {
	flex: 1;
	display: flex;
	justify-content: center;
}

.nwr-nav__list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--nwr-space-xs) var(--nwr-space-xl);
}

.nwr-nav__list a {
	font-weight: 600;
	font-size: 0.9375rem;
	color: var(--nwr-charcoal);
	padding: 0.4rem 0;
	border-bottom: 2px solid transparent;
	transition: color var(--nwr-transition-fast), border-color var(--nwr-transition-fast);
}

.nwr-nav__list a:hover,
.nwr-nav__list .current-menu-item > a,
.nwr-nav__list .current_page_item > a {
	color: var(--nwr-red);
	border-bottom-color: var(--nwr-red);
}

.nwr-header__actions {
	display: flex;
	align-items: center;
	gap: var(--nwr-space-sm);
	flex-shrink: 0;
}

.nwr-header__catalog-link {
	display: none;
}

.nwr-header__search-toggle,
.nwr-header__menu-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	background: var(--nwr-gray-100);
	border: 1px solid var(--nwr-gray-200);
	border-radius: var(--nwr-radius-md);
	cursor: pointer;
	color: var(--nwr-navy);
	transition: background var(--nwr-transition-fast), border-color var(--nwr-transition-fast),
		color var(--nwr-transition-fast);
}

.nwr-header__search-toggle:hover,
.nwr-header__menu-toggle:hover {
	background: var(--nwr-gray-200);
	border-color: var(--nwr-gray-300);
}

.nwr-header__menu-toggle {
	flex-direction: column;
	gap: 5px;
}

.nwr-menu-toggle__bar {
	display: block;
	width: 20px;
	height: 2px;
	background: var(--nwr-navy);
	border-radius: 1px;
	transition: transform var(--nwr-transition-fast), opacity var(--nwr-transition-fast);
}

.nwr-header__search-panel {
	background: var(--nwr-gray-100);
	border-top: 1px solid var(--nwr-gray-200);
	padding: var(--nwr-space-lg) 0;
	box-shadow: inset 0 4px 8px rgba(11, 31, 58, 0.04);
}

.nwr-header__search-panel[hidden] {
	display: none;
}

.nwr-mobile-menu {
	background: var(--nwr-white);
	border-top: 1px solid var(--nwr-gray-200);
	box-shadow: var(--nwr-shadow-lg);
}

.nwr-mobile-menu[hidden] {
	display: none;
}

.nwr-mobile-menu__inner {
	padding: var(--nwr-space-lg) var(--nwr-space-xl);
}

.nwr-mobile-menu__list {
	margin-bottom: var(--nwr-space-lg);
}

.nwr-mobile-menu__list li {
	border-bottom: 1px solid var(--nwr-gray-200);
}

.nwr-mobile-menu__list a {
	display: block;
	padding: var(--nwr-space-md) 0;
	font-weight: 600;
	font-size: 1rem;
	color: var(--nwr-charcoal);
}

.nwr-mobile-menu__list a:hover {
	color: var(--nwr-red);
}

.nwr-mobile-menu__actions {
	display: flex;
	flex-direction: column;
	gap: var(--nwr-space-sm);
}

.nwr-mobile-menu__actions .nwr-btn {
	width: 100%;
}

/* ==========================================================================
   Hero — Split Layout
   ========================================================================== */

.nwr-hero {
	position: relative;
	overflow: hidden;
}

.nwr-hero--split {
	background: linear-gradient(145deg, var(--nwr-navy) 0%, var(--nwr-navy-dark) 45%, var(--nwr-charcoal) 100%);
	color: var(--nwr-white);
	padding: var(--nwr-space-5xl) 0;
}

.nwr-hero__bg-pattern {
	position: absolute;
	inset: 0;
	background:
		repeating-linear-gradient(
			-45deg,
			transparent,
			transparent 24px,
			rgba(255, 255, 255, 0.015) 24px,
			rgba(255, 255, 255, 0.015) 48px
		);
	pointer-events: none;
}

.nwr-hero__grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--nwr-space-3xl);
	align-items: center;
}

.nwr-hero__content {
	max-width: 640px;
}

.nwr-hero__eyebrow {
	font-size: 0.8125rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: rgba(255, 255, 255, 0.6);
	margin-bottom: var(--nwr-space-md);
}

.nwr-hero__title {
	font-size: clamp(2rem, 4.5vw, 3.125rem);
	color: var(--nwr-white);
	margin-bottom: var(--nwr-space-lg);
	line-height: 1.15;
	letter-spacing: -0.025em;
}

.nwr-hero__subtitle {
	font-size: 1.125rem;
	color: rgba(255, 255, 255, 0.82);
	max-width: 560px;
	margin-bottom: var(--nwr-space-xl);
	line-height: 1.65;
}

.nwr-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--nwr-space-md);
	margin-bottom: var(--nwr-space-2xl);
}

.nwr-hero__stats {
	display: flex;
	flex-wrap: wrap;
	gap: var(--nwr-space-xl);
	padding-top: var(--nwr-space-xl);
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.nwr-hero__stats li {
	font-size: 0.9375rem;
	color: rgba(255, 255, 255, 0.72);
}

.nwr-hero__stats strong {
	display: block;
	font-size: 1.75rem;
	font-weight: 800;
	color: var(--nwr-white);
	line-height: 1.2;
	margin-bottom: 0.15rem;
}

.nwr-hero__visual {
	position: relative;
}

/* Hero Collage — Masonry Grid (6 items) */
.nwr-hero-collage {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: repeat(4, 80px);
	gap: var(--nwr-space-sm);
}

.nwr-hero-collage__item {
	position: relative;
	border-radius: var(--nwr-radius-lg);
	overflow: hidden;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.1);
	box-shadow: var(--nwr-shadow-lg);
	transition: transform var(--nwr-transition), box-shadow var(--nwr-transition);
}

.nwr-hero-collage__item:hover {
	transform: translateY(-4px) scale(1.02);
	box-shadow: var(--nwr-shadow-xl);
}

.nwr-hero-collage__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.nwr-hero-collage__label {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: var(--nwr-space-sm) var(--nwr-space-md);
	background: linear-gradient(transparent, rgba(11, 31, 58, 0.85));
	font-size: 0.6875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--nwr-white);
}

.nwr-hero-collage__item--1 {
	grid-column: 1 / 2;
	grid-row: 1 / 3;
}

.nwr-hero-collage__item--2 {
	grid-column: 2 / 3;
	grid-row: 1 / 2;
}

.nwr-hero-collage__item--3 {
	grid-column: 3 / 4;
	grid-row: 1 / 3;
}

.nwr-hero-collage__item--4 {
	grid-column: 1 / 2;
	grid-row: 3 / 5;
}

.nwr-hero-collage__item--5 {
	grid-column: 2 / 3;
	grid-row: 2 / 4;
}

.nwr-hero-collage__item--6 {
	grid-column: 2 / 4;
	grid-row: 4 / 5;
}

/* ==========================================================================
   Card Grids
   ========================================================================== */

.nwr-card-grid {
	display: grid;
	gap: var(--nwr-space-xl);
}

.nwr-card-grid--2 {
	grid-template-columns: repeat(2, 1fr);
}

.nwr-card-grid--3 {
	grid-template-columns: repeat(3, 1fr);
}

.nwr-card-grid--4 {
	grid-template-columns: repeat(4, 1fr);
}

.nwr-card-grid--5 {
	grid-template-columns: repeat(5, 1fr);
}

/* ==========================================================================
   Method Cards — Premium
   ========================================================================== */

.nwr-method-card {
	display: flex;
	flex-direction: column;
	padding: var(--nwr-space-xl);
	background: var(--nwr-white);
	border: 1px solid var(--nwr-gray-200);
	border-radius: var(--nwr-radius-lg);
	box-shadow: var(--nwr-shadow);
	color: inherit;
	transition: transform var(--nwr-transition), box-shadow var(--nwr-transition),
		border-color var(--nwr-transition);
}

.nwr-method-card--premium {
	padding: var(--nwr-space-2xl);
}

.nwr-method-card--premium:hover {
	transform: translateY(-6px);
	box-shadow: var(--nwr-shadow-lg);
	border-color: var(--nwr-navy);
	color: inherit;
}

.nwr-method-card__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: var(--nwr-radius-md);
	margin-bottom: var(--nwr-space-lg);
	color: var(--nwr-white);
}

.nwr-method-card__icon--oem {
	background: var(--nwr-navy);
}

.nwr-method-card__icon--engine {
	background: var(--nwr-charcoal);
}

.nwr-method-card__icon--machine {
	background: var(--nwr-navy-light);
}

.nwr-method-card__icon--category {
	background: var(--nwr-red);
}

.nwr-method-card__title {
	font-size: 1.1875rem;
	margin-bottom: var(--nwr-space-sm);
	color: var(--nwr-navy);
}

.nwr-method-card__text {
	color: var(--nwr-gray-500);
	font-size: 0.9375rem;
	margin: 0 0 var(--nwr-space-lg);
	flex: 1;
	line-height: 1.6;
}

.nwr-method-card__cta {
	font-size: 0.875rem;
	font-weight: 700;
	color: var(--nwr-red);
	margin-top: auto;
	transition: color var(--nwr-transition-fast);
}

.nwr-method-card:hover .nwr-method-card__cta {
	color: var(--nwr-red-hover);
}

/* ==========================================================================
   Brand Cards — Visual & Directory
   ========================================================================== */

.nwr-brand-card {
	display: flex;
	flex-direction: column;
	background: var(--nwr-white);
	border: 1px solid var(--nwr-gray-200);
	border-radius: var(--nwr-radius-lg);
	overflow: hidden;
	color: inherit;
	transition: transform var(--nwr-transition), box-shadow var(--nwr-transition),
		border-color var(--nwr-transition);
}

.nwr-brand-card:hover {
	color: inherit;
}

.nwr-brand-card--visual {
	box-shadow: var(--nwr-shadow);
}

.nwr-section--dark .nwr-brand-card--visual {
	background: rgba(255, 255, 255, 0.04);
	border-color: rgba(255, 255, 255, 0.1);
}

.nwr-section--dark .nwr-brand-card--visual:hover {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.2);
	transform: translateY(-4px);
	box-shadow: var(--nwr-shadow-lg);
}

.nwr-brand-card__media {
	aspect-ratio: 16 / 10;
	background: var(--nwr-gray-100);
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--nwr-space-lg);
}

.nwr-section--dark .nwr-brand-card__media {
	background: rgba(255, 255, 255, 0.06);
}

.nwr-brand-card__media img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: transform var(--nwr-transition);
}

.nwr-brand-card:hover .nwr-brand-card__media img {
	transform: scale(1.05);
}

.nwr-brand-card__body,
.nwr-brand-card__content {
	padding: var(--nwr-space-lg);
	flex: 1;
	display: flex;
	flex-direction: column;
}

.nwr-brand-card__name {
	font-size: 1.0625rem;
	font-weight: 700;
	color: var(--nwr-navy);
	margin-bottom: var(--nwr-space-xs);
}

.nwr-section--dark .nwr-brand-card__name {
	color: var(--nwr-white);
}

.nwr-brand-card__desc {
	color: var(--nwr-gray-500);
	font-size: 0.875rem;
	margin-bottom: var(--nwr-space-md);
	flex: 1;
	line-height: 1.55;
}

.nwr-section--dark .nwr-brand-card__desc {
	color: rgba(255, 255, 255, 0.65);
}

.nwr-brand-card__link {
	font-size: 0.8125rem;
	font-weight: 700;
	color: var(--nwr-red);
	margin-top: auto;
}

.nwr-section--dark .nwr-brand-card__link {
	color: rgba(255, 255, 255, 0.85);
}

.nwr-section--dark .nwr-brand-card:hover .nwr-brand-card__link {
	color: var(--nwr-white);
}

/* Brand Card — Directory (horizontal on desktop) */
.nwr-brand-card--directory {
	flex-direction: row;
	align-items: stretch;
	padding: 0;
	box-shadow: var(--nwr-shadow);
}

.nwr-brand-card--directory:hover {
	transform: translateY(-3px);
	box-shadow: var(--nwr-shadow-lg);
	border-color: var(--nwr-navy);
}

.nwr-brand-card--directory .nwr-brand-card__media {
	width: 180px;
	flex-shrink: 0;
	aspect-ratio: auto;
	min-height: 140px;
}

.nwr-brand-card--directory .nwr-brand-card__content {
	padding: var(--nwr-space-xl);
	justify-content: center;
}

.nwr-brand-card--directory .nwr-brand-card__name {
	font-size: 1.25rem;
}

/* ==========================================================================
   Category Cards — Visual
   ========================================================================== */

.nwr-category-card {
	display: flex;
	flex-direction: column;
	border-radius: var(--nwr-radius-lg);
	overflow: hidden;
	color: inherit;
	transition: transform var(--nwr-transition), box-shadow var(--nwr-transition);
}

.nwr-category-card--visual {
	position: relative;
	background: var(--nwr-navy);
	box-shadow: var(--nwr-shadow-md);
}

.nwr-category-card--visual:hover {
	transform: translateY(-6px);
	box-shadow: var(--nwr-shadow-xl);
	color: inherit;
}

.nwr-category-card__media {
	aspect-ratio: 16 / 10;
	background: var(--nwr-gray-100);
	overflow: hidden;
}

.nwr-category-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.nwr-category-card--visual:hover .nwr-category-card__media img {
	transform: scale(1.06);
}

.nwr-category-card__body {
	position: relative;
	padding: var(--nwr-space-xl);
	background: linear-gradient(180deg, var(--nwr-navy) 0%, var(--nwr-navy-dark) 100%);
	color: var(--nwr-white);
	margin-top: -2rem;
}

.nwr-category-card__name {
	font-size: 1.1875rem;
	color: var(--nwr-white);
	margin-bottom: var(--nwr-space-xs);
}

.nwr-category-card__desc {
	color: rgba(255, 255, 255, 0.72);
	font-size: 0.875rem;
	margin-bottom: var(--nwr-space-lg);
	line-height: 1.55;
}

.nwr-category-card__btn {
	display: inline-flex;
	align-items: center;
	padding: 0.5rem 1rem;
	background: var(--nwr-red);
	color: var(--nwr-white);
	font-size: 0.8125rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	border-radius: var(--nwr-radius);
	transition: background var(--nwr-transition-fast);
}

.nwr-category-card--visual:hover .nwr-category-card__btn {
	background: var(--nwr-red-hover);
}

/* ==========================================================================
   Trust Cards
   ========================================================================== */

.nwr-trust-card {
	padding: var(--nwr-space-2xl);
	background: var(--nwr-white);
	border: 1px solid var(--nwr-gray-200);
	border-radius: var(--nwr-radius-lg);
	box-shadow: var(--nwr-shadow);
	text-align: center;
	transition: transform var(--nwr-transition), box-shadow var(--nwr-transition);
}

.nwr-trust-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--nwr-shadow-lg);
}

.nwr-trust-card__media {
	width: 80px;
	height: 80px;
	margin: 0 auto var(--nwr-space-lg);
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--nwr-gray-100);
	border-radius: 50%;
	padding: var(--nwr-space-md);
}

.nwr-trust-card__media img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.nwr-trust-card__title {
	font-size: 1.1875rem;
	margin-bottom: var(--nwr-space-sm);
}

.nwr-trust-card__text {
	color: var(--nwr-gray-500);
	font-size: 0.9375rem;
	margin: 0;
	line-height: 1.65;
}

/* ==========================================================================
   Product Cards — Premium
   ========================================================================== */

.nwr-product-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: var(--nwr-space-xl);
}

.nwr-product-grid--premium {
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}

.nwr-product-grid .product {
	margin: 0;
	padding: 0;
}

.nwr-product-card {
	display: flex;
	flex-direction: column;
	background: var(--nwr-white);
	border: 1px solid var(--nwr-gray-200);
	border-radius: var(--nwr-radius-lg);
	overflow: hidden;
	transition: box-shadow var(--nwr-transition), border-color var(--nwr-transition),
		transform var(--nwr-transition);
}

.nwr-product-card--premium {
	box-shadow: var(--nwr-shadow);
}

.nwr-product-card--premium:hover {
	box-shadow: var(--nwr-shadow-lg);
	border-color: var(--nwr-gray-300);
	transform: translateY(-4px);
}

.nwr-product-card__media {
	position: relative;
	background: var(--nwr-gray-100);
}

.nwr-product-card__image-link {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

.nwr-product-card--premium .nwr-product-card__image-link {
	aspect-ratio: 5 / 4;
}

.nwr-product-card__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.35s ease;
}

.nwr-product-card:hover .nwr-product-card__image {
	transform: scale(1.04);
}

.nwr-product-card__badge-wrap {
	position: absolute;
	top: var(--nwr-space-sm);
	left: var(--nwr-space-sm);
	z-index: 2;
}

.nwr-product-card__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: var(--nwr-space-lg);
	gap: var(--nwr-space-xs);
}

.nwr-product-card__title {
	font-size: 1.0625rem;
	margin: 0;
	line-height: 1.35;
}

.nwr-product-card__title a {
	color: var(--nwr-navy);
}

.nwr-product-card__title a:hover {
	color: var(--nwr-red);
}

.nwr-product-card__sku {
	font-size: 0.8125rem;
	color: var(--nwr-gray-500);
	margin: 0;
	display: flex;
	gap: var(--nwr-space-xs);
}

.nwr-product-card__label {
	font-weight: 600;
	color: var(--nwr-gray-400);
	text-transform: uppercase;
	font-size: 0.6875rem;
	letter-spacing: 0.04em;
	flex-shrink: 0;
}

.nwr-product-card__sku-value {
	font-family: var(--nwr-font-mono);
	color: var(--nwr-gray-700);
}

.nwr-product-card__meta {
	display: flex;
	flex-direction: column;
	gap: var(--nwr-space-xs);
	font-size: 0.8125rem;
}

.nwr-product-card__meta-row {
	display: flex;
	flex-wrap: wrap;
	gap: var(--nwr-space-xs);
	align-items: baseline;
}

.nwr-product-card__meta-value {
	color: var(--nwr-gray-700);
	font-family: var(--nwr-font-mono);
	font-size: 0.8125rem;
	word-break: break-word;
}

.nwr-product-card__stock {
	margin-top: var(--nwr-space-xs);
}

.nwr-product-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--nwr-space-xs);
	margin-top: auto;
	padding-top: var(--nwr-space-md);
}

.nwr-product-card__actions .nwr-btn {
	flex: 1 1 auto;
	font-size: 0.8125rem;
	padding: 0.55rem 0.75rem;
}

.nwr-product-card--placeholder {
	opacity: 0.85;
}

/* ==========================================================================
   Resource Cards — Premium (Dark Section)
   ========================================================================== */

.nwr-resource-card {
	display: flex;
	flex-direction: column;
	padding: var(--nwr-space-2xl);
	border-radius: var(--nwr-radius-lg);
	color: inherit;
	transition: transform var(--nwr-transition), background var(--nwr-transition),
		border-color var(--nwr-transition);
}

.nwr-resource-card--premium {
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.1);
}

.nwr-resource-card--premium:hover {
	background: rgba(255, 255, 255, 0.1);
	border-color: rgba(255, 255, 255, 0.2);
	transform: translateY(-4px);
	color: inherit;
}

.nwr-resource-card__icon {
	font-size: 2rem;
	margin-bottom: var(--nwr-space-lg);
	line-height: 1;
}

.nwr-resource-card__title {
	font-size: 1.125rem;
	color: var(--nwr-white);
	margin-bottom: var(--nwr-space-sm);
}

.nwr-resource-card__text {
	color: rgba(255, 255, 255, 0.65);
	font-size: 0.9375rem;
	margin-bottom: var(--nwr-space-lg);
	flex: 1;
	line-height: 1.6;
}

.nwr-resource-card__link {
	font-size: 0.875rem;
	font-weight: 700;
	color: var(--nwr-white);
	margin-top: auto;
}

.nwr-resource-card--premium:hover .nwr-resource-card__link {
	color: rgba(255, 255, 255, 0.85);
}

/* ==========================================================================
   CTA — Premium
   ========================================================================== */

.nwr-cta {
	position: relative;
	overflow: hidden;
}

.nwr-cta--premium {
	background: var(--nwr-navy);
	color: var(--nwr-white);
	padding: var(--nwr-space-4xl) 0;
}

.nwr-cta__bg {
	position: absolute;
	inset: 0;
	background:
		repeating-linear-gradient(
			45deg,
			transparent,
			transparent 30px,
			rgba(255, 255, 255, 0.02) 30px,
			rgba(255, 255, 255, 0.02) 60px
		),
		radial-gradient(ellipse at 80% 50%, rgba(192, 57, 43, 0.15) 0%, transparent 55%);
	pointer-events: none;
}

.nwr-cta__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--nwr-space-2xl);
}

.nwr-cta__title {
	color: var(--nwr-white);
	font-size: clamp(1.625rem, 3vw, 2.25rem);
	margin-bottom: var(--nwr-space-sm);
	letter-spacing: -0.02em;
}

.nwr-cta__text {
	color: rgba(255, 255, 255, 0.82);
	margin: 0;
	max-width: 580px;
	font-size: 1.0625rem;
	line-height: 1.65;
}

.nwr-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--nwr-space-md);
	flex-shrink: 0;
}

/* ==========================================================================
   Footer — Rich
   ========================================================================== */

.nwr-footer {
	background: var(--nwr-charcoal);
	color: var(--nwr-gray-200);
}

.nwr-footer--rich {
	padding: 0 0 var(--nwr-space-xl);
}

.nwr-footer__top {
	background: var(--nwr-navy);
	padding: var(--nwr-space-2xl) 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.nwr-footer__cta-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--nwr-space-xl);
}

.nwr-footer__cta-text {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.nwr-footer__cta-text strong {
	font-size: 1.25rem;
	color: var(--nwr-white);
}

.nwr-footer__cta-text span {
	color: rgba(255, 255, 255, 0.72);
	font-size: 0.9375rem;
}

.nwr-footer__cta-actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--nwr-space-sm);
}

.nwr-footer__grid {
	display: grid;
	grid-template-columns: 1.4fr repeat(4, 1fr);
	gap: var(--nwr-space-2xl);
	padding: var(--nwr-space-4xl) 0 var(--nwr-space-2xl);
}

.nwr-footer__heading {
	color: var(--nwr-white);
	font-size: 0.875rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin-bottom: var(--nwr-space-lg);
	font-weight: 700;
}

.nwr-footer__text {
	color: var(--nwr-gray-300);
	font-size: 0.9375rem;
	line-height: 1.75;
}

.nwr-footer__list li {
	margin-bottom: 0.55rem;
}

.nwr-footer__list a {
	color: var(--nwr-gray-300);
	font-size: 0.9375rem;
	transition: color var(--nwr-transition-fast);
}

.nwr-footer__list a:hover {
	color: var(--nwr-white);
}

.nwr-footer__list--contact li {
	font-size: 0.9375rem;
	margin-bottom: var(--nwr-space-md);
}

.nwr-footer__list--contact strong {
	color: var(--nwr-white);
	display: block;
	font-size: 0.6875rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin-bottom: 0.2rem;
}

.nwr-footer__bottom {
	border-top: 1px solid var(--nwr-charcoal-light);
	padding-top: var(--nwr-space-lg);
	text-align: center;
}

.nwr-footer__copyright {
	font-size: 0.8125rem;
	color: var(--nwr-gray-500);
	margin: 0;
}

/* ==========================================================================
   Page Hero
   ========================================================================== */

.nwr-page {
	padding: var(--nwr-space-3xl) 0 var(--nwr-space-4xl);
}

.nwr-page-hero {
	position: relative;
	background: linear-gradient(135deg, var(--nwr-navy) 0%, var(--nwr-charcoal) 100%);
	color: var(--nwr-white);
	padding: var(--nwr-space-4xl) 0;
	overflow: hidden;
}

.nwr-page-hero__bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center right;
	opacity: 0.12;
	pointer-events: none;
}

.nwr-page-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, var(--nwr-navy) 40%, transparent 100%);
	pointer-events: none;
}

.nwr-page-hero--finder {
	background: var(--nwr-navy);
}

.nwr-page-hero--finder::after {
	background: radial-gradient(ellipse at 30% 50%, rgba(192, 57, 43, 0.12) 0%, transparent 60%);
}

.nwr-page-hero--brands::after,
.nwr-page-hero--categories::after {
	background: linear-gradient(135deg, rgba(11, 31, 58, 0.92) 0%, rgba(30, 36, 43, 0.85) 100%);
}

.nwr-page-hero__inner {
	position: relative;
	z-index: 1;
	max-width: 720px;
}

.nwr-page-hero__eyebrow {
	display: inline-block;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: rgba(255, 255, 255, 0.55);
	margin-bottom: var(--nwr-space-sm);
}

.nwr-page-hero__title {
	font-size: clamp(2rem, 4vw, 2.75rem);
	color: var(--nwr-white);
	margin-bottom: var(--nwr-space-md);
	letter-spacing: -0.02em;
}

.nwr-page-hero__subtitle {
	color: rgba(255, 255, 255, 0.78);
	font-size: 1.125rem;
	margin: 0;
	line-height: 1.65;
	max-width: 600px;
}

/* ==========================================================================
   Part Finder — Premium
   ========================================================================== */

.nwr-part-finder-form {
	background: var(--nwr-white);
	border: 1px solid var(--nwr-gray-200);
	border-radius: var(--nwr-radius-xl);
	box-shadow: var(--nwr-shadow-md);
	overflow: hidden;
}

.nwr-part-finder-form--premium {
	margin-bottom: var(--nwr-space-2xl);
}

.nwr-part-finder-form__section {
	padding: var(--nwr-space-2xl);
	border-bottom: 1px solid var(--nwr-gray-200);
}

.nwr-part-finder-form__section:last-of-type {
	border-bottom: none;
}

.nwr-part-finder-form__section--primary {
	background: var(--nwr-gray-100);
}

.nwr-part-finder-form__heading {
	font-size: 1.125rem;
	color: var(--nwr-navy);
	margin-bottom: var(--nwr-space-lg);
	padding-bottom: var(--nwr-space-sm);
	border-bottom: 2px solid var(--nwr-red);
	display: inline-block;
}

.nwr-part-finder-form__main {
	max-width: 100%;
}

.nwr-part-finder-form__filters {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--nwr-space-lg);
}

.nwr-part-finder-form__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--nwr-space-md);
	justify-content: center;
	padding: var(--nwr-space-2xl);
	background: var(--nwr-gray-100);
	border-top: 1px solid var(--nwr-gray-200);
}

.nwr-part-finder-results {
	margin-top: var(--nwr-space-2xl);
	border-radius: var(--nwr-radius-xl);
	overflow: hidden;
}

.nwr-part-finder-results--premium {
	background: var(--nwr-white);
	border: 1px solid var(--nwr-gray-200);
	box-shadow: var(--nwr-shadow);
}

.nwr-part-finder-results__header {
	padding: var(--nwr-space-lg) var(--nwr-space-2xl);
	background: var(--nwr-navy);
	color: var(--nwr-white);
}

.nwr-part-finder-results__header h2 {
	color: var(--nwr-white);
	font-size: 1.125rem;
	margin: 0;
}

.nwr-part-finder-results__placeholder {
	padding: var(--nwr-space-4xl) var(--nwr-space-2xl);
	text-align: center;
	background: var(--nwr-gray-100);
	border: 2px dashed var(--nwr-gray-300);
	margin: var(--nwr-space-2xl);
	border-radius: var(--nwr-radius-lg);
	min-height: 200px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.nwr-part-finder-results__icon {
	font-size: 3rem;
	margin-bottom: var(--nwr-space-md);
	opacity: 0.4;
}

.nwr-part-finder-results__placeholder p {
	color: var(--nwr-gray-500);
	margin: 0;
	max-width: 480px;
	line-height: 1.65;
}

/* Plugin target classes */
.nwr-inventory-plugin-target,
.nwr-inventory-results-target,
.nwr-inventory-filter-target {
	/* Reserved for New Web Repuestos Core plugin */
}

/* ==========================================================================
   Catalog — Premium
   ========================================================================== */

.nwr-catalog-header {
	position: relative;
	overflow: hidden;
}

.nwr-catalog-header--premium {
	background: var(--nwr-navy);
	color: var(--nwr-white);
	padding: var(--nwr-space-3xl) 0;
}

.nwr-catalog-header__bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	opacity: 0.1;
	pointer-events: none;
}

.nwr-catalog-header--premium::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(11, 31, 58, 0.95) 0%, rgba(30, 36, 43, 0.88) 100%);
	pointer-events: none;
}

.nwr-catalog-header__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--nwr-space-xl);
}

.nwr-catalog-header__eyebrow {
	display: block;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: rgba(255, 255, 255, 0.55);
	margin-bottom: var(--nwr-space-xs);
}

.nwr-catalog-header__title {
	margin: 0;
	font-size: clamp(1.75rem, 3.5vw, 2.5rem);
	color: var(--nwr-white);
}

.nwr-catalog-header__title-wrap .term-description {
	color: rgba(255, 255, 255, 0.72);
	margin-top: var(--nwr-space-sm);
	font-size: 1rem;
}

.nwr-catalog-header--premium .nwr-search-form__input {
	background: rgba(255, 255, 255, 0.95);
	border-color: transparent;
}

.nwr-catalog__layout {
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: var(--nwr-space-2xl);
	padding: var(--nwr-space-3xl) 0 var(--nwr-space-4xl);
}

.nwr-catalog-sidebar__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: var(--nwr-space-md);
}

.nwr-catalog-sidebar__title {
	font-size: 1rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin: 0;
}

.nwr-catalog-sidebar__toggle {
	width: auto;
}

.nwr-catalog-sidebar__panel {
	background: var(--nwr-white);
	border: 1px solid var(--nwr-gray-200);
	border-radius: var(--nwr-radius-lg);
	padding: var(--nwr-space-xl);
	box-shadow: var(--nwr-shadow);
	position: sticky;
	top: calc(var(--nwr-header-height) + var(--nwr-utility-height) + var(--nwr-space-md));
}

.nwr-filter-group {
	margin-bottom: var(--nwr-space-xl);
	padding-bottom: var(--nwr-space-xl);
	border-bottom: 1px solid var(--nwr-gray-200);
}

.nwr-filter-group:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}

.nwr-filter-group__title {
	font-size: 0.8125rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin-bottom: var(--nwr-space-md);
	color: var(--nwr-navy);
}

.nwr-filter-group__note {
	font-size: 0.8125rem;
	color: var(--nwr-gray-500);
	margin: var(--nwr-space-sm) 0 0;
	line-height: 1.5;
}

.nwr-filter-list li {
	margin-bottom: 0.4rem;
}

.nwr-filter-link {
	font-size: 0.9375rem;
	color: var(--nwr-gray-700);
	display: inline-block;
	padding: 0.15rem 0;
	transition: color var(--nwr-transition-fast), padding-left var(--nwr-transition-fast);
}

.nwr-filter-link:hover {
	color: var(--nwr-red);
	padding-left: 0.25rem;
}

.nwr-filter-badges {
	display: flex;
	flex-wrap: wrap;
	gap: var(--nwr-space-xs);
	margin-bottom: var(--nwr-space-sm);
}

.nwr-catalog-main .woocommerce-result-count,
.nwr-catalog-main .woocommerce-ordering {
	margin-bottom: var(--nwr-space-lg);
	color: var(--nwr-gray-500);
	font-size: 0.9375rem;
}

.nwr-catalog-main ul.products {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: var(--nwr-space-xl);
	margin: 0;
	padding: 0;
}

.nwr-catalog-main ul.products::before,
.nwr-catalog-main ul.products::after {
	display: none;
}

.nwr-catalog-main ul.products li.product {
	width: 100% !important;
	margin: 0 !important;
	float: none !important;
}

/* ==========================================================================
   Single Product — Premium
   ========================================================================== */

.nwr-single-product {
	padding: 0 0 var(--nwr-space-4xl);
}

.nwr-single-product--premium {
	background: var(--nwr-white);
}

.nwr-single-product__breadcrumb {
	background: var(--nwr-gray-100);
	border-bottom: 1px solid var(--nwr-gray-200);
	padding: var(--nwr-space-md) 0;
	margin-bottom: var(--nwr-space-2xl);
}

.nwr-single-product__breadcrumb .woocommerce-breadcrumb {
	font-size: 0.875rem;
	color: var(--nwr-gray-500);
	margin: 0;
}

.nwr-single-product__breadcrumb .woocommerce-breadcrumb a {
	color: var(--nwr-gray-700);
}

.nwr-single-product__breadcrumb .woocommerce-breadcrumb a:hover {
	color: var(--nwr-red);
}

.nwr-single-product__layout {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: var(--nwr-space-3xl);
	margin-bottom: var(--nwr-space-3xl);
	align-items: start;
}

.nwr-single-product__gallery--large .woocommerce-product-gallery {
	margin-bottom: 0;
	border-radius: var(--nwr-radius-lg);
	overflow: hidden;
	box-shadow: var(--nwr-shadow-md);
}

.nwr-single-product__gallery--large .woocommerce-product-gallery__image img {
	border-radius: var(--nwr-radius-lg);
}

.nwr-single-product__summary--premium {
	padding: var(--nwr-space-xl);
	background: var(--nwr-gray-100);
	border-radius: var(--nwr-radius-xl);
	border: 1px solid var(--nwr-gray-200);
}

.nwr-single-product__eyebrow {
	display: inline-block;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--nwr-red);
	margin-bottom: var(--nwr-space-sm);
}

.nwr-single-product__title {
	font-size: clamp(1.5rem, 3vw, 2.125rem);
	margin-bottom: var(--nwr-space-lg);
	letter-spacing: -0.02em;
}

.nwr-single-product__identifiers {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--nwr-space-lg);
	margin-bottom: var(--nwr-space-lg);
	padding-bottom: var(--nwr-space-lg);
	border-bottom: 1px solid var(--nwr-gray-200);
}

.nwr-single-product__id-block {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
}

.nwr-single-product__id-label {
	font-size: 0.6875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--nwr-gray-500);
}

.nwr-single-product__id-value {
	font-family: var(--nwr-font-mono);
	font-size: 1rem;
	color: var(--nwr-navy);
	font-weight: 600;
}

.nwr-single-product__price {
	font-size: 1.75rem;
	font-weight: 800;
	color: var(--nwr-navy);
	margin-bottom: var(--nwr-space-lg);
}

.nwr-single-product__excerpt {
	color: var(--nwr-gray-700);
	margin-bottom: var(--nwr-space-xl);
	font-size: 1rem;
	line-height: 1.65;
}

.nwr-single-product__action-box {
	display: flex;
	flex-direction: column;
	gap: var(--nwr-space-md);
	padding: var(--nwr-space-xl);
	background: var(--nwr-white);
	border: 1px solid var(--nwr-gray-200);
	border-radius: var(--nwr-radius-lg);
	margin-bottom: var(--nwr-space-xl);
	box-shadow: var(--nwr-shadow-sm);
}

.nwr-single-product__quote .nwr-btn {
	width: 100%;
}

.nwr-single-product__cart--minimal {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--nwr-space-sm);
}

.nwr-single-product__cart--minimal .quantity {
	margin-right: var(--nwr-space-sm);
}

.nwr-single-product__cart--minimal .single_add_to_cart_button {
	background: var(--nwr-navy);
	border-radius: var(--nwr-radius-md);
	font-weight: 600;
	padding: 0.75rem 1.5rem;
}

.nwr-single-product__quick-specs {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
	gap: var(--nwr-space-md);
}

.nwr-single-product__quick-spec {
	padding: var(--nwr-space-md);
	background: var(--nwr-white);
	border: 1px solid var(--nwr-gray-200);
	border-radius: var(--nwr-radius-md);
}

.nwr-single-product__quick-label {
	display: block;
	font-size: 0.6875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--nwr-gray-500);
	margin-bottom: 0.25rem;
}

.nwr-single-product__quick-value {
	font-family: var(--nwr-font-mono);
	font-size: 0.875rem;
	color: var(--nwr-navy);
	font-weight: 600;
	word-break: break-word;
}

.nwr-single-product__technical {
	margin-bottom: var(--nwr-space-3xl);
	padding: var(--nwr-space-2xl);
	background: var(--nwr-gray-100);
	border-radius: var(--nwr-radius-xl);
	border: 1px solid var(--nwr-gray-200);
}

.nwr-single-product__technical--premium .nwr-section-title {
	margin-bottom: var(--nwr-space-xl);
}

.nwr-tech-table-wrap {
	overflow-x: auto;
	border-radius: var(--nwr-radius-lg);
}

.nwr-tech-table {
	width: 100%;
	border-collapse: collapse;
	background: var(--nwr-white);
	border: 1px solid var(--nwr-gray-200);
	border-radius: var(--nwr-radius-lg);
	overflow: hidden;
}

.nwr-tech-table--premium th,
.nwr-tech-table--premium td {
	padding: var(--nwr-space-md) var(--nwr-space-lg);
	text-align: left;
	border-bottom: 1px solid var(--nwr-gray-200);
	vertical-align: top;
}

.nwr-tech-table th {
	width: 32%;
	background: var(--nwr-navy);
	font-size: 0.8125rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: rgba(255, 255, 255, 0.85);
	font-weight: 600;
}

.nwr-tech-table--premium th {
	background: var(--nwr-navy);
}

.nwr-tech-table tr:last-child th,
.nwr-tech-table tr:last-child td {
	border-bottom: none;
}

.nwr-tech-table tr:nth-child(even) td {
	background: var(--nwr-gray-100);
}

.nwr-tech-table td {
	font-family: var(--nwr-font-mono);
	font-size: 0.9375rem;
	color: var(--nwr-charcoal);
}

/* Product Tabs — Premium */
.nwr-product-tabs {
	margin-bottom: var(--nwr-space-3xl);
}

.nwr-product-tabs--premium {
	background: var(--nwr-white);
	border: 1px solid var(--nwr-gray-200);
	border-radius: var(--nwr-radius-xl);
	overflow: hidden;
	box-shadow: var(--nwr-shadow);
}

.nwr-product-tabs__nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	background: var(--nwr-gray-100);
	border-bottom: 2px solid var(--nwr-gray-200);
}

.nwr-product-tabs__tab {
	flex: 1 1 auto;
	padding: var(--nwr-space-md) var(--nwr-space-lg);
	background: transparent;
	border: none;
	border-bottom: 3px solid transparent;
	margin-bottom: -2px;
	font-family: inherit;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--nwr-gray-500);
	cursor: pointer;
	transition: color var(--nwr-transition-fast), background var(--nwr-transition-fast),
		border-color var(--nwr-transition-fast);
	text-align: center;
	min-width: 140px;
}

.nwr-product-tabs__tab:hover {
	color: var(--nwr-navy);
	background: rgba(255, 255, 255, 0.5);
}

.nwr-product-tabs__tab.is-active {
	color: var(--nwr-navy);
	background: var(--nwr-white);
	border-bottom-color: var(--nwr-red);
}

.nwr-product-tabs__panels {
	padding: var(--nwr-space-2xl);
}

.nwr-product-tabs__panel {
	line-height: 1.7;
	color: var(--nwr-gray-700);
}

.nwr-product-tabs__panel[hidden] {
	display: none;
}

.nwr-related-products {
	padding-top: var(--nwr-space-2xl);
	border-top: 1px solid var(--nwr-gray-200);
}

.nwr-single-product__related .products {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: var(--nwr-space-xl);
}

.nwr-single-product__related .products li.product {
	width: 100% !important;
	margin: 0 !important;
}

/* ==========================================================================
   Search, 404 & Misc Pages
   ========================================================================== */

.nwr-search-page .nwr-search-form--page {
	margin-bottom: var(--nwr-space-2xl);
}

.nwr-search-section {
	margin-bottom: var(--nwr-space-2xl);
}

.nwr-post-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: var(--nwr-space-xl);
}

.nwr-post-card {
	padding: var(--nwr-space-xl);
	background: var(--nwr-white);
	border: 1px solid var(--nwr-gray-200);
	border-radius: var(--nwr-radius-lg);
	box-shadow: var(--nwr-shadow-sm);
}

.nwr-post-card__title {
	font-size: 1.125rem;
}

.nwr-post-card__excerpt {
	color: var(--nwr-gray-500);
	font-size: 0.9375rem;
	margin-bottom: var(--nwr-space-md);
}

.nwr-empty-state {
	text-align: center;
	padding: var(--nwr-space-4xl) var(--nwr-space-xl);
}

.nwr-empty-state--404 .nwr-404__code {
	font-size: 6rem;
	font-weight: 800;
	color: var(--nwr-gray-200);
	line-height: 1;
	margin-bottom: var(--nwr-space-md);
}

.nwr-404__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--nwr-space-md);
	justify-content: center;
	margin-top: var(--nwr-space-xl);
}

.nwr-search-form--404 {
	max-width: 560px;
	margin: var(--nwr-space-xl) auto;
	justify-content: center;
}

.nwr-wc-categories {
	margin-top: var(--nwr-space-3xl);
	padding-top: var(--nwr-space-3xl);
	border-top: 1px solid var(--nwr-gray-200);
}

.nwr-wc-categories--premium .nwr-section-title {
	margin-bottom: var(--nwr-space-xl);
}

.nwr-wc-categories__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: var(--nwr-space-md);
}

.nwr-wc-categories__item {
	display: flex;
	flex-direction: column;
	padding: var(--nwr-space-lg);
	background: var(--nwr-white);
	border: 1px solid var(--nwr-gray-200);
	border-radius: var(--nwr-radius-md);
	transition: border-color var(--nwr-transition-fast), box-shadow var(--nwr-transition-fast);
	color: inherit;
}

.nwr-wc-categories__item:hover {
	border-color: var(--nwr-navy);
	box-shadow: var(--nwr-shadow);
	color: inherit;
}

.nwr-wc-categories__name {
	font-weight: 700;
	color: var(--nwr-navy);
	margin-bottom: 0.25rem;
}

.nwr-wc-categories__count {
	color: var(--nwr-gray-500);
	font-size: 0.875rem;
}

/* ==========================================================================
   WooCommerce Overrides
   ========================================================================== */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	border-radius: var(--nwr-radius-md);
	border-top: none;
	padding: var(--nwr-space-md) var(--nwr-space-lg);
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	background: var(--nwr-navy);
	color: var(--nwr-white);
	border-radius: var(--nwr-radius-md);
	font-weight: 600;
	padding: 0.65rem 1.25rem;
	transition: background var(--nwr-transition-fast);
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
	background: var(--nwr-navy-light);
	color: var(--nwr-white);
}

.woocommerce-breadcrumb {
	font-size: 0.875rem;
}

.woocommerce-breadcrumb a {
	color: var(--nwr-gray-700);
}

.woocommerce-breadcrumb a:hover {
	color: var(--nwr-red);
}

/* Pagination */
.woocommerce-pagination,
.navigation.pagination {
	margin-top: var(--nwr-space-3xl);
}

.woocommerce-pagination ul,
.navigation.pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--nwr-space-xs);
	justify-content: center;
	list-style: none;
	padding: 0;
	margin: 0;
}

.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span,
.navigation.pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 0.875rem;
	border: 1px solid var(--nwr-gray-300);
	border-radius: var(--nwr-radius-md);
	font-weight: 600;
	font-size: 0.9375rem;
	color: var(--nwr-navy);
	background: var(--nwr-white);
	transition: background var(--nwr-transition-fast), color var(--nwr-transition-fast),
		border-color var(--nwr-transition-fast);
}

.woocommerce-pagination ul li a:hover,
.navigation.pagination .page-numbers:hover {
	background: var(--nwr-gray-100);
	border-color: var(--nwr-navy);
	color: var(--nwr-navy);
}

.woocommerce-pagination ul li span.current,
.navigation.pagination .page-numbers.current {
	background: var(--nwr-navy);
	color: var(--nwr-white);
	border-color: var(--nwr-navy);
}

/* ==========================================================================
   Responsive — 1200px
   ========================================================================== */

@media (max-width: 1200px) {
	.nwr-card-grid--5 {
		grid-template-columns: repeat(3, 1fr);
	}

	.nwr-card-grid--4 {
		grid-template-columns: repeat(2, 1fr);
	}

	.nwr-hero__grid {
		gap: var(--nwr-space-2xl);
	}

	.nwr-footer__grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.nwr-footer__col--company {
		grid-column: 1 / -1;
	}

	.nwr-single-product__layout {
		grid-template-columns: 1fr 1fr;
		gap: var(--nwr-space-2xl);
	}
}

/* ==========================================================================
   Responsive — 991px
   ========================================================================== */

@media (max-width: 991px) {
	.nwr-nav {
		display: none;
	}

	.nwr-header__catalog-link {
		display: inline-flex;
	}

	.nwr-hero__grid {
		grid-template-columns: 1fr;
	}

	.nwr-hero__visual {
		order: -1;
		max-width: 520px;
		margin: 0 auto;
	}

	.nwr-hero-collage {
		grid-template-rows: repeat(4, 70px);
	}

	.nwr-card-grid--3,
	.nwr-card-grid--4,
	.nwr-card-grid--5 {
		grid-template-columns: repeat(2, 1fr);
	}

	.nwr-card-grid--2 {
		grid-template-columns: 1fr;
	}

	.nwr-brand-card--directory {
		flex-direction: column;
	}

	.nwr-brand-card--directory .nwr-brand-card__media {
		width: 100%;
		min-height: 120px;
	}

	.nwr-section-header--row {
		flex-direction: column;
		align-items: flex-start;
	}

	.nwr-catalog__layout {
		grid-template-columns: 1fr;
	}

	.nwr-catalog-sidebar__panel {
		display: none;
	}

	.nwr-catalog-sidebar__panel.is-open {
		display: block;
		position: static;
		margin-bottom: var(--nwr-space-xl);
	}

	.nwr-single-product__layout {
		grid-template-columns: 1fr;
	}

	.nwr-part-finder-form__filters {
		grid-template-columns: 1fr;
	}

	.nwr-footer__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.nwr-product-tabs__tab {
		flex: 1 1 50%;
		min-width: 0;
	}
}

/* ==========================================================================
   Responsive — 767px
   ========================================================================== */

@media (max-width: 767px) {
	.nwr-container {
		padding: 0 var(--nwr-space-md);
	}

	.nwr-section {
		padding: var(--nwr-space-3xl) 0;
	}

	.nwr-hero--split {
		padding: var(--nwr-space-3xl) 0;
	}

	.nwr-hero__title {
		font-size: 1.875rem;
	}

	.nwr-hero__stats {
		gap: var(--nwr-space-lg);
	}

	.nwr-hero__stats strong {
		font-size: 1.5rem;
	}

	.nwr-hero-collage {
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: auto;
	}

	.nwr-hero-collage__item--1,
	.nwr-hero-collage__item--2,
	.nwr-hero-collage__item--3,
	.nwr-hero-collage__item--4,
	.nwr-hero-collage__item--5,
	.nwr-hero-collage__item--6 {
		grid-column: auto;
		grid-row: auto;
		min-height: 100px;
	}

	.nwr-search-form--hero .nwr-search-form__wrap {
		flex-direction: column;
	}

	.nwr-search-form--hero .nwr-btn {
		width: 100%;
		border-radius: 0;
	}

	.nwr-hero__actions {
		flex-direction: column;
	}

	.nwr-hero__actions .nwr-btn {
		width: 100%;
	}

	.nwr-card-grid--3,
	.nwr-card-grid--4,
	.nwr-card-grid--5 {
		grid-template-columns: 1fr;
	}

	.nwr-header__utility-inner {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--nwr-space-xs);
		padding: var(--nwr-space-sm) 0;
	}

	.nwr-header__utility-tag {
		display: none;
	}

	.nwr-header__main-inner {
		min-height: 64px;
	}

	.nwr-logo__mark {
		width: 40px;
		height: 40px;
		font-size: 0.75rem;
	}

	.nwr-cta__inner {
		flex-direction: column;
		text-align: center;
	}

	.nwr-cta__actions {
		width: 100%;
		flex-direction: column;
	}

	.nwr-cta__actions .nwr-btn {
		width: 100%;
	}

	.nwr-footer__cta-bar {
		flex-direction: column;
		text-align: center;
	}

	.nwr-footer__cta-actions {
		width: 100%;
		flex-direction: column;
	}

	.nwr-footer__cta-actions .nwr-btn {
		width: 100%;
	}

	.nwr-footer__grid {
		grid-template-columns: 1fr;
		gap: var(--nwr-space-xl);
		padding-top: var(--nwr-space-3xl);
	}

	.nwr-part-finder-form__section {
		padding: var(--nwr-space-lg);
	}

	.nwr-part-finder-form__actions {
		flex-direction: column;
		padding: var(--nwr-space-lg);
	}

	.nwr-part-finder-form__actions .nwr-btn {
		width: 100%;
	}

	.nwr-product-card__actions {
		flex-direction: column;
	}

	.nwr-product-card__actions .nwr-btn {
		width: 100%;
	}

	.nwr-page-hero {
		padding: var(--nwr-space-3xl) 0;
	}

	.nwr-catalog-header--premium {
		padding: var(--nwr-space-2xl) 0;
	}

	.nwr-catalog-header__inner {
		flex-direction: column;
		align-items: flex-start;
	}

	.nwr-single-product__summary--premium {
		padding: var(--nwr-space-lg);
	}

	.nwr-single-product__quick-specs {
		grid-template-columns: 1fr;
	}

	.nwr-product-tabs__tab {
		flex: 1 1 100%;
		font-size: 0.8125rem;
		padding: var(--nwr-space-sm) var(--nwr-space-md);
	}

	.nwr-product-tabs__panels {
		padding: var(--nwr-space-lg);
	}
}

/* ==========================================================================
   Responsive — Desktop Enhancements
   ========================================================================== */

@media (min-width: 992px) {
	.nwr-header__menu-toggle {
		display: none;
	}

	.nwr-header__catalog-link {
		display: inline-flex;
	}

	.nwr-catalog-sidebar__toggle {
		display: none;
	}

	.nwr-catalog-sidebar__panel {
		display: block !important;
	}
}

@media (min-width: 1200px) {
	.nwr-container {
		max-width: var(--nwr-container-wide);
	}
}

/* ==========================================================================
   JS Enhancements
   ========================================================================== */

body.nwr-menu-open {
	overflow: hidden;
}

.nwr-reveal {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity 0.5s ease, transform 0.5s ease;
}

.nwr-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
	.nwr-reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* Store-only WooCommerce experience */
.nwr-catalog--store {
	background: #f7f4ef;
}

.nwr-store-hero {
	position: relative;
	overflow: hidden;
	background: linear-gradient(135deg, #151515 0%, #4b1714 55%, #8f2a23 100%);
	color: #fff;
	padding: 54px 0 72px;
}

.nwr-store-hero__bg {
	position: absolute;
	inset: 0;
	opacity: .11;
	background-image: radial-gradient(circle at 22% 20%, #fff 0 2px, transparent 3px), radial-gradient(circle at 78% 35%, #fff 0 2px, transparent 3px);
	background-size: 42px 42px, 64px 64px;
}

.nwr-store-hero__inner {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(360px, .7fr);
	gap: 36px;
	align-items: center;
}

.nwr-store-hero__title {
	font-size: clamp(2rem, 4vw, 4rem);
	line-height: 1;
	margin: .35rem 0 1rem;
	color: #fff;
}

.nwr-store-hero__subtitle {
	font-size: 1.06rem;
	line-height: 1.65;
	max-width: 720px;
	color: rgba(255,255,255,.9);
}

.nwr-shop-finder {
	margin-top: -38px;	
	position: relative;
	z-index: 2;
}

.nwr-shop-finder__intro {
	background: #fff;
	border-radius: 18px 18px 0 0;
	padding: 28px 30px 6px;
	box-shadow: 0 18px 45px rgba(0,0,0,.08);
}

.nwr-shop-finder__intro h2,
.nwr-store-toolbar h2,
.nwr-store-cta h2 {
	margin: .2rem 0 .45rem;
}

.nwr-shop-finder__intro p,
.nwr-store-toolbar p,
.nwr-store-cta p {
	margin: 0;
	color: #5d6870;
}

.nwr-shop-filter-form {
	background: linear-gradient(180deg, #fff 0%, #faf6f1 100%);
	padding: 22px 22px 28px;
	border-radius: 0 0 18px 18px;
	box-shadow: 0 18px 45px rgba(0,0,0,.08);
}

.nwr-shop-filter-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.nwr-shop-filter-card {
	background: #fff;
	border-radius: 8px;
	padding: 24px 22px;
	box-shadow: 0 10px 30px rgba(21, 21, 21, .10);
	border: 1px solid rgba(21, 21, 21, .08);
}

.nwr-shop-filter-card h3 {
	font-size: 1.08rem;
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: .02em;
	margin: 0 0 18px;
	color: #101820;
}

.nwr-shop-filter-card label {
	display: block;
	font-size: .88rem;
	margin: 12px 0 7px;
	color: #1f2933;
}

.nwr-shop-filter-card select {
	width: 100%;
	min-height: 45px;
	border: 1px solid #cdd3d7;
	border-radius: 999px;
	padding: 0 14px;
	font-size: .98rem;
	background: #fff;
	color: #6b7280;
}

.nwr-shop-filter-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	margin-top: 16px;
}

.nwr-shop-filter-clear {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 32px;
	padding: 6px 12px;
	border-radius: 4px;
	background: var(--nwr-red);
	color: #fff;
	font-weight: 700;
	font-size: .82rem;
	text-decoration: none;
	text-transform: uppercase;
}

.nwr-store-toolbar {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 24px;
	padding: 46px 0 22px;
}

.nwr-catalog__layout--store {
	display: block;
}

.nwr-catalog-main--full {
	width: 100%;
}

.nwr-no-products,
.nwr-empty-state {
	background: #fff;
	border-radius: 16px;
	padding: 36px;
	box-shadow: 0 12px 30px rgba(0,0,0,.06);
	text-align: center;
}

.nwr-btn--compare,
.nwr-product-card .add_to_cart_button,
.nwr-product-card .product_type_simple,
.nwr-product-card .product_type_variable {
	border: 0;
	border-radius: 999px;
	padding: 10px 15px;
	font-weight: 700;
	font-size: .86rem;
	cursor: pointer;
	text-decoration: none;
}

.nwr-btn--compare {
	background: #f2ebe4;
	color: #4b1714;
}

.nwr-product-card .add_to_cart_button,
.nwr-product-card .product_type_simple,
.nwr-product-card .product_type_variable {
	background: var(--nwr-red);
	color: #fff;
}

.nwr-product-card__actions {
	align-items: center;
}

.nwr-category-grid--compact {
	margin-top: 18px;
}

.nwr-category-mini-card {
	display: flex;
	gap: 14px;
	align-items: center;
	background: #fff;
	border-radius: 14px;
	padding: 16px;
	text-decoration: none;
	color: var(--sgr-text);
	box-shadow: 0 10px 26px rgba(0,0,0,.06);
	font-weight: 800;
}

.nwr-category-mini-card img {
	width: 54px;
	height: 54px;
	object-fit: contain;
}

.nwr-store-cta {
	background: linear-gradient(135deg, #151515 0%, #4b1714 55%, #8f2a23 100%);
	color: #fff;
	padding: 46px 0;
}

.nwr-store-cta__inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 30px;
}

.nwr-store-cta p {
	color: rgba(255,255,255,.82);
}

.nwr-store-cta__actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}

.nwr-wc-page__content {
	background: #fff;
	border-radius: 18px;
	padding: clamp(18px, 3vw, 34px);
	box-shadow: 0 14px 34px rgba(0,0,0,.07);
}

.nwr-wc-page .woocommerce table.shop_table,
.nwr-wc-page .woocommerce-checkout-review-order-table,
.nwr-wc-page .woocommerce-cart-form {
	border-radius: 14px;
	overflow: hidden;
}

.nwr-wc-page .woocommerce a.button,
.nwr-wc-page .woocommerce button.button,
.nwr-wc-page .woocommerce input.button,
.nwr-wc-page .woocommerce #respond input#submit {
	background: var(--nwr-red);
	color: #fff;
	border-radius: 999px;
	font-weight: 800;
}

.nwr-compare-actions {
	margin-bottom: 18px;
}

.nwr-compare-table-wrap {
	overflow-x: auto;
}

.nwr-compare-table {
	width: 100%;
	min-width: 760px;
	border-collapse: collapse;
	background: #fff;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 14px 34px rgba(0,0,0,.07);
}

.nwr-compare-table th,
.nwr-compare-table td {
	border: 1px solid #ece2d8;
	padding: 14px;
	vertical-align: top;
	text-align: left;
}

.nwr-compare-table thead th {
	background: #f8f3ed;
}

.nwr-compare-table img {
	display: block;
	width: 72px;
	height: 72px;
	object-fit: contain;
	margin-bottom: 10px;
}

.nwr-compare-table button[data-nwr-remove-compare] {
	float: right;
	border: 0;
	background: #d93025;
	color: #fff;
	border-radius: 50%;
	width: 24px;
	height: 24px;
	cursor: pointer;
}

@media (max-width: 1180px) {
	.nwr-shop-filter-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	.nwr-store-hero__inner,
	.nwr-store-toolbar,
	.nwr-store-cta__inner {
		grid-template-columns: 1fr;
		display: grid;
	}

	.nwr-shop-filter-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.nwr-store-hero {
		padding: 36px 0 56px;
	}

	.nwr-shop-finder__intro,
	.nwr-shop-filter-form,
	.nwr-shop-filter-card {
		padding-left: 16px;
		padding-right: 16px;
	}

	.nwr-shop-filter-card__actions,
	.nwr-store-cta__actions {
		align-items: stretch;
		flex-direction: column;
	}
}


/* Store-only refinement — RECONCILED to the canonical --sgr-* system.
   (Previously redefined a separate near-black/brick palette here; now aliased
   so the entire store resolves to one industrial navy + red design system.) */
:root {
	--nwr-navy: var(--sgr-primary);
	--nwr-navy-light: var(--sgr-primary-2);
	--nwr-navy-dark: var(--sgr-primary-dark);
	--nwr-charcoal: var(--sgr-text);
	--nwr-charcoal-light: var(--sgr-charcoal-2);
	--nwr-red: var(--sgr-accent);
	--nwr-red-hover: var(--sgr-accent-dark);
	--nwr-red-light: var(--sgr-accent-soft);
	--nwr-gray-100: var(--sgr-bg);
	--nwr-gray-200: var(--sgr-border);
	--nwr-gray-300: var(--sgr-border-strong);
	--nwr-yellow: var(--sgr-warning);
}

body.home .nwr-main {
	background: var(--sgr-bg);
}

.nwr-header__utility {
	background: #151515;
}

.nwr-header__main {
	border-bottom: 1px solid #eee6dc;
	box-shadow: 0 8px 24px rgba(21,21,21,.06);
}

.nwr-header__quote-link,
.nwr-header__cart-link.nwr-btn--primary,
.nwr-search-form .nwr-btn--primary,
.nwr-shop-filter-clear,
.nwr-product-card .add_to_cart_button,
.nwr-product-card .product_type_simple,
.nwr-product-card .product_type_variable,
.nwr-wc-page .woocommerce a.button,
.nwr-wc-page .woocommerce button.button,
.nwr-wc-page .woocommerce input.button,
.nwr-wc-page .woocommerce #respond input#submit {
	background: var(--nwr-red);
	border-color: var(--nwr-red);
	color: #fff;
}

.nwr-header__quote-link:hover,
.nwr-header__cart-link.nwr-btn--primary:hover,
.nwr-search-form .nwr-btn--primary:hover,
.nwr-shop-filter-clear:hover,
.nwr-product-card .add_to_cart_button:hover,
.nwr-product-card .product_type_simple:hover,
.nwr-product-card .product_type_variable:hover,
.nwr-wc-page .woocommerce a.button:hover,
.nwr-wc-page .woocommerce button.button:hover,
.nwr-wc-page .woocommerce input.button:hover,
.nwr-wc-page .woocommerce #respond input#submit:hover {
	background: var(--nwr-red-hover);
	border-color: var(--nwr-red-hover);
	color: #fff;
}

.nwr-store-hero {
	background: linear-gradient(135deg, #151515 0%, #4b1714 58%, #9f2d25 100%);
}

.nwr-store-hero__actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	margin-top: 24px;
}

.nwr-shop-finder__intro,
.nwr-shop-filter-form,
.nwr-shop-filter-card,
.nwr-category-mini-card,
.nwr-no-products,
.nwr-empty-state,
.nwr-compare-table,
.nwr-wc-page__content {
	box-shadow: 0 14px 34px rgba(21,21,21,.08);
}

.nwr-shop-filter-card {
	border: 1px solid #eee6dc;
}

.nwr-shop-filter-card h3 {
	color: #151515;
}

.nwr-shop-filter-card select:focus {
	outline: none;
	border-color: var(--nwr-red);
	box-shadow: 0 0 0 3px rgba(159,45,37,.13);
}

.nwr-store-cta {
	background: linear-gradient(135deg, #151515 0%, #4b1714 58%, #9f2d25 100%);
}

.nwr-store-brand-strip {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.nwr-store-brand-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 18px;
	border-radius: 999px;
	background: #fff;
	border: 1px solid #eee6dc;
	box-shadow: 0 8px 20px rgba(21,21,21,.06);
	font-weight: 800;
	color: #151515;
}

.nwr-store-brand-pill:hover {
	background: var(--nwr-red);
	border-color: var(--nwr-red);
	color: #fff;
}

.nwr-store-brands {
	background: #f7f4ef;
}

.nwr-badge--in-stock {
	background: rgba(183, 137, 72, 0.16);
	color: #6f4717;
}

@media (max-width: 640px) {
	.nwr-store-hero__actions {
		align-items: stretch;
		flex-direction: column;
	}
}

/* ========================================================================== 
   NWR Parts Store Pro V4 — shop-only UI like auto-parts ecommerce reference
   ========================================================================== */
:root {
	/* V4 tokens now ALIAS the canonical --sgr-* system (no parallel palette) */
	--nwr-v4-black: var(--sgr-primary);
	--nwr-v4-black-2: var(--sgr-primary-2);
	--nwr-v4-red: var(--sgr-accent);
	--nwr-v4-red-dark: var(--sgr-accent-dark);
	--nwr-v4-bg: var(--sgr-bg);
	--nwr-v4-border: var(--sgr-border);
	--nwr-v4-text: var(--sgr-text);
	--nwr-v4-muted: var(--sgr-muted);
	--nwr-v4-shadow: var(--sgr-shadow-card);
	--nwr-v4-radius: var(--sgr-radius-md);
}

html, body { background: var(--sgr-bg); }
body { color: var(--sgr-text); }
body .nwr-site.nwr-store-only { background: var(--sgr-bg); }
body .nwr-store-main { background: var(--sgr-bg); }

/* Header */
.nwr-store-header {
	background: linear-gradient(135deg, var(--sgr-primary) 0%, var(--sgr-charcoal) 100%);
	box-shadow: 0 1px 0 rgba(255,255,255,.04), 0 6px 24px rgba(11,31,58,.22);
	position: sticky;
	top: 0;
	z-index: 1000;
}
.admin-bar .nwr-store-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .nwr-store-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .nwr-store-header { top: 0; } }
.nwr-store-header__inner {
	width: min(100%, 1480px);
	margin: 0 auto;
	min-height: 76px;
	padding: 0 56px;
	display: grid;
	grid-template-columns: minmax(210px, 260px) minmax(320px, 1fr) auto auto;
	gap: 32px;
	align-items: center;
}
.nwr-store-header__brand { min-width: 0; }
.nwr-store-logo,
.nwr-store-header .custom-logo-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: #fff;
	line-height: 1;
}
.nwr-store-header .custom-logo-link img { max-height: 54px; width: auto; }
.nwr-store-logo__gear { color: var(--nwr-v4-red); display: inline-flex; }
.nwr-store-logo__text strong,
.nwr-store-logo__text small {
	display: block;
	text-transform: uppercase;
	letter-spacing: -.03em;
	font-weight: 900;
	color: #fff;
}
.nwr-store-logo__text strong { font-size: 1.1rem; }
.nwr-store-logo__text small { font-size: 1.05rem; }
.nwr-store-header__category-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	height: 43px;
	padding: 0 18px;
	border-radius: 5px;
	background: var(--sgr-accent);
	color: #fff !important;
	font-weight: 800;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 8px 18px rgba(192,57,43,.22);
}
.nwr-store-header__category-btn:hover { background: var(--sgr-accent-dark); color: #fff !important; }
.nwr-store-header__search {
	display: grid;
	grid-template-columns: 1fr 48px;
	height: 43px;
	background: #fff;
	border-radius: 5px;
	overflow: hidden;
	box-shadow: inset 0 0 0 1px rgba(255,255,255,.12), 0 8px 22px rgba(0,0,0,.18);
}
.nwr-store-header__search input {
	border: 0;
	background: #fff;
	font-size: .96rem;
	padding: 0 17px;
	outline: none;
	color: #222;
}
.nwr-store-header__search button {
	border: 0;
	background: var(--sgr-accent);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}
.nwr-store-header__icons {
	display: flex;
	align-items: center;
	gap: 22px;
}
.nwr-store-icon {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff !important;
	width: 28px;
	height: 36px;
}
.nwr-store-icon__badge {
	position: absolute;
	top: 1px;
	right: -9px;
	min-width: 17px;
	height: 17px;
	padding: 0 4px;
	border-radius: 999px;
	background: var(--nwr-v4-red);
	color: #fff;
	font-size: 10px;
	font-weight: 800;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}
.nwr-store-header__menu-toggle {
	display: none;
	background: transparent;
	border: 0;
	width: 40px;
	height: 40px;
	padding: 8px;
	cursor: pointer;
}
.nwr-store-header__menu-toggle span {
	display: block;
	height: 2px;
	background: #fff;
	margin: 6px 0;
	border-radius: 2px;
}

/* Store page shell */
.nwr-parts-store-page { padding: 0 0 44px; }
.nwr-parts-store-container {
	width: min(100%, 1480px);
	margin: 0 auto;
	padding: 0 56px;
}
.nwr-shop-breadcrumbs {
	padding: 26px 0 6px;
	font-size: .87rem;
	color: #787878;
}
.nwr-shop-breadcrumbs a,
.nwr-shop-breadcrumbs .woocommerce-breadcrumb a { color: #555; }
.nwr-shop-breadcrumbs .woocommerce-breadcrumb { margin: 0; color: #777; }
.nwr-breadcrumb-sep { margin: 0 10px; color: #aaa; }
.nwr-parts-store-titlebar {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	padding: 16px 0 26px;
	border-bottom: 1px solid var(--nwr-v4-border);
	margin-bottom: 14px;
}
.nwr-parts-store-titlebar h1,
.nwr-parts-store-titlebar .page-title {
	margin: 0;
	font-size: clamp(2rem, 3vw, 2.65rem);
	font-weight: 900;
	letter-spacing: -.04em;
	color: #090909;
}
.nwr-parts-store-titlebar p {
	margin: 10px 0 0;
	max-width: 760px;
	color: #616161;
	font-size: .98rem;
	line-height: 1.55;
}
.nwr-parts-store-titlebar__order {
	display: flex;
	align-items: center;
	gap: 12px;
	white-space: nowrap;
	color: #6c6c6c;
	font-size: .9rem;
}
.nwr-parts-store-titlebar__order .woocommerce-ordering { margin: 0; }
.nwr-parts-store-titlebar__order select,
.woocommerce-ordering select {
	height: 38px;
	min-width: 150px;
	border: 1px solid #ddd;
	border-radius: 5px;
	background: #fff;
	padding: 0 34px 0 13px;
	color: #222;
	font-size: .92rem;
}
.nwr-store-view-all,
.nwr-compare-inline {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 38px;
	padding: 0 14px;
	border: 1px solid #ddd;
	border-radius: 5px;
	background: #fff;
	color: #111 !important;
	font-weight: 700;
}
.nwr-compare-inline.is-active { color: #fff !important; background: var(--nwr-v4-red); border-color: var(--nwr-v4-red); }

.nwr-parts-store-layout {
	display: grid;
	grid-template-columns: 273px minmax(0, 1fr);
	gap: 20px;
	align-items: start;
}

/* Sidebar filters */
.nwr-parts-sidebar {
	background: #fff;
	border: 1px solid var(--nwr-v4-border);
	border-radius: var(--nwr-v4-radius);
	box-shadow: 0 1px 8px rgba(0,0,0,.03);
	position: sticky;
	top: 92px;
	overflow: hidden;
}
.nwr-parts-sidebar__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 13px 15px;
	border-bottom: 1px solid var(--nwr-v4-border);
}
.nwr-parts-sidebar__head h2 {
	font-size: 1rem;
	margin: 0;
	color: #111;
	font-weight: 900;
	display: flex;
	align-items: center;
	gap: 7px;
}
.nwr-parts-sidebar__head a { color: var(--nwr-v4-red); font-size: .83rem; font-weight: 700; }
.nwr-parts-filter-form { padding: 0 15px 15px; }
.nwr-filter-block {
	padding: 15px 0;
	border-bottom: 1px solid var(--nwr-v4-border);
}
.nwr-filter-block:last-of-type { border-bottom: 0; }
.nwr-filter-block label,
.nwr-filter-block strong {
	display: block;
	font-size: .82rem;
	font-weight: 850;
	color: #111;
	margin-bottom: 9px;
}
.nwr-filter-block--compat strong,
.nwr-filter-block--stock strong { margin-bottom: 10px; }
.nwr-filter-block--compat label { margin-top: 8px; font-weight: 700; color: #444; }
.nwr-filter-block input[type="search"],
.nwr-filter-block input[type="number"],
.nwr-filter-block select {
	width: 100%;
	height: 36px;
	border: 1px solid #ddd;
	border-radius: 5px;
	background: #fff;
	font-size: .85rem;
	padding: 0 12px;
	color: #333;
	outline: none;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.nwr-filter-block input:focus,
.nwr-filter-block select:focus {
	border-color: var(--nwr-v4-red);
	box-shadow: 0 0 0 3px rgba(192,57,43,.12);
}
.nwr-price-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
}
.nwr-check {
	display: flex !important;
	align-items: center;
	gap: 8px;
	font-size: .86rem !important;
	font-weight: 500 !important;
	margin: 7px 0 0 !important;
	color: #222 !important;
}
.nwr-check input { width: 14px; height: 14px; accent-color: var(--nwr-v4-red); }
.nwr-sidebar-filter-btn {
	width: 100%;
	height: 37px;
	border: 1px solid var(--nwr-v4-red);
	border-radius: 5px;
	background: #fff;
	color: var(--nwr-v4-red);
	font-weight: 850;
	cursor: pointer;
	margin-top: 10px;
}
.nwr-sidebar-filter-btn:hover { background: var(--nwr-v4-red); color: #fff; }

/* Results */
.nwr-parts-results { min-width: 0; }
.nwr-parts-results__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	min-height: 47px;
	padding: 8px 0 12px;
	color: #6f6f6f;
	font-size: .96rem;
}
.nwr-parts-result-count .woocommerce-result-count,
.woocommerce .nwr-parts-result-count .woocommerce-result-count { margin: 0; }
.woocommerce ul.products,
ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px 20px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after,
ul.products::before,
ul.products::after { display: none !important; content: none !important; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
ul.products li.product.nwr-auto-product-card {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	clear: none !important;
}
.nwr-auto-product-card {
	background: #fff;
	border: 1px solid var(--nwr-v4-border);
	border-radius: var(--nwr-v4-radius);
	box-shadow: 0 1px 10px rgba(0,0,0,.025);
	overflow: hidden;
	min-width: 0;
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.nwr-auto-product-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--nwr-v4-shadow);
	border-color: #ddd;
}
.nwr-auto-product-card__image {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1.18 / 1;
	padding: 25px 22px 11px;
	background: #fff;
	color: inherit;
}
.nwr-auto-product-card__image img {
	max-width: 100%;
	max-height: 195px;
	object-fit: contain;
	margin: 0 auto !important;
}
.nwr-auto-product-card__body { padding: 10px 18px 16px; }
.nwr-auto-product-card__title,
.woocommerce ul.products li.product .nwr-auto-product-card__title {
	font-size: .98rem !important;
	line-height: 1.24 !important;
	font-weight: 900 !important;
	margin: 0 0 9px !important;
	min-height: 39px;
	color: #0e0e0e;
}
.nwr-auto-product-card__title a { color: #111 !important; }
.nwr-auto-product-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	min-height: 22px;
	margin-bottom: 8px;
}
.nwr-auto-product-card__meta span {
	display: inline-flex;
	padding: 2px 6px;
	border-radius: 999px;
	background: #f4f4f4;
	color: #666;
	font-size: .68rem;
	font-weight: 800;
}
.nwr-auto-product-card__price,
.woocommerce ul.products li.product .price {
	font-weight: 800 !important;
	font-size: 1.12rem !important;
	color: var(--sgr-primary) !important;
	margin: 0 0 6px !important;
}
.nwr-auto-product-card__price del { color: var(--sgr-muted); font-weight: 600; }
.nwr-auto-product-card__price ins { text-decoration: none; }
.nwr-auto-product-card__stock {
	font-size: .82rem;
	line-height: 1.4;
	margin-bottom: 18px;
	display: flex;
	align-items: center;
	gap: 6px;
}
.nwr-auto-product-card__stock.is-in-stock { color: var(--sgr-success); }
.nwr-auto-product-card__stock.is-out-stock { color: var(--nwr-v4-red); }
.nwr-auto-product-card__actions {
	display: grid;
	grid-template-columns: 94px 1fr;
	gap: 34px;
	align-items: center;
}
.nwr-auto-product-card__compare .nwr-btn--compare {
	width: 94px;
	height: 35px;
	padding: 0 !important;
	border: 1px solid #ddd !important;
	border-radius: 5px !important;
	background: #fff !important;
	color: transparent !important;
	box-shadow: none !important;
	position: relative;
	font-size: 0 !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
}
.nwr-auto-product-card__compare .nwr-btn--compare::before {
	content: '♡';
	color: #111;
	font-size: 24px;
	line-height: 1;
	font-weight: 400;
}
.nwr-auto-product-card__compare .nwr-btn--compare:hover { border-color: var(--nwr-v4-red) !important; }
.nwr-auto-product-card__compare .nwr-btn--compare:hover::before { color: var(--nwr-v4-red); }
.nwr-auto-product-card__cart .button,
.nwr-auto-product-card__cart .nwr-btn,
.woocommerce ul.products li.product .nwr-auto-product-card__cart .button {
	width: 100%;
	height: 35px;
	border-radius: var(--sgr-radius-sm) !important;
	border: 0 !important;
	background: var(--sgr-accent) !important;
	color: #fff !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	font-size: 0 !important;
	font-weight: 800;
	margin: 0 !important;
	padding: 0 14px !important;
	box-shadow: 0 6px 16px rgba(192,57,43,.18);
}
.nwr-auto-product-card__cart .button:hover,
.nwr-auto-product-card__cart .nwr-btn:hover { background: var(--sgr-accent-dark) !important; }
.nwr-auto-product-card__cart .button::before,
.nwr-auto-product-card__cart .nwr-btn::before {
	content: '🛒';
	font-size: 17px;
	line-height: 1;
}
.nwr-auto-product-card__cart .nwr-btn--quote::before { content: '↗'; }
.woocommerce nav.woocommerce-pagination { margin-top: 28px; }
.woocommerce nav.woocommerce-pagination ul { border: 0; display: flex; gap: 6px; justify-content: center; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	border: 1px solid #ddd;
	border-radius: 5px;
	min-width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #111;
	background: #fff;
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover { background: var(--nwr-v4-red); border-color: var(--nwr-v4-red); color: #fff; }

/* WooCommerce cart/checkout pages should match the store */
.woocommerce-cart .nwr-main,
.woocommerce-checkout .nwr-main,
.page-template-page-cart .nwr-main,
.page-template-page-checkout .nwr-main { background: var(--nwr-v4-bg); }
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.nwr-page,
.nwr-compare-page {
	width: min(100%, 1280px);
	margin: 0 auto;
	padding: 36px 56px;
}
.woocommerce table.shop_table,
.woocommerce-checkout-review-order,
.woocommerce form.checkout,
.woocommerce-cart-form,
.cart_totals,
.nwr-compare-table-wrap {
	background: #fff;
	border: 1px solid var(--nwr-v4-border) !important;
	border-radius: var(--nwr-v4-radius);
	box-shadow: 0 1px 10px rgba(0,0,0,.025);
}
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .button.alt {
	background: var(--nwr-v4-red) !important;
	color: #fff !important;
	border-radius: 5px !important;
	font-weight: 850 !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce .button.alt:hover { background: var(--nwr-v4-red-dark) !important; color: #fff !important; }

/* Footer */
.nwr-store-footer {
	background: #111;
	color: #aaa;
	padding: 20px 0;
	margin-top: 0;
}
.nwr-store-footer__inner {
	width: min(100%, 1480px);
	margin: 0 auto;
	padding: 0 56px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	font-size: .86rem;
}
.nwr-store-footer p { margin: 0; }
.nwr-store-footer nav { display: flex; flex-wrap: wrap; gap: 16px; }
.nwr-store-footer a { color: #fff; }
.nwr-store-footer a:hover { color: #ff4b4b; }

/* Hide old marketing sections if a cached page still outputs them */
.nwr-store-only .nwr-store-hero,
.nwr-store-only .nwr-shop-finder,
.nwr-store-only .nwr-store-categories,
.nwr-store-only .nwr-store-brands,
.nwr-store-only .nwr-store-cta,
.nwr-store-only .nwr-footer--rich,
.nwr-store-only .nwr-header { display: none !important; }

/* Responsive */
@media (max-width: 1280px) {
	.nwr-store-header__inner,
	.nwr-parts-store-container,
	.nwr-store-footer__inner { padding-left: 28px; padding-right: 28px; }
	.nwr-store-header__inner { grid-template-columns: 215px 130px minmax(240px,1fr) auto auto; gap: 22px; }
	.woocommerce ul.products, ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 992px) {
	.nwr-store-header__inner {
		grid-template-columns: 1fr auto auto;
		grid-template-areas:
			'brand icons menu'
			'search search search';
		gap: 12px;
		padding-top: 12px;
		padding-bottom: 12px;
	}
	.nwr-store-header__brand { grid-area: brand; }
	.nwr-store-header__search { grid-area: search; width: 100%; }
	.nwr-store-header__icons { grid-area: icons; gap: 16px; }
	.nwr-store-header__menu-toggle { display: block; grid-area: menu; }
	.nwr-store-header__category-btn { display: none; }
	.nwr-parts-store-titlebar { align-items: flex-start; flex-direction: column; }
	.nwr-parts-store-layout { grid-template-columns: 1fr; }
	.nwr-parts-sidebar { position: static; }
	.woocommerce ul.products, ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	.nwr-store-header__inner,
	.nwr-parts-store-container,
	.nwr-store-footer__inner { padding-left: 16px; padding-right: 16px; }
	.nwr-store-logo__gear svg { width: 34px; height: 34px; }
	.nwr-store-logo__text strong, .nwr-store-logo__text small { font-size: .92rem; }
	.nwr-store-header__icons { gap: 10px; }
	.nwr-store-icon { width: 24px; }
	.nwr-parts-store-titlebar h1, .nwr-parts-store-titlebar .page-title { font-size: 2rem; }
	.woocommerce ul.products, ul.products { grid-template-columns: 1fr; }
	.nwr-auto-product-card__image { aspect-ratio: 1.6 / 1; }
	.nwr-store-footer__inner { flex-direction: column; align-items: flex-start; }
}

/* =======================================================================
   V5 refinements: Spring Garden parts-store only layout
   ======================================================================= */
.nwr-store-header__inner {
	grid-template-columns: 270px minmax(360px, 1fr) auto auto;
	gap: 34px;
}
.nwr-store-logo--image {
	display: inline-flex;
	align-items: center;
	background: transparent !important;
	padding: 0;
	line-height: 0;
}
.nwr-store-logo--image img {
	display: block;
	width: 248px;
	height: auto;
	max-width: 100%;
	max-height: 62px;
	object-fit: contain;
	background: transparent !important;
	filter: none !important;
}
.nwr-store-header__category-btn { display: none !important; }
.nwr-store-header__search button { color: #fff !important; }

/* Keep the old marketing sections hidden, but allow the new API finder to show. */
.nwr-store-only .nwr-store-hero,
.nwr-store-only .nwr-store-categories,
.nwr-store-only .nwr-store-brands,
.nwr-store-only .nwr-store-cta,
.nwr-store-only .nwr-footer--rich,
.nwr-store-only .nwr-header { display: none !important; }
.nwr-store-only .nwr-shop-finder { display: block !important; }

.nwr-shop-finder {
	margin: 0 0 22px;
	position: relative;
	z-index: 1;
}
.nwr-shop-finder__intro {
	background: var(--sgr-charcoal);
	color: #fff;
	border-radius: 12px 12px 0 0;
	padding: 22px 24px 16px;
	box-shadow: none;
	border: 1px solid #242424;
	border-bottom: 0;
}
.nwr-shop-finder__intro .nwr-section-eyebrow { color: var(--sgr-accent); }
.nwr-shop-finder__intro h2 { color: #fff; font-size: clamp(1.35rem, 2vw, 2rem); }
.nwr-shop-finder__intro p { color: rgba(255,255,255,.72); }
.nwr-shop-filter-form {
	background: #fff;
	border: 1px solid #e2e2e2;
	border-top: 0;
	border-radius: 0 0 12px 12px;
	box-shadow: 0 4px 18px rgba(0,0,0,.04);
	padding: 18px;
}
.nwr-shop-filter-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}
.nwr-shop-filter-card {
	background: #fbfbfb;
	border: 1px solid #dedede;
	border-radius: 10px;
	box-shadow: none;
	padding: 18px;
}
.nwr-shop-filter-card h3 {
	font-size: .95rem;
	letter-spacing: .03em;
	margin-bottom: 12px;
	color: var(--sgr-text);
}
.nwr-shop-filter-card label {
	font-size: .79rem;
	font-weight: 750;
	color: #333;
	margin: 10px 0 6px;
}
.nwr-shop-filter-card select {
	min-height: 40px;
	border-radius: 6px;
	border-color: #d9d9d9;
	font-size: .88rem;
	color: #333;
}
.nwr-shop-filter-card__actions .nwr-btn { min-height: 36px; padding: 8px 12px; border-radius: 6px; }
.nwr-shop-filter-clear { background: #222; color: #fff; border-radius: 6px; }
.nwr-shop-filter-clear:hover { background: var(--sgr-accent); color: #fff; }

/* Inventory Finder — tabbed layout */
.nwr-shop-filter-tabs__nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	background: #f3f3f3;
	border-bottom: 1px solid #dedede;
	border-radius: 10px 10px 0 0;
	overflow: hidden;
}
.nwr-shop-filter-tabs__tab {
	flex: 1 1 auto;
	min-width: 140px;
	padding: 12px 16px;
	background: transparent;
	border: none;
	border-bottom: 3px solid transparent;
	margin-bottom: -1px;
	font-family: inherit;
	font-size: .82rem;
	font-weight: 750;
	letter-spacing: .02em;
	text-transform: uppercase;
	color: #555;
	cursor: pointer;
	transition: color .15s ease, background .15s ease, border-color .15s ease;
	text-align: center;
}
.nwr-shop-filter-tabs__tab:hover {
	color: var(--sgr-text);
	background: rgba(255,255,255,.65);
}
.nwr-shop-filter-tabs__tab.is-active {
	color: var(--sgr-text);
	background: #fff;
	border-bottom-color: var(--sgr-accent);
}
.nwr-shop-filter-tabs__panels {
	padding: 18px 0 0;
}
.nwr-shop-filter-tabs__panel[hidden] {
	display: none;
}
.nwr-shop-filter-row {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: flex-end;
}
.nwr-shop-filter-field {
	flex: 1 1 180px;
	min-width: 0;
}
.nwr-shop-filter-field--wide {
	flex: 1 1 100%;
}
.nwr-shop-filter-field label {
	display: block;
	font-size: .79rem;
	font-weight: 750;
	color: #333;
	margin: 0 0 6px;
}
.nwr-shop-filter-field select,
.nwr-shop-filter-field input[type="search"] {
	width: 100%;
	min-height: 40px;
	border-radius: 6px;
	border: 1px solid #d9d9d9;
	padding: 0 12px;
	font-size: .88rem;
	color: #333;
	background: #fff;
}
.nwr-shop-filter-tabs__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid #ececec;
}
.nwr-shop-filter-tabs__actions .nwr-btn { min-height: 36px; padding: 8px 12px; border-radius: 6px; }
.nwr-shop-finder__results {
	margin-top: 16px;
	border-radius: 12px;
	box-shadow: 0 4px 18px rgba(0,0,0,.04);
}
.nwr-shop-finder__results .nwr-part-finder-results__header {
	background: transparent;
	padding: 16px 18px 0;
}
.nwr-shop-finder__results .nwr-part-finder-results__header h2 {
	color: var(--sgr-primary);
}
.nwr-shop-finder__results .nwr-part-finder-results__placeholder {
	padding: 24px 18px;
}
.nwr-shop-finder__results .nwr-part-finder-results__grid,
.nwr-shop-finder__results .nwr-part-finder-results__body {
	gap: 14px;
	padding: 18px;
}

.nwr-account-page .woocommerce-MyAccount-navigation ul {
	list-style: none;
	padding: 0;
	margin: 0 0 24px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.nwr-account-page .woocommerce-MyAccount-navigation a {
	display: inline-flex;
	padding: 10px 14px;
	border: 1px solid #ddd;
	border-radius: 6px;
	background: #fff;
	font-weight: 800;
	color: #111;
}
.nwr-account-page .woocommerce-MyAccount-navigation .is-active a,
.nwr-account-page .woocommerce-MyAccount-navigation a:hover {
	background: var(--sgr-accent);
	border-color: var(--sgr-accent);
	color: #fff;
}

@media (max-width: 1280px) {
	.nwr-store-header__inner { grid-template-columns: 250px minmax(240px,1fr) auto auto; gap: 22px; }
}
@media (max-width: 992px) {
	.nwr-store-header__inner {
		grid-template-columns: 1fr auto auto;
		grid-template-areas:
			'brand icons menu'
			'search search search';
	}
	.nwr-shop-filter-grid { grid-template-columns: 1fr; }
	.nwr-shop-filter-tabs__tab { min-width: 0; flex: 1 1 calc(50% - 1px); font-size: .74rem; padding: 10px 8px; }
	.nwr-shop-filter-row { flex-direction: column; align-items: stretch; }
}
@media (max-width: 640px) {
	.nwr-store-logo--image img { width: 210px; max-height: 56px; }
}


/* ========================================================================== 
   Spring Garden Parts Store V5.1 refinements
   ========================================================================== */

/* Header after removing the categories button */
.nwr-store-header__inner {
	grid-template-columns: minmax(210px, 260px) minmax(320px, 1fr) auto auto;
}
.nwr-store-header__category-btn { display: none !important; }
.nwr-store-logo--image img {
	max-height: 58px;
	width: auto;
	object-fit: contain;
}

/* Clean WooCommerce notices and empty cart messages: remove icon square from WooCommerce icon font */
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before,
.woocommerce-notices-wrapper .woocommerce-message::before,
.woocommerce-notices-wrapper .woocommerce-info::before,
.woocommerce-notices-wrapper .woocommerce-error::before {
	content: none !important;
	display: none !important;
}
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	padding-left: 18px !important;
	border-top: 0 !important;
	border-left: 4px solid var(--nwr-v4-red) !important;
	background: #fff !important;
	color: #222 !important;
	box-shadow: 0 8px 22px rgba(0,0,0,.045);
}
.woocommerce-cart .cart-empty,
.woocommerce-cart .woocommerce-info.cart-empty,
.wc-block-cart__empty-cart__title {
	font-size: 1.05rem;
	font-weight: 800;
	border-radius: 9px;
}

/* Remove rating filter UI anywhere cached markup remains */
.nwr-filter-block--rating { display: none !important; }

/* Customer Portal redesign */
.nwr-customer-portal {
	padding-top: 34px;
	padding-bottom: 54px;
}
.nwr-customer-portal__hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 24px;
	background: linear-gradient(135deg, var(--sgr-primary) 0%, var(--sgr-charcoal) 55%, var(--sgr-accent-dark) 130%);
	color: #fff;
	border-radius: 16px;
	padding: clamp(24px, 4vw, 46px);
	box-shadow: 0 18px 44px rgba(0,0,0,.13);
	margin-bottom: 20px;
}
.nwr-customer-portal__hero .nwr-section-eyebrow {
	color: #ffb6b6;
	letter-spacing: .12em;
}
.nwr-customer-portal__hero .nwr-page-title {
	color: #fff;
	margin: 8px 0 8px;
	font-size: clamp(2rem, 4vw, 3.2rem);
}
.nwr-customer-portal__hero .nwr-page-subtitle {
	color: rgba(255,255,255,.82);
	max-width: 760px;
	margin: 0;
}
.nwr-customer-portal__badge {
	width: 138px;
	height: 138px;
	border-radius: 999px;
	border: 1px solid rgba(255,255,255,.24);
	background: rgba(255,255,255,.08);
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
}
.nwr-customer-portal__badge span {
	font-size: 2rem;
	font-weight: 950;
	letter-spacing: -.04em;
	line-height: 1;
}
.nwr-customer-portal__badge small {
	margin-top: 8px;
	font-size: .72rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: rgba(255,255,255,.78);
}
.nwr-account-benefits,
.nwr-account-shortcuts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin-bottom: 20px;
}
.nwr-account-benefits > div,
.nwr-account-shortcut {
	background: #fff;
	border: 1px solid var(--nwr-v4-border);
	border-radius: 12px;
	padding: 18px;
	box-shadow: 0 8px 24px rgba(0,0,0,.045);
	color: var(--sgr-text);
}
.nwr-account-shortcut:hover {
	border-color: rgba(192,57,43,.28);
	box-shadow: 0 10px 28px rgba(192,57,43,.10);
	color: var(--sgr-text);
}
.nwr-account-benefits strong,
.nwr-account-shortcut strong {
	display: block;
	font-size: .98rem;
	font-weight: 900;
	margin-bottom: 5px;
}
.nwr-account-benefits span,
.nwr-account-shortcut span {
	display: block;
	font-size: .88rem;
	line-height: 1.5;
	color: #666;
}
.nwr-customer-portal__panel {
	padding: clamp(20px, 3vw, 34px);
	border: 1px solid var(--nwr-v4-border);
	border-radius: 16px;
	box-shadow: 0 16px 38px rgba(0,0,0,.06);
}
.nwr-customer-portal .woocommerce form.login,
.nwr-customer-portal .woocommerce form.register {
	border: 1px solid var(--nwr-v4-border);
	border-radius: 14px;
	padding: clamp(18px, 3vw, 28px);
	background: #fbfbfb;
	box-shadow: none;
}
.nwr-customer-portal .woocommerce h2,
.nwr-customer-portal .woocommerce h3 {
	font-size: 1.25rem;
	font-weight: 950;
	letter-spacing: -.02em;
	color: #111;
	margin-bottom: 14px;
}
.nwr-customer-portal .woocommerce form .form-row label {
	font-weight: 800;
	font-size: .88rem;
	color: #222;
}
.nwr-customer-portal .woocommerce form .input-text,
.nwr-customer-portal .woocommerce form input[type="email"],
.nwr-customer-portal .woocommerce form input[type="text"],
.nwr-customer-portal .woocommerce form input[type="password"],
.nwr-customer-portal .woocommerce form input[type="tel"] {
	min-height: 43px;
	border: 1px solid #ddd;
	border-radius: 7px;
	padding: 0 12px;
	background: #fff;
}
.nwr-customer-portal .woocommerce form .input-text:focus,
.nwr-customer-portal .woocommerce form input:focus {
	outline: none;
	border-color: var(--nwr-v4-red);
	box-shadow: 0 0 0 3px rgba(192,57,43,.12);
}
.nwr-customer-portal .woocommerce .u-columns.col2-set {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
}
.nwr-customer-portal .woocommerce .u-columns.col2-set::before,
.nwr-customer-portal .woocommerce .u-columns.col2-set::after {
	display: none;
}
.nwr-customer-portal .woocommerce .u-column1,
.nwr-customer-portal .woocommerce .u-column2 {
	float: none !important;
	width: auto !important;
}
.nwr-customer-portal .woocommerce-MyAccount-navigation {
	float: left;
	width: 260px;
	margin-right: 28px;
}
.nwr-customer-portal .woocommerce-MyAccount-navigation ul {
	list-style: none;
	padding: 8px;
	margin: 0;
	border: 1px solid var(--nwr-v4-border);
	border-radius: 14px;
	background: #fbfbfb;
}
.nwr-customer-portal .woocommerce-MyAccount-navigation li a {
	display: flex;
	align-items: center;
	min-height: 42px;
	padding: 0 13px;
	border-radius: 9px;
	font-weight: 850;
	color: #222;
}
.nwr-customer-portal .woocommerce-MyAccount-navigation li.is-active a,
.nwr-customer-portal .woocommerce-MyAccount-navigation li a:hover {
	background: var(--nwr-v4-red);
	color: #fff;
}
.nwr-customer-portal .woocommerce-MyAccount-content {
	float: none;
	width: auto;
	overflow: hidden;
	min-height: 260px;
	padding: 24px;
	border: 1px solid var(--nwr-v4-border);
	border-radius: 14px;
	background: #fff;
}
.nwr-customer-portal .woocommerce-MyAccount-content table,
.nwr-customer-portal .woocommerce-orders-table {
	border-radius: 12px;
	overflow: hidden;
}
.nwr-customer-portal .woocommerce-address-fields,
.nwr-customer-portal .woocommerce-EditAccountForm {
	max-width: 760px;
}

@media (max-width: 980px) {
	.nwr-store-header__inner {
		grid-template-columns: minmax(160px, 220px) 1fr auto;
		gap: 16px;
		padding: 0 22px;
	}
	.nwr-store-header__icons { gap: 14px; }
	.nwr-customer-portal__hero { grid-template-columns: 1fr; }
	.nwr-customer-portal__badge { display: none; }
	.nwr-account-benefits,
	.nwr-account-shortcuts,
	.nwr-customer-portal .woocommerce .u-columns.col2-set { grid-template-columns: 1fr; }
	.nwr-customer-portal .woocommerce-MyAccount-navigation,
	.nwr-customer-portal .woocommerce-MyAccount-content {
		float: none;
		width: 100%;
		margin-right: 0;
	}
	.nwr-customer-portal .woocommerce-MyAccount-navigation { margin-bottom: 18px; }
}

@media (max-width: 640px) {
	.nwr-store-header__inner {
		grid-template-columns: 1fr auto;
		min-height: auto;
		padding-top: 12px;
		padding-bottom: 12px;
	}
	.nwr-store-header__search {
		grid-column: 1 / -1;
		order: 3;
	}
	.nwr-store-logo--image img { max-height: 48px; }
}

/* WooCommerce Blocks empty-cart notice icon cleanup */
.wc-block-components-notice-banner > svg,
.wc-block-components-notice-banner__content::before,
.wc-block-cart__empty-cart__title::before {
	display: none !important;
	content: none !important;
}
.wc-block-components-notice-banner {
	border-radius: 9px !important;
	border: 1px solid var(--nwr-v4-border) !important;
	border-left: 4px solid var(--nwr-v4-red) !important;
	background: #fff !important;
	box-shadow: 0 8px 22px rgba(0,0,0,.045);
}

/* ==========================================================================
   Homepage — Marketing landing (flat, no gradients)
   ========================================================================== */

.nwr-home-hero {
	background: var(--nwr-navy);
	color: var(--nwr-white);
	padding: var(--nwr-space-5xl) 0;
}

.nwr-home-hero__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--nwr-space-3xl);
	align-items: center;
}

.nwr-home-hero__content {
	max-width: 640px;
}

.nwr-home-hero__eyebrow {
	font-size: 0.8125rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: rgba(255, 255, 255, 0.6);
	margin-bottom: var(--nwr-space-md);
}

.nwr-home-hero__title {
	font-size: clamp(2rem, 4.5vw, 3.125rem);
	color: var(--nwr-white);
	margin-bottom: var(--nwr-space-lg);
	line-height: 1.15;
	letter-spacing: -0.025em;
}

.nwr-home-hero__subtitle {
	font-size: 1.125rem;
	color: rgba(255, 255, 255, 0.82);
	max-width: 560px;
	margin-bottom: var(--nwr-space-xl);
	line-height: 1.65;
}

.nwr-home-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--nwr-space-md);
	margin-bottom: var(--nwr-space-2xl);
}

.nwr-home-hero__stats {
	display: flex;
	flex-wrap: wrap;
	gap: var(--nwr-space-xl);
	padding-top: var(--nwr-space-xl);
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.nwr-home-hero__stats li {
	font-size: 0.9375rem;
	color: rgba(255, 255, 255, 0.72);
}

.nwr-home-hero__stats strong {
	display: block;
	font-size: 1.75rem;
	font-weight: 800;
	color: var(--nwr-white);
	line-height: 1.2;
	margin-bottom: 0.15rem;
}

.nwr-home-hero__visual {
	position: relative;
}

.nwr-home-cta {
	background: var(--nwr-charcoal);
	color: var(--nwr-white);
	padding: var(--nwr-space-4xl) 0;
}

.nwr-home-cta .nwr-cta__bg {
	display: none;
}

@media (max-width: 960px) {
	.nwr-home-hero__grid {
		grid-template-columns: 1fr;
	}

	.nwr-home-hero__visual {
		order: -1;
		max-width: 480px;
		margin: 0 auto;
	}
}

@media (max-width: 640px) {
	.nwr-home-hero {
		padding: var(--nwr-space-3xl) 0;
	}

	.nwr-home-hero__actions .nwr-btn {
		width: 100%;
	}

	.nwr-home-hero__stats {
		gap: var(--nwr-space-lg);
	}

	.nwr-home-hero__stats strong {
		font-size: 1.375rem;
	}
}

/* ==========================================================================
   Homepage — Parts finder (four search sections, flat)
   ========================================================================== */

/* Hero — navy band, the page's anchor */
.nwr-home--finder {
	background: var(--nwr-white);
}

.nwr-home-hero--finder {
	padding: var(--nwr-space-4xl) 0;
	background: var(--nwr-white);
	color: var(--nwr-navy);
	text-align: center;
}

.nwr-home-hero--finder .nwr-home-hero__lead {
	max-width: 760px;
	margin: 0 auto;
}

.nwr-home-hero--finder .nwr-home-hero__eyebrow {
	display: inline-block;
	margin-bottom: var(--nwr-space-md);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--nwr-red);
}

.nwr-home-hero--finder .nwr-home-hero__title {
	margin: 0 0 var(--nwr-space-md);
	font-size: clamp(2rem, 5vw, 3rem);
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: var(--nwr-navy);
}

.nwr-home-hero--finder .nwr-home-hero__subtitle {
	margin: 0 auto;
	max-width: 640px;
	font-size: 1.125rem;
	line-height: 1.6;
	color: var(--nwr-gray-500);
}

/* Hero quick-nav — jump links to each finder section */
.nwr-home-hero__nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--nwr-space-sm);
	margin-top: var(--nwr-space-xl);
}

.nwr-home-hero__nav-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0.65rem 1.5rem;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	color: var(--nwr-navy);
	background: var(--nwr-white);
	border: 2px solid var(--nwr-gray-300);
	border-radius: var(--nwr-radius-md);
	transition: border-color var(--nwr-transition-fast), color var(--nwr-transition-fast),
		background var(--nwr-transition-fast);
}

.nwr-home-hero__nav-link:hover,
.nwr-home-hero__nav-link:focus-visible {
	color: var(--nwr-white);
	background: var(--nwr-navy);
	border-color: var(--nwr-navy);
	outline: none;
}

/* Sections — alternating white / light-gray rhythm */
.nwr-finder-section {
	padding: var(--nwr-space-4xl) 0;
	background: var(--nwr-white);
	scroll-margin-top: 100px;
}

.nwr-finder-section--alt {
	background: var(--nwr-gray-100);
}

.nwr-finder-section__head {
	max-width: 720px;
	margin: 0 auto var(--nwr-space-2xl);
	text-align: center;
}

.nwr-finder-section .nwr-section-eyebrow {
	display: inline-block;
	margin-bottom: var(--nwr-space-sm);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--nwr-red);
}

.nwr-finder-section__title {
	margin-bottom: var(--nwr-space-sm);
	font-size: clamp(1.5rem, 3vw, 2.125rem);
	letter-spacing: -0.02em;
	color: var(--nwr-navy);
}

.nwr-finder-section__subtitle {
	margin: 0;
	color: var(--nwr-gray-500);
	font-size: 1.0625rem;
	line-height: 1.6;
}

/* Search bar — full-width focal point in a contained card */
.nwr-finder-section--search {
	background: var(--nwr-gray-100);
}

.nwr-finder-search {
	display: flex;
	gap: var(--nwr-space-sm);
	max-width: 760px;
	margin: 0 auto;
	padding: var(--nwr-space-lg);
	background: var(--nwr-white);
	border: 1px solid var(--nwr-gray-200);
	border-radius: var(--nwr-radius-lg);
}

.nwr-finder-search__input {
	flex: 1 1 auto;
	min-width: 0;
	padding: 1.05rem 1.25rem;
	font-size: 1.0625rem;
	font-family: inherit;
	color: var(--nwr-charcoal);
	background: var(--nwr-white);
	border: 2px solid var(--nwr-gray-300);
	border-radius: var(--nwr-radius-md);
	transition: border-color var(--nwr-transition-fast);
}

.nwr-finder-search__input::placeholder {
	color: var(--nwr-gray-400);
}

.nwr-finder-search__input:focus {
	outline: none;
	border-color: var(--nwr-red);
}

.nwr-finder-search__btn {
	flex: 0 0 auto;
	white-space: nowrap;
}

/* Button grids (engine / machine / category) — tappable chip cards */
.nwr-finder-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: var(--nwr-space-md);
}

.nwr-finder-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	min-height: 64px;
	padding: 0.95rem 1.25rem;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--nwr-navy);
	background: var(--nwr-white);
	border: 1px solid var(--nwr-gray-300);
	border-radius: var(--nwr-radius-md);
	transition: border-color var(--nwr-transition-fast), color var(--nwr-transition-fast),
		background var(--nwr-transition-fast);
}

.nwr-finder-btn:hover,
.nwr-finder-btn:focus-visible {
	border-color: var(--nwr-navy);
	background: var(--nwr-navy);
	color: var(--nwr-white);
	outline: none;
}

/* Empty states — intentional, not broken. Card contrasts with its section:
   on white sections it's tinted gray, on gray sections it's white. */
.nwr-finder-empty {
	max-width: 600px;
	margin: 0 auto;
	text-align: center;
	padding: var(--nwr-space-2xl) var(--nwr-space-xl);
	background: var(--nwr-gray-100);
	border: 1px dashed var(--nwr-gray-300);
	border-radius: var(--nwr-radius-lg);
}

.nwr-finder-section--alt .nwr-finder-empty,
.nwr-finder-section--search .nwr-finder-empty {
	background: var(--nwr-white);
}

.nwr-finder-empty p {
	color: var(--nwr-gray-500);
	font-size: 1.0625rem;
	margin-bottom: var(--nwr-space-lg);
}

/* Help / contact strip — navy accent band anchors the bottom of the page */
.nwr-finder-help {
	background: var(--nwr-navy);
	color: var(--nwr-white);
	padding: var(--nwr-space-3xl) 0;
}

.nwr-finder-help__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--nwr-space-xl);
}

.nwr-finder-help__title {
	color: var(--nwr-white);
	margin-bottom: var(--nwr-space-xs);
}

.nwr-finder-help__text {
	color: rgba(255, 255, 255, 0.78);
	margin: 0;
	max-width: 640px;
}

@media (max-width: 640px) {
	.nwr-finder-section {
		padding: var(--nwr-space-3xl) 0;
	}

	.nwr-home-hero__nav-link {
		flex: 1 1 calc(50% - var(--nwr-space-sm));
		padding: 0.65rem 1rem;
	}

	.nwr-finder-search {
		flex-direction: column;
		padding: var(--nwr-space-md);
	}

	.nwr-finder-search__btn {
		width: 100%;
	}

	.nwr-finder-grid {
		grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	}

	.nwr-finder-help__inner {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* ==========================================================================
   ░░ SGR REBUILD — Unified industrial catalog polish layer ░░
   Built on the canonical --sgr-* tokens. Refines the ACTIVE store components
   (chrome, shop, card, PDP, account, finder, secondary pages). Loaded last so
   it intentionally reconciles the stacked design eras above into one system.
   ========================================================================== */

/* --- Global rhythm & accessibility --------------------------------------- */
body { background: var(--sgr-bg); color: var(--sgr-text); }
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.nwr-btn:focus-visible,
[tabindex]:focus-visible {
	outline: 3px solid rgba(11, 31, 58, .35);
	outline-offset: 2px;
	border-radius: var(--sgr-radius-sm);
}
.nwr-store-only .nwr-store-main { padding-bottom: 0; }

/* --- Buttons: unify the system ------------------------------------------- */
.nwr-btn { border-radius: var(--sgr-radius-sm); }
.nwr-btn--primary { box-shadow: 0 6px 16px rgba(192, 57, 43, .18); }
.nwr-btn--primary:disabled,
.nwr-btn.is-loading { opacity: .6; cursor: not-allowed; transform: none; }
.nwr-btn--compare { background: var(--sgr-surface); color: var(--sgr-primary); border-color: var(--sgr-border-strong); }
.nwr-btn--compare:hover { border-color: var(--sgr-primary); color: var(--sgr-primary); background: var(--sgr-bg); }

/* --- Header: labeled compact actions + aligned badges -------------------- */
.nwr-store-header__inner { gap: 28px; }
.nwr-store-header__icons { gap: 8px; align-items: stretch; }
.nwr-store-icon {
	flex-direction: column;
	gap: 3px;
	width: auto;
	min-width: 58px;
	height: auto;
	padding: 6px 10px;
	border-radius: var(--sgr-radius-sm);
	transition: background .15s ease;
}
.nwr-store-icon:hover { background: rgba(255, 255, 255, .10); }
.nwr-store-icon__label {
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .03em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .82);
	line-height: 1;
}
.nwr-store-icon__badge {
	position: absolute;
	top: 0;
	right: 8px;
	min-width: 18px;
	height: 18px;
	background: var(--sgr-accent);
	box-shadow: 0 0 0 2px var(--sgr-charcoal);
}
.nwr-store-icon--cart { position: relative; }
.nwr-store-icon--compare { position: relative; }
/* Hide compare badge until items exist */
.nwr-store-icon__badge--compare { display: none; }
.nwr-store-icon--compare.has-items .nwr-store-icon__badge--compare { display: inline-flex; }
.nwr-store-header__search { box-shadow: inset 0 0 0 1px rgba(255,255,255,.10), 0 6px 18px rgba(0,0,0,.16); }
.nwr-store-header__search input::placeholder { color: #8a94a1; }

@media (max-width: 992px) {
	.nwr-store-header__icons { gap: 4px; }
	.nwr-store-icon { min-width: 50px; padding: 6px; }
	.nwr-store-icon__label { display: none; }
	.nwr-store-icon__badge { right: -4px; }
}

/* --- Footer: rich columns ------------------------------------------------ */
.nwr-store-footer { background: var(--sgr-charcoal); color: #9aa6b4; padding: 0; }
.nwr-store-footer__top {
	width: min(100%, var(--sgr-container));
	margin: 0 auto;
	padding: 52px 56px 36px;
	display: grid;
	grid-template-columns: 1.6fr 1fr 1fr 1fr;
	gap: 40px;
}
.nwr-store-footer__name {
	display: block;
	font-size: 1.25rem;
	font-weight: 800;
	letter-spacing: -.01em;
	color: #fff;
	margin-bottom: 12px;
}
.nwr-store-footer__desc { color: #8b97a6; font-size: .92rem; line-height: 1.6; margin: 0; max-width: 38ch; }
.nwr-store-footer__heading {
	font-size: .76rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #fff;
	margin: 0 0 14px;
}
.nwr-store-footer__col { display: flex; flex-direction: column; gap: 10px; }
.nwr-store-footer__col a { color: #9aa6b4; font-size: .92rem; }
.nwr-store-footer__col a:hover { color: #fff; }
.nwr-store-footer__inner {
	width: min(100%, var(--sgr-container));
	margin: 0 auto;
	padding: 18px 56px;
	border-top: 1px solid rgba(255, 255, 255, .08);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	font-size: .82rem;
	color: #7e8a99;
}
.nwr-store-footer__inner p { margin: 0; }
.nwr-store-footer__tagline { text-transform: uppercase; letter-spacing: .1em; font-size: .72rem; }
@media (max-width: 900px) {
	.nwr-store-footer__top { grid-template-columns: 1fr 1fr; gap: 28px; padding: 40px 24px 28px; }
	.nwr-store-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
	.nwr-store-footer__top { grid-template-columns: 1fr; }
	.nwr-store-footer__inner { flex-direction: column; align-items: flex-start; padding: 16px 24px; }
}

/* --- Shop titlebar → "Parts Catalog" ------------------------------------- */
.nwr-parts-store-titlebar h1,
.nwr-parts-store-titlebar .page-title { color: var(--sgr-primary); font-weight: 800; letter-spacing: -.02em; }

/* --- Quick Finder: compact complementary strip --------------------------- */
.nwr-shop-finder--compact { margin-bottom: 22px; }
.nwr-shop-finder--compact .nwr-shop-finder__intro {
	background: linear-gradient(135deg, var(--sgr-primary) 0%, var(--sgr-charcoal) 100%);
	border: 0;
	border-radius: var(--sgr-radius-md) var(--sgr-radius-md) 0 0;
	padding: 16px 22px 14px;
}
.nwr-shop-finder--compact .nwr-shop-finder__intro h2 { font-size: 1.15rem; margin: 2px 0 4px; }
.nwr-shop-finder--compact .nwr-shop-finder__intro p { font-size: .88rem; margin: 0; }
.nwr-shop-finder--compact .nwr-shop-filter-form {
	border: 1px solid var(--sgr-border);
	border-top: 0;
	border-radius: 0 0 var(--sgr-radius-md) var(--sgr-radius-md);
	box-shadow: var(--sgr-shadow-sm);
	padding: 16px 18px;
}
.nwr-shop-filter-tabs__tab.is-active { border-bottom-color: var(--sgr-accent); color: var(--sgr-primary); }
.nwr-shop-filter-clear { background: var(--sgr-primary); }
.nwr-shop-filter-clear:hover { background: var(--sgr-accent); }

/* --- Sidebar filter card ------------------------------------------------- */
.nwr-parts-sidebar { border-radius: var(--sgr-radius-md); box-shadow: var(--sgr-shadow-sm); }
.nwr-parts-sidebar__head h2 { color: var(--sgr-primary); font-weight: 800; }
.nwr-parts-sidebar__head a { color: var(--sgr-accent); }
.nwr-filter-block input:focus,
.nwr-filter-block select:focus { border-color: var(--sgr-primary); box-shadow: 0 0 0 3px rgba(11,31,58,.10); }
.nwr-sidebar-filter-btn {
	background: var(--sgr-accent);
	color: #fff;
	border-color: var(--sgr-accent);
	height: 44px;
	border-radius: var(--sgr-radius-sm);
	font-weight: 800;
	letter-spacing: .01em;
}
.nwr-sidebar-filter-btn:hover { background: var(--sgr-accent-dark); border-color: var(--sgr-accent-dark); color: #fff; }
.nwr-parts-sidebar__toggle {
	display: none;
	width: 100%;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 46px;
	border: 1px solid var(--sgr-border-strong);
	border-radius: var(--sgr-radius-md);
	background: var(--sgr-surface);
	color: var(--sgr-primary);
	font-weight: 800;
	font-size: .95rem;
	cursor: pointer;
}
@media (max-width: 992px) {
	.nwr-parts-sidebar { border: 0; box-shadow: none; background: transparent; overflow: visible; }
	.nwr-parts-sidebar__toggle { display: flex; }
	.nwr-parts-sidebar__head,
	.nwr-parts-sidebar .nwr-parts-filter-form { display: none; }
	.nwr-parts-sidebar.is-open .nwr-parts-sidebar__head,
	.nwr-parts-sidebar.is-open .nwr-parts-filter-form {
		display: block;
		background: var(--sgr-surface);
		border: 1px solid var(--sgr-border);
		border-radius: var(--sgr-radius-md);
		margin-top: 10px;
	}
	.nwr-parts-sidebar.is-open .nwr-parts-sidebar__head { border-bottom: 0; border-radius: var(--sgr-radius-md) var(--sgr-radius-md) 0 0; }
	.nwr-parts-sidebar.is-open .nwr-parts-filter-form { border-top: 0; border-radius: 0 0 var(--sgr-radius-md) var(--sgr-radius-md); margin-top: 0; }
}

/* --- Active filter chips ------------------------------------------------- */
.nwr-active-filters {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0 0 16px;
}
.nwr-active-filters__label { font-size: .82rem; font-weight: 700; color: var(--sgr-muted); }
.nwr-filter-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 10px;
	font-size: .8rem;
	font-weight: 600;
	color: var(--sgr-primary);
	background: var(--sgr-surface);
	border: 1px solid var(--sgr-border-strong);
	border-radius: 999px;
}
.nwr-filter-chip:hover { border-color: var(--sgr-accent); color: var(--sgr-accent); }
.nwr-filter-chip__key { color: var(--sgr-muted); font-weight: 700; }
.nwr-filter-chip__x { font-weight: 800; }
.nwr-active-filters__clear { font-size: .8rem; font-weight: 700; color: var(--sgr-accent); margin-left: 4px; }

/* --- Product card: identifiers, fitment, labeled actions ----------------- */
.nwr-auto-product-card { border-radius: var(--sgr-radius-md); }
.nwr-auto-product-card__ids {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 8px;
	min-height: 22px;
}
.nwr-id {
	display: inline-flex;
	align-items: baseline;
	gap: 4px;
	padding: 2px 7px;
	border-radius: 4px;
	background: var(--sgr-bg);
	border: 1px solid var(--sgr-border);
	font-size: .68rem;
}
.nwr-id__k { font-weight: 800; color: var(--sgr-muted); letter-spacing: .04em; }
.nwr-id__v { font-family: var(--sgr-font-mono); font-weight: 600; color: var(--sgr-text); }
.nwr-id--oem .nwr-id__v { color: var(--sgr-primary); }
.nwr-auto-product-card__fitment {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: .78rem;
	color: var(--sgr-muted);
	margin-bottom: 8px;
}
.nwr-auto-product-card__fitment span { color: var(--sgr-accent); }

.nwr-auto-product-card__actions {
	display: flex !important;
	flex-direction: column;
	gap: 9px !important;
	grid-template-columns: none !important;
}
.nwr-auto-product-card__cart { width: 100%; }
.nwr-auto-product-card__cart .button,
.nwr-auto-product-card__cart .nwr-btn,
.woocommerce ul.products li.product .nwr-auto-product-card__cart .button {
	font-size: .88rem !important;
	height: 42px;
	gap: 8px;
	letter-spacing: .01em;
}
.nwr-auto-product-card__cart .button::before,
.nwr-auto-product-card__cart .nwr-btn::before { content: none !important; }
.nwr-auto-product-card__cart .nwr-btn--quote {
	background: transparent !important;
	color: var(--sgr-primary) !important;
	border: 1.5px solid var(--sgr-primary) !important;
	box-shadow: none !important;
}
.nwr-auto-product-card__cart .nwr-btn--quote:hover { background: var(--sgr-primary) !important; color: #fff !important; }
.nwr-auto-product-card__secondary { display: flex; gap: 8px; }
.nwr-auto-product-card__secondary > * { flex: 1 1 0; }
.nwr-auto-product-card__compare .nwr-btn--compare {
	width: 100% !important;
	height: 38px;
	font-size: .8rem !important;
	font-weight: 700 !important;
	color: var(--sgr-primary) !important;
	background: var(--sgr-surface) !important;
	border: 1px solid var(--sgr-border-strong) !important;
	border-radius: var(--sgr-radius-sm) !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 6px;
}
.nwr-auto-product-card__compare .nwr-btn--compare::before { content: none !important; }
.nwr-auto-product-card__compare .nwr-btn--compare:hover { border-color: var(--sgr-primary) !important; background: var(--sgr-bg) !important; }
.nwr-auto-product-card__details {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 38px;
	font-size: .8rem;
	font-weight: 700;
	color: var(--sgr-primary);
	background: var(--sgr-surface);
	border: 1px solid var(--sgr-border-strong);
	border-radius: var(--sgr-radius-sm);
}
.nwr-auto-product-card__details:hover { border-color: var(--sgr-primary); background: var(--sgr-bg); color: var(--sgr-primary); }

/* --- Single product: summary card + empty tech state --------------------- */
.nwr-single-product__summary--premium { background: var(--sgr-surface); box-shadow: var(--sgr-shadow-sm); }
.nwr-single-product__price { color: var(--sgr-primary); }
.nwr-single-product__cart--minimal .single_add_to_cart_button { background: var(--sgr-accent) !important; }
.nwr-single-product__cart--minimal .single_add_to_cart_button:hover { background: var(--sgr-accent-dark) !important; }
.nwr-tech-empty {
	padding: var(--nwr-space-xl);
	background: var(--sgr-surface);
	border: 1px dashed var(--sgr-border-strong);
	border-radius: var(--sgr-radius-md);
	color: var(--sgr-muted);
}
.nwr-tech-empty p { margin: 0; line-height: 1.6; }

/* --- WooCommerce buttons / forms / notices unify ------------------------- */
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce .button.alt:hover { background: var(--sgr-accent-dark) !important; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce .quantity input.qty,
.woocommerce select,
.woocommerce-cart table.cart td.actions .coupon .input-text {
	border: 1px solid var(--sgr-border-strong) !important;
	border-radius: var(--sgr-radius-sm) !important;
	min-height: 44px;
	padding: 8px 12px;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce .quantity input.qty:focus,
.woocommerce select:focus {
	outline: none;
	border-color: var(--sgr-primary) !important;
	box-shadow: 0 0 0 3px rgba(11, 31, 58, .10);
}
.woocommerce .quantity input.qty { width: 72px; text-align: center; }
.woocommerce-message { border-left-color: var(--sgr-success) !important; }
.woocommerce-info { border-left-color: var(--sgr-primary) !important; }
.woocommerce-error { border-left-color: var(--sgr-danger) !important; }
.woocommerce table.shop_table,
.woocommerce-checkout-review-order,
.cart_totals { border-radius: var(--sgr-radius-md); overflow: hidden; }
.woocommerce table.shop_table thead th { background: var(--sgr-bg); color: var(--sgr-primary); }

/* Cart / checkout layout cards */
.woocommerce-cart .cart-collaterals .cart_totals h2,
.woocommerce-checkout #order_review_heading {
	font-size: 1.15rem;
	color: var(--sgr-primary);
}

/* --- Account discount plugin (additive styling, no schema change) -------- */
.sgr-member-price {
	color: var(--sgr-accent) !important;
	font-weight: 700;
}
.sgr-account-tier-box {
	border-left-color: var(--sgr-accent) !important;
	border-radius: var(--sgr-radius-md);
}
.sgr-checkout-tier-notice th,
.sgr-checkout-tier-notice td { color: var(--sgr-primary); font-weight: 700; }

/* --- Part Finder result cards (plugin AJAX output) ----------------------- */
.nwr-part-finder-results__grid,
.nwr-part-finder-results__body {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: var(--nwr-space-lg);
	padding: var(--nwr-space-xl);
}
.nwr-part-finder-results.is-loading { position: relative; opacity: .65; }
.nwr-part-finder-results__empty {
	grid-column: 1 / -1;
	text-align: center;
	color: var(--sgr-muted);
	padding: var(--nwr-space-2xl);
}
.nwr-product-card--search-result {
	background: var(--sgr-surface);
	border: 1px solid var(--sgr-border);
	border-radius: var(--sgr-radius-md);
	box-shadow: var(--sgr-shadow-sm);
	overflow: hidden;
	transition: transform .18s ease, box-shadow .18s ease;
}
.nwr-product-card--search-result:hover { transform: translateY(-2px); box-shadow: var(--sgr-shadow-card); }
.nwr-product-card--search-result .nwr-product-card__body { padding: 16px 18px; }
.nwr-product-card--search-result .nwr-product-card__title { font-size: 1rem; margin: 0 0 8px; }
.nwr-product-card--search-result .nwr-product-card__title a { color: var(--sgr-primary); }
.nwr-product-card--search-result .nwr-product-card__sku,
.nwr-product-card--search-result .nwr-product-card__meta {
	font-family: var(--sgr-font-mono);
	font-size: .82rem;
	color: var(--sgr-muted);
	margin: 0 0 4px;
}
.nwr-product-card__label { font-family: var(--sgr-font); font-weight: 800; color: var(--sgr-muted-2); font-size: .68rem; text-transform: uppercase; letter-spacing: .04em; margin-right: 4px; }

/* --- Compare page -------------------------------------------------------- */
.nwr-compare-table { width: 100%; border-collapse: collapse; background: var(--sgr-surface); }
.nwr-compare-table th,
.nwr-compare-table td { border: 1px solid var(--sgr-border); padding: 12px 14px; text-align: left; vertical-align: top; font-size: .9rem; }
.nwr-compare-table thead th { background: var(--sgr-bg); color: var(--sgr-primary); }
.nwr-compare-table thead img { max-width: 76px; height: auto; margin-bottom: 8px; }
.nwr-compare-table thead a { color: var(--sgr-primary); font-weight: 700; display: block; }
.nwr-compare-table [data-nwr-remove-compare] {
	margin-top: 8px;
	border: 0;
	background: var(--sgr-accent-soft);
	color: var(--sgr-accent);
	border-radius: 999px;
	width: 26px;
	height: 26px;
	cursor: pointer;
	font-weight: 800;
}
.nwr-compare-actions { margin-bottom: 16px; }

/* --- Brands / Categories directory cards --------------------------------- */
.nwr-brand-card--directory,
.nwr-category-card--visual {
	background: var(--sgr-surface);
	border: 1px solid var(--sgr-border);
	border-radius: var(--sgr-radius-md);
	box-shadow: var(--sgr-shadow-sm);
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.nwr-brand-card--directory:hover,
.nwr-category-card--visual:hover {
	transform: translateY(-2px);
	box-shadow: var(--sgr-shadow-card);
	border-color: var(--sgr-border-strong);
}
.nwr-brand-card__link,
.nwr-category-card__btn { color: var(--sgr-accent); font-weight: 700; }
.nwr-wc-categories__item {
	background: var(--sgr-surface);
	border: 1px solid var(--sgr-border);
	border-radius: var(--sgr-radius-sm);
	padding: 14px 16px;
	display: flex;
	flex-direction: column;
	gap: 3px;
}
.nwr-wc-categories__item:hover { border-color: var(--sgr-accent); }
.nwr-wc-categories__name { font-weight: 700; color: var(--sgr-primary); }
.nwr-wc-categories__count { font-size: .8rem; color: var(--sgr-muted); }

/* --- Search / 404 / generic empty states --------------------------------- */
.nwr-empty-state {
	text-align: center;
	padding: var(--nwr-space-3xl) var(--nwr-space-xl);
	background: var(--sgr-surface);
	border: 1px solid var(--sgr-border);
	border-radius: var(--sgr-radius-lg);
}
.nwr-empty-state__icon { font-size: 2.5rem; margin-bottom: 8px; opacity: .7; }
.nwr-empty-state__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	margin-top: 18px;
}
.nwr-product-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: var(--nwr-space-lg);
}
.nwr-product-grid > li.product { width: auto !important; margin: 0 !important; }

/* --- Search results page header ------------------------------------------ */
.nwr-search-form--page,
.nwr-search-form--404 { max-width: 620px; margin: 0 auto var(--nwr-space-2xl); }

@media (max-width: 640px) {
	.nwr-store-header__inner { gap: 12px; }
	.nwr-auto-product-card__secondary { flex-direction: column; }
}

/*
 * SGR Consistency Pass
 * Shared page shell, account/cart/shop alignment
 *
 * Loaded last so it reconciles the stacked design eras above into ONE visual
 * language. Built ONLY on the canonical --sgr-* tokens (no new palette).
 * Existing nwr-* page classes are aliased/matched to the shared .sgr-* shell
 * rather than renamed, so every PHP/JS contract keeps working.
 * ========================================================================== */

:root {
	/* Additive layout helpers (sgr-prefixed, no conflict with existing tokens) */
	--sgr-chrome-max: 1480px;          /* global header/footer width */
	--sgr-page-max: 1200px;            /* readable content pages */
	--sgr-page-pad: clamp(16px, 4vw, 56px);
	--sgr-page-top: clamp(26px, 3.5vw, 46px);
	--sgr-page-bottom: clamp(48px, 6vw, 84px);
	--sgr-gap: 20px;
	--sgr-control-h: 44px;             /* one button/input height scale */
}

/* --- Shared page shell --------------------------------------------------- */
.sgr-page,
.nwr-container.nwr-page,
.nwr-page.nwr-wc-page {
	width: 100%;
	max-width: var(--sgr-page-max);
	margin: 0 auto;
	padding: var(--sgr-page-top) var(--sgr-page-pad) var(--sgr-page-bottom);
}
.sgr-page--wide { max-width: var(--sgr-chrome-max); }
.sgr-page--narrow { max-width: 920px; }

/* Page intro: one language everywhere (red eyebrow / navy title / muted sub) */
.sgr-page__header,
.nwr-page-header,
.nwr-search-page .nwr-page-header {
	max-width: 760px;
	margin: 0 0 clamp(22px, 3vw, 34px);
}
.sgr-page__header--center,
.nwr-page-header--center {
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}
.sgr-page__header--center .sgr-page__actions { justify-content: center; }

.sgr-page__eyebrow {
	display: inline-block;
	font-size: 0.75rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: var(--sgr-accent);
	margin-bottom: 10px;
}
.sgr-page__title,
.nwr-page-title {
	font-size: clamp(1.85rem, 3.2vw, 2.6rem);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -0.02em;
	color: var(--sgr-primary);
	margin: 0 0 12px;
}
.sgr-page__subtitle,
.nwr-page-subtitle {
	font-size: 1.05rem;
	line-height: 1.6;
	color: var(--sgr-muted);
	margin: 0;
	max-width: 64ch;
}
.sgr-page__header--center .sgr-page__subtitle,
.nwr-page-header--center .nwr-page-subtitle { margin-left: auto; margin-right: auto; }
.sgr-page__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 20px;
}

/* --- Sections ------------------------------------------------------------ */
.sgr-section { padding: clamp(36px, 5vw, 64px) 0; }
.sgr-section + .sgr-section { padding-top: 0; }
.sgr-section__header {
	max-width: 720px;
	margin: 0 0 clamp(20px, 3vw, 30px);
}
.sgr-section__header--center { margin-left: auto; margin-right: auto; text-align: center; }
.sgr-section__title {
	font-size: clamp(1.4rem, 2.6vw, 2rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--sgr-primary);
	margin: 0 0 8px;
}
.sgr-section__subtitle {
	font-size: 1rem;
	line-height: 1.6;
	color: var(--sgr-muted);
	margin: 0;
}

/* --- One card language --------------------------------------------------- */
.sgr-card,
.sgr-panel,
.sgr-form-card {
	background: var(--sgr-surface);
	border: 1px solid var(--sgr-border);
	border-radius: var(--sgr-radius-md);
	box-shadow: var(--sgr-shadow-sm);
}
.sgr-card { padding: clamp(16px, 2vw, 22px); }
.sgr-panel { padding: clamp(20px, 3vw, 32px); }
.sgr-form-card { padding: clamp(18px, 3vw, 28px); }
.sgr-card--flush { padding: 0; overflow: hidden; }
.sgr-card__title,
.sgr-form-card__title {
	font-size: 1.15rem;
	font-weight: 800;
	letter-spacing: -0.01em;
	color: var(--sgr-primary);
	margin: 0 0 12px;
}

/* --- Action grids (benefit / shortcut / browse cards) -------------------- */
.sgr-action-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 14px;
	margin: 0 0 22px;
}
.sgr-action-card {
	display: flex;
	flex-direction: column;
	gap: 5px;
	background: var(--sgr-surface);
	border: 1px solid var(--sgr-border);
	border-radius: var(--sgr-radius-md);
	box-shadow: var(--sgr-shadow-sm);
	padding: 18px;
	color: var(--sgr-text);
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
a.sgr-action-card:hover {
	transform: translateY(-2px);
	border-color: var(--sgr-border-strong);
	box-shadow: var(--sgr-shadow-card);
	color: var(--sgr-text);
}
.sgr-action-card strong,
.sgr-action-card__title {
	font-size: 0.98rem;
	font-weight: 800;
	color: var(--sgr-primary);
}
.sgr-action-card span,
.sgr-action-card__text {
	font-size: 0.88rem;
	line-height: 1.5;
	color: var(--sgr-muted);
}
.sgr-action-card--accent {
	border-left: 3px solid var(--sgr-accent);
	background: var(--sgr-surface);
}

/* --- One empty-state everywhere ------------------------------------------ */
.sgr-empty,
.nwr-empty-state {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	max-width: 620px;
	margin: 0 auto;
	padding: clamp(28px, 4vw, 44px) clamp(20px, 3vw, 32px);
	background: var(--sgr-surface);
	border: 1px solid var(--sgr-border);
	border-radius: var(--sgr-radius-lg);
	box-shadow: var(--sgr-shadow-sm);
}
.sgr-empty__icon,
.nwr-empty-state__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	margin: 0 0 14px;
	border-radius: 999px;
	background: var(--sgr-accent-soft);
	color: var(--sgr-accent);
	font-size: 1.6rem;
	opacity: 1;
}
.sgr-empty__title,
.nwr-empty-state h1,
.nwr-empty-state h2 {
	font-size: 1.3rem;
	font-weight: 800;
	letter-spacing: -0.01em;
	color: var(--sgr-primary);
	margin: 0 0 8px;
}
.sgr-empty__text,
.nwr-empty-state > p {
	font-size: 1rem;
	line-height: 1.6;
	color: var(--sgr-muted);
	margin: 0 auto 18px;
	max-width: 48ch;
}
.sgr-empty__actions,
.nwr-empty-state__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
}
.sgr-empty__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
	margin-top: 16px;
}
.sgr-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	font-size: 0.82rem;
	font-weight: 700;
	color: var(--sgr-primary);
	background: var(--sgr-bg);
	border: 1px solid var(--sgr-border-strong);
	border-radius: 999px;
	transition: border-color .15s ease, color .15s ease, background .15s ease;
}
.sgr-chip:hover { border-color: var(--sgr-accent); color: var(--sgr-accent); background: var(--sgr-surface); }

/* --- Button geometry: unify height/radius/weight across the system ------- */
.nwr-btn {
	min-height: var(--sgr-control-h);
	border-radius: var(--sgr-radius-sm);
	font-weight: 700;
	letter-spacing: 0.005em;
}
.nwr-btn--sm { min-height: 36px; }
.nwr-btn--lg { min-height: 50px; }
/* WooCommerce-generated buttons share the same geometry as .nwr-btn--primary */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .button.alt,
.woocommerce #place_order,
.woocommerce-cart table.cart td.actions .button,
.woocommerce-MyAccount-content .button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: var(--sgr-control-h);
	padding: 0 22px !important;
	background: var(--sgr-accent) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: var(--sgr-radius-sm) !important;
	font-weight: 700 !important;
	letter-spacing: 0.01em;
	box-shadow: 0 6px 16px rgba(192, 57, 43, .18);
	transition: background .15s ease, box-shadow .15s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce .button.alt:hover,
.woocommerce #place_order:hover { background: var(--sgr-accent-dark) !important; }
/* Secondary WC buttons (update cart, apply coupon) read as navy ghost */
.woocommerce-cart table.cart td.actions .button[name="update_cart"],
.woocommerce-cart table.cart td.actions .coupon .button {
	background: var(--sgr-surface) !important;
	color: var(--sgr-primary) !important;
	border: 1px solid var(--sgr-border-strong) !important;
	box-shadow: none;
}
.woocommerce-cart table.cart td.actions .button[name="update_cart"]:hover,
.woocommerce-cart table.cart td.actions .coupon .button:hover {
	background: var(--sgr-bg) !important;
	border-color: var(--sgr-primary) !important;
	color: var(--sgr-primary) !important;
}

/* --- Cart / checkout: shared page + polished summary panel --------------- */
.nwr-wc-page__content { margin-top: 4px; }
/* The shared .sgr-page already constrains width — neutralize the older inner
   .woocommerce container so cart/checkout don't double-pad. */
.nwr-wc-page .woocommerce,
.woocommerce-cart .nwr-wc-page .woocommerce,
.woocommerce-checkout .nwr-wc-page .woocommerce {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}
.nwr-wc-page .cart-collaterals .cart_totals,
.nwr-wc-page .woocommerce-checkout-review-order {
	background: var(--sgr-surface);
	border: 1px solid var(--sgr-border) !important;
	border-radius: var(--sgr-radius-md);
	box-shadow: var(--sgr-shadow-card);
	padding: 6px 22px 22px;
}
.woocommerce-cart .cart-collaterals .cart_totals h2,
.woocommerce-checkout #order_review_heading {
	font-weight: 800;
	letter-spacing: -0.01em;
}
.woocommerce-cart table.cart img { border-radius: var(--sgr-radius-sm); }

/* --- Account: shared header + custom dashboard nav/panel ----------------- */
.nwr-customer-portal { padding: var(--sgr-page-top) var(--sgr-page-pad) var(--sgr-page-bottom); }
/* Neutralize the old dark gradient hero — the account now uses the shared shell */
.nwr-customer-portal__hero {
	display: block;
	background: none;
	color: inherit;
	padding: 0;
	box-shadow: none;
	border-radius: 0;
	margin-bottom: clamp(22px, 3vw, 34px);
	max-width: 760px;
}
.nwr-customer-portal__hero .nwr-section-eyebrow { color: var(--sgr-accent); margin-bottom: 10px; }
.nwr-customer-portal__hero .nwr-page-title { color: var(--sgr-primary); margin: 0 0 12px; font-size: clamp(1.85rem, 3.2vw, 2.6rem); }
.nwr-customer-portal__hero .nwr-page-subtitle { color: var(--sgr-muted); max-width: 64ch; }
.nwr-customer-portal__badge { display: none; }

/* Panel wrapper is a transparent layout shell; nav + content become cards */
.nwr-customer-portal__panel {
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

/* Clean vertical account nav (overrides the old chunky horizontal pills) */
.nwr-customer-portal .woocommerce-MyAccount-navigation,
.nwr-account-page .woocommerce-MyAccount-navigation {
	float: left;
	width: 250px;
	margin: 0 26px 0 0;
}
.sgr-dashboard-nav,
.nwr-customer-portal .woocommerce-MyAccount-navigation ul,
.nwr-account-page .woocommerce-MyAccount-navigation ul {
	display: block;
	list-style: none;
	margin: 0;
	padding: 8px;
	background: var(--sgr-surface);
	border: 1px solid var(--sgr-border);
	border-radius: var(--sgr-radius-md);
	box-shadow: var(--sgr-shadow-sm);
}
.nwr-customer-portal .woocommerce-MyAccount-navigation li,
.nwr-account-page .woocommerce-MyAccount-navigation li { margin: 0; }
.nwr-customer-portal .woocommerce-MyAccount-navigation li a,
.nwr-account-page .woocommerce-MyAccount-navigation li a {
	display: flex;
	align-items: center;
	min-height: 44px;
	padding: 0 14px;
	border: 0;
	border-left: 3px solid transparent;
	border-radius: var(--sgr-radius-sm);
	background: transparent;
	color: var(--sgr-text);
	font-weight: 700;
	font-size: 0.92rem;
	transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.nwr-customer-portal .woocommerce-MyAccount-navigation li a:hover,
.nwr-account-page .woocommerce-MyAccount-navigation li a:hover {
	background: var(--sgr-bg);
	color: var(--sgr-primary);
	border-left-color: var(--sgr-border-strong);
}
.nwr-customer-portal .woocommerce-MyAccount-navigation li.is-active a,
.nwr-account-page .woocommerce-MyAccount-navigation li.is-active a {
	background: var(--sgr-accent-soft);
	color: var(--sgr-accent);
	border-left-color: var(--sgr-accent);
}
.sgr-dashboard-panel,
.nwr-customer-portal .woocommerce-MyAccount-content,
.nwr-account-page .woocommerce-MyAccount-content {
	float: none;
	width: auto;
	overflow: hidden;
	min-height: 280px;
	padding: clamp(20px, 3vw, 30px);
	background: var(--sgr-surface);
	border: 1px solid var(--sgr-border);
	border-radius: var(--sgr-radius-md);
	box-shadow: var(--sgr-shadow-sm);
}
/* Logged-out login/register cards align as a matched pair */
.nwr-customer-portal .woocommerce form.login,
.nwr-customer-portal .woocommerce form.register {
	background: var(--sgr-surface);
	border: 1px solid var(--sgr-border);
	border-radius: var(--sgr-radius-md);
	box-shadow: var(--sgr-shadow-sm);
	padding: clamp(18px, 3vw, 28px);
	height: 100%;
}
.nwr-customer-portal .woocommerce .col2-set .col-1,
.nwr-customer-portal .woocommerce .u-columns .u-column1,
.nwr-customer-portal .woocommerce .u-columns .u-column2 { display: flex; }
.nwr-customer-portal .woocommerce form .form-row label { color: var(--sgr-text); font-weight: 700; }
.nwr-customer-portal .woocommerce h2,
.nwr-customer-portal .woocommerce h3 { color: var(--sgr-primary); font-weight: 800; }
/* Password reveal control sits cleanly inside the field */
.nwr-customer-portal .woocommerce .password-input,
.woocommerce .password-input { display: block; position: relative; }
.nwr-customer-portal .woocommerce .show-password-input,
.woocommerce .show-password-input {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
}
.nwr-customer-portal .woocommerce .password-input .input-text { padding-right: 42px; }
/* Account discount notice → shared info card */
.sgr-account-tier-box,
.nwr-customer-portal .woocommerce-message,
.nwr-customer-portal .woocommerce-info {
	border-radius: var(--sgr-radius-md);
}

@media (max-width: 980px) {
	.nwr-customer-portal .woocommerce-MyAccount-navigation,
	.nwr-account-page .woocommerce-MyAccount-navigation {
		float: none;
		width: 100%;
		margin: 0 0 18px;
	}
	.nwr-customer-portal .woocommerce-MyAccount-navigation ul {
		display: flex;
		flex-wrap: wrap;
		gap: 6px;
		padding: 8px;
	}
	.nwr-customer-portal .woocommerce-MyAccount-navigation li a { min-height: 40px; border-left: 0; border-bottom: 2px solid transparent; }
	.nwr-customer-portal .woocommerce-MyAccount-navigation li.is-active a { border-left: 0; border-bottom-color: var(--sgr-accent); }
}

/* --- Shop: customer-facing "Parts Catalog" intro ------------------------- */
.nwr-parts-store-titlebar { align-items: flex-start; }
.nwr-parts-store-titlebar .sgr-page__eyebrow { margin-bottom: 8px; }
.nwr-parts-store-titlebar h1,
.nwr-parts-store-titlebar .page-title {
	font-size: clamp(1.85rem, 3vw, 2.6rem);
	letter-spacing: -0.02em;
	color: var(--sgr-primary);
}
.nwr-parts-store-titlebar .sgr-page__subtitle { margin-top: 10px; }

/* Quick finder typography/radius match the rest of the site */
.nwr-shop-finder--compact .nwr-shop-filter-tabs__nav { border-radius: var(--sgr-radius-md) var(--sgr-radius-md) 0 0; }
.nwr-shop-finder--compact .nwr-shop-finder__intro .nwr-section-eyebrow { color: #fff; opacity: .85; }

/* --- Homepage: tighten rhythm, share the card/empty language ------------- */
.nwr-home-hero--finder { padding: clamp(40px, 5vw, 64px) 0 clamp(20px, 3vw, 32px); }
.nwr-finder-section { padding: clamp(34px, 4vw, 52px) 0; }
.nwr-finder-section__head { margin-bottom: clamp(20px, 3vw, 30px); }
.nwr-finder-help { padding: clamp(36px, 4vw, 56px) 0; }
/* Homepage browse empty states adopt the shared empty-state component */
.nwr-finder-empty {
	max-width: 560px;
	border: 1px solid var(--sgr-border);
	border-radius: var(--sgr-radius-lg);
	background: var(--sgr-surface);
	box-shadow: var(--sgr-shadow-sm);
	padding: clamp(24px, 3vw, 36px);
}
.nwr-finder-section--alt .nwr-finder-empty,
.nwr-finder-section--search .nwr-finder-empty { background: var(--sgr-surface); }
.nwr-finder-empty__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	margin-bottom: 12px;
	border-radius: 999px;
	background: var(--sgr-accent-soft);
	color: var(--sgr-accent);
	font-size: 1.4rem;
}

/* --- Part Finder: shared header + carded form ---------------------------- */
.nwr-part-finder-form--premium { border-radius: var(--sgr-radius-md); box-shadow: var(--sgr-shadow-card); }
.nwr-part-finder-form__heading { color: var(--sgr-primary); font-weight: 800; }
.nwr-part-finder-results { background: var(--sgr-surface); border: 1px solid var(--sgr-border); border-radius: var(--sgr-radius-md); box-shadow: var(--sgr-shadow-sm); }
.nwr-part-finder-results__header { padding: 18px 22px 0; }
.nwr-part-finder-results__header h2 { color: var(--sgr-primary); font-weight: 800; font-size: 1.2rem; margin: 0; }
.nwr-part-finder-results__placeholder {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: clamp(28px, 4vw, 44px);
	color: var(--sgr-muted);
}
.nwr-part-finder-results__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	margin-bottom: 14px;
	border-radius: 999px;
	background: var(--sgr-accent-soft);
	color: var(--sgr-accent);
	font-size: 1.6rem;
}
.nwr-part-finder-results__placeholder p { margin: 0; max-width: 48ch; }

/* --- Compare: shared page + empty state ---------------------------------- */
.nwr-wc-page--compare { max-width: var(--sgr-page-max); }

/* --- Global chrome: header + footer share one width + label language ----- */
.nwr-store-header__inner { width: min(100%, var(--sgr-chrome-max)); }
.nwr-store-footer__top,
.nwr-store-footer__inner { width: min(100%, var(--sgr-chrome-max)); }
.nwr-store-footer__heading { font-size: .72rem; letter-spacing: .12em; }

@media (max-width: 640px) {
	.sgr-page__actions { width: 100%; }
	.sgr-page__actions .nwr-btn { flex: 1 1 100%; }
	.sgr-action-grid { grid-template-columns: 1fr; }
}

/* ==========================================================================
   ░░ SGR FINAL POLISH — premium catalog density (loaded last) ░░
   Built ONLY on canonical --sgr-* tokens + the shared .sgr-* shell. Gives the
   store more horizontal desktop structure and removes empty vertical space.
   No new palette, no token conflicts; nwr-* contracts untouched.
   ========================================================================== */

/* --- Header: logo legibility plate (red logo was low-contrast on navy) --- */
.nwr-store-logo--image {
	display: inline-flex;
	align-items: center;
	padding: 7px 13px !important;
	background: #fff !important;
	border-radius: var(--sgr-radius-md);
	box-shadow: 0 2px 8px rgba(0, 0, 0, .18);
	line-height: 0;
}
.nwr-store-logo--image img {
	width: auto;
	height: clamp(38px, 4.2vw, 50px);
	max-height: 50px;
	max-width: 230px;
	background: transparent !important;
}
@media (max-width: 640px) {
	.nwr-store-logo--image { padding: 5px 10px !important; }
	.nwr-store-logo--image img { height: 34px; }
}

/* --- Shop Quick Finder: white card with a navy accent header ------------- */
.nwr-shop-finder--compact {
	background: var(--sgr-surface);
	border: 1px solid var(--sgr-border);
	border-radius: var(--sgr-radius-md);
	box-shadow: var(--sgr-shadow-sm);
	overflow: hidden;
	padding: 0;
	margin-bottom: clamp(18px, 2.4vw, 26px);
}
.nwr-shop-finder--compact .nwr-shop-finder__intro {
	background: linear-gradient(135deg, var(--sgr-primary) 0%, var(--sgr-primary-2) 100%);
	color: #fff;
	padding: clamp(16px, 2vw, 22px) clamp(18px, 2.4vw, 26px);
	margin: 0;
}
.nwr-shop-finder--compact .nwr-shop-finder__intro h2 { color: #fff; margin: 4px 0 4px; font-size: 1.2rem; font-weight: 800; }
.nwr-shop-finder--compact .nwr-shop-finder__intro p { color: rgba(255, 255, 255, .8); margin: 0; font-size: .9rem; }
/* Neutralize the older nested form border so the finder reads as ONE card */
.nwr-shop-finder--compact .nwr-shop-filter-form {
	border: 0;
	border-radius: 0;
	box-shadow: none;
	padding: clamp(14px, 2vw, 20px) clamp(16px, 2.4vw, 24px) clamp(16px, 2.4vw, 22px);
}
.nwr-shop-finder--compact .nwr-shop-filter-tabs { padding: 0; }
.nwr-shop-finder--compact .nwr-shop-filter-tabs__panels { padding: 18px 0 0; }
.nwr-shop-finder--compact .nwr-shop-filter-tabs__nav {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	border-radius: 0;
	border-bottom: 1px solid var(--sgr-border);
	margin-bottom: 16px;
	padding-bottom: 10px;
	background: transparent;
}
.nwr-shop-finder--compact .nwr-shop-filter-tabs__tab {
	flex: 0 0 auto;
	min-width: 0;
	margin: 0;
	border: 1px solid var(--sgr-border-strong);
	background: var(--sgr-surface);
	color: var(--sgr-primary);
	border-radius: 999px;
	padding: 7px 16px;
	font-size: .85rem;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: none;
	cursor: pointer;
	transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.nwr-shop-finder--compact .nwr-shop-filter-tabs__tab:hover { border-color: var(--sgr-primary); }
.nwr-shop-finder--compact .nwr-shop-filter-tabs__tab.is-active {
	background: var(--sgr-accent);
	border-color: var(--sgr-accent);
	color: #fff;
}
.nwr-shop-finder--compact .nwr-shop-filter-row {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 14px;
}
.nwr-shop-finder--compact .nwr-shop-filter-field { display: flex; flex-direction: column; gap: 5px; }
.nwr-shop-finder--compact .nwr-shop-filter-field label { font-size: .78rem; font-weight: 700; color: var(--sgr-muted); }
.nwr-shop-finder--compact .nwr-shop-filter-field select,
.nwr-shop-finder--compact .nwr-shop-filter-field input {
	min-height: var(--sgr-control-h);
	border: 1px solid var(--sgr-border-strong);
	border-radius: var(--sgr-radius-sm);
	padding: 0 12px;
	background: var(--sgr-surface);
	color: var(--sgr-text);
	font-size: .9rem;
}
.nwr-shop-finder--compact .nwr-shop-filter-field select:focus,
.nwr-shop-finder--compact .nwr-shop-filter-field input:focus {
	outline: none;
	border-color: var(--sgr-primary);
	box-shadow: 0 0 0 3px rgba(11, 31, 58, .10);
}
.nwr-shop-finder--compact .nwr-shop-filter-tabs__actions {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-top: 16px;
}
.nwr-shop-finder--compact .nwr-shop-filter-clear {
	background: transparent;
	color: var(--sgr-muted);
	font-weight: 700;
	font-size: .85rem;
	text-transform: none;
	min-height: 0;
	padding: 0;
	border-radius: 0;
}
.nwr-shop-finder--compact .nwr-shop-filter-clear:hover { background: transparent; color: var(--sgr-accent); }

/* --- Shop sidebar: light additive refinements (base styles already set) -- */
.nwr-parts-sidebar__head h2 { letter-spacing: -0.01em; }
.nwr-sidebar-filter-btn { box-shadow: 0 6px 16px rgba(192, 57, 43, .18); }

/* Results no-results card centers in the results column, not in whitespace */
.nwr-no-products--store { margin: clamp(20px, 4vw, 48px) auto; max-width: 560px; }
