/*
Theme Name: JDM Motors Sacramento Custom Theme
Theme URI: https://jdmmotorssacramento.com
Description: Premium custom WordPress theme for JDM Motors Sacramento — Shopify-grade UX, dark automotive aesthetic, WooCommerce ready.
Version: 2.5.23
Author: JDM Motors Sacramento
Text Domain: jdm-motors
*/

/* --- DESIGN SYSTEM --- */
:root {
	--primary: #d61f26;
	--primary-hover: #f0343b;
	--primary-soft: rgba(214, 31, 38, 0.14);
	--bg: #0a0b0d;
	--bg-elevated: #12141a;
	--bg-panel: #161922;
	--bg-input: #1a1d27;
	--text: #f2f3f5;
	--text-body: #c4c8d0;
	--text-muted: #8a909c;
	--border: rgba(255, 255, 255, 0.08);
	--border-strong: rgba(255, 255, 255, 0.14);
	--font-display: 'Syne', sans-serif;
	--font-body: 'Manrope', sans-serif;
	--radius: 8px;
	--radius-lg: 14px;
	--space-section: clamp(4.5rem, 8vw, 7rem);
	--container: 1200px;
	--container-pad: clamp(1.25rem, 3vw, 2rem);
	--ease: cubic-bezier(0.22, 1, 0.36, 1);
	--header-h: 76px;
	--ring-red: 0 0 0 3px rgba(214, 31, 38, 0.22);
	--hairline-red: linear-gradient(90deg, transparent, rgba(214, 31, 38, 0.6) 28%, rgba(214, 31, 38, 0.6) 72%, transparent);
}

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

html {
	scroll-behavior: smooth;
	scrollbar-color: #2a2e38 #0a0b0d;
}

body {
	background: var(--bg);
	color: var(--text-body);
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}

::selection {
	background: rgba(214, 31, 38, 0.85);
	color: #fff;
}

body.nav-open {
	overflow: hidden;
}

a {
	color: var(--text);
	text-decoration: none;
	transition: color 0.25s var(--ease);
}

a:hover {
	color: var(--primary-hover);
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-display);
	font-weight: 700;
	color: var(--text);
	line-height: 1.15;
	letter-spacing: -0.02em;
}

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

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

.skip-link.screen-reader-text:focus {
	position: fixed !important;
	top: 12px;
	left: 12px;
	z-index: 100000;
	width: auto;
	height: auto;
	margin: 0;
	padding: 0.75rem 1rem;
	clip: auto;
	overflow: visible;
	background: var(--bg-elevated);
	color: var(--text);
	border: 1px solid var(--border-strong);
}

/* Buttons */
.btn-primary,
.btn-secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.95rem 1.75rem;
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 0.875rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	border-radius: var(--radius);
	border: 1px solid transparent;
	cursor: pointer;
	transition: background 0.25s var(--ease), color 0.25s var(--ease), border-color 0.25s var(--ease), transform 0.25s var(--ease);
}

.btn-primary {
	position: relative;
	/* overflow stays visible: the hover halo (::before) escapes the button's
	   edges; the inner band (::after) is self-clipped instead */
	isolation: isolate;
	background: linear-gradient(180deg, #ef2f36 0%, #d61f26 48%, #b5121a 100%);
	color: #fff;
	box-shadow: 0 10px 26px rgba(214, 31, 38, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

/* Hover sweep. The glass band crosses the face while a crisp glint runs
   along the button's rim in sync — both are full-size boxes animated via
   background-position (position 100%→0 = the light travels left→right).
   The rim uses the content-box/border-box mask trick so the band paints
   only on a 2px ring hugging the button's edge. isolation:isolate keeps
   the z-index:-1 rim behind the button but inside its own context.
   Deliberately not gated behind prefers-reduced-motion: this effect is a
   one-shot 0.65s opacity-free glint, and the owner's preview browser
   always reports RM — the visible travel IS the feature (2.5.11). */
.btn-primary::before,
.woocommerce div.product form.cart .button::before,
.woocommerce-checkout #payment #place_order::before {
	content: '';
	position: absolute;
	inset: -2px;
	z-index: -1;
	border-radius: calc(var(--radius) + 2px);
	padding: 2px;
	background: linear-gradient(105deg, transparent 42%, rgba(255, 246, 240, 0.95) 50%, transparent 58%);
	background-size: 300% 100%;
	background-repeat: no-repeat;
	background-position: 100% 0;
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	mask-composite: exclude;
	transition: background-position 0.65s var(--ease);
	pointer-events: none;
}

.btn-primary::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(105deg, transparent 43%, rgba(255, 255, 255, 0.32) 50%, transparent 57%);
	background-size: 300% 100%;
	background-repeat: no-repeat;
	background-position: 100% 0;
	transition: background-position 0.65s var(--ease);
	pointer-events: none;
}

.btn-primary:hover {
	background: linear-gradient(180deg, #f6414a 0%, #e4282f 48%, #c1161d 100%);
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 14px 34px rgba(214, 31, 38, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.btn-primary:hover::after,
.btn-primary:hover::before {
	background-position: 0 0;
}

.btn-secondary {
	background: rgba(255, 255, 255, 0.02);
	color: var(--text);
	border-color: var(--border-strong);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}

.btn-secondary:hover {
	border-color: rgba(214, 31, 38, 0.5);
	color: var(--text);
	background: rgba(214, 31, 38, 0.08);
}

/* Motion */
.js-reveal {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity 0.7s var(--ease), transform 0.7s var(--ease);
}

.js-reveal.is-visible {
	opacity: 1;
	transform: none;
}

/* Staggered reveal: the container stays visible, its direct children rise in
   sequence once the observer marks the container .is-visible. */
.js-reveal--stagger {
	opacity: 1;
	transform: none;
}

.js-reveal--stagger > * {
	opacity: 0;
	transform: translateY(22px);
	transition: opacity 0.55s var(--ease), transform 0.55s var(--ease);
}

.js-reveal--stagger.is-visible > * {
	opacity: 1;
	transform: none;
}

.js-reveal--stagger.is-visible > :nth-child(1) { transition-delay: 0.04s; }
.js-reveal--stagger.is-visible > :nth-child(2) { transition-delay: 0.09s; }
.js-reveal--stagger.is-visible > :nth-child(3) { transition-delay: 0.14s; }
.js-reveal--stagger.is-visible > :nth-child(4) { transition-delay: 0.19s; }
.js-reveal--stagger.is-visible > :nth-child(5) { transition-delay: 0.24s; }
.js-reveal--stagger.is-visible > :nth-child(6) { transition-delay: 0.29s; }
.js-reveal--stagger.is-visible > :nth-child(7) { transition-delay: 0.34s; }
.js-reveal--stagger.is-visible > :nth-child(8) { transition-delay: 0.39s; }

@keyframes heroIn {
	from {
		opacity: 0;
		transform: translateY(24px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

.hero-animate {
	animation: heroIn 0.9s var(--ease) both;
}

.hero-animate .hero-brand { animation: heroIn 0.9s var(--ease) 0.05s both; }
.hero-animate h1 { animation: heroIn 0.9s var(--ease) 0.12s both; }
.hero-animate .hero-lead { animation: heroIn 0.9s var(--ease) 0.2s both; }
.hero-animate .hero-cta-group { animation: heroIn 0.9s var(--ease) 0.28s both; }
.hero-animate .hero-stats { animation: heroIn 0.9s var(--ease) 0.36s both; }

@media (prefers-reduced-motion: reduce) {
	.js-reveal,
	.hero-animate,
	.hero-animate *,
	.hero-media,
	.site-header,
	.menu-toggle .icon-bar,
	.mobile-nav-drawer,
	.woocommerce ul.products li.product img,
	.product-card-media img,
	.btn-primary,
	.btn-secondary,
	.jdm-sticky-cta,
	.product-card-skeleton,
	.arrivals-media img {
		animation: none !important;
		transition: none !important;
		opacity: 1 !important;
		transform: none !important;
	}

	.hero-media,
	.hero-brand::before {
		animation: none !important;
	}

	.faq-item::details-content {
		transition: none;
	}

	/* The button sweep (::before rim glint + ::after glass band) is
	   deliberately NOT disabled here: it is a one-shot 0.65s glint with no
	   movement of the element itself, and the owner's preview browser always
	   reports reduced-motion — the visible travel is the feature (2.5.11). */

	.woocommerce ul.products li.product:hover,
	.premium-add-to-cart:hover,
	.arrivals-tile:hover,
	.arrivals-tile:focus-visible {
		transform: none;
	}

	/* Staggered children render fully visible, no motion */
	.js-reveal--stagger,
	.js-reveal--stagger > * {
		animation: none !important;
		transition: none !important;
		opacity: 1 !important;
		transform: none !important;
	}

	.hero-media {
		animation: none !important;
		translate: none !important;
	}

	.product-card-skeleton {
		display: none !important;
	}

	.product-card-media img {
		opacity: 1 !important;
	}
}

/* --- Focus (keyboard) --- */
:focus {
	outline: none;
}

:focus-visible {
	outline: 2px solid var(--primary);
	outline-offset: 3px;
}

a:focus-visible,
button:focus-visible,
.btn-primary:focus-visible,
.btn-secondary:focus-visible,
.menu-toggle:focus-visible,
.premium-add-to-cart:focus-visible,
.woocommerce a.button:focus-visible,
.woocommerce button.button:focus-visible,
.woocommerce input.button:focus-visible,
.jdm-sticky-cta__btn:focus-visible,
.mobile-nav-menu a:focus-visible,
.mobile-nav-drawer__util:focus-visible,
.product-card-media:focus-visible,
.product-card-title-link:focus-visible,
.arrivals-spotlight:focus-visible,
.arrivals-tile:focus-visible,
.arrivals__view-all:focus-visible,
.section-link:focus-visible,
.header-util a:focus-visible,
.footer-links a:focus-visible,
.footer-social a:focus-visible {
	outline: 2px solid var(--primary);
	outline-offset: 3px;
}

.vehicle-filter-form select:focus-visible,
.jdm-search-field input:focus-visible,
.form-control:focus-visible,
.woocommerce form .form-row input.input-text:focus-visible,
.woocommerce form .form-row select:focus-visible,
.woocommerce form .form-row textarea:focus-visible,
.jdm-auth__form .input-text:focus-visible,
.woocommerce-account .woocommerce-Input:focus-visible,
.woocommerce-account input.input-text:focus-visible,
.woocommerce-checkout input:focus-visible,
.woocommerce-checkout select:focus-visible,
.woocommerce-checkout textarea:focus-visible,
.woocommerce-cart-form input:focus-visible {
	outline: 2px solid var(--primary);
	outline-offset: 2px;
	border-color: var(--primary) !important;
}

.woocommerce ul.products li.product:focus-within {
	border-color: var(--border-strong);
}

/* --- HEADER --- */
.site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	/* Padding must stay identical in the scrolled state: the header is sticky
	   (in flow), so animating its height reflows the whole page and the hero
	   jiggles against the scroll for the length of the transition. */
	padding: 1rem 0;
	background: rgba(10, 11, 13, 0.55);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border-bottom: 1px solid transparent;
	transition: background 0.3s var(--ease), border-color 0.3s var(--ease);
}

/* Red gradient hairline under the bar; intensifies once scrolled */
.site-header::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 1px;
	background: var(--hairline-red);
	opacity: 0.5;
	transition: opacity 0.3s var(--ease);
	pointer-events: none;
}

.site-header.is-scrolled {
	background: rgba(10, 11, 13, 0.92);
	border-bottom-color: var(--border);
	box-shadow: 0 14px 34px rgba(0, 0, 0, 0.42);
}

.site-header.is-scrolled::after {
	opacity: 1;
}

.header-container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
}

.logo-link,
.logo .custom-logo-link {
	display: inline-flex;
	align-items: center;
	line-height: 0;
}

.logo img,
.logo .custom-logo {
	height: 52px;
	width: auto;
	max-width: 200px;
	object-fit: contain;
	display: block;
}

/* Soft plate behind Customizer logos that still have a white bake-in */
.logo.has-light-plate .custom-logo-link {
	background: #fff;
	padding: 0.35rem 0.55rem;
	border-radius: var(--radius);
}

.nav-menu {
	display: flex;
	list-style: none;
	gap: 2rem;
}

.nav-menu a {
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--text-muted);
	padding: 0.35rem 0;
	position: relative;
}

.nav-menu a::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 1px;
	background: var(--primary);
	transition: width 0.3s var(--ease);
}

.nav-menu a:hover,
.nav-menu .current-menu-item a {
	color: var(--text);
}

.nav-menu a:hover::after,
.nav-menu .current-menu-item a::after {
	width: 100%;
}

.header-utilities {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.cart-icon,
.account-icon,
.account-link {
	width: 40px;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--text-muted);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	position: relative;
	background: transparent;
	text-decoration: none;
	gap: 0.55rem;
	transition: color 0.2s var(--ease), border-color 0.2s var(--ease), background 0.2s var(--ease);
}

.account-link {
	width: auto;
	height: auto;
	min-height: 40px;
	padding: 0.35rem 0.7rem 0.35rem 0.45rem;
}

.account-link__icon {
	width: 28px;
	height: 28px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.account-link__text {
	display: flex;
	flex-direction: column;
	line-height: 1.15;
	min-width: 0;
}

.account-link__label {
	font-size: 0.62rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--text-muted);
}

.account-link__name {
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--text);
	max-width: 9rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* Guest label reads SIGN IN to match the SIGN UP pill (logged-in names stay as-is) */
.account-link--guest .account-link__name {
	font-size: 0.78rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

/* Header "Sign up" pill (guests, registration enabled) */
.signup-link {
	display: inline-flex;
	align-items: center;
	height: 40px;
	padding: 0 0.95rem;
	border: 1px solid rgba(214, 31, 38, 0.5);
	border-radius: var(--radius);
	background: var(--primary-soft);
	color: var(--text);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background 0.2s var(--ease), border-color 0.2s var(--ease), color 0.2s var(--ease);
}

.signup-link:hover,
.signup-link:focus-visible {
	background: var(--primary);
	border-color: var(--primary);
	color: #fff;
}

@media (max-width: 560px) {
	.signup-link {
		height: 36px;
		padding: 0 0.7rem;
		font-size: 0.72rem;
	}
}

/* Small phones: the header holds logo + account + signup + cart + hamburger,
   which crowds 390px and wraps the signup pill to two lines. The mobile
   drawer already carries Sign in / Sign up / Cart / Call, so the header
   keeps icon-only account + cart + hamburger. */
@media (max-width: 560px) {
	.header-utilities {
		gap: 0.5rem;
	}

	.signup-link {
		display: none;
	}

	.account-link__text {
		display: none;
	}

	.account-link {
		width: 36px;
		height: 36px;
		min-height: 0;
		padding: 0;
		justify-content: center;
	}

	.account-link__icon {
		width: auto;
		height: auto;
	}

	.cart-icon {
		width: 36px;
		height: 36px;
	}

	.menu-toggle {
		width: 36px;
		height: 36px;
		padding: 10px 9px;
	}
}

.cart-icon:hover,
.account-icon:hover,
.account-link:hover {
	color: var(--text);
	border-color: var(--border-strong);
	background: rgba(255, 255, 255, 0.03);
}

.cart-count {
	position: absolute;
	top: -5px;
	right: -5px;
	min-width: 18px;
	height: 18px;
	padding: 0 4px;
	background: var(--primary);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	border-radius: 9px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.menu-toggle {
	display: none;
	flex-direction: column;
	justify-content: space-between;
	width: 40px;
	height: 40px;
	background: transparent;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	cursor: pointer;
	padding: 11px 10px;
	position: relative;
	z-index: 1003;
}

.menu-toggle .icon-bar {
	display: block;
	height: 2px;
	width: 100%;
	background: var(--text);
	transition: transform 0.25s var(--ease), opacity 0.25s var(--ease);
	border-radius: 1px;
}

.menu-toggle.active {
	border-color: var(--border-strong);
	background: rgba(255, 255, 255, 0.04);
}

.menu-toggle.active .icon-bar:nth-child(1) {
	transform: translateY(6px) rotate(45deg);
}

.menu-toggle.active .icon-bar:nth-child(2) {
	opacity: 0;
}

.menu-toggle.active .icon-bar:nth-child(3) {
	transform: translateY(-6px) rotate(-45deg);
}

/* Solid mobile panel — no see-through overlay on page content */
.mobile-nav-drawer {
	position: fixed;
	top: var(--header-h, 76px);
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1001;
	background: #0a0b0d;
	border-top: 1px solid var(--border);
	transform: translateX(100%);
	visibility: hidden;
	pointer-events: none;
	transition: transform 0.35s var(--ease), visibility 0.35s;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

.mobile-nav-drawer.active {
	transform: none;
	visibility: visible;
	pointer-events: auto;
}

.mobile-nav-drawer__inner {
	min-height: 100%;
	display: flex;
	flex-direction: column;
	padding: 1.25rem var(--container-pad) 2rem;
	background: #0a0b0d;
	background-image:
		radial-gradient(ellipse 80% 40% at 50% -10%, rgba(214, 31, 38, 0.12), transparent 55%);
}

.mobile-nav-menu {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 0;
	margin: 0;
	padding: 0;
}

.mobile-nav-menu a {
	display: block;
	padding: 1.05rem 0.15rem;
	font-family: var(--font-display);
	font-size: 1.35rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--text);
	border-bottom: 1px solid var(--border);
	text-decoration: none;
}

.mobile-nav-menu a:hover,
.mobile-nav-menu .current-menu-item a {
	color: var(--primary-hover);
}

.mobile-nav-drawer__utils {
	margin-top: auto;
	padding-top: 1.75rem;
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}

.mobile-nav-drawer__util {
	display: inline-flex;
	align-items: center;
	gap: 0.7rem;
	padding: 0.85rem 1rem;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	background: var(--bg-elevated);
	color: var(--text-body);
	font-size: 0.9rem;
	font-weight: 600;
	text-decoration: none;
}

.mobile-nav-drawer__util:hover {
	color: var(--text);
	border-color: var(--border-strong);
}

.mobile-nav-drawer__util--call {
	color: var(--text);
	border-color: rgba(214, 31, 38, 0.35);
	background: var(--primary-soft);
}

body.nav-open {
	overflow: hidden;
	touch-action: none;
}

body.nav-open .site-header {
	background: #0a0b0d;
	border-bottom-color: var(--border);
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

/* --- HERO --- */
.hero-section {
	position: relative;
	min-height: min(92vh, 820px);
	display: flex;
	align-items: flex-end;
	padding: clamp(5rem, 12vh, 8rem) 0 clamp(3.5rem, 8vh, 5.5rem);
	overflow: hidden;
}

.hero-media {
	position: absolute;
	/* Oversized vertically so the JS parallax (translate) never exposes an edge */
	inset: 0 0 auto 0;
	height: 118%;
	/* Honda Civic Type R (JDM) — local asset; Unsplash: photo-1572471372724 */
	background:
		url('assets/images/hero-jdm.jpg')
		center / cover no-repeat;
	transform: scale(1.02);
	animation: heroZoom 18s var(--ease) alternate infinite;
	will-change: transform, translate;
}

@keyframes heroZoom {
	from { transform: scale(1.02); }
	to { transform: scale(1.08); }
}

/* Film-grain texture over the photo */
.hero-section::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	opacity: 0.05;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.6'/%3E%3C/svg%3E");
}

.hero-overlay {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse 52% 70% at 6% 42%, rgba(214, 31, 38, 0.16), transparent 62%),
		linear-gradient(105deg, rgba(8, 9, 11, 0.96) 0%, rgba(8, 9, 11, 0.8) 48%, rgba(8, 9, 11, 0.46) 100%),
		/* Bottom dissolve must land on the solid page color, or the photo
		   clips as a hard line where the section ends. */
		linear-gradient(0deg, #0a0b0d 0%, rgba(10, 11, 13, 0.92) 9%, rgba(10, 11, 13, 0.45) 26%, transparent 48%);
}

.hero-inner {
	position: relative;
	z-index: 1;
	width: 100%;
}

.hero-content {
	max-width: 700px;
}

.hero-brand {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	padding: 0.5rem 0.95rem;
	border: 1px solid rgba(214, 31, 38, 0.4);
	background: rgba(214, 31, 38, 0.1);
	border-radius: 999px;
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	font-family: var(--font-display);
	font-size: clamp(0.78rem, 1.6vw, 0.92rem);
	font-weight: 800;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--text);
	margin-bottom: 1.4rem;
}

.hero-brand::before {
	content: '';
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--primary-hover);
	box-shadow: 0 0 12px rgba(240, 52, 59, 0.9);
	animation: jdmPulse 2.4s ease-in-out infinite;
}

@keyframes jdmPulse {
	0%, 100% { box-shadow: 0 0 6px rgba(240, 52, 59, 0.6); }
	50% { box-shadow: 0 0 16px rgba(240, 52, 59, 1); }
}

.hero-content h1 {
	font-size: clamp(2.4rem, 4.8vw, 3.9rem);
	font-weight: 700;
	line-height: 1.06;
	letter-spacing: -0.03em;
	text-wrap: balance;
	margin-bottom: 1.4rem;
	color: var(--text);
	text-shadow: 0 6px 40px rgba(0, 0, 0, 0.55);
}

.hero-lead {
	font-size: 1.125rem;
	color: #d7dae0;
	max-width: 36rem;
	margin-bottom: 2rem;
	line-height: 1.7;
}

.hero-cta-group {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem;
}

.hero-cta-group .btn-primary,
.hero-cta-group .btn-secondary {
	padding: 1.05rem 2rem;
}

@media (max-width: 480px) {
	.hero-cta-group .btn-primary,
	.hero-cta-group .btn-secondary {
		width: 100%;
		padding: 1rem 1.1rem;
		letter-spacing: 0.02em;
		white-space: nowrap;
	}
}

/* Section chrome */
.section-title {
	font-size: clamp(1.65rem, 3vw, 2.15rem);
	margin-bottom: 0.5rem;
}

.section-title--left {
	text-align: left;
}

.section-title::after {
	display: none;
}

.section-sub {
	color: var(--text-muted);
	font-size: 0.95rem;
	max-width: 36rem;
}

.eyebrow {
	/* About-style section label: light text + red gradient dash (user-picked
	   as the site-wide template). Was red-only until 2.4.5. */
	display: flex;
	align-items: center;
	gap: 0.85rem;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--text-body);
	margin-bottom: 0.75rem;
}

.eyebrow::after {
	content: '';
	flex: 0 0 auto;
	height: 1px;
	width: 64px;
	background: linear-gradient(90deg, var(--primary), transparent);
}

.section-header-row {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 1.5rem;
	margin-bottom: 2.5rem;
	flex-wrap: wrap;
}

.section-link {
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--text);
	white-space: nowrap;
}

.section-link:hover {
	color: var(--primary-hover);
}

/* Filter */
.vehicle-filter-section {
	padding: 0;
	margin-top: -2.5rem;
	position: relative;
	z-index: 2;
}

.filter-panel {
	position: relative;
	background: linear-gradient(180deg, rgba(23, 26, 35, 0.98), rgba(15, 17, 22, 0.98));
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-lg);
	padding: clamp(1.5rem, 3vw, 2rem);
	box-shadow: 0 30px 70px rgba(0, 0, 0, 0.5);
}

.filter-panel::before {
	content: '';
	position: absolute;
	top: 0;
	left: 10%;
	right: 10%;
	height: 1px;
	background: var(--hairline-red);
	pointer-events: none;
}

.filter-panel__intro {
	margin-bottom: 1.25rem;
}

.vehicle-filter-form {
	display: grid;
	grid-template-columns: 1.4fr repeat(3, 1fr) auto auto;
	gap: 0.75rem;
	align-items: stretch;
}

.jdm-search-field {
	grid-column: auto;
}

.vehicle-filter-form select,
.jdm-search-field input[type='search'],
.form-control {
	width: 100%;
	padding: 0.9rem 1rem;
	background: var(--bg-input);
	color: var(--text);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	font-family: var(--font-body);
	font-size: 0.9375rem;
	transition: border-color 0.2s var(--ease);
}

.vehicle-filter-form select {
	appearance: none;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a909c' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 14px;
	padding-right: 2.25rem;
	cursor: pointer;
}

.vehicle-filter-form select:focus,
.jdm-search-field input:focus,
.form-control:focus {
	outline: none;
	border-color: var(--primary);
	box-shadow: var(--ring-red);
}

.vehicle-filter-form select option,
.vehicle-filter-form optgroup option {
	background: #12141a;
	color: var(--text-body);
}

.vehicle-filter-form optgroup {
	color: var(--text-muted);
	font-weight: 700;
	font-style: normal;
}

.vehicle-filter-form .btn-primary {
	white-space: nowrap;
	height: 100%;
}

.shop-archive {
	padding: 1.25rem 0 4rem;
	min-height: 70vh;
}

.shop-archive .woocommerce-products-header {
	position: relative;
	margin-bottom: 1.75rem;
	padding: clamp(1.5rem, 3vw, 2.25rem) clamp(1.5rem, 3vw, 2.25rem) clamp(1.35rem, 3vw, 2rem);
	background:
		radial-gradient(ellipse 60% 120% at 0% 0%, rgba(214, 31, 38, 0.08), transparent 60%),
		linear-gradient(180deg, rgba(22, 25, 34, 0.6), rgba(22, 25, 34, 0.15));
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	overflow: hidden;
}

.shop-archive .woocommerce-products-header::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background: var(--hairline-red);
	opacity: 0.6;
}

.shop-archive .page-title {
	margin-bottom: 0.35rem;
}

.shop-loop-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1.25rem;
	margin: 1.25rem 0 1.5rem;
	padding: 0.85rem 0;
	border-top: 1px solid var(--border);
	border-bottom: 1px solid var(--border);
}

.shop-loop-bar .woocommerce-result-count {
	margin: 0;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--text-body);
}

.shop-loop-bar .woocommerce-ordering {
	margin: 0;
}

/* Shop pagination */
.shop-archive .woocommerce-pagination {
	margin-top: 2.25rem;
}

/* The UL also carries the .page-numbers class — keep the container plain so the
   numbers are never swallowed by the pill box styles. */
.shop-archive .woocommerce-pagination ul.page-numbers {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	border-radius: 0;
	min-width: 0;
	min-height: 0;
}

.shop-archive .woocommerce-pagination ul.page-numbers li {
	margin: 0;
}

.shop-archive .woocommerce-pagination ul.page-numbers li > .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.6rem;
	min-height: 2.6rem;
	padding: 0.45rem 0.8rem;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	background: var(--bg-panel);
	color: var(--text-body);
	font-size: 0.9rem;
	font-weight: 600;
	text-decoration: none;
	transition: border-color 0.25s var(--ease), color 0.25s var(--ease), background 0.25s var(--ease);
}

.shop-archive .woocommerce-pagination ul.page-numbers li > a.page-numbers:hover {
	border-color: rgba(214, 31, 38, 0.55);
	background: var(--primary-soft);
	color: var(--text);
}

.shop-archive .woocommerce-pagination ul.page-numbers li > .page-numbers.current {
	border-color: var(--primary);
	background: var(--primary);
	color: #ffffff;
}

.shop-archive .woocommerce-pagination ul.page-numbers li > .page-numbers.dots {
	background: none;
	border-color: transparent;
}

.jdm-shop-intro {
	margin: 0.35rem 0 1.25rem;
	max-width: 40rem;
	color: var(--text-muted);
	font-size: 0.95rem;
}

.jdm-filter-clear {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.65rem 0.9rem;
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--text-muted);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	text-decoration: none;
	white-space: nowrap;
}

.jdm-filter-clear:hover {
	color: var(--text);
	border-color: var(--border-strong);
}

.jdm-filter-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 0.85rem;
}

.jdm-filter-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.4rem 0.65rem;
	border-radius: 999px;
	border: 1px solid var(--border);
	background: rgba(255, 255, 255, 0.03);
	color: var(--text-body);
	font-size: 0.78rem;
	font-weight: 600;
	text-decoration: none;
}

.jdm-filter-chip:hover {
	border-color: rgba(214, 31, 38, 0.45);
	color: var(--text);
}

.jdm-filter-chip__x {
	opacity: 0.7;
	font-size: 1rem;
	line-height: 1;
}

.shop-archive .vehicle-filter-section {
	margin-top: 0;
	padding: 0;
}

.shop-archive .filter-panel {
	box-shadow: none;
}

/* Shared WooCommerce main column — matches header/footer .container */
.jdm-wc-main {
	padding-top: 0.5rem;
	padding-bottom: 3.5rem;
}

.single-product .jdm-wc-main .product {
	width: 100%;
	max-width: 100%;
}

.woocommerce-page .site-main,
.woocommerce .site-main {
	padding-bottom: 3rem;
}

/* Cart / checkout / account pages that render via page templates */
.woocommerce-cart .content-page__inner,
.woocommerce-checkout .content-page__inner,
.woocommerce-account .content-page__inner {
	max-width: var(--container);
}

/* Trust strip — editorial, not cardy */
.trust-strip {
	padding: 3rem 0;
	border-top: 1px solid var(--border);
}

.trust-strip__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
}

.trust-strip__item {
	display: flex;
	gap: 1rem;
	align-items: flex-start;
	padding: 0;
	background: none;
	border: none;
}

.trust-strip__icon {
	width: 42px;
	height: 42px;
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	color: var(--primary);
	font-size: 1rem;
	transition: transform 0.3s var(--ease), border-color 0.3s var(--ease), background 0.3s var(--ease), box-shadow 0.3s var(--ease);
}

.trust-strip__item:hover .trust-strip__icon {
	transform: translateY(-3px);
	border-color: rgba(214, 31, 38, 0.5);
	background: var(--primary-soft);
	box-shadow: 0 0 26px rgba(214, 31, 38, 0.28);
}

.trust-strip__item:hover strong {
	color: #fff;
}

.trust-strip__item strong {
	display: block;
	font-family: var(--font-display);
	font-size: 0.95rem;
	color: var(--text);
	margin-bottom: 0.25rem;
	letter-spacing: -0.01em;
	text-transform: none;
}

.trust-strip__item span {
	font-size: 0.875rem;
	color: var(--text-muted);
	line-height: 1.5;
}

/* New Arrivals — spotlight + rail (homepage only) */
.arrivals {
	position: relative;
	padding: var(--space-section) 0;
	overflow: hidden;
	border-top: 1px solid var(--border);
}

.arrivals__atmosphere {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(ellipse 70% 55% at 12% 30%, rgba(214, 31, 38, 0.09), transparent 55%),
		radial-gradient(ellipse 50% 40% at 88% 70%, rgba(255, 255, 255, 0.03), transparent 50%);
}

.arrivals__intro {
	position: relative;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1.5rem 2rem;
	flex-wrap: wrap;
	margin-bottom: 2rem;
}

.arrivals__intro-copy .section-title {
	margin-bottom: 0.35rem;
}

.arrivals__intro-copy .section-sub {
	margin: 0;
	max-width: 36rem;
}

.arrivals__view-all {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.75rem 1.15rem;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--text);
	text-decoration: none;
	transition: border-color 0.2s var(--ease), color 0.2s var(--ease), background 0.2s var(--ease);
}

.arrivals__view-all:hover {
	border-color: rgba(214, 31, 38, 0.55);
	color: var(--primary-hover);
	background: rgba(214, 31, 38, 0.06);
}

/* eBay chip sits beside "View all inventory" — accent-pill treatment (the
   SIGN UP language: red tint + red border, solid red on hover) so the sales
   channel pops instead of reading as a second plain button */
.arrivals__actions {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	flex-wrap: wrap;
}

.arrivals__view-all--ebay {
	background: var(--primary-soft);
	border-color: rgba(214, 31, 38, 0.5);
}

.arrivals__view-all--ebay i {
	font-size: 1rem;
	/* The four-color eBay wordmark, same treatment as the footer glyph */
	background: linear-gradient(90deg, #e53238 0%, #e53238 25%, #0064d2 25%, #0064d2 50%, #f5af02 50%, #f5af02 75%, #86b817 75%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	transition: color 0.2s var(--ease);
}

.arrivals__view-all--ebay:hover,
.arrivals__view-all--ebay:focus-visible {
	background: var(--primary);
	border-color: var(--primary);
	color: #fff;
}

.arrivals__view-all--ebay:hover i,
.arrivals__view-all--ebay:focus-visible i {
	background: none;
	-webkit-background-clip: border-box;
	background-clip: border-box;
	color: #fff;
}

.arrivals__layout {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
	gap: 1.25rem 1.5rem;
	align-items: stretch;
}

.arrivals-spotlight {
	position: relative;
	display: block;
	border-radius: var(--radius-lg);
	overflow: hidden;
	min-height: 28rem;
	text-decoration: none;
	color: inherit;
	background: var(--bg-elevated);
	isolation: isolate;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
}

.arrivals-spotlight:hover {
	box-shadow: 0 30px 74px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(214, 31, 38, 0.25);
}

.arrivals-spotlight:hover .arrivals-media img {
	transform: scale(1.04);
}

.arrivals-media {
	position: absolute;
	inset: 0;
	display: block;
	background: #0e1014;
}

.arrivals-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 62%;
	/* Studio shots read as a white wall on the dark theme — a light grade
	   pulls the backdrop toward gray so the unit stays the subject. */
	filter: brightness(0.94) contrast(1.06);
	opacity: 0;
	transition: opacity 0.4s var(--ease), transform 0.7s var(--ease);
}

/* The spotlight crop is wide, and the studio shots put the unit low in frame —
   enlarge the photo and anchor it to the tile's bottom so the engine fills the
   spotlight instead of the empty backdrop above it. */
.arrivals-spotlight .arrivals-media img {
	height: 150%;
	margin-top: -50%;
	object-position: 50% 100%;
}

.arrivals-media.is-loaded img,
.arrivals-media img.is-loaded {
	opacity: 1;
}

.arrivals-media .product-card-skeleton {
	z-index: 1;
}

.arrivals-media.is-loaded .product-card-skeleton {
	opacity: 0;
	visibility: hidden;
}

.arrivals-spotlight::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(
		180deg,
		rgba(10, 11, 13, 0.30) 0%,
		rgba(10, 11, 13, 0.22) 40%,
		rgba(10, 11, 13, 0.94) 100%
	);
	pointer-events: none;
}

.arrivals-spotlight__body {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	padding: 1.75rem 1.75rem 1.65rem;
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}

.arrivals-spotlight__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
}

.arrivals-tag {
	display: inline-flex;
	align-items: center;
	padding: 0.28rem 0.55rem;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	border-radius: var(--radius);
	border: 1px solid var(--border-strong);
	background: rgba(10, 11, 13, 0.55);
	backdrop-filter: blur(8px);
	color: var(--text);
}

.arrivals-tag--new {
	border-color: rgba(214, 31, 38, 0.55);
	color: #fff;
	background: rgba(214, 31, 38, 0.85);
}

.arrivals-tag--muted {
	color: var(--text-muted);
	font-weight: 600;
}

.arrivals-spotlight__title {
	font-family: var(--font-display);
	font-size: clamp(1.35rem, 2.4vw, 1.85rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.2;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	overflow: hidden;
	color: #fff;
}

.arrivals-spotlight__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-top: 0.25rem;
}

.arrivals-price {
	font-family: var(--font-display);
	font-size: 1.25rem;
	font-weight: 700;
	color: #fff;
}

.arrivals-price del {
	opacity: 0.45;
	font-size: 0.85em;
	margin-right: 0.35rem;
}

.arrivals-price .amount {
	color: inherit;
}

.arrivals-cta {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--text);
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	opacity: 0.9;
}

.arrivals-spotlight:hover .arrivals-cta {
	color: var(--primary-hover);
	opacity: 1;
}

.arrivals-rail-wrap {
	display: flex;
	flex-direction: column;
	min-height: 0;
	min-width: 0;
}

.arrivals-rail-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 0.85rem;
}

.arrivals-rail-head__label {
	margin: 0;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--text-muted);
}

.arrivals-rail-nav {
	display: flex;
	gap: 0.4rem;
}

.arrivals-rail-nav__btn {
	width: 2.25rem;
	height: 2.25rem;
	border-radius: var(--radius);
	border: 1px solid var(--border-strong);
	background: var(--bg-panel);
	color: var(--text);
	font-size: 1.25rem;
	line-height: 1;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: border-color 0.2s var(--ease), background 0.2s var(--ease);
}

.arrivals-rail-nav__btn:hover:not(:disabled) {
	border-color: rgba(214, 31, 38, 0.55);
	background: rgba(214, 31, 38, 0.08);
	color: #fff;
}

.arrivals-rail-nav__btn:disabled {
	opacity: 0.35;
	cursor: default;
}

.arrivals-rail {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	overflow: auto;
	max-height: 28rem;
	padding-right: 0.25rem;
	scroll-snap-type: y mandatory;
	scrollbar-width: thin;
	scrollbar-color: rgba(255, 255, 255, 0.15) transparent;
}

.arrivals-tile {
	display: grid;
	grid-template-columns: 7.5rem minmax(0, 1fr);
	gap: 0.9rem;
	align-items: stretch;
	padding: 0.55rem;
	border-radius: var(--radius-lg);
	border: 1px solid var(--border);
	background: rgba(18, 20, 26, 0.72);
	text-decoration: none;
	color: inherit;
	scroll-snap-align: start;
	transition: border-color 0.2s var(--ease), background 0.2s var(--ease), transform 0.25s var(--ease), box-shadow 0.25s var(--ease);
	flex-shrink: 0;
}

.arrivals-tile:hover,
.arrivals-tile:focus-visible {
	border-color: rgba(214, 31, 38, 0.4);
	background: rgba(22, 25, 34, 0.95);
	transform: translateY(-3px);
	box-shadow: 0 14px 34px rgba(0, 0, 0, 0.38);
}

.arrivals-media--tile {
	position: relative;
	inset: auto;
	aspect-ratio: 1;
	border-radius: var(--radius);
	overflow: hidden;
	flex-shrink: 0;
}

.arrivals-media--tile img {
	transition: opacity 0.35s var(--ease), transform 0.5s var(--ease);
}

.arrivals-tile:hover .arrivals-media--tile img {
	transform: scale(1.05);
}

.arrivals-tile__meta {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 0.2rem;
	min-width: 0;
	padding: 0.15rem 0.35rem 0.15rem 0;
}

.arrivals-tile__make {
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--primary-hover);
}

.arrivals-tile__title {
	font-family: var(--font-display);
	font-size: 0.95rem;
	font-weight: 650;
	line-height: 1.25;
	letter-spacing: -0.01em;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	overflow: hidden;
	color: var(--text);
}

.arrivals-tile__foot {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.5rem;
	margin-top: 0.35rem;
}

.arrivals-tile .arrivals-price {
	font-size: 1rem;
	color: var(--text);
}

.arrivals-tile__sku {
	font-size: 0.72rem;
	color: var(--text-muted);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 45%;
}

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

	.arrivals-spotlight {
		min-height: 22rem;
	}

	.arrivals-rail-nav {
		display: none;
	}

	.arrivals-rail {
		flex-direction: row;
		max-height: none;
		overflow-x: auto;
		overflow-y: hidden;
		gap: 0.85rem;
		padding-right: 0;
		padding-bottom: 0.35rem;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
	}

	.arrivals-tile {
		grid-template-columns: 1fr;
		width: min(72vw, 16.5rem);
		flex: 0 0 auto;
		padding: 0;
		overflow: hidden;
	}

	.arrivals-media--tile {
		aspect-ratio: 4 / 3;
		border-radius: var(--radius-lg) var(--radius-lg) 0 0;
	}

	.arrivals-tile__meta {
		padding: 0.85rem 1rem 1rem;
	}
}

/* Legacy class kept harmless if referenced */
.new-arrivals-section {
	padding: var(--space-section) 0;
}

.new-arrivals-grid {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.new-arrivals-grid .product {
	width: 100% !important;
	margin: 0 !important;
	height: 100%;
	display: flex;
}

/* Custom product card — equal row heights (shop / related) */
.woocommerce ul.products li.product-card {
	padding: 0;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 100%;
}

.product-card-media {
	display: block;
	position: relative;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	background: #0e1014;
	flex-shrink: 0;
}

/* Depth gradient over card imagery */
.product-card-media::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 42%;
	background: linear-gradient(0deg, rgba(10, 11, 13, 0.55), transparent);
	pointer-events: none;
	z-index: 1;
}

/* No-image products: tint the WooCommerce placeholder so the state reads intentional */
.product-card-media img[src*="placeholder"],
.woocommerce div.product div.images img[src*="placeholder"],
.arrivals-media img[src*="placeholder"] {
	filter: saturate(0.18) brightness(0.62) contrast(1.06);
}

/* Branded "photo coming soon" panel — replaces the raw placeholder markup */
.product-card-media--empty,
.arrivals-media--empty {
	background:
		radial-gradient(ellipse 80% 60% at 50% 38%, rgba(214, 31, 38, 0.07), transparent 65%),
		repeating-linear-gradient(-45deg, rgba(255, 255, 255, 0.016) 0 12px, transparent 12px 24px),
		#101218;
}

.product-card-media--empty .product-card-skeleton,
.arrivals-media--empty .product-card-skeleton {
	display: none;
}

.product-card-empty {
	position: absolute;
	inset: 0;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.6rem;
	color: var(--text-muted);
	text-align: center;
	padding: 1rem;
}

.product-card-empty i {
	font-size: 1.9rem;
	color: rgba(214, 31, 38, 0.45);
}

.product-card-empty span {
	font-size: 0.66rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.product-card-empty--lg i {
	font-size: 3.2rem;
}

.product-card-empty--lg span {
	font-size: 0.78rem;
}

/* Single-product gallery empty panel (filtered in PHP) */
.jdm-gallery-empty {
	aspect-ratio: 1 / 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	color: var(--text-muted);
	text-align: center;
	background:
		radial-gradient(ellipse 80% 60% at 50% 38%, rgba(214, 31, 38, 0.07), transparent 65%),
		repeating-linear-gradient(-45deg, rgba(255, 255, 255, 0.016) 0 12px, transparent 12px 24px),
		#101218;
}

.jdm-gallery-empty i {
	font-size: 3rem;
	color: rgba(214, 31, 38, 0.45);
}

.jdm-gallery-empty span {
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.product-card-skeleton {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(
		90deg,
		#12141a 0%,
		#1a1d27 45%,
		#12141a 90%
	);
	background-size: 200% 100%;
	animation: jdmSkeleton 1.15s ease-in-out infinite;
	pointer-events: none;
	transition: opacity 0.35s var(--ease);
}

.product-card-media.is-loaded .product-card-skeleton {
	opacity: 0;
	visibility: hidden;
}

.product-card-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity 0.35s var(--ease), transform 0.55s var(--ease);
}

.product-card-media.is-loaded img,
.product-card-media img.is-loaded {
	opacity: 1;
}

@keyframes jdmSkeleton {
	0% { background-position: 100% 0; }
	100% { background-position: -100% 0; }
}

.condition-badge {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 2;
	background: rgba(10, 11, 13, 0.68);
	backdrop-filter: blur(8px);
	border: 1px solid rgba(255, 255, 255, 0.16);
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4);
	color: var(--text);
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 0.35rem 0.55rem;
	border-radius: var(--radius);
}

.product-card-details {
	padding: 1.15rem 1.2rem 1.25rem;
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	gap: 0.25rem;
	min-height: 0;
}

.product-card-fitment {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--primary-hover);
}

.product-card-title {
	font-size: 1.05rem !important;
	margin: 0 !important;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	overflow: hidden;
	min-height: calc(1.3em * 2);
	line-height: 1.3;
}

.product-card-title-link:hover .product-card-title {
	color: var(--primary-hover);
}

/* Structured card heading: make → models → years → part code */
.pc-make {
	display: block;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--primary-hover);
}

.pc-models {
	font-size: 1.02rem !important;
	/* margin must stay 0: any top offset pushes line 2 past the 2-line cap and slices it */
	margin: 0 !important;
	color: var(--text);
	font-weight: 700;
	line-height: 1.3;
	/* Chrome 146 removed the legacy -webkit-box display (line-clamp is dead),
	   so cap with max-height. Extra 0.45em: the Syne display font paints ink
	   below its line box — without headroom the second line's bottom is sliced. */
	overflow: hidden;
	max-height: calc(1.3em * 2 + 0.45em);
}

.product-card-title-link:hover .pc-models {
	color: var(--primary-hover);
}

.pc-years {
	display: block;
	margin-top: 0.3rem;
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--text-muted);
}

.pc-code {
	display: inline-block;
	margin-top: 0.45rem;
	padding: 0.15rem 0.5rem;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius);
	background: var(--bg-input);
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: var(--text);
}

.product-card-sku {
	font-size: 0.78rem;
	color: var(--text-muted);
	margin-bottom: 0.75rem;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.product-card-action-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0.75rem;
	margin-top: auto;
	padding-top: 0.5rem;
}

.product-card-price {
	font-family: var(--font-display);
	font-size: 1.05rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	color: var(--text);
}

.product-card-price .amount {
	color: var(--text) !important;
}

.premium-add-to-cart {
	margin-top: 0 !important;
	width: auto !important;
	flex-grow: 0 !important;
	padding: 0.55rem 0.95rem !important;
	font-size: 0.72rem !important;
	background: linear-gradient(180deg, #ef2f36 0%, #d61f26 48%, #b5121a 100%) !important;
	box-shadow: 0 6px 18px rgba(214, 31, 38, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.18);
	transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease) !important;
}

.premium-add-to-cart:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(214, 31, 38, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.out-of-stock-badge {
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid var(--border);
	color: var(--text-muted);
	padding: 0.45rem 0.75rem;
	border-radius: var(--radius);
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

/* About */
.about-section {
	padding: var(--space-section) 0;
	border-top: 1px solid var(--border);
	scroll-margin-top: calc(var(--header-h, 76px) + 16px);
}

.about-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(2rem, 5vw, 4rem);
	align-items: center;
}

.about-text p {
	margin-bottom: 1.15rem;
	color: var(--text-body);
}

.about-text .section-link {
	display: inline-flex;
	margin-top: 0.5rem;
}

.about-image {
	position: relative;
	overflow: hidden;
	border-radius: var(--radius-lg);
	aspect-ratio: 4 / 3;
	outline: 1px solid rgba(214, 31, 38, 0.28);
	outline-offset: 12px;
	transition: outline-offset 0.5s var(--ease);
}

.about-image:hover {
	outline-offset: 7px;
}

.about-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.8s var(--ease);
}

.about-image:hover img {
	transform: scale(1.04);
}

/* FAQ */
.faq-section {
	padding: var(--space-section) 0 calc(var(--space-section) * 0.6);
	border-top: 1px solid var(--border);
}

/* FAQ — intro copy on the left, single-column accordion on the right
   (2-column accordion grid looked ragged; single list keeps heights stable) */
.faq-layout {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: clamp(2rem, 5vw, 4rem);
	align-items: start;
}

.faq-list {
	display: grid;
	gap: 0.85rem;
}

.faq-item {
	background: var(--bg-panel);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	overflow: hidden;
	transition: border-color 0.25s var(--ease);
}

.faq-item:hover,
.faq-item[open] {
	border-color: var(--border-strong);
}

.faq-item[open] {
	border-color: rgba(214, 31, 38, 0.42);
	box-shadow: 0 14px 36px rgba(0, 0, 0, 0.38);
}

.faq-item__q {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.1rem 1.25rem;
	cursor: pointer;
	list-style: none;
	color: var(--text);
	font-weight: 600;
	font-size: 0.95rem;
	line-height: 1.4;
}

.faq-item__q::-webkit-details-marker {
	display: none;
}

.faq-item__icon {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.5rem;
	height: 1.5rem;
	border-radius: 50%;
	border: 1px solid var(--border-strong);
	color: var(--primary);
	font-size: 1rem;
	line-height: 1;
	transition: transform 0.25s var(--ease);
}

.faq-item[open] .faq-item__icon {
	transform: rotate(45deg);
	background: var(--primary);
	border-color: var(--primary);
	color: #fff;
}

.faq-item__a {
	padding: 0 1.25rem 1.15rem;
	color: var(--text-muted);
	font-size: 0.9rem;
	line-height: 1.6;
}

/* Smooth expand/collapse — Chromium interpolates <details> content height;
   other browsers fall back to an instant open (fully functional). */
@supports (interpolate-size: allow-keywords) {
	:root {
		interpolate-size: allow-keywords;
	}

	.faq-item::details-content {
		opacity: 0;
		height: 0;
		overflow: hidden;
		transition:
			content-visibility 0.4s allow-discrete,
			opacity 0.4s var(--ease),
			height 0.4s var(--ease);
	}

	.faq-item[open]::details-content {
		opacity: 1;
		height: auto;
	}
}

/* Reviews — rating panel + curated quotes (docs/REVIEWS_SETUP.md §2.1).
   No review schema emitted here by design: the aggregate is a manual
   snapshot, not API-fed. */
.reviews-section {
	padding: var(--space-section) 0;
	border-top: 1px solid var(--border);
}

.reviews-layout {
	display: grid;
	grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
	gap: 1.25rem;
	margin-top: 2.25rem;
	align-items: stretch;
}

.reviews-panel {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 0.8rem;
	padding: 2.25rem;
	background:
		linear-gradient(160deg, rgba(214, 31, 38, 0.16), rgba(22, 25, 34, 0.9) 55%),
		var(--bg-panel);
	border: 1px solid rgba(214, 31, 38, 0.35);
	border-radius: var(--radius-lg);
}

.reviews-panel__label {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	color: var(--text-body);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.reviews-panel__score {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 4rem;
	line-height: 1;
	color: var(--text);
}

.reviews-panel__stars {
	display: inline-flex;
	gap: 0.15rem;
	color: #fbbc04;
	font-size: 1.05rem;
}

.reviews-panel__count {
	color: var(--text-muted);
	font-size: 0.9rem;
}

.reviews-panel .btn-primary {
	margin-top: 0.6rem;
}

.reviews-panel__all {
	color: var(--text-muted);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
	transition: color 0.2s var(--ease);
}

.reviews-panel__all:hover {
	color: var(--text);
}

.reviews-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.25rem;
}

.review-card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 0.8rem;
	margin: 0;
	padding: 1.5rem 1.4rem 1.35rem;
	background: var(--bg-panel);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	transition: border-color 0.25s var(--ease), transform 0.25s var(--ease), box-shadow 0.25s var(--ease);
}

.review-card:hover {
	border-color: var(--border-strong);
	transform: translateY(-3px);
	box-shadow: 0 16px 36px rgba(0, 0, 0, 0.38);
}

/* Oversized decorative quote mark, brand-tinted */
.review-card::before {
	content: '\201C';
	position: absolute;
	top: 0.5rem;
	right: 1.1rem;
	font-family: var(--font-display);
	font-size: 3rem;
	line-height: 1;
	color: rgba(214, 31, 38, 0.30);
	pointer-events: none;
}

.review-card__stars {
	display: inline-flex;
	gap: 0.2rem;
	color: #fbbc04;
	font-size: 0.8rem;
}

.review-card__quote {
	margin: 0;
	color: var(--text-body);
	font-size: 0.88rem;
	line-height: 1.6;
	flex: 1 1 auto;
}

.review-card__meta {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	margin-top: auto;
	padding-top: 0.75rem;
	border-top: 1px solid var(--border);
}

.review-card__avatar {
	width: 2rem;
	height: 2rem;
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--primary-soft);
	border: 1px solid rgba(214, 31, 38, 0.35);
	color: var(--primary-hover);
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 0.85rem;
}

.review-card__id {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	min-width: 0;
}

.review-card__name {
	color: var(--text);
	font-weight: 600;
	font-size: 0.88rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.review-card__src {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	color: var(--text-muted);
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

@media (max-width: 900px) {
	.reviews-layout {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.reviews-grid {
		grid-template-columns: 1fr;
	}
}

/* Terms */
.terms-section {
	padding: var(--space-section) 0;
	background:
		radial-gradient(ellipse at top left, rgba(214, 31, 38, 0.06), transparent 50%),
		var(--bg);
	border-top: 1px solid var(--border);
}

.terms-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}

.terms-card {
	position: relative;
	padding: 1.75rem 0 0;
	border-top: 2px solid var(--primary);
	background: none;
	border-radius: 0;
	box-shadow: none;
	border-left: none;
	border-right: none;
	border-bottom: none;
}

/* Gradient fade on the top rule */
.terms-card::before {
	content: '';
	position: absolute;
	top: -2px;
	left: 0;
	right: 30%;
	height: 2px;
	background: linear-gradient(90deg, var(--primary), rgba(214, 31, 38, 0));
}

.terms-card.warning::before {
	background: linear-gradient(90deg, #c9a227, rgba(201, 162, 39, 0));
}

.terms-card:hover {
	transform: none;
	box-shadow: none;
}

.terms-card h3 {
	font-size: 1.05rem;
	margin-bottom: 1.25rem;
	display: flex;
	align-items: center;
	gap: 0.65rem;
}

.terms-card h3 i {
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	background: var(--primary-soft);
	border: 1px solid rgba(214, 31, 38, 0.32);
	color: var(--primary);
	font-size: 0.95rem;
}

.terms-card.warning h3 i {
	background: rgba(201, 162, 39, 0.12);
	border-color: rgba(201, 162, 39, 0.35);
	color: #e0c35a;
}

.terms-card ul {
	list-style: none;
}

.terms-card li {
	position: relative;
	padding-left: 1.15rem;
	margin-bottom: 0.85rem;
	font-size: 0.9rem;
	color: var(--text-muted);
	line-height: 1.55;
}

.terms-card li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--primary);
}

.terms-card.warning li::before {
	background: #c9a227;
}

.terms-card li.warn-note {
	color: #e0c35a;
	font-weight: 600;
}

.terms-cta {
	text-align: center;
	margin-top: 2.5rem;
}

/* Contact page */
.contact-section,
.contact-page {
	padding: var(--space-section) 0;
}

.contact-page .contact-page__header {
	margin-bottom: 2.5rem;
	max-width: 40rem;
}

.contact-page .page-intro {
	color: var(--text-muted);
	max-width: 40rem;
	margin: 0.35rem 0 0;
	text-align: left;
}

.jdm-contact-notice {
	background: var(--primary-soft);
	border: 1px solid rgba(214, 31, 38, 0.35);
	color: var(--text);
	padding: 0.9rem 1.15rem;
	border-radius: var(--radius);
	margin-bottom: 1.5rem;
	text-align: left;
}

.form-intro {
	margin-bottom: 1.25rem;
	font-size: 0.9rem;
	color: var(--text-muted);
}

.jdm-hp {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	border: 0 !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.contact-form__submit {
	width: 100%;
}

.contact-grid {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: clamp(2rem, 4vw, 3.5rem);
}

.contact-form-container {
	background: var(--bg-elevated);
	padding: clamp(1.75rem, 3vw, 2.5rem);
	border-radius: var(--radius-lg);
	border: 1px solid var(--border);
}

.contact-form-container h2,
.contact-form-container h3 {
	font-size: 1.35rem;
	margin-bottom: 0.75rem;
}

.form-group {
	margin-bottom: 1.25rem;
}

.form-group label {
	display: block;
	margin-bottom: 0.45rem;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--text-muted);
}

.contact-info {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.info-block h3 {
	font-size: 1.1rem;
	padding-bottom: 0.75rem;
	margin-bottom: 1rem;
	border-bottom: 1px solid var(--border);
}

.info-block p,
.info-block a {
	color: var(--text-muted);
}

.info-block a:hover {
	color: var(--primary-hover);
}

.info-block i {
	color: var(--primary);
	margin-right: 0.5rem;
}

.hours-list {
	list-style: none;
}

.hours-list li {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.75rem 0;
	border-bottom: 1px solid var(--border);
	font-size: 0.9375rem;
	color: var(--text-muted);
}

.hours-list li span:last-child {
	color: var(--text);
	font-weight: 600;
}

/* Footer */
.site-footer {
	position: relative;
	background: #060708;
	padding: 3.5rem 0 1.75rem;
	border-top: 1px solid var(--border);
	color: var(--text-muted);
	font-size: 0.9rem;
}

.site-footer::before {
	content: '';
	position: absolute;
	top: -1px;
	left: 15%;
	right: 15%;
	height: 1px;
	background: var(--hairline-red);
	opacity: 0.5;
}

.footer-grid {
	display: grid;
	grid-template-columns: 1.3fr 1.05fr 0.7fr 1.25fr;
	gap: 2rem;
	margin-bottom: 2rem;
}

.footer-heading {
	font-family: var(--font-body);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--text);
	margin: 0 0 1rem;
}

.footer-brand strong {
	display: block;
	font-family: var(--font-display);
	font-size: 1.3rem;
	letter-spacing: 0.01em;
	color: var(--text);
	margin-bottom: 0.75rem;
}

.footer-brand p,
.footer-contact p {
	margin-bottom: 0.5rem;
	line-height: 1.6;
}

.footer-contact a {
	color: var(--text);
	font-weight: 600;
}

.footer-links {
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}

.footer-links a {
	color: var(--text-muted);
}

.footer-links a:hover,
.footer-contact a:hover {
	color: var(--text);
}

.footer-directions {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
}

.footer-hours ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.footer-hours li {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.55rem 0;
	border-bottom: 1px solid var(--border);
}

.footer-hours li:last-child {
	border-bottom: 0;
}

.footer-hours li span:first-child {
	color: var(--text-muted);
	white-space: nowrap;
}

.footer-hours li span:last-child {
	color: var(--text);
	font-weight: 600;
	text-align: right;
	white-space: nowrap;
}

.footer-copy {
	border-top: 1px solid var(--border);
	padding-top: 1.25rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem 2rem;
	flex-wrap: wrap;
}

.footer-copy p {
	margin: 0;
}

.footer-payments {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.55rem;
}

.footer-payments li {
	font-size: 1.65rem;
	line-height: 1;
	color: var(--text-muted);
	transition: color 0.25s var(--ease);
}

.footer-payments li:hover {
	color: var(--text);
}

@media (max-width: 1024px) {
	.footer-grid {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 640px) {
	.footer-grid {
		grid-template-columns: 1fr;
	}

	.footer-copy {
		flex-direction: column;
		align-items: flex-start;
	}
}

.footer-social {
	display: flex;
	gap: 0.65rem;
	margin-top: 1rem;
}

.footer-social a {
	width: 42px;
	height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	color: var(--text-muted);
	transition: color 0.25s var(--ease), border-color 0.25s var(--ease), background 0.25s var(--ease), transform 0.25s var(--ease);
}

.footer-social a:hover {
	color: #fff;
	border-color: rgba(214, 31, 38, 0.55);
	background: var(--primary-soft);
	transform: translateY(-2px);
}

/* Brand-colored icons (per-profile class from the footer loop). Hover keeps
   the theme's white-icon-on-red-tint chip language. */
.footer-social a i {
	font-size: 1.125rem;
	transition: color 0.25s var(--ease);
}

.footer-social .footer-social__facebook i {
	color: #1877f2;
}

.footer-social .footer-social__instagram i {
	color: #e4405f;
}

.footer-social .footer-social__youtube i {
	color: #ff0000;
}

/* eBay's wordmark is four-color — reproduce it on the glyph with a clipped
   gradient instead of one flat tone */
.footer-social .footer-social__ebay i {
	background: linear-gradient(90deg, #e53238 0%, #e53238 25%, #0064d2 25%, #0064d2 50%, #f5af02 50%, #f5af02 75%, #86b817 75%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.footer-social a:hover i {
	color: #fff;
}

.footer-social a:hover.footer-social__ebay i {
	background: none;
	-webkit-background-clip: border-box;
	background-clip: border-box;
	color: #fff;
}

/* Product share — brand-tinted so icons read on dark UI */
.jdm-product-share {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-top: 1.75rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--border);
	flex-wrap: wrap;
}

.jdm-product-share__label {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--text-muted);
}

.jdm-product-share__list {
	display: flex;
	list-style: none;
	gap: 0.55rem;
	margin: 0;
	padding: 0;
}

.jdm-share-btn {
	width: 40px;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--radius);
	background: var(--bg-panel);
	border: 1px solid var(--border-strong);
	color: var(--text);
	font-size: 1rem;
	transition: background 0.2s var(--ease), color 0.2s var(--ease), border-color 0.2s var(--ease), transform 0.2s var(--ease);
}

.jdm-share-btn:hover {
	transform: translateY(-1px);
	color: #fff;
}

/* Facebook */
.jdm-share-btn--facebook {
	color: #4c8ef5;
	border-color: rgba(24, 119, 242, 0.45);
	background: rgba(24, 119, 242, 0.12);
}
.jdm-share-btn--facebook:hover {
	background: #1877f2;
	border-color: #1877f2;
	color: #fff;
}

/* X — white glyph on charcoal so it pops on dark theme (black X vanishes otherwise) */
.jdm-share-btn--twitter,
.jdm-share-btn--x {
	color: #f5f5f5;
	background: #1a1a1a;
	border-color: rgba(255, 255, 255, 0.28);
}
.jdm-share-btn--twitter:hover,
.jdm-share-btn--x:hover {
	background: #fff;
	border-color: #fff;
	color: #0a0a0a;
}

/* LinkedIn */
.jdm-share-btn--linkedin {
	color: #4da3e8;
	border-color: rgba(10, 102, 194, 0.45);
	background: rgba(10, 102, 194, 0.12);
}
.jdm-share-btn--linkedin:hover {
	background: #0a66c2;
	border-color: #0a66c2;
	color: #fff;
}

/* WhatsApp */
.jdm-share-btn--whatsapp {
	color: #3ddc84;
	border-color: rgba(37, 211, 102, 0.45);
	background: rgba(37, 211, 102, 0.12);
}
.jdm-share-btn--whatsapp:hover {
	background: #25d366;
	border-color: #25d366;
	color: #fff;
}

/* Email */
.jdm-share-btn--email {
	color: var(--primary-hover);
	border-color: rgba(214, 31, 38, 0.4);
	background: var(--primary-soft);
}
.jdm-share-btn--email:hover {
	background: var(--primary);
	border-color: var(--primary);
	color: #fff;
}

/* CMS pages */
.content-page {
	padding: 4rem 0 5.5rem;
	min-height: 60vh;
}

.content-page__inner {
	max-width: 760px;
}

.content-page__article {
	background: var(--bg-elevated);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	padding: 2.5rem;
}

.content-page__header .section-title {
	text-align: left;
	margin-bottom: 0.75rem;
}

.content-page__meta {
	color: var(--text-muted);
	font-size: 0.875rem;
	margin-bottom: 1.75rem;
}

.content-page__thumb {
	margin-bottom: 1.75rem;
	border-radius: var(--radius-lg);
	overflow: hidden;
}

.content-page__thumb img {
	width: 100%;
	display: block;
}

.content-page__body {
	color: var(--text-body);
	line-height: 1.75;
}

.content-page__body h2,
.content-page__body h3 {
	color: var(--text);
	margin: 1.75rem 0 0.75rem;
}

.content-page__body p,
.content-page__body ul,
.content-page__body ol {
	margin-bottom: 1rem;
}

/* Global reset strips list padding — restore it inside page content or the
   markers hang outside the text block */
.content-page__body ul,
.content-page__body ol {
	padding-left: 1.5rem;
}

.content-page__body li {
	margin-bottom: 0.55rem;
	padding-left: 0.3rem;
}

.content-page__body li::marker {
	color: var(--primary-hover);
}

.content-page__body a {
	color: var(--primary-hover);
}

/* Account / cart / checkout — no nested CMS “card” chrome */
.content-page--account .content-page__inner,
.content-page--commerce .content-page__inner {
	max-width: var(--container);
}

.content-page__article--flush,
.content-page--account .content-page__article,
.content-page--commerce .content-page__article {
	background: transparent;
	border: none;
	border-radius: 0;
	padding: 0;
}

.content-page--account .content-page__body,
.content-page--commerce .content-page__body {
	color: var(--text-body);
}

.content-page--account .content-page__body > p:empty,
.content-page--account .content-page__body > .woocommerce > p:empty {
	display: none;
}

.content-page--account .content-page__body a {
	color: inherit;
}

.content-page--account .content-page__body a:hover {
	color: var(--primary-hover);
}

/* --- WOOCOMMERCE --- */

/*
 * Global dark form controls — one pass for every Woo text-like field.
 * Excludes buttons, checkboxes, radios, hidden, file, range, color.
 * Stops browser/Woo white defaults and Safari/Chrome autofill washout.
 */
.woocommerce input:not([type='checkbox']):not([type='radio']):not([type='hidden']):not([type='submit']):not([type='button']):not([type='reset']):not([type='image']):not([type='file']):not([type='range']):not([type='color']),
.woocommerce-page input:not([type='checkbox']):not([type='radio']):not([type='hidden']):not([type='submit']):not([type='button']):not([type='reset']):not([type='image']):not([type='file']):not([type='range']):not([type='color']),
.woocommerce textarea,
.woocommerce-page textarea,
.woocommerce select,
.woocommerce-page select {
	background: var(--bg-input) !important;
	background-color: var(--bg-input) !important;
	border: 1px solid var(--border-strong) !important;
	border-radius: var(--radius) !important;
	color: var(--text) !important;
	box-shadow: none !important;
	caret-color: #fff;
	font-family: var(--font-body);
}

.woocommerce input::placeholder,
.woocommerce-page input::placeholder,
.woocommerce textarea::placeholder,
.woocommerce-page textarea::placeholder {
	color: var(--text-muted) !important;
	opacity: 1;
}

.woocommerce input:focus,
.woocommerce-page input:focus,
.woocommerce textarea:focus,
.woocommerce-page textarea:focus,
.woocommerce select:focus,
.woocommerce-page select:focus {
	outline: none;
	border-color: rgba(214, 31, 38, 0.7) !important;
	box-shadow: 0 0 0 3px rgba(214, 31, 38, 0.16) !important;
}

.woocommerce input:-webkit-autofill,
.woocommerce input:-webkit-autofill:hover,
.woocommerce input:-webkit-autofill:focus,
.woocommerce-page input:-webkit-autofill,
.woocommerce-page input:-webkit-autofill:hover,
.woocommerce-page input:-webkit-autofill:focus,
.woocommerce textarea:-webkit-autofill,
.woocommerce-page textarea:-webkit-autofill {
	-webkit-text-fill-color: var(--text) !important;
	caret-color: #fff;
	box-shadow: 0 0 0 1000px var(--bg-input) inset !important;
	transition: background-color 99999s ease-out;
}

.woocommerce .select2-container--default .select2-selection--single,
.woocommerce-page .select2-container--default .select2-selection--single {
	min-height: 2.85rem;
	background: var(--bg-input) !important;
	border: 1px solid var(--border-strong) !important;
	border-radius: var(--radius) !important;
	color: var(--text) !important;
	box-shadow: none !important;
}

.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered,
.woocommerce-page .select2-container--default .select2-selection--single .select2-selection__rendered {
	color: var(--text) !important;
}

.woocommerce .select2-container--default .select2-selection--single .select2-selection__placeholder,
.woocommerce-page .select2-container--default .select2-selection--single .select2-selection__placeholder {
	color: var(--text-muted) !important;
}

.woocommerce .woocommerce-ordering select,
.woocommerce .woocommerce-result-count {
	font-family: var(--font-body);
	color: var(--text-muted);
}

.woocommerce .woocommerce-ordering select {
	padding: 0.65rem 0.85rem;
}

.woocommerce span.onsale {
	background: var(--primary);
	color: #fff;
	font-weight: 700;
	text-transform: uppercase;
	font-size: 0.65rem;
	letter-spacing: 0.06em;
	border-radius: var(--radius);
	padding: 0.35rem 0.55rem;
	min-height: auto;
	min-width: auto;
	line-height: 1;
	top: 12px;
	left: 12px;
}

.woocommerce ul.products {
	margin: 0 0 3em;
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
	gap: 1.5rem !important;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none !important;
}

.woocommerce ul.products li.product {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	background: var(--bg-elevated);
	padding: 0;
	border-radius: var(--radius-lg);
	border: 1px solid var(--border);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	position: relative;
	transition: border-color 0.35s var(--ease), transform 0.35s var(--ease), box-shadow 0.35s var(--ease);
}

.woocommerce ul.products li.product:hover {
	border-color: rgba(214, 31, 38, 0.45);
	transform: translateY(-6px);
	box-shadow: 0 22px 48px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(214, 31, 38, 0.18), 0 0 44px rgba(214, 31, 38, 0.12);
}

.woocommerce ul.products li.product img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	margin: 0;
	border-radius: 0;
	background: #0e1014;
	transition: transform 0.55s var(--ease);
}

.woocommerce ul.products li.product:hover img {
	transform: scale(1.05);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h3 {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 1.05rem;
	text-transform: none;
	letter-spacing: -0.01em;
	color: var(--text);
	margin-bottom: 0.35rem;
	line-height: 1.3;
}

.woocommerce ul.products li.product .price {
	color: var(--text);
	font-size: 1rem;
	font-weight: 700;
}

.woocommerce ul.products li.product .button {
	background: var(--primary);
	color: #fff !important;
	border-radius: var(--radius);
	padding: 0.65rem 1rem;
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	border: none;
}

.woocommerce ul.products li.product .button:hover {
	background: var(--primary-hover);
}

/* Single product */
.woocommerce div.product {
	position: relative;
	background: var(--bg-elevated);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	padding: clamp(1.5rem, 3vw, 2.5rem);
	margin-bottom: 2.5rem;
}

.woocommerce div.product::before {
	content: '';
	position: absolute;
	top: 0;
	left: 8%;
	right: 8%;
	height: 1px;
	background: var(--hairline-red);
	opacity: 0.55;
	pointer-events: none;
}

.woocommerce div.product div.images img {
	border-radius: var(--radius-lg);
	border: 1px solid var(--border);
}

.woocommerce div.product .product_title {
	font-size: clamp(1.75rem, 3vw, 2.25rem);
	letter-spacing: -0.025em;
	margin-bottom: 0.75rem;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--text);
	font-family: var(--font-display);
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: -0.01em;
}

.woocommerce div.product .woocommerce-product-details__short-description {
	color: var(--text-muted);
	margin-bottom: 1.5rem;
	line-height: 1.7;
}

.woocommerce div.product form.cart .button {
	position: relative;
	isolation: isolate;
	background: linear-gradient(180deg, #ef2f36 0%, #d61f26 48%, #b5121a 100%);
	color: #fff;
	border-radius: var(--radius);
	padding: 0.9rem 1.6rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: 0.85rem;
	box-shadow: 0 10px 26px rgba(214, 31, 38, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.woocommerce div.product form.cart .button::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(105deg, transparent 43%, rgba(255, 255, 255, 0.32) 50%, transparent 57%);
	background-size: 300% 100%;
	background-repeat: no-repeat;
	background-position: 100% 0;
	transition: background-position 0.65s var(--ease);
	pointer-events: none;
}

.woocommerce div.product form.cart .button:hover {
	background: linear-gradient(180deg, #f6414a 0%, #e4282f 48%, #c1161d 100%);
	box-shadow: 0 14px 34px rgba(214, 31, 38, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.woocommerce div.product form.cart .button:hover::after,
.woocommerce div.product form.cart .button:hover::before {
	background-position: 0 0;
}

/* Qty on product + cart — Woo/browser defaults are white; force dark */
.woocommerce .quantity .qty,
.woocommerce input.qty,
.woocommerce-page input.qty,
.woocommerce div.product .quantity input.qty,
.woocommerce-cart table.cart .quantity input.qty,
.woocommerce-cart-form .quantity input.qty {
	width: 4.5rem;
	max-width: 100%;
	box-sizing: border-box;
	background: var(--bg-input) !important;
	background-color: var(--bg-input) !important;
	border: 1px solid var(--border-strong) !important;
	border-radius: var(--radius) !important;
	color: var(--text) !important;
	padding: 0.75rem 0.5rem !important;
	text-align: center;
	font-family: var(--font-body);
	font-size: 0.95rem;
	line-height: 1.2;
	box-shadow: none !important;
	caret-color: #fff;
	-webkit-appearance: textfield;
	appearance: textfield;
}

.woocommerce .quantity .qty:focus,
.woocommerce input.qty:focus {
	outline: none;
	border-color: rgba(214, 31, 38, 0.7) !important;
	box-shadow: 0 0 0 3px rgba(214, 31, 38, 0.16) !important;
}

.woocommerce .quantity .qty::-webkit-outer-spin-button,
.woocommerce .quantity .qty::-webkit-inner-spin-button,
.woocommerce input.qty::-webkit-outer-spin-button,
.woocommerce input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* Cart coupon / misc storefront inputs that skip .form-row */
.woocommerce-cart .coupon .input-text,
.woocommerce-cart-form .coupon .input-text,
.woocommerce-page .coupon .input-text {
	background: var(--bg-input) !important;
	border: 1px solid var(--border-strong) !important;
	border-radius: var(--radius) !important;
	color: var(--text) !important;
	padding: 0.75rem 1rem !important;
	box-shadow: none !important;
	caret-color: #fff;
}

.woocommerce-cart .coupon .input-text::placeholder {
	color: var(--text-muted) !important;
	opacity: 1;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	border-bottom: 1px solid var(--border);
	padding: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: transparent;
	border: none;
	border-bottom: 2px solid transparent;
	border-radius: 0;
	margin: 0 1rem 0 0;
	padding: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	background: transparent;
	border-bottom-color: var(--primary);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	color: var(--text-muted);
	font-weight: 600;
	padding: 0.75rem 0;
}

.woocommerce div.product .woocommerce-tabs li.active a {
	color: var(--text);
}

.woocommerce div.product .woocommerce-tabs .panel {
	color: var(--text-muted);
	line-height: 1.7;
	padding: 1.5rem 0;
}

/* Cart / checkout panels */
.woocommerce-cart table.cart,
.woocommerce-checkout #order_review,
.woocommerce-checkout form.checkout_coupon,
.woocommerce-checkout form.login,
.woocommerce-checkout form.register,
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout #payment {
	background: var(--bg-elevated) !important;
	border: 1px solid var(--border) !important;
	border-radius: var(--radius) !important;
}

.woocommerce-checkout #order_review,
.woocommerce-checkout #payment {
	overflow: visible !important;
}

.woocommerce-cart table.cart td,
.woocommerce-cart table.cart th {
	border-bottom: 1px solid var(--border) !important;
	padding: 1rem 1.25rem !important;
	color: var(--text-body) !important;
}

/* "Delete" replaces the bare × glyph (filter in inc/woocommerce-ux.php) —
   an explicit, visible control instead of a small red circle. !important is
   deliberate: this overrides WooCommerce core's a.remove + its hover. */
.woocommerce-cart table.cart td.product-remove a.remove {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: auto !important;
	height: auto !important;
	padding: 0.45rem 0.85rem;
	font-size: 0.72rem !important;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	line-height: 1.2;
	color: var(--primary-hover) !important;
	background: transparent;
	border: 1px solid rgba(214, 31, 38, 0.4);
	border-radius: var(--radius);
	transition: color 0.2s var(--ease), background 0.2s var(--ease), border-color 0.2s var(--ease);
}

.woocommerce-cart table.cart td.product-remove a.remove:hover,
.woocommerce-cart table.cart td.product-remove a.remove:focus {
	background: var(--primary) !important;
	border-color: var(--primary) !important;
	color: #fff !important;
}

/* Proceed to checkout — Woo's stock purple fought the theme; brand red */
.woocommerce-cart .checkout-button {
	background: linear-gradient(180deg, #ef2f36 0%, #d61f26 48%, #b5121a 100%) !important;
	color: #fff !important;
	border-radius: var(--radius);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	box-shadow: 0 10px 26px rgba(214, 31, 38, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.18);
	transition: filter 0.25s var(--ease), transform 0.25s var(--ease);
}

.woocommerce-cart .checkout-button:hover,
.woocommerce-cart .checkout-button:focus {
	filter: brightness(1.08);
	transform: translateY(-1px);
	color: #fff !important;
}

.woocommerce-cart .cart-collaterals .cart_totals {
	padding: 1.75rem;
}

.woocommerce-checkout #order_review {
	padding: 0.85rem 1rem 1rem !important;
}

.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td {
	padding: 0.45rem 0.35rem !important;
	font-size: 0.875rem !important;
	border-color: var(--border) !important;
}

.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table {
	margin: 0 0 0.65rem;
}

.woocommerce-checkout #payment {
	position: relative;
	z-index: 2;
	overflow: visible !important;
}

.woocommerce-checkout #payment div.payment_box {
	background: var(--bg) !important;
	color: var(--text-muted) !important;
	border-radius: var(--radius);
	margin: 0.4rem 0 0.15rem !important;
	padding: 0.55rem 0.7rem !important;
	border: 1px solid var(--border) !important;
	box-shadow: none !important;
	font-size: 0.8rem !important;
	line-height: 1.4 !important;
	overflow: visible !important;
	position: relative;
	z-index: 5;
}

.woocommerce-checkout #payment div.payment_box::before {
	display: none !important;
	border: none !important;
}

/* Payment method list — compact radio rows, title + icons on one line */
.woocommerce-checkout #payment ul.payment_methods {
	list-style: none !important;
	margin: 0 !important;
	padding: 0.55rem 0.75rem 0.2rem !important;
	border-bottom: 1px solid var(--border) !important;
}

.woocommerce-checkout #payment ul.payment_methods > li {
	list-style: none !important;
	margin: 0 0 0.35rem !important;
	padding: 0 !important;
	border: 1px solid var(--border) !important;
	border-radius: var(--radius) !important;
	background: transparent !important;
	overflow: visible !important;
	position: relative;
	z-index: 1;
}

.woocommerce-checkout #payment ul.payment_methods > li::before,
.woocommerce-checkout #payment ul.payment_methods > li::marker {
	content: none !important;
	display: none !important;
}

.woocommerce-checkout #payment ul.payment_methods > li > input.input-radio,
.woocommerce-checkout #payment ul.payment_methods > li > input[type='radio'] {
	position: absolute !important;
	opacity: 0 !important;
	pointer-events: none !important;
	width: 1px !important;
	height: 1px !important;
	margin: 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods > li > label {
	color: var(--text) !important;
	font-weight: 600;
	font-size: 0.875rem;
	cursor: pointer;
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	gap: 0.5rem;
	margin: 0 !important;
	padding: 0.55rem 0.7rem !important;
	line-height: 1.25 !important;
	width: 100%;
	box-sizing: border-box;
	white-space: nowrap;
}

.woocommerce-checkout #payment ul.payment_methods > li > label::before {
	content: '';
	width: 0.95rem;
	height: 0.95rem;
	flex: 0 0 0.95rem;
	border-radius: 50%;
	border: 2px solid var(--border-strong);
	box-sizing: border-box;
	background: transparent;
}

.woocommerce-checkout #payment ul.payment_methods > li > input[type='radio']:checked + label::before {
	border-color: var(--primary);
	box-shadow: inset 0 0 0 3px var(--bg-elevated), inset 0 0 0 7px var(--primary);
}

.woocommerce-checkout #payment ul.payment_methods > li > label img {
	max-height: 1.15rem;
	width: auto;
	margin: 0 0 0 auto !important;
	flex-shrink: 0;
	filter: none;
}

.woocommerce-checkout #payment ul.payment_methods > li .payment_box {
	margin: 0 !important;
	padding: 0.55rem 0.7rem 0.65rem 2.15rem !important;
	border: none !important;
	border-top: 1px solid var(--border) !important;
	border-radius: 0 !important;
	background: rgba(0, 0, 0, 0.2) !important;
	font-size: 0.75rem !important;
	line-height: 1.4 !important;
	color: var(--text-muted) !important;
	box-shadow: none !important;
	overflow: visible !important;
	position: relative;
	z-index: 6;
}

/* Stripe / Google Pay / Apple Pay / Link — never clip wallet iframes */
.woocommerce-checkout .wc-stripe-payment-request-wrapper,
.woocommerce-checkout #wc-stripe-payment-request-wrapper,
.woocommerce-checkout .wc-stripe-payment-request-button-wrapper,
.woocommerce-checkout .StripeElement,
.woocommerce-checkout .payment_method_stripe,
.woocommerce-checkout .payment_method_woocommerce_payments,
.woocommerce-checkout iframe[name^='__privateStripe'],
.woocommerce-checkout .__PrivateStripeElement {
	overflow: visible !important;
	position: relative;
	z-index: 10;
}

.woocommerce-checkout #payment ul.payment_methods > li .payment_box::before {
	display: none !important;
}

.woocommerce-checkout #payment ul.payment_methods > li .payment_box p,
.woocommerce-checkout #payment ul.payment_methods > li .payment_box ul,
.woocommerce-checkout #payment ul.payment_methods > li .payment_box li {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.woocommerce-checkout #payment ul.payment_methods > li .payment_box ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.15rem 0.65rem;
}

.woocommerce-checkout #payment ul.payment_methods > li .payment_box li {
	display: inline;
}

.woocommerce-checkout #payment ul.payment_methods > li .payment_box li + li::before {
	content: '· ';
	opacity: 0.6;
}

.woocommerce-checkout #payment div.form-row {
	padding: 0.65rem 0.85rem 0.85rem !important;
	margin: 0 !important;
}

.woocommerce-checkout #payment #place_order {
	position: relative;
	isolation: isolate;
	width: 100%;
	margin-top: 0.25rem;
	padding: 0.7rem 1rem !important;
	font-size: 0.875rem !important;
	background: linear-gradient(180deg, #ef2f36 0%, #d61f26 48%, #b5121a 100%);
	box-shadow: 0 10px 26px rgba(214, 31, 38, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.woocommerce-checkout #payment #place_order::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(105deg, transparent 43%, rgba(255, 255, 255, 0.32) 50%, transparent 57%);
	background-size: 300% 100%;
	background-repeat: no-repeat;
	background-position: 100% 0;
	transition: background-position 0.65s var(--ease);
	pointer-events: none;
}

.woocommerce-checkout #payment #place_order:hover {
	background: linear-gradient(180deg, #f6414a 0%, #e4282f 48%, #c1161d 100%);
	box-shadow: 0 14px 34px rgba(214, 31, 38, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.woocommerce-checkout #payment #place_order:hover::after,
.woocommerce-checkout #payment #place_order:hover::before {
	background-position: 0 0;
}

/* Privacy / terms — muted text only, no heavy inset box */
.woocommerce-checkout .woocommerce-privacy-policy-text,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper,
.woocommerce-checkout .woocommerce-privacy-policy-text p {
	font-size: 0.75rem !important;
	line-height: 1.45 !important;
	color: var(--text-muted) !important;
	margin: 0 0 0.65rem !important;
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
	box-sizing: border-box;
}

.jdm-auth__card .woocommerce-privacy-policy-text,
.jdm-auth__form .woocommerce-privacy-policy-text {
	font-size: 0.82rem !important;
	line-height: 1.55 !important;
	color: var(--text-muted) !important;
	margin: 0 0 1rem !important;
	padding: 0.85rem 1rem !important;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	background: rgba(255, 255, 255, 0.03);
	box-sizing: border-box;
}

.woocommerce-checkout .woocommerce-privacy-policy-text a,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a,
.jdm-auth__form .woocommerce-privacy-policy-text a,
.jdm-auth__card .woocommerce-privacy-policy-text a {
	color: var(--text) !important;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text {
	color: var(--text-body) !important;
	line-height: 1.4;
	font-size: 0.8125rem;
}

/* Checkout fields — dense retail controls */
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout textarea.input-text,
.woocommerce-checkout #order_comments,
.woocommerce-checkout .woocommerce-input-wrapper textarea,
.woocommerce-checkout .woocommerce-input-wrapper input.input-text,
.woocommerce-checkout .woocommerce-input-wrapper select {
	width: 100%;
	box-sizing: border-box;
	background: var(--bg-input) !important;
	border: 1px solid var(--border-strong) !important;
	border-radius: var(--radius) !important;
	color: var(--text) !important;
	padding: 0.5rem 0.7rem !important;
	font-family: var(--font-body);
	font-size: 0.875rem !important;
	line-height: 1.3 !important;
	min-height: 2.35rem;
	box-shadow: none !important;
	caret-color: #fff;
	-webkit-appearance: none;
	appearance: none;
}

.woocommerce-checkout #order_comments,
.woocommerce-checkout textarea.input-text,
.woocommerce-checkout .form-row textarea {
	min-height: 4.5rem;
	resize: vertical;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
	width: 100%;
	box-sizing: border-box;
	background: var(--bg-input) !important;
	border: 1px solid var(--border-strong) !important;
	border-radius: var(--radius) !important;
	color: var(--text) !important;
	padding: 0.85rem 1rem !important;
	font-family: var(--font-body);
	font-size: 0.95rem;
	line-height: 1.4;
	box-shadow: none !important;
	caret-color: #fff;
	-webkit-appearance: none;
	appearance: none;
}

.woocommerce-checkout .form-row input.input-text::placeholder,
.woocommerce-checkout .form-row textarea::placeholder,
.woocommerce-checkout #order_comments::placeholder {
	color: var(--text-muted) !important;
	opacity: 1;
}

.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout #order_comments:focus,
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus {
	outline: none;
	border-color: rgba(214, 31, 38, 0.7) !important;
	box-shadow: 0 0 0 2px rgba(214, 31, 38, 0.14) !important;
}

.woocommerce-checkout .form-row > label,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper label {
	display: block;
	font-size: 0.75rem !important;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: var(--text-muted) !important;
	margin: 0 0 0.3rem !important;
	line-height: 1.3;
}

.woocommerce-checkout .select2-container {
	width: 100% !important;
	max-width: 100% !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single {
	height: 2.35rem !important;
	min-height: 2.35rem !important;
	padding: 0 0.65rem;
	background: var(--bg-input) !important;
	border: 1px solid var(--border-strong) !important;
	border-radius: var(--radius) !important;
	color: var(--text) !important;
	box-shadow: none !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
	color: var(--text) !important;
	line-height: 2.25rem !important;
	padding-left: 0 !important;
	font-size: 0.875rem !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__placeholder {
	color: var(--text-muted) !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 100%;
	top: 0;
}

.select2-dropdown {
	background: var(--bg-elevated) !important;
	border: 1px solid var(--border-strong) !important;
	color: var(--text) !important;
}

.select2-container--default .select2-results__option {
	color: var(--text-body) !important;
	padding: 0.4rem 0.7rem;
	font-size: 0.875rem;
}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] {
	background: rgba(214, 31, 38, 0.22) !important;
	color: var(--text) !important;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
	background: var(--bg-input) !important;
	border: 1px solid var(--border) !important;
	color: var(--text) !important;
	border-radius: var(--radius);
	padding: 0.4rem 0.55rem !important;
	font-size: 0.875rem !important;
}

/* LTL accessorials — compact panel */
#jdm_ltl_accessorials {
	margin: 0.75rem 0 1rem;
	padding: 0.7rem 0.85rem;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	background: rgba(255, 255, 255, 0.02);
}

#jdm_ltl_accessorials h3 {
	margin: 0 0 0.5rem;
	font-family: var(--font-display);
	font-size: 0.95rem;
	color: var(--text);
}

#jdm_ltl_accessorials .form-row {
	margin-bottom: 0.35rem !important;
}

#jdm_ltl_accessorials label {
	color: var(--text-body) !important;
	font-size: 0.8125rem !important;
}

.woocommerce-checkout .woocommerce-additional-fields h3,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper label {
	color: var(--text) !important;
}

.woocommerce-checkout .woocommerce-additional-fields {
	margin-top: 0.35rem;
}

.woocommerce-checkout .woocommerce-additional-fields h3 {
	margin: 0 0 0.55rem;
	font-size: 1rem;
}

/* -------------------------------------------------------------------------
   Checkout — two panes only: primary (details + payment) | summary
   Never billing | shipping | order as three columns.
   ------------------------------------------------------------------------- */
.woocommerce-checkout .jdm-checkout__layout {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
	align-items: start;
	margin-top: 0.35rem;
}

@media (min-width: 960px) {
	.woocommerce-checkout .jdm-checkout__layout {
		grid-template-columns: minmax(0, 1fr) minmax(300px, 22rem);
		gap: 2rem 2.25rem;
	}

	.woocommerce-checkout .jdm-checkout__summary {
		position: sticky;
		top: calc(var(--header-h) + 1rem);
	}
}

.woocommerce-checkout .jdm-checkout__primary,
.woocommerce-checkout .jdm-checkout__summary {
	min-width: 0;
}

.woocommerce-checkout .jdm-checkout__section {
	margin: 0 0 1.25rem;
	padding: 1rem 1.1rem;
	background: var(--bg-elevated);
	border: 1px solid var(--border);
	border-radius: var(--radius);
}

.woocommerce-checkout .jdm-checkout__section:last-child {
	margin-bottom: 0;
}

.woocommerce-checkout .jdm-checkout__section-title,
.woocommerce-checkout .jdm-checkout__summary-title,
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-shipping-fields > h3,
.woocommerce-checkout #ship-to-different-address,
.woocommerce-checkout .woocommerce-additional-fields > h3 {
	margin: 0 0 0.75rem;
	font-family: var(--font-display);
	font-size: 1rem;
	font-weight: 700;
	color: var(--text);
}

.woocommerce-checkout #customer_details,
.woocommerce-checkout .jdm-checkout__details {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	width: 100%;
	margin: 0 0 1rem;
}

/* Kill Woo col2-set side-by-side forever on checkout */
.woocommerce-checkout #customer_details.col2-set,
.woocommerce-checkout .col2-set#customer_details,
.woocommerce-checkout .jdm-checkout__details,
.woocommerce-checkout .col2-set {
	display: flex !important;
	flex-direction: column !important;
	float: none !important;
	width: 100% !important;
	gap: 1rem !important;
	margin: 0 0 1rem !important;
}

.woocommerce-checkout .col2-set::before,
.woocommerce-checkout .col2-set::after {
	display: none !important;
	content: none !important;
}

.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2,
.woocommerce-checkout .col2-set .u-column1,
.woocommerce-checkout .col2-set .u-column2,
.woocommerce-checkout .jdm-checkout__section--billing,
.woocommerce-checkout .jdm-checkout__section--shipping {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	clear: none !important;
	box-sizing: border-box;
}

.woocommerce-checkout .jdm-checkout__section--billing,
.woocommerce-checkout .jdm-checkout__section--shipping {
	padding: 1rem 1.1rem !important;
	background: var(--bg-elevated);
	border: 1px solid var(--border);
	border-radius: var(--radius);
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout .woocommerce-address-fields__field-wrapper {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.65rem 0.85rem;
}

@media (min-width: 560px) {
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
	.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
	.woocommerce-checkout .woocommerce-address-fields__field-wrapper {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-wide,
	.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row-wide,
	.woocommerce-checkout .woocommerce-address-fields__field-wrapper .form-row-wide {
		grid-column: 1 / -1;
	}
}

.woocommerce-checkout .form-row,
.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last,
.woocommerce-checkout .form-row-wide {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	clear: none !important;
}

.woocommerce-checkout .jdm-checkout__summary {
	padding: 1rem 1.1rem 1.15rem;
	background: var(--bg-elevated);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	overflow: visible !important;
}

.woocommerce-checkout .jdm-checkout__summary-body,
.woocommerce-checkout #order_review {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	border-radius: 0 !important;
	overflow: visible !important;
}

.woocommerce-checkout .jdm-checkout__section--payment #payment {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	border-radius: 0 !important;
	overflow: visible !important;
}

.woocommerce-checkout form.checkout {
	margin-top: 0.25rem;
	display: block !important;
}

.woocommerce-checkout .woocommerce-NoticeGroup,
.woocommerce-checkout .woocommerce-notices-wrapper {
	margin-bottom: 0.85rem;
}


/* Breadcrumbs — sit inside .container via .breadcrumb-bar */
.breadcrumb-bar {
	padding-top: 1.25rem;
	padding-bottom: 0.25rem;
}

.jdm-breadcrumbs {
	margin: 0;
	font-size: 0.8125rem;
	color: var(--text-muted);
}

.jdm-breadcrumbs ol {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.55rem;
	margin: 0;
	padding: 0;
}

.jdm-breadcrumbs li {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	max-width: 100%;
}

.jdm-breadcrumbs li:not(:last-child)::after {
	content: '/';
	color: var(--text-muted);
	opacity: 0.45;
}

.jdm-breadcrumbs a {
	color: var(--text-muted);
}

.jdm-breadcrumbs a:hover {
	color: var(--text);
}

.jdm-breadcrumbs li[aria-current='page'] {
	color: var(--text-body);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: min(48ch, 70vw);
}

/* Hide leftover WooCommerce breadcrumb if a plugin re-adds it */
.woocommerce-breadcrumb {
	display: none !important;
}

/* --- My Account --- */
.woocommerce-account .content-page {
	padding-top: 2.75rem;
	padding-bottom: 4.5rem;
}

.woocommerce-account .woocommerce {
	max-width: none;
	width: 100%;
}

.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
	float: none !important;
	width: auto !important;
}

.woocommerce-account .u-columns {
	display: block;
}

/* --- Addresses: kill Woo float/col2-set; stable equal columns --- */
.woocommerce-account .woocommerce-Addresses,
.woocommerce-account .u-columns.woocommerce-Addresses,
.woocommerce-account .col2-set.addresses,
.woocommerce-account .jdm-account-address-grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem;
	width: 100%;
	max-width: none;
	float: none !important;
	clear: both;
	margin: 0 0 1.5rem;
}

.woocommerce-account .woocommerce-Addresses::before,
.woocommerce-account .woocommerce-Addresses::after,
.woocommerce-account .col2-set.addresses::before,
.woocommerce-account .col2-set.addresses::after,
.woocommerce-account .u-columns::before,
.woocommerce-account .u-columns::after {
	display: none !important;
	content: none !important;
}

.woocommerce-account .woocommerce-Address,
.woocommerce-account .woocommerce-Addresses .u-column1,
.woocommerce-account .woocommerce-Addresses .u-column2,
.woocommerce-account .woocommerce-Addresses .col-1,
.woocommerce-account .woocommerce-Addresses .col-2,
.woocommerce-account .jdm-account-address-card {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	clear: none !important;
	box-sizing: border-box;
}

.woocommerce-account .woocommerce-Address,
.woocommerce-account .jdm-account-address-card {
	border: 1px solid var(--border);
	border-radius: var(--radius);
	padding: 1.15rem 1.25rem;
	background: transparent;
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
	min-height: 100%;
}

.woocommerce-account .woocommerce-Address-title,
.woocommerce-account .jdm-account-address-card__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.75rem;
	margin: 0;
	padding: 0;
	border: none;
}

.woocommerce-account .woocommerce-Address-title h3,
.woocommerce-account .jdm-account-address-card h3 {
	margin: 0;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--text-muted);
}

.woocommerce-account .woocommerce-Address-title .edit,
.woocommerce-account .jdm-account-address-card__head .edit,
.woocommerce-account .jdm-account-address-card a {
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--text) !important;
	text-decoration: underline;
	text-underline-offset: 2px;
	flex-shrink: 0;
}

.woocommerce-account .woocommerce-Address address,
.woocommerce-account .jdm-account-address-card address {
	font-style: normal;
	color: var(--text-body);
	line-height: 1.55;
	margin: 0;
	flex: 1;
}

.jdm-account-addresses-intro {
	margin: 0 0 1.25rem;
	color: var(--text-muted);
	line-height: 1.55;
	max-width: 40rem;
}

.jdm-account-address-card__empty {
	margin: 0 0 0.5rem;
	font-size: 0.9rem;
	color: var(--text-muted);
}

/* Edit address form — single column stack, paired fields on wide screens */
.jdm-edit-address {
	max-width: 40rem;
	width: 100%;
}

.jdm-edit-address__title {
	font-family: var(--font-display);
	font-size: 1.5rem;
	margin: 0 0 1.25rem;
	color: var(--text);
}

.woocommerce-account .woocommerce-address-fields {
	max-width: none;
}

.woocommerce-account .woocommerce-address-fields__field-wrapper,
.woocommerce-account .woocommerce-billing-fields__field-wrapper,
.woocommerce-account .woocommerce-shipping-fields__field-wrapper {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.85rem 1rem;
	width: 100%;
}

@media (min-width: 640px) {
	.woocommerce-account .woocommerce-address-fields__field-wrapper,
	.woocommerce-account .woocommerce-billing-fields__field-wrapper,
	.woocommerce-account .woocommerce-shipping-fields__field-wrapper {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row-wide,
	.woocommerce-account .woocommerce-billing-fields__field-wrapper .form-row-wide,
	.woocommerce-account .woocommerce-shipping-fields__field-wrapper .form-row-wide {
		grid-column: 1 / -1;
	}
}

.woocommerce-account .woocommerce-address-fields .form-row,
.woocommerce-account .woocommerce-Address-fields .form-row,
.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row,
.woocommerce-account .woocommerce-billing-fields__field-wrapper .form-row,
.woocommerce-account .woocommerce-shipping-fields__field-wrapper .form-row,
.woocommerce-account .col2-set .form-row-first,
.woocommerce-account .col2-set .form-row-last {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	clear: none !important;
}

.woocommerce-account .woocommerce-address-fields .form-row input.input-text,
.woocommerce-account .woocommerce-address-fields .form-row select,
.woocommerce-account .woocommerce-address-fields .form-row textarea,
.jdm-edit-address input.input-text,
.jdm-edit-address select,
.jdm-edit-address textarea {
	width: 100%;
	max-width: none;
	box-sizing: border-box;
}

.jdm-edit-address__actions {
	margin: 1.25rem 0 0 !important;
	padding: 0 !important;
	float: none !important;
	width: 100% !important;
}

@media (max-width: 720px) {
	.woocommerce-account .woocommerce-Addresses,
	.woocommerce-account .u-columns.woocommerce-Addresses,
	.woocommerce-account .col2-set.addresses,
	.woocommerce-account .jdm-account-address-grid {
		grid-template-columns: 1fr !important;
	}
}

.woocommerce-account .woocommerce::after,
.woocommerce-account .woocommerce::before {
	content: none !important;
	display: none !important;
}

/* Logged-in shell: sidebar + content (robust — not dependent on direct-child only) */
body.logged-in.woocommerce-account .woocommerce {
	display: grid;
	grid-template-columns: minmax(11.5rem, 13.5rem) minmax(0, 1fr);
	gap: clamp(1.5rem, 3vw, 2.75rem);
	align-items: start;
}

body:not(.logged-in).woocommerce-account .woocommerce {
	display: block;
	max-width: 52rem;
	margin: 0 auto;
}

.jdm-account-nav {
	background: transparent;
	border: none;
	border-radius: 0;
	padding: 0;
	position: sticky;
	top: calc(var(--header-h, 4.5rem) + 1rem);
}

.jdm-account-nav__label {
	margin: 0 0 0.85rem;
	padding: 0 0.15rem;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--text-muted);
}

.woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	border-left: 1px solid var(--border);
}

.woocommerce-MyAccount-navigation a {
	display: block;
	padding: 0.55rem 0.85rem;
	margin-left: -1px;
	border-left: 2px solid transparent;
	border-radius: 0;
	color: var(--text-muted);
	font-size: 0.9rem;
	font-weight: 600;
	text-decoration: none;
	transition: color 0.2s var(--ease), border-color 0.2s var(--ease), background 0.2s var(--ease);
}

.woocommerce-MyAccount-navigation a:hover {
	color: var(--text);
	background: transparent;
}

.woocommerce-MyAccount-navigation .is-active a,
.woocommerce-MyAccount-navigation a[aria-current='page'] {
	color: var(--text);
	border-left-color: var(--primary);
	background: transparent;
}

.woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--customer-logout a {
	margin-top: 0.75rem;
	padding-top: 0.85rem;
	border-top: 1px solid var(--border);
	border-left-color: transparent;
	color: var(--text-muted);
}

.jdm-account-content,
.woocommerce-MyAccount-content {
	background: transparent;
	border: none;
	border-radius: 0;
	padding: 0;
	min-width: 0;
}

.woocommerce-MyAccount-content > h2,
.woocommerce-MyAccount-content > h3 {
	font-family: var(--font-display);
	font-size: 1.35rem;
	margin: 0 0 1.15rem;
	color: var(--text);
}

/* Dashboard */
.jdm-account-welcome {
	margin-bottom: 1.75rem;
	padding-bottom: 1.35rem;
	border-bottom: 1px solid var(--border);
}

.jdm-account-welcome__eyebrow {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	margin: 0 0 0.4rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--text-body);
}

.jdm-account-welcome__eyebrow::after {
	content: '';
	flex: 0 0 auto;
	height: 1px;
	width: 64px;
	background: linear-gradient(90deg, var(--primary), transparent);
}

.jdm-account-welcome__title {
	margin: 0 0 0.5rem;
	font-family: var(--font-display);
	font-size: clamp(1.65rem, 3vw, 2.1rem);
	letter-spacing: -0.02em;
	color: var(--text);
	font-weight: 700;
}

.jdm-account-welcome__lead {
	margin: 0;
	color: var(--text-muted);
	font-size: 0.98rem;
	max-width: 36rem;
	line-height: 1.55;
}

.jdm-account-links {
	list-style: none;
	margin: 0 0 1.5rem;
	padding: 0;
	border-top: 1px solid var(--border);
}

.jdm-account-links__item {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 0.9rem;
	padding: 1rem 0.15rem;
	border-bottom: 1px solid var(--border);
	text-decoration: none;
	color: inherit;
	transition: color 0.2s var(--ease);
}

.jdm-account-links__item:hover {
	color: var(--text);
}

.jdm-account-links__item:hover .jdm-account-links__chev {
	color: var(--primary-hover);
	transform: translateX(3px);
}

.jdm-account-links__icon {
	width: 2.4rem;
	height: 2.4rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--primary);
	font-size: 0.95rem;
}

.jdm-account-links__copy {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	min-width: 0;
}

.jdm-account-links__label {
	font-family: var(--font-display);
	font-size: 1.05rem;
	font-weight: 650;
	color: var(--text);
}

.jdm-account-links__hint {
	font-size: 0.82rem;
	color: var(--text-muted);
}

.jdm-account-links__chev {
	color: var(--text-muted);
	font-size: 1rem;
	transition: transform 0.2s var(--ease), color 0.2s var(--ease);
}

.jdm-account-shop {
	margin: 0 0 1.25rem;
}

.jdm-account-shop a {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--text) !important;
	text-decoration: none;
}

.jdm-account-shop a:hover {
	color: var(--primary-hover) !important;
}

.jdm-account-help {
	margin: 0;
	font-size: 0.9rem;
	color: var(--text-muted);
	line-height: 1.5;
}

.jdm-account-help a {
	color: var(--text) !important;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.jdm-account-help a:hover {
	color: var(--primary-hover) !important;
}

/* Auth (login / register) — aligned dual cards */
.jdm-auth {
	max-width: 52rem;
	margin: 0 auto;
}

.jdm-auth--narrow {
	max-width: 28rem;
}

.jdm-auth__intro {
	margin-bottom: 2rem;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid var(--border);
}

.jdm-auth__eyebrow {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	margin: 0 0 0.45rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--text-body);
}

.jdm-auth__eyebrow::after {
	content: '';
	flex: 0 0 auto;
	height: 1px;
	width: 64px;
	background: linear-gradient(90deg, var(--primary), transparent);
}

.jdm-auth__title {
	margin: 0 0 0.55rem;
	font-family: var(--font-display);
	font-size: clamp(1.75rem, 3.2vw, 2.25rem);
	letter-spacing: -0.025em;
	color: var(--text);
	font-weight: 700;
}

.jdm-auth__lead {
	margin: 0;
	color: var(--text-muted);
	max-width: 34rem;
	line-height: 1.55;
	font-size: 0.98rem;
}

.jdm-auth__grid {
	display: grid;
	gap: 0;
}

.jdm-auth__grid--split {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 2.5rem;
	align-items: stretch;
}

.jdm-auth__grid--split .jdm-auth__panel--register {
	padding-left: 2.5rem;
	border-left: 1px solid var(--border);
}

/* Switch row under a single auth card: text + the opposite view's button */
.jdm-auth__switch {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
	margin-top: 1.4rem;
	padding: 1.1rem 1.35rem;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	background: rgba(255, 255, 255, 0.02);
	font-size: 0.92rem;
	color: var(--text-muted);
}

.jdm-auth__switch p {
	margin: 0;
}

.jdm-auth__switch .btn-secondary {
	padding: 0.7rem 1.3rem;
	font-size: 0.8rem;
}

.jdm-auth__panel {
	display: flex;
	flex-direction: column;
	min-width: 0;
	background: transparent;
	border: none;
	border-radius: 0;
	padding: 0;
}

.jdm-auth__card {
	display: flex;
	flex-direction: column;
	flex: 1;
	min-height: 100%;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	padding: 1.35rem 1.4rem 1.5rem;
	background: rgba(255, 255, 255, 0.02);
	box-sizing: border-box;
}

.jdm-auth__panel-title {
	margin: 0 0 0.75rem;
	font-family: var(--font-display);
	font-size: 1.2rem;
	color: var(--text);
	font-weight: 700;
}

.jdm-auth__panel-lead,
.jdm-auth__hint {
	margin: 0 0 1rem;
	font-size: 0.9rem;
	color: var(--text-muted);
	line-height: 1.5;
}

.jdm-auth__form {
	display: flex;
	flex-direction: column;
	flex: 1;
}

/* The card is the single container — Woo's own form box would double it
   (core's `.woocommerce form.login` needs out-specified here) */
.jdm-auth .jdm-auth__card form.woocommerce-form-login,
.jdm-auth .jdm-auth__card form.woocommerce-form-register {
	border: none;
	background: transparent;
	padding: 0;
	margin: 0;
	border-radius: 0;
}

.jdm-auth__form .form-row {
	margin-bottom: 1rem;
}

.jdm-auth__form .button,
.woocommerce-account .jdm-auth__form button.button {
	width: 100%;
	justify-content: center;
}

.jdm-auth__form label {
	display: block;
	margin-bottom: 0.4rem;
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--text-body);
}

.jdm-auth__form .woocommerce-form-row {
	position: relative;
}

.jdm-auth__form .input-text,
.woocommerce-account .woocommerce-Input,
.woocommerce-account input.input-text,
.woocommerce-account input[type='text'],
.woocommerce-account input[type='email'],
.woocommerce-account input[type='tel'],
.woocommerce-account input[type='password'],
.woocommerce-account input[type='number'],
.woocommerce-account textarea,
.woocommerce-account select,
.woocommerce-account .select2-container {
	width: 100% !important;
	max-width: 100% !important;
}

.woocommerce-account .select2-container--default .select2-selection--single {
	height: auto !important;
	min-height: 2.85rem;
	padding: 0.35rem 0.75rem;
	background: #252a36 !important;
	border: 1px solid rgba(255, 255, 255, 0.22) !important;
	border-radius: var(--radius) !important;
	color: #f2f3f5 !important;
	box-shadow: none;
}

.woocommerce-account .select2-container--default .select2-selection--single .select2-selection__rendered {
	color: #f2f3f5 !important;
	line-height: 2.1;
	padding-left: 0;
}

.woocommerce-account .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 100%;
}

.woocommerce-checkout .select2-container {
	width: 100% !important;
	max-width: 100% !important;
}

.woocommerce-account select {
	appearance: none;
	background-image: linear-gradient(45deg, transparent 50%, #c4c8d0 50%), linear-gradient(135deg, #c4c8d0 50%, transparent 50%);
	background-position: calc(100% - 16px) calc(50% - 3px), calc(100% - 11px) calc(50% - 3px);
	background-size: 5px 5px, 5px 5px;
	background-repeat: no-repeat;
	padding-right: 2.25rem;
	width: 100%;
	background-color: #252a36 !important;
	border: 1px solid rgba(255, 255, 255, 0.22) !important;
	border-radius: var(--radius);
	color: #f2f3f5 !important;
	padding: 0.85rem 1rem;
	font-family: var(--font-body);
	font-size: 0.95rem;
	line-height: 1.35;
	box-shadow: none;
	caret-color: #fff;
}

.woocommerce-account .password-input {
	display: block;
	position: relative;
	width: 100%;
}

.woocommerce-account .password-input input.input-text,
.woocommerce-account .password-input input[type='password'],
.woocommerce-account .password-input input[type='text'] {
	padding-right: 2.85rem !important;
}

.jdm-auth__form .show-password-input,
.woocommerce-account .show-password-input,
.woocommerce-account .password-input .show-password-input {
	position: absolute !important;
	right: 0.55rem;
	top: 50%;
	transform: translateY(-50%);
	z-index: 3;
	width: 2.1rem;
	height: 2.1rem;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.08) !important;
	border: 1px solid rgba(255, 255, 255, 0.18) !important;
	border-radius: var(--radius);
	color: #f2f3f5 !important;
	cursor: pointer;
	padding: 0 !important;
	opacity: 1 !important;
	filter: none !important;
	box-shadow: none !important;
}

.jdm-auth__form .show-password-input:hover,
.woocommerce-account .show-password-input:hover {
	background: rgba(255, 255, 255, 0.14) !important;
	color: #fff !important;
}

/* WooCore often paints the eye via ::before / background — force visibility */
.woocommerce-account .show-password-input::before,
.woocommerce-account .show-password-input::after {
	color: #f2f3f5 !important;
	opacity: 1 !important;
	filter: none !important;
}

.woocommerce-account .woocommerce-input-wrapper {
	display: block;
	width: 100%;
}

.woocommerce-account .form-row {
	margin-bottom: 1rem;
	padding: 0;
	float: none;
	width: 100% !important;
}

.woocommerce-account label,
.woocommerce-account .woocommerce-form-row label {
	color: var(--text-body) !important;
}

.woocommerce-account .required {
	color: var(--primary-hover) !important;
}

/* Kill Woo blue info glyph that clips into “No saved methods…” text */
.woocommerce-account .woocommerce-message::before,
.woocommerce-account .woocommerce-info::before,
.woocommerce-account .woocommerce-error::before,
.woocommerce-account .woocommerce-noreviews::before,
.woocommerce-account .wc-block-components-notice-banner::before {
	display: none !important;
	content: none !important;
}

.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-error,
.woocommerce-account .woocommerce-noreviews {
	border-radius: var(--radius) !important;
	border: 1px solid var(--border) !important;
	background: var(--bg-elevated) !important;
	color: var(--text-body) !important;
	padding: 1rem 1.15rem !important;
	margin: 0 0 1.25rem !important;
	list-style: none !important;
	box-shadow: none !important;
}

.woocommerce-account .woocommerce-info {
	border-color: rgba(255, 255, 255, 0.14) !important;
}

.woocommerce-account .woocommerce-error {
	border-color: rgba(214, 31, 38, 0.45) !important;
}

.jdm-account-empty {
	padding: 1.5rem 0 0.5rem;
	max-width: 36rem;
}

.jdm-account-empty h2 {
	font-family: var(--font-display);
	font-size: 1.35rem;
	margin: 0 0 0.65rem;
	color: var(--text);
}

.jdm-account-empty p {
	margin: 0 0 1.15rem;
	color: var(--text-muted);
	line-height: 1.55;
}

.jdm-account-empty--compact {
	padding-top: 0.25rem;
}

.jdm-account-empty__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem 1.25rem;
	align-items: center;
}

.jdm-account-empty__secondary {
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--text) !important;
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* MFA (My Account → Security) — compact OTP, not a full-width bar */
.jdm-mfa {
	max-width: 28rem;
}

.jdm-mfa__title {
	font-family: var(--font-display);
	font-size: 1.25rem;
	margin: 0 0 0.4rem;
	color: var(--text);
}

.jdm-mfa__lead,
.jdm-mfa__hint,
.jdm-mfa__status {
	margin: 0 0 1rem;
	color: var(--text-muted);
	font-size: 0.9rem;
	line-height: 1.45;
}

.jdm-mfa__status {
	color: var(--text-body);
	font-weight: 600;
}

.jdm-mfa__card {
	padding: 1.15rem 1.25rem;
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	background: var(--bg-elevated);
}

.jdm-mfa__qr {
	display: inline-block;
	padding: 0.65rem;
	margin: 0 0 0.85rem;
	background: #fff;
	border-radius: var(--radius);
}

.jdm-mfa__secret {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem 0.65rem;
	margin: 0 0 1rem;
	font-size: 0.8rem;
	color: var(--text-muted);
}

.jdm-mfa__secret code {
	font-size: 0.78rem;
	letter-spacing: 0.04em;
	padding: 0.25rem 0.45rem;
	background: var(--bg);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	color: var(--text);
	word-break: break-all;
}

.jdm-mfa__form {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.55rem;
}

.jdm-mfa__label {
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	color: var(--text-muted);
	margin: 0;
}

.jdm-mfa__code,
.woocommerce-account .jdm-mfa__code,
.woocommerce-account input.jdm-mfa__code {
	width: 11.5rem !important;
	max-width: 100% !important;
	box-sizing: border-box;
	padding: 0.65rem 0.75rem !important;
	font-size: 1.35rem !important;
	font-weight: 700;
	letter-spacing: 0.35em;
	text-align: center;
	font-variant-numeric: tabular-nums;
	background: var(--bg-input) !important;
	border: 1px solid var(--border-strong) !important;
	border-radius: var(--radius) !important;
	color: var(--text) !important;
}

.jdm-mfa__code::placeholder {
	letter-spacing: 0.35em;
	color: var(--text-muted);
	opacity: 0.55;
}

.jdm-mfa__form .button {
	margin-top: 0.25rem;
}

/* Payment methods (account) + add card */
.jdm-payment-methods,
.jdm-add-payment {
	max-width: 40rem;
}

.jdm-payment-methods__header,
.jdm-add-payment__header {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.85rem 1.25rem;
	margin: 0 0 1.25rem;
}

.jdm-payment-methods__title,
.jdm-add-payment__title {
	margin: 0 0 0.35rem;
	font-family: var(--font-display);
	font-size: 1.35rem;
	color: var(--text);
}

.jdm-payment-methods__lead,
.jdm-add-payment__lead {
	margin: 0;
	font-size: 0.9rem;
	color: var(--text-muted);
	line-height: 1.45;
	max-width: 36ch;
}

.jdm-add-payment__back {
	display: inline-block;
	margin-top: 0.65rem;
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--text-muted) !important;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.jdm-payment-methods__empty {
	padding: 1.25rem 1.35rem;
	border: 1px dashed var(--border-strong);
	border-radius: var(--radius-lg);
	background: rgba(255, 255, 255, 0.02);
}

.jdm-payment-methods__empty p {
	margin: 0 0 1rem;
	color: var(--text-muted);
	line-height: 1.5;
}

.jdm-payment-methods__group {
	margin: 0 0 1.5rem;
}

.jdm-payment-methods__group-title {
	margin: 0 0 0.65rem;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--text-muted);
}

.jdm-payment-methods__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}

.jdm-payment-methods__card {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.65rem 1rem;
	padding: 0.85rem 1rem;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	background: var(--bg-elevated);
}

.jdm-payment-methods__card.is-default {
	border-color: rgba(214, 31, 38, 0.35);
}

.jdm-payment-methods__card-main {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.45rem 0.75rem;
	min-width: 0;
}

.jdm-payment-methods__brand {
	font-weight: 700;
	color: var(--text);
	font-size: 0.9rem;
}

.jdm-payment-methods__last4 {
	font-variant-numeric: tabular-nums;
	color: var(--text-body);
	letter-spacing: 0.04em;
}

.jdm-payment-methods__expires {
	font-size: 0.8rem;
	color: var(--text-muted);
}

.jdm-payment-methods__badge {
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 0.2rem 0.4rem;
	border-radius: var(--radius);
	background: var(--primary-soft);
	color: var(--primary-hover);
}

.jdm-payment-methods__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.85rem;
}

.jdm-payment-methods__action {
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--text) !important;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.jdm-payment-methods__action--delete,
.jdm-payment-methods__action--remove {
	color: var(--text-muted) !important;
}

.jdm-add-payment__form #payment,
.woocommerce-account #add_payment_method #payment,
.woocommerce-account .jdm-add-payment #payment {
	background: var(--bg-elevated) !important;
	border: 1px solid var(--border) !important;
	border-radius: var(--radius-lg) !important;
	padding: 1.1rem 1.2rem !important;
	max-width: none;
}

.woocommerce-account #add_payment_method #payment ul.payment_methods,
.jdm-add-payment #payment ul.payment_methods {
	list-style: none !important;
	margin: 0 0 1rem !important;
	padding: 0 !important;
	border: none !important;
}

.woocommerce-account #add_payment_method #payment ul.payment_methods > li,
.jdm-add-payment #payment ul.payment_methods > li {
	list-style: none !important;
	margin: 0 0 0.55rem !important;
	padding: 0.75rem 0.85rem !important;
	border: 1px solid var(--border) !important;
	border-radius: var(--radius) !important;
	background: transparent !important;
	overflow: visible !important;
}

.woocommerce-account #add_payment_method #payment ul.payment_methods > li > label,
.jdm-add-payment #payment ul.payment_methods > li > label {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: center;
	gap: 0.5rem;
	margin: 0 !important;
	color: var(--text) !important;
	font-weight: 600;
}

.woocommerce-account #add_payment_method .payment_box,
.jdm-add-payment .payment_box {
	margin-top: 0.75rem !important;
	padding: 0.85rem 0.9rem !important;
	background: var(--bg) !important;
	border: 1px solid var(--border) !important;
	border-radius: var(--radius) !important;
	color: var(--text-muted) !important;
	font-size: 0.85rem !important;
	overflow: visible !important;
}

.woocommerce-account #add_payment_method .payment_box::before,
.jdm-add-payment .payment_box::before {
	display: none !important;
}

/* Stripe Elements on account add-card — dark surface */
.woocommerce-account .StripeElement,
.jdm-add-payment .StripeElement,
.woocommerce-account .wc-stripe-elements-field,
.woocommerce-account .wc-stripe-iban-element-field {
	background: var(--bg-input) !important;
	border: 1px solid var(--border-strong) !important;
	border-radius: var(--radius) !important;
	padding: 0.65rem 0.75rem !important;
	color: var(--text) !important;
}

.woocommerce-account .woocommerce-MyAccount-paymentMethods {
	display: none; /* legacy table template unused */
}

.jdm-account-panel {
	margin-bottom: 2rem;
	padding-bottom: 1.75rem;
	border-bottom: 1px solid var(--border);
}

.jdm-account-panel:last-of-type {
	border-bottom: none;
}

.jdm-account-panel__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 0.85rem;
}

.jdm-account-panel__title {
	margin: 0 0 0.85rem;
	font-family: var(--font-display);
	font-size: 1.15rem;
	color: var(--text);
}

.jdm-account-panel__head .jdm-account-panel__title {
	margin: 0;
}

.jdm-account-panel__link {
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--text-muted) !important;
	text-decoration: none;
}

.jdm-account-panel__link:hover {
	color: var(--primary-hover) !important;
}

.jdm-account-orders {
	display: flex;
	flex-direction: column;
	border-top: 1px solid var(--border);
}

.jdm-account-orders__row {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) auto auto;
	gap: 0.75rem 1rem;
	align-items: center;
	padding: 0.9rem 0.1rem;
	border-bottom: 1px solid var(--border);
	text-decoration: none;
	color: inherit;
}

.jdm-account-orders__row:hover .jdm-account-orders__num {
	color: var(--primary-hover);
}

.jdm-account-orders__num {
	display: block;
	font-weight: 700;
	color: var(--text);
}

.jdm-account-orders__date {
	display: block;
	font-size: 0.8rem;
	color: var(--text-muted);
	margin-top: 0.15rem;
}

.jdm-account-orders__status {
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--text-body);
	text-align: right;
}

.jdm-account-orders__total {
	font-family: var(--font-display);
	font-weight: 700;
	color: var(--text);
	text-align: right;
}

@media (max-width: 720px) {
	.jdm-account-orders__row {
		grid-template-columns: 1fr auto;
	}

	.jdm-account-orders__status {
		grid-column: 2;
		grid-row: 1;
	}

	.jdm-account-orders__total {
		grid-column: 2;
		grid-row: 2;
	}
}

.jdm-auth__form .input-text:focus,
.woocommerce-account .woocommerce-Input:focus,
.woocommerce-account input.input-text:focus,
.woocommerce-account input[type='text']:focus,
.woocommerce-account input[type='email']:focus,
.woocommerce-account input[type='tel']:focus,
.woocommerce-account input[type='password']:focus,
.woocommerce-account textarea:focus,
.woocommerce-account select:focus {
	outline: none;
	border-color: rgba(214, 31, 38, 0.7) !important;
	box-shadow: 0 0 0 3px rgba(214, 31, 38, 0.16);
}

.jdm-auth__row-actions {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	flex-wrap: wrap;
	margin-bottom: 1.15rem !important;
}

.jdm-auth__row-actions .woocommerce-form__label-for-checkbox {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	margin: 0;
	font-size: 0.85rem;
	color: var(--text-body);
	cursor: pointer;
}

.jdm-auth__lost {
	font-size: 0.85rem;
	color: var(--text-muted) !important;
	text-decoration: none;
}

.jdm-auth__lost:hover {
	color: var(--primary-hover) !important;
}

.jdm-auth__form .button,
.woocommerce-account .button,
.woocommerce-account button.button,
.woocommerce-account a.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--primary);
	color: #fff !important;
	border: none;
	border-radius: var(--radius);
	padding: 0.85rem 1.35rem;
	font-weight: 700;
	font-size: 0.8rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	cursor: pointer;
	text-decoration: none;
	line-height: 1.2;
}

.jdm-auth__form .button:hover,
.woocommerce-account .button:hover,
.woocommerce-account a.button:hover {
	background: var(--primary-hover);
}

.woocommerce-account table.shop_table {
	width: 100%;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	border-collapse: collapse;
	overflow: visible;
	background: transparent;
}

.woocommerce-account table.shop_table th,
.woocommerce-account table.shop_table td {
	border-color: var(--border);
	padding: 0.85rem 1rem;
	text-align: left;
	vertical-align: middle;
}

.woocommerce-account table.shop_table thead th {
	background: rgba(255, 255, 255, 0.03);
	font-size: 0.75rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--text-muted);
}

@media (max-width: 768px) {
	.woocommerce-account table.shop_table_responsive thead {
		display: none;
	}

	.woocommerce-account table.shop_table_responsive tr {
		display: block;
		border: 1px solid var(--border);
		border-radius: var(--radius);
		margin: 0 0 0.85rem;
		padding: 0.65rem 0.85rem;
		background: rgba(255, 255, 255, 0.02);
	}

	.woocommerce-account table.shop_table_responsive td {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		gap: 1rem;
		border: none !important;
		border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
		padding: 0.55rem 0 !important;
		text-align: right !important;
		width: 100% !important;
	}

	.woocommerce-account table.shop_table_responsive td:last-child {
		border-bottom: none !important;
	}

	.woocommerce-account table.shop_table_responsive td::before {
		content: attr(data-title);
		float: none !important;
		font-weight: 600;
		font-size: 0.75rem;
		letter-spacing: 0.04em;
		text-transform: uppercase;
		color: var(--text-muted);
		text-align: left;
		flex: 0 0 42%;
	}

	.woocommerce-account table.shop_table_responsive td a.button {
		display: inline-block;
		margin: 0.15rem 0 0.15rem 0.35rem;
	}
}

.jdm-verify-resend {
	margin-top: 1.25rem;
	padding-top: 1.15rem;
	border-top: 1px solid var(--border);
}

/* Card treatment matching the auth panels above it — the resend form used to
   float naked on the page background. */
.jdm-verify-resend--below {
	max-width: 52rem;
	margin: 1.5rem auto 0;
	padding: 1.35rem 1.4rem 1.5rem;
	background: rgba(255, 255, 255, 0.02);
	border: 1px solid var(--border);
	border-radius: var(--radius);
}

.jdm-verify-resend__label {
	margin: 0 0 0.55rem;
	font-family: var(--font-display);
	font-size: 0.95rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--text);
}

.jdm-verify-resend__form {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 0.5rem;
	align-items: center;
}

.jdm-verify-resend__form .input-text {
	margin: 0;
	/* Match the auth form inputs — the plugin's bare input otherwise renders
	   at browser-default size (20px vs the themed ~50px). */
	padding: 0.85rem 1rem;
	font-size: 0.95rem;
	line-height: 1.4;
}

.jdm-verify-resend__form .button {
	white-space: nowrap;
}

@media (max-width: 560px) {
	.jdm-verify-resend__form {
		grid-template-columns: 1fr;
	}
}

.jdm-view-order__status {
	margin: 0 0 1.5rem;
	color: var(--text-body);
	line-height: 1.55;
}

.jdm-view-order__status mark {
	background: transparent;
	color: var(--text);
	font-weight: 700;
}

.jdm-edit-account {
	max-width: 40rem;
}

.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-error,
.woocommerce-account .woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-account .woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-account .woocommerce-notices-wrapper .woocommerce-error {
	border-radius: var(--radius) !important;
	border: 1px solid var(--border) !important;
	background: var(--bg-elevated) !important;
	color: var(--text-body) !important;
	padding: 1rem 1.15rem !important;
	margin-bottom: 1.25rem !important;
	list-style: none !important;
}

.woocommerce-account .woocommerce-message::before,
.woocommerce-account .woocommerce-info::before,
.woocommerce-account .woocommerce-error::before,
.woocommerce-account .woocommerce-notices-wrapper .woocommerce-message::before,
.woocommerce-account .woocommerce-notices-wrapper .woocommerce-info::before,
.woocommerce-account .woocommerce-notices-wrapper .woocommerce-error::before {
	display: none !important;
	content: none !important;
}

.woocommerce-account .woocommerce-error {
	border-color: rgba(214, 31, 38, 0.45) !important;
}

.woocommerce-account .woocommerce-EditAccountForm fieldset {
	border: 1px solid var(--border);
	border-radius: var(--radius);
	padding: 1.15rem 1.25rem;
	margin: 0 0 1.25rem;
}

.woocommerce-account .woocommerce-EditAccountForm legend {
	padding: 0 0.4rem;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--text-muted);
}

/* Cart empty / notices polish */
.woocommerce-cart .cart-empty,
.woocommerce-info {
	border-radius: var(--radius-lg);
}

/* Product UX — trust, sticky CTA, empty states */
.jdm-product-meta {
	margin: 0.35rem 0 1rem;
}

.jdm-product-meta__sku {
	margin: 0 0 0.65rem;
	font-size: 0.82rem;
	color: var(--text-muted);
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.jdm-product-meta__sku code {
	font-family: var(--font-body);
	font-weight: 700;
	color: var(--text);
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	padding: 0.2rem 0.45rem;
}

.jdm-product-meta__fitment {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
}

.jdm-product-meta__fitment li {
	display: inline-flex;
	flex-direction: column;
	gap: 0.1rem;
	padding: 0.45rem 0.65rem;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	background: rgba(255, 255, 255, 0.02);
	min-width: 5.5rem;
}

.jdm-product-meta__label {
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--text-muted);
}

.jdm-product-meta__value {
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--text);
}

.jdm-product-trust {
	list-style: none;
	margin: 1.15rem 0 0.75rem;
	padding: 0.85rem 0 0;
	border-top: 1px solid var(--border);
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}

.jdm-product-trust li {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	font-size: 0.84rem;
	color: var(--text-body);
	line-height: 1.4;
}

.jdm-product-trust i {
	color: var(--primary-hover);
	margin-top: 0.15rem;
	width: 1rem;
	text-align: center;
}

.jdm-product-quote {
	margin: 0.35rem 0 0;
	font-size: 0.88rem;
}

.jdm-product-quote a {
	color: var(--text-muted);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.jdm-product-quote a:hover {
	color: var(--text);
}

.jdm-checkout-note {
	display: flex;
	gap: 0.5rem;
	align-items: center;
	margin: 0 0 0.85rem;
	padding: 0.5rem 0.75rem;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	background: rgba(214, 31, 38, 0.06);
}

.jdm-checkout-note i {
	color: var(--primary-hover);
	margin-top: 0;
	font-size: 0.85rem;
	flex-shrink: 0;
}

.jdm-checkout-note p {
	margin: 0;
	font-size: 0.8125rem;
	color: var(--text-muted);
	line-height: 1.35;
}

.jdm-empty-state {
	text-align: center;
	padding: clamp(2rem, 5vw, 3.5rem) 1.25rem;
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	background: var(--bg-elevated);
	max-width: 32rem;
	margin: 1.5rem auto;
}

.jdm-empty-state__icon {
	width: 52px;
	height: 52px;
	margin: 0 auto 1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	border: 1px solid var(--border);
	color: var(--primary-hover);
	font-size: 1.15rem;
}

.jdm-empty-state__title {
	margin: 0 0 0.5rem;
	font-family: var(--font-display);
	font-size: 1.35rem;
	color: var(--text);
}

.jdm-empty-state__lead {
	margin: 0 0 1.25rem;
	color: var(--text-muted);
	font-size: 0.95rem;
}

.jdm-empty-state__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.25rem;
	justify-content: center;
	align-items: center;
}

.jdm-empty-state__link {
	color: var(--text-body);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.jdm-sticky-cta {
	display: none;
}

@media (max-width: 768px) {
	.jdm-sticky-cta {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 0.75rem;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 990;
		padding: 0.75rem var(--container-pad) calc(0.75rem + env(safe-area-inset-bottom, 0px));
		background: #0a0b0d;
		border-top: 1px solid var(--border);
		box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.35);
	}

	body.single-product {
		padding-bottom: 5.5rem;
	}

	body.nav-open .jdm-sticky-cta {
		display: none;
	}

	.jdm-sticky-cta__price {
		display: flex;
		flex-direction: column;
		min-width: 0;
	}

	.jdm-sticky-cta__label {
		font-size: 0.65rem;
		font-weight: 700;
		letter-spacing: 0.06em;
		text-transform: uppercase;
		color: var(--text-muted);
	}

	.jdm-sticky-cta__amount {
		font-size: 1rem;
		font-weight: 700;
		color: var(--text);
		white-space: nowrap;
	}

	.jdm-sticky-cta__amount del {
		display: none;
	}

	.jdm-sticky-cta__actions {
		display: flex;
		gap: 0.45rem;
		flex-shrink: 0;
	}

	.jdm-sticky-cta__btn {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 0.7rem 0.85rem;
		border-radius: var(--radius);
		font-size: 0.72rem;
		font-weight: 700;
		letter-spacing: 0.04em;
		text-transform: uppercase;
		text-decoration: none;
		border: 1px solid var(--border);
	}

	.jdm-sticky-cta__btn--cart {
		background: var(--primary);
		border-color: var(--primary);
		color: #fff;
	}

	.jdm-sticky-cta__btn--call {
		background: var(--bg-elevated);
		color: var(--text);
	}
}

@media (prefers-reduced-motion: reduce) {
	.jdm-sticky-cta {
		transition: none;
	}
}

/* --- RESPONSIVE --- */
@media (max-width: 1100px) {
	.vehicle-filter-form {
		grid-template-columns: 1fr 1fr;
	}

	.jdm-search-field {
		grid-column: 1 / -1;
	}

	.vehicle-filter-form .btn-primary {
		grid-column: 1 / -1;
	}

	.jdm-filter-clear {
		grid-column: 1 / -1;
		text-align: center;
	}

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

	.terms-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 900px) {
	.about-grid,
	.faq-layout,
	.contact-grid,
	.trust-strip__grid {
		grid-template-columns: 1fr;
	}

	.hero-section {
		min-height: min(88vh, 700px);
		align-items: flex-end;
	}
}

@media (max-width: 768px) {
	.main-navigation {
		display: none;
	}

	.menu-toggle {
		display: flex;
	}

	.account-link__label {
		display: none;
	}

	.account-link__name {
		max-width: 5.5rem;
		font-size: 0.75rem;
	}

	body.logged-in.woocommerce-account .woocommerce {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}

	.jdm-account-nav {
		position: static;
	}

	.woocommerce-MyAccount-navigation ul {
		flex-direction: row;
		flex-wrap: wrap;
		border-left: none;
		gap: 0.35rem;
		padding-bottom: 0.35rem;
		border-bottom: 1px solid var(--border);
	}

	.woocommerce-MyAccount-navigation a {
		padding: 0.45rem 0.7rem;
		margin-left: 0;
		border-left: none;
		border-bottom: 2px solid transparent;
		font-size: 0.8rem;
	}

	.woocommerce-MyAccount-navigation .is-active a,
	.woocommerce-MyAccount-navigation a[aria-current='page'] {
		border-left-color: transparent;
		border-bottom-color: var(--primary);
	}

	.woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--customer-logout a {
		margin-top: 0;
		padding-top: 0.45rem;
		border-top: none;
	}

	.jdm-auth__grid--split {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}

	.jdm-auth__grid--split .jdm-auth__panel--register {
		padding-left: 0;
		padding-top: 0;
		border-left: none;
		border-top: none;
	}

	.hero-content h1 {
		font-size: 1.85rem;
	}

	.hero-cta-group {
		flex-direction: column;
		align-items: stretch;
	}

	.hero-cta-group .btn-primary,
	.hero-cta-group .btn-secondary {
		width: 100%;
	}

	.content-page__article {
		padding: 1.5rem;
	}
}

@media (max-width: 560px) {
	.new-arrivals-grid {
		grid-template-columns: 1fr;
	}
}

/* --- Related products + order thank-you --- */
.related.products {
	margin-top: clamp(3rem, 6vw, 5rem);
	padding-top: clamp(2rem, 4vw, 3rem);
	border-top: 1px solid var(--border);
	width: 100%;
	max-width: 100%;
	overflow-x: clip;
	box-sizing: border-box;
}

.related.products > h2 {
	font-family: var(--font-display);
	font-size: clamp(1.5rem, 3vw, 1.85rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	margin: 0 0 1.25rem;
}

.related.products ul.products,
.related.products ul.products.columns-2,
.related.products ul.products.columns-3,
.related.products ul.products.columns-4 {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 1.25rem !important;
	list-style: none;
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
}

.related.products ul.products li.product {
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	margin: 0 !important;
	clear: none !important;
	min-width: 0;
}

@media (min-width: 901px) {
	.related.products ul.products,
	.related.products ul.products.columns-2,
	.related.products ul.products.columns-4 {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 560px) {
	.related.products ul.products,
	.related.products ul.products.columns-2,
	.related.products ul.products.columns-4 {
		grid-template-columns: 1fr !important;
		gap: 1rem !important;
	}
}

.jdm-thankyou-next {
	margin: 2rem 0 0;
	padding: 1.5rem 1.75rem;
	background: var(--bg-panel);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
}

.jdm-thankyou-next__title {
	font-family: var(--font-display);
	font-size: 1.25rem;
	margin: 0 0 0.85rem;
}

.jdm-thankyou-next__list {
	margin: 0;
	padding-left: 1.25rem;
	color: var(--text-body);
	line-height: 1.55;
}

.jdm-thankyou-next__list li + li {
	margin-top: 0.5rem;
}

.jdm-thankyou-next a {
	color: var(--primary);
}

/* --- Product gallery --- */
.woocommerce-product-gallery {
	position: relative;
}

.woocommerce-product-gallery__trigger {
	outline-offset: 2px;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image a:focus-visible {
	outline: 2px solid var(--primary);
	outline-offset: 2px;
}

.woocommerce div.product div.images .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0.5rem;
	margin-top: 0.75rem;
}

.woocommerce div.product div.images .flex-control-thumbs li {
	width: auto !important;
	margin: 0 !important;
}

.woocommerce div.product div.images .flex-control-thumbs img {
	border: 1px solid var(--border);
	border-radius: var(--radius);
	opacity: 0.75;
	transition: opacity 0.2s var(--ease), border-color 0.2s var(--ease);
}

.woocommerce div.product div.images .flex-control-thumbs img:hover,
.woocommerce div.product div.images .flex-control-thumbs .flex-active {
	opacity: 1;
	border-color: var(--border-strong);
}

@media (prefers-reduced-motion: reduce) {
	.woocommerce div.product div.images .flex-control-thumbs img {
		transition: none;
	}

	.woocommerce ul.products li.product:hover img,
	.product-card-media:hover img,
	.arrivals-spotlight:hover .arrivals-media img,
	.arrivals-tile:hover .arrivals-media--tile img {
		transform: none !important;
	}
}

/* --- 404 (2.4.8) --- */
.jdm-404 {
	padding: clamp(3.5rem, 9vw, 6.5rem) 0;
	text-align: center;
}

.jdm-404__code {
	font-family: var(--font-display);
	font-size: clamp(4.5rem, 14vw, 8.5rem);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.04em;
	color: var(--text);
	margin: 0.75rem 0 0;
	background: linear-gradient(180deg, #fff 30%, rgba(255, 255, 255, 0.35) 75%, rgba(214, 31, 38, 0.55));
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

.jdm-404 .section-title {
	margin: 0.5rem 0 0.75rem;
}

.jdm-404 .section-sub {
	max-width: 34rem;
	margin: 0 auto 1.75rem;
}

.jdm-404__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem;
	margin-bottom: 2rem;
}

.jdm-404 .jdm-search-form {
	max-width: 26rem;
	margin: 0 auto;
}

/* --- Theme search form (2.4.8: dark, matches filter inputs) --- */
.jdm-search-form {
	display: flex;
	gap: 0.6rem;
}

.jdm-search-form__input {
	flex: 1 1 auto;
	min-width: 0;
	padding: 0.9rem 1rem;
	background: var(--bg-input);
	color: var(--text);
	border: 1px solid var(--border-strong);
	border-radius: var(--radius);
	font-family: var(--font-body);
	font-size: 0.95rem;
}

.jdm-search-form__input::placeholder {
	color: var(--text-muted);
}

.jdm-search-form__input:focus {
	outline: none;
	border-color: var(--primary);
	box-shadow: var(--ring-red);
}

.jdm-search-form .btn-primary {
	white-space: nowrap;
}

/* --- Announcement bar (2.4.9) --- */
.jdm-announce {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.5rem 3rem 0.5rem 1rem;
	background: linear-gradient(90deg, #8f1016, #d61f26 50%, #8f1016);
	color: #fff;
	font-size: 0.82rem;
	text-align: center;
}

.jdm-announce__text {
	margin: 0;
	line-height: 1.45;
}

.jdm-announce__text a {
	color: #fff;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 2px;
	white-space: nowrap;
}

.jdm-announce__text a:hover {
	color: #fff;
	opacity: 0.85;
}

.jdm-announce__dismiss {
	position: absolute;
	top: 50%;
	right: 0.35rem;
	transform: translateY(-50%);
	background: transparent;
	border: 0;
	border-radius: var(--radius);
	color: rgba(255, 255, 255, 0.8);
	font-size: 1.25rem;
	line-height: 1;
	padding: 0.3rem 0.6rem;
	cursor: pointer;
}

.jdm-announce__dismiss:hover {
	color: #fff;
	background: rgba(0, 0, 0, 0.18);
}

/* --- Hero stats (2.4.9) --- */
.hero-stats {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 2.25rem;
	margin: 2rem 0 0;
	padding: 1.4rem 0 0;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.hero-stats li {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
}

.hero-stats strong {
	font-family: var(--font-display);
	font-size: 1.45rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	color: #fff;
	line-height: 1.1;
}

.hero-stats span {
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--text-muted);
}

/* --- Product spec table (2.4.9) --- */
.jdm-spec-table {
	margin: 0 0 1.25rem;
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	overflow: hidden;
	background: var(--bg-panel);
}

.jdm-spec-row {
	display: grid;
	grid-template-columns: 9.5rem 1fr;
	gap: 1rem;
	padding: 0.65rem 1rem;
}

.jdm-spec-row + .jdm-spec-row {
	border-top: 1px solid var(--border);
}

.jdm-spec-row dt {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--text-muted);
	padding-top: 0.2rem;
}

.jdm-spec-row dd {
	margin: 0;
	color: var(--text-body);
	font-size: 0.92rem;
	line-height: 1.55;
}

@media (max-width: 560px) {
	.hero-stats {
		gap: 0.75rem 1.5rem;
	}

	.hero-stats strong {
		font-size: 1.2rem;
	}

	.jdm-spec-row {
		grid-template-columns: 1fr;
		gap: 0.15rem;
	}

	.jdm-spec-row dt {
		padding-top: 0;
	}
}

/* --- Fitment checker (2.5.0) --- */
.jdm-fitment {
	margin: 1.25rem 0;
	padding: 1.25rem 1.25rem 1rem;
	background: var(--bg-panel);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
}

.jdm-fitment__title {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	font-size: 1rem;
	margin: 0 0 0.9rem;
}

.jdm-fitment__title i {
	color: var(--primary-hover);
}

.jdm-fitment__form {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr auto;
	gap: 0.6rem;
}

.jdm-fitment__form select {
	width: 100%;
	padding: 0.8rem 2.25rem 0.8rem 0.9rem;
	background-color: var(--bg-input);
	color: var(--text);
	border: 1px solid var(--border-strong);
	border-radius: var(--radius);
	font-family: var(--font-body);
	font-size: 0.9rem;
	appearance: none;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a909c' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 14px;
}

.jdm-fitment__form select:focus {
	outline: none;
	border-color: var(--primary);
	box-shadow: var(--ring-red);
}

.jdm-fitment__form .btn-secondary {
	white-space: nowrap;
}

.jdm-fitment__verdict {
	margin: 0.85rem 0 0;
	padding: 0.7rem 0.95rem;
	border-radius: var(--radius);
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.5;
}

.jdm-fitment__verdict.is-fit {
	background: rgba(46, 160, 67, 0.12);
	border: 1px solid rgba(46, 160, 67, 0.45);
	color: #7ee2a0;
}

.jdm-fitment__verdict.is-miss {
	background: rgba(214, 31, 38, 0.1);
	border: 1px solid rgba(214, 31, 38, 0.45);
	color: #ffb3b6;
}

.jdm-fitment__verdict.is-warn {
	background: rgba(201, 162, 39, 0.1);
	border: 1px solid rgba(201, 162, 39, 0.4);
	color: #e0c35a;
}

.jdm-fitment__note {
	margin: 0.7rem 0 0;
	font-size: 0.78rem;
	color: var(--text-muted);
}

@media (max-width: 560px) {
	.jdm-fitment__form {
		grid-template-columns: 1fr 1fr;
	}

	.jdm-fitment__form .btn-secondary {
		grid-column: 1 / -1;
	}
}

/* --- Cart badge pop (2.5.0) --- */
@keyframes jdmBadgePop {
	0% { transform: scale(0.4); }
	55% { transform: scale(1.25); }
	100% { transform: scale(1); }
}

.cart-count--pop {
	animation: jdmBadgePop 0.35s var(--ease);
}

@media (prefers-reduced-motion: reduce) {
	.cart-count--pop {
		animation: none;
	}
}

/* ==========================================================================
   THIRD-PARTY STOCK SWEEP (2.5.20) — close every surface WooCommerce's stock
   stylesheet still owned. Root cause of the 2.5.19 checkout-button miss:
   Woo 11 paints buttons/prices/notices/forms from its own :root tokens and
   legacy hardcoded selectors, and the theme had only styled components one
   by one — anything unvisited leaked stock purple/white. Rules below are
   the floor: every earlier, more specific theme rule still wins on top.
   ========================================================================== */

/* Woo's design tokens → brand tokens (catches anything not covered below). */
:root {
	--wc-primary: #d61f26;
	--wc-primary-text: #fff;
	--wc-secondary: #161922;
	--wc-secondary-text: #f2f3f5;
	--wc-highlight: #f0343b;
	--wc-highligh-text: #fff; /* upstream typo is Woo's own spelling */
	--wc-highlight-text: #fff; /* in case the typo is ever fixed upstream */
	--wc-content-bg: #12141a;
	--wc-subtext: #c4c8d0;
	--wc-form-border-color: rgba(255, 255, 255, 0.14);
	--wc-form-border-radius: 8px;
	--wc-form-border-width: 1px;
	--wc-form-text: #f2f3f5;
	--wc-placeholder-bg: #1a1d27;
	--wc-active: #d61f26;
	--wc-red: #d61f26;
	--wc-green: #86b817;
	--wc-blue: #0064d2;
	--wc-orange: #f5af02;
}

/* Stock Woo buttons (base + .alt) — brand gradient floor. Apply coupon,
   Update cart, empty-cart "Browse shop", notice "View cart" all land here.
   Components with their own rules (place order, add-to-cart, account, cart
   checkout) outrank this rule and keep their treatment. */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	background: linear-gradient(180deg, #ef2f36 0%, #d61f26 48%, #b5121a 100%) !important;
	color: #fff !important;
	border: 1px solid transparent !important;
	border-radius: var(--radius);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	line-height: 1.2;
	padding: 0.85rem 1.35rem;
	box-shadow: 0 10px 26px rgba(214, 31, 38, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.18);
	text-shadow: none;
	text-decoration: none;
	transition: filter 0.25s var(--ease), transform 0.25s var(--ease), box-shadow 0.25s var(--ease);
}

.woocommerce a.button:hover:not(.premium-add-to-cart),
.woocommerce button.button:hover:not(.premium-add-to-cart),
.woocommerce input.button:hover:not(.premium-add-to-cart),
.woocommerce #respond input#submit:hover:not(.premium-add-to-cart) {
	filter: brightness(1.08);
	transform: translateY(-1px);
	color: #fff !important;
	box-shadow: 0 14px 34px rgba(214, 31, 38, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.woocommerce a.button:disabled,
.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled],
.woocommerce input.button:disabled,
.woocommerce input.button:disabled[disabled],
.woocommerce a.button:disabled:hover,
.woocommerce button.button:disabled:hover {
	opacity: 0.55;
	filter: grayscale(0.3);
	transform: none;
	cursor: not-allowed;
	box-shadow: none;
}

/* Native checkboxes/radios inside Woo forms get the brand accent. */
.woocommerce input[type='checkbox'],
.woocommerce input[type='radio'] {
	accent-color: var(--primary);
}

/* Stock notices — dark panels with type accents (message=green, info=blue,
   error=red) instead of white boxes on the dark theme. */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	background: var(--bg-panel) !important;
	color: var(--text-body) !important;
	border: 1px solid var(--border-strong) !important;
	border-left: 3px solid var(--primary) !important;
	border-radius: var(--radius);
	box-shadow: 0 14px 34px rgba(0, 0, 0, 0.35);
	list-style: none;
}

.woocommerce-message {
	border-left-color: #86b817 !important;
}

.woocommerce-info {
	border-left-color: #0064d2 !important;
}

.woocommerce-error {
	border-left-color: #e53238 !important;
}

.woocommerce-message::before {
	color: #86b817;
}

.woocommerce-info::before {
	color: #0064d2;
}

.woocommerce-error::before,
.woocommerce-error li::before {
	color: #e53238;
}

.woocommerce ul.woocommerce-error li {
	margin: 0.3em 0;
}

.woocommerce-message a:not(.button),
.woocommerce-info a:not(.button),
.woocommerce-error a:not(.button) {
	color: var(--primary-hover);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Order received (thank you) — Woo's default template had zero theme rules. */
.woocommerce-order-overview,
ul.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details {
	background: var(--bg-panel);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	padding: 1.25rem 1.5rem;
	margin: 0 0 1.5rem;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 2.25rem;
	list-style: none;
}

.woocommerce-order-overview li {
	font-size: 0.9rem;
	color: var(--text-body);
}

.woocommerce-order-overview li strong {
	display: block;
	color: var(--text-muted);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	margin-bottom: 0.2rem;
}

.woocommerce-order-details .woocommerce-table--order-details,
.woocommerce-order-details table.shop_table.order_details {
	background: transparent;
	border: 1px solid var(--border);
	border-radius: var(--radius);
}

.woocommerce-order-details table.shop_table th,
.woocommerce-order-details table.shop_table td {
	border-color: var(--border);
	padding: 0.85rem 1rem;
	text-align: left;
}

.woocommerce-order-details table.shop_table tfoot td,
.woocommerce-order-details table.shop_table tfoot th {
	font-weight: 700;
}

.woocommerce-customer-details address {
	background: var(--bg-panel);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	color: var(--text-body);
	font-style: normal;
	line-height: 1.7;
	padding: 1.25rem 1.5rem;
}

p.woocommerce-notice--success {
	background: var(--bg-panel);
	border: 1px solid var(--border-strong);
	border-left: 3px solid #86b817;
	border-radius: var(--radius);
	color: var(--text-body);
	padding: 1rem 1.25rem;
}

/* Single product price — Woo's stock green (--wc-highlight) leaked here. */
.woocommerce div.product p.price {
	color: var(--text);
	font-weight: 700;
}

.woocommerce div.product p.price del {
	color: var(--text-muted);
	font-weight: 400;
}

.woocommerce div.product p.price ins {
	color: var(--primary-hover);
	text-decoration: none;
}

/* Password strength meter (checkout account creation / my-account). */
.woocommerce-password-strength {
	font-weight: 700;
}

.woocommerce-password-strength.short {
	color: #e53238;
}

.woocommerce-password-strength.bad {
	color: #f5af02;
}

.woocommerce-password-strength.good,
.woocommerce-password-strength.strong {
	color: #86b817;
}

.woocommerce-password-hint {
	color: var(--text-muted);
}

/* Store notice (Woo's stock pink strip, if ever enabled). */
p.woocommerce-store-notice {
	background: var(--primary) !important;
	color: #fff !important;
}

p.woocommerce-store-notice a.woocommerce-store-notice__dismiss-link {
	color: #fff;
	text-decoration: underline;
}

/* My Account order pagination — the archive pagination rules are
   .shop-archive-scoped, so account pages had none. */
.woocommerce-account .woocommerce-pagination ul.page-numbers {
	border: none;
}

.woocommerce-account .woocommerce-pagination ul.page-numbers li {
	border: none;
}

.woocommerce-account .woocommerce-pagination ul.page-numbers li > .page-numbers {
	background: var(--bg-panel);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	color: var(--text-body);
	display: inline-block;
	padding: 0.5rem 0.9rem;
	text-decoration: none;
}

.woocommerce-account .woocommerce-pagination ul.page-numbers li > a.page-numbers:hover {
	border-color: var(--primary);
	color: #fff;
}

.woocommerce-account .woocommerce-pagination ul.page-numbers li > .page-numbers.current {
	background: var(--primary);
	border-color: var(--primary);
	color: #fff;
}
