@font-face {
	font-family: "Halo Grotesk";
	src: url("../fonts/halogrotesk-regular.otf") format("opentype");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

:root {
	--radius: 0.5rem;
	--background: oklch(0.967 0.003 264);
	--foreground: oklch(0.205 0.006 260);
	--card: oklch(1 0 0 / 82%);
	--primary: oklch(0.59 0.22 26);
	--primary-hover: oklch(0.53 0.22 26);
	--primary-foreground: oklch(1 0 0);
	--muted: oklch(0.94 0.004 260);
	--muted-foreground: oklch(0.49 0.012 260);
	--border: oklch(0.86 0.006 260);
	--inverse: oklch(1 0 0);
	--warning: oklch(0.72 0.16 74);
	--success: oklch(0.54 0.14 148);
	--font-display: "Sora", ui-sans-serif, system-ui, sans-serif;
	--font-sans: "Manrope", ui-sans-serif, system-ui, sans-serif;
	--max: 1520px;
}

*,
*::before,
*::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	min-width: 320px;
	font-family: var(--font-sans);
	background: var(--background);
	color: var(--foreground);
	line-height: 1.5;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
svg { width: 1.25rem; height: 1.25rem; display: block; }

.wrap { width: min(100% - 32px, var(--max)); margin-inline: auto; }
@media (min-width: 640px) { .wrap { width: min(100% - 48px, var(--max)); } }

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

/* Top bar */
.topbar {
	background: var(--foreground);
	color: color-mix(in oklab, var(--inverse) 80%, transparent);
	font-size: 11px;
}
.topbar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 8px 0;
}
.topbar__links { display: none; gap: 16px; align-items: center; }
.topbar a { color: inherit; }
.topbar a:hover { color: var(--inverse); }
@media (min-width: 768px) { .topbar__links { display: flex; } }

/* Header */
.site-header {
	position: sticky;
	top: 0;
	z-index: 40;
	background: var(--primary);
	color: var(--inverse);
	border-bottom: 1px solid var(--primary-hover);
}
.site-header__row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 0;
}
.site-logo img { height: 36px; width: auto; }
@media (min-width: 640px) { .site-logo img { height: 36px; } }

.icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	min-height: 40px;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: inherit;
	cursor: pointer;
}
.icon-btn:hover { background: color-mix(in oklab, var(--inverse) 15%, transparent); }

.site-search { display: none; flex: 1; position: relative; min-width: 0; }
.site-search__box {
	display: flex;
	align-items: center;
	gap: 12px;
	height: 48px;
	padding: 0 16px;
	border-radius: 8px;
	background: var(--inverse);
	color: var(--foreground);
}
.site-search__box svg { color: var(--muted-foreground); }
.site-search input {
	width: 100%;
	border: 0;
	background: transparent;
	outline: none;
	font-size: 14px;
}
.site-search input::placeholder { color: var(--muted-foreground); }
@media (min-width: 768px) { .site-search { display: block; } }

.header-actions { display: flex; align-items: center; gap: 4px; margin-left: auto; }
.header-action {
	display: none;
	flex-direction: column;
	align-items: center;
	gap: 2px;
	padding: 6px 12px;
	border-radius: 8px;
	color: var(--inverse);
	position: relative;
}
.header-action:hover { background: color-mix(in oklab, var(--inverse) 15%, transparent); }
.header-action span { font-size: 10px; font-weight: 700; line-height: 1; }
.header-action__count {
	position: absolute;
	top: 0;
	right: 2px;
	min-width: 16px;
	height: 16px;
	padding: 0 4px;
	border-radius: 999px;
	background: var(--foreground);
	color: var(--inverse);
	font-size: 9px;
	font-weight: 800;
	display: grid;
	place-items: center;
}
@media (min-width: 1024px) {
	.header-action { display: inline-flex; }
}
.header-action--icon { display: inline-flex; }
@media (max-width: 1023px) {
	.header-action--icon span:not(.header-action__count) { display: none; }
}

.site-nav {
	display: none;
	align-items: center;
	gap: 4px;
	padding-bottom: 8px;
	font-size: 14px;
	overflow-x: auto;
}
@media (min-width: 768px) { .site-nav { display: flex; } }
.nav-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 36px;
	padding: 0 12px;
	border: 0;
	border-radius: 8px;
	background: var(--foreground);
	color: var(--inverse);
	font-weight: 800;
	cursor: pointer;
	white-space: nowrap;
}
.site-nav a {
	padding: 8px 12px;
	border-radius: 8px;
	color: color-mix(in oklab, var(--inverse) 75%, transparent);
	white-space: nowrap;
	font-weight: 600;
}
.site-nav a:hover,
.site-nav a.is-current { background: color-mix(in oklab, var(--inverse) 15%, transparent); color: var(--inverse); }
.site-nav a.is-promo { color: var(--inverse); font-weight: 800; text-decoration: underline; text-underline-offset: 4px; }
.nav-phone {
	margin-left: auto;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
	border-radius: 8px;
	background: var(--foreground);
	color: var(--inverse) !important;
	font-weight: 800;
	font-size: 14px;
	transition: background 150ms ease;
}
.nav-phone:hover { background: color-mix(in oklab, var(--foreground) 85%, black); }
.nav-phone svg { color: var(--primary); }

.mega {
	display: none;
	position: absolute;
	left: 16px;
	right: 16px;
	top: 100%;
	z-index: 50;
	grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
	gap: 32px;
	padding: 24px;
	border-radius: 8px;
	background: var(--inverse);
	color: var(--foreground);
	border: 1px solid var(--border);
	box-shadow: 0 20px 50px -24px color-mix(in oklab, var(--foreground) 50%, transparent);
}
.mega.is-open { display: grid; }
.mega__banner {
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 16px;
	border-radius: 8px;
	background: var(--foreground);
	color: var(--inverse);
}
.mega h3 { margin: 0; font-family: var(--font-display); font-size: 14px; }
.mega h3 a { color: var(--foreground); font-weight: 800; }
.mega h3 a:hover { color: var(--primary); }
.mega ul { margin: 12px 0 0; padding: 0; list-style: none; }
.mega li { margin: 8px 0; }
.mega a { color: var(--muted-foreground); font-size: 14px; }
.mega a:hover { color: var(--primary); }
.mega__all { display: inline-block; margin-top: 10px; font-size: 13px; font-weight: 800 !important; color: var(--primary) !important; }

.mobile-search { display: none; padding-bottom: 12px; min-width: 0; width: 100%; position: relative; }
.mobile-search.is-open { display: block; }
@media (min-width: 768px) { .mobile-search { display: none !important; } }
.md-only { display: none; }
@media (min-width: 768px) { .md-only { display: inline-flex; } }
.md-hide { }
@media (min-width: 768px) { .md-hide { display: none !important; } }
.lg-hide { }
@media (min-width: 1024px) { .lg-hide { display: none !important; } }
.lg-only { display: none; }
@media (min-width: 1024px) { .lg-only { display: inline-flex; } }

.drawer {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 50;
	background: var(--background);
	overflow: auto;
}
.drawer.is-open { display: block; }
.drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px;
	background: var(--primary);
	color: var(--inverse);
}
.drawer__list { padding: 16px; }
.drawer__item { border-bottom: 1px solid var(--border); }
.drawer__row {
	display: flex;
	align-items: center;
}
.drawer__row > a {
	display: flex;
	align-items: center;
	flex: 1;
	min-width: 0;
	min-height: 48px;
	font-weight: 700;
}
.drawer__toggle,
.drawer__chevron {
	display: grid;
	place-items: center;
	width: 48px;
	min-height: 48px;
	flex-shrink: 0;
	border: 0;
	background: transparent;
	color: var(--muted-foreground);
	cursor: pointer;
}
.drawer__chevron { cursor: default; }
.drawer__toggle svg,
.drawer__chevron svg { width: 18px; height: 18px; transition: transform .2s ease; }
.drawer__item.is-open .drawer__toggle svg { transform: rotate(180deg); color: var(--primary); }
.drawer__list > a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 48px;
	border-bottom: 1px solid var(--border);
	font-weight: 700;
}

/* Buttons */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 18px;
	border: 0;
	border-radius: 8px;
	font-weight: 700;
	cursor: pointer;
	text-decoration: none !important;
}
.btn--primary { background: var(--primary); color: var(--primary-foreground); }
.btn--primary:hover { background: var(--primary-hover); }
.btn--dark { background: var(--foreground); color: var(--inverse); }
.btn--outline {
	background: var(--inverse);
	color: var(--foreground);
	border: 1px solid var(--border);
}
.btn--sm { min-height: 36px; height: 36px; padding: 0 12px; font-size: 12px; }
.btn--ghost-inv {
	background: rgb(255 255 255 / 0.1);
	color: #fff;
	border: 1px solid rgb(255 255 255 / 0.2);
}
.btn--ghost-inv:hover { background: rgb(255 255 255 / 0.2); }

/* Home */
.home-hero {
	display: grid;
	gap: 16px;
	padding: 20px 0 8px;
}
@media (min-width: 640px) { .home-hero { padding: 24px 0 8px; } }
@media (min-width: 1024px) {
	.home-hero {
		grid-template-columns: minmax(0, 1fr) 420px;
		grid-template-rows: 480px;
		align-items: stretch;
	}
	.home-hero > .hero-slider,
	.home-hero > .finder--home {
		height: 100%;
		min-height: 0;
	}
	.finder--home { overflow: hidden; }
}
#vehicle-finder { scroll-margin-top: 10rem; }
.hero-banner {
	position: relative;
	min-height: 340px;
	overflow: hidden;
	border-radius: 12px;
	background: var(--foreground);
	color: var(--inverse);
}
@media (min-width: 1024px) {
	.hero-banner { min-height: 480px; }
	.home-hero .hero-banner {
		height: 100%;
		min-height: 0;
	}
	.home-hero .hero-banner__copy {
		height: 100%;
		min-height: 0;
	}
}
.hero-banner img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.hero-banner__shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, var(--foreground) 0%, color-mix(in oklab, var(--foreground) 75%, transparent) 55%, transparent 100%);
}
.hero-banner__copy {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 340px;
	max-width: 36rem;
	padding: 24px;
}
@media (min-width: 640px) { .hero-banner__copy { padding: 40px; } }
@media (min-width: 1024px) { .hero-banner__copy { min-height: 480px; } }
.badge {
	width: fit-content;
	border-radius: 999px;
	background: var(--primary);
	color: var(--primary-foreground);
	padding: 4px 12px;
	font-size: 12px;
	font-weight: 800;
}
.hero-banner h1,
body[class*="elementor-kit"] .hero-banner h1 {
	margin: 16px 0 0;
	font-family: var(--font-display);
	font-size: clamp(1.875rem, 4vw, 3rem);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: 0;
}
.hero-banner p { margin: 12px 0 0; max-width: 28rem; line-height: 1.6; color: color-mix(in oklab, var(--inverse) 70%, transparent); }
.hero-banner__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.hero-banner__actions .btn { white-space: nowrap; padding-inline: 16px; }
@media (min-width: 640px) {
	.hero-banner__actions { flex-wrap: nowrap; }
}

.finder {
	display: flex;
	flex-direction: column;
	border-radius: 12px;
	padding: 20px;
	background: color-mix(in oklab, var(--card) 86%, transparent);
	border: 1px solid color-mix(in oklab, var(--foreground) 8%, transparent);
	backdrop-filter: blur(14px);
}
@media (min-width: 640px) { .finder { padding: 24px; } }
.finder__kicker {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
	color: var(--primary);
}
.finder__kicker svg { width: 16px; height: 16px; }
.finder__kicker svg[viewBox="0 0 72 19.716"] { width: auto; height: 16px; }
.finder h2,
body[class*="elementor-kit"] .finder h2 {
	margin: 4px 0 0;
	font-family: var(--font-display);
	font-size: 1.125rem;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: 0;
	white-space: normal;
	overflow: visible;
	overflow-wrap: anywhere;
	word-break: break-word;
}
@media (min-width: 640px) {
	.finder h2,
	body[class*="elementor-kit"] .finder h2 { font-size: 1.25rem; }
}
.finder__toggle {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	text-align: left;
	cursor: pointer;
	font: inherit;
}
.finder__toggle .finder__chevron {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	flex-shrink: 0;
	color: var(--muted-foreground);
}
.finder__toggle .finder__chevron svg {
	width: 20px;
	height: 20px;
	transition: transform .2s ease;
}
.finder--home.is-open .finder__toggle .finder__chevron svg { transform: rotate(180deg); }
@media (max-width: 1023px) {
	.finder--home { padding: 16px; }
	.finder--home h2 { white-space: normal; }
	.finder--home .finder-collapse {
		display: grid;
		grid-template-rows: 0fr;
		transition: grid-template-rows .28s ease;
	}
	.finder--home.is-open .finder-collapse { grid-template-rows: 1fr; }
	.finder-collapse__inner { min-height: 0; overflow: hidden; }
}
@media (min-width: 1024px) {
	.finder__toggle { pointer-events: none; cursor: default; }
	.finder__toggle .finder__chevron { display: none; }
	.finder-collapse,
	.finder-collapse__inner { display: contents; }
}
.finder-tabs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4px;
	margin-top: 16px;
	padding: 4px;
	border-radius: 8px;
	background: var(--muted);
}
.finder-tabs button {
	min-height: 36px;
	border: 0;
	border-radius: 6px;
	background: transparent;
	color: var(--muted-foreground);
	font-size: 12px;
	font-weight: 700;
	cursor: pointer;
}
.finder-tabs button.is-active { background: var(--background); color: var(--foreground); box-shadow: 0 1px 2px rgb(0 0 0 / 6%); }
.finder-panel { display: none; margin-top: 16px; flex: 1; }
.finder-panel.is-active { display: block; }
.finder-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
	margin-top: 16px;
}
@media (min-width: 640px) { .finder-grid { grid-template-columns: 1fr 1fr; } }
.finder-field { position: relative; min-width: 0; }
.finder-field span {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 4px;
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	color: var(--muted-foreground);
}
.step {
	display: grid;
	place-items: center;
	width: 16px;
	height: 16px;
	border-radius: 999px;
	background: var(--muted);
	font-size: 9px;
	position: relative;
}
.finder-field.is-filled .step {
	background: var(--primary);
	color: var(--primary-foreground);
	font-size: 0;
}
.finder-field.is-filled .step::after {
	content: "";
	width: 8px;
	height: 5px;
	border-left: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(-45deg) translate(0, -1px);
}
.finder-field select,
.finder-field input {
	width: 100%;
	height: 48px;
	padding: 0 32px 0 12px;
	border: 1px solid var(--border);
	border-radius: 6px;
	background: var(--background);
	font-weight: 700;
	appearance: none;
	outline: none;
}
.finder-field select:focus,
.finder-field input:focus { border-color: var(--primary); }
.finder-field select:disabled { cursor: not-allowed; opacity: .5; }
.finder-field svg {
	position: absolute;
	right: 12px;
	bottom: 16px;
	width: 16px;
	height: 16px;
	color: var(--muted-foreground);
	pointer-events: none;
}
.finder-grid .btn { width: 100%; }
.finder-clear {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 100%;
	min-height: 32px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--muted-foreground);
	font: inherit;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	visibility: hidden;
	pointer-events: none;
}
.finder-clear.is-on {
	visibility: visible;
	pointer-events: auto;
}
.finder-clear:hover { color: var(--primary); }
.finder-clear svg { width: 14px; height: 14px; }
.finder-trust {
	display: none;
	list-style: none;
	margin: 12px 0 0;
	padding: 12px 0 0;
	border-top: 1px solid color-mix(in oklab, var(--foreground) 8%, transparent);
	gap: 8px;
}
.finder-trust li { display: flex; align-items: center; gap: 10px; }
.finder-trust__ico {
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	flex-shrink: 0;
	border-radius: 8px;
	background: color-mix(in oklab, var(--primary) 10%, transparent);
	color: var(--primary);
}
.finder-trust__ico svg { width: 16px; height: 16px; }
.finder-trust strong { display: block; font-size: 13px; font-weight: 800; line-height: 1.25; }
.finder-trust li > div span {
	display: block;
	margin: 2px 0 0;
	font-size: 11px;
	font-weight: 600;
	color: var(--muted-foreground);
}
@media (min-width: 640px) {
	.finder-grid .btn,
	.finder-clear,
	.finder-field--wide { grid-column: 1 / -1; }
}
@media (min-width: 1024px) {
	.finder--home { padding: 20px; }
	.finder--home .finder-grid { margin-top: 12px; gap: 10px; }
	.finder--home .finder-trust {
		display: grid;
		margin-top: auto;
		flex: 1;
		align-content: end;
	}
}

.section { padding: 32px 0; }
.section__kicker {
	margin: 0;
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
	color: var(--primary);
}
.section__title {
	margin: 4px 0 20px;
	font-family: var(--font-display);
	font-size: 1.5rem;
	font-weight: 800;
}
.section__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 20px;
}
.section__head .section__title { margin-bottom: 0; }
.section__aside {
	display: none;
	margin: 0;
	font-size: 14px;
	color: var(--muted-foreground);
}
@media (min-width: 640px) { .section__aside { display: block; } }

.carousel { position: relative; }
.carousel__track {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - 12px) / 2);
	gap: 12px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	padding: 4px 2px 12px;
}
.carousel__track::-webkit-scrollbar { display: none; }
.carousel__track > * { scroll-snap-align: start; min-width: 0; }
@media (min-width: 768px) { .carousel__track { grid-auto-columns: calc((100% - 24px) / 3); } }
@media (min-width: 1024px) { .carousel__track { grid-auto-columns: calc((100% - 48px) / 5); } }
.carousel__btn {
	display: none;
	position: absolute;
	top: 40%;
	z-index: 2;
	width: 40px;
	height: 40px;
	border-radius: 999px;
	border: 1px solid var(--border);
	background: var(--background);
	color: var(--foreground);
	box-shadow: 0 10px 24px -12px color-mix(in oklab, var(--foreground) 40%, transparent);
	cursor: pointer;
	align-items: center;
	justify-content: center;
}
.carousel__btn:hover {
	border-color: var(--primary);
	background: var(--primary);
	color: var(--primary-foreground);
}
@media (min-width: 640px) { .carousel__btn { display: flex; } }
.carousel__btn--prev { left: -16px; }
.carousel__btn--next { right: -16px; }

.product-row {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(220px, 1fr);
	gap: 12px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding-bottom: 8px;
}
.product-row > * { scroll-snap-align: start; min-width: 0; }
@media (min-width: 1024px) {
	.product-row { grid-auto-flow: unset; grid-template-columns: repeat(5, minmax(0, 1fr)); overflow: visible; }
}

.product-card {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	min-width: 0;
	overflow: hidden;
	border-radius: 8px;
	background: color-mix(in oklab, var(--card) 86%, transparent);
	border: 1px solid color-mix(in oklab, var(--foreground) 8%, transparent);
	transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease;
}
.product-card:hover {
	transform: translateY(-3px);
	border-color: color-mix(in oklab, var(--primary) 35%, transparent);
	box-shadow: 0 18px 40px -24px color-mix(in oklab, var(--foreground) 42%, transparent);
}
@media (prefers-reduced-motion: reduce) {
	.product-card,
	.product-card__media img { transition: none; }
	.product-card:hover { transform: none; }
	.product-card:hover .product-card__media img { transform: none; }
}
.product-card__media {
	position: relative;
	aspect-ratio: 1;
	background: var(--muted);
	overflow: hidden;
}
.product-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 300ms ease; }
.product-card:hover .product-card__media img { transform: scale(1.03); }
.product-card__badges { position: absolute; left: 8px; top: 8px; display: flex; flex-direction: column; gap: 4px; }
.product-card__wish {
	position: absolute;
	right: 8px;
	top: 8px;
	width: 36px;
	height: 36px;
	border-radius: 8px;
	border: 1px solid var(--border);
	background: color-mix(in oklab, var(--inverse) 90%, transparent);
}
.product-card__body { display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0; padding: 10px 12px 12px; }
.product-card__meta { margin: 0; font-size: 11px; color: var(--muted-foreground); }
.product-card h3,
.product-card .product-card__title,
body.elementor-kit-16 .product-card h3,
body.elementor-kit-16 .product-card .product-card__title {
	margin: 4px 0 0;
	min-height: 0;
	font-family: var(--font-sans);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.3;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	overflow: hidden;
}
.product-card h3 a,
.product-card .product-card__title a { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; }
.product-card h3 a:hover { color: var(--primary); }
.product-card__foot { display: flex; align-items: flex-end; justify-content: space-between; gap: 8px; margin-top: 8px; padding-top: 0; flex-wrap: nowrap; }
.product-card .added_to_cart { display: none !important; }
.price-was { margin: 0; font-size: 12px; color: var(--muted-foreground); text-decoration: line-through; }
.price { margin: 0; font-family: var(--font-display); font-weight: 800; }
.stock-in { color: var(--success); }
.stock-low { color: var(--warning); }
.stock-out { color: var(--muted-foreground); }
.add-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 8px;
	background: var(--primary);
	color: var(--inverse);
	cursor: pointer;
	text-decoration: none;
	flex-shrink: 0;
}
a.add-btn { color: var(--inverse); }
.add-btn:disabled,
a.add-btn.disabled { opacity: .45; cursor: not-allowed; }

.cta-band {
	display: grid;
	gap: 24px;
	align-items: center;
	padding: 32px 24px;
	border-radius: 12px;
	background: var(--foreground);
	color: var(--inverse);
}
@media (min-width: 640px) { .cta-band { padding: 32px 40px; } }
@media (min-width: 768px) { .cta-band { grid-template-columns: 1fr auto; } }
.cta-band p { margin: 0; font-size: 12px; font-weight: 800; text-transform: uppercase; color: var(--primary); }
.cta-band h2 { margin: 8px 0 0; font-family: var(--font-display); font-size: 1.875rem; font-weight: 800; }
.cta-band .lead { margin-top: 8px; max-width: 42rem; font-size: 14px; font-weight: 400; text-transform: none; color: color-mix(in oklab, var(--inverse) 65%, transparent); }

.brand-carousel { position: relative; }
.brand-carousel .carousel__track.brand-grid {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(108px, 31%);
	grid-template-columns: none;
	gap: 8px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	padding: 4px 2px 8px;
}
.brand-carousel .brand-grid::-webkit-scrollbar { display: none; }
.brand-carousel .brand-grid > * { scroll-snap-align: start; min-width: 0; }
.brand-carousel .carousel__btn { display: flex; top: 38%; width: 32px; height: 32px; }
.brand-carousel .carousel__btn--prev { left: -4px; }
.brand-carousel .carousel__btn--next { right: -4px; }
@media (min-width: 768px) {
	.brand-carousel .carousel__track.brand-grid {
		grid-auto-flow: unset;
		grid-auto-columns: unset;
		grid-template-columns: repeat(6, 1fr);
		overflow: visible;
		scroll-snap-type: none;
		padding: 0;
		gap: 8px;
	}
	.brand-carousel .carousel__btn { display: none; }
}
@media (min-width: 1024px) {
	.brand-carousel .carousel__track.brand-grid { grid-template-columns: repeat(7, 1fr); }
}
.brand-tile {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	padding: 12px 6px;
	border-radius: 8px;
	border: 1px solid color-mix(in oklab, var(--foreground) 8%, transparent);
	background: color-mix(in oklab, var(--card) 86%, transparent);
	text-align: center;
	cursor: pointer;
	color: inherit;
	transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease;
}
.brand-tile:hover {
	transform: translateY(-3px);
	border-color: color-mix(in oklab, var(--primary) 35%, transparent);
	box-shadow: 0 18px 40px -24px color-mix(in oklab, var(--foreground) 42%, transparent);
}
.brand-tile__logo {
	display: grid;
	place-items: center;
	height: 44px;
	width: 100%;
	overflow: hidden;
	border-radius: 6px;
	background: var(--background);
	padding: 4px;
	transition: transform 200ms ease;
}
.brand-tile:hover .brand-tile__logo { transform: scale(1.05); }
.brand-tile img { height: 44px; width: auto; max-width: 100%; object-fit: contain; }
.brand-tile__logo b { font-family: var(--font-display); font-size: 18px; font-weight: 800; }
.brand-tile strong { font-size: 13px; font-weight: 800; line-height: 1.2; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.brand-tile span { font-size: 10px; color: var(--muted-foreground); }

.trust {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	padding: 20px;
	border-radius: 12px;
	border: 1px solid color-mix(in oklab, var(--foreground) 8%, transparent);
	background: color-mix(in oklab, var(--card) 86%, transparent);
}
@media (min-width: 640px) { .trust { grid-template-columns: repeat(4, 1fr); } }
.trust__item { display: flex; align-items: flex-start; gap: 12px; }
.trust h3 { margin: 0; font-size: 14px; font-weight: 800; }
.trust p { margin: 4px 0 0; font-size: 12px; color: var(--muted-foreground); }
.trust-ico {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	flex-shrink: 0;
	border-radius: 6px;
	background: color-mix(in oklab, var(--primary) 10%, transparent);
	color: var(--primary);
}
.trust-ico svg { width: 20px; height: 20px; }

.newsletter-grid {
	display: grid;
	gap: 24px;
	align-items: center;
}
@media (min-width: 768px) { .newsletter-grid { grid-template-columns: 1fr 1fr; } }
.newsletter-grid .section__title { margin-bottom: 12px; }
.newsletter-grid > div > p.muted { margin: 0; font-size: 14px; line-height: 1.6; }
.newsletter {
	padding: 24px;
	border-radius: 12px;
	background: var(--foreground);
	color: var(--inverse);
}
.newsletter h2 { margin: 0; font-family: var(--font-display); font-size: 1.25rem; font-weight: 800; }
.newsletter p { margin: 8px 0 0; font-size: 14px; color: color-mix(in oklab, var(--inverse) 65%, transparent); }
.newsletter__row { display: flex; flex-direction: column; gap: 8px; margin-top: 16px; }
@media (min-width: 640px) { .newsletter__row { flex-direction: row; } }
.newsletter input {
	flex: 1;
	min-height: 44px;
	width: 100%;
	padding: 0 16px;
	border-radius: 6px;
	border: 1px solid color-mix(in oklab, var(--inverse) 15%, transparent);
	background: color-mix(in oklab, var(--inverse) 10%, transparent);
	color: var(--inverse);
	outline: none;
}
.newsletter input::placeholder { color: color-mix(in oklab, var(--inverse) 40%, transparent); }
.newsletter input:focus { border-color: var(--primary); }

.seo-block__inner { padding: 20px; }
@media (min-width: 640px) { .seo-block__inner { padding: 32px; } }
.seo-block__title {
	margin: 0;
	font-family: var(--font-display);
	font-size: 1.25rem;
	font-weight: 800;
}
@media (min-width: 640px) { .seo-block__title { font-size: 1.5rem; } }
.seo-block__grid { display: grid; gap: 24px; margin-top: 16px; }
@media (min-width: 768px) { .seo-block__grid { grid-template-columns: 1fr 1fr; } }
.seo-block__grid h3 { margin: 0; font-size: 14px; font-weight: 800; }
.seo-block__grid p { margin: 8px 0 0; font-size: 14px; line-height: 1.75; color: var(--muted-foreground); }
.seo-block__link { font-weight: 700; color: var(--primary); }
.seo-block__link:hover { text-decoration: underline; text-underline-offset: 4px; }

.cat-seo { margin: 28px 0 8px; }
.cat-seo__card { padding: 22px 22px 16px; border-radius: 12px; }
@media (min-width: 640px) { .cat-seo__card { padding: 28px 32px 18px; } }
.cat-seo__title {
	margin: 0 0 12px;
	font-family: var(--font-display);
	font-size: 1.35rem;
	font-weight: 800;
	line-height: 1.25;
}
.cat-seo__body {
	position: relative;
	max-height: 5.1em;
	overflow: hidden;
	font-size: 14px;
	line-height: 1.7;
	color: var(--muted-foreground);
}
.cat-seo.is-open .cat-seo__body { max-height: none; overflow: visible; }
.cat-seo__body::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2.2em;
	background: linear-gradient(to bottom, transparent, color-mix(in oklab, var(--card) 92%, white));
	pointer-events: none;
}
.cat-seo.is-open .cat-seo__body::after { display: none; }
.cat-seo__body p { margin: 0 0 12px; }
.cat-seo__body p:last-child { margin-bottom: 0; }
.cat-seo__body h3 {
	margin: 18px 0 8px;
	font-size: 15px;
	font-weight: 800;
	color: var(--foreground);
}
.cat-seo__more {
	margin-top: 12px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--primary);
	font: inherit;
	font-weight: 800;
	cursor: pointer;
}
.cat-seo__more:hover { text-decoration: underline; text-underline-offset: 3px; }

/* Footer */
.site-footer {
	margin-top: 40px;
	background: var(--foreground);
	color: color-mix(in oklab, var(--inverse) 70%, transparent);
}
@media (max-width: 767px) {
	.site-footer { padding-bottom: 72px; }
}
.site-footer__grid {
	display: grid;
	gap: 32px;
	padding: 40px 0;
}
@media (min-width: 768px) { .site-footer__grid { grid-template-columns: 1.4fr 1fr 1fr; } }
@media (min-width: 1100px) { .site-footer__grid { grid-template-columns: 1.4fr repeat(4, 1fr); } }
.site-footer h3,
.footer-acc summary {
	margin: 0;
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: color-mix(in oklab, var(--inverse) 40%, transparent);
}
.footer-acc summary {
	list-style: none;
}
.footer-acc summary::-webkit-details-marker { display: none; }
.footer-acc summary::marker { content: ""; }
.site-footer ul { margin: 16px 0 0; padding: 0; list-style: none; }
.site-footer li { margin: 8px 0; font-size: 14px; }
.site-footer a:hover { color: var(--inverse); }
@media (max-width: 767px) {
	.site-footer__grid {
		gap: 0;
		padding: 8px 0 12px;
	}
	.footer-acc {
		border-bottom: 1px solid color-mix(in oklab, var(--inverse) 10%, transparent);
	}
	.footer-acc summary {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		min-height: 48px;
		padding: 2px 0;
		color: color-mix(in oklab, var(--inverse) 75%, transparent);
		cursor: pointer;
	}
	.footer-acc summary::after {
		content: "+";
		font-size: 18px;
		font-weight: 400;
		line-height: 1;
		color: color-mix(in oklab, var(--inverse) 45%, transparent);
	}
	.footer-acc[open] summary::after { content: "−"; }
	.footer-acc__body { padding: 0 0 16px; }
	.footer-acc__body .site-logo { display: inline-block; margin-bottom: 8px; }
	.footer-acc__body p { margin: 0; }
	.footer-acc__body ul { margin-top: 12px; }
	.site-footer__bar {
		flex-direction: column;
		justify-content: center;
		align-items: center;
		text-align: center;
	}
	.site-footer__copy {
		flex-direction: column;
		align-items: center;
		justify-content: center;
		text-align: center;
	}
	.pay-pills { justify-content: center; }
}
@media (min-width: 768px) {
	.footer-acc summary {
		display: block;
		pointer-events: none;
		cursor: default;
	}
	.footer-acc--brand summary { display: none; }
	.footer-acc::details-content {
		display: block;
		content-visibility: visible;
		height: auto;
		overflow: visible;
	}
	.footer-acc:not([open]) > .footer-acc__body {
		display: block;
	}
}
.site-footer__bar {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	padding: 20px 0;
	border-top: 1px solid color-mix(in oklab, var(--inverse) 10%, transparent);
	font-size: 12px;
	color: color-mix(in oklab, var(--inverse) 40%, transparent);
}
.site-footer__copy {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 16px;
}
.site-footer__copy a {
	font-weight: 800;
	color: var(--inverse);
	letter-spacing: .02em;
}
.site-footer__copy a:hover { color: var(--primary); }
.pay-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.pay-pills span {
	padding: 4px 8px;
	border-radius: 4px;
	border: 1px solid color-mix(in oklab, var(--inverse) 15%, transparent);
}

.bottom-nav {
	position: fixed;
	inset: auto 0 0;
	z-index: 40;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	padding: 4px 8px;
	border-top: 1px solid var(--border);
	background: color-mix(in oklab, var(--inverse) 92%, transparent);
	backdrop-filter: blur(12px);
}
.bottom-nav a, .bottom-nav button {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	min-height: 48px;
	font-size: 10px;
	font-weight: 700;
	color: var(--muted-foreground);
	position: relative;
	border: 0;
	background: transparent;
	cursor: pointer;
	width: 100%;
}
.bottom-nav a.is-current { color: var(--primary); }
@media (min-width: 768px) { .bottom-nav { display: none; } }
.site-main { padding-bottom: 64px; }
@media (min-width: 768px) { .site-main { padding-bottom: 0; } }

.glass-card {
	background: color-mix(in oklab, var(--card) 86%, transparent);
	border: 1px solid color-mix(in oklab, var(--foreground) 8%, transparent);
	border-radius: 8px;
	backdrop-filter: blur(14px) saturate(140%);
	-webkit-backdrop-filter: blur(14px) saturate(140%);
}
.finder.glass-card,
.seo-block__inner,
.trust,
.newsletter {
	border-radius: 12px;
}
.muted { color: var(--muted-foreground); }
.text-primary { color: var(--primary); font-weight: 700; }

.product-card__media a { display: block; height: 100%; }
.product-card__media img { font-size: 0; color: transparent; }
.product-card__badges .badge {
	font-size: 10px;
	padding: 4px 8px;
}
.badge--dark { background: var(--foreground); color: var(--inverse); }
.product-card.is-list { flex-direction: row; align-items: stretch; }
.product-card.is-list .product-card__media {
	flex: 0 0 128px;
	width: 128px;
	max-width: 128px;
	aspect-ratio: 1 / 1;
	height: auto;
	align-self: flex-start;
}
@media (min-width: 640px) {
	.product-card.is-list .product-card__media {
		flex: 0 0 192px;
		width: 192px;
		max-width: 192px;
	}
}
.product-card.is-list h3,
.product-card.is-list .product-card__title { min-height: 0; -webkit-line-clamp: 3; line-clamp: 3; }
.product-card__stats {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 6px;
	font-size: 12px;
}
.product-card__stats .stock-label { margin-left: auto; display: none; }
@media (min-width: 640px) { .product-card__stats .stock-label { display: inline; } }
.rating { display: inline-flex; align-items: center; gap: 4px; color: var(--muted-foreground); font-size: 12px; }
.rating svg { width: 14px; height: 14px; color: var(--warning); }
.stock-label.is-in { color: var(--success); }
.stock-label.is-low { color: var(--warning); }
.stock-label.is-out { color: var(--muted-foreground); }
.product-card__price { display: flex; flex-direction: column; gap: 0; line-height: 1.2; }
.product-card__price :is(del, .price-was) { order: -1; font-size: 12px; color: var(--muted-foreground); text-decoration: line-through; }
.product-card__price :is(del, .price-was) .woocommerce-Price-amount { font-size: 12px; font-weight: 500; }
.product-card__price ins { text-decoration: none; font-family: var(--font-display); font-weight: 800; color: var(--foreground); }
.product-card__price .woocommerce-Price-amount { font-family: var(--font-display); font-weight: 800; font-size: 1.125rem; }

.product-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-top: 16px;
}
@media (min-width: 640px) { .product-grid { gap: 16px; } }
@media (min-width: 768px) { .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1280px) { .product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.product-grid.is-list,
.product-grid--4.is-list { grid-template-columns: 1fr; }
.product-grid--4 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
@media (min-width: 640px) { .product-grid--4 { gap: 16px; } }
@media (min-width: 1024px) { .product-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.product-grid,
ul.products {
	list-style: none;
	padding: 0;
}
.product-grid > li,
ul.products > li {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	min-width: 0;
}

.shop-page { padding: 20px 0 40px; }
.shop-page__title {
	margin: 12px 0 0;
	font-family: var(--font-display);
	font-size: 1.875rem;
	font-weight: 800;
	overflow-wrap: anywhere;
	word-break: break-word;
}
@media (max-width: 767px) {
	.shop-page__title { font-size: 1.35rem; }
}
.shop-page__title span { color: var(--muted-foreground); }
.shop-page__count { margin: 4px 0 0; font-size: 14px; color: var(--muted-foreground); }
.crumbs { font-size: 12px; color: var(--muted-foreground); }
.crumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; list-style: none; margin: 0; padding: 0; }
.crumbs li { display: flex; align-items: center; gap: 4px; }
.crumbs a:hover { color: var(--primary); }
.crumbs__sep { display: inline-flex; width: 12px; height: 12px; color: var(--muted-foreground); }
.crumbs__sep svg { width: 12px; height: 12px; }
.crumbs__current { font-weight: 700; color: var(--foreground); }
.vehicle-hint {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-top: 16px;
	padding: 12px;
	font-size: 14px;
}
.vehicle-hint .btn { margin-left: auto; }
.vehicle-hint__fit { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; }
.vehicle-hint__fit input { width: 16px; height: 16px; accent-color: var(--primary); }
.vehicle-hint__actions { display: flex; flex-wrap: wrap; gap: 12px 16px; margin-left: auto; }
.vehicle-hint__change {
	border: 0;
	background: transparent;
	color: var(--primary);
	font-weight: 700;
	font-size: 14px;
	cursor: pointer;
	padding: 0;
}
.vehicle-hint__change:hover { text-decoration: underline; }
.vehicle-hint__change[data-clear-vehicle] { color: var(--muted-foreground); }
.subcat-nav { margin-top: 20px; }
.subcat-nav__label {
	margin: 0 0 10px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--muted-foreground);
}
.subcat-row { display: flex; flex-wrap: wrap; gap: 8px; padding-bottom: 4px; }
@media (max-width: 767px) {
	.subcat-row { flex-wrap: nowrap; overflow-x: auto; }
}
.subcat-chip {
	flex-shrink: 0;
	padding: 12px 16px;
	border-radius: 8px;
	background: color-mix(in oklab, var(--card) 86%, transparent);
	border: 1px solid color-mix(in oklab, var(--foreground) 8%, transparent);
	font-size: 14px;
	font-weight: 700;
}
.subcat-chip:hover { border-color: var(--primary); color: var(--primary); }
.subcat-chip.is-active,
.subcat-chip.is-active:hover {
	background: var(--foreground);
	color: var(--inverse);
	border-color: var(--foreground);
}
.subcat-chip--ghost { background: transparent; color: var(--muted-foreground); }
.subcat-chip--ghost:hover { color: var(--primary); }
.shop-layout { display: grid; gap: 24px; margin-top: 24px; }
@media (min-width: 1024px) { .shop-layout { grid-template-columns: 240px 1fr; } }
.shop-filters { display: none; height: fit-content; padding: 20px; }
@media (min-width: 1024px) { .shop-filters { display: block; } }
.filters-form fieldset { border: 0; margin: 0 0 24px; padding: 0; }
.filters-form legend { font-family: var(--font-display); font-size: 14px; font-weight: 800; }
.filter-list { margin-top: 12px; display: grid; gap: 8px; }
.filters-form label {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 36px;
	font-size: 14px;
	cursor: pointer;
}
.filters-form label span { margin-left: auto; font-size: 12px; color: var(--muted-foreground); }
.filters-form input[type="checkbox"] { width: 16px; height: 16px; accent-color: var(--primary); flex-shrink: 0; }
.shop-filters .filters-form__apply,
.filters-sheet .filters-form__apply { display: none; }
.filters-form input[type="range"] { width: 100%; margin-top: 12px; accent-color: var(--primary); }
.filter-hint { margin: 4px 0 0; font-size: 12px; color: var(--muted-foreground); }
.shop-toolbar {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: 8px;
	padding: 8px;
	min-width: 0;
}
.shop-toolbar__count {
	display: none;
	margin: 0;
	padding: 0 8px;
	font-size: 14px;
	color: var(--muted-foreground);
	white-space: nowrap;
}
.shop-toolbar__sort {
	min-width: 0;
	margin: 0;
}
.shop-toolbar select {
	width: 100%;
	max-width: 100%;
	height: 36px;
	border: 1px solid var(--border);
	border-radius: 6px;
	background: var(--background);
	padding: 0 28px 0 8px;
	font-size: 13px;
}
.shop-toolbar .btn {
	flex-shrink: 0;
	min-height: 36px;
	height: 36px;
	padding: 0 12px;
	font-size: 13px;
	white-space: nowrap;
}
.view-toggle { display: none; gap: 4px; }
@media (min-width: 1024px) {
	.shop-toolbar {
		display: flex;
		flex-wrap: nowrap;
	}
	.shop-toolbar__count { display: block; }
	.shop-toolbar__sort { margin-left: auto; width: auto; }
	.shop-toolbar select {
		width: auto;
		min-width: 200px;
		font-size: 14px;
	}
	.view-toggle { display: flex; }
}
.view-toggle .icon-btn {
	width: 36px;
	height: 36px;
	min-width: 36px;
	min-height: 36px;
	color: var(--foreground);
	border: 1px solid transparent;
}
.view-toggle .icon-btn:hover { background: var(--muted); }
.view-toggle .icon-btn.is-on { background: var(--foreground); color: var(--inverse); }
.chip svg { width: 12px; height: 12px; }
.filter-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; align-items: center; }
.chip {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	border-radius: 999px;
	background: var(--foreground);
	color: var(--inverse);
	padding: 6px 12px;
	font-size: 12px;
	font-weight: 700;
}
.chip-clear { font-size: 12px; font-weight: 700; color: var(--primary); }
.empty-state { padding: 40px; text-align: center; margin-top: 16px; }
.empty-state h2 { font-family: var(--font-display); }
.empty-state .btn { margin-top: 16px; }
.load-more {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	margin-top: 24px;
}
.load-more[hidden] { display: none; }
.load-more__status { margin: 0; font-size: 14px; }
.load-more .btn { min-width: 200px; }

.back-top {
	position: fixed;
	right: 16px;
	bottom: 80px;
	z-index: 45;
	width: 44px;
	height: 44px;
	padding: 0;
	border-radius: 999px;
	border: 1px solid var(--border);
	background: var(--foreground);
	color: var(--inverse);
	display: grid;
	place-items: center;
	cursor: pointer;
	box-shadow: 0 8px 24px rgb(0 0 0 / 0.18);
}
.back-top[hidden] { display: none !important; }
.back-top svg { width: 20px; height: 20px; }
.back-top:hover { background: var(--primary); border-color: var(--primary); }
@media (min-width: 768px) {
	.back-top { right: 36px; bottom: 24px; }
}

.filters-sheet {
	position: fixed;
	inset: 0;
	z-index: 50;
	display: none;
	flex-direction: column;
	background: var(--background);
}
.filters-sheet.is-open,
.filters-sheet:not([hidden]) { display: flex; }
@media (min-width: 1024px) { .filters-sheet { display: none !important; } }
.filters-sheet__head, .filters-sheet__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px;
	border-bottom: 1px solid var(--border);
}
.filters-sheet__foot { border-bottom: 0; border-top: 1px solid var(--border); }
.filters-sheet__foot .btn { width: 100%; }
.filters-sheet__body { flex: 1; overflow: auto; padding: 16px; }
.filters-sheet h2 { margin: 0; font-family: var(--font-display); }

.product-page { padding: 20px 0 40px; }
.product-hero { display: grid; gap: 24px; margin-top: 20px; }
@media (min-width: 1024px) { .product-hero { grid-template-columns: 1fr 1fr; gap: 40px; } }
.product-gallery {
	position: relative;
	aspect-ratio: 1;
	overflow: hidden;
	border-radius: 12px;
	background: var(--muted);
}
.product-gallery__track {
	display: flex;
	height: 100%;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}
.product-gallery__track::-webkit-scrollbar { display: none; }
.product-gallery__track img {
	flex: 0 0 100%;
	width: 100%;
	height: 100%;
	object-fit: cover;
	scroll-snap-align: center;
	background: var(--muted);
	font-size: 0;
	color: transparent;
}
@media (min-width: 1024px) {
	.product-gallery__track {
		display: block;
		overflow: hidden;
		position: relative;
	}
	.product-gallery__track img {
		position: absolute;
		inset: 0;
		display: none;
		flex: unset;
	}
	.product-gallery__track img.is-active { display: block; }
}
.product-gallery__sale { position: absolute; left: 12px; top: 12px; z-index: 1; padding: 4px 12px; font-size: 12px; }
.product-gallery__thumbs { display: none; gap: 12px; margin-top: 12px; }
@media (min-width: 1024px) { .product-gallery__thumbs { display: flex; } }
.product-gallery__thumbs button {
	width: 80px;
	height: 80px;
	padding: 0;
	overflow: hidden;
	border-radius: 8px;
	border: 2px solid transparent;
	background: var(--muted);
	cursor: pointer;
}
.product-gallery__thumbs button.is-active { border-color: var(--primary); }
.product-gallery__thumbs img { width: 100%; height: 100%; object-fit: cover; }
.product-gallery__dots { display: flex; justify-content: center; gap: 6px; margin-top: 8px; }
@media (min-width: 1024px) { .product-gallery__dots { display: none; } }
.product-gallery__dots span { width: 6px; height: 6px; border-radius: 999px; background: var(--border); }
.product-gallery__dots span.is-active { width: 20px; background: var(--primary); }
.product-brand { margin: 0; font-size: 14px; font-weight: 700; color: var(--primary); }
.product-summary h1 {
	margin: 4px 0 0;
	font-family: var(--font-display);
	font-size: 1.5rem;
	font-weight: 800;
	line-height: 1.2;
}
@media (min-width: 640px) { .product-summary h1 { font-size: 1.875rem; } }
.product-meta-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 12px; font-size: 14px; }
.product-meta-row .stock-label { font-size: 12px; font-weight: 700; }
.sku { font-size: 12px; color: var(--muted-foreground); }
.product-meta-row .sku {
	display: inline-flex;
	align-items: center;
	padding: 4px 10px;
	border-radius: 6px;
	background: var(--primary);
	color: var(--primary-foreground);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.02em;
	line-height: 1.2;
}
.product-price-row { display: flex; align-items: flex-end; gap: 12px; margin-top: 20px; flex-wrap: wrap; }
.price--xl { margin: 0; font-family: var(--font-display); font-size: 2.25rem; font-weight: 800; }
.price--xl .woocommerce-Price-amount,
.price--xl bdi,
.price--xl .woocommerce-Price-currencySymbol { font: inherit; color: inherit; }
.product-price-row .price-was { margin: 0 0 4px; font-size: 16px; }
.price-save { margin: 0 0 4px; font-size: 14px; font-weight: 700; color: var(--primary); }
.product-excerpt { margin-top: 16px; font-size: 14px; line-height: 1.5rem; color: var(--muted-foreground); }
.product-cart { margin-top: 24px; }
.product-cart .btn { height: 44px; border-radius: 6px; }
.product-cart .btn svg { width: 16px; height: 16px; }
.product-cart__row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.product-cart__add { display: none; flex: 1; }
@media (min-width: 640px) { .product-cart__add { display: inline-flex; } }
.product-cart__buy { display: none; width: 100%; margin-top: 12px; }
@media (min-width: 640px) { .product-cart__buy { display: inline-flex; } }
.product-cart__wish {
	width: 44px;
	height: 44px;
	min-width: 44px;
	min-height: 44px;
	border-radius: 6px;
	color: var(--foreground);
	border: 1px solid var(--border);
	background: var(--background);
}
.product-cart__wish svg { width: 20px; height: 20px; }
.product-cart__wish:hover { background: var(--muted); }
.product-cart__wish.is-on { color: var(--primary); }
.qty {
	display: flex;
	align-items: center;
	border: 1px solid var(--border);
	border-radius: 6px;
	height: 44px;
}
.qty button {
	width: 44px;
	height: 44px;
	border: 0;
	background: transparent;
	cursor: pointer;
	display: grid;
	place-items: center;
}
.qty svg { width: 16px; height: 16px; }
.qty input {
	width: 40px;
	border: 0;
	text-align: center;
	font-weight: 700;
	background: transparent;
	-moz-appearance: textfield;
}
.qty input::-webkit-outer-spin-button,
.qty input::-webkit-inner-spin-button { appearance: none; margin: 0; }
.product-trust {
	display: grid;
	gap: 16px;
	margin-top: 24px;
	padding: 16px;
	border-radius: 8px;
}
@media (min-width: 640px) { .product-trust { grid-template-columns: repeat(3, 1fr); } }
.product-trust > div { display: flex; gap: 12px; align-items: flex-start; }
.product-trust > div > svg { width: 20px; height: 20px; flex-shrink: 0; color: var(--primary); }
.trust-title { margin: 0; font-size: 14px; font-weight: 800; color: var(--foreground); }
.product-trust p { margin: 0; font-size: 12px; color: var(--muted-foreground); }
.product-tabs { margin-top: 40px; }
.product-tabs__list {
	display: flex;
	gap: 4px;
	overflow-x: auto;
	border-bottom: 1px solid var(--border);
}
.product-tabs__list button {
	min-height: 44px;
	padding: 0 16px;
	border: 0;
	border-bottom: 2px solid transparent;
	background: transparent;
	font-weight: 700;
	font-size: 14px;
	color: var(--muted-foreground);
	white-space: nowrap;
	cursor: pointer;
}
.product-tabs__list button[aria-selected="true"] { border-bottom-color: var(--primary); color: var(--foreground); }
.product-tabs__panel { margin-top: 16px; padding: 20px; }
.product-tabs__panel[hidden] { display: none; }
.product-desc { max-width: 48rem; margin: 0; font-size: 14px; line-height: 1.75rem; }
.spec-list { max-width: 42rem; }
.spec-list > div { display: grid; grid-template-columns: 1fr 1fr; padding: 8px 0; border-top: 1px solid var(--border); font-size: 14px; }
.spec-list > div:first-child { border-top: 0; padding-top: 0; }
.spec-list > div:last-child { padding-bottom: 0; }
.spec-list dt { color: var(--muted-foreground); }
.spec-list dd { margin: 0; font-weight: 700; }
.fit-pills { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.fit-pills li { border-radius: 999px; background: var(--muted); padding: 6px 12px; font-size: 14px; font-weight: 700; }
.review-list { display: grid; gap: 16px; }
.review { padding-bottom: 16px; border-bottom: 1px solid var(--border); }
.review:last-child { border-bottom: 0; padding-bottom: 0; }
.review__head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.review__head b { font-size: 14px; }
.review__stars { display: inline-flex; }
.review__stars svg { width: 14px; height: 14px; color: var(--border); }
.review__stars .is-on svg { color: var(--warning); fill: var(--warning); }
.review__date { margin-left: auto; font-size: 12px; color: var(--muted-foreground); }
.review p { margin: 8px 0 0; font-size: 14px; }
.product-related { margin-top: 40px; }
.product-related h2 {
	margin: 0;
	font-family: var(--font-display);
	font-size: 1.5rem;
	font-weight: 800;
}
.product-related .product-grid { margin-top: 16px; }
.product-sticky {
	position: fixed;
	inset: auto 0 0;
	z-index: 40;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px;
	border-top: 1px solid var(--border);
	background: color-mix(in oklab, var(--inverse) 92%, transparent);
	backdrop-filter: blur(12px);
}
.product-sticky p { margin: 0; font-size: 10px; color: var(--muted-foreground); }
.product-sticky .price { font-family: var(--font-display); font-weight: 800; font-size: 16px; color: var(--foreground); }
.product-sticky .btn { flex: 1; }
.product-sticky .btn svg { width: 16px; height: 16px; }
@media (min-width: 640px) { .product-sticky { display: none; } }
body.single-product .bottom-nav { display: none; }
body.single-product .site-main { padding-bottom: 72px; }
@media (min-width: 640px) { body.single-product .site-main { padding-bottom: 0; } }
body.single-product .back-top { bottom: 88px; }
@media (min-width: 640px) { body.single-product .back-top { bottom: 24px; } }

.cart-page { padding: 20px 0 40px; }
.cart-layout { display: grid; gap: 24px; margin-top: 24px; }
@media (min-width: 1024px) { .cart-layout { grid-template-columns: 1fr 360px; align-items: start; } }
.cart-lines { display: grid; gap: 12px; }
.cart-update {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
}
.cart-line { display: flex; align-items: flex-start; gap: 12px; padding: 12px; position: relative; }
@media (min-width: 640px) { .cart-line { gap: 16px; padding: 16px; } }
.cart-line__img { flex-shrink: 0; }
.cart-line__img img { width: 80px; height: 80px; object-fit: cover; border-radius: 6px; background: var(--muted); }
@media (min-width: 640px) { .cart-line__img img { width: 96px; height: 96px; } }
.cart-line__body { display: flex; min-width: 0; flex: 1; flex-direction: column; }
.cart-line__name { font-size: 14px; font-weight: 700; }
.cart-line__name:hover { color: var(--primary); }
.cart-line__sku { margin: 0; font-size: 12px; color: var(--muted-foreground); }
.cart-line__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 8px; }
.cart-line__remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 36px;
	height: 36px;
	min-width: 36px;
	min-height: 36px;
	margin-left: auto;
	border: 1px solid var(--border);
	border-radius: 8px;
	background: var(--background);
	color: var(--muted-foreground);
	text-decoration: none !important;
}
.cart-line__remove svg { width: 16px; height: 16px; }
.cart-line__remove:hover {
	border-color: var(--primary);
	background: color-mix(in oklab, var(--primary) 12%, transparent);
	color: var(--primary);
}
.cart-line .qty { height: 36px; }
.cart-line .qty button { width: 36px; height: 36px; }
.cart-line .qty svg { width: 16px; height: 16px; }
.cart-summary { height: fit-content; padding: 20px; border-radius: 12px; }
@media (min-width: 1024px) { .cart-summary { position: sticky; top: 144px; } }
.cart-summary h2 { margin: 0; font-family: var(--font-display); font-size: 1.125rem; font-weight: 800; }
.coupon-row { display: flex; gap: 8px; margin: 16px 0 0; }
.coupon-hint { margin: 8px 0 0; font-size: 12px; color: var(--muted-foreground); }
.coupon-row input, .woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .auth-form input:not([type="checkbox"]):not([type="hidden"]), .woocommerce-checkout input.input-text, .woocommerce-checkout select, .woocommerce-checkout textarea {
	min-height: 44px;
	width: 100%;
	padding: 0 12px;
	border: 1px solid var(--border);
	border-radius: 6px;
	background: var(--background);
	font-size: 14px;
}
.woocommerce form .form-row textarea, .woocommerce-checkout textarea { min-height: 80px; padding: 8px 12px; }
.summary-rows { margin: 20px 0 0; display: grid; gap: 8px; font-size: 14px; }
.summary-rows > div { display: flex; justify-content: space-between; gap: 12px; }
.summary-rows dt { margin: 0; color: var(--muted-foreground); }
.summary-rows dd { margin: 0; font-weight: 700; }
.summary-rows .is-discount dt, .summary-rows .is-discount dd { color: var(--primary); }
.summary-rows .is-total {
	border-top: 1px solid var(--border);
	padding-top: 12px;
	align-items: baseline;
	font-size: 16px;
}
.summary-rows .is-total dt { font-weight: 800; color: var(--foreground); }
.summary-rows .is-total dd { font-family: var(--font-display); font-size: 1.25rem; font-weight: 800; }
.summary-note { margin: 8px 0 0; font-size: 12px; color: var(--muted-foreground); }
.wc-proceed-to-checkout { margin-top: 20px; }
.wc-proceed-to-checkout a, .checkout-submit, .woocommerce #place_order {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	border: 0;
	border-radius: 6px;
	background: var(--primary);
	color: var(--primary-foreground);
	font-weight: 700;
	cursor: pointer;
	text-decoration: none !important;
}
.checkout-submit svg, .woocommerce #place_order svg { display: none; }
.woocommerce #place_order::before {
	content: "";
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M17 8h-1V6a4 4 0 00-8 0v2H7a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2V10a2 2 0 00-2-2zm-7-2a2 2 0 114 0v2h-4V6z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M17 8h-1V6a4 4 0 00-8 0v2H7a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2V10a2 2 0 00-2-2zm-7-2a2 2 0 114 0v2h-4V6z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.cart-continue {
	display: block;
	margin-top: 12px;
	text-align: center;
	font-size: 14px;
	font-weight: 700;
	color: var(--muted-foreground);
}
.cart-continue:hover { color: var(--primary); }
.cart-page .empty-state { margin-top: 24px; padding: 40px; border-radius: 12px; }
.cart-page .empty-state svg { width: 40px; height: 40px; margin: 0 auto; color: var(--muted-foreground); }
.cart-page .empty-state h2 { margin: 16px 0 0; font-size: 1.25rem; font-weight: 800; }
.cart-page .empty-state p { margin: 8px 0 0; font-size: 14px; color: var(--muted-foreground); }

.checkout-page { padding: 20px 0 40px; }
.checkout-page > .muted { margin: 4px 0 0; font-size: 14px; }
.checkout-layout { display: grid; gap: 24px; margin-top: 24px; }
@media (min-width: 1024px) {
	.checkout-layout { grid-template-columns: 1fr 380px; align-items: start; }
}
.checkout-main { display: grid; gap: 24px; }
.checkout-card { padding: 20px; border-radius: 12px; }
.checkout-card--delivery { display: grid; gap: 12px; }
.checkout-card--delivery > h2 { margin-bottom: 4px; }
.checkout-card--delivery .mrejanet-checkout-review-shipping-table,
.checkout-card--delivery .shop_table {
	width: 100%;
	border: 0;
	margin: 0;
}
.checkout-card--delivery .woocommerce-shipping-totals,
.checkout-card--delivery .woocommerce-shipping-totals th,
.checkout-card--delivery .woocommerce-shipping-totals td {
	display: block;
	width: 100%;
	border: 0;
	padding: 0;
	background: none;
	text-align: left;
}
.checkout-card--delivery .woocommerce-shipping-totals th {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
}
.checkout-card--delivery ul#shipping_method {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.checkout-card--delivery ul#shipping_method li {
	position: relative;
	margin: 0;
	padding: 0;
	list-style: none;
}
.checkout-card--delivery ul#shipping_method label {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 0;
	padding: 16px;
	border: 1px solid var(--border);
	border-radius: 8px;
	cursor: pointer;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.4;
}
.checkout-card--delivery ul#shipping_method input[type="radio"]:checked + label,
.checkout-card--delivery ul#shipping_method li.chosen label {
	border-color: var(--primary);
	background: color-mix(in oklab, var(--primary) 5%, transparent);
}
#econtLoader { display: none; }
#econt-title-text, #econt_custom_checkout_field h3, #econt_user_checkout_field h3 {
	margin: 8px 0 0;
	font-family: var(--font-display);
	font-size: 1rem;
	font-weight: 800;
}
#econt-description, #econt_custom_checkout_field > p, #econt_user_checkout_field > p {
	margin: 0;
	font-size: 14px;
	color: var(--muted-foreground);
}
#econt_custom_checkout_field .form-row,
#econt_user_checkout_field .form-row {
	margin: 0 0 12px;
	padding: 0;
	width: 100% !important;
	float: none !important;
	clear: none !important;
}
#econt_custom_checkout_field .form-row label,
#econt_user_checkout_field .form-row label {
	display: block;
	margin: 0 0 6px;
	font-size: 13px;
	font-weight: 700;
}
.econt-find-nearest {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	margin: 4px 0 8px;
	padding: 0 16px;
	border: 0;
	border-radius: 6px;
	background: var(--foreground);
	color: var(--inverse);
	font-weight: 700;
	cursor: pointer;
}
.econt_office_locator_map {
	margin: 8px 0 16px;
	border-radius: 8px;
	overflow: hidden;
	border: 1px solid var(--border);
}
.checkout-card--delivery .select2-container { width: 100% !important; }
.checkout-card--delivery .select2-container .select2-selection--single {
	min-height: 44px;
	border: 1px solid var(--border);
	border-radius: 6px;
	background: var(--background);
}
.checkout-card--delivery .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 42px;
	padding-left: 12px;
	color: var(--foreground);
}
.checkout-card--delivery .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 44px;
}
.select2-dropdown {
	z-index: 80;
	border-color: var(--border);
}
.csesm2-price-pending { font-weight: 700; color: var(--muted-foreground); }
.checkout-card h2, .checkout-aside h2 {
	margin: 0;
	font-family: var(--font-display);
	font-size: 1.125rem;
	font-weight: 800;
}
.checkout-aside { padding: 20px; border-radius: 12px; height: fit-content; }
@media (min-width: 1024px) { .checkout-aside { position: sticky; top: 144px; } }
.checkout-fields { display: grid; gap: 12px; margin-top: 16px; }
@media (min-width: 640px) {
	.checkout-fields--2 { grid-template-columns: 1fr 1fr; }
	.checkout-fields--2 > .form-row-first,
	.checkout-fields--2 > #billing_first_name_field { grid-column: 1 !important; }
	.checkout-fields--2 > .form-row-last,
	.checkout-fields--2 > #billing_phone_field { grid-column: 2 !important; }
}
.checkout-fields .form-row {
	margin: 0;
	padding: 0;
	min-width: 0;
	width: auto !important;
	float: none !important;
	clear: none !important;
}
.checkout-fields .form-row-wide, #order_comments_field { grid-column: 1 / -1; }
.checkout-fields .form-row-hidden,
#billing_last_name_field,
#billing_country_field,
#billing_city_field,
#billing_address_1_field,
#billing_postcode_field,
#ship-to-different-address,
.woocommerce-shipping-fields { display: none !important; }
.checkout-fields label.screen-reader-text, .checkout-fields > .form-row > label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.choice-grid { display: grid; gap: 12px; margin-top: 16px; }
@media (min-width: 640px) {
	.choice-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.choice-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.choice {
	display: flex;
	cursor: pointer;
	align-items: flex-start;
	gap: 12px;
	margin: 0;
	border-radius: 8px;
	border: 1px solid var(--border);
	padding: 16px;
	background: transparent;
}
.choice:has(input:checked) {
	border-color: var(--primary);
	background: color-mix(in oklab, var(--primary) 5%, transparent);
}
.choice input { margin-top: 4px; accent-color: var(--primary); flex-shrink: 0; }
.choice__title { display: block; font-size: 14px; font-weight: 800; }
.choice__desc { display: block; font-size: 12px; color: var(--muted-foreground); }
.checkout-terms {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 12px 0 0;
	font-size: 14px;
}
.checkout-terms input { margin-top: 4px; accent-color: var(--primary); }
#order_comments_field { margin-top: 12px; }
#payment { margin-top: 0; background: none; border: 0; padding: 0; }
#payment .place-order { margin: 0; padding: 0; border: 0; background: none; }
.woocommerce-checkout-review-order-table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 16px;
}
.woocommerce-checkout-review-order-table thead {
	display: none !important;
}
.woocommerce-checkout-review-order-table td,
.woocommerce-checkout-review-order-table th {
	border: 0;
	padding: 0 0 12px;
	font-size: 14px;
	background: none;
}
.woocommerce-checkout-review-order-table tfoot {
	border-top: 1px solid var(--border);
}
.woocommerce-checkout-review-order-table tfoot tr:first-child th,
.woocommerce-checkout-review-order-table tfoot tr:first-child td {
	padding-top: 16px;
}
.woocommerce-checkout-review-order-table tfoot th { text-align: left; color: var(--muted-foreground); font-weight: 400; }
.woocommerce-checkout-review-order-table tfoot td { text-align: right; font-weight: 700; }
.woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout-review-order-table tfoot .order-total td {
	border-top: 1px solid var(--border);
	padding-top: 12px;
	color: var(--foreground);
	font-weight: 800;
	font-size: 16px;
}
.woocommerce-checkout-review-order-table tfoot .order-total td {
	font-family: var(--font-display);
	font-size: 1.25rem;
}
.checkout-item { display: flex; align-items: center; gap: 12px; }
.checkout-item img { width: 48px; height: 48px; object-fit: cover; border-radius: 4px; background: var(--muted); flex-shrink: 0; }
.checkout-item__text { min-width: 0; flex: 1; }
.checkout-item__name { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-weight: 700; }
.checkout-item__qty { display: block; font-size: 12px; font-weight: 400; color: var(--muted-foreground); }
.checkout-item__price { font-size: 14px; font-weight: 700; flex-shrink: 0; }
.checkout-submit { margin-top: 20px; }
.checkout-thanks { max-width: 36rem; padding: 64px 16px; text-align: center; }
.checkout-thanks > svg { width: 56px; height: 56px; margin: 0 auto; color: var(--success); }
.checkout-thanks h1 { margin: 16px 0 0; font-family: var(--font-display); font-size: 1.875rem; font-weight: 800; }
.checkout-thanks p { margin: 8px 0 0; color: var(--muted-foreground); }
.checkout-thanks b { color: var(--foreground); }
.checkout-thanks__actions { display: flex; justify-content: center; gap: 12px; margin-top: 24px; flex-wrap: wrap; }

.woocommerce-form-coupon-toggle, .woocommerce-form-login-toggle, .checkout.woocommerce-checkout > .col2-set { display: none; }
body.woocommerce-cart .woocommerce-message { display: none; }

.auth-page { max-width: 920px; padding: 20px 0 40px; margin-inline: auto; }
.auth-page--narrow { max-width: 28rem; }
.auth-layout {
	display: grid;
	gap: 16px;
	margin-top: 8px;
}
@media (min-width: 900px) {
	.auth-layout {
		grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
		gap: 24px;
		align-items: stretch;
	}
}
.auth-card,
.auth-aside {
	padding: 20px;
	border-radius: 12px;
}
@media (min-width: 640px) {
	.auth-card,
	.auth-aside { padding: 28px; }
}
.auth-card h1,
.auth-aside h2 {
	margin: 0;
	font-family: var(--font-display);
	font-size: 1.5rem;
	font-weight: 800;
}
.auth-aside h2 { font-size: 1.25rem; }
.auth-lead,
.auth-aside p {
	margin: 8px 0 0;
	color: var(--muted-foreground);
	font-size: 14px;
}
.auth-aside p { margin-bottom: 20px; }
.auth-social {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	margin-top: 20px;
}
.auth-social__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 44px;
	padding: 0 14px;
	border: 1px solid var(--border);
	border-radius: 8px;
	background: var(--inverse);
	color: var(--foreground);
	font-weight: 700;
	font-size: 14px;
	text-decoration: none !important;
	cursor: pointer;
}
.auth-social__btn:hover { border-color: var(--foreground); }
.auth-social__btn svg { width: 20px; height: 20px; flex-shrink: 0; }
.auth-social__btn.is-disabled { opacity: 0.55; cursor: default; }
.auth-or {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 20px 0 0;
	font-size: 12px;
	font-weight: 700;
	color: var(--muted-foreground);
	text-align: center;
}
.auth-or::before,
.auth-or::after {
	content: "";
	flex: 1;
	height: 1px;
	background: var(--border);
}
.auth-or span { white-space: nowrap; }
.auth-form { display: grid; gap: 12px; margin-top: 16px; }
.auth-field { display: grid; gap: 6px; }
.auth-field > span {
	font-size: 13px;
	font-weight: 700;
}
.auth-field i { color: var(--primary); font-style: normal; font-weight: 800; }
.auth-field input,
.auth-form input:not([type="checkbox"]):not([type="hidden"]) {
	min-height: 44px;
	width: 100%;
	padding: 0 12px;
	border: 1px solid var(--border);
	border-radius: 6px;
	background: var(--background);
	font-size: 14px;
}
.auth-field input:focus {
	outline: 2px solid color-mix(in oklab, var(--primary) 35%, transparent);
	outline-offset: 1px;
	border-color: var(--primary);
}
.auth-name-row {
	display: grid;
	gap: 12px;
}
@media (min-width: 560px) {
	.auth-name-row { grid-template-columns: 1fr 1fr; }
}
.pw-wrap { position: relative; display: block; }
.pw-wrap input { padding-right: 48px; }
.pw-toggle {
	position: absolute;
	right: 0;
	top: 0;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border: 0;
	background: transparent;
	color: var(--muted-foreground);
	cursor: pointer;
}
.pw-toggle svg { width: 18px; height: 18px; }
.pw-toggle .icon-eye,
.pw-toggle .icon-eye-off { display: grid; place-items: center; }
.pw-toggle .icon-eye-off,
.pw-toggle.is-on .icon-eye { display: none; }
.pw-toggle.is-on .icon-eye-off { display: grid; }
.auth-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	font-size: 14px;
	flex-wrap: wrap;
}
.auth-check {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-size: 14px;
	line-height: 20px;
	cursor: pointer;
}
.auth-check span { min-width: 0; }
.auth-check input[type="checkbox"] {
	-webkit-appearance: none;
	appearance: none;
	width: 16px;
	height: 16px;
	min-width: 16px;
	min-height: 16px;
	max-width: 16px;
	max-height: 16px;
	margin: 2px 0 0;
	padding: 0;
	flex-shrink: 0;
	border: 1.5px solid var(--border);
	border-radius: 4px;
	background: var(--inverse);
	cursor: pointer;
	display: grid;
	place-content: center;
	box-sizing: border-box;
}
.auth-check input[type="checkbox"]:checked {
	background: var(--primary);
	border-color: var(--primary);
}
.auth-check input[type="checkbox"]:checked::after {
	content: "";
	width: 8px;
	height: 4.5px;
	margin-bottom: 2px;
	border: 2px solid var(--primary-foreground);
	border-top: 0;
	border-right: 0;
	transform: rotate(-45deg);
}
.auth-check a { color: var(--primary); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.auth-form .btn { width: 100%; }
.auth-aside {
	display: flex;
	flex-direction: column;
	background: color-mix(in oklab, var(--foreground) 4%, var(--card));
}
.auth-benefits {
	list-style: none;
	margin: 16px 0 0;
	padding: 0;
	display: grid;
	gap: 10px;
	flex: 1;
}
.auth-benefits li {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-size: 14px;
	font-weight: 600;
}
.auth-benefits svg {
	width: 16px;
	height: 16px;
	margin-top: 3px;
	flex-shrink: 0;
	color: var(--primary);
}
.auth-aside .btn { width: 100%; margin-top: auto; }
.auth-trust {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px 20px;
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
	color: var(--muted-foreground);
	font-size: 12px;
	font-weight: 700;
}
.auth-trust li { display: inline-flex; align-items: center; gap: 6px; }
.auth-trust svg { width: 14px; height: 14px; }
.auth-back {
	display: block;
	text-align: center;
	font-size: 14px;
	font-weight: 700;
	color: var(--primary);
}
.auth-page [hidden] { display: none !important; }
.auth-page .show-password-input,
.auth-page .woocommerce-privacy-policy-text,
.auth-page .woocommerce-password-strength,
.auth-page .woocommerce-password-hint {
	display: none !important;
}
.pw-wrap.password-input { display: block; position: relative; }
@media (max-width: 899px) {
	.auth-aside { order: 2; }
	.auth-card { order: 1; }
}
.pill-tabs {
	display: flex;
	gap: 4px;
	padding: 4px;
	border-radius: 8px;
	background: var(--muted);
	overflow-x: auto;
}
.pill-tabs button {
	min-height: 36px;
	padding: 0 12px;
	border: 0;
	border-radius: 6px;
	background: transparent;
	font-weight: 700;
	font-size: 12px;
	color: var(--muted-foreground);
	cursor: pointer;
	white-space: nowrap;
}
.pill-tabs button.is-active { background: var(--foreground); color: var(--inverse); }

.home-tabs { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.home-tabs .section__title { margin-bottom: 0; }
.home-tabs .pill-tabs { width: 100%; max-width: 100%; }

.woocommerce-notices-wrapper {
	max-width: var(--max);
	margin: 0 auto;
	padding: 0;
}
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	max-width: var(--max);
	margin: 12px auto;
	padding: 12px 16px;
	border-radius: 8px;
	font-size: 14px;
}
.woocommerce-message { background: color-mix(in oklab, var(--success) 12%, transparent); }
.woocommerce-error { background: color-mix(in oklab, var(--primary) 12%, transparent); list-style: none; }

.egoist-shop { padding: 0; }

.product-card__wish.is-on svg,
.product-cart__wish.is-on svg { fill: var(--primary); color: var(--primary); }

.vin-form { display: grid; gap: 8px; }
.vin-form__row { display: flex; gap: 8px; }
.vin-form__row input {
	flex: 1;
	min-width: 0;
	height: 48px;
	padding: 0 12px;
	border: 1px solid var(--border);
	border-radius: 6px;
	background: var(--background);
	font-size: 14px;
	outline: none;
}
.vin-form__row input:not(:placeholder-shown) { text-transform: uppercase; }
.vin-form__row input::placeholder { text-transform: none; }
.vin-form__row input:focus { border-color: var(--primary); }
.vin-form .btn { width: auto; flex-shrink: 0; }
.filter-hint.is-error { color: var(--primary); font-weight: 700; }

.picker {
	position: fixed;
	inset: 0;
	z-index: 80;
	display: none;
	align-items: flex-end;
	justify-content: center;
	background: color-mix(in oklab, var(--foreground) 60%, transparent);
}
.picker.is-open { display: flex; }
body.is-picker-open { overflow: hidden; }
@media (min-width: 640px) { .picker { align-items: center; padding: 16px; } }
.picker__box {
	width: min(100%, 42rem);
	max-height: 92vh;
	overflow: auto;
	background: var(--background);
	border-radius: 16px 16px 0 0;
	padding: 20px;
}
@media (min-width: 640px) { .picker__box { border-radius: 16px; padding: 24px; } }
.picker__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.picker__head h2 { margin: 0; font-family: var(--font-display); font-size: 1.25rem; font-weight: 800; }
.picker .finder { background: transparent; border: 0; padding: 0; box-shadow: none; }

.egoist-toast {
	position: fixed;
	left: 50%;
	bottom: 80px;
	z-index: 70;
	transform: translateX(-50%);
	padding: 12px 18px;
	border-radius: 8px;
	background: var(--foreground);
	color: var(--inverse);
	font-size: 14px;
	font-weight: 700;
	white-space: nowrap;
}
@media (min-width: 768px) { .egoist-toast { bottom: 24px; } }

.search-suggest {
	position: absolute;
	inset: 100% 0 auto;
	z-index: 50;
	margin-top: 8px;
	padding: 12px;
	max-height: min(70vh, 420px);
	overflow-x: hidden;
	overflow-y: auto;
	max-width: 100%;
	border-radius: 8px;
	background: var(--inverse);
	color: var(--foreground);
	border: 1px solid var(--border);
	box-shadow: 0 18px 40px -24px color-mix(in oklab, var(--foreground) 42%, transparent);
}
.search-suggest__kicker { margin: 0; font-size: 11px; font-weight: 800; text-transform: uppercase; color: var(--muted-foreground); }
.search-suggest__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin-top: 8px; }
.search-suggest__grid button,
.search-suggest__grid a {
	text-align: left;
	padding: 8px 12px;
	border: 0;
	border-radius: 6px;
	background: transparent;
	cursor: pointer;
	font-size: 14px;
	font-weight: 700;
	color: var(--foreground);
	text-decoration: none;
	display: block;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.search-suggest__grid button:hover,
.search-suggest__grid a:hover { background: var(--muted); color: var(--primary); }
.search-suggest__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.search-suggest__list a {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 8px;
	border-radius: 6px;
	min-width: 0;
	overflow: hidden;
}
.search-suggest__list a:hover { background: var(--muted); }
.search-suggest__list img { width: 40px; height: 40px; flex-shrink: 0; object-fit: contain; border-radius: 4px; background: var(--muted); }
.search-suggest__list span { min-width: 0; flex: 1; overflow: hidden; }
.search-suggest__list b { display: block; font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.search-suggest__list small { display: block; font-size: 12px; font-weight: 400; color: var(--muted-foreground); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.search-suggest__list em { font-style: normal; font-weight: 800; font-size: 14px; flex-shrink: 0; max-width: 38%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 767px) {
	.search-suggest { padding: 10px; }
	.search-suggest__list a { gap: 8px; padding: 8px 4px; }
	.search-suggest__list em { font-size: 12px; max-width: 34%; }
}
.search-suggest__car {
	display: block;
	padding: 12px;
	border-radius: 6px;
	background: color-mix(in oklab, var(--primary) 10%, transparent);
	margin-bottom: 8px;
}
.search-suggest__car strong { display: block; }
.search-suggest__car span { font-size: 12px; color: var(--muted-foreground); }

.vehicle-hero {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin-top: 16px;
	padding: 20px;
	border-radius: 12px;
	background: var(--foreground);
	color: var(--inverse);
}
@media (min-width: 640px) { .vehicle-hero { flex-direction: row; align-items: center; padding: 24px; } }
.vehicle-hero__ico {
	display: none;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 8px;
	background: var(--primary);
	flex-shrink: 0;
}
@media (min-width: 640px) { .vehicle-hero__ico { display: grid; } }
.vehicle-hero__copy { min-width: 0; flex: 1; }
.vehicle-hero__copy p { margin: 0; font-size: 12px; font-weight: 800; text-transform: uppercase; color: var(--primary); }
.vehicle-hero__copy h1 { margin: 4px 0 0; font-family: var(--font-display); font-size: 1.25rem; font-weight: 800; }
@media (min-width: 640px) { .vehicle-hero__copy h1 { font-size: 1.875rem; } }
.vehicle-hero__copy .muted { text-transform: none; font-weight: 400; color: color-mix(in oklab, var(--inverse) 60%, transparent); }
.vehicle-hero__actions { display: flex; gap: 8px; flex-shrink: 0; }
.vehicle-groups {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
	margin-top: 20px;
}
@media (min-width: 640px) { .vehicle-groups { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 1024px) { .vehicle-groups { grid-template-columns: repeat(8, 1fr); } }
.vehicle-group {
	padding: 16px 8px;
	text-align: center;
	font-size: 14px;
	font-weight: 800;
}
.vehicle-group:hover { color: var(--primary); }

.mobile-search { position: relative; }

.vehicle-bar {
	display: flex;
	align-items: center;
	gap: 4px;
	margin-left: auto;
	min-height: 36px;
	flex-shrink: 0;
	font-size: 13px;
}
.vehicle-bar__pick {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 36px;
	padding: 0 12px;
	border: 0;
	border-radius: 8px;
	background: var(--inverse);
	color: var(--foreground);
	font-weight: 800;
	cursor: pointer;
	white-space: nowrap;
}
.vehicle-bar__pick svg { width: 16px; height: 16px; color: var(--primary); }
.vehicle-bar__pick svg:last-child { color: var(--muted-foreground); }
.vehicle-bar__chosen {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	max-width: 220px;
	padding: 8px 10px !important;
	color: var(--inverse) !important;
	font-weight: 800;
}
.vehicle-bar__chosen svg { width: 16px; height: 16px; flex-shrink: 0; }
.vehicle-bar__chosen span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vehicle-bar__change {
	height: 36px;
	padding: 0 8px;
	border: 0;
	background: transparent;
	color: var(--inverse);
	font-weight: 800;
	text-decoration: underline;
	text-underline-offset: 2px;
	cursor: pointer;
	white-space: nowrap;
}
.vehicle-bar__clear {
	width: 32px;
	height: 32px;
	color: var(--inverse);
	background: transparent;
	border: 0;
}
.vehicle-bar [hidden] { display: none !important; }

.fit-badge {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	width: fit-content;
	margin-top: 8px;
	padding: 2px 8px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 800;
}
.fit-badge svg { width: 12px; height: 12px; }
.fit-badge.is-ok { background: color-mix(in oklab, var(--success) 15%, transparent); color: var(--success); }
.fit-badge.is-no { background: var(--muted); color: var(--muted-foreground); }

.compat-check {
	margin: 20px 0 0;
	padding: 16px;
	border-radius: 8px;
	border: 2px dashed var(--border);
}
.compat-check.is-ok { border: 0; background: color-mix(in oklab, var(--success) 10%, transparent); }
.compat-check.is-no { border: 0; background: color-mix(in oklab, var(--primary) 10%, transparent); }
.compat-check__title {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-family: var(--font-display);
	font-size: 14px;
	font-weight: 800;
}
.compat-check.is-ok .compat-check__title { color: var(--success); }
.compat-check.is-no .compat-check__title { color: var(--primary); }
.compat-check .muted { margin: 6px 0 0; font-size: 12px; }
.compat-check .btn { margin-top: 12px; }
.compat-check .btn svg { width: 16px; height: 16px; }
.compat-check__title svg { width: 20px; height: 20px; flex-shrink: 0; }
.compat-check__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; font-size: 12px; font-weight: 700; }
.compat-check__actions button {
	border: 0;
	background: transparent;
	padding: 0;
	text-decoration: underline;
	cursor: pointer;
	font: inherit;
	font-weight: 700;
}
.compat-check__actions a { color: var(--primary); text-decoration: underline; }

.picker .finder__kicker,
.picker .finder h2 { display: none; }
.picker__garage { margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--border); }
.picker__garage-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.picker__car {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	border: 1px solid var(--border);
	border-radius: 999px;
	background: var(--background);
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
}
.picker__car:hover { border-color: var(--primary); }

.header-action--hello span {
	max-width: 9.5rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.header-cart { position: relative; display: inline-flex; }
.cart-dropdown {
	display: none;
	position: absolute;
	right: 0;
	top: calc(100% - 2px);
	z-index: 70;
	width: min(360px, calc(100vw - 32px));
	padding: 12px;
	border-radius: 10px;
	background: var(--inverse);
	color: var(--foreground);
	border: 1px solid var(--border);
	box-shadow: 0 20px 50px -24px color-mix(in oklab, var(--foreground) 50%, transparent);
}
.cart-dropdown__empty {
	margin: 8px 4px;
	font-size: 14px;
	color: var(--muted-foreground);
}
.cart-dropdown__list {
	list-style: none;
	margin: 0;
	padding: 0;
	max-height: 280px;
	overflow: auto;
	display: grid;
	gap: 4px;
}
.cart-dropdown__list li {
	display: flex;
	align-items: center;
	gap: 4px;
}
.cart-dropdown__list a:not(.cart-dropdown__remove) {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px;
	border-radius: 8px;
	min-width: 0;
	flex: 1;
	color: var(--foreground);
}
.cart-dropdown__list a:not(.cart-dropdown__remove):hover { background: var(--muted); }
.cart-dropdown__remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	min-width: 32px;
	flex: 0 0 32px;
	padding: 0;
	border: 1px solid var(--border);
	border-radius: 8px;
	background: var(--background);
	color: var(--muted-foreground);
	text-decoration: none !important;
}
.cart-dropdown__remove svg { width: 14px; height: 14px; display: block; }
.cart-dropdown__remove:hover {
	border-color: var(--primary);
	background: color-mix(in oklab, var(--primary) 12%, transparent);
	color: var(--primary);
}
.cart-dropdown__list img {
	width: 48px;
	height: 48px;
	object-fit: contain;
	border-radius: 6px;
	background: var(--muted);
	flex-shrink: 0;
}
.cart-dropdown__list span { min-width: 0; flex: 1; }
.cart-dropdown__list b {
	display: block;
	font-size: 13px;
	line-height: 1.3;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.cart-dropdown__list small {
	display: block;
	margin-top: 2px;
	font-size: 12px;
	color: var(--muted-foreground);
	font-weight: 600;
}
.cart-dropdown__foot {
	margin-top: 8px;
	padding-top: 10px;
	border-top: 1px solid var(--border);
}
.cart-dropdown__foot p {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 0 10px;
	font-size: 14px;
}
.cart-dropdown__foot div { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.cart-dropdown__foot .btn { min-height: 40px; font-size: 13px; }
@media (min-width: 1024px) {
	.header-cart:hover .cart-dropdown,
	.header-cart:focus-within .cart-dropdown,
	.header-cart.is-open .cart-dropdown { display: block; }
}

.hero-slider { position: relative; }
.hero-slider .hero-banner[hidden] { display: none; }
.hero-slider__dots {
	position: absolute;
	left: 24px;
	bottom: 16px;
	z-index: 2;
	display: flex;
	gap: 8px;
}
.hero-slider__dots button {
	width: 10px;
	height: 10px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: rgb(255 255 255 / 0.4);
	cursor: pointer;
}
.hero-slider__dots button.is-active { background: var(--inverse); }

.drawer__sub {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows .25s ease;
	padding: 0;
}
.drawer__item.is-open .drawer__sub { grid-template-rows: 1fr; }
.drawer__sub-inner {
	min-height: 0;
	overflow: hidden;
	padding: 0 0 8px 8px;
}
.drawer__sub a {
	min-height: 36px;
	font-weight: 600;
	font-size: 14px;
	color: var(--muted-foreground);
	display: flex;
	align-items: center;
}

.account-page { padding: 8px 0 40px; }
.account-shell {
	display: grid;
	gap: 16px;
	margin-top: 8px;
	align-items: start;
}
@media (min-width: 900px) {
	.account-shell { grid-template-columns: 240px minmax(0, 1fr); gap: 20px; }
}
.account-nav { padding: 14px; }
@media (min-width: 900px) {
	.account-nav { padding: 16px; position: sticky; top: 16px; }
}
.admin-bar .account-nav { top: 48px; }
.account-nav__head {
	display: flex;
	align-items: center;
	gap: 10px;
	padding-bottom: 12px;
	margin-bottom: 8px;
	border-bottom: 1px solid var(--border);
}
.account-nav__avatar {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	flex-shrink: 0;
	border-radius: 50%;
	background: var(--primary);
	color: var(--primary-foreground);
	font-family: var(--font-display);
	font-weight: 800;
	font-size: 16px;
}
.account-nav__who { min-width: 0; }
.account-nav__who strong {
	display: block;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.3;
}
.account-nav__who span {
	display: block;
	margin-top: 2px;
	font-size: 11px;
	color: var(--muted-foreground);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.account-nav .woocommerce-MyAccount-navigation ul {
	list-style: none;
	display: flex;
	gap: 2px;
	margin: 0;
	padding: 0;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}
.account-nav .woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
@media (min-width: 900px) {
	.account-nav .woocommerce-MyAccount-navigation ul {
		flex-direction: column;
		overflow: visible;
	}
}
.account-nav .woocommerce-MyAccount-navigation li { flex: 0 0 auto; }
.account-nav .woocommerce-MyAccount-navigation a {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 38px;
	padding: 0 10px;
	border-radius: 8px;
	font-size: 13px;
	font-weight: 700;
	color: var(--foreground);
	white-space: nowrap;
}
.account-nav .woocommerce-MyAccount-navigation a svg {
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	color: var(--muted-foreground);
}
.account-nav .woocommerce-MyAccount-navigation a:hover { background: var(--muted); }
.account-nav .woocommerce-MyAccount-navigation .is-active a {
	background: color-mix(in oklab, var(--primary) 12%, transparent);
	color: var(--primary);
}
.account-nav .woocommerce-MyAccount-navigation .is-active a svg { color: var(--primary); }
.account-nav .woocommerce-MyAccount-navigation-link--customer-logout {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
	width: auto;
}
@media (min-width: 900px) {
	.account-nav .woocommerce-MyAccount-navigation-link--customer-logout {
		margin-top: 6px;
		padding-top: 8px;
		border-top: 1px solid var(--border);
		width: 100%;
	}
}
.account-nav .woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--muted-foreground); font-weight: 600; }
.account-main { padding: 18px; min-width: 0; }
@media (min-width: 640px) { .account-main { padding: 24px; } }
.account-hello { margin-bottom: 16px; }
.account-hello h1 {
	margin: 0;
	font-family: var(--font-display);
	font-size: 1.35rem;
	font-weight: 800;
	line-height: 1.2;
	color: var(--foreground);
}
.account-hello .muted { margin: 6px 0 0; font-size: 13px; }
.account-hello .muted a { font-weight: 700; color: var(--primary); }
.account-dash {
	display: grid;
	gap: 10px;
	grid-template-columns: 1fr 1fr;
}
.account-dash__card {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 12px;
	padding: 14px;
	border-radius: 10px;
	border: 1px solid var(--border);
	background: var(--background);
	min-width: 0;
	text-decoration: none;
	color: inherit;
}
.account-dash__card:hover { border-color: color-mix(in oklab, var(--primary) 40%, transparent); }
.account-dash__ico {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	flex-shrink: 0;
	border-radius: 8px;
	background: color-mix(in oklab, var(--primary) 12%, transparent);
	color: var(--primary);
}
.account-dash__ico svg { width: 18px; height: 18px; }
.account-dash__txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.account-dash__txt strong { font-size: 14px; line-height: 1.2; }
.account-dash__txt span { font-size: 12px; color: var(--muted-foreground); line-height: 1.35; }
.account-recent { margin-top: 20px; }
.account-recent__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 10px;
}
.account-recent__head h2 { margin: 0; font-size: 14px; }
.account-recent__head a { font-size: 13px; font-weight: 800; color: var(--primary); }
.account-recent__list { list-style: none; margin: 0; padding: 0; border: 1px solid var(--border); border-radius: 10px; overflow: hidden; background: var(--background); }
.account-recent__list li + li { border-top: 1px solid var(--border); }
.account-recent__list a {
	display: grid;
	grid-template-columns: auto 1fr auto auto;
	gap: 12px;
	align-items: center;
	padding: 12px 14px;
	font-size: 13px;
	color: inherit;
	text-decoration: none;
}
.account-recent__list a strong { font-weight: 800; }
.account-recent__list a span { color: var(--muted-foreground); }
.account-recent__list a em { font-style: normal; font-weight: 700; font-size: 12px; }
.account-recent__list a b { font-weight: 800; text-align: right; }
.account-recent__empty {
	margin: 0;
	padding: 16px;
	border: 1px dashed var(--border);
	border-radius: 10px;
	font-size: 13px;
	color: var(--muted-foreground);
	background: var(--background);
}
@media (max-width: 639px) {
	.account-dash { grid-template-columns: 1fr; }
	.account-recent__list a { grid-template-columns: 1fr 1fr; }
	.account-recent__list a span { grid-column: 1 / -1; }
}

.account-empty {
	display: grid;
	justify-items: center;
	text-align: center;
	gap: 8px;
	padding: 28px 16px;
	border: 1px dashed var(--border);
	border-radius: 10px;
	background: var(--background);
}
.account-empty svg { width: 32px; height: 32px; color: var(--muted-foreground); }
.account-empty h2 { margin: 4px 0 0; font-size: 1.05rem; }
.account-empty p { margin: 0; max-width: 36ch; }
.account-empty .btn { margin-top: 8px; }

.account-page .woocommerce-notices-wrapper { margin: 0 0 14px; max-width: none; }
.account-page .woocommerce-notices-wrapper:empty { display: none; margin: 0; }
.account-page .woocommerce-message,
.account-page .woocommerce-info,
.account-page .woocommerce-error,
.account-page .woocommerce-notices-wrapper > ul {
	display: flex;
	flex-direction: row-reverse;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 14px;
	max-width: none;
	margin: 0 0 12px;
	padding: 12px 14px;
	border-radius: 8px;
	list-style: none;
	font-size: 13px;
	line-height: 1.4;
	color: var(--foreground);
}
.account-page .woocommerce-message { background: color-mix(in oklab, var(--success) 12%, transparent); }
.account-page .woocommerce-info { background: var(--muted); }
.account-page .woocommerce-error { background: color-mix(in oklab, var(--primary) 12%, transparent); }
.account-page .woocommerce-info .button,
.account-page .woocommerce-message .button,
.account-page .woocommerce-error .button {
	flex-shrink: 0;
	min-height: 36px;
	padding: 0 12px;
	font-size: 13px;
}

.account-page h2,
.account-page h3 {
	margin: 0 0 12px;
	font-family: var(--font-display);
	font-size: 1.05rem;
	font-weight: 800;
	color: var(--foreground);
}
.account-page p { margin: 0 0 12px; font-size: 14px; color: var(--muted-foreground); }
.account-page .form-row-first,
.account-page .form-row-last,
.account-page .form-row-wide,
.account-page .u-column1,
.account-page .u-column2,
.account-page .col-1,
.account-page .col-2 { float: none; width: auto; max-width: none; }
.account-page .edit-account,
.account-page .woocommerce-EditAccountForm {
	display: grid;
	gap: 14px;
}
.account-page .woocommerce-address-fields,
.account-page .woocommerce-address-fields__field-wrapper {
	display: grid;
	gap: 14px;
}
@media (min-width: 640px) {
	.account-page .edit-account,
	.account-page .woocommerce-EditAccountForm,
	.account-page .woocommerce-address-fields__field-wrapper { grid-template-columns: 1fr 1fr; }
	.account-page .edit-account .form-row-wide,
	.account-page .edit-account .woocommerce-form-row--wide,
	.account-page .edit-account fieldset,
	.account-page .edit-account .form-row-submit,
	.account-page .woocommerce-EditAccountForm .form-row-wide,
	.account-page .woocommerce-EditAccountForm fieldset,
	.account-page .woocommerce-EditAccountForm .form-row-submit,
	.account-page .woocommerce-address-fields__field-wrapper .form-row-wide,
	.account-page .woocommerce-address-fields .form-row-submit {
		grid-column: 1 / -1;
	}
}
.account-page .clear { display: none; }
.account-page .form-row,
.account-page .woocommerce-form-row { margin: 0; }
.account-page .form-row label,
.account-page .woocommerce-form-row label {
	display: block;
	margin: 0 0 6px;
	font-size: 13px;
	font-weight: 700;
	color: var(--foreground);
}
.account-page .form-row .required,
.account-page .required { color: var(--primary); }
.account-page .form-row em,
.account-page .woocommerce-form-row em {
	display: block;
	margin-top: 6px;
	font-size: 12px;
	font-style: normal;
	color: var(--muted-foreground);
}
.account-page .form-row input.input-text,
.account-page .form-row select,
.account-page .form-row textarea,
.account-page .woocommerce-Input,
.account-page .woocommerce-address-fields input.input-text,
.account-page .woocommerce-address-fields select,
.account-page #econt_edit_user_address input.input-text,
.account-page #econt_edit_user_address select {
	width: 100%;
	min-height: 44px;
	padding: 0 12px;
	border: 1px solid var(--border);
	border-radius: 6px;
	background: var(--background);
	font-size: 14px;
	color: var(--foreground);
	box-sizing: border-box;
}
.account-page textarea { min-height: 88px; padding: 10px 12px; }
.account-page .password-input { display: block; position: relative; }
.account-page .password-input input { padding-right: 44px; }
.account-page .show-password-input {
	position: absolute;
	right: 6px;
	top: 50%;
	transform: translateY(-50%);
	width: 36px;
	height: 36px;
	border: 0;
	background: transparent;
	cursor: pointer;
	padding: 0;
	min-height: 0;
}
.account-page fieldset {
	margin: 4px 0 0;
	padding: 16px;
	border: 1px solid var(--border);
	border-radius: 10px;
	background: var(--background);
	display: grid;
	gap: 14px;
}
.account-page fieldset legend {
	padding: 0 6px;
	font-family: var(--font-display);
	font-size: 13px;
	font-weight: 800;
	color: var(--foreground);
}
.account-page .button,
.account-page .woocommerce-Button,
.account-page button[type="submit"],
.account-page .woocommerce-form-edit-account .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 18px;
	border: 0;
	border-radius: 8px;
	background: var(--primary);
	color: var(--primary-foreground);
	font-size: 14px;
	font-weight: 800;
	cursor: pointer;
}
.account-page .button:hover,
.account-page .woocommerce-Button:hover { background: var(--primary-hover); color: var(--primary-foreground); }
.account-page a.button { text-decoration: none; }
.account-page .woocommerce-button--next,
.account-page .woocommerce-button--previous {
	background: var(--muted);
	color: var(--foreground);
}

.account-page .woocommerce-Addresses,
.account-page .u-columns.addresses {
	display: grid;
	gap: 12px;
}
@media (min-width: 700px) {
	.account-page .woocommerce-Addresses,
	.account-page .u-columns.addresses { grid-template-columns: 1fr 1fr; }
}
.account-page .woocommerce-Address {
	padding: 16px;
	border: 1px solid var(--border);
	border-radius: 10px;
	background: var(--background);
}
.account-page .woocommerce-Address-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 8px;
}
.account-page .woocommerce-Address-title h2 { margin: 0; font-size: 14px; }
.account-page .woocommerce-Address-title .edit {
	font-size: 13px;
	font-weight: 800;
	color: var(--primary);
	white-space: nowrap;
}
.account-page address {
	font-style: normal;
	font-size: 14px;
	line-height: 1.6;
	color: var(--foreground);
}
.account-page .econt_user_address.econt-ma-card,
.account-page #econt_edit_user_address.econt-ma-card {
	grid-column: 1 / -1;
	width: 100%;
	max-width: none !important;
	margin: 12px 0 0;
	padding: 16px;
	border: 1px solid var(--border) !important;
	border-radius: 10px !important;
	background: var(--background) !important;
	box-shadow: none !important;
}
.account-page .econt-ma-title { color: var(--foreground) !important; font-size: 14px !important; font-weight: 800 !important; }
.account-page .econt-ma-card .econt-ma-edit { background: var(--muted) !important; }
.account-page #econt_edit_user_address.econt-ma-form { margin-top: 0 !important; }

.account-table-wrap { overflow-x: auto; }
.account-page table {
	width: 100%;
	border-collapse: collapse;
}
.account-page table th,
.account-page table td {
	padding: 12px 8px;
	text-align: left;
	border-bottom: 1px solid var(--border);
	font-size: 14px;
	vertical-align: middle;
}
.account-page table th {
	font-size: 11px;
	font-weight: 800;
	color: var(--muted-foreground);
	text-transform: uppercase;
	letter-spacing: .04em;
}
.account-page table a { font-weight: 800; color: var(--foreground); }
.account-page table .button { min-height: 34px; padding: 0 12px; font-size: 12px; }
.account-status {
	display: inline-flex;
	align-items: center;
	padding: 3px 8px;
	border-radius: 999px;
	background: var(--muted);
	font-size: 12px;
	font-weight: 800;
	white-space: nowrap;
}
.account-status--completed,
.account-status--processing { background: color-mix(in oklab, var(--success) 16%, transparent); color: var(--foreground); }
.account-status--cancelled,
.account-status--failed { background: color-mix(in oklab, var(--primary) 14%, transparent); color: var(--primary); }
@media (max-width: 767px) {
	.account-page .shop_table_responsive thead { display: none; }
	.account-page .shop_table_responsive tbody,
	.account-page .shop_table_responsive tr,
	.account-page .shop_table_responsive th,
	.account-page .shop_table_responsive td { display: block; width: 100%; }
	.account-page .shop_table_responsive tr {
		margin: 0 0 12px;
		padding: 8px 4px;
		border: 1px solid var(--border);
		border-radius: 10px;
		background: var(--background);
	}
	.account-page .shop_table_responsive th,
	.account-page .shop_table_responsive td {
		display: flex;
		justify-content: space-between;
		gap: 12px;
		border: 0;
		padding: 8px 12px;
	}
	.account-page .shop_table_responsive td::before {
		content: attr(data-title);
		font-weight: 800;
		color: var(--muted-foreground);
		font-size: 12px;
	}
}

.account-page .woocommerce-pagination { margin-top: 16px; }
.account-page .order-again { margin-top: 16px; }
.account-page .woocommerce-order-details { margin-top: 8px; }
.account-page mark {
	background: color-mix(in oklab, var(--primary) 12%, transparent);
	color: var(--primary);
	padding: 1px 6px;
	border-radius: 4px;
	font-weight: 800;
}

.search-suggest__kicker + .search-suggest__grid + .search-suggest__kicker { margin-top: 12px; }

.cms-page { padding: 8px 0 48px; }
.cms-page > .cms-hero,
.cms-page > .cms-card { margin-top: 16px; }
.cms-hero,
.cms-card { padding: 24px; }
@media (min-width: 768px) {
	.cms-hero,
	.cms-card { padding: 32px; }
}
.cms-kicker {
	margin: 0 0 8px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--primary);
}
.cms-hero h1,
.cms-card > h1,
.cms-page .cms-card h1 {
	margin: 0 0 12px;
	font-family: var(--font-display);
	font-size: clamp(1.5rem, 2.4vw, 2rem);
	font-weight: 800;
	line-height: 1.2;
}
.cms-hero p,
.cms-card > p { margin: 0 0 12px; font-size: 15px; color: var(--muted-foreground); line-height: 1.65; }
.cms-hero p:last-child,
.cms-card > p:last-child { margin-bottom: 0; }
.cms-points {
	display: grid;
	gap: 12px;
	margin-top: 16px;
	grid-template-columns: 1fr;
}
@media (min-width: 700px) { .cms-points { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1100px) { .cms-points { grid-template-columns: repeat(4, 1fr); } }
.cms-points article { padding: 18px; }
.cms-points__ico {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	margin-bottom: 10px;
	border-radius: 10px;
	background: color-mix(in oklab, var(--primary) 12%, transparent);
	color: var(--primary);
}
.cms-points__ico svg { width: 20px; height: 20px; }
.cms-points strong { display: block; font-size: 15px; margin-bottom: 4px; }
.cms-points p { margin: 0; font-size: 13px; color: var(--muted-foreground); line-height: 1.45; }
.cms-contact-grid {
	display: grid;
	gap: 12px;
	margin-top: 16px;
	grid-template-columns: 1fr;
}
@media (min-width: 800px) { .cms-contact-grid { grid-template-columns: repeat(3, 1fr); } }
.cms-contact-card {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 18px;
	text-decoration: none;
	color: inherit;
}
.cms-contact-card span { font-weight: 800; font-size: 15px; }
.cms-contact-card em { font-style: normal; font-size: 12px; color: var(--muted-foreground); }
.cms-split {
	display: grid;
	gap: 16px;
	margin-top: 16px;
}
@media (min-width: 960px) { .cms-split { grid-template-columns: 1.1fr .9fr; align-items: start; } }
.cms-form {
	display: grid;
	gap: 12px;
	margin-top: 16px;
}
@media (min-width: 640px) {
	.cms-form { grid-template-columns: 1fr 1fr; }
	.cms-form__wide,
	.cms-form button { grid-column: 1 / -1; }
}
.cms-form label span {
	display: block;
	margin-bottom: 6px;
	font-size: 13px;
	font-weight: 700;
}
.cms-form input,
.cms-form textarea {
	width: 100%;
	min-height: 44px;
	padding: 0 12px;
	border: 1px solid var(--border);
	border-radius: 8px;
	background: var(--background);
	font: inherit;
	color: var(--foreground);
	box-sizing: border-box;
}
.cms-form textarea { padding: 10px 12px; min-height: 120px; resize: vertical; }
.cms-faq details {
	border-bottom: 1px solid var(--border);
	padding: 10px 0;
}
.cms-faq summary {
	cursor: pointer;
	font-weight: 700;
	font-size: 14px;
	list-style: none;
}
.cms-faq summary::-webkit-details-marker { display: none; }
.cms-faq details p {
	margin: 8px 0 4px;
	font-size: 14px;
	color: var(--muted-foreground);
	line-height: 1.55;
}
.cms-prose {
	max-width: 760px;
	font-size: 15px;
	line-height: 1.7;
	color: var(--foreground);
}
.cms-prose h2 {
	margin: 28px 0 10px;
	font-family: var(--font-display);
	font-size: 1.05rem;
	font-weight: 800;
}
.cms-prose h2:first-child { margin-top: 0; }
.cms-prose p { margin: 0 0 12px; }
.cms-prose ul { margin: 0 0 12px; padding-left: 18px; }
.cms-prose li { margin: 0 0 6px; }
.cms-prose a { color: var(--primary); font-weight: 700; }
