/**
 * 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;
}

.nwr-quote-page,
.nwr-contact-page {
	width: min(100%, var(--sgr-container));
	margin: 0 auto;
	padding: clamp(32px, 5vw, 64px) 24px;
}

.nwr-quote-layout,
.nwr-contact-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
	gap: 24px;
	align-items: start;
}

.nwr-quote-card,
.nwr-contact-card {
	background: #fff;
	border: 1px solid var(--sgr-border);
	border-radius: var(--sgr-radius-lg);
	box-shadow: var(--sgr-shadow-sm);
	padding: clamp(20px, 3vw, 32px);
}

.nwr-quote-card__header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	margin-bottom: 20px;
}

.nwr-quote-card h2,
.nwr-contact-card h2 {
	margin: 0 0 12px;
	color: var(--sgr-text);
}

.nwr-quote-items {
	display: grid;
	gap: 16px;
}

.nwr-quote-item {
	display: grid;
	grid-template-columns: 92px minmax(0, 1fr) auto;
	gap: 18px;
	align-items: start;
	padding: 16px;
	border: 1px solid var(--sgr-border);
	border-radius: var(--sgr-radius-md);
	background: var(--sgr-bg);
}

.nwr-quote-item img,
.nwr-quote-item__image-placeholder {
	width: 92px;
	height: 92px;
	object-fit: contain;
	border-radius: var(--sgr-radius-sm);
	background: #fff;
}

.nwr-quote-item h3 {
	margin: 0 0 8px;
	font-size: 1rem;
}

.nwr-quote-item p {
	margin: 0 0 8px;
	color: var(--sgr-muted);
}

.nwr-quote-item label,
.nwr-quote-form label {
	display: grid;
	gap: 7px;
	font-weight: 800;
	color: var(--sgr-text);
}

.nwr-quote-item input,
.nwr-quote-form input,
.nwr-quote-form textarea {
	width: 100%;
	border: 1px solid var(--sgr-border-strong);
	border-radius: var(--sgr-radius-sm);
	padding: 11px 12px;
	font: inherit;
	background: #fff;
}

.nwr-quote-item input[type="number"] {
	max-width: 110px;
}

.nwr-quote-item__body {
	display: grid;
	gap: 10px;
}

.nwr-quote-item__remove {
	border: 0;
	border-radius: 999px;
	background: #f6d6d2;
	color: var(--sgr-primary);
	font-weight: 800;
	padding: 8px 12px;
	cursor: pointer;
}

.nwr-quote-form {
	display: grid;
	gap: 18px;
}

.nwr-quote-form__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.nwr-quote-form__website {
	position: absolute;
	left: -9999px;
}

.nwr-quote-form__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
}

.nwr-quote-form__message {
	min-height: 24px;
	font-weight: 800;
	color: var(--sgr-muted);
}

.nwr-quote-form__message.is-success {
	color: #176b3a;
}

.nwr-quote-form__message.is-error {
	color: var(--sgr-primary);
}

.nwr-contact-card p {
	color: var(--sgr-muted);
	line-height: 1.65;
}

.nwr-contact-card--cta {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
}

@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;
	}

	.nwr-quote-layout,
	.nwr-contact-grid,
	.nwr-quote-form__grid {
		grid-template-columns: 1fr;
	}

	.nwr-quote-item {
		grid-template-columns: 72px minmax(0, 1fr);
	}

	.nwr-quote-item img,
	.nwr-quote-item__image-placeholder {
		width: 72px;
		height: 72px;
	}

	.nwr-quote-item__remove {
		grid-column: 1 / -1;
		justify-self: start;
	}
}

@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: '↗'; }

/* Related products have a wrapper section and a nested ul.products list. */
.nwr-single-product__related .related.products {
	display: block !important;
}
.nwr-single-product__related ul.products {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
	gap: 22px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}
.nwr-single-product__related ul.products::before,
.nwr-single-product__related ul.products::after {
	display: none !important;
	content: none !important;
}
.nwr-single-product__related ul.products li.product,
.nwr-single-product__related ul.products li.product.nwr-auto-product-card {
	width: 100% !important;
	max-width: none !important;
	min-width: 0;
	margin: 0 !important;
	float: none !important;
	clear: none !important;
}
.nwr-single-product__related .nwr-auto-product-card,
.nwr-single-product__related .nwr-auto-product-card__body,
.nwr-single-product__related .nwr-auto-product-card__title,
.nwr-single-product__related .nwr-auto-product-card__title a,
.nwr-single-product__related .nwr-auto-product-card__ids,
.nwr-single-product__related .nwr-auto-product-card__fitment,
.nwr-single-product__related .nwr-auto-product-card__actions {
	min-width: 0;
}
.nwr-single-product__related .nwr-auto-product-card__title,
.nwr-single-product__related .nwr-auto-product-card__title a,
.nwr-single-product__related .nwr-auto-product-card__ids,
.nwr-single-product__related .nwr-auto-product-card__fitment {
	overflow-wrap: break-word;
	word-break: normal;
}
.nwr-single-product__related .nwr-auto-product-card__image {
	width: 100%;
}
.nwr-single-product__related .nwr-auto-product-card__actions {
	grid-template-columns: minmax(0, 1fr);
	gap: 10px;
}
.nwr-single-product__related .nwr-auto-product-card__secondary {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}
.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)); }
}

/* Keep catalog filters visibly on the left for desktop and landscape tablets. */
@media (min-width: 769px) and (max-width: 992px) {
	.nwr-parts-store-layout { grid-template-columns: 250px minmax(0, 1fr); }
	.nwr-parts-sidebar { position: sticky; top: 92px; border: 1px solid var(--sgr-border); box-shadow: var(--sgr-shadow-sm); background: var(--sgr-surface); overflow: hidden; }
	.nwr-parts-sidebar__toggle { display: none; }
	.nwr-parts-sidebar__head { display: flex; }
	.nwr-parts-sidebar .nwr-parts-filter-form { display: block; }
}

/* Business tax-exemption account panel */
.nwr-tax-exemption{max-width:1000px;margin:0 auto 24px;padding:22px;border:1px solid var(--sgr-border);border-radius:var(--sgr-radius-md);background:var(--sgr-surface);box-shadow:var(--sgr-shadow-sm)}.nwr-tax-exemption--notice{padding:15px 18px;border-left:4px solid var(--sgr-primary)}.nwr-tax-exemption--notice p{margin:0}.nwr-tax-exemption__header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:12px}.nwr-tax-exemption__header h2{margin:3px 0 0;color:var(--sgr-primary);font-size:1.35rem}.nwr-tax-status{display:inline-flex;padding:7px 11px;border-radius:999px;background:#eef1f5;color:var(--sgr-primary);font-size:.78rem;font-weight:800;white-space:nowrap}.nwr-tax-status--pending{background:#fff4d6;color:#785b00}.nwr-tax-status--approved{background:#e4f5e9;color:#176b32}.nwr-tax-status--rejected{background:#fde8e6;color:#9d2f24}.nwr-tax-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:18px 0}.nwr-tax-details>div{padding:11px 12px;border:1px solid var(--sgr-border);margin:-1px 0 0 -1px}.nwr-tax-details dt{color:var(--sgr-muted);font-size:.75rem;font-weight:700}.nwr-tax-details dd{margin:3px 0 0;color:var(--sgr-primary);font-weight:700;overflow-wrap:anywhere}.nwr-tax-form{margin-top:20px;padding-top:20px;border-top:1px solid var(--sgr-border)}.nwr-tax-form[hidden]{display:none!important}.nwr-tax-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.nwr-tax-form__wide{grid-column:1/-1}.nwr-tax-form p{margin:0}.nwr-tax-form label:not(.nwr-tax-certification){display:block;margin-bottom:6px;color:var(--sgr-primary);font-size:.82rem;font-weight:800}.nwr-tax-form input[type=text],.nwr-tax-form input[type=date],.nwr-tax-form input[type=file],.nwr-tax-form textarea{width:100%;border:1px solid var(--sgr-border-strong);border-radius:var(--sgr-radius-sm);background:#fff;padding:11px 12px;color:var(--sgr-text)}.nwr-tax-form input:focus,.nwr-tax-form textarea:focus{border-color:var(--sgr-accent);box-shadow:0 0 0 3px rgba(192,57,43,.10);outline:0}.nwr-tax-form small{display:block;margin-top:6px;color:var(--sgr-muted)}.nwr-tax-certification{display:flex;gap:9px;align-items:flex-start;margin:18px 0;font-weight:700}.nwr-tax-certification input{margin-top:4px}.nwr-tax-notice{padding:13px 15px;border-radius:var(--sgr-radius-sm);background:#f4f6f8;color:var(--sgr-muted);font-size:.85rem;margin:0 0 18px!important}@media(max-width:768px){.nwr-tax-exemption__header{flex-direction:column}.nwr-tax-details,.nwr-tax-form__grid{grid-template-columns:1fr}.nwr-tax-form__wide{grid-column:auto}}
@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-single-product__related ul.products { grid-template-columns: 1fr !important; }
	.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-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-white);
}

.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 {
	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,
.nwr-store-icon--quote { 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; }
/* Quote list count is client-side, so hide until localStorage has items. */
.nwr-store-icon__badge--quote { display: none; }
.nwr-store-icon--quote.has-items .nwr-store-icon__badge--quote { 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; }

/* Temporary demo-mode store notice. Remove with nwr_demo_store_notice(). */
.nwr-demo-store-notice {
	background: #fff7ed;
	border-bottom: 1px solid rgba(183, 121, 31, .28);
	color: #7c3e12;
	box-shadow: 0 1px 0 rgba(17, 24, 39, .04);
}
.nwr-demo-store-notice__inner {
	width: min(100%, var(--sgr-chrome-max, var(--sgr-container)));
	margin: 0 auto;
	padding: 10px 56px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 6px;
	font-size: .92rem;
	font-weight: 600;
	line-height: 1.45;
	text-align: center;
}
.nwr-demo-store-notice__inner strong {
	color: var(--sgr-danger);
	text-transform: uppercase;
	letter-spacing: .04em;
	font-size: .78rem;
}

@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; }
	.nwr-demo-store-notice__inner { padding-left: 24px; padding-right: 24px; }
}

@media (max-width: 640px) {
	.nwr-demo-store-notice__inner {
		padding: 9px 16px;
		flex-direction: column;
		gap: 1px;
		font-size: .84rem;
	}
}

/* --- 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: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}
.nwr-auto-product-card__secondary > * {
	width: 100%;
	min-width: 0;
}
.nwr-auto-product-card__quote,
.nwr-auto-product-card__quote .nwr-btn {
	width: 100%;
}
.nwr-auto-product-card__quote .nwr-btn,
.nwr-auto-product-card__details {
	height: 42px;
	min-height: 42px;
	box-sizing: border-box;
	padding: 0 8px !important;
	white-space: nowrap;
}
.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;
	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); }

.nwr-parts-store-page--front .nwr-part-finder-form--home {
	margin-bottom: clamp(18px, 2.4vw, 26px);
}

/* --- 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 {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 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 panels align as one matched pair */
.nwr-customer-portal .woocommerce #customer_login {
	align-items: stretch;
}
.nwr-customer-portal .woocommerce #customer_login .u-column1,
.nwr-customer-portal .woocommerce #customer_login .u-column2 {
	display: flex;
	flex-direction: column;
	float: none !important;
	width: auto !important;
	min-width: 0;
	height: 100%;
	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);
}
.nwr-customer-portal .woocommerce #customer_login .u-column1 > h2,
.nwr-customer-portal .woocommerce #customer_login .u-column2 > h2 {
	margin-bottom: 16px;
}
.nwr-customer-portal .woocommerce #customer_login form.login,
.nwr-customer-portal .woocommerce #customer_login form.register {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	height: auto;
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}
.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 { 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; }

/* --- Standalone Part Finder page ---------------------------------------- */
.nwr-part-finder--standalone {
	background: linear-gradient(180deg, #f4f6f8 0%, #fff 46%, #f8f6f2 100%);
	padding-top: clamp(22px, 4vw, 48px);
	padding-bottom: clamp(42px, 6vw, 82px);
}
.nwr-btn--light {
	color: #fff !important;
	border-color: rgba(255,255,255,.35) !important;
	background: rgba(255,255,255,.08) !important;
}
.nwr-btn--light:hover {
	background: #fff !important;
	border-color: #fff !important;
	color: var(--sgr-primary) !important;
}
.nwr-part-finder-workspace {
	margin-top: 0;
	position: relative;
	z-index: 2;
}
.nwr-part-finder-form--standalone {
	border: 1px solid rgba(17, 24, 39, .08);
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 22px 54px rgba(17, 24, 39, .13);
	overflow: hidden;
}
.nwr-part-finder-form--standalone .nwr-part-finder-form__intro {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	align-items: flex-start;
	padding: clamp(22px, 3vw, 32px);
	border-bottom: 1px solid var(--sgr-border);
	background: linear-gradient(180deg, #fff 0%, #fbfaf8 100%);
}
.nwr-part-finder-form--standalone .nwr-part-finder-form__intro h1,
.nwr-part-finder-form--standalone .nwr-part-finder-form__intro h2 {
	margin: 4px 0 6px;
	color: var(--sgr-primary);
	font-size: clamp(1.35rem, 2.2vw, 2rem);
	letter-spacing: -.02em;
}
.nwr-part-finder-form--standalone .nwr-part-finder-form__intro p {
	margin: 0;
	color: var(--sgr-muted);
	max-width: 720px;
}
.nwr-part-finder-form__reset {
	flex: 0 0 auto;
	font-size: .88rem;
	font-weight: 800;
	color: var(--sgr-accent);
	padding-top: 6px;
}
.nwr-part-finder-form__reset:hover { color: var(--sgr-accent-dark); }
.nwr-part-finder-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding: clamp(16px, 2.4vw, 24px) clamp(16px, 2.4vw, 24px) 0;
	background: #fff;
}
.nwr-part-finder-tabs__tab {
	appearance: none;
	border: 1px solid var(--sgr-border);
	border-radius: 999px;
	background: #fbfaf8;
	color: var(--sgr-primary);
	cursor: pointer;
	font: inherit;
	font-size: .92rem;
	font-weight: 850;
	min-height: 42px;
	padding: 0 18px;
	transition: background .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease;
}
.nwr-part-finder-tabs__tab:hover,
.nwr-part-finder-tabs__tab:focus-visible {
	border-color: rgba(192, 57, 43, .36);
	box-shadow: 0 0 0 3px rgba(192, 57, 43, .1);
	outline: none;
}
.nwr-part-finder-tabs__tab.is-active {
	background: var(--sgr-primary);
	border-color: var(--sgr-primary);
	color: #fff;
	box-shadow: 0 10px 22px rgba(11, 31, 58, .18);
}
.nwr-part-finder-form--standalone .nwr-part-finder-form__filters {
	display: block;
	padding: clamp(16px, 2.4vw, 24px);
	background: #fff;
}
.nwr-part-finder-filter-card {
	border: 1px solid var(--sgr-border);
	border-radius: 16px;
	background: var(--sgr-surface);
	padding: 18px;
	box-shadow: 0 8px 24px rgba(17, 24, 39, .045);
}
.nwr-part-finder-filter-card[hidden] { display: none !important; }
.nwr-part-finder-field[hidden] { display: none !important; }
.nwr-part-finder-filter-card h3 {
	margin: 0 0 5px;
	font-size: 1.02rem;
	color: var(--sgr-primary);
	letter-spacing: -.01em;
}
.nwr-part-finder-filter-card p {
	margin: 0 0 15px;
	color: var(--sgr-muted);
	font-size: .86rem;
	line-height: 1.45;
}
.nwr-part-finder-filter-card__fields {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	align-items: end;
}
.nwr-part-finder-filter-card__fields--machine {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}
.nwr-part-finder-filter-card__fields--category,
.nwr-part-finder-filter-card__fields--search {
	grid-template-columns: minmax(0, 1fr);
}
.nwr-part-finder-filter-card__fields .nwr-part-finder-field {
	margin-top: 0;
}
.nwr-part-finder-field {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-top: 12px;
}
.nwr-part-finder-field--split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}
.nwr-part-finder-field label,
.nwr-part-finder-field--split label {
	display: block;
	color: var(--sgr-muted);
	font-size: .77rem;
	font-weight: 800;
	letter-spacing: .01em;
}
.nwr-part-finder-field select,
.nwr-part-finder-field input {
	width: 100%;
	min-height: 44px;
	border: 1px solid var(--sgr-border-strong);
	border-radius: 9px;
	background: #fff;
	color: var(--sgr-text);
	font: inherit;
	font-size: .92rem;
	padding: 0 12px;
}
.nwr-part-finder-field input { padding-top: 1px; }
.nwr-part-finder-field select:focus,
.nwr-part-finder-field input:focus {
	outline: none;
	border-color: var(--sgr-primary);
	box-shadow: 0 0 0 3px rgba(11, 31, 58, .1);
}
.nwr-part-finder-field select[aria-busy="true"] { opacity: .68; }
.nwr-part-finder-form--standalone .nwr-part-finder-form__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	gap: 12px;
	padding: 20px clamp(16px, 2.4vw, 24px) 24px;
	border-top: 1px solid var(--sgr-border);
	background: #fbfaf8;
}
.nwr-part-finder-results--standalone {
	margin-top: 24px;
	background: #fff;
	border: 1px solid var(--sgr-border);
	border-radius: 20px;
	box-shadow: 0 16px 42px rgba(17, 24, 39, .08);
	overflow: hidden;
	position: relative;
}
.nwr-part-finder-results--standalone.is-loading::after {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: 3px;
	background: linear-gradient(90deg, var(--sgr-accent), var(--sgr-primary), var(--sgr-accent));
	background-size: 220% 100%;
	animation: nwrPartFinderLoading 1.1s linear infinite;
}
@keyframes nwrPartFinderLoading {
	to { background-position: -220% 0; }
}
.nwr-part-finder-results--standalone .nwr-part-finder-results__header {
	background: var(--sgr-primary);
	color: #fff;
	padding: clamp(20px, 3vw, 28px);
}
.nwr-part-finder-results--standalone .nwr-part-finder-results__header h2 {
	color: #fff;
	font-size: clamp(1.25rem, 2vw, 1.8rem);
	margin: 4px 0 4px;
}
.nwr-part-finder-results--standalone .nwr-part-finder-results__header p {
	color: rgba(255,255,255,.78);
	margin: 0;
}
.nwr-part-finder-results__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 14px clamp(16px, 2.4vw, 24px);
	border-bottom: 1px solid var(--sgr-border);
	background: #fbfaf8;
}
.nwr-part-finder-results__chips .nwr-filter-chip {
	display: inline-flex;
	gap: 5px;
	align-items: center;
	padding: 7px 10px;
	border-radius: 999px;
	background: #fff;
	border: 1px solid var(--sgr-border);
	color: var(--sgr-text);
	font-size: .8rem;
}
.nwr-part-finder-results__chips .nwr-filter-chip strong {
	color: var(--sgr-primary);
}
.nwr-part-finder-results--standalone .nwr-part-finder-results__placeholder {
	margin: clamp(18px, 3vw, 30px);
	padding: clamp(34px, 6vw, 70px) 20px;
	background: linear-gradient(180deg, #fbfaf8 0%, #fff 100%);
	border: 1px dashed var(--sgr-border-strong);
	border-radius: 16px;
}
.nwr-part-finder-results__placeholder[hidden],
.nwr-part-finder-results__body[hidden],
.nwr-part-finder-results__chips[hidden],
.nwr-part-finder-results__pagination[hidden] {
	display: none !important;
}
.nwr-part-finder-results--standalone .nwr-part-finder-results__icon {
	width: 54px;
	height: 54px;
	border-radius: 999px;
	background: var(--sgr-accent-soft);
	margin: 0 auto 14px;
	position: relative;
}
.nwr-part-finder-results--standalone .nwr-part-finder-results__icon::before,
.nwr-part-finder-results--standalone .nwr-part-finder-results__icon::after {
	content: "";
	position: absolute;
	border-radius: 999px;
}
.nwr-part-finder-results--standalone .nwr-part-finder-results__icon::before {
	width: 19px;
	height: 19px;
	border: 3px solid var(--sgr-accent);
	left: 15px;
	top: 14px;
}
.nwr-part-finder-results--standalone .nwr-part-finder-results__icon::after {
	width: 18px;
	height: 3px;
	background: var(--sgr-accent);
	transform: rotate(45deg);
	right: 13px;
	bottom: 16px;
}
.nwr-part-finder-results--standalone .nwr-part-finder-results__placeholder h3 {
	margin: 0 0 8px;
	color: var(--sgr-primary);
	font-size: 1.15rem;
}
.nwr-part-finder-results__body {
	display: block;
	padding: clamp(16px, 2.4vw, 24px);
}
.nwr-part-finder-results__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr));
	gap: 16px;
	padding: 0;
}
.nwr-part-finder-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--sgr-border);
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 8px 24px rgba(17, 24, 39, .045);
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
	min-width: 0;
	width: 100%;
}
.nwr-part-finder-card:hover {
	transform: translateY(-2px);
	border-color: rgba(192, 57, 43, .28);
	box-shadow: 0 16px 34px rgba(17, 24, 39, .09);
}
.nwr-part-finder-card__image {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1.28 / 1;
	padding: 18px;
	background: linear-gradient(180deg, #fff 0%, #f7f7f7 100%);
	border-bottom: 1px solid #f0f0f0;
}
.nwr-part-finder-card__image img {
	width: 100%;
	height: 160px;
	object-fit: contain;
}
.nwr-part-finder-card__image span {
	width: 82px;
	height: 82px;
	border-radius: 18px;
	background: var(--sgr-bg);
	border: 1px solid var(--sgr-border);
}
.nwr-part-finder-card__body {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 16px;
	flex: 1;
	min-width: 0;
}
.nwr-part-finder-card__category {
	align-self: flex-start;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	border-radius: 999px;
	background: var(--sgr-accent-soft);
	color: var(--sgr-accent-dark);
	font-size: .72rem;
	font-weight: 850;
	padding: 4px 8px;
}
.nwr-part-finder-card__title {
	margin: 0;
	font-size: 1rem;
	line-height: 1.28;
	font-weight: 900;
	letter-spacing: -.01em;
	overflow-wrap: break-word;
	word-break: normal;
}
.nwr-part-finder-card__title a {
	color: var(--sgr-text);
	overflow-wrap: inherit;
	word-break: inherit;
}
.nwr-part-finder-card__title a:hover { color: var(--sgr-accent); }
.nwr-part-finder-card__ids {
	display: flex;
	flex-direction: column;
	gap: 5px;
	color: var(--sgr-muted);
	font-size: .82rem;
	line-height: 1.35;
}
.nwr-part-finder-card__ids span {
	overflow-wrap: break-word;
	word-break: normal;
}
.nwr-part-finder-card__ids strong {
	color: var(--sgr-primary);
	font-size: .7rem;
	text-transform: uppercase;
	letter-spacing: .05em;
	margin-right: 4px;
}
.nwr-part-finder-card__fitment {
	margin: 0;
	color: var(--sgr-muted);
	font-size: .84rem;
	line-height: 1.45;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.nwr-part-finder-card__meta-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	margin-top: auto;
	padding-top: 8px;
	border-top: 1px solid #f0f0f0;
}
.nwr-part-finder-card__price {
	color: var(--sgr-primary);
	font-weight: 900;
	font-size: 1.04rem;
}
.nwr-part-finder-card__price .amount { color: var(--sgr-primary); }
.nwr-part-finder-card__stock {
	font-size: .8rem;
	font-weight: 800;
	white-space: nowrap;
}
.nwr-part-finder-card__stock.is-in-stock { color: var(--sgr-success); }
.nwr-part-finder-card__stock.is-out-stock { color: var(--sgr-danger); }
.nwr-part-finder-card__actions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	margin-top: 2px;
}
.nwr-part-finder-card__actions .button,
.nwr-part-finder-card__actions .nwr-btn {
	min-height: 40px;
	border-radius: 8px !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: .82rem !important;
	font-weight: 850 !important;
	padding: 8px 10px !important;
	margin: 0 !important;
	line-height: 1.2 !important;
}
.nwr-part-finder-card__actions .button,
.nwr-part-finder-card__actions .add_to_cart_button {
	background: var(--sgr-accent) !important;
	color: #fff !important;
	border: 0 !important;
	box-shadow: 0 8px 18px rgba(192, 57, 43, .18);
}
.nwr-part-finder-card__actions .button:hover,
.nwr-part-finder-card__actions .add_to_cart_button:hover {
	background: var(--sgr-accent-dark) !important;
	color: #fff !important;
}
.nwr-part-finder-card__actions .nwr-btn--quote {
	background: var(--sgr-primary) !important;
	color: #fff !important;
}
.nwr-part-finder-card__actions .nwr-btn--quote:hover {
	background: var(--sgr-primary-2) !important;
	color: #fff !important;
}
.nwr-part-finder-results__empty {
	text-align: center;
	padding: clamp(34px, 5vw, 62px) 18px;
	border: 1px dashed var(--sgr-border-strong);
	border-radius: 16px;
	background: #fbfaf8;
}
.nwr-part-finder-results__empty h3 {
	margin: 0 0 8px;
	color: var(--sgr-primary);
}
.nwr-part-finder-results__empty p {
	color: var(--sgr-muted);
	max-width: 520px;
	margin: 0 auto 16px;
}
.nwr-part-finder-results__pagination {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 0 clamp(16px, 2.4vw, 24px) clamp(20px, 3vw, 28px);
}
.nwr-part-finder-results__pagination p {
	color: var(--sgr-muted);
	margin: 0;
	font-size: .9rem;
}
.nwr-part-finder-results__pagination-controls {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}
.nwr-part-finder-results__pagination-btn,
.nwr-part-finder-results__pagination-current {
	min-width: 40px;
	min-height: 40px;
	border-radius: 999px;
	border: 1px solid var(--sgr-border-strong);
	background: #fff;
	color: var(--sgr-primary);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font: inherit;
	font-size: .88rem;
	font-weight: 850;
	padding: 0 13px;
}
.nwr-part-finder-results__pagination-btn {
	cursor: pointer;
	transition: background .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease;
}
.nwr-part-finder-results__pagination-btn:hover:not(:disabled),
.nwr-part-finder-results__pagination-btn:focus-visible {
	background: var(--sgr-accent-soft);
	border-color: var(--sgr-accent);
	color: var(--sgr-accent-dark);
	outline: none;
	box-shadow: 0 0 0 3px rgba(192, 57, 43, .1);
}
.nwr-part-finder-results__pagination-btn.is-current {
	background: var(--sgr-primary);
	border-color: var(--sgr-primary);
	color: #fff;
}
.nwr-part-finder-results__pagination-btn.is-disabled,
.nwr-part-finder-results__pagination-btn:disabled {
	cursor: not-allowed;
	opacity: .48;
}
.nwr-part-finder-results__pagination-ellipsis {
	color: var(--sgr-muted);
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 0 2px;
}
.nwr-part-finder-card--skeleton {
	padding: 16px;
	gap: 12px;
	min-height: 330px;
}
.nwr-part-finder-card--skeleton div,
.nwr-part-finder-card--skeleton span {
	display: block;
	border-radius: 10px;
	background: linear-gradient(90deg, #f1f2f4 0%, #fafafa 50%, #f1f2f4 100%);
	background-size: 220% 100%;
	animation: nwrPartFinderSkeleton 1.2s linear infinite;
}
.nwr-part-finder-card--skeleton div { height: 150px; }
.nwr-part-finder-card--skeleton span { height: 18px; }
.nwr-part-finder-card--skeleton span:nth-child(2) { width: 82%; }
.nwr-part-finder-card--skeleton span:nth-child(3) { width: 64%; }
.nwr-part-finder-card--skeleton span:nth-child(4) { width: 48%; }
@keyframes nwrPartFinderSkeleton {
	to { background-position: -220% 0; }
}
@media (max-width: 1180px) {
	.nwr-part-finder-results__grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); }
}
@media (max-width: 820px) {
	.nwr-part-finder-form--standalone .nwr-part-finder-form__intro {
		display: block;
	}
	.nwr-part-finder-form__reset {
		display: inline-flex;
		margin-top: 12px;
	}
	.nwr-part-finder-filter-card__fields--engine,
	.nwr-part-finder-filter-card__fields--machine {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 640px) {
	.nwr-part-finder--standalone { padding-bottom: 44px; }
	.nwr-part-finder-form--standalone,
	.nwr-part-finder-results--standalone { border-radius: 14px; }
	.nwr-part-finder-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nwr-part-finder-tabs__tab { padding: 0 12px; }
	.nwr-part-finder-filter-card__fields,
	.nwr-part-finder-filter-card__fields--engine,
	.nwr-part-finder-filter-card__fields--machine,
	.nwr-part-finder-results__grid { grid-template-columns: 1fr; }
	.nwr-part-finder-field--split { grid-template-columns: 1fr; }
	.nwr-part-finder-card__actions { grid-template-columns: 1fr; }
	.nwr-part-finder-results__pagination { align-items: stretch; flex-direction: column; }
	.nwr-part-finder-results__pagination-controls { justify-content: center; }
}

/* --- My Account: refined WooCommerce account cards/forms/payments -------- */
.nwr-customer-portal .woocommerce::before,
.nwr-customer-portal .woocommerce::after,
.nwr-customer-portal .woocommerce-MyAccount-content::before,
.nwr-customer-portal .woocommerce-MyAccount-content::after {
	content: "";
	display: table;
	clear: both;
}
.nwr-customer-portal .woocommerce-MyAccount-navigation,
.nwr-account-page .woocommerce-MyAccount-navigation {
	position: relative;
	z-index: 1;
}
.nwr-customer-portal .woocommerce-MyAccount-navigation ul,
.nwr-account-page .woocommerce-MyAccount-navigation ul {
	background: #fff;
	border-color: var(--sgr-border);
	box-shadow: var(--sgr-shadow-card);
}
.nwr-customer-portal .woocommerce-MyAccount-navigation li a,
.nwr-account-page .woocommerce-MyAccount-navigation li a {
	font-size: .96rem;
	line-height: 1.25;
}
.nwr-customer-portal .woocommerce-MyAccount-content,
.nwr-account-page .woocommerce-MyAccount-content {
	color: var(--sgr-text);
	font-size: 1rem;
	line-height: 1.62;
}
.nwr-customer-portal .woocommerce-MyAccount-content p {
	margin: 0 0 1rem;
	color: var(--sgr-text);
}
.nwr-customer-portal .woocommerce-MyAccount-content p:last-child { margin-bottom: 0; }
.nwr-customer-portal .woocommerce-MyAccount-content a:not(.button) {
	color: var(--sgr-accent);
	font-weight: 700;
	text-underline-offset: 2px;
}
.nwr-customer-portal .woocommerce h2,
.nwr-customer-portal .woocommerce h3,
.nwr-customer-portal .woocommerce legend {
	color: var(--sgr-primary);
	font-size: clamp(1.12rem, 1.5vw, 1.35rem);
	line-height: 1.25;
	font-weight: 850;
	letter-spacing: -.015em;
}
.nwr-customer-portal .woocommerce form.login,
.nwr-customer-portal .woocommerce form.register,
.nwr-customer-portal .woocommerce form.edit-account,
.nwr-customer-portal .woocommerce form.woocommerce-EditAccountForm,
.nwr-customer-portal .woocommerce-address-fields,
.nwr-customer-portal .woocommerce-PaymentMethod,
.nwr-customer-portal .woocommerce-MyAccount-paymentMethods,
.nwr-customer-portal .woocommerce-MyAccount-content > form:not(.woocommerce-ordering) {
	background: #fff;
	border: 1px solid var(--sgr-border);
	border-radius: var(--sgr-radius-lg);
	box-shadow: var(--sgr-shadow-sm);
	padding: clamp(20px, 3vw, 28px);
}
.nwr-customer-portal .woocommerce form .form-row {
	margin: 0 0 18px;
	padding: 0;
}
.nwr-customer-portal .woocommerce form .form-row-first,
.nwr-customer-portal .woocommerce form .form-row-last {
	width: calc(50% - 10px);
}
.nwr-customer-portal .woocommerce form .form-row-wide {
	clear: both;
	width: 100%;
}
.nwr-customer-portal .woocommerce form .form-row label,
.nwr-customer-portal .woocommerce .woocommerce-form-row label,
.nwr-customer-portal .woocommerce label {
	display: block;
	margin: 0 0 7px;
	color: var(--sgr-text);
	font-size: .95rem;
	line-height: 1.35;
	font-weight: 750;
}
.nwr-customer-portal .woocommerce form .required { color: var(--sgr-accent); }
.nwr-customer-portal .woocommerce form .input-text,
.nwr-customer-portal .woocommerce form input[type="email"],
.nwr-customer-portal .woocommerce form input[type="number"],
.nwr-customer-portal .woocommerce form input[type="password"],
.nwr-customer-portal .woocommerce form input[type="search"],
.nwr-customer-portal .woocommerce form input[type="tel"],
.nwr-customer-portal .woocommerce form input[type="text"],
.nwr-customer-portal .woocommerce form input[type="url"],
.nwr-customer-portal .woocommerce form select,
.nwr-customer-portal .woocommerce form textarea,
.nwr-customer-portal .woocommerce .select2-container .select2-selection--single {
	width: 100%;
	min-height: var(--sgr-control-h);
	border: 1px solid var(--sgr-border-strong);
	border-radius: var(--sgr-radius-sm);
	background: #fff;
	color: var(--sgr-text);
	font-size: 1rem;
	line-height: 1.35;
	box-shadow: none;
}
.nwr-customer-portal .woocommerce form .input-text,
.nwr-customer-portal .woocommerce form input[type="email"],
.nwr-customer-portal .woocommerce form input[type="number"],
.nwr-customer-portal .woocommerce form input[type="password"],
.nwr-customer-portal .woocommerce form input[type="search"],
.nwr-customer-portal .woocommerce form input[type="tel"],
.nwr-customer-portal .woocommerce form input[type="text"],
.nwr-customer-portal .woocommerce form input[type="url"],
.nwr-customer-portal .woocommerce form select {
	padding: 0 13px;
}
.nwr-customer-portal .woocommerce form textarea {
	min-height: 110px;
	padding: 12px 13px;
	resize: vertical;
}
.nwr-customer-portal .woocommerce .select2-container .select2-selection--single {
	display: flex;
	align-items: center;
	padding: 0 38px 0 13px;
}
.nwr-customer-portal .woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered {
	color: var(--sgr-text);
	line-height: 1.35;
	padding: 0;
}
.nwr-customer-portal .woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 100%;
	right: 9px;
}
.nwr-customer-portal .woocommerce form .input-text:focus,
.nwr-customer-portal .woocommerce form input:focus,
.nwr-customer-portal .woocommerce form select:focus,
.nwr-customer-portal .woocommerce form textarea:focus,
.nwr-customer-portal .woocommerce .select2-container--focus .select2-selection--single {
	outline: none;
	border-color: var(--sgr-accent);
	box-shadow: 0 0 0 3px rgba(192, 57, 43, .12);
}
.nwr-customer-portal .woocommerce fieldset {
	margin: 24px 0 0;
	padding: 22px;
	border: 1px solid var(--sgr-border);
	border-radius: var(--sgr-radius-lg);
	background: var(--sgr-surface-soft);
}
.nwr-customer-portal .woocommerce fieldset legend {
	padding: 0 8px;
	margin-left: -8px;
	background: var(--sgr-surface-soft);
}
.nwr-customer-portal .woocommerce em,
.nwr-customer-portal .woocommerce .description {
	display: block;
	margin-top: 6px;
	color: var(--sgr-muted);
	font-size: .9rem;
	line-height: 1.45;
}
.nwr-customer-portal .woocommerce table.shop_table,
.nwr-customer-portal .woocommerce table.account-orders-table,
.nwr-customer-portal .woocommerce table.woocommerce-table {
	width: 100%;
	margin: 0 0 18px;
	border: 1px solid var(--sgr-border) !important;
	border-collapse: separate;
	border-spacing: 0;
	border-radius: var(--sgr-radius-lg);
	background: #fff;
	box-shadow: var(--sgr-shadow-sm);
	overflow: hidden;
}
.nwr-customer-portal .woocommerce table.shop_table th,
.nwr-customer-portal .woocommerce table.shop_table td,
.nwr-customer-portal .woocommerce table.account-orders-table th,
.nwr-customer-portal .woocommerce table.account-orders-table td,
.nwr-customer-portal .woocommerce table.woocommerce-table th,
.nwr-customer-portal .woocommerce table.woocommerce-table td {
	padding: 15px 16px;
	border-color: var(--sgr-border);
	color: var(--sgr-text);
	font-size: .96rem;
	line-height: 1.45;
	vertical-align: middle;
}
.nwr-customer-portal .woocommerce table.shop_table th,
.nwr-customer-portal .woocommerce table.account-orders-table th,
.nwr-customer-portal .woocommerce table.woocommerce-table th {
	background: var(--sgr-surface-soft);
	color: var(--sgr-primary);
	font-weight: 850;
}
.nwr-customer-portal .woocommerce table.shop_table .button {
	min-height: 38px;
	padding: 0 14px !important;
	font-size: .9rem;
	box-shadow: none;
}
.nwr-customer-portal .woocommerce-Addresses,
.nwr-customer-portal .woocommerce .u-columns.woocommerce-Addresses,
.nwr-customer-portal .woocommerce .u-columns.addresses {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin-top: 18px;
}
.nwr-customer-portal .woocommerce-Addresses::before,
.nwr-customer-portal .woocommerce-Addresses::after,
.nwr-customer-portal .woocommerce .u-columns.addresses::before,
.nwr-customer-portal .woocommerce .u-columns.addresses::after {
	display: none;
}
.nwr-customer-portal .woocommerce-Address {
	float: none !important;
	width: auto !important;
	min-width: 0;
	background: #fff;
	border: 1px solid var(--sgr-border);
	border-radius: var(--sgr-radius-lg);
	box-shadow: var(--sgr-shadow-sm);
	padding: clamp(18px, 2.6vw, 24px);
}
.nwr-customer-portal .woocommerce-Address header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 14px;
}
.nwr-customer-portal .woocommerce-Address h2,
.nwr-customer-portal .woocommerce-Address h3 {
	margin: 0;
	font-size: 1.14rem;
}
.nwr-customer-portal .woocommerce-Address .edit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	padding: 0 12px;
	border: 1px solid var(--sgr-border-strong);
	border-radius: 999px;
	background: var(--sgr-surface);
	color: var(--sgr-primary) !important;
	font-size: .86rem;
	font-weight: 800;
	text-decoration: none;
}
.nwr-customer-portal .woocommerce-Address .edit:hover {
	border-color: var(--sgr-accent);
	color: var(--sgr-accent) !important;
}
.nwr-customer-portal .woocommerce-Address address {
	margin: 0;
	color: var(--sgr-text);
	font-size: .98rem;
	line-height: 1.65;
}
.nwr-customer-portal .woocommerce .woocommerce-address-fields__field-wrapper {
	display: block;
	margin-bottom: 6px;
}
.nwr-customer-portal .woocommerce .woocommerce-address-fields p:last-child,
.nwr-customer-portal .woocommerce form.edit-account p:last-child {
	margin-bottom: 0;
}
.nwr-customer-portal .woocommerce-MyAccount-paymentMethods .payment-method-actions,
.nwr-customer-portal .woocommerce-payment-methods .payment-method-actions {
	white-space: nowrap;
}
.nwr-customer-portal .woocommerce #add_payment_method #payment,
.nwr-customer-portal .woocommerce #payment,
.nwr-customer-portal .woocommerce .woocommerce-Payment,
.nwr-customer-portal .woocommerce .woocommerce-PaymentMethods,
.nwr-customer-portal .woocommerce ul.payment_methods {
	background: #fff !important;
	border: 1px solid var(--sgr-border) !important;
	border-radius: var(--sgr-radius-lg) !important;
	box-shadow: var(--sgr-shadow-sm);
	padding: clamp(18px, 2.8vw, 26px) !important;
}
.nwr-customer-portal .woocommerce ul.payment_methods {
	margin: 0 0 18px !important;
	list-style: none;
}
.nwr-customer-portal .woocommerce ul.payment_methods li {
	margin: 0;
	padding: 0;
	font-size: 1rem;
	line-height: 1.5;
}
.nwr-customer-portal .woocommerce ul.payment_methods li + li {
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid var(--sgr-border);
}
.nwr-customer-portal .woocommerce ul.payment_methods li label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 12px;
	color: var(--sgr-primary);
	font-weight: 850;
}
.nwr-customer-portal .woocommerce .payment_box,
.nwr-customer-portal .woocommerce #payment div.payment_box,
.nwr-customer-portal .woocommerce .wc-payment-form,
.nwr-customer-portal .woocommerce .payment_method_stripe,
.nwr-customer-portal .woocommerce .payment_method_woocommerce_payments {
	margin: 12px 0 0 !important;
	padding: clamp(16px, 2.4vw, 22px) !important;
	background: var(--sgr-surface-soft) !important;
	border: 1px solid var(--sgr-border) !important;
	border-radius: var(--sgr-radius-md) !important;
	color: var(--sgr-text) !important;
	box-shadow: none !important;
}
.nwr-customer-portal .woocommerce #payment div.payment_box::before,
.nwr-customer-portal .woocommerce .payment_box::before {
	display: none !important;
	content: none !important;
}
.nwr-customer-portal .woocommerce .wc-stripe-elements-field,
.nwr-customer-portal .woocommerce .wc-stripe-iban-element-field,
.nwr-customer-portal .woocommerce .stripe-card-group,
.nwr-customer-portal .woocommerce .StripeElement {
	min-height: var(--sgr-control-h);
	padding: 12px 13px;
	background: #fff !important;
	border: 1px solid var(--sgr-border-strong) !important;
	border-radius: var(--sgr-radius-sm) !important;
	box-shadow: none !important;
}
.nwr-customer-portal .woocommerce .wc-stripe-elements-field.focused,
.nwr-customer-portal .woocommerce .StripeElement--focus {
	border-color: var(--sgr-accent) !important;
	box-shadow: 0 0 0 3px rgba(192, 57, 43, .12) !important;
}
.nwr-customer-portal .woocommerce .woocommerce-SavedPaymentMethods-saveNew {
	margin-top: 14px;
	font-size: .95rem;
}
.nwr-customer-portal .woocommerce #place_order,
.nwr-customer-portal .woocommerce #payment .button,
.nwr-customer-portal .woocommerce .woocommerce-Payment .button {
	margin-top: 4px;
}
.nwr-customer-portal .woocommerce .woocommerce-error,
.nwr-customer-portal .woocommerce .woocommerce-info,
.nwr-customer-portal .woocommerce .woocommerce-message {
	margin-bottom: 18px;
	font-size: .98rem;
	line-height: 1.5;
}

@media (max-width: 980px) {
	.nwr-customer-portal .woocommerce-MyAccount-navigation ul,
	.nwr-account-page .woocommerce-MyAccount-navigation ul {
		box-shadow: var(--sgr-shadow-sm);
	}
	.nwr-customer-portal .woocommerce-MyAccount-navigation li,
	.nwr-account-page .woocommerce-MyAccount-navigation li {
		flex: 1 1 160px;
	}
	.nwr-customer-portal .woocommerce-MyAccount-navigation li a,
	.nwr-account-page .woocommerce-MyAccount-navigation li a {
		justify-content: center;
		text-align: center;
	}
}

@media (max-width: 760px) {
	.nwr-customer-portal .woocommerce form .form-row-first,
	.nwr-customer-portal .woocommerce form .form-row-last {
		float: none;
		width: 100%;
	}
	.nwr-customer-portal .woocommerce-Addresses,
	.nwr-customer-portal .woocommerce .u-columns.woocommerce-Addresses,
	.nwr-customer-portal .woocommerce .u-columns.addresses {
		grid-template-columns: 1fr;
	}
	.nwr-customer-portal .woocommerce table.shop_table,
	.nwr-customer-portal .woocommerce table.account-orders-table,
	.nwr-customer-portal .woocommerce table.woocommerce-table {
		display: block;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
}

@media (max-width: 560px) {
	.nwr-customer-portal .woocommerce-MyAccount-content,
	.nwr-account-page .woocommerce-MyAccount-content,
	.nwr-customer-portal .woocommerce form.login,
	.nwr-customer-portal .woocommerce form.register,
	.nwr-customer-portal .woocommerce form.edit-account,
	.nwr-customer-portal .woocommerce form.woocommerce-EditAccountForm,
	.nwr-customer-portal .woocommerce-address-fields,
	.nwr-customer-portal .woocommerce #add_payment_method #payment,
	.nwr-customer-portal .woocommerce #payment,
	.nwr-customer-portal .woocommerce .woocommerce-Payment,
	.nwr-customer-portal .woocommerce .woocommerce-PaymentMethods,
	.nwr-customer-portal .woocommerce ul.payment_methods {
		border-radius: 14px !important;
		padding: 18px !important;
	}
	.nwr-customer-portal .woocommerce-Address header {
		display: block;
	}
	.nwr-customer-portal .woocommerce-Address .edit {
		margin-top: 10px;
	}
}

/* Final sidebar visibility override: filters stay left until mobile width. */
@media (min-width: 769px) and (max-width: 992px) {
	.nwr-parts-store-layout { grid-template-columns: 250px minmax(0, 1fr) !important; align-items: start; }
	.nwr-parts-sidebar { display: block !important; position: sticky !important; top: 92px; border: 1px solid var(--sgr-border) !important; box-shadow: var(--sgr-shadow-sm) !important; background: var(--sgr-surface) !important; overflow: hidden !important; }
	.nwr-parts-sidebar__toggle { display: none !important; }
	.nwr-parts-sidebar__head { display: flex !important; }
	.nwr-parts-sidebar .nwr-parts-filter-form { display: block !important; }
}
.nwr-search-products-layout { margin-top: 24px; }

/* Homepage live Part Finder: only its branded header uses the site-header blue. */
.nwr-parts-store-page--front .nwr-part-finder-form--home {
	margin-bottom: 0;
	background: #fff;
	border-color: var(--sgr-border);
	box-shadow: var(--sgr-shadow-card);
	overflow: hidden;
}
.nwr-parts-store-page--front .nwr-part-finder-form--home .nwr-part-finder-form__intro {
	background: linear-gradient(135deg, var(--sgr-primary) 0%, var(--sgr-charcoal) 100%);
	border-color: rgba(255, 255, 255, .14);
}
.nwr-parts-store-page--front .nwr-part-finder-form--home .nwr-part-finder-tabs,
.nwr-parts-store-page--front .nwr-part-finder-form--home .nwr-part-finder-form__filters,
.nwr-parts-store-page--front .nwr-part-finder-form--home .nwr-part-finder-form__actions {
	background: #fff;
	border-color: var(--sgr-border);
}
.nwr-parts-store-page--front .nwr-part-finder-form--home .nwr-section-eyebrow {
	color: #fff;
	opacity: .78;
}
.nwr-parts-store-page--front .nwr-part-finder-form--home .nwr-part-finder-form__intro h2 {
	color: #fff;
}
.nwr-parts-store-page--front .nwr-part-finder-form--home .nwr-part-finder-form__intro p {
	color: rgba(255, 255, 255, .78);
}
.nwr-parts-store-page--front .nwr-part-finder-form--home .nwr-part-finder-form__reset {
	color: #fff;
}
.nwr-parts-store-page--front .nwr-part-finder-form--home .nwr-part-finder-tabs__tab {
	background: var(--sgr-bg);
	border-color: var(--sgr-border-strong);
	color: var(--sgr-primary);
}
.nwr-parts-store-page--front .nwr-part-finder-form--home .nwr-part-finder-tabs__tab:hover,
.nwr-parts-store-page--front .nwr-part-finder-form--home .nwr-part-finder-tabs__tab:focus-visible {
	border-color: var(--sgr-primary);
	box-shadow: 0 0 0 3px rgba(11, 31, 58, .08);
}
.nwr-parts-store-page--front .nwr-part-finder-form--home .nwr-part-finder-tabs__tab.is-active {
	background: var(--sgr-accent);
	border-color: var(--sgr-accent);
	color: #fff;
}
.nwr-parts-store-page--front .nwr-part-finder-form--home .nwr-part-finder-filter-card {
	background: var(--sgr-bg);
	border-color: var(--sgr-border);
	box-shadow: none;
}
.nwr-parts-store-page--front .nwr-part-finder-form--home .nwr-part-finder-filter-card h3,
.nwr-parts-store-page--front .nwr-part-finder-form--home .nwr-part-finder-field label {
	color: var(--sgr-primary);
}
.nwr-parts-store-page--front .nwr-part-finder-form--home .nwr-part-finder-filter-card p {
	color: var(--sgr-muted);
}
.nwr-parts-store-page--front .nwr-part-finder-form--home .nwr-part-finder-field select,
.nwr-parts-store-page--front .nwr-part-finder-form--home .nwr-part-finder-field input {
	background: #fff;
	border-color: var(--sgr-border-strong);
	color: var(--sgr-text);
}
.nwr-parts-store-page--front .nwr-part-finder-form--home .nwr-part-finder-form__actions .nwr-btn--primary {
	background: var(--sgr-accent);
	border-color: var(--sgr-accent);
	color: #fff;
}
.nwr-parts-store-page--front .nwr-part-finder-form--home .nwr-part-finder-form__actions .nwr-btn--secondary {
	background: #fff;
	border-color: var(--sgr-primary);
	color: var(--sgr-primary);
}
.nwr-parts-store-page--front .nwr-part-finder-form--home [data-nwr-progress-step][hidden] {
	display: none !important;
}
.nwr-parts-results [data-nwr-store-results-body] {
	transition: opacity .18s ease;
}
.nwr-parts-results.is-updating [data-nwr-store-results-body] {
	opacity: .42;
	pointer-events: none;
}

/* Live Part Finder controls in the left store sidebar. */
.nwr-live-sidebar-filters__help {
	margin: 14px 0 0;
	padding: 11px 12px;
	border-radius: var(--sgr-radius-sm);
	background: rgba(11, 31, 58, .06);
	color: var(--sgr-muted);
	font-size: .78rem;
	line-height: 1.45;
}
.nwr-live-sidebar-filters__group > strong {
	color: var(--sgr-primary);
	font-size: .88rem;
}
.nwr-live-sidebar-filters__group [data-nwr-sidebar-progress] + [data-nwr-sidebar-progress] {
	margin-top: 12px;
}
.nwr-live-sidebar-filters__group [data-nwr-sidebar-progress][hidden] {
	display: none !important;
}
.nwr-live-sidebar-filters__group label {
	margin-bottom: 6px;
	color: var(--sgr-muted);
	font-weight: 700;
}
.nwr-live-sidebar-filters select[aria-busy="true"] {
	opacity: .62;
}
/* V5.2 requested account and filter refinements */
.nwr-category-checklist{display:grid;gap:7px;max-height:250px;overflow:auto;padding:10px;border:1px solid #d8dde5;border-radius:8px;background:#fff}.nwr-category-checklist .nwr-check{display:flex;gap:8px;align-items:flex-start;margin:0}.nwr-filter-help{font-size:.78rem;color:var(--sgr-muted);margin:4px 0 8px}.nwr-clear-categories{margin-top:8px;border:0;background:transparent;color:var(--sgr-accent);font-weight:700;padding:0;cursor:pointer}.nwr-business-pricing-message{max-width:900px;margin:0 auto 24px;padding:20px 24px;border-left:4px solid var(--sgr-accent);border-radius:10px;background:#fff;box-shadow:0 8px 24px rgba(11,31,58,.08)}.nwr-business-pricing-message strong{display:block;color:var(--sgr-primary);font-size:1.1rem}.nwr-business-pricing-message p{margin:7px 0 0;color:var(--sgr-muted)}.nwr-registration-types{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 18px}.nwr-registration-types label{display:flex;align-items:center;gap:8px;padding:12px;border:1px solid #d8dde5;border-radius:8px;cursor:pointer}.nwr-registration-types label:has(input:checked){border-color:var(--sgr-accent);background:rgba(192,57,43,.06)}.nwr-registration-fields{padding:16px;border:1px solid #e1e5eb;border-radius:10px;margin-bottom:16px}.nwr-registration-fields[hidden]{display:none!important}.nwr-registration-fields h3{margin:0 0 12px;color:var(--sgr-primary);font-size:1rem}.nwr-registration-fields small{display:block;color:var(--sgr-muted);margin-top:5px}.nwr-business-note{font-size:.85rem;color:var(--sgr-muted)}@media(max-width:620px){.nwr-registration-types{grid-template-columns:1fr}}
