/* ==========================================================================
   Tokens
   ========================================================================== */
:root {
	--bg: #000;
	--bg-grouped: #0b0b0c;
	--surface: #1c1c1e;
	--surface-2: #2c2c2e;
	--surface-3: #3a3a3c;
	--fill: rgba(118, 118, 128, .24);
	--fill-2: rgba(118, 118, 128, .16);
	--line: rgba(84, 84, 88, .55);
	--line-soft: rgba(255, 255, 255, .07);
	--text: #f5f5f7;
	--text-2: rgba(235, 235, 245, .66);
	--text-3: rgba(235, 235, 245, .4);
	--accent: #e3101d;
	--accent-hover: #f5222e;
	--accent-press: #c80d18;
	--accent-soft: rgba(227, 16, 29, .16);
	--accent-text: #ff5a52;
	--green: #30d158;
	--orange: #ff9f0a;
	--blue: #0a84ff;
	--tile: #f3f3f5;
	--r-xs: 8px;
	--r-sm: 12px;
	--r: 16px;
	--r-lg: 22px;
	--r-xl: 28px;
	--pill: 999px;
	--font: "Geist", -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI Variable Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--font-display: "Geist", -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI Variable Display", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--wrap: 1400px;
	--gut: 16px;
	--hdr: 64px;
	--ease: cubic-bezier(.32, .72, 0, 1);
	--shadow: 0 20px 60px rgba(0, 0, 0, .55), 0 2px 8px rgba(0, 0, 0, .4);
	--safe-b: env(safe-area-inset-bottom, 0px);
	color-scheme: dark;
}

@media (min-width: 768px) { :root { --gut: 24px; } }
@media (min-width: 1200px) { :root { --gut: 32px; --hdr: 76px; } }

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

html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--hdr) + 24px);
}

body {
	margin: 0;
	background: var(--bg);
	color: var(--text);
	font: 400 16px/1.5 var(--font);
	letter-spacing: -.011em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	overflow-x: hidden;
}

body.is-locked { overflow: hidden; }

img, svg, video, iframe { max-width: 100%; }
img { height: auto; display: block; }
svg.i { flex: none; display: inline-block; vertical-align: middle; }
[hidden] { display: none !important; }
button { font: inherit; color: inherit; border: 0; }

a { color: inherit; text-decoration: none; }
a:hover { color: var(--text); }

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

p { margin: 0 0 1em; }
strong, b { font-weight: 600; }
small { font-size: .8125em; }
hr { border: 0; border-top: 1px solid var(--line-soft); margin: 32px 0; }

::selection { background: var(--accent); color: #fff; }

:focus-visible {
	outline: 2px solid var(--blue);
	outline-offset: 2px;
	border-radius: 6px;
}

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

.skip {
	position: absolute; top: 8px; left: 8px; z-index: 1000;
	width: 1px; height: 1px;
	padding: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	background: var(--text); color: #000;
	border-radius: var(--pill);
}
.skip:focus { width: auto; height: auto; padding: 10px 16px; clip-path: none; }

.wrap {
	width: 100%;
	max-width: var(--wrap);
	margin: 0 auto;
	padding-left: max(var(--gut), env(safe-area-inset-left));
	padding-right: max(var(--gut), env(safe-area-inset-right));
}

.site-main { min-height: 60vh; }

/* ==========================================================================
   Controls
   ========================================================================== */
.btn,
.button,
button.button,
input[type="submit"],
.wp-element-button,
.woocommerce a.button,
.woocommerce button.button {
	-webkit-appearance: none;
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	padding: 10px 20px;
	border: 0;
	border-radius: var(--pill);
	background: var(--fill);
	color: var(--text);
	font: 600 15px/1.2 var(--font);
	letter-spacing: -.01em;
	text-align: center;
	cursor: pointer;
	user-select: none;
	transition: background-color .2s, transform .15s var(--ease), opacity .2s, color .2s;
	-webkit-tap-highlight-color: transparent;
}
.btn:hover, .button:hover { background: var(--surface-3); color: var(--text); }
.btn:active, .button:active { transform: scale(.97); }

.btn--primary,
.button.alt,
.button.checkout,
.single_add_to_cart_button,
#place_order,
.woocommerce a.button.alt,
.woocommerce button.button.alt {
	background: var(--accent);
	color: #fff;
}
.btn--primary:hover,
.button.alt:hover,
.single_add_to_cart_button:hover,
#place_order:hover { background: var(--accent-hover); color: #fff; }
.btn--primary:active,
.single_add_to_cart_button:active { background: var(--accent-press); }

.btn--tonal { background: var(--fill); color: var(--text); }
.btn--ghost { background: transparent; color: var(--text-2); }
.btn--ghost:hover { background: var(--fill-2); }
.btn--sm { min-height: 36px; padding: 7px 14px; font-size: 14px; }
.btn--lg { min-height: 54px; padding: 14px 26px; font-size: 17px; }
.btn--block { display: flex; width: 100%; }

.button.disabled, .button:disabled, .button[disabled], .btn[disabled] {
	opacity: .4;
	cursor: not-allowed;
	pointer-events: none;
}

.button.loading, .btn.loading { opacity: .7; pointer-events: none; position: relative; }
.button.loading::after, .btn.loading::after {
	content: "";
	width: 16px; height: 16px;
	border: 2px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	animation: spin .7s linear infinite;
}
.button.added::after, .btn.added::after { content: none; }
.added_to_cart { display: none !important; }

@keyframes spin { to { transform: rotate(360deg); } }

.icon-btn {
	display: inline-grid;
	place-items: center;
	width: 36px; height: 36px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--fill);
	color: var(--text-2);
	cursor: pointer;
	transition: background-color .2s;
}
.icon-btn:hover { background: var(--surface-3); color: var(--text); }

.link-btn {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--accent-text);
	font: 500 15px/1.2 var(--font);
	cursor: pointer;
}
.link-btn:hover { color: #ff7a73; }

.chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 36px;
	padding: 7px 14px;
	border-radius: var(--pill);
	background: var(--surface);
	color: var(--text);
	font-size: 14px;
	font-weight: 500;
	white-space: nowrap;
	transition: background-color .2s, color .2s;
}
.chip small { color: var(--text-3); font-size: 12px; font-weight: 500; font-variant-numeric: tabular-nums; }
.chip:hover { background: var(--surface-2); color: var(--text); }
.chip.is-active { background: var(--text); color: #000; }
.chip.is-active small { color: rgba(0, 0, 0, .5); }
.chip--sm { min-height: 30px; padding: 5px 11px; font-size: 13px; }
.chip--brand {
	min-height: 28px;
	padding: 4px 12px;
	background: var(--accent-soft);
	color: var(--accent-text);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.chip--brand:hover { background: rgba(227, 16, 29, .26); color: #ff7a73; }

.badges {
	position: absolute;
	top: 10px; left: 10px;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	z-index: 2;
	pointer-events: none;
}
.badge {
	display: inline-flex;
	align-items: center;
	height: 24px;
	padding: 0 9px;
	border-radius: var(--pill);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .01em;
	white-space: nowrap;
}
.badge--sale { background: var(--accent); color: #fff; }
.badge--new { background: #000; color: #fff; }
.badge--out { background: rgba(0, 0, 0, .72); color: #fff; backdrop-filter: blur(8px); }

/* Fields */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="url"],
input[type="date"],
textarea,
select,
.select2-container--default .select2-selection--single {
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	min-height: 48px;
	padding: 12px 14px;
	border: 1px solid transparent;
	border-radius: var(--r-sm);
	background: var(--surface-2);
	color: var(--text);
	font: 400 16px/1.3 var(--font);
	transition: border-color .2s, background-color .2s, box-shadow .2s;
}
textarea { min-height: 110px; resize: vertical; line-height: 1.5; }
input::placeholder, textarea::placeholder { color: var(--text-3); opacity: 1; }
input:focus, textarea:focus, select:focus {
	outline: none;
	border-color: rgba(10, 132, 255, .9);
	box-shadow: 0 0 0 4px rgba(10, 132, 255, .22);
	background: var(--surface-3);
}

select {
	padding-right: 40px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23a1a1a6' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	cursor: pointer;
}
select option { background: var(--surface); color: var(--text); }

input[type="checkbox"],
input[type="radio"] {
	-webkit-appearance: none;
	appearance: none;
	flex: none;
	width: 22px; height: 22px;
	margin: 0 10px 0 0;
	border: 1.5px solid var(--text-3);
	border-radius: 7px;
	background: transparent;
	vertical-align: middle;
	cursor: pointer;
	display: inline-grid;
	place-content: center;
	transition: background-color .15s, border-color .15s;
}
input[type="radio"] { border-radius: 50%; }
input[type="checkbox"]::after {
	content: "";
	width: 12px; height: 12px;
	transform: scale(0);
	transition: transform .15s var(--ease);
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat;
}
input[type="radio"]::after {
	content: "";
	width: 10px; height: 10px;
	border-radius: 50%;
	background: #fff;
	transform: scale(0);
	transition: transform .15s var(--ease);
}
input[type="checkbox"]:checked,
input[type="radio"]:checked { background: var(--accent); border-color: var(--accent); }
input[type="checkbox"]:checked::after,
input[type="radio"]:checked::after { transform: scale(1); }

label { color: var(--text-2); font-size: 14px; }

/* Select2 / SelectWoo */
.select2-container { width: 100% !important; }
.select2-container--default .select2-selection--single {
	display: flex;
	align-items: center;
	height: auto;
	padding: 0 40px 0 14px;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
	padding: 0;
	color: var(--text);
	line-height: 46px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
	top: 50%; right: 12px;
	height: 20px;
	transform: translateY(-50%);
}
.select2-container--default .select2-selection--single .select2-selection__arrow b { border-color: var(--text-3) transparent transparent; }
.select2-container--default .select2-selection--single .select2-selection__placeholder { color: var(--text-3); }
.select2-dropdown {
	border: 1px solid var(--line) !important;
	border-radius: var(--r-sm) !important;
	background: var(--surface-2) !important;
	overflow: hidden;
	box-shadow: var(--shadow);
}
.select2-search--dropdown { padding: 8px; }
.select2-container--default .select2-search--dropdown .select2-search__field {
	min-height: 40px;
	border: 0;
	border-radius: var(--r-xs);
	background: var(--surface-3);
	color: var(--text);
}
.select2-results__option { padding: 10px 14px; color: var(--text); font-size: 15px; }
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--accent); color: #fff; }
.select2-container--default .select2-results__option[aria-selected="true"],
.select2-container--default .select2-results__option[data-selected="true"] { background: var(--surface-3); }

/* Quantity stepper */
.quantity {
	display: inline-flex;
	align-items: center;
	height: 48px;
	border-radius: var(--pill);
	background: var(--surface-2);
	overflow: hidden;
}
.quantity .qty {
	-moz-appearance: textfield;
	width: 44px;
	min-height: 0;
	height: 100%;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	text-align: center;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	box-shadow: none;
}
.quantity .qty:focus { background: transparent; box-shadow: none; }
.quantity .qty::-webkit-inner-spin-button,
.quantity .qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.qty-btn {
	display: grid;
	place-items: center;
	width: 42px; height: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--text);
	cursor: pointer;
	transition: background-color .15s;
}
.qty-btn:hover { background: var(--fill-2); }
.qty-btn:active { background: var(--fill); }
.quantity input[type="hidden"] + .qty-btn,
.quantity.hidden { display: none; }

/* ==========================================================================
   Top line + header
   ========================================================================== */
.topline {
	background: var(--bg);
	border-bottom: 1px solid var(--line-soft);
	color: var(--text-2);
	font-size: 13px;
}
.topline__in {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 36px;
}
.topline__facts {
	display: flex;
	gap: 22px;
	margin: 0; padding: 0;
	list-style: none;
	overflow: hidden;
}
.topline__facts li { display: flex; align-items: center; gap: 7px; white-space: nowrap; }
.topline__facts li:first-child svg { color: var(--green); }
.topline__side { display: flex; align-items: center; gap: 20px; white-space: nowrap; }
.topline__side a { display: inline-flex; align-items: center; gap: 6px; }
.topline__side a:hover { color: var(--text); }
.stars { color: #ffcc00; letter-spacing: 1px; font-size: 12px; }

@media (max-width: 1023px) {
	.topline__side { display: none; }
	.topline__in { justify-content: center; min-height: 32px; }
	.topline__facts { gap: 0; }
	.topline__facts li { display: none; }
	.topline__facts li:first-child { display: flex; font-size: 12.5px; }
}

.hdr {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(0, 0, 0, .78);
	-webkit-backdrop-filter: saturate(180%) blur(20px);
	backdrop-filter: saturate(180%) blur(20px);
	border-bottom: 1px solid var(--line-soft);
}
.admin-bar .hdr { top: 32px; }
@media (max-width: 782px) { .admin-bar .hdr { top: 0; } }

.hdr__row {
	display: grid;
	grid-template-columns: auto auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 20px;
	height: var(--hdr);
}

.hdr__cats {
	display: inline-flex;
	gap: 8px;
	min-height: 42px;
	padding: 8px 16px 8px 12px;
	background: var(--surface);
	color: var(--text);
}
.hdr__cats:hover { background: var(--surface-2); }

.brand { display: flex; align-items: center; flex: none; }
.brand-img {
	width: auto;
	height: 40px;
	max-width: 220px;
	object-fit: contain;
	filter: brightness(0) invert(1);
}
.brand-text { font: 800 22px/1 var(--font-display); letter-spacing: -.02em; }
@media (min-width: 1200px) { .brand-img { height: 48px; max-width: 260px; } }

form.search { position: relative; display: flex; align-items: center; min-width: 0; }
.search__icon { position: absolute; left: 14px; color: var(--text-3); pointer-events: none; }
form.search .search__input {
	min-height: 44px;
	padding: 10px 40px 10px 42px;
	border-radius: var(--pill);
	background: var(--surface);
	font-size: 15px;
}
.search__input::-webkit-search-cancel-button { display: none; }
form.search .search__input:focus { background: var(--surface-2); }
.search__clear {
	position: absolute;
	right: 8px;
	display: grid;
	place-items: center;
	width: 28px; height: 28px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--surface-3);
	color: var(--text-2);
	cursor: pointer;
}
.search__results {
	position: absolute;
	top: calc(100% + 8px);
	left: 0; right: 0;
	z-index: 20;
	max-height: min(70vh, 560px);
	overflow-y: auto;
	padding: 8px;
	border: 1px solid var(--line-soft);
	border-radius: var(--r-lg);
	background: rgba(28, 28, 30, .96);
	-webkit-backdrop-filter: blur(24px);
	backdrop-filter: blur(24px);
	box-shadow: var(--shadow);
	overscroll-behavior: contain;
}
.sr-item {
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr) auto;
	align-items: center;
	gap: 12px;
	padding: 8px;
	border-radius: var(--r-sm);
}
.sr-item:hover, .sr-item.is-active { background: var(--fill-2); }
.sr-item__img {
	width: 52px; height: 52px;
	border-radius: 10px;
	background: var(--tile);
	overflow: hidden;
}
.sr-item__img img { width: 100%; height: 100%; object-fit: contain; }
.sr-item__name {
	font-size: 14px;
	line-height: 1.3;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.sr-item__price { font-size: 14px; font-weight: 600; white-space: nowrap; font-variant-numeric: tabular-nums; }
.sr-item__price del { display: none; }
.sr-item__price ins { text-decoration: none; }
.sr-empty { padding: 14px 10px; color: var(--text-2); font-size: 14px; }
.sr-all {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin-top: 4px;
	padding: 12px;
	border-top: 1px solid var(--line-soft);
	color: var(--accent-text);
	font-size: 14px;
	font-weight: 600;
}

.hdr__actions { display: flex; align-items: center; gap: 4px; }
.hdr__act {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	padding: 6px 12px;
	border-radius: var(--pill);
	color: var(--text);
	transition: background-color .2s;
}
.hdr__act:hover { background: var(--surface); }
.hdr__act-txt { display: flex; flex-direction: column; font-size: 14px; font-weight: 600; line-height: 1.2; white-space: nowrap; }
.hdr__act-txt small { color: var(--text-3); font-size: 12px; font-weight: 500; }
.hdr__act-txt .amount { font-variant-numeric: tabular-nums; }
.hdr__bag { position: relative; display: inline-flex; }
.cart-count {
	position: absolute;
	top: -6px; right: -9px;
	min-width: 19px; height: 19px;
	padding: 0 5px;
	border: 2px solid #000;
	border-radius: var(--pill);
	background: var(--accent);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 15px;
	text-align: center;
	font-variant-numeric: tabular-nums;
}
.cart-count.is-empty { display: none; }
.cart-count.is-bump { animation: bump .45s var(--ease); }
@keyframes bump { 40% { transform: scale(1.35); } }

.hdr__nav { border-top: 1px solid var(--line-soft); }
.hdr__nav-in {
	display: flex;
	align-items: center;
	gap: 8px;
	height: 46px;
	overflow-x: auto;
	scrollbar-width: none;
}
.hdr__nav-in::-webkit-scrollbar { display: none; }
.mainnav { display: flex; gap: 2px; margin: 0; padding: 0; list-style: none; }
.mainnav a {
	display: block;
	padding: 7px 12px;
	border-radius: var(--pill);
	color: var(--text-2);
	font-size: 14px;
	font-weight: 500;
	white-space: nowrap;
	text-transform: none;
	transition: background-color .2s, color .2s;
}
.mainnav a:hover { background: var(--surface); color: var(--text); }
.mainnav .current-menu-item > a,
.mainnav .current_page_item > a { color: var(--text); background: var(--surface); }
.hdr__promo {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-left: auto;
	padding: 7px 14px;
	border-radius: var(--pill);
	background: var(--accent-soft);
	color: var(--accent-text);
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
}
.hdr__promo:hover { background: rgba(227, 16, 29, .26); color: #ff7a73; }

@media (max-width: 1279px) {
	.hdr__act--phone { display: none; }
}
@media (max-width: 1023px) {
	.hdr__row {
		grid-template-columns: auto 1fr auto;
		grid-template-areas: "cats brand actions" "search search search";
		row-gap: 0;
		height: auto;
		padding-top: 8px;
		padding-bottom: 10px;
		gap: 8px 12px;
	}
	.hdr__cats { grid-area: cats; width: 42px; padding: 0; background: transparent; }
	.hdr__cats span { display: none; }
	.brand { grid-area: brand; justify-self: center; }
	.brand-img { height: 34px; }
	.hdr__actions { grid-area: actions; }
	form.search { grid-area: search; margin-top: 6px; }
	.hdr__act { padding: 6px 8px; }
	.hdr__act-txt { display: none; }
	.hdr__act--acc { display: none; }
	.hdr__nav { display: none; }
}

/* ==========================================================================
   Sheets
   ========================================================================== */
.scrim {
	position: fixed;
	inset: 0;
	z-index: 190;
	background: rgba(0, 0, 0, .6);
	opacity: 0;
	transition: opacity .3s;
}
.scrim.is-open { opacity: 1; }

.sheet {
	position: fixed;
	top: 0; bottom: 0;
	z-index: 200;
	display: flex;
	flex-direction: column;
	width: min(440px, 100vw);
	background: var(--bg-grouped);
	visibility: hidden;
	transition: transform .45s var(--ease), visibility 0s linear .45s;
	outline: none;
}
.sheet--left { left: 0; transform: translateX(-100%); border-right: 1px solid var(--line-soft); }
.sheet--right { right: 0; transform: translateX(100%); border-left: 1px solid var(--line-soft); }
.sheet.is-open { transform: none; visibility: visible; transition: transform .45s var(--ease), visibility 0s; }

@media (max-width: 767px) {
	.sheet {
		top: auto;
		left: 0; right: 0;
		width: 100%;
		height: 92dvh;
		border: 0;
		border-radius: var(--r-xl) var(--r-xl) 0 0;
		transform: translateY(100%);
	}
	.sheet--left, .sheet--right { transform: translateY(100%); }
	.sheet::before {
		content: "";
		position: absolute;
		top: 7px; left: 50%;
		width: 38px; height: 5px;
		margin-left: -19px;
		border-radius: 3px;
		background: var(--surface-3);
	}
}

.sheet__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 20px 20px 12px;
}
.sheet__title { margin: 0; font-size: 22px; }
.sheet__body {
	flex: 1;
	overflow-y: auto;
	padding: 4px 16px calc(24px + var(--safe-b));
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
}
.sheet__pane[hidden] { display: none; }

.seg {
	display: flex;
	flex: 1;
	padding: 2px;
	border-radius: 10px;
	background: var(--fill-2);
}
.seg__btn {
	flex: 1;
	min-height: 32px;
	padding: 6px 10px;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: var(--text);
	font: 500 13px/1.2 var(--font);
	cursor: pointer;
	transition: background-color .2s;
}
.seg__btn.is-active { background: var(--surface-3); font-weight: 600; box-shadow: 0 3px 8px rgba(0, 0, 0, .3); }

/* Grouped list (iOS inset grouped) */
.glist {
	margin: 0 0 20px;
	padding: 0;
	list-style: none;
	border-radius: var(--r);
	background: var(--surface);
	overflow: hidden;
}
.glist > li + li { border-top: 1px solid var(--line-soft); }
.glist__row,
.glist summary,
.glist--plain a,
.glist__static {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 52px;
	padding: 8px 16px;
	color: var(--text);
	font-size: 16px;
	cursor: pointer;
	list-style: none;
}
.glist summary::-webkit-details-marker { display: none; }
.glist__row:hover, .glist summary:hover, .glist--plain a:hover { background: var(--fill-2); }
.glist__thumb {
	flex: none;
	width: 36px; height: 36px;
	border-radius: 9px;
	background: var(--tile);
	overflow: hidden;
}
.glist__thumb:empty { background: var(--surface-2); }
.glist__thumb img { width: 100%; height: 100%; object-fit: contain; }
.glist__label { flex: 1; min-width: 0; line-height: 1.25; }
.glist__chev { color: var(--text-3); transition: transform .25s var(--ease); }
.glist details[open] .glist__chev { transform: rotate(180deg); }
.glist__sub { margin: 0; padding: 0 0 8px; list-style: none; background: var(--bg-grouped); }
.glist__sub a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 11px 16px 11px 64px;
	color: var(--text-2);
	font-size: 15px;
}
.glist__sub a:hover { color: var(--text); background: var(--fill-2); }
.glist__sub strong { color: var(--text); font-weight: 600; }
.glist__count { color: var(--text-3); font-size: 13px; font-variant-numeric: tabular-nums; }
.glist--plain .current-menu-item > a { color: var(--accent-text); }
.glist--contact svg { color: var(--text-3); }
.glist__static { cursor: default; color: var(--text-2); }

.brand-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.brand-grid a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	min-height: 56px;
	padding: 10px 14px;
	border-radius: var(--r-sm);
	background: var(--surface);
	font-weight: 700;
	letter-spacing: .02em;
}
.brand-grid a:hover { background: var(--surface-2); }
.brand-grid small { color: var(--text-3); font-weight: 500; }

/* Mini cart */
.sheet__body--cart { display: flex; flex-direction: column; }
.widget_shopping_cart_content { display: flex; flex-direction: column; flex: 1; }
.woocommerce-mini-cart {
	margin: 0 0 16px;
	padding: 0;
	list-style: none;
	border-radius: var(--r);
	background: var(--surface);
	overflow: hidden;
}
.woocommerce-mini-cart-item {
	position: relative;
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	grid-template-rows: auto auto;
	column-gap: 12px;
	padding: 12px 44px 12px 12px;
}
.woocommerce-mini-cart-item + .woocommerce-mini-cart-item { border-top: 1px solid var(--line-soft); }
.woocommerce-mini-cart-item > a:not(.remove) {
	display: contents;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.3;
}
.woocommerce-mini-cart-item img {
	grid-row: 1 / 3;
	width: 64px; height: 64px;
	padding: 4px;
	border-radius: 12px;
	background: var(--tile);
	object-fit: contain;
}
.woocommerce-mini-cart-item .quantity {
	display: block;
	height: auto;
	margin-top: 4px;
	background: none;
	color: var(--text-2);
	font-size: 13px;
	font-variant-numeric: tabular-nums;
}
.woocommerce-mini-cart-item .quantity .amount { color: var(--text); font-weight: 600; }
.woocommerce-mini-cart-item .variation { grid-column: 2; margin: 4px 0 0; font-size: 12px; color: var(--text-3); }
.woocommerce-mini-cart-item .remove {
	position: absolute;
	top: 12px; right: 10px;
	display: grid;
	place-items: center;
	width: 26px; height: 26px;
	border-radius: 50%;
	background: var(--fill);
	color: var(--text-2) !important;
	font-size: 16px;
	line-height: 1;
}
.woocommerce-mini-cart-item .remove:hover { background: var(--accent); color: #fff !important; }
.woocommerce-mini-cart__total {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin: auto 0 12px;
	padding: 16px 4px 0;
	font-size: 17px;
}
.woocommerce-mini-cart__total strong { font-weight: 500; color: var(--text-2); }
.woocommerce-mini-cart__total .amount { font-size: 22px; font-weight: 700; font-variant-numeric: tabular-nums; }
.woocommerce-mini-cart__buttons { display: grid; gap: 8px; margin: 0; }
.woocommerce-mini-cart__empty-message {
	margin: 40px 0;
	color: var(--text-2);
	text-align: center;
}

/* Free shipping bar */
.ship-bar {
	margin: 0 0 16px;
	padding: 14px 16px;
	border-radius: var(--r);
	background: var(--surface);
}
.ship-bar__text { display: flex; align-items: center; gap: 10px; font-size: 14px; color: var(--text-2); }
.ship-bar__text svg { color: var(--text); }
.ship-bar__text strong { color: var(--text); }
.ship-bar__track {
	height: 6px;
	margin-top: 10px;
	border-radius: 3px;
	background: var(--fill);
	overflow: hidden;
}
.ship-bar__track span {
	display: block;
	height: 100%;
	border-radius: 3px;
	background: var(--accent);
	transition: width .6s var(--ease);
}
.ship-bar.is-done .ship-bar__track span { background: var(--green); }
.ship-bar.is-done .ship-bar__text svg { color: var(--green); }

/* ==========================================================================
   Tab bar, buy bar, toast
   ========================================================================== */
.tabbar { display: none; }

@media (max-width: 1023px) {
	body { padding-bottom: calc(64px + var(--safe-b)); }
	.tabbar {
		position: fixed;
		left: 0; right: 0; bottom: 0;
		z-index: 90;
		display: grid;
		grid-template-columns: repeat(5, 1fr);
		padding: 6px 4px calc(6px + var(--safe-b));
		background: rgba(18, 18, 20, .82);
		-webkit-backdrop-filter: saturate(180%) blur(20px);
		backdrop-filter: saturate(180%) blur(20px);
		border-top: 1px solid var(--line-soft);
	}
	.tabbar__it {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 2px;
		padding: 4px 0;
		border: 0;
		background: none;
		color: var(--text-3);
		font: 500 10.5px/1.2 var(--font);
		cursor: pointer;
		-webkit-tap-highlight-color: transparent;
	}
	.tabbar__it.is-active { color: var(--accent-text); }
	.tabbar__bag { position: relative; display: inline-flex; }
}

.buybar { display: none; }
@media (max-width: 1023px) {
	.has-buybar .buybar {
		position: fixed;
		left: 0; right: 0; bottom: 0;
		z-index: 90;
		display: flex;
		align-items: center;
		gap: 12px;
		padding: 10px var(--gut) calc(10px + var(--safe-b));
		background: rgba(18, 18, 20, .86);
		-webkit-backdrop-filter: saturate(180%) blur(20px);
		backdrop-filter: saturate(180%) blur(20px);
		border-top: 1px solid var(--line-soft);
		transform: translateY(0);
		transition: transform .35s var(--ease);
	}
	.has-buybar .buybar.is-hidden { transform: translateY(110%); }
	.buybar__info { display: flex; flex-direction: column; min-width: 0; flex: 1; }
	.buybar__name {
		overflow: hidden;
		color: var(--text-2);
		font-size: 12px;
		white-space: nowrap;
		text-overflow: ellipsis;
	}
	.buybar__price { font-size: 18px; font-weight: 700; font-variant-numeric: tabular-nums; }
	.buybar__price del { display: none; }
	.buybar__price ins { text-decoration: none; }
	.buybar__price .screen-reader-text { display: none; }
	.buybar .btn { flex: none; min-height: 48px; padding: 10px 22px; }
}

.toast {
	position: fixed;
	left: 50%;
	top: calc(var(--hdr) + 56px);
	z-index: 300;
	display: flex;
	align-items: center;
	gap: 10px;
	max-width: calc(100vw - 32px);
	padding: 12px 18px 12px 14px;
	border-radius: var(--pill);
	background: rgba(44, 44, 46, .92);
	-webkit-backdrop-filter: blur(20px);
	backdrop-filter: blur(20px);
	box-shadow: var(--shadow);
	color: var(--text);
	font-size: 15px;
	font-weight: 500;
	transform: translate(-50%, -12px);
	opacity: 0;
	transition: opacity .25s, transform .4s var(--ease);
}
.toast.is-on { opacity: 1; transform: translate(-50%, 0); }
.toast svg { color: var(--green); }
.toast span { white-space: nowrap; }
.toast a { color: var(--accent-text); font-weight: 600; white-space: nowrap; }

/* ==========================================================================
   Typography blocks
   ========================================================================== */
.large-title {
	margin: 0;
	font-size: clamp(28px, 4vw, 40px);
	font-weight: 800;
	letter-spacing: -.028em;
	line-height: 1.08;
}
.section-title {
	margin: 0;
	font-size: clamp(21px, 2.4vw, 26px);
	font-weight: 700;
	letter-spacing: -.022em;
}
.kicker {
	margin: 0 0 12px;
	color: var(--accent-text);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.crumbs { margin: 0 0 12px; font-size: 13px; color: var(--text-3); }
.crumbs__in {
	display: flex;
	align-items: center;
	gap: 4px;
	overflow-x: auto;
	white-space: nowrap;
	scrollbar-width: none;
}
.crumbs__in::-webkit-scrollbar { display: none; }
.crumbs a { color: var(--text-2); }
.crumbs a:hover { color: var(--text); }
.crumbs__sep { display: inline-flex; opacity: .6; }

/* ==========================================================================
   Home
   ========================================================================== */
.shop { padding-top: 24px; padding-bottom: 64px; }
@media (min-width: 1024px) { .shop { padding-top: 32px; } }

.hero {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	gap: 40px;
	align-items: center;
	padding: 48px;
	border-radius: var(--r-xl);
	background:
		radial-gradient(120% 90% at 0% 0%, rgba(227, 16, 29, .16), transparent 55%),
		var(--surface);
	overflow: hidden;
}
.hero__title {
	margin: 0 0 16px;
	font-size: clamp(30px, 4.2vw, 52px);
	font-weight: 800;
	letter-spacing: -.034em;
	line-height: 1.04;
	text-wrap: balance;
}
.hero__text {
	max-width: 52ch;
	margin: 0 0 28px;
	color: var(--text-2);
	font-size: 17px;
	line-height: 1.55;
}
.hero__cta { display: flex; flex-wrap: wrap; gap: 10px; }
.hero__facts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 36px 0 0;
	padding: 24px 0 0;
	border-top: 1px solid var(--line-soft);
}
.hero__facts dt {
	font-size: 26px;
	font-weight: 800;
	letter-spacing: -.02em;
	font-variant-numeric: tabular-nums;
}
.hero__facts dt .star { color: #ffcc00; font-size: 20px; }
.hero__facts dd { margin: 2px 0 0; color: var(--text-2); font-size: 13px; line-height: 1.35; }
.hero__facts dd a { text-decoration: underline; text-decoration-color: var(--text-3); text-underline-offset: 3px; }
.hero__img { width: 100%; border-radius: var(--r-lg); }

.mosaic {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.mosaic__it a {
	position: relative;
	display: block;
	aspect-ratio: 1;
	padding: 10%;
	border-radius: var(--r-lg);
	background: var(--tile);
	overflow: hidden;
}
.mosaic__it img { width: 100%; height: 100%; object-fit: contain; transition: transform .5s var(--ease); }
.mosaic__it a:hover img { transform: scale(1.05); }
.mosaic__price {
	position: absolute;
	left: 10px; bottom: 10px;
	padding: 5px 10px;
	border-radius: var(--pill);
	background: rgba(0, 0, 0, .82);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

@media (max-width: 1023px) {
	.hero { grid-template-columns: 1fr; padding: 28px 22px; gap: 28px; }
	.hero__visual { order: -1; }
	.mosaic { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
	.mosaic__it a { border-radius: var(--r-sm); padding: 8%; }
	.mosaic__price { display: none; }
}
@media (max-width: 599px) {
	.hero { margin-left: calc(var(--gut) * -.5); margin-right: calc(var(--gut) * -.5); padding: 22px 18px; border-radius: var(--r-lg); }
	.hero__text { font-size: 16px; margin-bottom: 22px; }
	.hero__cta .btn { flex: 1 1 auto; }
	.hero__facts { margin-top: 26px; padding-top: 18px; gap: 8px; }
	.hero__facts dt { font-size: 21px; }
	.hero__facts dd { font-size: 12px; }
}

.block { margin-top: 48px; }
.block__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 16px;
}

.cat-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(168px, 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.cat-tile {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 10px 10px 14px;
	border-radius: var(--r-lg);
	background: var(--surface);
	transition: background-color .2s, transform .3s var(--ease);
}
.cat-tile:hover { background: var(--surface-2); transform: translateY(-2px); }
.cat-tile__img {
	display: block;
	aspect-ratio: 4 / 3;
	margin-bottom: 12px;
	padding: 8%;
	border-radius: var(--r);
	background: var(--tile);
	overflow: hidden;
}
.cat-tile__img:empty { background: var(--surface-2); }
.cat-tile__img img { width: 100%; height: 100%; object-fit: contain; }
.cat-tile__name {
	padding: 0 4px;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: -.012em;
}
.cat-tile__count { margin-top: 4px; padding: 0 4px; color: var(--text-3); font-size: 13px; }
@media (max-width: 767px) {
	.block .cat-grid {
		grid-template-columns: none;
		grid-template-rows: repeat(2, auto);
		grid-auto-flow: column;
		grid-auto-columns: 36%;
		overflow-x: auto;
		scroll-snap-type: x proximity;
		scrollbar-width: none;
		margin: 0 calc(var(--gut) * -1);
		padding: 0 var(--gut);
		scroll-padding-left: var(--gut);
	}
	.block .cat-grid::-webkit-scrollbar { display: none; }
	.block .cat-grid > li { scroll-snap-align: start; }
}
@media (max-width: 599px) {
	.cat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.cat-tile { padding: 8px 8px 12px; border-radius: var(--r); }
	.cat-tile__img { border-radius: var(--r-sm); }
	.cat-tile__name { font-size: 14px; }
}

.brand-rail {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	padding-bottom: 4px;
	scroll-snap-type: x proximity;
	scrollbar-width: none;
	margin-left: calc(var(--gut) * -1);
	margin-right: calc(var(--gut) * -1);
	padding-left: var(--gut);
	padding-right: var(--gut);
}
.brand-rail::-webkit-scrollbar { display: none; }
.brand-pill {
	display: inline-flex;
	align-items: baseline;
	gap: 8px;
	flex: none;
	padding: 16px 22px;
	border-radius: var(--r);
	background: var(--surface);
	font-size: 17px;
	font-weight: 800;
	letter-spacing: .04em;
	white-space: nowrap;
	scroll-snap-align: start;
	transition: background-color .2s;
}
.brand-pill small { color: var(--text-3); font-size: 12px; font-weight: 500; letter-spacing: 0; }
.brand-pill:hover { background: var(--surface-2); }
@media (min-width: 1200px) {
	.brand-rail { flex-wrap: wrap; overflow: visible; margin: 0; padding: 0; }
}

.rail { position: relative; }
.rail__track {
	display: grid !important;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - 3 * 16px) / 4);
	grid-template-columns: none !important;
	gap: 16px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	padding-bottom: 4px !important;
}
.rail__track::-webkit-scrollbar { display: none; }
.rail__track > li { scroll-snap-align: start; }
.rail__nav {
	position: absolute;
	top: 30%;
	z-index: 3;
	display: grid;
	place-items: center;
	width: 44px; height: 44px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(44, 44, 46, .9);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	color: var(--text);
	box-shadow: 0 6px 20px rgba(0, 0, 0, .5);
	cursor: pointer;
	transition: opacity .2s, background-color .2s;
}
.rail__nav:hover { background: var(--surface-3); }
.rail__nav--prev { left: -14px; }
.rail__nav--next { right: -14px; }
.rail__nav[disabled] { opacity: 0; pointer-events: none; }
@media (max-width: 1199px) {
	.rail__track {
		grid-auto-columns: calc((100% - 2 * 12px) / 3);
		gap: 12px;
	}
}
@media (max-width: 767px) {
	.rail__nav { display: none; }
	.rail__track {
		grid-auto-columns: 46%;
		margin-left: calc(var(--gut) * -1) !important;
		margin-right: calc(var(--gut) * -1) !important;
		padding-left: var(--gut) !important;
		padding-right: var(--gut) !important;
		scroll-padding-left: var(--gut);
	}
}

/* ==========================================================================
   Catalog
   ========================================================================== */
.shop-head { margin: 0 0 16px; }
.shop-head--home { margin-top: 56px; }
.shop-head__row { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 14px; }
.shop-head__count { color: var(--text-3); font-size: 15px; font-variant-numeric: tabular-nums; }

.chips {
	margin: 0 calc(var(--gut) * -1) 20px;
	padding: 0 var(--gut);
	overflow-x: auto;
	scrollbar-width: none;
}
.chips::-webkit-scrollbar { display: none; }
.chips__track { display: flex; gap: 8px; width: max-content; }
@media (min-width: 1200px) {
	.chips { margin: 0 0 24px; padding: 0; overflow: visible; }
	.chips__track { flex-wrap: wrap; width: auto; }
}

.shop-layout {
	display: grid;
	grid-template-columns: 272px minmax(0, 1fr);
	gap: 32px;
	align-items: start;
}
@media (max-width: 1023px) {
	.shop-layout { grid-template-columns: minmax(0, 1fr); }
	.shop-side { display: none; }
}

.shop-side {
	position: sticky;
	top: calc(var(--hdr) + 62px);
	max-height: calc(100vh - var(--hdr) - 80px);
	overflow-y: auto;
	scrollbar-width: thin;
	scrollbar-color: var(--surface-3) transparent;
	padding-bottom: 16px;
}
.admin-bar .shop-side { top: calc(var(--hdr) + 94px); }
.side-card {
	margin-bottom: 16px;
	padding: 18px 10px 12px;
	border-radius: var(--r-lg);
	background: var(--surface);
}
.side-card__title {
	margin: 0 10px 8px;
	color: var(--text-3);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.side-list, .side-list ul { margin: 0; padding: 0; list-style: none; }
.side-list a {
	display: block;
	padding: 8px 10px;
	border-radius: var(--r-xs);
	color: var(--text-2);
	font-size: 14px;
	line-height: 1.3;
	transition: background-color .15s, color .15s;
}
.side-list a:hover { background: var(--fill-2); color: var(--text); }
.side-list > li.is-open > a { color: var(--text); font-weight: 600; }
.side-list li.is-current > a { background: var(--accent-soft); color: var(--accent-text); font-weight: 600; }
.side-list ul {
	margin: 2px 0 6px 10px;
	padding-left: 10px;
	border-left: 1px solid var(--line-soft);
}
.side-list ul a { padding: 6px 10px; font-size: 13.5px; }
.side-brands { display: flex; flex-wrap: wrap; gap: 6px; padding: 2px 6px; }
.side-brands .chip { background: var(--surface-2); }
.side-brands .chip.is-active { background: var(--text); }

.toolbar {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 16px;
}
.toolbar__filter { display: none; }
@media (max-width: 1023px) { .toolbar__filter { display: inline-flex; } }
.woocommerce-result-count { margin: 0; color: var(--text-3); font-size: 14px; }
.woocommerce-ordering { margin: 0 0 0 auto; }
.woocommerce-ordering select {
	min-height: 38px;
	padding: 7px 36px 7px 14px;
	border-radius: var(--pill);
	background-color: var(--surface);
	font-size: 14px;
	font-weight: 500;
}
@media (max-width: 599px) {
	.woocommerce-result-count { display: none; }
}

/* Product grid */
ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.shop-main ul.products { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
@media (max-width: 1199px) { ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) {
	ul.products,
	.shop-main ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
}

.card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 8px;
	border-radius: var(--r-lg);
	background: var(--surface);
	transition: background-color .25s;
}
.card:hover { background: #232325; }
.card__media {
	position: relative;
	display: block;
	aspect-ratio: 1;
	border-radius: var(--r);
	background: var(--tile);
	overflow: hidden;
}
.card__media img {
	width: 100%; height: 100%;
	padding: 6%;
	object-fit: contain;
	transition: transform .5s var(--ease);
}
.card:hover .card__media img { transform: scale(1.04); }
.card.outofstock .card__media img { opacity: .55; }
.card__body { display: flex; flex-direction: column; flex: 1; padding: 12px 6px 8px; }
.card__brand {
	margin-bottom: 4px;
	color: var(--text-3);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.card__title {
	margin: 0 0 10px;
	font: 500 14.5px/1.35 var(--font);
	letter-spacing: -.008em;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-transform: none;
}
.card__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
.card__foot {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 6px 10px;
	padding: 4px 6px 6px;
}
.card__foot > * { grid-column: 1 / -1; }
.card__foot > .card__price { grid-column: 1; min-width: 0; }
.card__foot > .btn--card { grid-column: 2; grid-row: 1; }

.price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 2px 8px;
	margin: 0;
	color: var(--text);
	font-size: 19px;
	font-weight: 700;
	letter-spacing: -.02em;
	font-variant-numeric: tabular-nums;
}
.price del { order: 2; color: var(--text-3); font-size: .74em; font-weight: 500; }
.price ins { order: 1; color: var(--accent-text); text-decoration: none; }
.price .woocommerce-price-suffix { font-size: 12px; color: var(--text-3); font-weight: 500; }
.card .price { font-size: 18px; }
.omnibus-price, .iworks-omnibus, [class*="omnibus"] {
	display: block;
	margin: 4px 0 0;
	color: var(--text-3);
	font-size: 12px;
	font-weight: 400;
	line-height: 1.35;
	letter-spacing: 0;
}
.card [class*="omnibus"] { font-size: 11px; }

.btn--card {
	position: relative;
	width: 46px;
	min-height: 46px;
	padding: 0;
	border-radius: 50%;
}
.btn--card span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.btn--card:not(.add_to_cart_button) {
	width: auto;
	padding: 0 14px;
	border-radius: var(--pill);
	background: var(--fill);
	font-size: 13px;
}
.btn--card.added { background: var(--green); }
.btn--card.added svg { display: none; }
.btn--card.added::before {
	content: "";
	width: 20px; height: 20px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat;
}
.btn--card.loading svg { display: none; }
.btn--card.loading::after { position: static; }
@media (max-width: 599px) {
	.card { padding: 6px; border-radius: var(--r); }
	.card__media { border-radius: var(--r-sm); }
	.card__body { padding: 10px 4px 6px; }
	.card__title { font-size: 13.5px; -webkit-line-clamp: 3; }
	.card .price { font-size: 16px; }
	.btn--card { width: 40px; min-height: 40px; }
	.btn--card:not(.add_to_cart_button) { width: auto; padding: 0 10px; font-size: 12px; }
	.card__foot { padding: 2px 4px 4px; gap: 6px; }
	.badges { top: 6px; left: 6px; gap: 4px; }
	.badge { height: 21px; padding: 0 7px; font-size: 11px; }
}

/* LeaseLink in loop */
.card [class*="leaselink"], .card [class*="lease-link"] { font-size: 12px; margin-top: 6px; }

.woocommerce-pagination { margin-top: 32px; }
.woocommerce-pagination ul.page-numbers,
.nav-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.page-numbers a,
.page-numbers span,
.nav-links .page-numbers {
	display: grid;
	place-items: center;
	min-width: 44px;
	height: 44px;
	padding: 0 12px;
	border-radius: var(--pill);
	background: var(--surface);
	color: var(--text-2);
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}
.page-numbers a:hover { background: var(--surface-2); color: var(--text); }
.page-numbers .current, .nav-links .current { background: var(--text); color: #000; }
.page-numbers .dots { background: transparent; }

.woocommerce-info.woocommerce-no-products-found,
.woocommerce-no-products-found { margin-top: 12px; }

.seo-text {
	position: relative;
	margin-top: 48px;
	padding: 28px;
	border-radius: var(--r-lg);
	background: var(--surface);
}
.seo-text__body { color: var(--text-2); font-size: 15px; }
.seo-text.is-collapsed .seo-text__body {
	max-height: 180px;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(#000 55%, transparent);
	mask-image: linear-gradient(#000 55%, transparent);
}
.seo-text__more { margin-top: 12px; }

/* ==========================================================================
   Single product
   ========================================================================== */
.single-product .shop { padding-top: 16px; }
.pdp__top {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
	gap: 48px;
	align-items: start;
}
@media (max-width: 1023px) {
	.pdp__top { grid-template-columns: minmax(0, 1fr); gap: 20px; }
}

.pdp__media { position: sticky; top: calc(var(--hdr) + 60px); min-width: 0; }
@media (max-width: 1023px) { .pdp__media { position: static; } }

.woocommerce-product-gallery {
	position: relative;
	margin: 0 !important;
	width: 100% !important;
	float: none !important;
}
.woocommerce-product-gallery .flex-viewport,
.woocommerce-product-gallery__wrapper {
	border-radius: var(--r-xl);
	background: var(--tile);
	overflow: hidden;
}
.woocommerce-product-gallery__wrapper { margin: 0; }
.woocommerce-product-gallery__image a { display: block; aspect-ratio: 1; }
.woocommerce-product-gallery__image img,
.woocommerce-product-gallery__image a img {
	width: 100% !important;
	height: 100% !important;
	padding: 5%;
	object-fit: contain;
}
.woocommerce-product-gallery__trigger {
	position: absolute;
	top: 14px; right: 14px;
	z-index: 5;
	display: grid;
	place-items: center;
	width: 40px; height: 40px;
	border-radius: 50%;
	background: rgba(0, 0, 0, .66);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	font-size: 0;
	text-indent: -9999px;
	overflow: hidden;
}
.woocommerce-product-gallery__trigger::before {
	content: "";
	width: 18px; height: 18px;
	text-indent: 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M14 4h6v6M10 20H4v-6M20 4l-6.5 6.5M4 20l6.5-6.5'/%3E%3C/svg%3E") center/contain no-repeat;
}
.woocommerce-product-gallery__trigger img { display: none !important; }
.woocommerce-product-gallery .flex-control-thumbs {
	display: flex;
	gap: 10px;
	margin: 12px 0 0;
	padding: 2px;
	list-style: none;
	overflow-x: auto;
	scrollbar-width: none;
}
.woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar { display: none; }
.woocommerce-product-gallery .flex-control-thumbs li { flex: 0 0 76px; }
.woocommerce-product-gallery .flex-control-thumbs img {
	width: 76px; height: 76px;
	padding: 5px;
	border-radius: var(--r-sm);
	background: var(--tile);
	object-fit: contain;
	cursor: pointer;
	transition: box-shadow .2s, transform .2s;
}
.woocommerce-product-gallery .flex-control-thumbs img:hover { transform: translateY(-1px); }
.woocommerce-product-gallery .flex-control-thumbs img.flex-active {
	opacity: 1;
	box-shadow: 0 0 0 2px var(--bg), 0 0 0 4px var(--text);
}
.woocommerce-product-gallery .flex-direction-nav { margin: 0; padding: 0; list-style: none; }
.woocommerce-product-gallery .flex-direction-nav a {
	position: absolute;
	top: 50%;
	z-index: 4;
	display: grid;
	place-items: center;
	width: 42px; height: 42px;
	margin-top: -58px;
	border-radius: 50%;
	background: rgba(0, 0, 0, .6);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	font-size: 0;
	opacity: 0;
	transition: opacity .2s;
}
.woocommerce-product-gallery:hover .flex-direction-nav a { opacity: 1; }
.woocommerce-product-gallery .flex-direction-nav a::before {
	content: "";
	width: 18px; height: 18px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m14.5 5.5-6.5 6.5 6.5 6.5'/%3E%3C/svg%3E") center/contain no-repeat;
}
.woocommerce-product-gallery .flex-direction-nav .flex-next::before { transform: scaleX(-1); }
.woocommerce-product-gallery .flex-direction-nav .flex-prev { left: 14px; }
.woocommerce-product-gallery .flex-direction-nav .flex-next { right: 14px; }
.woocommerce-product-gallery .flex-direction-nav .flex-disabled { opacity: 0 !important; pointer-events: none; }
@media (max-width: 1023px) {
	.woocommerce-product-gallery .flex-viewport,
	.woocommerce-product-gallery__wrapper { border-radius: var(--r-lg); }
	.woocommerce-product-gallery .flex-control-thumbs li { flex-basis: 60px; }
	.woocommerce-product-gallery .flex-control-thumbs img { width: 60px; height: 60px; }
	.woocommerce-product-gallery .flex-direction-nav { display: none; }
}

.pdp__summary { min-width: 0; }
.pdp-eyebrow { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 14px; }
.pdp-sku { color: var(--text-3); font-size: 13px; font-variant-numeric: tabular-nums; }
.pdp__summary .badges { position: static; margin-bottom: 12px; }
.pdp__summary .product_title {
	margin: 0 0 16px;
	font-size: clamp(24px, 2.6vw, 34px);
	font-weight: 800;
	letter-spacing: -.026em;
	line-height: 1.12;
	text-transform: none;
	text-wrap: pretty;
}
.pdp__summary .woocommerce-product-rating { display: flex; align-items: center; gap: 8px; margin-bottom: 14px; font-size: 14px; color: var(--text-2); }
.pdp__summary > .price,
.pdp__summary .price-wrapper .price { font-size: clamp(28px, 3vw, 36px); font-weight: 800; letter-spacing: -.03em; margin-bottom: 4px; }
.pdp__summary > .price del { font-size: .55em; }
.pdp__summary .woocommerce-product-details__short-description {
	margin: 20px 0;
	padding: 16px 18px;
	border-radius: var(--r);
	background: var(--surface);
	color: var(--text-2);
	font-size: 14.5px;
	line-height: 1.55;
}
.woocommerce-product-details__short-description p:last-child { margin: 0; }
.woocommerce-product-details__short-description ul { margin: 0; padding-left: 18px; }
.woocommerce-product-details__short-description strong { color: var(--text); }
.woocommerce-product-details__short-description table { width: 100%; border-collapse: collapse; }
.woocommerce-product-details__short-description td,
.woocommerce-product-details__short-description th {
	padding: 7px 0;
	border-bottom: 1px solid var(--line-soft);
	text-align: left !important;
	vertical-align: top;
}
.woocommerce-product-details__short-description tr:last-child td { border-bottom: 0; }
.woocommerce-product-details__short-description td:first-child { width: 44%; padding-right: 12px; color: var(--text-3); }
.woocommerce-product-details__short-description td:first-child strong, .woocommerce-product-details__short-description td:first-child b { color: var(--text-2); font-weight: 500; }
.woocommerce-product-details__short-description img { max-height: 60px; width: auto; margin-top: 8px; }

.stock-line {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 16px;
	font-size: 14px;
	font-weight: 500;
}
.stock-line p { margin: 0; }
.stock-line .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px rgba(48, 209, 88, .18); }
.stock-line--in { color: var(--green); }
.stock-line--out { color: var(--text-2); }
.stock-line--out .dot { background: var(--text-3); box-shadow: none; }
.stock-line--back { color: var(--orange); }
.stock-line--back .dot { background: var(--orange); box-shadow: 0 0 0 4px rgba(255, 159, 10, .18); }

.pdp__summary form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 0 0 16px;
}
.pdp__summary form.cart .quantity { height: 56px; }
.pdp__summary form.cart .single_add_to_cart_button {
	flex: 1 1 220px;
	min-height: 56px;
	font-size: 17px;
}
.pdp__summary form.cart .single_add_to_cart_button::before {
	content: "";
	width: 20px; height: 20px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l-1 12.2a1 1 0 0 1-1 .8H7a1 1 0 0 1-1-.8L5 8Z'/%3E%3Cpath d='M9 10V6.5a3 3 0 0 1 6 0V10'/%3E%3C/svg%3E") center/contain no-repeat;
}
.pdp__summary form.cart.variations_form { display: block; }
.variations_form .variations { width: 100%; margin: 0 0 12px; border-collapse: collapse; }
.variations_form .variations th,
.variations_form .variations td { display: block; padding: 0; text-align: left; }
.variations_form .variations th label { display: block; margin: 12px 0 6px; font-weight: 600; color: var(--text); }
.reset_variations { display: inline-block; margin-top: 8px; color: var(--text-2); font-size: 13px; }
.woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 10px; }
.woocommerce-variation-price .price { font-size: 26px; margin: 8px 0; }
.single_variation_wrap .woocommerce-variation { margin-bottom: 12px; }

.pdp-trust {
	margin: 20px 0;
	padding: 0;
	list-style: none;
	border-radius: var(--r);
	background: var(--surface);
	overflow: hidden;
}
.pdp-trust li {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 14px 16px;
}
.pdp-trust li + li { border-top: 1px solid var(--line-soft); }
.pdp-trust svg { margin-top: 1px; color: var(--text-2); }
.pdp-trust li:first-child svg { color: var(--green); }
.pdp-trust div { display: flex; flex-direction: column; line-height: 1.35; }
.pdp-trust strong { font-size: 15px; font-weight: 600; }
.pdp-trust span { color: var(--text-2); font-size: 13.5px; }
.pdp-trust a { color: var(--text); font-weight: 600; }

.pdp-cats {
	display: flex;
	gap: 12px;
	margin: 20px 0 0;
	padding-top: 16px;
	border-top: 1px solid var(--line-soft);
	font-size: 13px;
	color: var(--text-3);
}
.pdp-cats__list { display: flex; flex-wrap: wrap; gap: 6px 10px; }
.pdp-cats__list a { color: var(--text-2); }
.pdp-cats__list a:hover { color: var(--text); text-decoration: underline; }

/* Plugins in summary */
.pdp__summary .gpsr-fields {
	margin: 16px 0;
	padding: 14px 16px;
	border-radius: var(--r);
	background: var(--surface);
	color: var(--text-2);
	font-size: 13px;
	line-height: 1.5;
}
.pdp__summary .gpsr-fields > :first-child { color: var(--text); font-weight: 600; font-size: 14px; }
.pdp__summary .gpsr-fields a { color: var(--text); text-decoration: underline; }
.leaselink-calculator-product-container { margin: 8px 0 16px; }
.pdp__summary .social-icons, .pdp__summary .share-icons { display: none; }

/* Tabs */
.woocommerce-tabs { margin-top: 64px; }
.woocommerce-tabs ul.tabs {
	display: inline-flex;
	gap: 2px;
	margin: 0 0 24px;
	padding: 3px;
	border-radius: 12px;
	background: var(--fill-2);
	list-style: none;
	max-width: 100%;
	overflow-x: auto;
	scrollbar-width: none;
}
.woocommerce-tabs ul.tabs::-webkit-scrollbar { display: none; }
.woocommerce-tabs ul.tabs li { flex: none; }
.woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 9px 20px;
	border-radius: 10px;
	color: var(--text-2);
	font-size: 15px;
	font-weight: 600;
	white-space: nowrap;
	transition: background-color .2s, color .2s;
}
.woocommerce-tabs ul.tabs li.active a { background: var(--surface-3); color: var(--text); box-shadow: 0 3px 8px rgba(0, 0, 0, .3); }
.woocommerce-Tabs-panel {
	max-width: 900px;
	padding: 28px;
	border-radius: var(--r-lg);
	background: var(--surface);
	color: var(--text-2);
	font-size: 16px;
	line-height: 1.65;
}
.woocommerce-Tabs-panel h2,
.woocommerce-Tabs-panel h3,
.woocommerce-Tabs-panel h4 { color: var(--text); margin-top: 1.4em; }
.woocommerce-Tabs-panel > :first-child { margin-top: 0; }
.woocommerce-Tabs-panel h1, .woocommerce-Tabs-panel h2 { font-size: clamp(20px, 2vw, 24px); }
.woocommerce-Tabs-panel h3, .woocommerce-Tabs-panel h4 { font-size: 18px; }
.woocommerce-Tabs-panel img { border-radius: var(--r); margin: 16px 0; }
.woocommerce-Tabs-panel strong { color: var(--text); }
.woocommerce-Tabs-panel a { color: var(--text); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 767px) {
	.woocommerce-tabs { margin-top: 40px; }
	.woocommerce-Tabs-panel { padding: 20px 18px; font-size: 15px; }
	.woocommerce-tabs ul.tabs { display: flex; }
	.woocommerce-tabs ul.tabs li { flex: 1; text-align: center; }
}

.shop_attributes,
.woocommerce-product-attributes {
	width: 100%;
	border-collapse: collapse;
	font-size: 15px;
}
.woocommerce-product-attributes th,
.woocommerce-product-attributes td,
.shop_attributes th,
.shop_attributes td {
	padding: 12px 0;
	border-bottom: 1px solid var(--line-soft);
	text-align: left;
	vertical-align: top;
}
.woocommerce-product-attributes th { width: 38%; padding-right: 16px; color: var(--text-3); font-weight: 500; }
.woocommerce-product-attributes td p { margin: 0; }
.woocommerce-product-attributes tr:last-child th,
.woocommerce-product-attributes tr:last-child td { border-bottom: 0; }

.related, .upsells, .cross-sells { margin-top: 64px; }
.related > h2, .upsells > h2, .cross-sells > h2 {
	margin-bottom: 16px;
	font-size: clamp(21px, 2.4vw, 26px);
}
@media (max-width: 767px) {
	.related ul.products,
	.upsells ul.products,
	.cross-sells ul.products {
		display: grid;
		grid-auto-flow: column;
		grid-auto-columns: 46%;
		grid-template-columns: none;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		margin: 0 calc(var(--gut) * -1);
		padding: 0 var(--gut);
		scroll-padding-left: var(--gut);
	}
	.related ul.products > li,
	.upsells ul.products > li,
	.cross-sells ul.products > li { scroll-snap-align: start; }
}

/* Reviews */
#reviews .commentlist { margin: 0; padding: 0; list-style: none; }
#reviews .comment_container { display: flex; gap: 12px; padding: 16px 0; border-bottom: 1px solid var(--line-soft); }
#reviews .avatar { border-radius: 50%; width: 40px; height: 40px; }
.star-rating {
	position: relative;
	display: inline-block;
	width: 5.4em;
	height: 1em;
	overflow: hidden;
	font-size: 14px;
	line-height: 1;
	letter-spacing: .1em;
}
.star-rating::before { content: "★★★★★"; color: var(--surface-3); position: absolute; top: 0; left: 0; }
.star-rating span { position: absolute; top: 0; left: 0; overflow: hidden; padding-top: 1.5em; }
.star-rating span::before { content: "★★★★★"; color: #ffcc00; position: absolute; top: 0; left: 0; }
p.stars a { color: #ffcc00; margin-right: 4px; }
#review_form #respond { margin-top: 24px; }
.comment-form label { display: block; margin-bottom: 6px; }
.comment-form p { margin-bottom: 14px; }

/* ==========================================================================
   Notices
   ========================================================================== */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner {
	position: relative;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px 16px;
	margin: 0 0 20px;
	padding: 14px 18px 14px 50px;
	border-radius: var(--r);
	background: var(--surface);
	color: var(--text);
	font-size: 15px;
	list-style: none;
	outline: none;
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	content: "";
	position: absolute;
	left: 16px; top: 15px;
	width: 22px; height: 22px;
	border-radius: 50%;
	background: var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4L18 8'/%3E%3C/svg%3E") center/14px no-repeat;
}
.woocommerce-info::before { background: var(--blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 11v6M12 7.5h.01'/%3E%3C/svg%3E") center/14px no-repeat; }
.woocommerce-error::before { background: var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 7v6M12 16.5h.01'/%3E%3C/svg%3E") center/14px no-repeat; }
.woocommerce-error { display: block; background: rgba(227, 16, 29, .12); }
.woocommerce-error li { margin: 2px 0; }
.woocommerce-message .button,
.woocommerce-info .button {
	order: 2;
	min-height: 36px;
	margin-left: auto;
	padding: 7px 14px;
	font-size: 14px;
}
.woocommerce-message a:not(.button),
.woocommerce-info a:not(.button),
.woocommerce-error a:not(.button) { color: var(--text); text-decoration: underline; }

/* ==========================================================================
   Cart & checkout flow
   ========================================================================== */
.wrap.page { padding-top: 24px; padding-bottom: 72px; }
.wrap.page--shop { max-width: 1280px; }
.flow-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
	margin-bottom: 28px;
}
.steps {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 14px;
}
.steps__it { display: flex; align-items: center; gap: 8px; color: var(--text-3); }
.steps__it > a { display: flex; align-items: center; gap: 8px; }
.steps__it + .steps__it::before { content: ""; width: 28px; height: 1px; background: var(--line); margin-right: 0; }
.steps__n {
	display: grid;
	place-items: center;
	width: 26px; height: 26px;
	border-radius: 50%;
	background: var(--surface-2);
	font-size: 13px;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}
.steps__it.is-current { color: var(--text); font-weight: 600; }
.steps__it.is-current .steps__n { background: var(--accent); color: #fff; }
.steps__it.is-done { color: var(--text-2); }
.steps__it.is-done .steps__n { background: var(--green); color: #000; }
.steps__it a:hover { color: var(--text); }
@media (max-width: 599px) {
	.steps { width: 100%; }
	.steps__l { display: none; }
	.steps__it.is-current .steps__l { display: inline; }
	.steps__it + .steps__it::before { width: 18px; }
}

.cart-layout,
.checkout-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 400px;
	gap: 32px;
	align-items: start;
}
@media (max-width: 1023px) {
	.cart-layout,
	.checkout-layout { grid-template-columns: minmax(0, 1fr); gap: 20px; }
}

.cart-list {
	border-radius: var(--r-lg);
	background: var(--surface);
	overflow: hidden;
}
.line {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr) auto auto 40px;
	grid-template-areas: "thumb info qty total remove";
	align-items: center;
	gap: 16px;
	padding: 16px;
}
.line + .line { border-top: 1px solid var(--line-soft); }
.line__thumb { grid-area: thumb; }
.line__thumb img {
	width: 96px; height: 96px;
	padding: 6px;
	border-radius: var(--r-sm);
	background: var(--tile);
	object-fit: contain;
}
.line__info { grid-area: info; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.line__name { font-size: 15px; font-weight: 600; line-height: 1.35; }
.line__name:hover { color: var(--text); text-decoration: underline; text-underline-offset: 3px; }
.line__unit { color: var(--text-3); font-size: 13px; font-variant-numeric: tabular-nums; }
.line__info .variation { display: grid; grid-template-columns: auto 1fr; gap: 2px 8px; margin: 2px 0; color: var(--text-2); font-size: 13px; }
.line__info .variation dd, .line__info .variation p { margin: 0; }
.line__qty { grid-area: qty; }
.line__qty .quantity { height: 40px; }
.line__qty .qty-btn { width: 36px; }
.line__qty .quantity .qty { width: 36px; }
.line__total { grid-area: total; min-width: 100px; text-align: right; white-space: nowrap; font-size: 17px; font-weight: 700; font-variant-numeric: tabular-nums; }
.line__remove { grid-area: remove; }
.line__remove .remove {
	display: grid;
	place-items: center;
	width: 36px; height: 36px;
	border-radius: 50%;
	color: var(--text-3);
	transition: background-color .15s, color .15s;
}
.line__remove .remove:hover { background: var(--accent-soft); color: var(--accent-text); }
@media (max-width: 767px) {
	.line {
		grid-template-columns: 76px minmax(0, 1fr) 32px;
		grid-template-areas:
			"thumb info remove"
			"thumb qty total";
		gap: 8px 12px;
		padding: 14px;
		align-items: start;
	}
	.line__thumb img { width: 76px; height: 76px; }
	.line__name { font-size: 14px; }
	.line__qty { align-self: end; }
	.line__total { align-self: center; grid-column: 3 / 4; grid-row: 2; min-width: 0; font-size: 16px; justify-self: end; }
	.line { grid-template-areas: "thumb info remove" "thumb qty qty"; }
	.line__qty { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
	.line__remove .remove { width: 32px; height: 32px; }
}

.cart-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	padding: 12px 16px;
	border-top: 1px solid var(--line-soft);
}
.cart-update { opacity: .8; }
.js .cart-update { display: none; }
.coupon-box { flex: 1; min-width: 0; }
.coupon-box summary {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 0;
	color: var(--text-2);
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	list-style: none;
}
.coupon-box summary::-webkit-details-marker { display: none; }
.coupon-box summary:hover { color: var(--text); }
.coupon-box__chev { transition: transform .2s; }
.coupon-box[open] .coupon-box__chev { transform: rotate(180deg); }
.coupon-box .coupon { display: flex; gap: 8px; margin-top: 10px; max-width: 460px; }
.coupon-box .coupon input { min-height: 44px; }

.cart-side { position: sticky; top: calc(var(--hdr) + 60px); }
@media (max-width: 1023px) { .cart-side { position: static; } }

.cart_totals,
.co-card--summary {
	padding: 24px;
	border-radius: var(--r-lg);
	background: var(--surface);
}
.cart_totals > h2 {
	margin: 0 0 12px;
	font-size: 20px;
}
.cart_totals table,
.woocommerce-checkout-review-order-table {
	display: block;
	width: 100%;
	border-collapse: collapse;
	font-size: 15px;
}
.cart_totals tbody,
.woocommerce-checkout-review-order-table thead,
.woocommerce-checkout-review-order-table tbody,
.woocommerce-checkout-review-order-table tfoot { display: block; }
.cart_totals tr,
.woocommerce-checkout-review-order-table tr {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 4px 16px;
	padding: 12px 0;
	border-bottom: 1px solid var(--line-soft);
}
.cart_totals th,
.cart_totals td,
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
	display: block;
	padding: 0;
	border: 0;
	text-align: left;
	font-weight: 400;
}
.cart_totals th,
.woocommerce-checkout-review-order-table tfoot th { color: var(--text-2); }
.cart_totals td,
.woocommerce-checkout-review-order-table td:last-child,
.woocommerce-checkout-review-order-table th:last-child { margin-left: auto; text-align: right; }
.cart_totals td .amount,
.woocommerce-checkout-review-order-table td .amount { white-space: nowrap; font-variant-numeric: tabular-nums; }
.cart_totals tr.order-total,
.woocommerce-checkout-review-order-table tr.order-total { padding-top: 16px; border-bottom: 0; }
.cart_totals .order-total th,
.cart_totals .order-total td,
.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
	color: var(--text);
	font-size: 18px;
	font-weight: 700;
}
.order-total .amount { font-size: 24px; letter-spacing: -.02em; }
.includes_tax { display: block; margin-top: 2px; color: var(--text-3); font-size: 12px; font-weight: 400; text-align: right; }
.includes_tax .amount { font-size: 12px; letter-spacing: 0; }
tr.woocommerce-shipping-totals { flex-direction: column; align-items: stretch; }
tr.woocommerce-shipping-totals td,
.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td { margin: 0; text-align: left; width: 100%; }
.woocommerce-checkout-review-order-table .cart_item td.product-name { flex: 1; min-width: 0; padding-right: 8px; }

#shipping_method,
ul.woocommerce-shipping-methods {
	margin: 4px 0 8px;
	padding: 0;
	list-style: none;
	border-radius: var(--r-sm);
	background: var(--surface-2);
	overflow: hidden;
}
#shipping_method li,
ul.woocommerce-shipping-methods li {
	position: relative;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 4px 0;
	margin: 0;
	padding: 12px 14px;
	font-size: 14.5px;
	line-height: 1.35;
	text-align: left;
}
#shipping_method li + li { border-top: 1px solid var(--line-soft); }
#shipping_method li input[type="radio"] { margin-right: 12px; }
#shipping_method li label { flex: 1; display: flex; justify-content: space-between; align-items: baseline; gap: 10px; color: var(--text); font-size: 14.5px; cursor: pointer; }
#shipping_method li label .amount { font-weight: 600; white-space: nowrap; }
#shipping_method li:has(input:checked) { background: rgba(227, 16, 29, .1); }
#shipping_method li > *:not(input):not(label) { flex-basis: 100%; }
.woocommerce-shipping-destination { margin: 6px 0; color: var(--text-3); font-size: 13px; }
.woocommerce-shipping-calculator { margin-top: 6px; }
.shipping-calculator-button { color: var(--text-2); font-size: 13px; text-decoration: underline; }
.shipping-calculator-form { margin-top: 12px; display: grid; gap: 8px; }
.shipping-calculator-form p { margin: 0; }

.wc-proceed-to-checkout { margin-top: 20px; }
.mini-trust {
	display: grid;
	gap: 8px;
	margin: 20px 0 0;
	padding: 16px 0 0;
	border-top: 1px solid var(--line-soft);
	list-style: none;
	color: var(--text-2);
	font-size: 13px;
}
.mini-trust li { display: flex; align-items: center; gap: 8px; }
.mini-trust svg { color: var(--text-3); }

.cart-empty.woocommerce-info {
	justify-content: center;
	padding: 56px 24px 24px;
	background: transparent;
	font-size: 20px;
	font-weight: 600;
	text-align: center;
}
.cart-empty.woocommerce-info::before {
	top: 0; left: 50%;
	width: 44px; height: 44px;
	margin-left: -22px;
	background: var(--surface-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f7' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l-1 12.2a1 1 0 0 1-1 .8H7a1 1 0 0 1-1-.8L5 8Z'/%3E%3Cpath d='M9 10V6.5a3 3 0 0 1 6 0V10'/%3E%3C/svg%3E") center/22px no-repeat;
}
.return-to-shop { text-align: center; }
.return-to-shop .button { background: var(--accent); color: #fff; }

/* Checkout */
.woocommerce-form-login-toggle .woocommerce-info,
.woocommerce-form-coupon-toggle .woocommerce-info { background: var(--surface); }
form.checkout_coupon,
form.woocommerce-form-login {
	margin: -8px 0 20px;
	padding: 20px;
	border-radius: var(--r-lg);
	background: var(--surface);
}
form.checkout_coupon { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
form.checkout_coupon p { margin: 0; }
form.checkout_coupon .form-row-first { flex: 1 1 220px; }

.co-card {
	margin-bottom: 16px;
	padding: 24px;
	border-radius: var(--r-lg);
	background: var(--surface);
}
.co-card:empty { display: none; }
.co-card h3,
#order_review_heading {
	margin: 0 0 18px;
	font-size: 20px;
	letter-spacing: -.02em;
}
#customer_details { display: block; }
#customer_details .col-2:not(:has(.woocommerce-shipping-fields *)):not(:has(.woocommerce-additional-fields *)) { display: none; }
@media (max-width: 599px) {
	.co-card, .co-card--summary, .cart_totals { padding: 18px 16px; border-radius: var(--r); }
}

.checkout-side { position: sticky; top: calc(var(--hdr) + 60px); }
@media (max-width: 1023px) { .checkout-side { position: static; } }

.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper,
.woocommerce-additional-fields__field-wrapper,
.woocommerce-address-fields__field-wrapper {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px 12px;
}
.form-row { margin: 0; padding: 0; }
.woocommerce-billing-fields__field-wrapper .form-row,
.woocommerce-shipping-fields__field-wrapper .form-row,
.woocommerce-additional-fields__field-wrapper .form-row,
.woocommerce-address-fields__field-wrapper .form-row { grid-column: 1 / -1; }
.woocommerce-billing-fields__field-wrapper .form-row-first,
.woocommerce-shipping-fields__field-wrapper .form-row-first,
.woocommerce-address-fields__field-wrapper .form-row-first { grid-column: 1; }
.woocommerce-billing-fields__field-wrapper .form-row-last,
.woocommerce-shipping-fields__field-wrapper .form-row-last,
.woocommerce-address-fields__field-wrapper .form-row-last { grid-column: 2; }
@media (max-width: 599px) {
	.woocommerce-billing-fields__field-wrapper,
	.woocommerce-shipping-fields__field-wrapper,
	.woocommerce-address-fields__field-wrapper { grid-template-columns: minmax(0, 1fr); }
	.woocommerce-billing-fields__field-wrapper .form-row-first,
	.woocommerce-billing-fields__field-wrapper .form-row-last,
	.woocommerce-shipping-fields__field-wrapper .form-row-first,
	.woocommerce-shipping-fields__field-wrapper .form-row-last,
	.woocommerce-address-fields__field-wrapper .form-row-first,
	.woocommerce-address-fields__field-wrapper .form-row-last { grid-column: 1; }
}

.form-row label:not(.checkbox):not(.woocommerce-form__label-for-checkbox) {
	display: block;
	margin: 0 0 6px;
	color: var(--text-2);
	font-size: 13px;
	font-weight: 500;
}
.form-row .required { color: var(--accent-text); text-decoration: none; border: 0; }
.form-row .optional { color: var(--text-3); font-weight: 400; }
.form-row.woocommerce-invalid input.input-text,
.form-row.woocommerce-invalid select,
.form-row.woocommerce-invalid .select2-selection { border-color: var(--accent) !important; }
.form-row.woocommerce-validated input.input-text { border-color: transparent; }
.form-row .description { display: block; margin-top: 6px; color: var(--text-3); font-size: 12.5px; }
.woocommerce-input-wrapper { display: block; }
.form-row label.checkbox,
.form-row .woocommerce-form__label-for-checkbox,
.woocommerce-form__label-for-checkbox {
	display: flex;
	align-items: flex-start;
	gap: 0;
	color: var(--text);
	font-size: 14.5px;
	line-height: 1.45;
	cursor: pointer;
}
.woocommerce-form__label-for-checkbox input { margin-top: 0; }
#ship-to-different-address { margin: 0; font-size: 16px; }
#ship-to-different-address label { display: flex; align-items: center; }
.woocommerce-shipping-fields .shipping_address { margin-top: 18px; }
.woocommerce-account-fields { margin-top: 18px; }
.create-account { margin-top: 12px; }

.woocommerce-checkout-review-order-table thead tr { padding-top: 0; }
.woocommerce-checkout-review-order-table thead th {
	color: var(--text-3);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.woocommerce-checkout-review-order-table .cart_item td { font-size: 14px; }
.woocommerce-checkout-review-order-table .product-name { color: var(--text); }
.woocommerce-checkout-review-order-table .product-quantity { color: var(--text-3); font-weight: 600; }
.woocommerce-checkout-review-order-table .product-total,
.woocommerce-checkout-review-order-table td .amount { white-space: nowrap; font-variant-numeric: tabular-nums; }

#payment { margin-top: 20px; }
#payment ul.payment_methods {
	margin: 0 0 16px;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
#payment ul.payment_methods > li {
	position: relative;
	margin: 0;
	padding: 0;
	border-radius: var(--r-sm);
	background: var(--surface-2);
	border: 1.5px solid transparent;
	transition: border-color .2s, background-color .2s;
}
#payment ul.payment_methods > li:has(> input:checked) { border-color: var(--accent); background: rgba(227, 16, 29, .08); }
#payment ul.payment_methods > li > input[type="radio"] {
	position: absolute;
	top: 16px; left: 14px;
	margin: 0;
}
#payment ul.payment_methods > li > label {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	min-height: 54px;
	padding: 14px 14px 14px 48px;
	color: var(--text);
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
}
#payment ul.payment_methods > li > label img {
	display: inline-block;
	max-height: 24px;
	width: auto;
	margin: 0 0 0 auto;
	padding: 2px 4px;
	border-radius: 4px;
	background: #fff;
}
#payment ul.payment_methods > li > label img + img { margin-left: 4px; }
#payment .payment_box {
	margin: 0;
	padding: 0 14px 14px 48px;
	color: var(--text-2);
	font-size: 13.5px;
	line-height: 1.5;
}
#payment .payment_box p:last-child { margin-bottom: 0; }
#payment .payment_box fieldset { border: 0; padding: 0; margin: 0; }
#payment .payment_box input, #payment .payment_box select { background-color: var(--surface-3); }
#payment ul.payment_methods li.woocommerce-notice { padding: 14px; }
.woocommerce-terms-and-conditions-wrapper { margin: 16px 0; font-size: 13px; color: var(--text-2); }
.woocommerce-privacy-policy-text { margin-bottom: 12px; }
.woocommerce-privacy-policy-text a,
.woocommerce-terms-and-conditions-link { color: var(--text); text-decoration: underline; }
.woocommerce-terms-and-conditions-wrapper .validate-required { margin-top: 10px; }
.woocommerce-terms-and-conditions {
	max-height: 200px;
	overflow-y: auto;
	margin-bottom: 12px;
	padding: 14px;
	border-radius: var(--r-sm);
	background: var(--surface-2);
}
#place_order { width: 100%; min-height: 58px; font-size: 17px; }
#payment .place-order { margin: 0; padding: 0; }

.blockUI.blockOverlay {
	background: rgba(0, 0, 0, .45) !important;
	opacity: 1 !important;
	border-radius: inherit;
}
.blockUI.blockOverlay::before {
	content: "";
	position: absolute;
	top: 50%; left: 50%;
	width: 26px; height: 26px;
	margin: -13px 0 0 -13px;
	border: 2.5px solid var(--text);
	border-right-color: transparent;
	border-radius: 50%;
	animation: spin .7s linear infinite;
}

/* InPost / pickup map buttons */
[class*="inpost"] .button,
[class*="paczkomat"] .button,
.easypack-widget .btn,
#geowidget-select-point,
.select-paczkomat-button {
	min-height: 40px;
	margin-top: 8px;
	padding: 8px 14px;
	border-radius: var(--pill);
	background: #ffcd00 !important;
	color: #000 !important;
	font-weight: 600;
	font-size: 14px;
	border: 0;
}

/* Order received */
.woocommerce-order { max-width: 880px; }
.woocommerce-thankyou-order-received {
	padding: 20px 22px;
	border-radius: var(--r-lg);
	background: rgba(48, 209, 88, .12);
	color: var(--text);
	font-size: 17px;
	font-weight: 600;
}
.woocommerce-order-overview {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 1px;
	margin: 20px 0;
	padding: 0;
	list-style: none;
	border-radius: var(--r-lg);
	background: var(--line-soft);
	overflow: hidden;
}
.woocommerce-order-overview li {
	padding: 16px 18px;
	background: var(--surface);
	color: var(--text-3);
	font-size: 12px;
	letter-spacing: .04em;
	text-transform: uppercase;
}
.woocommerce-order-overview li strong {
	display: block;
	margin-top: 4px;
	color: var(--text);
	font-size: 16px;
	letter-spacing: 0;
	text-transform: none;
}
.woocommerce-order-details,
.woocommerce-customer-details,
.woocommerce-bacs-bank-details {
	margin-top: 24px;
	padding: 24px;
	border-radius: var(--r-lg);
	background: var(--surface);
}
.woocommerce-order-details__title,
.woocommerce-column__title,
.wc-bacs-bank-details-heading { font-size: 20px; margin-bottom: 14px; }
.woocommerce-table--order-details th,
.woocommerce-table--order-details td {
	padding: 12px 0;
	border-bottom: 1px solid var(--line-soft);
	text-align: left;
	font-weight: 400;
}
.woocommerce-table--order-details td:last-child,
.woocommerce-table--order-details tfoot td { text-align: right; }
.woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-table--order-details tfoot tr:last-child td { border: 0; font-weight: 700; font-size: 17px; }
.woocommerce-customer-details address {
	padding: 16px;
	border: 0;
	border-radius: var(--r-sm);
	background: var(--surface-2);
	font-style: normal;
	line-height: 1.6;
	color: var(--text-2);
}
.woocommerce-columns--addresses { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.wc-bacs-bank-details { list-style: none; padding: 0; margin: 0; }

/* ==========================================================================
   Account
   ========================================================================== */
.woocommerce-account .entry--wide > .woocommerce {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: 32px;
	align-items: start;
}
.woocommerce-account:not(.logged-in) .entry--wide > .woocommerce { display: block; }
@media (max-width: 899px) {
	.woocommerce-account .entry--wide > .woocommerce { grid-template-columns: minmax(0, 1fr); gap: 20px; }
}
.woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: 6px;
	list-style: none;
	border-radius: var(--r-lg);
	background: var(--surface);
}
.woocommerce-MyAccount-navigation a {
	display: block;
	padding: 11px 14px;
	border-radius: var(--r-sm);
	color: var(--text-2);
	font-weight: 500;
}
.woocommerce-MyAccount-navigation a:hover { background: var(--fill-2); color: var(--text); }
.woocommerce-MyAccount-navigation .is-active a { background: var(--surface-3); color: var(--text); }
.woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--accent-text); }
@media (max-width: 899px) {
	.woocommerce-MyAccount-navigation ul { display: flex; overflow-x: auto; gap: 4px; scrollbar-width: none; }
	.woocommerce-MyAccount-navigation li { flex: none; }
	.woocommerce-MyAccount-navigation a { white-space: nowrap; }
}
.woocommerce-MyAccount-content {
	min-width: 0;
	padding: 28px;
	border-radius: var(--r-lg);
	background: var(--surface);
	color: var(--text-2);
}
.woocommerce-MyAccount-content a:not(.button):not(.btn) { color: var(--text); text-decoration: underline; text-underline-offset: 3px; }
.woocommerce-MyAccount-content fieldset { margin: 20px 0; padding: 0; border: 0; }
.woocommerce-MyAccount-content legend { margin-bottom: 12px; color: var(--text); font-weight: 700; font-size: 17px; }
.woocommerce-EditAccountForm .form-row,
.woocommerce-address-fields .form-row { margin-bottom: 14px; }
.woocommerce-orders-table,
.woocommerce-MyAccount-downloads { width: 100%; border-collapse: collapse; font-size: 14px; }
.woocommerce-orders-table th,
.woocommerce-orders-table td {
	padding: 12px 8px;
	border-bottom: 1px solid var(--line-soft);
	text-align: left;
}
.woocommerce-orders-table th { color: var(--text-3); font-weight: 600; font-size: 12px; text-transform: uppercase; letter-spacing: .05em; }
.woocommerce-orders-table .button { min-height: 34px; padding: 6px 12px; font-size: 13px; }
.woocommerce-Addresses { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; margin-top: 16px; }
.woocommerce-Address { padding: 18px; border-radius: var(--r); background: var(--surface-2); }
.woocommerce-Address-title { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.woocommerce-Address-title h2 { font-size: 17px; }
.woocommerce-Address address { font-style: normal; line-height: 1.6; }
@media (max-width: 599px) {
	.woocommerce-MyAccount-content { padding: 18px 16px; }
	.woocommerce-orders-table thead { display: none; }
	.woocommerce-orders-table tr { display: block; padding: 10px 0; border-bottom: 1px solid var(--line-soft); }
	.woocommerce-orders-table td { display: flex; justify-content: space-between; gap: 12px; padding: 5px 0; border: 0; }
	.woocommerce-orders-table td::before { content: attr(data-title); color: var(--text-3); }
}

/* Login / register */
.woocommerce-account:not(.logged-in) .u-columns,
.woocommerce-account:not(.logged-in) #customer_login {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 20px;
	max-width: 960px;
}
.woocommerce-form-login,
.woocommerce-form-register,
.woocommerce-ResetPassword,
.woocommerce-account:not(.logged-in) .u-column1,
.woocommerce-account:not(.logged-in) .u-column2 {
	padding: 28px;
	border-radius: var(--r-lg);
	background: var(--surface);
}
.woocommerce-account:not(.logged-in) .u-column1 .woocommerce-form-login,
.woocommerce-account:not(.logged-in) .u-column2 .woocommerce-form-register { padding: 0; background: none; margin: 0; }
.woocommerce-form-login .form-row,
.woocommerce-form-register .form-row,
.woocommerce-ResetPassword .form-row { margin-bottom: 14px; }
.woocommerce-form-login__rememberme { display: flex !important; align-items: center; margin: 10px 0; color: var(--text); }
.woocommerce-form-login .button,
.woocommerce-form-register .button,
.woocommerce-ResetPassword .button { width: 100%; background: var(--accent); color: #fff; min-height: 50px; }
.lost_password a { color: var(--text-2); font-size: 14px; text-decoration: underline; }
.password-input { position: relative; display: block; }
.show-password-input {
	position: absolute;
	top: 50%; right: 10px;
	width: 32px; height: 32px;
	margin-top: -16px;
	border: 0;
	border-radius: 50%;
	background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a1a1a6' stroke-width='1.7'%3E%3Cpath d='M2.5 12S6 5.5 12 5.5 21.5 12 21.5 12 18 18.5 12 18.5 2.5 12 2.5 12Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center/20px no-repeat;
	cursor: pointer;
}
.woocommerce-password-strength { margin-top: 6px; font-size: 13px; }
.woocommerce-password-strength.strong { color: var(--green); }
.woocommerce-password-strength.short, .woocommerce-password-strength.bad { color: var(--accent-text); }
.woocommerce-password-strength.good { color: var(--orange); }

/* ==========================================================================
   Pages & content
   ========================================================================== */
.page-head { margin-bottom: 28px; }
.page-head--article time { display: block; margin-bottom: 8px; color: var(--text-3); font-size: 14px; }

.entry { color: var(--text-2); font-size: 16px; line-height: 1.7; }
.entry--wide { color: var(--text); }
.entry--prose { max-width: 760px; font-size: 17px; }
.entry h1, .entry h2, .entry h3, .entry h4 { margin: 1.6em 0 .6em; color: var(--text); }
.entry h2 { font-size: clamp(22px, 2.6vw, 28px); }
.entry h3 { font-size: 20px; }
.entry > :first-child { margin-top: 0; }
.entry:not(.entry--wide) a:not(.btn):not(.button):not(.chip):not(.cat-tile) { color: var(--text); text-decoration: underline; text-decoration-color: var(--text-3); text-underline-offset: 3px; }
.entry a:not(.btn):not(.button):hover { text-decoration-color: var(--text); }
.entry ul, .entry ol { padding-left: 1.3em; }
.entry li { margin-bottom: .4em; }
.entry blockquote {
	margin: 1.5em 0;
	padding: 4px 0 4px 20px;
	border-left: 3px solid var(--accent);
	color: var(--text);
	font-size: 1.1em;
}
.entry:not(.entry--wide) table { width: 100%; border-collapse: collapse; margin: 1.5em 0; font-size: 15px; }
.entry:not(.entry--wide) th, .entry:not(.entry--wide) td { padding: 10px 12px; border-bottom: 1px solid var(--line-soft); text-align: left; }
.entry img { border-radius: var(--r); }
.entry iframe { border-radius: var(--r); }
.entry figure { margin: 1.5em 0; }
.entry figcaption { margin-top: 8px; color: var(--text-3); font-size: 13px; }
.entry strong { color: var(--text); }

.article { max-width: 900px; }
.article__cover { margin: 0 0 32px; }
.article__cover img { width: 100%; border-radius: var(--r-xl); }

.post-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 16px;
	margin: 0 0 32px;
}
.post-card {
	display: flex;
	flex-direction: column;
	border-radius: var(--r-lg);
	background: var(--surface);
	overflow: hidden;
}
.post-card__media { display: block; aspect-ratio: 16 / 10; background: var(--surface-2); overflow: hidden; }
.post-card__media img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; transition: transform .5s var(--ease); }
.post-card:hover .post-card__media img { transform: scale(1.03); }
.post-card__body { padding: 18px 20px 22px; }
.post-card__body time { color: var(--text-3); font-size: 13px; }
.post-card__body h2 { margin: 6px 0 8px; font-size: 19px; line-height: 1.25; }
.post-card__body h2 a { text-decoration: none !important; color: var(--text) !important; }
.post-card__body p { margin: 0; color: var(--text-2); font-size: 15px; line-height: 1.5; }

.empty-state { padding: 40px 0; max-width: 560px; }
.empty-state p { color: var(--text-2); font-size: 17px; }

.inline-search { position: relative; display: flex; align-items: center; gap: 8px; max-width: 560px; }
.inline-search svg { position: absolute; left: 14px; color: var(--text-3); }
.inline-search input { padding-left: 42px; border-radius: var(--pill); }

.comments { margin-top: 48px; }
.comment-list { padding: 0; list-style: none; }

/* Legacy page-builder content */
.ux-section { padding: 24px 0; }
.ux-section.has-bg {
	margin: 16px 0;
	padding: 48px 28px;
	border-radius: var(--r-xl);
	background-size: cover;
	background-position: center;
	color: #fff;
}
.ux-row {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: 24px;
	margin: 0 0 24px;
}
.ux-col { grid-column: span var(--lg, 12); min-width: 0; }
@media (max-width: 1023px) { .ux-col { grid-column: span var(--md, 12); } }
@media (max-width: 599px) { .ux-col { grid-column: span var(--sm, 12); } .ux-row { gap: 16px; } }
.ux-text { margin-bottom: 1em; }
.ux-text > :last-child { margin-bottom: 0; }
.ta-center { text-align: center; }
.ta-right { text-align: right; }
.ux-image { margin: 0 0 1em; }
.ux-image img { width: 100%; border-radius: var(--r-lg); }
.ux-image-box { padding: 16px; border-radius: var(--r-lg); background: var(--surface); height: 100%; }
.ux-image-box__img img { width: 100%; border-radius: var(--r); margin-bottom: 14px; }
.ux-image-box h3 { font-size: 18px; margin: 0 0 8px; }
.ux-banner-grid { gap: 12px; }
.ux-banner {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: 240px;
	padding: 24px;
	border-radius: var(--r-lg);
	background-color: var(--surface);
	background-size: cover;
	background-position: center;
	overflow: hidden;
	color: #fff !important;
	text-decoration: none !important;
}
.ux-banner::before { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent 30%, rgba(0, 0, 0, .75)); }
.ux-banner__inner { position: relative; z-index: 1; }
.ux-banner h1, .ux-banner h2, .ux-banner h3, .ux-banner h4, .ux-banner p { color: #fff; margin: 0 0 .3em; }
.ux-gap { display: block; }
.ux-divider { margin: 24px 0; }
.ux-accordion {
	margin: 0 0 24px;
	border-radius: var(--r-lg);
	background: var(--surface);
	overflow: hidden;
}
.ux-acc + .ux-acc { border-top: 1px solid var(--line-soft); }
.ux-acc summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 18px 20px;
	color: var(--text);
	font-weight: 600;
	cursor: pointer;
	list-style: none;
}
.ux-acc summary::-webkit-details-marker { display: none; }
.ux-acc summary svg { color: var(--text-3); transition: transform .25s var(--ease); }
.ux-acc[open] summary svg { transform: rotate(180deg); }
.ux-acc__body { padding: 0 20px 18px; color: var(--text-2); }
.ux-slider {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: 100%;
	gap: 12px;
	margin-bottom: 24px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	border-radius: var(--r-lg);
}
.ux-slider > * { scroll-snap-align: start; margin: 0; }
.ux-stack { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.ux-stack--col { flex-direction: column; align-items: stretch; }
.ux-video { position: relative; aspect-ratio: 16 / 9; margin-bottom: 24px; border-radius: var(--r-lg); overflow: hidden; }
.ux-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; }
.ux-btn { margin: 4px 8px 4px 0; }
.ux-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px; margin-bottom: 24px; }
.ux-gallery img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: var(--r); }
@media (max-width: 599px) { .vis-hide-for-small { display: none !important; } }
@media (min-width: 600px) { .vis-show-for-small { display: none !important; } }
@media (min-width: 1024px) { .vis-show-for-medium { display: none !important; } }
@media (max-width: 1023px) { .vis-hide-for-medium { display: none !important; } }

/* ==========================================================================
   Footer
   ========================================================================== */
.ftr {
	margin-top: 72px;
	padding: 48px 0 32px;
	border-top: 1px solid var(--line-soft);
	background: var(--bg-grouped);
	color: var(--text-2);
	font-size: 14px;
}
.ftr__perks {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin-bottom: 48px;
}
.perk {
	display: flex;
	gap: 14px;
	padding: 18px;
	border-radius: var(--r-lg);
	background: var(--surface);
}
.perk svg { color: var(--accent-text); margin-top: 2px; }
.perk div { display: flex; flex-direction: column; line-height: 1.35; }
.perk strong { color: var(--text); font-size: 15px; }
.perk span { font-size: 13px; }
@media (max-width: 1023px) { .ftr__perks { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 599px) {
	.ftr__perks { grid-template-columns: minmax(0, 1fr); gap: 0; border-radius: var(--r-lg); background: var(--surface); overflow: hidden; }
	.perk { border-radius: 0; background: transparent; padding: 14px 16px; }
	.perk + .perk { border-top: 1px solid var(--line-soft); }
}

.ftr__grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1.2fr;
	gap: 40px;
}
@media (max-width: 1023px) { .ftr__grid { grid-template-columns: 1fr 1fr; gap: 32px; } }
@media (max-width: 599px) { .ftr__grid { grid-template-columns: minmax(0, 1fr); gap: 28px; } }
.ftr .brand-img { height: 40px; }
.ftr__lead { max-width: 36ch; margin: 16px 0; line-height: 1.55; }
.f-title {
	margin: 0 0 14px;
	color: var(--text-3);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.f-list { margin: 0; padding: 0; list-style: none; }
.f-list li { margin-bottom: 9px; }
.f-list a { color: var(--text-2); }
.f-list a:hover { color: var(--text); }
.f-contact { margin: 0; padding: 0; list-style: none; }
.f-contact li { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 12px; line-height: 1.45; }
.f-contact svg { margin-top: 1px; color: var(--text-3); }
.f-contact a { color: var(--text); font-weight: 500; }
.f-contact small { display: block; color: var(--text-3); font-size: 12px; }

.social { display: flex; gap: 8px; }
.social a {
	display: grid;
	place-items: center;
	width: 40px; height: 40px;
	border-radius: 50%;
	background: var(--surface);
	color: var(--text-2);
	transition: background-color .2s, color .2s;
}
.social a:hover { background: var(--surface-2); color: var(--text); }

.ftr__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: 40px;
	padding-top: 24px;
	border-top: 1px solid var(--line-soft);
}
.pay-marks { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.pay-marks li {
	padding: 4px 9px;
	border: 1px solid var(--line);
	border-radius: 6px;
	color: var(--text-3);
	font-size: 11.5px;
	font-weight: 600;
}
.ftr__copy { margin: 0; color: var(--text-3); font-size: 13px; }
.ftr__by { margin-left: 8px; font-size: 12px; }
.ftr__by a { color: var(--text-3); }
.ftr__by a:hover { color: var(--text-2); }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* Plugin integrations */
body .select2-container--default .select2-selection--single {
	height: auto;
	min-height: 48px;
	border: 1px solid transparent;
	border-radius: var(--r-sm);
	background: var(--surface-2);
}
body .select2-container--default .select2-selection--single .select2-selection__rendered { padding-left: 0; color: var(--text); line-height: 46px; }
body .select2-container--default.select2-container--open .select2-selection--single { border-color: rgba(10, 132, 255, .9); }
.payu-mini-installments-widget {
	display: inline-flex;
	align-items: baseline;
	gap: 2px;
	margin: 0 0 14px;
	padding: 6px 12px;
	border-radius: var(--pill);
	background: var(--surface);
	color: var(--text-2);
	font-size: 13px;
}
.payu-mini-installments-widget a { color: var(--text) !important; font-weight: 600; text-decoration: none !important; }
.payu-mini-installments-widget-amount { color: var(--text); font-weight: 600; }
.card .payu-mini-installments-widget,
.cart_totals .payu-mini-installments-widget,
.woocommerce-checkout-review-order-table .payu-mini-installments-widget { margin: 4px 0 0; padding: 0; background: none; font-size: 12px; }
.pdp__summary .gpsr-fields { display: block; width: auto; }
.leaselink-calculator-product-container { margin-bottom: 16px; padding-right: 32px; }
.woocommerce-privacy-policy-text,
.woocommerce-privacy-policy-text p { color: var(--text-2); font-size: 13px; line-height: 1.5; }

/* Brand accents */
:root {
	--accent: #ed1c24;
	--accent-hover: #ff2f37;
	--accent-press: #c8111a;
	--accent-soft: rgba(237, 28, 36, .16);
	--accent-text: #ff4d52;
	--accent-line: rgba(237, 28, 36, .55);
}

.brand-img { filter: none; height: 44px; max-width: 240px; }
@media (min-width: 1200px) { .brand-img { height: 50px; max-width: 270px; } }
@media (max-width: 1023px) { .brand-img { height: 36px; } }

.topline { background: var(--accent); border-bottom: 0; color: rgba(255, 255, 255, .92); }
.topline__facts li:first-child svg,
.topline .stars { color: #fff; }
.topline__side a:hover { color: #fff; }

.hdr { border-bottom-color: rgba(237, 28, 36, .28); }
.hdr__cats { background: var(--accent); color: #fff; }
.hdr__cats:hover { background: var(--accent-hover); color: #fff; }
@media (max-width: 1023px) {
	.hdr__cats { width: 42px; background: var(--accent); border-radius: 12px; }
}
form.search .search__input:focus { border-color: var(--accent-line); box-shadow: 0 0 0 4px var(--accent-soft); }
.mainnav .current-menu-item > a,
.mainnav .current_page_item > a { background: var(--accent-soft); color: var(--accent-text); }
.hdr__promo { background: var(--accent); color: #fff; }
.hdr__promo:hover { background: var(--accent-hover); color: #fff; }

.section-title { display: inline-flex; align-items: center; gap: 10px; }
.section-title::before {
	content: "";
	flex: none;
	width: 4px;
	height: .9em;
	border-radius: 2px;
	background: var(--accent);
}
.section-title__ic {
	display: inline-grid;
	place-items: center;
	width: 32px; height: 32px;
	margin-left: -2px;
	border-radius: 10px;
	background: var(--accent);
	color: #fff;
}
.section-title:has(.section-title__ic)::before { display: none; }
.link-btn { color: var(--accent-text); font-weight: 600; }

.btn--outline { background: transparent; color: var(--text); box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .28); }
.btn--outline:hover { background: rgba(255, 255, 255, .06); color: #fff; box-shadow: inset 0 0 0 1.5px #fff; }
.btn--white { background: #fff; color: #000; }
.btn--white:hover { background: #f1f1f1; color: #000; }
.btn--ghost-white { background: rgba(255, 255, 255, .14); color: #fff; }
.btn--ghost-white:hover { background: rgba(255, 255, 255, .24); color: #fff; }
.btn--primary { box-shadow: 0 8px 24px -10px rgba(237, 28, 36, .8); }

/* Hero */
.hero {
	position: relative;
	padding: 52px 52px 48px;
	background:
		radial-gradient(90% 120% at 0% 0%, rgba(237, 28, 36, .34), transparent 58%),
		radial-gradient(60% 80% at 100% 100%, rgba(237, 28, 36, .14), transparent 60%),
		#141416;
	box-shadow: inset 0 0 0 1px rgba(237, 28, 36, .22);
}
.hero::before {
	content: "";
	position: absolute;
	top: 0; left: 52px;
	width: 96px; height: 4px;
	border-radius: 0 0 4px 4px;
	background: var(--accent);
}
.kicker { display: inline-flex; align-items: center; gap: 8px; color: #fff; }
.kicker__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 4px var(--accent-soft); }
.hero__title .hl { color: var(--accent); }
.hero__rating {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 28px;
	padding: 10px 16px;
	border-radius: var(--pill);
	background: rgba(255, 255, 255, .06);
	color: var(--text-2);
	font-size: 14px;
}
.hero__rating strong { color: #fff; font-size: 16px; }
.hero__stars { color: #ffcc00; letter-spacing: 1px; }
.hero__rating:hover { background: rgba(255, 255, 255, .1); color: var(--text); }
.mosaic__it a { box-shadow: 0 0 0 1px rgba(0, 0, 0, .04); }
.mosaic__price { background: var(--accent); }
.mosaic__tag {
	position: absolute;
	top: 10px; left: 10px;
	padding: 4px 9px;
	border-radius: var(--pill);
	background: #000;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .02em;
}
@media (max-width: 1023px) {
	.hero { padding: 30px 22px 26px; }
	.hero::before { left: 22px; }
	.mosaic__price { display: block; left: 6px; bottom: 6px; padding: 3px 7px; font-size: 11px; }
	.mosaic__tag { display: none; }
}
@media (max-width: 599px) {
	.hero__rating { margin-top: 22px; font-size: 13px; }
}

/* USP strip */
.usp {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
}
.usp li {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 16px 18px;
	border-radius: var(--r-lg);
	background: var(--surface);
}
.usp__ic {
	display: grid;
	place-items: center;
	flex: none;
	width: 44px; height: 44px;
	border-radius: 14px;
	background: var(--accent-soft);
	color: var(--accent-text);
}
.usp div { display: flex; flex-direction: column; line-height: 1.3; min-width: 0; }
.usp strong { font-size: 15px; }
.usp span { color: var(--text-2); font-size: 13px; }
@media (max-width: 1023px) { .usp { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; } }
@media (max-width: 599px) {
	.usp li { flex-direction: column; align-items: flex-start; gap: 10px; padding: 14px; }
	.usp__ic { width: 38px; height: 38px; border-radius: 12px; }
	.usp strong { font-size: 14px; }
	.usp span { font-size: 12px; }
}

/* Categories */
.cat-tile { box-shadow: inset 0 0 0 1px transparent; transition: background-color .2s, transform .3s var(--ease), box-shadow .2s; }
.cat-tile:hover { box-shadow: inset 0 0 0 1.5px var(--accent-line); }
.cat-tile:hover .cat-tile__name { color: #fff; }
.cat-tile__count { transition: color .2s; }
.cat-tile:hover .cat-tile__count { color: var(--accent-text); }
.cat-tile--all {
	width: 100%;
	align-items: flex-start;
	justify-content: flex-end;
	min-height: 100%;
	padding: 16px;
	border: 0;
	background: var(--accent);
	color: #fff;
	text-align: left;
	cursor: pointer;
}
.cat-tile--all:hover { background: var(--accent-hover); box-shadow: none; }
.cat-tile--all .cat-tile__all-ic { margin-bottom: auto; padding-bottom: 20px; }
.cat-tile--all .cat-tile__count,
.cat-tile--all:hover .cat-tile__count { color: rgba(255, 255, 255, .8); }
.cat-tile--all .cat-tile__name { font-size: 17px; }
@media (max-width: 767px) {
	.block .cat-grid { grid-auto-columns: 40%; }
}

/* Product rails and cards */
.block--promo {
	padding: 26px 24px 24px;
	border-radius: var(--r-xl);
	background:
		linear-gradient(135deg, rgba(237, 28, 36, .30), rgba(237, 28, 36, .06) 55%, transparent),
		#121214;
	box-shadow: inset 0 0 0 1px rgba(237, 28, 36, .3);
}
.block--promo .card { background: rgba(28, 28, 30, .92); }
.block--promo .rail__nav--prev { left: -8px; }
.block--promo .rail__nav--next { right: -8px; }
@media (max-width: 767px) {
	.block--promo { margin-left: calc(var(--gut) * -.5); margin-right: calc(var(--gut) * -.5); padding: 20px 12px 16px; border-radius: var(--r-lg); }
	.block--promo .rail__track { margin-left: -12px !important; margin-right: -12px !important; padding-left: 12px !important; padding-right: 12px !important; }
}
.card { box-shadow: inset 0 0 0 1px transparent; transition: background-color .25s, box-shadow .25s; }
.card:hover { box-shadow: inset 0 0 0 1.5px var(--accent-line); }
.card .price { color: #fff; }
.rail__nav:hover { background: var(--accent); }

.brand-pill { box-shadow: inset 0 0 0 1px transparent; transition: background-color .2s, box-shadow .2s, color .2s; }
.brand-pill:hover { background: var(--surface); box-shadow: inset 0 0 0 1.5px var(--accent); color: #fff; }
.brand-pill:hover small { color: var(--accent-text); }

/* Advice banner */
.advice {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	align-items: center;
	gap: 32px;
	margin-top: 48px;
	padding: 40px 44px;
	border-radius: var(--r-xl);
	background:
		repeating-linear-gradient(-32deg, rgba(255, 255, 255, .06) 0 2px, transparent 2px 14px) right / 42% 100% no-repeat,
		linear-gradient(120deg, #ed1c24, #b50f16);
	color: #fff;
	overflow: hidden;
}
.advice__kicker { margin: 0 0 8px; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; opacity: .85; }
.advice__title { margin: 0 0 10px; color: #fff; font-size: clamp(24px, 3vw, 34px); font-weight: 800; letter-spacing: -.026em; }
.advice__text { margin: 0; max-width: 56ch; color: rgba(255, 255, 255, .88); font-size: 16px; }
.advice__cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px; }
.advice__hours { display: inline-flex; align-items: center; gap: 6px; flex-basis: 100%; justify-content: flex-end; color: rgba(255, 255, 255, .8); font-size: 13px; }
@media (max-width: 1023px) {
	.advice { grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 28px 22px; }
	.advice__cta { justify-content: flex-start; }
	.advice__hours { justify-content: flex-start; }
}
@media (max-width: 599px) {
	.advice { margin-left: calc(var(--gut) * -.5); margin-right: calc(var(--gut) * -.5); border-radius: var(--r-lg); }
	.advice__cta .btn { flex: 1 1 100%; }
}

.shop-head--home .large-title { display: inline-flex; align-items: center; gap: 12px; }
.shop-head--home .large-title::before { content: ""; width: 5px; height: .85em; border-radius: 3px; background: var(--accent); }
.side-card__title { color: var(--accent-text); }
.page-numbers .current, .nav-links .current { background: var(--accent); color: #fff; }
.chip.is-active { background: var(--accent); color: #fff; }
.chip.is-active small { color: rgba(255, 255, 255, .75); }
.woocommerce-tabs ul.tabs li.active a { box-shadow: inset 0 -2px 0 var(--accent), 0 3px 8px rgba(0, 0, 0, .3); }
.ftr { border-top: 3px solid var(--accent); }
.perk { box-shadow: inset 0 0 0 1px rgba(237, 28, 36, .18); }
@media (min-width: 1200px) {
	.block .cat-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}

@media (min-width: 1024px) {
	.block .cat-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}
@media (min-width: 768px) and (max-width: 1023px) {
	.block .cat-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* Gradient headings */
.large-title,
.hero__title,
.section-title,
.pdp__summary .product_title,
.sheet__title,
.cart_totals > h2,
.co-card h3,
#order_review_heading,
.woocommerce-Tabs-panel h2,
.entry h2,
.entry h3 {
	background: linear-gradient(180deg, #ffffff 0%, #f1f1f4 38%, #b9b9c2 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
}
.hero__title { background: linear-gradient(170deg, #ffffff 0%, #ececf0 45%, #a9a9b3 100%); -webkit-background-clip: text; background-clip: text; }
.hero__title .hl {
	background: linear-gradient(180deg, #ff6a6f 0%, #ed1c24 55%, #c10f17 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}
.section-title__ic { -webkit-text-fill-color: #fff; }
.large-title span { -webkit-text-fill-color: transparent; }
.card__title a {
	background: linear-gradient(180deg, #ffffff 0%, #d3d3da 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}
.usp li,
.side-card,
.cart_totals,
.co-card,
.pdp-trust,
.woocommerce-Tabs-panel {
	background-image: linear-gradient(180deg, rgba(255, 255, 255, .045), rgba(255, 255, 255, 0) 60%);
}
.card { background-image: linear-gradient(180deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, 0) 45%); }
.hdr { box-shadow: 0 1px 0 rgba(255, 255, 255, .04), 0 12px 32px -18px rgba(0, 0, 0, .9); }

/* Search */
form.search .search__input {
	min-height: 52px;
	padding: 12px 124px 12px 46px;
	border: 1.5px solid rgba(255, 255, 255, .16);
	background: linear-gradient(180deg, #26262a, #1b1b1e);
	color: #fff;
	font-size: 16px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);
	transition: border-color .2s, box-shadow .2s, background-color .2s;
}
form.search .search__input::placeholder { color: rgba(235, 235, 245, .55); }
form.search .search__input:hover { border-color: rgba(255, 255, 255, .28); }
form.search .search__input:focus,
form.search.is-open .search__input {
	border-color: var(--accent);
	background: #1c1c1f;
	box-shadow: 0 0 0 4px var(--accent-soft);
}
.search__icon { left: 17px; color: rgba(235, 235, 245, .7); }
.search__submit {
	position: absolute;
	top: 6px; right: 6px; bottom: 6px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 0 18px;
	border: 0;
	border-radius: var(--pill);
	background: var(--accent);
	color: #fff;
	font: 600 14px/1 var(--font);
	cursor: pointer;
	transition: background-color .2s;
}
.search__submit:hover { background: var(--accent-hover); }
.search__clear { right: 116px; }
form.search.is-loading .search__icon { animation: pgm-pulse .9s ease-in-out infinite; color: var(--accent-text); }
@keyframes pgm-pulse { 50% { opacity: .35; } }
@media (max-width: 1023px) {
	form.search .search__input { min-height: 48px; padding-right: 96px; }
	.search__submit { padding: 0 14px; }
	.search__submit span { display: none; }
	.search__clear { right: 58px; }
}

.search__results {
	top: calc(100% + 10px);
	padding: 10px;
	max-height: min(76vh, 640px);
	border: 1px solid rgba(255, 255, 255, .1);
	background: rgba(24, 24, 27, .97);
	box-shadow: 0 30px 80px rgba(0, 0, 0, .7), 0 0 0 1px rgba(237, 28, 36, .12);
}
@media (min-width: 1024px) {
	.search__results { min-width: 560px; }
}
.sr-sec + .sr-sec { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--line-soft); }
.sr-label {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin: 2px 8px 8px;
	color: var(--text-3);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.sr-count {
	padding: 2px 8px;
	border-radius: var(--pill);
	background: var(--accent-soft);
	color: var(--accent-text);
	letter-spacing: 0;
}
.sr-clear-recent { padding: 0; background: none; color: var(--text-2); font-size: 12px; font-weight: 500; letter-spacing: 0; text-transform: none; cursor: pointer; }
.sr-clear-recent:hover { color: #fff; }
.sr-chips { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 6px 4px; }
.sr-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 12px;
	border-radius: var(--pill);
	background: var(--surface-2);
	color: var(--text);
	font-size: 13.5px;
	font-weight: 500;
	transition: background-color .15s, box-shadow .15s;
}
.sr-chip small { color: var(--text-3); font-size: 11.5px; }
.sr-chip:hover, .sr-chip.is-active { background: var(--surface-3); box-shadow: inset 0 0 0 1.5px var(--accent); color: #fff; }
.sr-chip--brand { font-weight: 700; letter-spacing: .03em; }
.sr-chip--brand::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--accent); }
.sr-chip--recent::before {
	content: "";
	width: 12px; height: 12px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a1a1a6' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 7.5V12l3 2'/%3E%3C/svg%3E") center/contain no-repeat;
}
.sr-item { grid-template-columns: 56px minmax(0, 1fr) auto; gap: 14px; padding: 8px; }
.sr-item__img { width: 56px; height: 56px; padding: 3px; }
.sr-item__main { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.sr-item__name { font-size: 14px; font-weight: 500; }
.sr-item__name mark { background: none; color: var(--accent-text); font-weight: 700; }
.sr-item__meta { display: flex; align-items: center; gap: 6px; overflow: hidden; color: var(--text-3); font-size: 12px; white-space: nowrap; text-overflow: ellipsis; }
.sr-dot { flex: none; width: 6px; height: 6px; border-radius: 50%; background: var(--green); }
.sr-dot.is-out { background: var(--text-3); }
.sr-item__price { display: flex; flex-direction: column; align-items: flex-end; gap: 1px; }
.sr-item__price del { display: block; color: var(--text-3); font-size: 11.5px; font-weight: 500; }
.sr-item__price b { font-weight: 700; }
.sr-item__price b.is-sale { color: var(--accent-text); }
.sr-item.is-active, .sr-item:hover { background: rgba(255, 255, 255, .06); box-shadow: inset 3px 0 0 var(--accent); }
.sr-note {
	margin: 2px 4px 10px;
	padding: 10px 12px;
	border-radius: var(--r-sm);
	background: var(--accent-soft);
	color: var(--text);
	font-size: 13px;
}
.sr-empty { display: flex; flex-direction: column; gap: 4px; padding: 14px 10px 16px; }
.sr-empty strong { color: var(--text); font-size: 15px; }
.sr-empty span { color: var(--text-2); font-size: 13px; }
.sr-all {
	margin: 10px 4px 2px;
	padding: 13px;
	border: 0;
	border-radius: var(--pill);
	background: var(--accent);
	color: #fff;
	font-size: 14px;
}
.sr-all:hover, .sr-all.is-active { background: var(--accent-hover); color: #fff; }
@media (max-width: 1023px) {
	.search__results { max-height: calc(100dvh - 230px); }
}
.shop-head__note { margin: 8px 0 0; color: var(--text-2); font-size: 14px; }
.shop-head__note strong { color: var(--accent-text); }

@media (max-width: 1023px) {
	.hdr__cats { justify-content: center; }
}

/* Google reviews */
.reviews__summary {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 16px 24px;
	margin-bottom: 16px;
	padding: 22px 24px;
	border-radius: var(--r-xl);
	background: linear-gradient(180deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .015)), var(--surface);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .06);
}
.reviews__summary .section-title { grid-column: 1 / -1; order: -1; }
.reviews__score { display: flex; align-items: center; gap: 14px; }
.reviews__score p { margin: 2px 0 0; color: var(--text-2); font-size: 14px; }
.reviews__rating { display: flex; align-items: baseline; gap: 10px; }
.reviews__rating strong { font-size: 34px; font-weight: 800; line-height: 1; letter-spacing: -.03em; }
.reviews__stars { color: #fbbc04; font-size: 20px; letter-spacing: 2px; }
.reviews__cta { display: flex; flex-wrap: wrap; gap: 8px; grid-column: 3; }
.reviews__track {
	display: grid !important;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - 3 * 16px) / 4);
	gap: 16px;
	margin: 0;
	padding: 0 0 4px;
	list-style: none;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}
.reviews__track::-webkit-scrollbar { display: none; }
.review {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 18px;
	border-radius: var(--r-lg);
	background: linear-gradient(180deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, 0) 50%), var(--surface);
	scroll-snap-align: start;
}
.review__head { display: flex; align-items: center; gap: 10px; }
.review__head .g-mark { margin-left: auto; flex: none; }
.review__avatar {
	display: grid;
	place-items: center;
	flex: none;
	width: 40px; height: 40px;
	border-radius: 50%;
	background: var(--accent);
	color: #fff;
	font-weight: 700;
	overflow: hidden;
}
.review__avatar img { width: 100%; height: 100%; object-fit: cover; }
.review__who { display: flex; flex-direction: column; min-width: 0; line-height: 1.25; }
.review__who strong { overflow: hidden; font-size: 14.5px; white-space: nowrap; text-overflow: ellipsis; }
.review__who small { color: var(--text-3); font-size: 12px; }
.review__stars { color: #fbbc04; font-size: 15px; letter-spacing: 1px; }
.review__text {
	margin: 0;
	color: var(--text-2);
	font-size: 14.5px;
	line-height: 1.55;
	display: -webkit-box;
	-webkit-line-clamp: 6;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
@media (max-width: 1199px) { .reviews__track { grid-auto-columns: calc((100% - 2 * 12px) / 3); gap: 12px; } }
@media (max-width: 767px) {
	.reviews__summary { grid-template-columns: minmax(0, 1fr); padding: 18px; border-radius: var(--r-lg); }
	.reviews__cta { grid-column: 1; }
	.reviews__cta .btn { flex: 1 1 auto; }
	.reviews__track {
		grid-auto-columns: 82%;
		margin: 0 calc(var(--gut) * -1);
		padding: 0 var(--gut) 4px;
		scroll-padding-left: var(--gut);
	}
}

/* Footer trust + social */
.ftr__trust {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-top: 40px;
}
.trust-row {
	padding: 18px 20px;
	border-radius: var(--r-lg);
	background: linear-gradient(180deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, 0) 70%), var(--surface);
}
.trust-row__label {
	display: block;
	margin-bottom: 12px;
	color: var(--text-3);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.logo-list { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.logo-list li {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 40px;
	min-width: 64px;
	padding: 6px 12px;
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 1px 0 rgba(0, 0, 0, .2);
}
.logo-list img { display: block; width: auto; max-width: 92px; height: 24px; object-fit: contain; }
.logo-list li.logo-list__txt {
	gap: 7px;
	background: var(--surface-2);
	color: var(--text);
	font-size: 13px;
	font-weight: 600;
	box-shadow: none;
}
.logo-list__txt svg { color: var(--accent-text); }
@media (max-width: 1023px) { .ftr__trust { grid-template-columns: minmax(0, 1fr); } }

.ftr__bottom { margin-top: 24px; }
.ftr__google {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	border-radius: var(--pill);
	background: var(--surface);
	color: var(--text-2);
	font-size: 13px;
}
.ftr__google strong { color: #fff; font-size: 15px; }
.ftr__google .stars { color: #fbbc04; }
.ftr__google:hover { background: var(--surface-2); color: #fff; }

.f-title--social { margin: 22px 0 10px; }
.social { gap: 10px; }
.social a {
	width: 44px; height: 44px;
	background: var(--surface-2);
	color: #fff;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .06);
	transition: background-color .2s, transform .2s var(--ease), box-shadow .2s;
}
.social a:hover { background: var(--accent); color: #fff; transform: translateY(-2px); box-shadow: 0 8px 20px -8px rgba(237, 28, 36, .8); }
.social a svg { width: 21px; height: 21px; }

.logo-list img[alt^="InPost"] { height: 34px; max-width: 84px; }
.logo-list img[alt="Visa"],
.logo-list img[alt="Mastercard"] { height: 30px; }

/* Product description */
.woocommerce-Tabs-panel--description { max-width: 1120px; padding: 36px 40px 40px; }
.desc { color: var(--text-2); font-size: 16px; line-height: 1.7; }
.desc > * { margin: 0; }
.desc > * + * { margin-top: 18px; }
.desc p { max-width: 78ch; }
.desc strong, .desc b { color: var(--text); font-weight: 600; }
.desc a:not([data-desc-zoom]) { color: var(--text); text-decoration: underline; text-decoration-color: var(--accent-line); text-underline-offset: 3px; }
.desc .desc-h {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 40px;
	font-size: 22px;
	font-weight: 750;
	line-height: 1.25;
	letter-spacing: -.018em;
}
.desc h3.desc-h::before {
	content: "";
	flex: none;
	width: 4px;
	height: 1em;
	border-radius: 2px;
	background: var(--accent);
}
.desc h4.desc-h { margin-top: 32px; font-size: 18px; }
.desc h4.desc-h::before {
	content: "";
	flex: none;
	width: 8px; height: 8px;
	border-radius: 50%;
	background: var(--accent);
	box-shadow: 0 0 0 4px var(--accent-soft);
}
.desc > .desc-h:first-child { margin-top: 0; font-size: clamp(22px, 2.4vw, 28px); }
.desc > .desc-h:first-child + .desc-h { margin-top: 6px; font-size: 17px; font-weight: 500; }
.desc > .desc-h:first-child + .desc-h::before { display: none; }
.desc .desc-h,
.desc .desc-h * {
	background: linear-gradient(180deg, #ffffff 0%, #ececf0 45%, #b3b3bc 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

.desc-note {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 14px 16px;
	border-radius: var(--r);
	background: rgba(255, 159, 10, .1);
	box-shadow: inset 3px 0 0 var(--orange);
	color: var(--text);
	font-size: 15px;
	line-height: 1.55;
}
.desc-note strong {
	flex: none;
	margin-top: 1px;
	padding: 2px 9px;
	border-radius: var(--pill);
	background: var(--orange);
	color: #000;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}
.desc-note p { margin: 0; }
.desc-note + .desc-note { margin-top: 8px; }

.desc-list { margin: 0; padding: 0; list-style: none; }
.desc-list li {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 10px 0;
	border-bottom: 1px solid var(--line-soft);
}
.desc-list li:last-child { border-bottom: 0; }
.desc-list:not(.desc-list--kit) li::before {
	content: "";
	flex: none;
	width: 20px; height: 20px;
	margin-top: 3px;
	border-radius: 50%;
	background: var(--accent-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff4d52' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4L18 8'/%3E%3C/svg%3E") center/12px no-repeat;
}
.desc-list li > span { min-width: 0; }
.desc-list--kit {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}
.desc-list--kit li {
	align-items: center;
	padding: 12px 14px;
	border: 0;
	border-radius: var(--r-sm);
	background: var(--surface-2);
	color: var(--text);
	font-size: 14.5px;
	line-height: 1.4;
}
.desc-qty {
	flex: none;
	display: grid;
	place-items: center;
	min-width: 38px;
	height: 28px;
	padding: 0 8px;
	border-radius: 8px;
	background: var(--accent);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.desc-specs {
	margin: 0;
	padding: 6px 20px;
	border-radius: var(--r);
	background: var(--surface-2);
	columns: 2;
	column-gap: 40px;
}
.desc-specs > div {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 11px 0;
	border-bottom: 1px solid var(--line-soft);
	break-inside: avoid;
}
.desc-specs dt { color: var(--text-3); font-size: 14px; }
.desc-specs dd { margin: 0; color: var(--text); font-size: 14.5px; font-weight: 600; text-align: right; }

.desc-table {
	overflow-x: auto;
	padding: 6px 20px;
	border-radius: var(--r);
	background: var(--surface-2);
}
.desc-table table { width: 100%; border-collapse: collapse; font-size: 14.5px; }
.desc-table th,
.desc-table td { padding: 11px 0; border-bottom: 1px solid var(--line-soft); text-align: left; vertical-align: top; }
.desc-table tr:last-child th,
.desc-table tr:last-child td { border-bottom: 0; }
.desc-table th { width: 45%; padding-right: 16px; color: var(--text-3); font-weight: 400; }
.desc-table td { color: var(--text); font-weight: 600; }
.desc-table td:first-child:not(:only-child) { color: var(--text-3); font-weight: 400; }

.desc-gallery { display: grid; gap: 12px; }
.desc-gallery--1 { max-width: 620px; }
.desc-gallery--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.desc-gallery--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.desc-gallery figure { margin: 0; }
.desc-gallery a { display: block; border-radius: var(--r-lg); overflow: hidden; cursor: zoom-in; }
.desc-gallery img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	padding: 3%;
	background: #fff;
	object-fit: contain;
	transition: transform .5s var(--ease);
}
.desc-gallery a:hover img { transform: scale(1.03); }
.desc hr { margin: 36px 0; border: 0; border-top: 1px solid var(--line-soft); }
.desc-video { position: relative; aspect-ratio: 16 / 9; max-width: 820px; border-radius: var(--r-lg); overflow: hidden; }
.desc-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

@media (max-width: 767px) {
	.woocommerce-Tabs-panel--description { padding: 22px 16px 26px; }
	.desc { font-size: 15px; }
	.desc .desc-h { margin-top: 30px; font-size: 19px; }
	.desc-list--kit { grid-template-columns: minmax(0, 1fr); }
	.desc-specs { columns: 1; padding: 4px 14px; }
	.desc-table { padding: 4px 14px; }
	.desc-gallery--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.desc-gallery--1 { max-width: none; }
	.desc-gallery { gap: 8px; }
	.desc-gallery a { border-radius: var(--r); }
}

.lb {
	position: fixed;
	inset: 0;
	z-index: 400;
	display: grid;
	place-items: center;
	padding: 24px;
	background: rgba(0, 0, 0, .9);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	opacity: 0;
	transition: opacity .25s;
}
.lb.is-on { opacity: 1; }
.lb img { max-width: min(1100px, 100%); max-height: calc(100dvh - 48px); border-radius: var(--r-lg); background: #fff; object-fit: contain; }
.lb__btn {
	position: absolute;
	display: grid;
	place-items: center;
	width: 48px; height: 48px;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .12);
	color: #fff;
	cursor: pointer;
}
.lb__btn:hover { background: var(--accent); }
.lb__close { top: 16px; right: 16px; }
.lb__prev { left: 16px; top: 50%; margin-top: -24px; }
.lb__next { right: 16px; top: 50%; margin-top: -24px; }

/* Product page v2 */
.pdp__summary .product_title { font-size: clamp(22px, 2.3vw, 30px); margin-bottom: 12px; }
.pdp__summary > .price { margin-bottom: 6px; }
.pdp__summary > .price + div:has(> [id^="installment-mini"]) { margin: 0 0 12px; }
.pdp-ship {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 14px 0 12px;
	color: var(--text-2);
	font-size: 14px;
	line-height: 1.45;
}
.pdp-ship svg { flex: none; margin-top: 1px; color: var(--green); }
.pdp-ship b { color: var(--text); font-weight: 650; font-variant-numeric: tabular-nums; }
.pdp-ship.is-today b { color: var(--green); }
.pdp__summary .stock-line { margin-bottom: 14px; }
.pdp__summary form.cart { margin-bottom: 10px; }
.pdp__summary .leaselink-calculator-product-container:empty { display: none; }

.pdp-more {
	margin: 12px 0 0;
	border-radius: var(--r);
	background: var(--surface);
	background-image: linear-gradient(180deg, rgba(255, 255, 255, .04), rgba(255, 255, 255, 0) 60%);
}
.pdp-more > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 16px;
	color: var(--text);
	font-size: 14.5px;
	font-weight: 600;
	list-style: none;
	cursor: pointer;
}
.pdp-more > summary::-webkit-details-marker { display: none; }
.pdp-more > summary::after {
	content: "";
	width: 16px; height: 16px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a1a1a6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;
	transition: transform .2s;
}
.pdp-more[open] > summary::after { transform: rotate(180deg); }
.pdp-more > summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: var(--r); }
.pdp-more__body { padding: 0 16px 14px; }
.pdp__summary .pdp-more .gpsr-fields { margin: 0; padding: 0; background: none; border: 0; box-shadow: none; }
.pdp-more .gpsr-fields h3 { display: none; }
.pdp-more .gpsr-fields p { display: flex; gap: 12px; margin: 0; padding: 8px 0; border-top: 1px solid var(--line-soft); color: var(--text); font-size: 13.5px; }
.pdp-more .gpsr-fields p strong { flex: 0 0 42%; color: var(--text-3); font-weight: 400; }

.pdp__summary .pdp-trust {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	margin: 18px 0;
	background: var(--line-soft);
}
.pdp__summary .pdp-trust li { padding: 13px 14px; background: var(--surface); gap: 10px; }
.pdp__summary .pdp-trust li + li { border: 0; }
.pdp__summary .pdp-trust strong { font-size: 14px; }
.pdp__summary .pdp-trust span { font-size: 12.5px; }

.pdp-hl { margin: 18px 0 0; }
.pdp-perks { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; padding: 0; list-style: none; }
.pdp-perks li {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 7px 12px 7px 10px;
	border-radius: var(--pill);
	background: var(--accent-soft);
	color: var(--text);
	font-size: 13.5px;
	font-weight: 600;
}
.pdp-perks svg { color: var(--accent-text); }
.pdp-hl__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 0 0 8px; }
.pdp-hl__head h2 { margin: 0; color: var(--text); font-size: 16px; font-weight: 700; -webkit-text-fill-color: currentColor; background: none; }
.pdp-hl__head a { color: var(--accent-text); font-size: 14px; font-weight: 600; }
.pdp-specs { margin: 0; padding: 2px 16px; border-radius: var(--r); background: var(--surface); }
.pdp-specs > div { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--line-soft); }
.pdp-specs > div:last-child { border-bottom: 0; }
.pdp-specs dt { color: var(--text-3); font-size: 14px; }
.pdp-specs dd { margin: 0; color: var(--text); font-size: 14px; font-weight: 600; text-align: right; }
.pdp-hl__text { margin-top: 14px; color: var(--text-2); font-size: 14.5px; line-height: 1.6; }
.pdp-hl__text p { margin: 0 0 8px; }
.pdp-hl__text .desc-list li { padding: 6px 0; }

.pdp__summary .pdp-cats { display: none; }

@media (max-width: 1023px) {
	.pdp__top { gap: 16px; }
	.pdp-eyebrow { margin-bottom: 8px; }
	.pdp__summary .product_title { font-size: 22px; line-height: 1.2; }
	.pdp__summary > .price { font-size: 30px; }
	.pdp__summary form.cart { flex-wrap: nowrap; }
	.pdp__summary form.cart .quantity { height: 52px; flex: none; }
	.pdp__summary form.cart .single_add_to_cart_button { flex: 1 1 auto; min-height: 52px; font-size: 16px; }
	.pdp__summary .pdp-trust { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 380px) {
	.pdp-perks li { font-size: 12.5px; }
}

/* Description parts */
.desc-part {
	display: grid;
	grid-template-columns: 180px minmax(0, 1fr);
	gap: 20px;
	align-items: start;
	padding: 16px;
	border-radius: var(--r-lg);
	background: var(--surface-2);
}
.desc > .desc-part + .desc-part { margin-top: 10px; }
.desc-part__media figure { margin: 0; }
.desc-part__media a { display: block; border-radius: var(--r); overflow: hidden; cursor: zoom-in; }
.desc-part__media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	padding: 6%;
	background: var(--tile);
	object-fit: contain;
}
.desc-part__media figure + figure { margin-top: 8px; }
.desc .desc-part__title { margin: 2px 0 10px; font-size: 16.5px; }
.desc .desc-part__title::before { display: none; }
.desc-part .desc-specs { columns: 1; padding: 0; background: none; }
.desc-part .desc-specs > div { padding: 8px 0; }
.desc-part .desc-specs > div:last-child { border-bottom: 0; }
.desc-tags { display: inline-flex; flex-wrap: wrap; justify-content: flex-end; gap: 4px; }
.desc-tags span { padding: 2px 8px; border-radius: 6px; background: rgba(255, 255, 255, .07); font-size: 13px; font-weight: 600; white-space: nowrap; }
.desc hr { margin: 28px 0; }
.desc-part + hr, hr + .desc-part { margin-top: 10px; }
.desc > .desc-part + hr { display: none; }
.desc-gallery--1 { max-width: 440px; }
.desc-gallery--3 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.desc-gallery img { background: var(--tile); }
@media (max-width: 767px) {
	.desc-part { grid-template-columns: 96px minmax(0, 1fr); gap: 14px; padding: 12px; }
	.desc .desc-part__title { font-size: 15px; margin-bottom: 6px; }
	.desc-part .desc-specs > div { flex-direction: column; gap: 1px; padding: 7px 0; }
	.desc-part .desc-specs dd { text-align: left; }
	.desc-part .desc-tags { justify-content: flex-start; }
	.desc-specs > div { gap: 12px; }
	.desc-gallery--1 { max-width: 320px; }
	.desc-gallery--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.woocommerce-tabs { scroll-margin-top: calc(var(--hdr) + 16px); }
@media (max-width: 767px) {
	.desc-part { grid-template-columns: 72px minmax(0, 1fr); column-gap: 14px; row-gap: 10px; align-items: center; }
	.desc-part__body { display: contents; }
	.desc-part__media { grid-column: 1; grid-row: 1; }
	.desc .desc-part__title { grid-column: 2; grid-row: 1; margin: 0; }
	.desc-part .desc-specs { grid-column: 1 / -1; }
	.desc-part .desc-specs > div { flex-direction: row; gap: 12px; }
	.desc-part .desc-specs dd { text-align: right; }
	.desc-part .desc-tags { justify-content: flex-end; }
	.desc-part__media img { padding: 4px; }
}
@media (max-width: 767px) {
	.desc-part:not(:has(.desc-part__title)) .desc-part__media { grid-column: 1 / -1; display: flex; gap: 8px; }
	.desc-part:not(:has(.desc-part__title)) .desc-part__media figure { width: 120px; margin: 0; }
	.desc-part__media figure + figure { margin-top: 0; }
	.desc-part:has(.desc-part__title) .desc-part__media figure + figure { display: none; }
}
@media (min-width: 768px) {
	.desc-part__media { display: grid; gap: 8px; }
	.desc-part__media figure + figure { margin-top: 0; }
}
.pdp__summary form.cart .leaselink-calculator-product-container { flex: 0 0 100%; order: 5; min-width: 0; }
.pdp__summary form.cart .leaselink-calculator-product-container > * { max-width: 100%; }
@media (max-width: 1023px) {
	.pdp__summary form.cart { flex-wrap: wrap; }
	.pdp__summary form.cart .single_add_to_cart_button { flex: 1 1 0; min-width: 0; }
	.pdp__summary .pdp-trust { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pdp__summary .pdp-trust li { padding: 12px; }
	.pdp__summary .pdp-trust li span { display: none; }
	.pdp__summary .pdp-trust li:last-child span { display: block; }
	.pdp__summary .pdp-trust li:last-child span { font-size: 12px; }
}

/* Checkout form order */
.woocommerce-billing-fields__field-wrapper > .form-row { order: 20; }
#billing_email_field { order: 1; }
#billing_phone_field { order: 2; }
#billing_first_name_field { order: 3; }
#billing_last_name_field { order: 4; }
#billing_country_field { order: 5; }
#billing_address_1_field { order: 6; }
#billing_address_2_field { order: 7; }
#billing_postcode_field { order: 8; }
#billing_city_field { order: 9; }
.pgm-invoice-toggle { order: 10; }
#billing__billing_number_field { order: 11; }
.woocommerce-shipping-fields__field-wrapper > .form-row { order: 20; }
#shipping_first_name_field { order: 1; }
#shipping_last_name_field { order: 2; }
#shipping_country_field { order: 3; }
#shipping_address_1_field { order: 4; }
#shipping_postcode_field { order: 5; }
#shipping_city_field { order: 6; }
#shipping_state_field { display: none !important; }
@media (min-width: 560px) {
	#billing_email_field, #shipping_postcode_field, #billing_postcode_field { grid-column: 1 / 2; }
	#billing_phone_field, #shipping_city_field, #billing_city_field { grid-column: 2 / 3; }
}
.pgm-invoice-toggle {
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 4px 0 0;
	color: var(--text);
	font-size: 15px;
	font-weight: 500;
	cursor: pointer;
}
.pgm-invoice-toggle input { width: 20px; height: 20px; margin: 0; accent-color: var(--accent); }
#billing__billing_number_field.is-hidden { display: none; }
@media (max-width: 767px) {
	.card__foot > div:has(> [id^="installment-mini"]) { display: none; }
}

/* Typeface */
body { font-feature-settings: "ss01" 0; text-rendering: optimizeLegibility; }
h1, h2, h3, .large-title, .hero__title, .section-title, .product_title, .desc-h { word-spacing: .05em; }
.hero__title, .large-title, .pdp__summary .product_title { letter-spacing: -.03em; }
.price, .amount, .card__price, .buybar__price, .sr-item__price, .cart_totals td, .order-total { font-variant-numeric: tabular-nums; }

/* Hero bestsellers */
.hero__visual { min-width: 0; }
.mosaic-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 12px; }
.mosaic-head__title { display: inline-flex; align-items: center; gap: 8px; color: var(--text); font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.mosaic-head__title svg { color: var(--accent-text); }
.mosaic-head__link { display: inline-flex; align-items: center; gap: 2px; color: var(--text-2); font-size: 13.5px; font-weight: 600; }
.mosaic-head__link:hover { color: #fff; }
.mosaic { gap: 10px; }
.mosaic__it a {
	display: flex;
	flex-direction: column;
	height: 100%;
	aspect-ratio: auto;
	padding: 0;
	border-radius: var(--r-lg);
	background: var(--surface-2);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .06);
	transition: box-shadow .2s, transform .2s var(--ease);
}
.mosaic__it a:hover { box-shadow: inset 0 0 0 1.5px var(--accent); transform: translateY(-2px); }
.mosaic__img { position: relative; display: block; aspect-ratio: 4 / 3; padding: 8%; background: var(--tile); }
.mosaic__it img { width: 100%; height: 100%; object-fit: contain; }
.mosaic__rank {
	position: absolute;
	top: 8px; left: 8px;
	padding: 3px 8px;
	border-radius: var(--pill);
	background: #000;
	color: #fff;
	font-size: 11.5px;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}
.mosaic__it .mosaic__tag { top: 8px; left: auto; right: 8px; background: var(--accent); }
.mosaic__body { display: flex; flex: 1; flex-direction: column; justify-content: space-between; gap: 6px; padding: 10px 12px 12px; }
.mosaic__name {
	display: -webkit-box;
	overflow: hidden;
	color: var(--text);
	font-size: 13.5px;
	font-weight: 500;
	line-height: 1.3;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
.mosaic__it .mosaic__price {
	position: static;
	display: block;
	padding: 0;
	background: none;
	color: #fff;
	font-size: 15px;
	font-weight: 700;
}
@media (max-width: 1023px) {
	.hero__visual { order: 0; }
	.mosaic {
		display: flex;
		gap: 10px;
		margin: 0 -22px;
		padding: 0 22px 4px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}
	.mosaic::-webkit-scrollbar { display: none; }
	.mosaic__it { flex: 0 0 min(46%, 190px); scroll-snap-align: start; }
	.mosaic__it a { border-radius: var(--r); padding: 0; }
	.mosaic__it .mosaic__price { display: block; font-size: 14px; }
	.mosaic__name { font-size: 13px; }
	.mosaic__it .mosaic__tag { display: none; }
}
@media (max-width: 599px) {
	.mosaic { margin: 0 -18px; padding: 0 18px 4px; }
	.hero__text { font-size: 15px; margin-bottom: 20px; }
	.usp {
		display: flex;
		gap: 8px;
		margin-left: calc(var(--gut) * -1);
		margin-right: calc(var(--gut) * -1);
		padding: 0 var(--gut);
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}
	.usp::-webkit-scrollbar { display: none; }
	.usp li { flex: 0 0 auto; align-items: center; gap: 10px; padding: 10px 14px 10px 10px; scroll-snap-align: start; }
	.usp li span:not(.usp__ic) { display: none; }
	.usp__ic { width: 34px; height: 34px; }
	.usp strong { white-space: nowrap; font-size: 14px; }
}
.shop-head--home { margin-top: 28px; }

/* Search hint typing */
.search__input.is-typing::placeholder { color: rgba(235, 235, 245, .7); }
@media (min-width: 1024px) {
	.hero { padding: 40px 44px; }
	.mosaic__img { aspect-ratio: 16 / 10; padding: 6%; }
}
@media (max-width: 599px) {
	.hero { gap: 20px; }
	.hero__title { font-size: 30px; margin-bottom: 18px; }
	.hero__text { display: none; }
	.hero__cta { flex-wrap: nowrap; gap: 8px; }
	.hero__cta .btn { flex: 1 1 0; min-width: 0; min-height: 48px; padding: 0 14px; font-size: 15px; }
	.hero__rating { margin-top: 14px; }
}
.mosaic__img { overflow: hidden; min-height: 0; }
.mosaic__img img { position: absolute; top: 7%; left: 7%; width: 86% !important; height: 86% !important; object-fit: contain; }
@media (max-width: 599px) {
	.hero__cta .btn svg { display: none; }
	.hero__cta .btn { font-size: 14.5px; padding: 0 10px; }
}

/* Stage */
.stage {
	border-radius: var(--r-lg);
	background: var(--surface);
	overflow: hidden;
}
.stage__top { position: relative; display: flex; align-items: flex-end; min-height: 460px; }
.stage__photo { position: absolute; inset: 0; }
.stage__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 70% 50%; }
.stage__top.has-photo::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(90deg, rgba(10, 10, 11, .94) 0%, rgba(10, 10, 11, .82) 34%, rgba(10, 10, 11, .25) 62%, rgba(10, 10, 11, 0) 80%);
}
.stage__copy { position: relative; z-index: 2; max-width: 620px; padding: 48px; }
.stage__title {
	margin: 0 0 16px;
	color: #fff;
	font-size: clamp(30px, 3.6vw, 46px);
	font-weight: 750;
	line-height: 1.08;
	letter-spacing: -.028em;
	text-wrap: balance;
}
.stage__text { max-width: 50ch; margin: 0 0 28px; color: rgba(255, 255, 255, .78); font-size: 17px; line-height: 1.55; }
.stage__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; }
.stage__call { color: rgba(255, 255, 255, .78); font-size: 15px; }
.stage__call strong { color: #fff; font-weight: 650; }
.stage__call:hover strong { text-decoration: underline; text-underline-offset: 3px; }
.stage__facts {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 0;
	margin: 28px 0 0;
	padding: 0;
	list-style: none;
	color: rgba(255, 255, 255, .66);
	font-size: 13.5px;
}
.stage__facts li + li::before { content: ""; display: inline-block; width: 1px; height: 12px; margin: 0 14px; background: rgba(255, 255, 255, .25); vertical-align: -1px; }
.stage__facts a { color: inherit; text-decoration: underline; text-decoration-color: rgba(255, 255, 255, .3); text-underline-offset: 3px; }
.stage__facts a:hover { color: #fff; }

.stage__best { padding: 20px 24px 22px; border-top: 1px solid var(--line-soft); }
.stage__best-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin: 0 0 14px; }
.stage__best-head h3 { margin: 0; color: var(--text); font-size: 15px; font-weight: 650; background: none; -webkit-text-fill-color: currentColor; }
.stage__best-head a { color: var(--text-2); font-size: 14px; text-decoration: underline; text-decoration-color: var(--line); text-underline-offset: 3px; }
.stage__best-head a:hover { color: #fff; }
.best { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.best__it + .best__it { border-left: 1px solid var(--line-soft); }
.best__it a { display: grid; grid-template-columns: auto 64px minmax(0, 1fr); align-items: center; gap: 12px; height: 100%; padding: 4px 16px; }
.best__it:first-child a { padding-left: 0; }
.best__it:last-child a { padding-right: 0; }
.best__no { color: var(--text-3); font-size: 13px; font-weight: 600; font-variant-numeric: tabular-nums; }
.best__img { display: block; width: 64px; height: 64px; padding: 5px; border-radius: 8px; background: var(--tile); }
.best__img img { width: 100%; height: 100%; object-fit: contain; }
.best__txt { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.best__name {
	display: -webkit-box;
	overflow: hidden;
	color: var(--text);
	font-size: 13.5px;
	line-height: 1.3;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
.best__price { color: var(--text); font-size: 14px; font-weight: 650; font-variant-numeric: tabular-nums; }
.best__it a:hover .best__name { text-decoration: underline; text-decoration-color: var(--text-3); text-underline-offset: 2px; }
.best__it a:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; border-radius: 6px; }

@media (max-width: 1023px) {
	.stage__top { flex-direction: column; align-items: stretch; min-height: 0; }
	.stage__photo { position: relative; inset: auto; aspect-ratio: 16 / 9; }
	.stage__top.has-photo::before { display: none; }
	.stage__copy { max-width: none; padding: 24px 22px 26px; }
	.stage__text { font-size: 15.5px; margin-bottom: 22px; }
	.best { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 14px; }
	.best__it:nth-child(3) { border-left: 0; }
	.best__it:nth-child(odd) a { padding-left: 0; }
	.best__it:nth-child(even) a { padding-right: 0; }
}
@media (max-width: 599px) {
	.stage { margin-left: calc(var(--gut) * -.5); margin-right: calc(var(--gut) * -.5); }
	.stage__photo { aspect-ratio: 3 / 2; }
	.stage__title { font-size: 27px; }
	.stage__copy { padding: 20px 18px 22px; }
	.stage__cta .btn { flex: 1 1 100%; }
	.stage__call { width: 100%; text-align: center; }
	.stage__facts { margin-top: 20px; font-size: 13px; }
	.stage__best { padding: 16px 18px 18px; }
	.best { grid-template-columns: minmax(0, 1fr); row-gap: 0; }
	.best__it + .best__it { border-left: 0; border-top: 1px solid var(--line-soft); }
	.best__it a { grid-template-columns: 18px 56px minmax(0, 1fr); padding: 10px 0 !important; }
	.best__img { width: 56px; height: 56px; }
}
.stage__copy { width: min(640px, 100%); }
.stage__facts li { white-space: nowrap; }
@media (max-width: 599px) {
	.stage__facts { display: grid; gap: 4px; }
	.stage__facts li + li::before { display: none; }
	.best__name { font-size: 14px; }
}
@media (min-width: 1024px) {
	.stage__copy { flex: 0 1 700px; width: 700px; max-width: 100%; }
	.stage__title { font-size: clamp(34px, 3.3vw, 44px); }
	.stage__text { max-width: 54ch; }
}

/* Category navigation */
.topline__menu { display: flex; gap: 18px; margin: 0; padding: 0; list-style: none; }
.topline__menu a { color: rgba(255, 255, 255, .92); }
.topline__menu a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 1279px) { .topline__menu li:nth-child(n+4) { display: none; } }

.hdr__nav { position: relative; }
.hdr__nav-in { display: flex; align-items: center; gap: 8px; min-height: 52px; overflow: visible; }
.catnav { display: flex; align-items: center; flex: 1; gap: 6px; min-width: 0; }
.catnav__all {
	display: inline-flex;
	flex: none;
	align-items: center;
	gap: 9px;
	height: 40px;
	padding: 0 14px 0 12px;
	border: 0;
	border-radius: 10px;
	background: #fff;
	color: #0b0b0c;
	font: 650 14.5px/1 var(--font);
	cursor: pointer;
}
.catnav__all:hover, .catnav__all[aria-expanded="true"] { background: #e9e9ec; }
.catnav__chev { transition: transform .2s; }
.catnav__all[aria-expanded="true"] .catnav__chev { transform: rotate(180deg); }
.catnav__list { display: flex; flex: 1; gap: 2px; min-width: 0; margin: 0 0 0 6px; padding: 0; list-style: none; overflow: hidden; }
.catnav__link {
	display: flex;
	align-items: center;
	height: 40px;
	padding: 0 12px;
	border-radius: 10px;
	color: var(--text);
	font-size: 14.5px;
	font-weight: 500;
	white-space: nowrap;
	transition: background-color .15s;
}
.catnav__link:hover, .catnav__link.is-hover { background: var(--surface-2); }
.catnav__promo {
	display: inline-flex;
	flex: none;
	align-items: center;
	gap: 7px;
	height: 40px;
	padding: 0 14px;
	border-radius: 10px;
	color: #ff5a60;
	font-size: 14.5px;
	font-weight: 650;
}
.catnav__promo small { padding: 2px 7px; border-radius: 6px; background: var(--accent); color: #fff; font-size: 11.5px; font-weight: 700; }
.catnav__promo:hover { background: var(--accent-soft); color: #fff; }
@media (max-width: 1279px) { .catnav__list li:nth-child(n+5) { display: none; } }

.mega {
	position: absolute;
	top: 100%;
	left: 0; right: 0;
	z-index: 60;
	border-top: 1px solid var(--line-soft);
	border-bottom: 1px solid var(--line-soft);
	background: #111113;
	box-shadow: 0 40px 80px -20px rgba(0, 0, 0, .8);
}
.mega[hidden] { display: none; }
.mega.is-open { animation: pgm-mega .16s ease-out; }
@keyframes pgm-mega { from { opacity: 0; transform: translateY(-4px); } }
.mega__in { display: grid; grid-template-columns: 290px minmax(0, 1fr); min-height: 420px; max-height: calc(100dvh - 190px); }
.mega__list { margin: 0; padding: 16px 16px 16px 0; overflow-y: auto; list-style: none; border-right: 1px solid var(--line-soft); scrollbar-width: thin; }
.mega__cat {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 9px 12px;
	border-radius: 8px;
	color: var(--text-2);
	font-size: 14.5px;
	line-height: 1.3;
}
.mega__cat small { color: var(--text-3); font-size: 12px; font-variant-numeric: tabular-nums; }
.mega__cat.is-active, .mega__cat:focus-visible { background: var(--surface-2); color: #fff; }
.mega__cat.is-active { box-shadow: inset 3px 0 0 var(--accent); }
.mega__list-sep { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--line-soft); }
.mega__panes { min-width: 0; padding: 22px 0 24px 28px; overflow-y: auto; }
.mega__pane[hidden] { display: none; }
.mega__head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin: 0 0 16px; }
.mega__head h3 { margin: 0; color: #fff; font-size: 20px; font-weight: 700; background: none; -webkit-text-fill-color: currentColor; }
.mega__head a { color: var(--accent-text); font-size: 14px; font-weight: 600; }
.mega__head a:hover { text-decoration: underline; text-underline-offset: 3px; }
.mega__body { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 28px; }
.mega__body--products { grid-template-columns: minmax(0, 1fr); }
.mega__subs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; align-content: start; margin: 0; padding: 0; list-style: none; }
.mega__subs a {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr) auto;
	align-items: center;
	gap: 10px;
	padding: 8px;
	border-radius: 10px;
	color: var(--text);
	font-size: 14px;
	line-height: 1.3;
}
.mega__subs a:hover { background: var(--surface-2); }
.mega__subs small { color: var(--text-3); font-size: 12px; }
.mega__thumb { display: grid; place-items: center; width: 44px; height: 44px; padding: 4px; border-radius: 8px; background: var(--tile); color: #555; overflow: hidden; }
.mega__thumb img { width: 100%; height: 100%; object-fit: contain; }
.mega__best { padding-left: 24px; border-left: 1px solid var(--line-soft); }
.mega__body--products .mega__best { padding-left: 0; border-left: 0; }
.mega__best-title { margin: 0 0 10px; color: var(--text-3); font-size: 12.5px; font-weight: 600; }
.mega__best ul { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
.mega__body--products .mega__best ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 20px; }
.mega__best a { display: grid; grid-template-columns: 56px minmax(0, 1fr); align-items: center; gap: 12px; padding: 6px; border-radius: 10px; }
.mega__best a:hover { background: var(--surface-2); }
.mega__pimg { display: block; width: 56px; height: 56px; padding: 4px; border-radius: 8px; background: var(--tile); }
.mega__pimg img { width: 100%; height: 100%; object-fit: contain; }
.mega__ptxt { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.mega__pname { display: -webkit-box; overflow: hidden; color: var(--text); font-size: 13.5px; line-height: 1.3; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.mega__pprice { color: #fff; font-size: 14px; font-weight: 650; }
.mega__pprice del { color: var(--text-3); font-weight: 400; font-size: 12px; margin-right: 4px; }
.mega__pprice ins { text-decoration: none; color: var(--accent-text); }
.mega__brands { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.mega__brands a { display: flex; flex-direction: column; gap: 2px; padding: 14px 16px; border: 1px solid var(--line-soft); border-radius: 10px; }
.mega__brands a:hover { border-color: var(--accent); background: var(--surface-2); }
.mega__brands span { color: #fff; font-size: 15px; font-weight: 700; letter-spacing: .02em; }
.mega__brands small { color: var(--text-3); font-size: 12.5px; }
.mega-veil { position: fixed; inset: 0; z-index: 40; background: rgba(0, 0, 0, .5); }
@media (max-width: 1279px) {
	.mega__subs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mega__body { grid-template-columns: minmax(0, 1fr) 260px; }
}
@media (max-width: 1023px) { .mega, .mega-veil { display: none !important; } }
.hdr__nav-in { height: auto; }
@media (min-width: 1024px) { .hdr__cats { display: none; } }
.mega__body--products .mega__best ul { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (min-width: 1024px) {
	.hdr__row { grid-template-columns: auto minmax(0, 1fr) auto; gap: 28px; }
	.hdr__row form.search { max-width: 720px; width: 100%; justify-self: center; }
}

/* Departments menu */
.catnav__link { gap: 6px; border: 0; background: none; font-family: var(--font); cursor: pointer; }
.catnav__caret { opacity: .55; transition: transform .2s, opacity .2s; }
.catnav__link.is-hover .catnav__caret { transform: rotate(180deg); opacity: 1; }
.catnav__link.is-hover { background: var(--surface-2); color: #fff; }
.catnav__all { background: var(--accent); color: #fff; }
.catnav__all:hover, .catnav__all[aria-expanded="true"] { background: var(--accent-hover); }

.mega { padding-top: 8px; border: 0; background: none; box-shadow: none; }
.mega-veil { background: rgba(0, 0, 0, .55); -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); }
.mega__card {
	display: grid;
	grid-template-columns: 264px minmax(0, 1fr);
	max-height: calc(100dvh - 200px);
	border: 1px solid rgba(255, 255, 255, .09);
	border-radius: 18px;
	background: #151517;
	box-shadow: 0 30px 70px -20px rgba(0, 0, 0, .85);
	overflow: hidden;
}
.mega__deps { margin: 0; padding: 10px; list-style: none; background: #0f0f11; border-right: 1px solid rgba(255, 255, 255, .06); }
.mega__dep {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	padding: 10px;
	border: 0;
	border-radius: 12px;
	background: none;
	color: var(--text-2);
	font-family: var(--font);
	text-align: left;
	cursor: pointer;
	transition: background-color .15s, color .15s;
}
.mega__dep-ic { display: grid; flex: none; place-items: center; width: 38px; height: 38px; border-radius: 10px; background: rgba(255, 255, 255, .06); color: var(--text-2); transition: background-color .15s, color .15s; }
.mega__dep-txt { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.mega__dep-txt strong { color: var(--text); font-size: 14.5px; font-weight: 600; }
.mega__dep-txt small { color: var(--text-3); font-size: 12px; }
.mega__dep:hover { background: rgba(255, 255, 255, .04); }
.mega__dep.is-active { background: rgba(255, 255, 255, .07); }
.mega__dep.is-active .mega__dep-ic { background: var(--accent); color: #fff; }
.mega__dep.is-active strong { color: #fff; }
.mega__dep:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.mega__panes { padding: 18px 20px 20px; overflow-y: auto; scrollbar-width: thin; }
.mega__tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.mega__tile { display: flex; flex-direction: column; gap: 8px; padding: 10px; border-radius: 14px; background: rgba(255, 255, 255, .035); transition: background-color .15s; }
.mega__tile:hover { background: rgba(255, 255, 255, .07); }
.mega__tile-main { display: grid; grid-template-columns: 56px minmax(0, 1fr); align-items: center; gap: 12px; }
.mega__tile-img { display: grid; place-items: center; width: 56px; height: 56px; padding: 5px; border-radius: 10px; background: var(--tile); color: #666; overflow: hidden; }
.mega__tile-img img { width: 100%; height: 100%; object-fit: contain; }
.mega__tile-txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.mega__tile-txt strong { color: #fff; font-size: 14.5px; font-weight: 600; line-height: 1.25; }
.mega__tile-txt small { color: var(--text-3); font-size: 12.5px; }
.mega__tile-main:hover strong { color: #fff; text-decoration: underline; text-decoration-color: var(--accent); text-underline-offset: 3px; }
.mega__kids { display: flex; flex-wrap: wrap; gap: 4px; padding-left: 68px; }
.mega__kids a { padding: 3px 9px; border-radius: 999px; background: rgba(255, 255, 255, .06); color: var(--text-2); font-size: 12px; font-weight: 500; }
.mega__kids a:hover { background: var(--accent-soft); color: #fff; }
.mega__kids .mega__more { color: var(--text-3); }
.mega__pane .mega__brands { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.mega__pane .mega__brands a { flex-direction: row; align-items: center; justify-content: space-between; padding: 12px 14px; border: 0; border-radius: 12px; background: rgba(255, 255, 255, .035); }
.mega__pane .mega__brands a:hover { background: rgba(255, 255, 255, .08); }
.mega__pane .mega__brands strong { color: #fff; font-size: 14px; font-weight: 700; letter-spacing: .02em; }
.mega__pane .mega__brands small { color: var(--text-3); font-size: 12px; }
@media (max-width: 1279px) {
	.mega__tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mega__pane .mega__brands { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.catnav__list li:nth-child(n+5) { display: list-item; }
	.catnav__link { padding: 0 9px; font-size: 14px; }
}

/* Stage split photo */
@media (min-width: 1024px) {
	.stage__top.has-photo { min-height: 480px; }
	.stage__top.has-photo .stage__photo { left: auto; width: 64%; }
	.stage__top.has-photo .stage__photo img { object-position: 62% 40%; }
	.stage__top.has-photo::before {
		background: linear-gradient(90deg, var(--surface) 0%, var(--surface) 36%, rgba(28, 28, 30, .72) 44%, rgba(28, 28, 30, 0) 58%);
	}
	.stage__copy { align-self: center; }
}
.stage__facts { gap: 6px 22px; }
.stage__facts li { display: inline-flex; align-items: center; gap: 8px; }
.stage__facts li + li::before { display: none; }
.stage__facts li::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: var(--accent); }
.stage__facts li + li::before { display: block; width: 5px; height: 5px; margin: 0; background: var(--accent); }

/* Cutout product images */
:root { --tile-dark: radial-gradient(115% 95% at 50% 38%, #3a3a40 0%, #2a2a2f 48%, #1f1f23 100%); }
:where(.card__media, .woocommerce-product-gallery__image, .woocommerce-product-gallery__wrapper, .mosaic__img, .best__img, .mega__pimg, .mega__tile-img, .sr-item__img, .line__thumb, .desc-part__media a, .desc-gallery a):has(img.is-cutout) { background: var(--tile-dark); }
.woocommerce-product-gallery .flex-viewport:has(.flex-active-slide img.is-cutout),
.woocommerce-product-gallery__wrapper:has(img.is-cutout) { background: var(--tile-dark); }
img.is-cutout { background: transparent; filter: drop-shadow(0 12px 14px rgba(0, 0, 0, .45)); }
.woocommerce-product-gallery .flex-control-thumbs img.is-cutout { background: var(--tile-dark); filter: none; }
.best__img img.is-cutout, .mega__pimg img.is-cutout, .mega__tile-img img.is-cutout { filter: none; }
.woocommerce-product-gallery__image img.is-cutout { filter: drop-shadow(0 26px 30px rgba(0, 0, 0, .5)); }

/* ==========================================================================
   Shop filters
   ========================================================================== */
@media (min-width: 1024px) {
	.shop-layout { grid-template-columns: 288px minmax(0, 1fr); gap: 28px; }
}
.shop-side { padding-bottom: 24px; }

.fside {
	border: 1px solid rgba(255, 255, 255, .13);
	border-radius: var(--r-lg);
	background: linear-gradient(180deg, #1d1d21 0%, #151518 100%);
	box-shadow: 0 1px 0 rgba(255, 255, 255, .06) inset, 0 24px 48px -28px rgba(0, 0, 0, .9);
	overflow: hidden;
}
.fside__head {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 16px 18px 14px;
	border-bottom: 1px solid rgba(255, 255, 255, .09);
}
.fside__title {
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 0 auto 0 0;
	color: var(--text);
	font-size: 17px;
	font-weight: 650;
	letter-spacing: -.01em;
}
.fside__title svg { color: var(--accent-text); }
.fside__badge, .fgroup__n, .toolbar__n {
	display: inline-grid;
	place-items: center;
	min-width: 20px;
	height: 20px;
	padding: 0 6px;
	border-radius: var(--pill);
	background: var(--accent);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
}
.fside__reset {
	color: var(--accent-text);
	font-size: 13.5px;
	font-weight: 600;
}
.fside__reset:hover { text-decoration: underline; }
.fside__close, .fside__foot { display: none; }

.fgroup { border-bottom: 1px solid rgba(255, 255, 255, .08); }
.fgroup:last-of-type { border-bottom: 0; }
.fgroup__sum {
	position: relative;
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 15px 44px 15px 18px;
	color: var(--text);
	font-size: 15px;
	font-weight: 620;
	list-style: none;
	cursor: pointer;
	user-select: none;
	transition: background-color .15s;
}
.fgroup__sum::-webkit-details-marker { display: none; }
.fgroup__sum::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	width: 8px;
	height: 8px;
	margin-top: -6px;
	border-right: 2px solid var(--text-3);
	border-bottom: 2px solid var(--text-3);
	transform: rotate(45deg);
	transition: transform .2s var(--ease), margin .2s;
}
.fgroup[open] > .fgroup__sum::after { margin-top: -2px; transform: rotate(-135deg); }
.fgroup__sum:hover { background: rgba(255, 255, 255, .03); }
.fgroup__sum:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.fgroup__body { padding: 0 12px 14px; }
.fgroup--hot > .fgroup__sum::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--accent);
	box-shadow: 0 0 0 4px var(--accent-soft);
}

/* Categories inside the panel */
.fside .side-list a {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 10px;
	border-radius: 10px;
	color: rgba(245, 245, 247, .86);
	font-size: 14.5px;
}
.fside .side-list a span { flex: 1; min-width: 0; }
.fside .side-list a small { color: var(--text-3); font-size: 12px; font-variant-numeric: tabular-nums; }
.fside .side-list a:hover { background: rgba(255, 255, 255, .06); color: #fff; }
.fside .side-list > li.is-open > a { color: #fff; font-weight: 600; }
.fside .side-list li.is-current > a {
	background: rgba(237, 28, 36, .14);
	box-shadow: inset 3px 0 0 var(--accent);
	color: #fff;
	font-weight: 600;
}
.fside .side-list li.is-current > a small { color: rgba(255, 255, 255, .7); }
.fside .side-list ul { margin: 2px 0 6px 14px; padding-left: 8px; border-left: 1px solid rgba(255, 255, 255, .12); }
.fside .side-list ul a { font-size: 14px; }
.fside .side-brands { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 16px 16px; }

/* Diameter grid */
.dia {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(76px, 1fr));
	gap: 6px;
	margin: 0;
	padding: 0 6px;
	list-style: none;
}
.dia__it {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 6px 4px;
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: 12px;
	background: rgba(255, 255, 255, .04);
	color: #fff;
	text-align: center;
	transition: border-color .15s, background-color .15s, transform .15s;
}
.dia__it strong { font-size: 16px; font-weight: 680; line-height: 1.1; font-variant-numeric: tabular-nums; }
.dia__it span { margin-top: 2px; color: var(--text-3); font-size: 11.5px; }
.dia__it:hover { border-color: rgba(255, 255, 255, .35); background: rgba(255, 255, 255, .08); }
.dia__it:active { transform: scale(.97); }
.dia__it.is-on { border-color: var(--accent); background: var(--accent); }
.dia__it.is-on span { color: rgba(255, 255, 255, .8); }

/* Checkbox list */
.fchecks { margin: 0; padding: 0; list-style: none; max-height: 272px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: var(--surface-3) transparent; }
.fcheck {
	display: flex;
	align-items: center;
	gap: 11px;
	padding: 8px 10px;
	border-radius: 10px;
	color: rgba(245, 245, 247, .88);
	font-size: 14.5px;
}
.fcheck:hover { background: rgba(255, 255, 255, .06); color: #fff; }
.fcheck i {
	display: grid;
	place-items: center;
	flex: none;
	width: 20px;
	height: 20px;
	border: 1.5px solid rgba(255, 255, 255, .32);
	border-radius: 6px;
	color: transparent;
	transition: background-color .15s, border-color .15s;
}
.fcheck span { flex: 1; min-width: 0; }
.fcheck small { color: var(--text-3); font-size: 12px; font-variant-numeric: tabular-nums; }
.fcheck.is-on { color: #fff; font-weight: 600; }
.fcheck.is-on i { border-color: var(--accent); background: var(--accent); color: #fff; }

/* Price */
.fprice { display: flex; align-items: center; gap: 6px; padding: 0 6px; }
.fprice__f {
	position: relative;
	display: flex;
	align-items: center;
	flex: 1;
	min-width: 0;
	height: 44px;
	padding: 0 10px;
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 12px;
	background: rgba(0, 0, 0, .35);
	transition: border-color .15s;
}
.fprice__f:focus-within { border-color: var(--accent); }
.fprice__f span, .fprice__f em { color: var(--text-3); font-size: 12px; font-style: normal; }
.fprice__f input {
	width: 100%;
	min-width: 0;
	padding: 0 6px;
	border: 0;
	background: transparent;
	color: #fff;
	font: inherit;
	font-size: 15px;
	font-variant-numeric: tabular-nums;
	-moz-appearance: textfield;
	appearance: textfield;
}
.fprice__f input::-webkit-inner-spin-button, .fprice__f input::-webkit-outer-spin-button { margin: 0; -webkit-appearance: none; }
.fprice__f input:focus { outline: none; }
.fprice__go {
	display: grid;
	place-items: center;
	flex: none;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 12px;
	background: #fff;
	color: #000;
	cursor: pointer;
}
.fprice__go:hover { background: var(--accent); color: #fff; }

/* Switches */
.fgroup--flat { padding: 8px 12px 12px; }
.fswitch {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 9px 8px 9px 10px;
	border-radius: 10px;
	color: rgba(245, 245, 247, .9);
	font-size: 14.5px;
}
.fswitch:hover { background: rgba(255, 255, 255, .05); }
.fswitch i {
	position: relative;
	flex: none;
	width: 42px;
	height: 26px;
	border-radius: var(--pill);
	background: rgba(120, 120, 128, .4);
	transition: background-color .2s;
}
.fswitch i::after {
	content: "";
	position: absolute;
	top: 3px;
	left: 3px;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 2px 4px rgba(0, 0, 0, .35);
	transition: transform .22s var(--ease);
}
.fswitch.is-on { color: #fff; font-weight: 600; }
.fswitch.is-on i { background: var(--green); }
.fswitch.is-on i::after { transform: translateX(16px); }

/* Active filters above the grid */
.factive { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: -4px 0 18px; }
.factive__chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 34px;
	padding: 6px 10px 6px 14px;
	border-radius: var(--pill);
	background: #fff;
	color: #000;
	font-size: 13.5px;
	font-weight: 600;
}
.factive__chip svg { opacity: .55; }
.factive__chip:hover { background: var(--accent); color: #fff; }
.factive__chip:hover svg { opacity: 1; }
.factive__clear { padding: 6px 4px; color: var(--text-2); font-size: 13.5px; text-decoration: underline; text-underline-offset: 3px; }
.factive__clear:hover { color: #fff; }

.toolbar__filter { gap: 6px; }
.toolbar__n { margin-left: 2px; }
.shop-main.is-loading { opacity: .45; pointer-events: none; transition: opacity .15s; }

/* Mobile: panel becomes a bottom sheet */
@media (max-width: 1023px) {
	.shop-side,
	.shop-layout .shop-side {
		position: fixed;
		top: 0;
		bottom: 0;
		left: 0;
		z-index: 200;
		display: flex;
		flex-direction: column;
		width: min(420px, 100vw);
		max-height: none;
		padding: 0;
		overflow: hidden;
		background: var(--bg-grouped);
		visibility: hidden;
		transform: translateX(-100%);
		transition: transform .45s var(--ease), visibility 0s linear .45s;
		outline: none;
	}
	.shop-side.is-open { transform: none; visibility: visible; transition: transform .45s var(--ease), visibility 0s; }
	.fside {
		display: flex;
		flex-direction: column;
		height: 100%;
		border: 0;
		border-radius: 0;
		background: var(--bg-grouped);
		box-shadow: none;
		overflow-y: auto;
		overscroll-behavior: contain;
	}
	.fside__head { position: sticky; top: 0; z-index: 2; padding: 18px 16px 14px; background: var(--bg-grouped); }
	.fside__title { font-size: 22px; }
	.fside__close {
		display: grid;
		place-items: center;
		width: 36px;
		height: 36px;
		border: 0;
		border-radius: 50%;
		background: var(--fill);
		color: var(--text);
		cursor: pointer;
	}
	.fgroup__sum { min-height: 54px; font-size: 16px; }
	.dia { grid-template-columns: repeat(auto-fill, minmax(84px, 1fr)); }
	.dia__it { min-height: 56px; }
	.fchecks { max-height: none; }
	.fside__foot {
		position: sticky;
		bottom: 0;
		display: block;
		margin-top: auto;
		padding: 12px 16px calc(12px + var(--safe-b));
		border-top: 1px solid rgba(255, 255, 255, .08);
		background: rgba(11, 11, 12, .92);
		-webkit-backdrop-filter: blur(16px);
		backdrop-filter: blur(16px);
	}
	.fside__apply { width: 100%; min-height: 50px; font-size: 16px; }
}
@media (max-width: 767px) {
	.shop-side,
	.shop-layout .shop-side {
		top: auto;
		right: 0;
		width: 100%;
		height: 92dvh;
		border-radius: var(--r-xl) var(--r-xl) 0 0;
		transform: translateY(100%);
	}
	.shop-side.is-open { transform: none; }
	.fside__head { padding-top: 24px; }
	.shop-side::before {
		content: "";
		position: absolute;
		top: 7px;
		left: 50%;
		z-index: 3;
		width: 38px;
		height: 5px;
		margin-left: -19px;
		border-radius: 3px;
		background: var(--surface-3);
	}
}
@media (prefers-reduced-motion: reduce) {
	.shop-side, .fswitch i::after, .dia__it { transition: none; }
}
.fside__all {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 8px 0 0;
	padding: 9px 10px;
	border-radius: 10px;
	color: var(--accent-text);
	font-size: 14px;
	font-weight: 600;
}
.fside__all:hover { background: rgba(255, 255, 255, .05); color: #fff; }
.fside .side-list ul.is-long:not(.is-expanded) > li.is-extra { display: none; }
.fside .side-list ul.is-expanded > li.side-more { display: none; }
.side-more button {
	padding: 7px 10px;
	border: 0;
	background: none;
	color: var(--text-2);
	font: inherit;
	font-size: 13.5px;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}
.side-more button:hover { color: #fff; }
.fside .dia { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; }
.fside .dia__it { min-height: 46px; padding: 5px 2px; border-radius: 10px; }
.fside .dia__it strong { font-size: 15px; }
.fside .dia__it span { font-size: 10.5px; }
@media (max-width: 1023px) {
	.fside .dia { gap: 6px; }
	.fside .dia__it { min-height: 54px; }
}

/* ==========================================================================
   Mobile refinements
   ========================================================================== */
@media (max-width: 1023px) {
	.hdr__cats {
		display: grid;
		place-items: center;
		width: 44px;
		height: 44px;
		min-height: 44px;
		padding: 0;
		gap: 0;
		border-radius: 12px;
		line-height: 0;
	}
	.hdr__cats svg { display: block; margin: 0; }
	.hdr__actions { display: flex; align-items: center; justify-content: flex-end; min-width: 44px; }
	.hdr__act--cart { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; }
}

.desc .desc-h { display: block; position: relative; padding-left: 16px; text-wrap: balance; }
.desc h3.desc-h::before { position: absolute; top: .14em; left: 0; }
.desc h4.desc-h { padding-left: 22px; }
.desc h4.desc-h::before { position: absolute; top: .42em; left: 2px; }
.desc > .desc-h:first-child + .desc-h { padding-left: 0; }
.desc .desc-h a { text-decoration: none; }

.entry :is(.co-card, .cart_totals, .woocommerce-billing-fields, .woocommerce-shipping-fields, .woocommerce-additional-fields) > :is(h2, h3):first-child,
.entry #order_review_heading { margin-top: 0; }

@media (max-width: 599px) {
	.perk { box-shadow: none; }
	.ftr__perks { box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .06); margin-bottom: 36px; }
	.ftr__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 20px; }
	.ftr__col--brand, .ftr__grid > .ftr__col:last-child { grid-column: 1 / -1; }
	.ftr__lead { max-width: none; }
	.f-list li { margin-bottom: 0; }
	.f-list a { display: block; padding: 6px 0; font-size: 14.5px; line-height: 1.35; }
	.f-contact li { margin-bottom: 14px; }
	.ftr__bottom { flex-direction: column; align-items: flex-start; gap: 14px; margin-top: 28px; }
	.ftr__copy { display: flex; flex-direction: column; gap: 4px; margin: 0; }
	.ftr__by { margin: 0; }
}

@media (max-width: 599px) {
	.stage, .advice { margin-left: 0; margin-right: 0; }
	.stage__photo { aspect-ratio: 16 / 10; }
	.stage__photo img { object-position: 62% 35%; }
	.stage__title { font-size: 26px; line-height: 1.12; }
	.stage__text { font-size: 15px; line-height: 1.55; margin-bottom: 18px; }
	.stage__copy { padding: 18px 16px 20px; }
	.stage__best { padding: 14px 16px 16px; }
	.pdp__summary .pdp-trust li:last-child { grid-column: 1 / -1; }
	.pdp__summary .pdp-trust li { align-items: flex-start; }
}

@media (max-width: 1023px) {
	.hdr__row { padding-top: 6px; padding-bottom: 8px; gap: 6px 12px; }
	form.search { margin-top: 2px; }
	form.search .search__input { min-height: 46px; }
}

.stage__facts li { white-space: normal; }
@media (max-width: 599px) {
	.pdp__summary .pdp-trust { grid-template-columns: minmax(0, 1fr); }
	.pdp__summary .pdp-trust li { padding: 11px 14px; align-items: center; }
	.pdp__summary .pdp-trust li + li { border-top: 1px solid var(--line-soft); }
	.pdp__summary .pdp-trust li span { display: none; }
	.pdp__summary .pdp-trust li:first-child span,
	.pdp__summary .pdp-trust li:last-child span { display: block; font-size: 12.5px; }
}

/* Stage: full-bleed photo */
.stage__top.has-photo { isolation: isolate; }
.stage__top.has-photo .stage__photo { position: absolute; inset: 0; left: 0; width: 100%; aspect-ratio: auto; z-index: 0; }
.stage__top.has-photo .stage__photo img { width: 100%; height: 100%; object-fit: cover; }
.stage__top.has-photo::before { display: block; z-index: 1; }
.stage__top.has-photo::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(0deg, var(--surface) 0%, rgba(28, 28, 30, 0) 22%);
}
.stage__top.has-photo .stage__title,
.stage__top.has-photo .stage__text { text-shadow: 0 2px 18px rgba(0, 0, 0, .45); }

@media (min-width: 1024px) {
	.stage__top.has-photo { min-height: 540px; }
	.stage__top.has-photo .stage__photo { left: 0; width: 100%; }
	.stage__top.has-photo .stage__photo img { object-position: 58% 28%; }
	.stage__top.has-photo::before {
		background:
			linear-gradient(90deg, rgba(14, 14, 16, .97) 0%, rgba(14, 14, 16, .94) 36%, rgba(14, 14, 16, .8) 46%, rgba(14, 14, 16, .35) 57%, rgba(14, 14, 16, 0) 68%),
			radial-gradient(120% 90% at 78% 30%, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, .35) 100%);
	}
	.stage__copy { max-width: 600px; padding: 56px; }
}

@media (max-width: 1023px) {
	.stage__top.has-photo { display: block; min-height: 0; }
	.stage__top.has-photo .stage__photo { bottom: auto; height: min(78vw, 560px); }
	.stage__top.has-photo .stage__photo img { object-position: 70% 22%; }
	.stage__top.has-photo .stage__photo::after {
		content: "";
		position: absolute;
		inset: 0;
		background: linear-gradient(180deg, rgba(28, 28, 30, 0) 0%, rgba(28, 28, 30, 0) 42%, rgba(28, 28, 30, .72) 72%, var(--surface) 100%);
	}
	.stage__top.has-photo::before, .stage__top.has-photo::after { display: none; }
	.stage__top.has-photo .stage__copy { padding-top: min(58vw, 420px); }
}
@media (max-width: 599px) {
	.stage__top.has-photo .stage__photo { height: 96vw; }
	.stage__top.has-photo .stage__photo img { object-position: 72% 18%; }
	.stage__top.has-photo .stage__copy { padding-top: 70vw; }
}

@media (min-width: 1024px) {
	.stage__top.has-photo { aspect-ratio: 2688 / 1520; min-height: 520px; max-height: 820px; }
	.stage__top.has-photo .stage__photo img { object-position: 50% 40%; }
}
@media (max-width: 1023px) {
	.stage__top.has-photo .stage__photo { height: 56.6vw; }
	.stage__top.has-photo .stage__photo img { object-position: 60% 30%; }
	.stage__top.has-photo .stage__copy { padding-top: 46vw; }
}
@media (max-width: 599px) {
	.stage__top.has-photo .stage__photo { height: 66vw; }
	.stage__top.has-photo .stage__photo img { object-position: 66% 20%; }
	.stage__top.has-photo .stage__copy { padding-top: 52vw; }
}

.stage__top.has-photo::after {
	background: linear-gradient(0deg, var(--surface) 0%, rgba(28, 28, 30, .9) 12%, rgba(28, 28, 30, .55) 26%, rgba(28, 28, 30, .15) 38%, rgba(28, 28, 30, 0) 48%);
}
@media (max-width: 1023px) {
	.stage__top.has-photo .stage__photo::after {
		background: linear-gradient(180deg, rgba(28, 28, 30, 0) 0%, rgba(28, 28, 30, 0) 36%, rgba(28, 28, 30, .6) 60%, rgba(28, 28, 30, .92) 80%, var(--surface) 100%);
	}
}
@media (min-width: 1024px) {
	.stage__top.has-photo::before {
		background:
			linear-gradient(90deg, rgba(14, 14, 16, .97) 0%, rgba(14, 14, 16, .94) 38%, rgba(14, 14, 16, .86) 50%, rgba(14, 14, 16, .4) 60%, rgba(14, 14, 16, 0) 70%),
			radial-gradient(120% 90% at 78% 30%, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, .35) 100%);
	}
}
@media (min-width: 1024px) {
	.stage__top.has-photo .stage__copy { flex: 0 1 780px; width: 780px; max-width: 100%; }
	.stage__top.has-photo .stage__title { text-wrap: wrap; }
	.stage__top.has-photo .stage__text, .stage__top.has-photo .stage__facts { max-width: 560px; }
}
.stage__top.has-photo .stage__title { text-wrap: wrap; }

:root { --wrap: 1680px; }
.wrap.page--shop { max-width: 1536px; }

/* Media: YouTube */
.catnav__list li:has(.catnav__link--media) { display: list-item; }
.catnav__link--media svg { color: var(--accent-text); }

.vhead { margin: 8px 0 22px; }
.vhead__row { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 18px 32px; }
.vhead__lead { max-width: 64ch; margin: 10px 0 0; color: var(--text-2); font-size: 16px; line-height: 1.55; }
.vhead__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }

.vtabs { display: flex; gap: 8px; margin: 0 0 18px; overflow-x: auto; scrollbar-width: none; }
.vtabs__btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 38px;
	padding: 0 16px;
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: var(--pill);
	background: transparent;
	color: var(--text);
	font: 600 14px/1 var(--font);
	cursor: pointer;
	white-space: nowrap;
}
.vtabs__btn small { color: var(--text-3); font-weight: 500; }
.vtabs__btn.is-active { border-color: #fff; background: #fff; color: #000; }
.vtabs__btn.is-active small { color: rgba(0, 0, 0, .55); }

.vgrid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.vgrid .is-more, .vgrid .is-filtered { display: none; }
.vgrid.is-expanded .is-more:not(.is-filtered) { display: block; }
.vcard__link { display: flex; flex-direction: column; height: 100%; border-radius: var(--r); background: var(--surface); overflow: hidden; transition: transform .2s var(--ease), box-shadow .2s; }
.vcard__link:hover { transform: translateY(-2px); box-shadow: 0 18px 40px -20px rgba(0, 0, 0, .9); }
.vcard__link:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.vcard__media { position: relative; display: block; aspect-ratio: 9 / 14; overflow: hidden; background: #111; }
.vcard--video .vcard__media { aspect-ratio: 16 / 10; }
.vcard__media img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.02); transition: transform .4s var(--ease); }
.vcard__link:hover .vcard__media img { transform: scale(1.06); }
.vcard__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, .55) 100%); }
.vcard__play {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 1;
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	margin: -24px 0 0 -24px;
	border-radius: 50%;
	background: rgba(237, 28, 36, .92);
	color: #fff;
	box-shadow: 0 8px 24px rgba(0, 0, 0, .45);
	transition: transform .2s var(--ease);
}
.vcard__play svg { margin-left: 3px; }
.vcard__link:hover .vcard__play { transform: scale(1.08); }
.vcard__kind { position: absolute; left: 10px; bottom: 10px; z-index: 1; padding: 3px 8px; border-radius: 6px; background: rgba(0, 0, 0, .6); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.vcard__body { display: flex; flex: 1; flex-direction: column; gap: 6px; padding: 12px 14px 14px; }
.vcard__title { display: -webkit-box; overflow: hidden; color: var(--text); font-size: 14.5px; font-weight: 600; line-height: 1.35; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.vcard__meta { margin-top: auto; color: var(--text-3); font-size: 12.5px; }
.vmore { display: flex; justify-content: center; margin: 22px 0 0; }
.vmore[hidden] { display: none; }
.media-seo { max-width: 78ch; margin: 48px 0 24px; color: var(--text-2); }
.media-seo h2 { margin-top: 0; font-size: 22px; }

.vsingle { padding-bottom: 32px; }
.vsingle__grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 32px; align-items: start; margin: 8px 0 12px; }
.vsingle__grid.is-short { grid-template-columns: minmax(0, 420px) minmax(0, 1fr); }
.vplayer { position: relative; aspect-ratio: 16 / 9; border-radius: var(--r-lg); background: #000; overflow: hidden; }
.vplayer--short { aspect-ratio: 9 / 16; max-height: 78vh; }
.vplayer__btn, .vplayer iframe { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: none; cursor: pointer; }
.vplayer__btn img { width: 100%; height: 100%; object-fit: cover; }
.vplayer__play { position: absolute; top: 50%; left: 50%; display: grid; place-items: center; width: 76px; height: 76px; margin: -38px 0 0 -38px; border-radius: 50%; background: var(--accent); color: #fff; box-shadow: 0 12px 34px rgba(0, 0, 0, .5); transition: transform .2s var(--ease); }
.vplayer__play svg { margin-left: 4px; }
.vplayer__btn:hover .vplayer__play { transform: scale(1.07); }
.vsingle__meta { margin: 0 0 8px; color: var(--text-3); font-size: 13.5px; }
.vsingle__title { margin: 0 0 16px; font-size: clamp(24px, 2.6vw, 34px); line-height: 1.15; letter-spacing: -.02em; text-wrap: balance; }
.vsingle__desc { color: var(--text-2); font-size: 16px; line-height: 1.65; }
.vtags { display: flex; flex-wrap: wrap; gap: 6px; margin: 18px 0 0; padding: 0; list-style: none; }
.vsingle__cta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.vgrid--row { grid-template-columns: repeat(6, minmax(0, 1fr)); }

.social-band {
	display: grid;
	grid-template-columns: minmax(0, 340px) minmax(0, 1fr);
	gap: 32px;
	align-items: center;
	padding: 32px;
	border: 1px solid rgba(255, 255, 255, .08);
	border-radius: var(--r-lg);
	background: radial-gradient(120% 140% at 0% 0%, rgba(237, 28, 36, .18) 0%, rgba(237, 28, 36, 0) 55%), var(--surface);
}
.social-band__kicker { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 12px; color: var(--accent-text); font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.social-band__title { margin: 0 0 10px; font-size: clamp(24px, 2.4vw, 32px); line-height: 1.12; letter-spacing: -.02em; text-wrap: balance; }
.social-band__text { margin: 0 0 20px; color: var(--text-2); line-height: 1.55; }
.social-band__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.vgrid--band { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.vgrid--band .vcard__body { padding: 10px 12px 12px; }
.vgrid--band .vcard__title { font-size: 13.5px; -webkit-line-clamp: 2; }
.vgrid--band .vcard__meta { display: none; }

@media (max-width: 1199px) {
	.social-band { grid-template-columns: minmax(0, 1fr); }
	.vgrid--row { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 1023px) {
	.vsingle__grid, .vsingle__grid.is-short { grid-template-columns: minmax(0, 1fr); gap: 20px; }
	.vplayer--short { width: min(100%, 420px); margin: 0 auto; }
	.vgrid--band, .vgrid--row {
		display: flex;
		gap: 10px;
		margin: 0 calc(var(--gut) * -1);
		padding: 0 var(--gut) 4px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}
	.vgrid--band > li, .vgrid--row > li { flex: 0 0 42%; scroll-snap-align: start; }
	.vgrid--row > li.vcard--video { flex-basis: 70%; }
}
@media (max-width: 599px) {
	.social-band { padding: 22px 16px; gap: 20px; }
	.vgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.vgrid--band > li, .vgrid--row > li { flex-basis: 46%; }
	.vcard__body { padding: 10px 12px 12px; }
	.vcard__title { font-size: 13.5px; }
	.vhead__lead { font-size: 15px; }
	.vplayer__play { width: 64px; height: 64px; margin: -32px 0 0 -32px; }
}
.vcard__media, .vcard--video .vcard__media { aspect-ratio: 9 / 16; }
.vcard__media img { position: absolute; inset: 0; }
.vcard__blur { filter: blur(18px) brightness(.55); transform: scale(1.3) !important; }
.vcard__media img.vcard__fit { top: 50%; bottom: auto; height: auto; aspect-ratio: 16 / 9; object-fit: cover; transform: translateY(-50%) !important; }
.vcard__link:hover .vcard__media img.vcard__fit { transform: translateY(-50%) scale(1.03) !important; }
.vcard--short .vcard__media img { transform: scale(1.04); }

/* Stage: compact + red fade */
.stage__top.has-photo::after {
	background:
		linear-gradient(0deg, rgba(237, 28, 36, .38) 0%, rgba(237, 28, 36, .14) 9%, rgba(237, 28, 36, 0) 22%),
		linear-gradient(0deg, rgba(20, 20, 22, .85) 0%, rgba(20, 20, 22, 0) 16%);
}
@media (min-width: 1024px) {
	.stage__top.has-photo { aspect-ratio: auto; min-height: 0; height: clamp(440px, 34vw, 580px); max-height: none; }
	.stage__top.has-photo .stage__photo img { object-position: 50% 26%; }
	.stage__copy { padding-top: 40px; padding-bottom: 40px; }
	.stage__facts { margin-top: 22px; }
	.stage__text { margin-bottom: 22px; }
}
@media (max-width: 1023px) {
	.stage__top.has-photo .stage__photo::after {
		background:
			linear-gradient(180deg, rgba(28, 28, 30, 0) 0%, rgba(28, 28, 30, 0) 52%, rgba(28, 28, 30, .8) 84%, var(--surface) 100%),
			linear-gradient(0deg, rgba(237, 28, 36, .3) 0%, rgba(237, 28, 36, 0) 30%);
	}
}

@media (max-width: 1599px) {
	.catnav__list li:has(.catnav__link--media) { display: none; }
}

/* Stage: wider crop, subject right, wall logo visible */
@media (min-width: 1024px) {
	.stage__top.has-photo { height: clamp(520px, 40vw, 660px); }
	.stage__top.has-photo .stage__photo { left: auto; right: 0; width: 92%; }
	.stage__top.has-photo .stage__photo img { object-position: 50% 32%; }
	.stage__top.has-photo::before {
		background:
			linear-gradient(90deg, rgba(20, 20, 22, 1) 0%, rgba(20, 20, 22, .95) 20%, rgba(20, 20, 22, .72) 33%, rgba(20, 20, 22, .28) 45%, rgba(20, 20, 22, 0) 56%),
			radial-gradient(110% 90% at 80% 35%, rgba(0, 0, 0, 0) 45%, rgba(0, 0, 0, .3) 100%);
	}
	.stage__top.has-photo::after {
		background:
			linear-gradient(0deg, rgba(237, 28, 36, .34) 0%, rgba(237, 28, 36, .12) 10%, rgba(237, 28, 36, 0) 24%),
			linear-gradient(0deg, rgba(20, 20, 22, .9) 0%, rgba(20, 20, 22, .4) 12%, rgba(20, 20, 22, 0) 26%);
	}
	.stage__top.has-photo .stage__copy { flex: 0 1 600px; width: 600px; }
}

/* Footer: quiet marks */
.perk { box-shadow: inset 0 0 0 1px var(--line-soft); }
.perk svg { color: var(--text-3); }
.ftr__marks {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px 40px;
	margin-top: 40px;
	padding-top: 20px;
	border-top: 1px solid var(--line-soft);
}
.marks { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; }
.marks__label {
	color: var(--text-3);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.marks__list { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px; margin: 0; padding: 0; list-style: none; }
.marks__list li { display: flex; align-items: center; }
.mark { display: block; width: auto; height: 16px; opacity: .5; transition: opacity .2s; }
.mark:hover { opacity: .9; }
.mark--visa { height: 12px; }
.mark--leaselink { height: 13px; }
.mark--mastercard { height: 20px; }
.mark--inpost { height: 22px; }
.mark--applepay,
.mark--googlepay { height: 17px; }
.marks__txt { color: var(--text-3); font-size: 12px; }
.ftr__marks + .ftr__bottom { margin-top: 20px; }
@media (max-width: 767px) {
	.ftr__marks { flex-direction: column; align-items: flex-start; gap: 16px; }
	.marks { gap: 8px 16px; }
	.marks__label { flex: 0 0 100%; }
	.marks__list { gap: 10px 18px; }
}
