/* Kavero — design tokens + base styles. Ported from designs/styles.css. */

:root {
	--ink:        #0A1024;
	--ink-2:      #131A36;
	--navy:       #0E2148;
	--navy-2:     #182E5F;
	--blue:       #0168A1;
	--blue-2:     #1B83BD;
	--blue-soft:  #E0EEF6;
	--gold:       #C9A14B;
	--gold-2:     #E0BC6F;
	--gold-soft:  #F5EAD0;
	--oem-red:    #C8222B;

	--paper:      #F6F3EC;
	--paper-2:    #EFEBE0;
	--bone:       #EAE5D8;
	--white:      #FFFFFF;
	--slate-50:   #F7F8FA;
	--slate-100:  #EDEFF3;
	--slate-200:  #DCE0E8;
	--slate-300:  #C2C8D2;
	--slate-400:  #98A0AC;
	--slate-500:  #6B7280;
	--slate-600:  #4A5160;
	--slate-700:  #2E3340;
	--slate-800:  #1A1E29;

	--font-display: 'Bricolage Grotesque', ui-serif, Georgia, serif;
	--font-body:    'Geist', ui-sans-serif, system-ui, sans-serif;
	--font-mono:    'Geist Mono', ui-monospace, 'SF Mono', monospace;
	--font-ar:      'IBM Plex Sans Arabic', 'Geist', sans-serif;

	--r-xs: 4px;  --r-sm: 6px;  --r-md: 10px;  --r-lg: 14px;  --r-xl: 20px;  --r-2xl: 28px;
	--r-pill: 999px;

	--sh-1: 0 1px 2px rgba(10,16,36,.06), 0 1px 1px rgba(10,16,36,.04);
	--sh-2: 0 8px 24px -8px rgba(10,16,36,.16), 0 2px 6px rgba(10,16,36,.06);
	--sh-3: 0 24px 56px -16px rgba(10,16,36,.28), 0 4px 12px rgba(10,16,36,.08);
	--sh-gold: 0 8px 28px -10px rgba(201,161,75,.55);

	--hairline:   rgba(10,16,36,.08);
	--hairline-2: rgba(10,16,36,.14);
	--content-max: 1320px;

	--pad-y: 14px;
	--pad-x: 14px;
	--thumb-h: 220px;
}

* { box-sizing: border-box; }

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

html { background: #CCCCCC; }
body.kv,
body.kv-theme {
	margin: 0;
	font-family: var(--font-body);
	color: var(--ink);
	background: #CCCCCC;
	font-feature-settings: 'ss01','cv11';
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

body.kv-rtl,
body[dir="rtl"] { font-family: var(--font-ar); }

img, svg { max-width: 100%; height: auto; }
button { font: inherit; cursor: pointer; }
a { color: var(--blue); text-decoration: none; }
a:hover { color: var(--blue-2); }

/* Plugins (Woo, Rank Math, WPML, FibSearch) inject global underline rules.
   Win specificity inside any kavero region. */
.kv-page a,
.kv-page a:hover,
.kv-page a:focus,
.kv-page a:visited { text-decoration: none; }
.kv-page ul, .kv-page ol { list-style: none; margin: 0; padding: 0; }
.kv-page li { list-style: none; }
.kv-mainnav ul,
.kv-mainnav li { display: inline-flex; gap: 28px; }
.kv-mainnav li { gap: 0; }

h1, h2, h3, h4 {
	font-family: var(--font-display);
	font-weight: 600;
	letter-spacing: -0.02em;
	margin: 0;
	color: var(--ink);
}
h1 { font-size: 72px; line-height: .96; letter-spacing: -0.035em; }
h2 { font-size: 52px; line-height: 1.02; letter-spacing: -0.03em; }
h3 { font-size: 32px; line-height: 1.08; }
h4 { font-size: 22px; line-height: 1.2; }

.mono { font-family: var(--font-mono); font-feature-settings: 'ss01'; }

/* Container */
.kv-container {
	max-width: var(--content-max);
	margin: 0 auto;
	padding: 0 32px;
}

/* ── Utility bar (top) ── */
.kv-utility {
	display: flex; align-items: center; justify-content: space-between;
	padding: 10px 32px;
	font-size: 12.5px;
	background: var(--white);
	color: var(--slate-700);
	border-bottom: 1px solid var(--hairline);
}
.kv-utility a { color: inherit; }
.kv-utility a:hover { color: var(--blue); }
.kv-utility .ut-l, .kv-utility .ut-c, .kv-utility .ut-r { display: flex; align-items: center; gap: 16px; }
.kv-utility .dot { width: 3px; height: 3px; border-radius: 50%; background: rgba(0,0,0,.18); display: inline-block; margin: 0 10px; vertical-align: middle; }
.kv-utility .pill {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 3px 9px; border-radius: 999px;
	background: rgba(0,0,0,.05);
	color: inherit;
}
.kv-utility .pill:hover { background: rgba(0,0,0,.09); color: var(--ink); }

/* ── Main nav ── */
.kv-nav {
	display: flex; align-items: center; justify-content: space-between;
	padding: 2px 32px;
	background: #CCCCCC;
	border-bottom: 1px solid var(--hairline);
	gap: 32px;
}
.kv-mainnav { display: flex; align-items: center; font-size: 14.5px; font-weight: 500; }
.kv-mainnav .kv-mainnav__list,
.kv-mainnav > ul {
	display: flex; align-items: center; gap: 8px;
	list-style: none; margin: 0;
	background: var(--blue);
	padding: 6px 14px;
	border-radius: 999px;
}
.kv-mainnav li { list-style: none; position: relative; }
.kv-mainnav a { color: rgba(255,255,255,.95); padding: 8px 14px; border-radius: 999px; position: relative; display: inline-flex; align-items: center; text-decoration: none; transition: background-color .15s ease, color .15s ease; }
.kv-mainnav a:hover { color: #fff; background: rgba(255,255,255,.12); }
.kv-mainnav .current-menu-item > a,
.kv-mainnav .current-menu-ancestor > a,
.kv-mainnav .current-product_cat-ancestor > a,
.kv-mainnav a.is-active { color: #fff; background: rgba(255,255,255,.18); }
/* Sub-menu links sit on white background — restore dark text inside dropdowns */
.kv-mainnav .sub-menu a { color: var(--ink); background: transparent; padding: 10px 14px; border-radius: 0; }
.kv-mainnav .sub-menu a:hover { color: var(--blue); background: var(--paper); }
.kv-mainnav .menu-item-has-children > a::after,
.kv-mainnav a.has-caret::after {
	content: '';
	display: inline-block;
	width: 8px; height: 8px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg) translateY(-2px);
	margin-left: 6px;
	opacity: .6;
}
/* Dropdown for primary nav submenus. */
.kv-mainnav .sub-menu {
	position: absolute; top: 100%; left: 0;
	min-width: 240px;
	background: #fff;
	border: 1px solid var(--hairline);
	border-radius: 12px;
	box-shadow: var(--sh-2);
	padding: 10px 8px;
	display: flex; flex-direction: column; gap: 2px;
	opacity: 0; visibility: hidden;
	transform: translateY(6px);
	transition: opacity .15s, transform .15s, visibility .15s;
	z-index: 50;
	list-style: none; margin: 0;
}
/* Nested submenus (level 2+) — fly out to the right instead of stacking. */
.kv-mainnav .sub-menu .sub-menu {
	top: -10px; left: 100%;
	margin-left: 6px;
	transform: translateX(6px);
}
.kv-mainnav li:hover > .sub-menu,
.kv-mainnav li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.kv-mainnav .sub-menu li:hover > .sub-menu { transform: translateX(0); }
.kv-mainnav .sub-menu li {
	position: relative;
	width: 100%;
}
.kv-mainnav .sub-menu li a {
	padding: 8px 12px; border-radius: 8px;
	font-size: 13.5px; font-weight: 500;
	width: 100%;
	display: flex; align-items: center; justify-content: space-between;
}
.kv-mainnav .sub-menu li a:hover { background: var(--paper); }
/* Right-caret indicator for nested items (instead of the down-caret). */
.kv-mainnav .sub-menu .menu-item-has-children > a::after {
	content: '';
	width: 7px; height: 7px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(-45deg);
	margin-left: 8px;
	opacity: .5;
	border-top: 0; border-left: 0;
	flex-shrink: 0;
}
.kv-nav .pill-cta {
	background: var(--oem-red); color: var(--white);
	padding: 12px 20px; border-radius: 999px;
	display: inline-flex; align-items: center; gap: 8px;
	font-weight: 600; font-size: 13.5px;
	letter-spacing: .01em;
	box-shadow: 0 2px 6px rgba(200, 34, 43, 0.25);
	transition: background-color .15s ease, box-shadow .15s ease, transform .1s ease;
}
.kv-nav .pill-cta:hover {
	background: #A41E26; color: #fff;
	box-shadow: 0 3px 10px rgba(200, 34, 43, 0.35);
}
.kv-nav .pill-cta:active { transform: translateY(1px); }

.kv-nav-actions { display: flex; align-items: center; gap: 14px; }
/* Mobile menu toggle (hamburger) — hidden on desktop, shown ≤900px */
.kv-nav-toggle { display: none; flex-direction: column; align-items: center; justify-content: center; gap: 5px; width: 42px; height: 42px; padding: 0; background: transparent; border: 0; cursor: pointer; }
.kv-nav-toggle span { display: block; width: 22px; height: 2px; background: var(--ink); border-radius: 2px; transition: transform .2s ease, opacity .2s ease; }
body.kv-nav-open .kv-nav-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
body.kv-nav-open .kv-nav-toggle span:nth-child(2) { opacity: 0; }
body.kv-nav-open .kv-nav-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.kv-nav-iconbtn {
	background: transparent; border: 0; padding: 8px;
	display: inline-flex; align-items: center; justify-content: center;
	color: var(--ink); position: relative;
}
.kv-nav-iconbtn:hover { color: var(--blue); }
.kv-cart-badge {
	position: absolute; top: 2px; right: 0;
	min-width: 18px; height: 18px; border-radius: 9px;
	background: var(--blue); color: #fff;
	font-size: 10px; font-weight: 700;
	display: flex; align-items: center; justify-content: center;
	padding: 0 5px;
}

/* ── Mega search ── */
.kv-megasearch {
	display: flex; align-items: stretch;
	padding: 14px 32px 18px;
	background: #CCCCCC;
}
.kv-megasearch .search {
	flex: 1;
	display: flex; align-items: center; gap: 12px;
	background: var(--white);
	border: 2px solid var(--blue);
	border-radius: 16px;
	padding: 13px 17px;
}
.kv-megasearch input {
	flex: 1; border: 0; outline: 0; background: transparent;
	font: 15px/1 var(--font-body); color: var(--ink);
}
.kv-megasearch input::placeholder { color: var(--slate-500); }
.kv-megasearch .kbd {
	font-family: var(--font-mono); font-size: 11px;
	color: var(--slate-500);
	border: 1px solid var(--hairline-2);
	padding: 3px 6px; border-radius: 6px;
}
.kv-megasearch .searchbtn {
	background: var(--blue); color: var(--white); border: 0;
	border-radius: 12px; padding: 10px 18px;
	font: 500 14px var(--font-body);
}
.kv-megasearch .searchbtn:hover { background: var(--blue-2); }

/* ── FiboSearch wrapped in kavero mega-search shell ── */
.kv-megasearch .kv-fibo-wrap {
	width: 100%;
	background: #fff;
	border: 2px solid var(--blue);
	border-radius: 16px;
	padding: 13px 17px;
	display: flex; align-items: center; gap: 12px;
}
.kv-megasearch .kv-fibo-icon { display: inline-flex; color: var(--slate-500); flex-shrink: 0; }
.kv-megasearch .kv-fibo-kbd {
	font-size: 11px; color: var(--slate-500);
	border: 1px solid var(--hairline-2);
	padding: 3px 6px; border-radius: 6px;
	flex-shrink: 0;
}
.kv-megasearch .kv-fibo-submit {
	background: var(--blue); color: #fff; border: 0;
	border-radius: 12px;
	padding: 10px 22px;
	font: 600 14px var(--font-body);
	cursor: pointer;
	flex-shrink: 0;
}
.kv-megasearch .kv-fibo-submit:hover { background: var(--blue-2); }

/* FiboSearch's own form sits inline (no wrap), strip its chrome. */
.kv-megasearch .dgwt-wcas-search-wrapp,
.kv-megasearch form.dgwt-wcas-search-form {
	flex: 1; width: auto; max-width: none;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
}
.kv-megasearch .dgwt-wcas-search-input {
	width: 100%;
	border: 0 !important; outline: 0 !important;
	background: transparent !important;
	font: 400 15px var(--font-body) !important;
	color: var(--ink) !important;
	padding: 0 !important;
	height: auto !important;
	box-shadow: none !important;
}
.kv-megasearch .dgwt-wcas-search-input::placeholder { color: var(--slate-500); }
/* Kill FiboSearch's own submit button + magnifier handler (we render our own). */
.kv-megasearch .dgwt-wcas-search-submit,
.kv-megasearch .dgwt-wcas-search-form .dgwt-wcas-sf-wrapp button[type="submit"],
.kv-megasearch .dgwt-wcas-ico-magnifier-handler,
.kv-megasearch .dgwt-wcas-search-icon { display: none !important; }
.kv-megasearch .dgwt-wcas-voice-search { color: var(--slate-500) !important; }
/* Preloader/clear positioning when input is occupied. */
.kv-megasearch .dgwt-wcas-preloader { right: 4px !important; }
.kv-megasearch .dgwt-wcas-close { right: 4px !important; }

/* Neutralize FiboSearch's overlay/modal state styles that shift the page
   when the suggestions panel opens (margin-top, body padding, scrollbar lock). */
.dgwt-wcas-overlay-mobile,
.dgwt-wcas-overlay { display: none !important; opacity: 0 !important; }
html.js-dgwt-wcas-search-darkoverl-mounted,
html.dgwt-wcas-open-pirx,
html.dgwt-wcas-open-pirx-compact,
body.js-dgwt-wcas-search-darkoverl-mounted,
body.js-dgwt-wcas-mobile-overlay-enabled,
body.dgwt-wcas-open {
	overflow: visible !important;
	padding: 0 !important;
	background: #CCCCCC !important;
}
html.dgwt-wcas-open-pirx body,
html.dgwt-wcas-open-pirx-compact body,
html.js-dgwt-wcas-search-darkoverl-mounted body {
	padding: 0 !important;
}

/* Suggestions dropdown panel */
.dgwt-wcas-suggestions-wrapp {
	border: 1px solid var(--hairline) !important;
	border-radius: 14px !important;
	box-shadow: var(--sh-2) !important;
	background: #fff !important;
	margin-top: 8px !important;
	font-family: var(--font-body) !important;
	overflow: hidden;
}
.dgwt-wcas-suggestion {
	padding: 12px 18px !important;
	border-top: 1px solid var(--hairline) !important;
	font-size: 13.5px !important;
	color: var(--ink) !important;
	background: #fff !important;
	transition: background .12s;
}
.dgwt-wcas-suggestion:first-child { border-top: 0 !important; }
.dgwt-wcas-suggestion:hover,
.dgwt-wcas-suggestion.selected {
	background: var(--paper) !important;
}
.dgwt-wcas-suggestion .dgwt-wcas-st-title {
	font-weight: 600 !important;
	font-size: 14px !important;
	color: var(--ink) !important;
	line-height: 1.3 !important;
}
.dgwt-wcas-suggestion .dgwt-wcas-st-sku,
.dgwt-wcas-suggestion .dgwt-wcas-st--more-info {
	font-family: var(--font-mono) !important;
	font-size: 11.5px !important;
	color: var(--blue) !important;
	font-weight: 500 !important;
}
.dgwt-wcas-suggestion .dgwt-wcas-st-price,
.dgwt-wcas-suggestion .dgwt-wcas-sp {
	color: var(--ink) !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	white-space: nowrap !important;
}
.dgwt-wcas-suggestion .dgwt-wcas-st-price .woocommerce-Price-amount,
.dgwt-wcas-suggestion .dgwt-wcas-sp .woocommerce-Price-amount { white-space: nowrap !important; }
.dgwt-wcas-suggestion .dgwt-wcas-st-price del {
	color: var(--slate-400) !important;
	font-weight: 400 !important;
}
.dgwt-wcas-suggestion .dgwt-wcas-image,
.dgwt-wcas-suggestion .dgwt-wcas-st-image {
	border-radius: 6px !important;
	border: 1px solid var(--hairline) !important;
	background: #fff !important;
}
.dgwt-wcas-suggestion mark,
.dgwt-wcas-suggestion .dgwt-wcas-highlight {
	background: transparent !important;
	color: var(--ink) !important;
	font-weight: 700 !important;
	padding: 0 !important;
}

/* Details preview panel (right-side product preview) */
.dgwt-wcas-details-inner,
.dgwt-wcas-details-wrapp {
	background: #fff !important;
	border: 1px solid var(--hairline) !important;
	border-radius: 14px !important;
	box-shadow: var(--sh-2) !important;
	padding: 24px !important;
	font-family: var(--font-body) !important;
}
.dgwt-wcas-details-inner .dgwt-wcas-pd-title {
	font-family: var(--font-display) !important;
	font-weight: 600 !important;
	font-size: 22px !important;
	color: var(--ink) !important;
	line-height: 1.2 !important;
}
.dgwt-wcas-details-inner .dgwt-wcas-pd-price {
	font-weight: 700 !important;
	color: var(--ink) !important;
	margin-top: 8px !important;
	white-space: nowrap !important;
}
.dgwt-wcas-details-inner .dgwt-wcas-pd-price .woocommerce-Price-amount { white-space: nowrap !important; }
.dgwt-wcas-details-inner .dgwt-wcas-pd-desc {
	font-size: 13.5px !important;
	line-height: 1.55 !important;
	color: var(--slate-700) !important;
	margin-top: 12px !important;
}
/* Add-to-cart area inside the details preview. NOTE: .dgwt-wcas-pd-addtc is the
   WRAPPER (it holds a qty input + the add-to-cart anchor), not the button — so
   it must stay transparent; the dark pill is the button itself. */
.dgwt-wcas-details-inner .dgwt-wcas-pd-addtc {
	background: transparent !important;
	padding: 0 !important;
	margin-top: 18px !important;
	border-radius: 0 !important;
}
.dgwt-wcas-details-inner .dgwt-wcas-pd-addtc-form {
	display: flex !important;
	align-items: stretch !important;
	gap: 10px !important;
	margin: 0 !important;
}
.dgwt-wcas-details-inner .dgwt-wcas-pd-addtc-form .quantity {
	margin: 0 !important;
	flex: 0 0 auto !important;
}
.dgwt-wcas-details-inner .dgwt-wcas-pd-addtc-form input.qty {
	width: 60px !important;
	min-height: 46px !important;
	height: 100% !important;
	text-align: center !important;
	border: 1px solid var(--hairline) !important;
	border-radius: 10px !important;
	background: #fff !important;
	color: var(--ink) !important;
	font-weight: 600 !important;
	font-family: var(--font-body) !important;
	padding: 0 6px !important;
	box-shadow: none !important;
}
.dgwt-wcas-details-inner .dgwt-wcas-pd-addtc-form .add_to_cart_inline {
	flex: 1 1 auto !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}
.dgwt-wcas-details-inner .dgwt-wcas-pd-addtc-form .add_to_cart_button {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	min-height: 46px !important;
	background: var(--ink) !important;
	color: #fff !important;
	border-radius: 10px !important;
	padding: 11px 20px !important;
	font-weight: 600 !important;
	border: 0 !important;
	font-family: var(--font-body) !important;
	box-shadow: none !important;
}
.dgwt-wcas-details-inner .dgwt-wcas-pd-addtc-form .add_to_cart_button:hover { background: var(--blue) !important; }

/* "No results" + headings inside suggestions. Scope to the panel so we don't
   accidentally style <body> when FiboSearch adds the same .dgwt-wcas-nores
   class there in the no-results state. */
.dgwt-wcas-suggestions-wrapp .dgwt-wcas-nores,
.dgwt-wcas-suggestions-wrapp .dgwt-wcas-suggestion-nores {
	padding: 24px !important;
	color: var(--slate-500) !important;
	background: #fff !important;
	font-style: italic !important;
}
.dgwt-wcas-suggestions-headline {
	padding: 10px 18px !important;
	font-family: var(--font-mono) !important;
	font-size: 10.5px !important;
	letter-spacing: .12em !important;
	color: var(--slate-500) !important;
	text-transform: uppercase !important;
	background: var(--paper) !important;
	border-top: 1px solid var(--hairline) !important;
}

/* ── Reusable bits ── */
.kv-eyebrow {
	display: inline-flex; align-items: center; gap: 8px;
	font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase;
	color: var(--slate-500); font-weight: 600;
}
.kv-eyebrow::before {
	content: ''; width: 18px; height: 1px;
	background: var(--slate-400);
	display: inline-block;
}

.kv-btn {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 13px 22px; border-radius: 999px;
	font: 500 14px/1 var(--font-body);
	border: 0; cursor: pointer;
	transition: transform .15s, box-shadow .15s, background .15s, color .15s;
	text-decoration: none;
}
.kv-btn:hover { transform: translateY(-1px); }
.kv-btn-primary { background: var(--ink); color: var(--white); }
.kv-btn-primary:hover { background: var(--blue); color: #fff; }
.kv-btn-gold { background: linear-gradient(180deg, var(--gold-2), var(--gold)); color: #2a1d05; box-shadow: var(--sh-gold); }
.kv-btn-gold:hover { color: #2a1d05; }
.kv-btn-outline { background: transparent; color: var(--ink); border: 1px solid var(--hairline-2); }
.kv-btn-outline:hover { color: var(--ink); border-color: var(--ink); }
.kv-btn-blue { background: var(--blue); color: #fff; }
.kv-btn-blue:hover { background: var(--blue-2); color: #fff; }
.kv-btn-ghost-dark { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.25); }
.kv-btn-ghost-dark:hover { color: #fff; border-color: #fff; }

.kv-pill {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 5px 11px;
	font-size: 11px; font-weight: 600;
	border-radius: 999px;
	letter-spacing: .02em;
}
.kv-pill-oem { background: var(--oem-red); color: #fff; }
.kv-pill-stock { background: #DCFCE7; color: #14532D; }
.kv-pill-lead { background: #FEF3C7; color: #78350F; }
.kv-pill-soft { background: var(--blue-soft); color: var(--blue); }
.kv-pill-paper { background: var(--paper-2); color: var(--slate-600); }

/* ── OEM seal ── */
.oem-seal {
	width: 64px; height: 64px; border-radius: 50%;
	background: radial-gradient(circle at 30% 30%, #E94E55, #9c1820);
	color: #fff;
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	font-family: var(--font-body); font-weight: 800; letter-spacing: .05em;
	box-shadow: 0 4px 14px rgba(200,34,43,.4);
	font-size: 9px; line-height: 1; padding: 4px;
	text-align: center; position: relative;
}
.oem-seal::before, .oem-seal::after {
	content: ''; position: absolute; inset: -4px; border-radius: 50%;
	border: 1.5px dashed rgba(255,255,255,.45);
}
.oem-seal::after { inset: -8px; border: 1.5px dotted rgba(200,34,43,.25); }
.oem-seal b { font-size: 15px; letter-spacing: .05em; margin-top: 1px; }

/* ── Product card ── */
.kv-card {
	background: var(--white);
	border-radius: var(--r-lg);
	border: 1px solid var(--hairline);
	overflow: hidden;
	display: flex; flex-direction: column;
}
.kv-thumb {
	background: var(--white);
	border-radius: var(--r-md);
	height: var(--thumb-h);
	display: flex; align-items: center; justify-content: center;
	position: relative; overflow: hidden;
	border: 1px solid var(--hairline);
}
.kv-thumb svg { max-width: 70%; max-height: 70%; }
.kv-part-illu { background: var(--white); }

.kv-product-card .kv-product-card__body {
	padding: var(--pad-y) var(--pad-x);
	display: flex; flex-direction: column; gap: 6px; flex: 1;
}
.kv-tag-row { display: flex; gap: 6px; flex-wrap: wrap; }
.kv-product-card .name  { font-size: 15px; font-weight: 600; color: var(--ink); line-height: 1.25; text-align: center; }
.kv-product-card .sku   { font-family: var(--font-mono); font-size: 11.5px; color: var(--blue); font-weight: 500; text-align: center; }
.kv-product-card .brand { font-size: 12px; color: var(--slate-600); text-align: center; }
.kv-product-card .fits  { font-size: 11.5px; color: var(--slate-500); text-align: center; }
.kv-product-card .fits b { color: var(--ink); font-weight: 600; }
.kv-product-card .price-row {
	display: flex; align-items: baseline; justify-content: center; gap: 6px;
	margin-top: 8px; padding-top: 10px;
	border-top: 1px solid var(--hairline);
}
.kv-product-card .price-num { font-family: var(--font-display); font-size: 24px; font-weight: 600; color: var(--ink); font-variant-numeric: tabular-nums; }
.kv-product-card .price-cur { font-size: 12px; color: var(--slate-500); }
.kv-product-card .actions { display: flex; gap: 6px; margin-top: 6px; }

.kv-qty {
	display: flex; align-items: center;
	border: 1px solid var(--hairline-2);
	border-radius: 999px; padding: 2px 4px;
}
.kv-qty button { width: 24px; height: 24px; border-radius: 999px; border: 0; background: transparent; display: flex; align-items: center; justify-content: center; }
.kv-qty .num { min-width: 20px; text-align: center; font-size: 13px; font-weight: 600; }
.kv-qty button.plus { background: var(--ink); color: #fff; }

.kv-product-card .add-cart {
	flex: 1;
	padding: 0 14px; height: 36px;
	font-size: 12.5px; font-weight: 600;
	letter-spacing: .02em; text-transform: uppercase;
	background: var(--blue); color: #fff; border: 0;
	border-radius: 999px;
	display: inline-flex; align-items: center; justify-content: center; gap: 6px;
}
.kv-product-card .add-cart:hover { background: var(--blue-2); }

.kv-product-card .actions .in-cart-state {
	flex: 1;
	display: flex; flex-direction: row; align-items: stretch; gap: 6px;
	min-height: 36px;
}
.kv-product-card .actions .in-cart-pill {
	flex: 1;
	display: inline-flex; align-items: center; justify-content: center; gap: 6px;
	height: 36px; padding: 0 12px;
	font-size: 11px; font-weight: 600; letter-spacing: .02em; text-transform: uppercase;
	color: #14532D; background: #E8F5E9; border-radius: 999px;
}
.kv-product-card .actions .in-cart-pill svg { stroke: #2E7D32; }
.kv-product-card .actions .kv-remove {
	display: inline-flex; align-items: center; justify-content: center; gap: 5px;
	height: 36px; padding: 0 12px;
	background: #FEE2E2; color: #B91C1C; border: 0;
	border-radius: 999px;
	font-size: 11px; font-weight: 600; letter-spacing: .02em; text-transform: uppercase;
	cursor: pointer;
	transition: background-color .15s ease;
}
.kv-product-card .actions .kv-remove svg { stroke: #B91C1C; }
.kv-product-card .actions .kv-remove:hover { background: #FCA5A5; color: #7F1D1D; }
.kv-product-card .actions .kv-remove:hover svg { stroke: #7F1D1D; }
.kv-product-card .add-cart svg { stroke: currentColor; }

/* New official Saudi Riyal sign (Unicode U+20C1) — released by SAMA in 2025.
   Source SVG: assets/img/saudi-riyal.svg (mirrored from Wikimedia, 1124×1256
   nominal viewBox, ~ratio 0.895). Rendered as a CSS mask so it inherits the
   surrounding text colour via currentColor and shows on every device
   regardless of OS font support for U+20C1. */
.kv-sr {
	display: inline-block;
	width: 0.78em;
	height: 0.87em;
	background-color: currentColor;
	vertical-align: -0.05em;
	-webkit-mask: url("../img/saudi-riyal.svg") center / contain no-repeat;
	mask: url("../img/saudi-riyal.svg") center / contain no-repeat;
}
.kv-product-card .actions[data-in-cart="true"]  .add-cart       { display: none; }
.kv-product-card .actions[data-in-cart="false"] .in-cart-state  { display: none; }
.kv-product-card .actions.is-busy { opacity: .55; pointer-events: none; }
/* WC core appends an <a class="added_to_cart wc-forward">View cart</a> after a
   successful AJAX add. Our IN CART pill already conveys that, so suppress it
   inside the archive card actions to keep the row tidy. */
.kv-product-card .actions .added_to_cart.wc-forward { display: none; }

/* ── Footer ── */
.kv-footer { background: var(--ink); color: rgba(255,255,255,.7); padding: 56px 32px 24px; }
.kv-footer .kv-container { padding: 0 32px; }
.kv-footer .grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1.2fr;
	gap: 56px;
	padding-bottom: 40px;
	border-bottom: 1px solid rgba(255,255,255,.08);
}
.kv-footer h4 {
	color: var(--white);
	font-family: var(--font-body); font-weight: 600;
	font-size: 14px; letter-spacing: 0.02em; text-transform: uppercase;
	margin: 0 0 18px;
}
.kv-footer ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; font-size: 13.5px; }
.kv-footer a { color: inherit; }
.kv-footer a:hover { color: var(--white); }
.kv-footer .pay-pills { display: flex; gap: 8px; flex-wrap: wrap; }
.kv-footer .pay-pills span {
	height: 26px; padding: 0 8px;
	border-radius: 5px;
	background: rgba(255,255,255,.07);
	display: flex; align-items: center;
	font-size: 10.5px; font-weight: 600; letter-spacing: .04em;
}
.kv-footer .meta-row {
	display: flex; justify-content: space-between;
	padding-top: 24px;
	font-size: 12px; color: rgba(255,255,255,.5);
}
.kv-footer .meta-row .links { display: flex; gap: 24px; }
.kv-footer .social-row { display: flex; gap: 8px; padding-top: 6px; }
.kv-footer .social-row a {
	width: 32px; height: 32px; border-radius: 8px;
	background: rgba(255,255,255,.07);
	display: flex; align-items: center; justify-content: center;
}
.kv-footer .contact-line { display: flex; gap: 10px; align-items: flex-start; }
.kv-footer .contact-line svg { flex-shrink: 0; opacity: .7; margin-top: 2px; }

/* ── Floating bubbles ── */
.kv-float-bubbles {
	position: fixed; right: 24px; bottom: 24px;
	display: flex; flex-direction: column; gap: 12px;
	z-index: 100;
}
.kv-float-bubbles a, .kv-float-bubbles button {
	width: 52px; height: 52px; border-radius: 999px;
	color: #fff; border: 0;
	box-shadow: var(--sh-2);
	display: flex; align-items: center; justify-content: center;
	text-decoration: none;
}
.kv-float-bubbles .chat { background: var(--blue); }
.kv-float-bubbles .wa   { background: #25D366; }

/* ── Sections ── */
.kv-section { padding: 60px 32px; }
.kv-section--tight { padding: 24px 32px; }
.kv-section--lg { padding: 80px 32px; }
.kv-section-head { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 28px; }
.kv-section-head h2 { margin-top: 12px; }
.kv-section-head .head-link { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: var(--blue); }

/* ── Hero slider ── */
.kv-hero { position: relative; padding: 0 32px 8px; }
.kv-hero-track { position: relative; }
.kv-hero-slide:not(.is-active) { display: none !important; }

.kv-hero-arrow {
	position: absolute; top: 50%; transform: translateY(-50%);
	width: 48px; height: 48px; border-radius: 999px;
	background: rgba(255,255,255,.92);
	border: 1px solid var(--hairline-2);
	display: flex; align-items: center; justify-content: center;
	color: var(--ink); box-shadow: var(--sh-2);
	z-index: 5;
}
.kv-hero-arrow.prev { left: 48px; }
.kv-hero-arrow.next { right: 48px; }
.kv-hero-dots {
	position: absolute; bottom: 22px; left: 50%; transform: translateX(-50%);
	display: flex; gap: 8px; align-items: center;
	background: rgba(0,0,0,.3); backdrop-filter: blur(8px);
	padding: 8px 14px; border-radius: 999px;
	z-index: 5;
}
.kv-hero-dots button {
	width: 8px; height: 8px; border-radius: 999px;
	background: rgba(255,255,255,.4);
	border: 0; padding: 0;
	transition: width .25s;
}
.kv-hero-dots button.is-active { width: 28px; background: #fff; }
.kv-hero-dots .counter {
	font-family: var(--font-mono); font-size: 10.5px;
	color: rgba(255,255,255,.7);
	margin-left: 6px; letter-spacing: .08em;
}

/* Hero slide 1 — navy with exploded SVG */
.kv-hero-slide-1 {
	position: relative; border-radius: 28px; overflow: hidden;
	background: radial-gradient(120% 100% at 0% 0%, #14274F 0%, #0B132B 60%, #050912 100%);
	color: #fff;
	min-height: 560px;
}
.kv-hero-slide-1 .bg-grid {
	position: absolute; inset: 0; width: 100%; height: 100%; opacity: .12;
}
.kv-hero-slide-1 .diagram {
	position: absolute; right: -40px; top: 0;
	width: 620px; height: 560px; opacity: .95;
}
.kv-hero-slide-1 .copy {
	position: relative; padding: 52px 56px 56px;
	max-width: 760px;
}
.kv-hero-slide-1 .eyebrow {
	display: inline-flex; align-items: center; gap: 10px;
	color: #7CB5F5; font-size: 11.5px;
	letter-spacing: .22em; text-transform: uppercase; font-weight: 600;
}
.kv-hero-slide-1 .eyebrow::before {
	content: ''; width: 24px; height: 1px;
	background: #7CB5F5; display: inline-block;
}
.kv-hero-slide-1 h1 {
	font-size: 92px; line-height: .94; letter-spacing: -.04em;
	margin-top: 22px; font-weight: 600; color: #fff;
}
.kv-hero-slide-1 h1 em { font-style: italic; color: #E0BC6F; font-weight: 500; }
.kv-hero-slide-1 .lede {
	max-width: 440px; margin-top: 20px;
	font-size: 17px; line-height: 1.5;
	color: rgba(255,255,255,.78);
}
.kv-hero-slide-1 .cta-row { display: flex; gap: 12px; margin-top: 32px; }
.kv-hero-slide-1 .stat-strip {
	display: flex; gap: 42px; margin-top: 36px;
	padding-top: 24px;
	border-top: 1px solid rgba(255,255,255,.12);
}
.kv-hero-slide-1 .stat-num { font-family: var(--font-display); font-size: 28px; font-weight: 600; color: #fff; letter-spacing: -.02em; }
.kv-hero-slide-1 .stat-lab { font-size: 11.5px; color: rgba(255,255,255,.55); margin-top: 2px; }

/* Hero slide 2 — split cream/navy with engineering drawing */
.kv-hero-slide-2 {
	border-radius: 28px; overflow: hidden;
	background: var(--paper);
	border: 1px solid var(--hairline);
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	min-height: 560px;
}
.kv-hero-slide-2 .left {
	padding: 52px 56px 36px; position: relative;
	border-right: 1px solid var(--hairline);
	background: #fff;
}
.kv-hero-slide-2 .left .est { font-family: var(--font-mono); font-size: 11.5px; color: var(--slate-500); letter-spacing: .16em; }
.kv-hero-slide-2 .left h1 { margin-top: 30px; font-size: 86px; line-height: .92; letter-spacing: -.045em; max-width: 620px; }
.kv-hero-slide-2 .left h1 em { font-style: italic; color: var(--blue); font-weight: 500; }
.kv-hero-slide-2 .left .lede { max-width: 460px; margin-top: 22px; font-size: 17px; line-height: 1.5; color: var(--slate-700); }
.kv-hero-slide-2 .left .cta-row { display: flex; gap: 12px; margin-top: 32px; }
.kv-hero-slide-2 .left .stat-strip {
	display: flex; gap: 36px; margin-top: 48px;
	padding-top: 24px;
	border-top: 1px solid var(--hairline);
}
.kv-hero-slide-2 .left .stat-num { font-family: var(--font-display); font-size: 30px; font-weight: 600; letter-spacing: -.02em; }
.kv-hero-slide-2 .left .stat-lab { font-family: var(--font-mono); font-size: 10.5px; color: var(--slate-500); text-transform: uppercase; letter-spacing: .1em; margin-top: 2px; }
.kv-hero-slide-2 .right {
	position: relative;
	background: linear-gradient(180deg, #0E2148 0%, #06112C 100%);
	color: #fff; padding: 40px; overflow: hidden;
}
.kv-hero-slide-2 .right .eyebrow-mono { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .2em; color: #7CB5F5; }
.kv-hero-slide-2 .right .title { margin-top: 18px; font-family: var(--font-display); font-size: 30px; font-weight: 600; line-height: 1.05; }
.kv-hero-slide-2 .right .brand-line { font-family: var(--font-mono); font-size: 12.5px; color: #E0BC6F; margin-top: 6px; }
.kv-hero-slide-2 .right .spec-row {
	position: absolute; left: 40px; right: 40px; bottom: 24px;
	display: flex; justify-content: space-between; align-items: flex-end;
}
.kv-hero-slide-2 .right .specs { display: flex; gap: 24px; }
.kv-hero-slide-2 .right .specs .lab { font-family: var(--font-mono); font-size: 10px; color: rgba(255,255,255,.5); letter-spacing: .1em; text-transform: uppercase; }
.kv-hero-slide-2 .right .specs .val { font-size: 13px; font-weight: 600; margin-top: 2px; color: #fff; }

/* Uploaded images replacing the built-in SVG illustrations */
.kv-hero-slide-1 img.diagram { object-fit: contain; }
.kv-hero-slide-2 .right .part-img {
	position: absolute; left: 40px; right: 40px; top: 110px; bottom: 84px;
	width: auto; height: auto; object-fit: contain;
}

/* ── Finder strip ── */
.kv-finder-section { padding: 24px 32px; }
.kv-finder {
	background: #fff; border-radius: 16px;
	border: 1px solid var(--hairline-2);
	display: grid;
	grid-template-columns: auto 1fr 1fr 1fr auto;
	gap: 0; align-items: stretch;
	padding: 6px; box-shadow: var(--sh-1);
}
.kv-finder .ident {
	padding: 12px 18px;
	display: flex; align-items: center; gap: 10px;
	border-right: 1px solid var(--hairline);
}
.kv-finder .ident .ico {
	width: 32px; height: 32px; border-radius: 8px;
	background: var(--blue-soft); color: var(--blue);
	display: flex; align-items: center; justify-content: center;
}
.kv-finder .ident .lab { font-family: var(--font-mono); font-size: 10.5px; color: var(--slate-500); letter-spacing: .08em; text-transform: uppercase; }
.kv-finder .ident .val { font-weight: 600; font-size: 13.5px; }
.kv-finder .field {
	padding: 12px 18px;
	display: flex; flex-direction: column; gap: 2px;
	border-right: 1px solid var(--hairline);
}
.kv-finder .field:last-of-type { border-right: 0; }
.kv-finder .field .lab { font-size: 10.5px; color: var(--slate-500); letter-spacing: .1em; text-transform: uppercase; font-weight: 600; }
.kv-finder .field .row { display: flex; align-items: center; justify-content: space-between; }
.kv-finder .field select {
	border: 0; background: transparent; outline: 0;
	font: 500 14px/1 var(--font-body); color: var(--slate-400);
	width: 100%; padding: 4px 0;
	appearance: none;
}
.kv-finder .field select:hover, .kv-finder .field select:focus { color: var(--ink); }
.kv-finder .field .caret { color: var(--slate-400); pointer-events: none; }
.kv-finder .find-btn {
	margin: 4px; border-radius: 12px; padding: 0 28px;
	background: var(--blue); color: #fff; border: 0;
	display: inline-flex; align-items: center; gap: 8px;
	font: 500 14px/1 var(--font-body);
}
.kv-finder .find-btn:hover { background: var(--blue-2); }

/* ── Trust strip (brand marquee) ── */
.kv-trust-strip { padding: 48px 32px 56px; }
.kv-trust-strip .kv-section-head { margin-bottom: 28px; }

.kv-brand-marquee {
	position: relative;
	overflow: hidden;
	width: 100%;
	background: var(--white);
	border-radius: var(--r-lg, 16px);
	padding: 18px 0;
	border: 1px solid var(--hairline, #E3E5EA);
	box-shadow: 0 1px 0 rgba(0,0,0,.02);
	/* Soft fade at the edges so logos don't slam into the band's left/right. */
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%);
	        mask-image: linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%);
}
.kv-brand-marquee__track {
	display: flex; align-items: center;
	width: max-content;
	gap: 72px;
	animation: kv-brand-marquee 38s linear infinite;
	will-change: transform;
}
.kv-brand-marquee:hover .kv-brand-marquee__track { animation-play-state: paused; }
.kv-brand-marquee__item {
	flex: 0 0 auto;
	display: flex; align-items: center; justify-content: center;
	height: 96px; min-width: 180px;
	padding: 0 12px;
	filter: grayscale(1);
	opacity: .75;
	transition: filter .2s ease, opacity .2s ease, transform .2s ease;
}
.kv-brand-marquee__item:hover {
	filter: grayscale(0);
	opacity: 1;
	transform: scale(1.06);
}
.kv-brand-marquee__item img {
	max-height: 80px; max-width: 200px;
	width: auto; height: auto;
	object-fit: contain;
}
.kv-brand-marquee__item .name {
	font-family: var(--font-display); font-weight: 600; font-size: 22px;
	color: var(--slate-700); letter-spacing: -.02em;
}
@keyframes kv-brand-marquee {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
	.kv-brand-marquee__track { animation: none; }
}

/* ── Parts library bento ── */
.kv-bento .grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	grid-template-rows: 200px 200px;
	gap: 14px;
}
.kv-bento .featured {
	grid-column: span 3; grid-row: span 2;
	border-radius: 20px;
	background: #1A1303; color: #fff;
	padding: 32px;
	position: relative; overflow: hidden;
}
.kv-bento .featured .eyebrow-mono { font-family: var(--font-mono); font-size: 11px; color: #E0BC6F; letter-spacing: .16em; }
.kv-bento .featured h3 { font-size: 48px; margin-top: 14px; line-height: 1; color: #fff; }
.kv-bento .featured p { margin-top: 12px; font-size: 14px; max-width: 320px; color: rgba(255,255,255,.7); }
.kv-bento .featured .cta { margin-top: 18px; font-size: 13px; }
.kv-bento .featured .deco {
	position: absolute; right: -10px; bottom: -20px;
	width: 320px; height: 320px; opacity: .95;
}
.kv-bento .tile {
	border-radius: 16px; padding: 18px;
	position: relative; overflow: hidden;
	border: 1px solid var(--hairline);
}
.kv-bento .tile .count { font-family: var(--font-mono); font-size: 10px; opacity: .7; letter-spacing: .08em; }
.kv-bento .tile .name { font-family: var(--font-display); font-weight: 600; font-size: 19px; margin-top: 4px; letter-spacing: -.01em; }
.kv-bento .tile .deco { position: absolute; right: 8px; bottom: 8px; width: 60px; height: 60px; opacity: .7; }
.kv-bento .tile .shop { position: absolute; bottom: 14px; left: 18px; font-size: 11.5px; font-weight: 600; display: inline-flex; gap: 4px; align-items: center; }

/* ── Kavero Way ── */
.kv-way { padding: 60px 32px; }
.kv-way .panel {
	background: #0E2148; color: #fff;
	border-radius: 24px; padding: 56px;
	position: relative; overflow: hidden;
}
.kv-way .eyebrow { color: #7CB5F5; }
.kv-way .eyebrow::before { background: #7CB5F5; }
.kv-way h2 { color: #fff; margin-top: 14px; font-size: 56px; }
.kv-way h2 em { font-style: italic; color: #E0BC6F; }
.kv-way .steps {
	display: grid; grid-template-columns: repeat(4, 1fr);
	gap: 14px; margin-top: 56px;
	position: relative;
}
.kv-way .connector {
	position: absolute; top: 24px; left: 12%; right: 12%; height: 1px;
	background: linear-gradient(90deg, transparent, #7CB5F5, #7CB5F5, transparent);
}
.kv-way .step {
	background: rgba(255,255,255,.04);
	border: 1px solid rgba(255,255,255,.1);
	border-radius: 16px; padding: 22px;
	position: relative;
}
.kv-way .step .num {
	width: 48px; height: 48px; border-radius: 999px;
	background: #06112C; border: 1.5px solid #7CB5F5;
	color: #E0BC6F;
	display: flex; align-items: center; justify-content: center;
	font-family: var(--font-mono); font-weight: 600;
	position: absolute; top: -24px; left: 22px;
}
.kv-way .step .t { font-family: var(--font-display); font-weight: 600; font-size: 20px; margin-top: 12px; }
.kv-way .step .d { margin-top: 8px; font-size: 13.5px; line-height: 1.5; color: rgba(255,255,255,.65); }

/* ── Shop by category (1 big + 4 small) ── */
.kv-shopcat { padding: 40px 32px 24px; }
.kv-shopcat .grid {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: 16px; height: 460px;
}
.kv-shopcat .big {
	grid-row: span 2;
	border-radius: 20px;
	background: linear-gradient(180deg, #E8F0FA, #F6F3EC);
	padding: 32px;
	position: relative; overflow: hidden;
	border: 1px solid var(--hairline);
}
.kv-shopcat .big .count { font-family: var(--font-mono); font-size: 11.5px; color: var(--slate-500); }
.kv-shopcat .big h3 { font-size: 44px; margin-top: 16px; line-height: 1; }
.kv-shopcat .big p { font-size: 14px; color: var(--slate-600); margin-top: 14px; max-width: 320px; }
.kv-shopcat .big .deco { position: absolute; right: -30px; bottom: -30px; width: 340px; height: 340px; opacity: .9; }
.kv-shopcat .big .browse {
	position: absolute; left: 32px; bottom: 28px;
	padding: 10px 18px; border-radius: 999px;
	background: var(--ink); color: #fff; border: 0;
	font-weight: 500; display: inline-flex; align-items: center; gap: 8px;
}
.kv-shopcat .small {
	border-radius: 16px; padding: 20px;
	position: relative; overflow: hidden;
	border: 1px solid var(--hairline);
	display: flex; flex-direction: column; justify-content: space-between;
}
.kv-shopcat .small .count { font-family: var(--font-mono); font-size: 10.5px; color: var(--slate-500); }
.kv-shopcat .small h4 { font-size: 22px; margin-top: 8px; }
.kv-shopcat .small .deco { width: 90px; height: 90px; margin-left: auto; opacity: .85; }
.kv-shopcat .small .explore {
	position: absolute; bottom: 14px; left: 20px;
	font-size: 12px; font-weight: 600; color: var(--ink);
	display: inline-flex; align-items: center; gap: 6px;
}

/* ── Best-selling parts ── */
.kv-bestsellers { padding: 60px 32px 24px; background: #CCCCCC; }
.kv-bestsellers .tabs { display: flex; gap: 10px; }
.kv-bestsellers .grid {
	display: grid; grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}

/* ── Brand wall ── */
.kv-brandwall { padding: 60px 32px 24px; }
.kv-brandwall .lede { max-width: 480px; margin-top: 12px; color: var(--slate-500); font-size: 14.5px; }
.kv-brandwall .grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; }
.kv-brand {
	height: 80px; border-radius: 12px;
	background: #fff; border: 1px solid var(--hairline);
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	gap: 4px; transition: border-color .15s; cursor: pointer;
}
.kv-brand:hover { border-color: var(--blue); }
.kv-brand .pair { display: flex; align-items: center; gap: 6px; color: var(--ink); }
.kv-brand .ini {
	width: 24px; height: 24px; border-radius: 6px;
	background: var(--ink); color: #fff;
	display: flex; align-items: center; justify-content: center;
	font-family: var(--font-display); font-weight: 700; font-size: 11px; letter-spacing: -.02em;
}
.kv-brand .name { font-family: var(--font-display); font-weight: 600; font-size: 13.5px; letter-spacing: -.02em; color: var(--ink); }

/* ── Why Kavero ── */
.kv-why { padding: 80px 32px; background: #CCCCCC; border-top: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); }
.kv-why .row { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.kv-why h2 { margin-top: 12px; font-size: 64px; max-width: 520px; }
.kv-why h2 em { font-style: italic; }
.kv-why .lede { margin-top: 20px; font-size: 16px; line-height: 1.55; color: var(--slate-600); max-width: 520px; }
.kv-why .cards { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.kv-why .card { background: #fff; border-radius: 16px; padding: 22px; border: 1px solid var(--hairline); }
.kv-why .card .ico { width: 42px; height: 42px; border-radius: 12px; display: flex; align-items: center; justify-content: center; }
.kv-why .card .t { font-weight: 600; font-size: 18px; margin-top: 14px; font-family: var(--font-display); }
.kv-why .card .d { font-size: 13.5px; color: var(--slate-600); margin-top: 6px; line-height: 1.5; }

/* ── HoReCa Select ── */
.kv-horeca { padding: 60px 32px 24px; }
.kv-horeca h2 em { font-style: italic; color: var(--slate-500); font-weight: 400; }
.kv-horeca .grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.kv-horeca .card {
	height: 220px; border-radius: 18px;
	padding: 22px; position: relative; overflow: hidden;
}
.kv-horeca .card .count { font-family: var(--font-mono); font-size: 11px; opacity: .6; }
.kv-horeca .card .name { font-family: var(--font-display); font-size: 30px; font-weight: 600; letter-spacing: -.02em; margin-top: 12px; line-height: 1; max-width: 180px; }
.kv-horeca .card .shop { position: absolute; left: 22px; bottom: 20px; font-size: 12.5px; font-weight: 500; display: inline-flex; align-items: center; gap: 6px; }
.kv-horeca .card .deco { position: absolute; right: -20px; bottom: -30px; width: 160px; height: 160px; opacity: .18; }

/* ── Membership CTA ── */
.kv-membership { padding: 40px 32px 60px; }
.kv-membership .panel {
	border-radius: 24px; padding: 46px 56px;
	position: relative; overflow: hidden;
	background: linear-gradient(135deg, #1a1303 0%, #0E2148 100%);
	color: #fff;
	display: flex; align-items: center; justify-content: space-between; gap: 56px;
}
.kv-membership .panel .copy { max-width: 620px; }
.kv-membership .eyebrow { color: #E0BC6F; }
.kv-membership .eyebrow::before { background: #E0BC6F; }
.kv-membership h2 { margin-top: 14px; font-size: 48px; color: #fff; }
.kv-membership h2 em { font-style: italic; color: #E0BC6F; }
.kv-membership .lede { margin-top: 16px; font-size: 15px; color: rgba(255,255,255,.7); max-width: 480px; }
.kv-membership .cta-row { display: flex; gap: 12px; margin-top: 24px; }
.kv-membership .preview {
	width: 280px; padding: 24px; border-radius: 18px;
	background: rgba(255,255,255,.06);
	border: 1px solid rgba(224,188,111,.4);
	backdrop-filter: blur(4px);
}
.kv-membership .preview .lab { font-family: var(--font-mono); font-size: 10.5px; color: #E0BC6F; letter-spacing: .16em; text-transform: uppercase; }
.kv-membership .preview .pname { font-family: var(--font-display); font-size: 18px; margin-top: 14px; color: #fff; }
.kv-membership .preview .sku { font-family: var(--font-mono); font-size: 11px; color: #E0BC6F; margin-top: 4px; }
.kv-membership .preview .price-block {
	margin-top: 18px; padding-top: 18px;
	border-top: 1px solid rgba(255,255,255,.1);
	display: flex; justify-content: space-between; align-items: baseline;
}
.kv-membership .preview .reg { font-size: 12px; color: rgba(255,255,255,.6); text-decoration: line-through; }
.kv-membership .preview .mem { font-family: var(--font-display); font-size: 32px; font-weight: 600; color: #E0BC6F; }
.kv-membership .preview .save { font-size: 10.5px; color: rgba(255,255,255,.6); }

/* ── Resources ── */
.kv-resources { padding: 60px 32px 80px; }
.kv-resources .grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 16px; }
.kv-resources .featured {
	border-radius: 18px; background: #fff;
	border: 1px solid var(--hairline);
	overflow: hidden; display: flex;
}
.kv-resources .featured .copy { flex: 1; padding: 28px; }
.kv-resources .featured h3 { font-size: 26px; margin-top: 16px; max-width: 380px; }
.kv-resources .featured .deco {
	width: 200px;
	background: linear-gradient(135deg, #14274F, #0B132B);
	display: flex; align-items: center; justify-content: center;
}
.kv-resources .secondary {
	border-radius: 18px; background: #fff;
	border: 1px solid var(--hairline);
	padding: 22px;
	display: flex; flex-direction: column; justify-content: space-between;
}
.kv-resources .secondary h4 { font-size: 20px; margin-top: 14px; line-height: 1.2; }
.kv-resources .read {
	display: inline-flex; align-items: center; gap: 8px;
	margin-top: 22px; font-size: 13px; font-weight: 600; color: var(--blue);
}

/* ── Archive (listing) ── */
.kv-archive { background: #CCCCCC; }
.kv-archive .kv-breadcrumb { padding: 8px 32px 0; }
.kv-archive .kv-archive-hero { padding: 24px 32px 0; }
.kv-archive .kv-archive-toolbar { padding: 24px 32px 0; display: flex; align-items: center; gap: 12px; }
.kv-archive .kv-archive-body { padding: 24px 32px 60px; display: grid; grid-template-columns: 260px 1fr; gap: 28px; }
.kv-breadcrumb a { color: var(--slate-500); }
.kv-breadcrumb a:hover { color: var(--ink); }

.kv-archive-hero .hero-panel {
	border-radius: 24px;
	padding: 36px 44px;
	position: relative; overflow: hidden;
	background: linear-gradient(135deg, #0E2148 0%, #1B305A 100%);
	color: #fff;
	display: flex; align-items: center; justify-content: space-between;
	gap: 32px;
}
.kv-archive-hero .copy { max-width: 620px; z-index: 1; position: relative; }
.kv-archive-hero h1 { font-size: 56px; margin-top: 14px; color: #fff; line-height: 1; }
.kv-archive-hero h1 em { font-style: italic; color: #E0BC6F; }
.kv-archive-hero .stats { display: flex; gap: 28px; margin-top: 20px; font-size: 13.5px; color: rgba(255,255,255,.75); }
.kv-archive-hero .stats strong { color: #fff; font-family: var(--font-display); font-size: 18px; margin-right: 4px; }

.kv-archive-hero .finder-card {
	background: #fff; color: var(--ink);
	border-radius: 16px; padding: 6px;
	display: grid; grid-template-columns: 160px 160px 160px auto;
	gap: 4px;
	box-shadow: 0 20px 60px rgba(0,0,0,.3);
}
.kv-archive-hero .finder-card .cell { padding: 10px 14px; border-radius: 12px; background: var(--paper); }
.kv-archive-hero .finder-card .cell .lab { font-size: 10px; color: var(--slate-500); letter-spacing: .1em; text-transform: uppercase; font-weight: 600; }
.kv-archive-hero .finder-card .cell .val { font-size: 13px; font-weight: 600; margin-top: 2px; }
.kv-archive-hero .finder-card .go { border-radius: 12px; padding: 0 18px; font-size: 13px; }

/* Equipment-variant hero — gold/paper theme instead of navy/blue. */
.kv-archive-hero--equipment .hero-panel {
	background: linear-gradient(135deg, #F5EAD0 0%, #E0BC6F 60%, #6B4F1C 130%);
	color: #2a1d05;
}
.kv-archive-hero--equipment .hero-panel h1 { color: #1A1303; }
.kv-archive-hero--equipment .hero-panel h1 em { color: #1869B5; }
.kv-archive-hero--equipment .hero-panel .stats { color: rgba(26,19,3,.7); }
.kv-archive-hero--equipment .hero-panel .stats strong { color: #1A1303; }
.kv-archive-hero--equipment .hero-panel .kv-eyebrow::before { background: #6B4F1C; }

/* ── Shop landing (/shop/ root) — split tiles ── */
.kv-shop-landing { padding: 40px 32px 80px; }
.kv-shop-landing .head {
	font-size: 64px;
	line-height: 1;
	letter-spacing: -.025em;
	margin-top: 12px;
}
.kv-shop-landing .head em { font-style: italic; color: var(--blue); font-weight: 500; }
.kv-shop-landing .lede {
	margin-top: 18px;
	font-size: 16px; line-height: 1.55;
	color: var(--slate-600);
	max-width: 720px;
}
.kv-shop-landing .tiles {
	margin-top: 40px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
}
.kv-shop-landing .tile {
	border-radius: 28px;
	padding: 40px;
	position: relative; overflow: hidden;
	display: flex; flex-direction: column;
	text-decoration: none;
	min-height: 520px;
}
.kv-shop-landing .tile--parts {
	background: radial-gradient(120% 100% at 0% 0%, #14274F 0%, #0B132B 60%, #050912 100%);
	color: #fff;
}
.kv-shop-landing .tile--parts h2 { color: #fff; }
.kv-shop-landing .tile--parts h2 em { color: #E0BC6F; }
.kv-shop-landing .tile--equipment {
	background: linear-gradient(135deg, #F5EAD0 0%, #E0BC6F 70%, #C9A14B 130%);
	color: #1A1303;
}
.kv-shop-landing .tile--equipment h2 { color: #1A1303; }
.kv-shop-landing .tile--equipment h2 em { color: #1869B5; }

.kv-shop-landing .tile .head-row {
	display: flex; align-items: flex-start; justify-content: space-between; gap: 16px;
	margin-bottom: 24px;
}
.kv-shop-landing .tile .diagram { width: 120px; height: 120px; opacity: .9; }
.kv-shop-landing .tile h2 {
	font-size: 48px; line-height: 1.02; letter-spacing: -.025em;
	max-width: 420px;
}
.kv-shop-landing .tile .copy {
	margin-top: 20px;
	font-size: 15px; line-height: 1.55;
	max-width: 480px;
}
.kv-shop-landing .tile--parts .copy { color: rgba(255,255,255,.78); }
.kv-shop-landing .tile--equipment .copy { color: rgba(26,19,3,.75); }

.kv-shop-landing .tile .stats {
	display: flex; gap: 36px;
	margin-top: 28px;
	padding-top: 24px;
	border-top: 1px solid rgba(255,255,255,.14);
}
.kv-shop-landing .tile--equipment .stats { border-top-color: rgba(26,19,3,.18); }
.kv-shop-landing .tile .stats strong {
	font-family: var(--font-display);
	font-size: 28px; font-weight: 600;
	letter-spacing: -.02em;
	display: block;
}
.kv-shop-landing .tile--parts .stats strong { color: #fff; }
.kv-shop-landing .tile--equipment .stats strong { color: #1A1303; }
.kv-shop-landing .tile .stats span {
	display: block;
	font-size: 11.5px;
	margin-top: 2px;
}
.kv-shop-landing .tile--parts .stats span { color: rgba(255,255,255,.55); }
.kv-shop-landing .tile--equipment .stats span { color: rgba(26,19,3,.55); }

.kv-shop-landing .tile .eq-cats {
	display: grid; grid-template-columns: 1fr 1fr; gap: 10px;
	margin-top: 24px;
	padding-top: 24px;
	border-top: 1px solid rgba(26,19,3,.18);
}
.kv-shop-landing .tile .eq-cat {
	padding: 12px 16px;
	border-radius: 12px;
	background: rgba(255,255,255,.4);
	display: flex; justify-content: space-between; align-items: center;
	color: #1A1303;
	font-size: 13.5px; font-weight: 500;
}
.kv-shop-landing .tile .eq-cat:hover { background: #fff; color: var(--blue); }
.kv-shop-landing .tile .eq-cat .count { font-family: var(--font-mono); font-size: 11px; opacity: .55; }

.kv-shop-landing .tile .cta {
	display: inline-flex; align-items: center; gap: 8px;
	margin-top: auto; padding-top: 28px;
	font-family: var(--font-display);
	font-weight: 600; font-size: 18px;
	letter-spacing: -.01em;
}
.kv-shop-landing .tile--parts .cta { color: #E0BC6F; }
.kv-shop-landing .tile--equipment .cta { color: #1A1303; }
.kv-shop-landing .tile--parts:hover .cta { transform: translateX(4px); transition: transform .15s; }
.kv-shop-landing .tile--equipment:hover .cta { transform: translateX(4px); transition: transform .15s; }

.kv-archive-toolbar { padding: 24px 32px 0; display: flex; align-items: center; gap: 12px; }
.kv-archive-toolbar .chip-row { display: flex; gap: 8px; flex: 1; overflow: hidden; flex-wrap: wrap; }
.kv-archive-toolbar .chip {
	padding: 8px 14px; border-radius: 999px;
	border: 1px solid var(--hairline-2);
	background: #fff; color: var(--ink);
	font-size: 12.5px; font-weight: 500;
	display: inline-flex; align-items: center; gap: 6px;
	white-space: nowrap; cursor: pointer;
	text-decoration: none;
	transition: background .15s, color .15s, border-color .15s;
}
.kv-archive-toolbar .chip:hover { border-color: var(--ink); }
.kv-archive-toolbar .chip.is-active { background: var(--ink); color: #fff; border-color: var(--ink); }
.kv-archive-toolbar .chip.is-active .x { font-size: 14px; line-height: 1; opacity: .7; }
.kv-archive-toolbar .chip.is-active:hover .x { opacity: 1; }
.kv-archive-toolbar .chip.is-dashed { border: 1px dashed var(--hairline-2); background: transparent; color: var(--slate-500); }
.kv-archive-toolbar .chip.is-placeholder { color: var(--slate-500); border-style: dashed; background: transparent; }
.kv-archive-toolbar .sort-block { display: flex; align-items: center; gap: 10px; font-size: 13px; color: var(--slate-500); }
.kv-archive-toolbar .sort {
	padding: 8px 12px; border-radius: 10px;
	border: 1px solid var(--hairline-2);
	background: #fff; font-size: 13px; font-weight: 500;
}

/* ── Filter rail ── */
.kv-filter-rail {
	background: #fff; border-radius: 16px;
	padding: 22px; border: 1px solid var(--hairline);
	align-self: start; position: sticky; top: 16px;
	font-size: 13.5px;
}
.kv-filter-rail .rail-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.kv-filter-rail .title { font-family: var(--font-display); font-weight: 600; font-size: 17px; }
.kv-filter-rail .clear { font-size: 12px; color: var(--blue); font-weight: 500; }
.kv-filter-rail .group { padding-bottom: 18px; margin-bottom: 18px; border-bottom: 1px solid var(--hairline); }
.kv-filter-rail .group:last-child { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }
.kv-filter-rail .g-title { font-weight: 600; font-size: 13.5px; margin-bottom: 12px; }
.kv-filter-rail .options { display: flex; flex-direction: column; gap: 8px; }
.kv-filter-rail .opt {
	display: flex; align-items: center; gap: 10px;
	font-size: 13px; color: var(--slate-700); cursor: pointer;
	position: relative; /* Contain the absolute checkbox so it doesn't escape the scrollable .options container. */
}
.kv-filter-rail .opt input { position: absolute; opacity: 0; pointer-events: none; left: 0; top: 0; }
.kv-filter-rail .opt .cbox {
	width: 16px; height: 16px; border-radius: 4px;
	border: 1.5px solid var(--hairline-2);
	background: #fff;
	display: inline-block;
	flex-shrink: 0;
	position: relative;
}
.kv-filter-rail .opt input:checked + .cbox {
	background: var(--ink); border-color: var(--ink);
}
.kv-filter-rail .opt input:checked + .cbox::after {
	content: '';
	position: absolute;
	left: 3px; top: 0;
	width: 5px; height: 9px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}
.kv-filter-rail .opt .name { flex: 1; }
.kv-filter-rail .opt .count { color: var(--slate-400); font-size: 11px; }
.kv-filter-rail .more { font-size: 12px; color: var(--blue); margin-top: 10px; display: inline-block; cursor: pointer; }
.kv-filter-rail .more:hover { color: var(--blue-2); text-decoration: underline; }

/* Quick search within a filter group */
.kv-filter-rail .group-search { margin-bottom: 10px; }
.kv-filter-rail .group-search input {
	width: 100%;
	padding: 8px 12px;
	border: 1px solid var(--hairline-2);
	border-radius: 8px;
	font-size: 12.5px;
	background: #fff;
	outline: 0;
	color: var(--ink);
}
.kv-filter-rail .group-search input:focus { border-color: var(--blue); }
.kv-filter-rail .group-search input::placeholder { color: var(--slate-400); }

/* Collapsed state — hide the .is-extra items past the first N. */
.kv-filter-rail .group.is-collapsed .opt.is-extra { display: none; }

/* Hidden by JS quick-search (overrides is-collapsed visibility). */
.kv-filter-rail .opt.is-hidden { display: none !important; }

/* Expanded list — cap height + internal scroll so the sidebar doesn't grow. */
.kv-filter-rail .group:not(.is-collapsed) .options {
	max-height: 360px;
	overflow-y: auto;
	scrollbar-width: thin;
	scrollbar-color: var(--slate-300) transparent;
	padding-right: 2px;
}
.kv-filter-rail .group:not(.is-collapsed) .options::-webkit-scrollbar { width: 6px; }
.kv-filter-rail .group:not(.is-collapsed) .options::-webkit-scrollbar-thumb { background: var(--slate-300); border-radius: 3px; }
.kv-filter-rail .group:not(.is-collapsed) .options::-webkit-scrollbar-track { background: transparent; }

/* A-Z jump bar — only visible when group is expanded. */
.kv-filter-rail .az-bar { display: none; flex-wrap: wrap; gap: 2px; margin-bottom: 10px; }
.kv-filter-rail .group:not(.is-collapsed) .az-bar { display: flex; }
.kv-filter-rail .az-bar .az {
	min-width: 18px; height: 22px;
	padding: 0 4px;
	border: 0; background: transparent;
	font-family: var(--font-mono);
	font-size: 10.5px; font-weight: 600;
	color: var(--ink);
	border-radius: 4px;
	cursor: pointer;
	display: inline-flex; align-items: center; justify-content: center;
}
.kv-filter-rail .az-bar .az:hover { background: var(--paper); color: var(--blue); }
.kv-filter-rail .az-bar .az.is-disabled {
	color: var(--slate-300);
	cursor: not-allowed;
	pointer-events: none;
}
.kv-filter-rail .price-inputs { display: flex; gap: 8px; }
.kv-filter-rail .price-inputs input {
	flex: 1; min-width: 0; box-sizing: border-box;
	padding: 8px 10px;
	border: 1px solid var(--hairline-2); border-radius: 8px;
	font-size: 12.5px; outline: 0;
	-moz-appearance: textfield;
}
.kv-filter-rail .price-inputs input::-webkit-outer-spin-button,
.kv-filter-rail .price-inputs input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.kv-filter-rail .price-inputs input:focus { border-color: var(--blue); }

.kv-filter-rail .price-track {
	height: 6px; border-radius: 6px;
	background: var(--slate-200); margin: 24px 12px 8px; position: relative;
	touch-action: none;
}
.kv-filter-rail .price-track .track-fill {
	position: absolute; top: 0; bottom: 0;
	background: var(--blue); border-radius: 6px;
	left: 0; right: 0;
}
.kv-filter-rail .price-track .track-thumb {
	position: absolute; top: 50%;
	width: 18px; height: 18px; padding: 0;
	border-radius: 50%; background: #fff;
	border: 2px solid var(--blue);
	cursor: grab;
	transform: translate(-50%, -50%);
	box-shadow: 0 1px 3px rgba(0,0,0,.15);
	transition: transform .1s ease, box-shadow .15s ease;
}
.kv-filter-rail .price-track .track-thumb:hover { box-shadow: 0 2px 6px rgba(0,0,0,.22); }
.kv-filter-rail .price-track .track-thumb:active,
.kv-filter-rail .price-track .track-thumb.is-dragging { cursor: grabbing; transform: translate(-50%, -50%) scale(1.12); }
.kv-filter-rail .price-track .track-thumb.left  { left: 0; }
.kv-filter-rail .price-track .track-thumb.right { left: 100%; }

/* ── Grid header + grid + pagination ── */
.kv-grid-header {
	display: flex; align-items: baseline; justify-content: space-between;
	margin-bottom: 18px;
}
.kv-grid-header .result-count { font-size: 13px; color: var(--slate-500); }
.kv-grid-header .result-count strong { color: var(--ink); }
.kv-grid-header .view-toggle { display: flex; gap: 4px; }
.kv-grid-header .view-toggle button {
	width: 32px; height: 32px; border-radius: 8px;
	border: 1px solid var(--hairline-2);
	background: #fff; color: var(--slate-500);
	display: flex; align-items: center; justify-content: center;
}
.kv-grid-header .view-toggle button.is-active { border-color: var(--blue); background: var(--blue); color: #fff; }

#kv-grid-region { position: relative; }
#kv-grid-region.is-loading { opacity: .4; pointer-events: none; transition: opacity .2s; }
#kv-grid-region.is-loading::after {
	content: '';
	position: absolute; top: 80px; left: 50%;
	width: 28px; height: 28px;
	border: 3px solid var(--hairline-2);
	border-top-color: var(--ink);
	border-radius: 50%;
	animation: kvspin .8s linear infinite;
	transform: translateX(-50%);
}
@keyframes kvspin { to { transform: translateX(-50%) rotate(360deg); } }

.kv-grid {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px;
}
.kv-empty {
	grid-column: 1 / -1;
	background: #fff; border-radius: 16px;
	padding: 60px 32px; text-align: center;
	border: 1px solid var(--hairline);
}

.kv-pagination {
	display: flex; justify-content: center; align-items: center;
	gap: 6px; margin-top: 40px;
}
.kv-pagination a, .kv-pagination .page-numbers {
	min-width: 36px; height: 36px; border-radius: 10px;
	border: 1px solid var(--hairline-2);
	background: #fff; color: var(--ink);
	display: inline-flex; align-items: center; justify-content: center;
	padding: 0 12px; font-size: 13px; font-weight: 600;
	text-decoration: none;
	transition: background .15s, color .15s, border-color .15s;
}
.kv-pagination a:hover { border-color: var(--blue); color: var(--blue); }
.kv-pagination .page-numbers.current,
.kv-pagination .page-numbers.current:hover {
	background: var(--blue); color: #fff; border-color: var(--blue);
}
.kv-pagination .page-numbers.dots {
	background: transparent; border: 0; color: var(--slate-500);
}

/* ── Brand archive hero (white panel) ── */
.kv-brand-hero { padding: 24px 32px 0; }
.kv-brand-hero .brand-panel {
	border-radius: 24px;
	background: #fff;
	border: 1px solid var(--hairline);
	padding: 40px;
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 36px;
	align-items: center;
}
.kv-brand-hero .badge {
	width: 130px; height: 130px;
	border-radius: 18px;
	display: flex; align-items: center; justify-content: center;
	color: #fff;
	font-family: var(--font-display);
	font-weight: 800;
	font-size: 22px;
	letter-spacing: -.04em;
	text-align: center;
	padding: 16px;
	flex-shrink: 0;
}
.kv-brand-hero .badge img { max-width: 100%; max-height: 100%; object-fit: contain; filter: brightness(0) invert(1); }
.kv-brand-hero .badge.has-logo { background: #fff; border: 1px solid var(--hairline); }
.kv-brand-hero .badge.has-logo img { max-width: 80%; max-height: 72%; filter: none; }
.kv-brand-hero .badge .initials { line-height: 1; }
.kv-brand-hero .copy .eyebrow {
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: .16em;
	color: var(--slate-500);
	text-transform: uppercase;
}
.kv-brand-hero .copy h1 {
	font-size: 64px;
	margin-top: 8px;
	line-height: 1;
}
.kv-brand-hero .tagline {
	margin-top: 14px;
	font-size: 15.5px;
	color: var(--slate-600);
	max-width: 620px;
	line-height: 1.55;
}
.kv-brand-hero .stats {
	display: flex; gap: 28px;
	margin-top: 18px;
	font-size: 13.5px;
	color: var(--slate-600);
	flex-wrap: wrap;
}
.kv-brand-hero .stats strong {
	color: var(--ink);
	font-family: var(--font-display);
	font-size: 17px;
	margin-right: 4px;
}
.kv-brand-hero .cta-stack {
	display: flex; flex-direction: column; gap: 10px;
	flex-shrink: 0;
}
.kv-brand-hero .cta-stack .kv-btn { white-space: nowrap; }

/* ── Brand Models grid ── */
.kv-brand-models-grid { padding: 40px 32px 24px; }
.kv-brand-models-grid .head {
	display: flex; align-items: flex-end; justify-content: space-between;
	margin-bottom: 22px;
	flex-wrap: wrap; gap: 16px;
}
.kv-brand-models-grid .head h2 { margin-top: 12px; }
.kv-brand-models-grid .filter input {
	padding: 10px 14px; border-radius: 10px;
	border: 1px solid var(--hairline-2);
	background: #fff; font-size: 13px;
	width: 240px;
}
.kv-brand-models-grid .grid {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px;
}
.kv-brand-models-grid .model-card {
	background: #fff;
	border: 1px solid var(--hairline);
	border-radius: 16px;
	padding: 22px;
	display: flex; flex-direction: column;
}
.kv-brand-models-grid .model-card .row-top {
	display: flex; align-items: flex-start; justify-content: space-between;
	gap: 12px;
}
.kv-brand-models-grid .model-card .name {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 22px;
	color: var(--blue);
	letter-spacing: -.01em;
}
.kv-brand-models-grid .model-card .line {
	font-size: 11px;
	color: var(--slate-500);
	margin-top: 2px;
}
.kv-brand-models-grid .model-card .ico-box {
	width: 54px; height: 54px;
	background: var(--paper-2);
	border-radius: 10px;
	display: flex; align-items: center; justify-content: center;
	flex-shrink: 0;
}
.kv-brand-models-grid .model-card .links {
	margin-top: 18px;
	display: flex; flex-direction: column; gap: 8px;
}
.kv-brand-models-grid .model-card .links a {
	display: flex; align-items: center; gap: 8px;
	font-size: 12.5px;
	color: var(--blue);
	font-weight: 500;
}
.kv-brand-models-grid .model-card .links .soon-link {
	display: flex; align-items: center; gap: 8px;
	font-size: 12.5px; font-weight: 500;
	color: var(--slate-400); cursor: default;
}
.kv-brand-models-grid .model-card .links .soon-link u { text-decoration: none; }

/* "Coming soon" placeholder styling (manuals / parts-map) */
.soon-tag {
	font-style: normal;
	font-family: var(--font-mono);
	font-size: 9.5px; letter-spacing: .08em; text-transform: uppercase;
	background: var(--slate-100); color: var(--slate-500);
	padding: 2px 6px; border-radius: 999px;
}
.kv-btn.is-soon { opacity: .55; cursor: default; pointer-events: none; }
.kv-btn.is-soon:hover { transform: none; }
.kv-btn.is-soon .soon-tag { background: rgba(10,16,36,.08); }
.kv-brand-models-grid .model-card .foot {
	display: flex; align-items: center; justify-content: space-between;
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid var(--hairline);
}
.kv-brand-models-grid .model-card .parts-count {
	font-size: 11px;
	color: var(--slate-500);
	display: flex; align-items: center; gap: 5px;
}
.kv-brand-models-grid .model-card .parts-count .i {
	width: 14px; height: 14px; border-radius: 999px;
	background: var(--blue-soft); color: var(--blue);
	font-size: 9px;
	display: flex; align-items: center; justify-content: center;
}
.kv-brand-models-grid .model-card .shop {
	padding: 6px 14px; font-size: 11.5px;
	border-radius: 999px; font-weight: 600;
}

/* ── Single product ── */
.kv-single { background: #CCCCCC; }
.kv-single .kv-breadcrumb { padding: 8px 32px 0; }
.kv-product-hero {
	padding: 24px 32px 32px;
	display: grid;
	grid-template-columns: 1.1fr 1.2fr .9fr;
	gap: 28px;
	align-items: start;
}

/* Gallery */
.pg-gallery .main-image {
	background: #fff; border-radius: 18px;
	border: 1px solid var(--hairline);
	padding: 24px; position: relative;
	aspect-ratio: 1 / 1;
	display: flex; align-items: center; justify-content: center;
}
.pg-gallery .main-image .zoom-btn {
	position: absolute; bottom: 20px; right: 20px;
	width: 40px; height: 40px; border-radius: 999px;
	background: #fff; border: 1px solid var(--hairline-2);
	display: flex; align-items: center; justify-content: center;
	box-shadow: var(--sh-1);
}
.pg-gallery .thumbs { display: flex; gap: 10px; margin-top: 14px; }
.pg-gallery .thumb {
	flex: 1; height: 84px;
	background: #fff; border-radius: 10px;
	border: 1px solid var(--hairline);
	display: flex; align-items: center; justify-content: center;
	padding: 8px; cursor: pointer;
}
.pg-gallery .thumb.is-active { border: 2px solid var(--blue); }
.pg-gallery .gallery-actions { display: flex; gap: 10px; margin-top: 14px; }
.pg-gallery .gallery-actions .kv-btn { flex: 1; padding: 10px 14px; font-size: 12.5px; justify-content: center; }
.pg-gallery .gallery-actions .kv-btn[disabled] { opacity: .5; cursor: not-allowed; }
.pg-gallery .delivery-card {
	margin-top: 24px;
	padding: 18px; border-radius: 14px;
	background: var(--blue-soft);
	border: 1px solid #C7DDF2;
}
.pg-gallery .delivery-card .head {
	display: flex; align-items: center; gap: 12px;
	color: var(--blue); font-weight: 600; font-size: 15px;
}
.pg-gallery .delivery-card .head .ico {
	width: 32px; height: 32px; border-radius: 10px;
	background: #fff;
	display: flex; align-items: center; justify-content: center;
}
.pg-gallery .delivery-card p { margin-top: 12px; font-size: 12.5px; color: var(--slate-700); line-height: 1.55; }

/* Middle column */
.pg-middle .title-row { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; flex-wrap: wrap; }
.pg-middle .brand-chip {
	background: #1AB7E0; color: #fff;
	padding: 8px 18px; border-radius: 10px;
	font-family: var(--font-display);
	font-weight: 700; font-size: 18px; letter-spacing: .02em;
}
.pg-middle .product-title { font-size: 44px; line-height: 1.05; letter-spacing: -.025em; }
.pg-middle .rating-row { display: flex; align-items: center; gap: 14px; margin-top: 14px; flex-wrap: wrap; }
.pg-middle .rating-row .stars { display: flex; gap: 1px; }
.pg-middle .rating-row .meta { font-size: 13px; color: var(--slate-600); font-weight: 500; }
.pg-middle .rating-row .write { font-size: 13px; color: var(--blue); font-weight: 500; }

.pg-middle .spec-table {
	margin-top: 26px;
	border-radius: 16px;
	border: 1.5px solid var(--hairline-2);
	overflow: hidden;
}
.pg-middle .spec-table__head {
	padding: 18px 22px; background: #fff;
	border-bottom: 1.5px solid var(--hairline-2);
	font-family: var(--font-display);
	font-weight: 600; font-size: 22px; color: var(--blue);
	display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
}
.pg-middle .spec-table__head .kv-modelhub-btn {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 9px 16px; border-radius: 999px;
	background: var(--blue); color: #fff;
	font-family: var(--font-body); font-weight: 600; font-size: 13px;
	text-decoration: none; white-space: nowrap;
	transition: background .15s, transform .15s;
}
.pg-middle .spec-table__head .kv-modelhub-btn:hover { background: var(--blue-2); transform: translateY(-1px); }
.pg-middle .spec-table table { width: 100%; border-collapse: collapse; font-size: 14px; }
.pg-middle .spec-table tr { border-top: 1px solid var(--hairline); }
.pg-middle .spec-table tr:first-child { border-top: 0; }
.pg-middle .spec-table th {
	padding: 13px 22px;
	background: #FAFAF6;
	font-weight: 600;
	color: var(--ink);
	width: 46%;
	text-align: left;
	border-right: 1px solid var(--hairline);
}
.pg-middle .spec-table td { padding: 13px 22px; color: var(--slate-700); }
.pg-middle .spec-table td.mono { font-family: var(--font-mono); }
.pg-middle .spec-table .blue { color: var(--blue); }
.pg-middle .spec-table .link { color: var(--blue); text-decoration: underline; }
.pg-middle .spec-table .link-soon { color: var(--blue); text-decoration: underline; cursor: default; opacity: .75; }
.pg-middle .spec-table .na { color: var(--slate-400); }

.pg-middle .share-row { display: flex; gap: 28px; margin-top: 22px; font-size: 14px; color: var(--blue); font-weight: 500; flex-wrap: wrap; }
.pg-middle .share-row a { display: inline-flex; align-items: center; gap: 10px; color: var(--blue); }
.pg-middle .share-row .icon-bg {
	width: 32px; height: 32px; border-radius: 8px;
	background: var(--blue-soft);
	display: flex; align-items: center; justify-content: center;
}

/* Purchase card */
.pg-purchase .card {
	background: #fff; border-radius: 20px;
	border: 2px solid var(--blue);
	overflow: hidden;
	box-shadow: var(--sh-2);
	padding: 22px;
}
.pg-purchase .price-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.pg-purchase .price-row .lab { font-family: var(--font-display); font-weight: 600; font-size: 18px; }
.pg-purchase .price-row .value { font-family: var(--font-display); font-weight: 700; font-size: 26px; color: var(--ink); }
.pg-purchase .price-row .cta { padding: 8px 16px; border-radius: 999px; font-size: 12px; font-weight: 600; }
.pg-purchase .price-row .cta-gold { padding: 8px 16px; border-radius: 999px; font-size: 11.5px; font-weight: 700; letter-spacing: .02em; cursor: default; }
.pg-purchase .price-row.member { margin-top: 22px; }
.pg-purchase .vat-note { font-size: 11.5px; color: var(--slate-500); margin-top: 4px; }

.pg-purchase .auto-replenish {
	margin-top: 24px;
	padding: 14px;
	border-radius: 12px;
	background: var(--blue-soft);
	border: 1px solid #DAE7F5;
}
.pg-purchase .auto-replenish .head { display: flex; align-items: center; gap: 10px; justify-content: space-between; }
.pg-purchase .auto-replenish .text { display: flex; align-items: center; gap: 10px; }
.pg-purchase .auto-replenish .ico {
	width: 34px; height: 34px; border-radius: 10px;
	background: #fff; color: var(--blue);
	display: flex; align-items: center; justify-content: center;
}
.pg-purchase .auto-replenish .t { font-weight: 600; font-size: 13.5px; }
.pg-purchase .auto-replenish .d { font-size: 11.5px; color: var(--slate-600); }
.pg-purchase .auto-replenish .toggle {
	position: relative; width: 44px; height: 24px;
	border-radius: 999px;
	background: var(--slate-300); border: 0; cursor: not-allowed;
	flex-shrink: 0;
}
.pg-purchase .auto-replenish .toggle .thumb {
	position: absolute; top: 3px; left: 3px;
	width: 18px; height: 18px; border-radius: 999px;
	background: #fff;
	transition: left .15s;
	box-shadow: 0 1px 3px rgba(0,0,0,.2);
}
.pg-purchase .auto-replenish .toggle[aria-checked="true"] { background: var(--blue); }
.pg-purchase .auto-replenish .toggle[aria-checked="true"] .thumb { left: 23px; }

.pg-purchase .qty-cart { margin-top: 22px; display: flex; gap: 10px; }
.pg-purchase .qty-stepper {
	display: flex; align-items: center;
	border: 1.5px solid var(--ink); border-radius: 10px;
	overflow: hidden;
}
.pg-purchase .qty-stepper button { width: 42px; height: 48px; border: 0; }
.pg-purchase .qty-stepper .minus { background: var(--slate-100); color: var(--slate-500); }
.pg-purchase .qty-stepper .plus  { background: var(--ink); color: #fff; }
.pg-purchase .qty-stepper .qty-input {
	width: 56px; height: 48px; border: 0; outline: 0;
	text-align: center; font-size: 16px; font-weight: 600;
	background: #fff;
	-moz-appearance: textfield;
}
.pg-purchase .qty-stepper .qty-input::-webkit-outer-spin-button,
.pg-purchase .qty-stepper .qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.pg-purchase .add-cart {
	flex: 1; height: 48px;
	font-size: 14px; font-weight: 700;
	letter-spacing: .04em; text-transform: uppercase;
	justify-content: center; border-radius: 10px;
}

.pg-purchase .cheaper {
	display: flex; align-items: center; justify-content: space-between;
	padding: 14px 6px 0;
	font-size: 14px; color: var(--blue); font-weight: 500;
	margin-top: 8px;
}

.pg-purchase .trust {
	margin-top: 22px;
	background: var(--paper); border-radius: 14px;
	padding: 4px;
}
.pg-purchase .trust .row {
	display: flex; align-items: center; gap: 12px;
	padding: 12px 14px;
	border-bottom: 1px solid var(--hairline);
	font-size: 13px; font-weight: 500; color: var(--ink);
}
.pg-purchase .trust .row:last-child { border-bottom: 0; }
.pg-purchase .trust .ico {
	width: 28px; height: 28px; border-radius: 8px;
	background: #fff; color: var(--blue);
	display: flex; align-items: center; justify-content: center;
}

/* Related parts carousel (under the purchase card) */
.kv-related-carousel {
	margin-top: 18px;
	background: #fff; border: 1px solid var(--hairline-2); border-radius: 16px;
	padding: 16px;
}
.kv-related-carousel .rc-head {
	display: flex; align-items: center; justify-content: space-between;
	margin-bottom: 12px;
}
.kv-related-carousel .rc-title {
	font-family: var(--font-display); font-weight: 600; font-size: 15px; color: var(--ink);
}
.kv-related-carousel .rc-nav { display: flex; gap: 6px; }
.kv-related-carousel .rc-arrow {
	width: 28px; height: 28px; border-radius: 999px;
	border: 1px solid var(--hairline-2); background: #fff; color: var(--ink);
	display: flex; align-items: center; justify-content: center; cursor: pointer;
	transition: border-color .15s, color .15s;
}
.kv-related-carousel .rc-arrow:hover { border-color: var(--blue); color: var(--blue); }
.kv-related-carousel .rc-viewport { overflow: hidden; }
.kv-related-carousel .rc-track { display: flex; transition: transform .3s ease; }
.kv-related-carousel .rc-slide { flex: 0 0 100%; min-width: 0; }
.kv-related-carousel .rc-card { display: flex; flex-direction: column; }
.kv-related-carousel .rc-thumb {
	position: relative;
	height: 220px; border-radius: 12px; background: var(--slate-50);
	display: flex; align-items: center; justify-content: center; overflow: hidden;
}
.kv-related-carousel .rc-thumb .oem-seal { position: absolute; top: 8px; right: 8px; }
.kv-related-carousel .rc-body { padding-top: 14px; text-align: center; }
.kv-related-carousel .rc-name {
	font-family: var(--font-display); font-weight: 600; font-size: 14.5px;
	color: var(--ink); line-height: 1.25;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.kv-related-carousel .rc-sku { font-family: var(--font-mono); font-size: 11.5px; color: var(--blue); margin-top: 4px; }
.kv-related-carousel .rc-brand { font-size: 11.5px; color: var(--slate-500); margin-top: 2px; }
.kv-related-carousel .rc-price { font-family: var(--font-display); font-weight: 700; font-size: 20px; color: var(--ink); margin-top: 10px; }
.kv-related-carousel .rc-add { width: 100%; justify-content: center; margin-top: 10px; }
.kv-related-carousel .rc-add--login { background: var(--ink); color: #fff; }
.kv-related-carousel .rc-add--login:hover { background: var(--blue); color: #fff; }

/* Tabs */
.kv-product-tabs { padding: 0 32px 24px; }
.kv-product-tabs .tab-bar {
	border-bottom: 1px solid var(--hairline);
	display: flex; gap: 36px; font-size: 14px; font-weight: 500;
	overflow-x: auto;
}
.kv-product-tabs .tab {
	padding: 16px 0;
	border: 0; background: transparent;
	border-bottom: 2px solid transparent;
	color: var(--slate-500); font-weight: 500;
	white-space: nowrap; cursor: pointer;
}
.kv-product-tabs .tab.is-active { color: var(--ink); border-bottom-color: var(--ink); font-weight: 600; }
.kv-product-tabs .tab-panels { padding-top: 32px; }
.kv-product-tabs .panel { display: none; }
.kv-product-tabs .panel.is-active { display: block; }
.kv-product-tabs .panel .grid {
	display: grid; grid-template-columns: 2fr 1fr; gap: 56px;
}
.kv-product-tabs .panel .long h3 { font-size: 24px; margin-bottom: 16px; }
.kv-product-tabs .panel .long .prose { font-size: 15px; line-height: 1.7; color: var(--slate-700); max-width: 640px; }
.kv-product-tabs .panel .checklist { margin-top: 24px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.kv-product-tabs .panel .check { display: flex; gap: 10px; font-size: 13.5px; color: var(--slate-700); align-items: flex-start; }
.kv-product-tabs .panel .check .dot {
	width: 22px; height: 22px; border-radius: 999px;
	background: #DCFCE7; color: #14532D;
	display: flex; align-items: center; justify-content: center;
	flex: 0 0 22px;
}
.kv-product-tabs .panel .fits-card {
	background: #fff; border-radius: 18px;
	border: 1px solid var(--hairline);
	padding: 22px;
	align-self: start;
}
.kv-product-tabs .panel .fits-card .head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.kv-product-tabs .panel .fits-card .title { font-family: var(--font-display); font-weight: 600; font-size: 18px; }
.kv-product-tabs .panel .fits-card .more { font-size: 12px; color: var(--blue); font-weight: 500; }
.kv-product-tabs .panel .fits-card .models { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.kv-product-tabs .panel .fits-card .model {
	padding: 10px 12px; border-radius: 10px;
	background: var(--paper);
	font-size: 12.5px;
	display: flex; justify-content: space-between; align-items: center;
}
.kv-product-tabs .panel .fits-card .model .name { font-weight: 600; }
.kv-product-tabs .panel .fits-card .model .parts { font-size: 11px; color: var(--blue); display: inline-flex; align-items: center; gap: 2px; }

.kv-product-tabs .panel .model-cards {
	display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 14px;
}
.kv-product-tabs .panel .model-card {
	background: #fff; border: 1px solid var(--hairline); border-radius: 14px;
	padding: 16px;
}
.kv-product-tabs .panel .model-card .m-name { font-family: var(--font-display); font-weight: 600; font-size: 16px; color: var(--blue); margin-bottom: 10px; }
.kv-product-tabs .panel .model-card .m-link { display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: var(--blue); font-weight: 500; }

.kv-product-tabs .panel .suitable-grid {
	display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 14px;
}
.kv-product-tabs .panel .suitable-card {
	display: flex; align-items: center; gap: 14px;
	background: #fff; border: 1px solid var(--hairline); border-radius: 14px;
	padding: 12px; transition: border-color .15s, box-shadow .15s, transform .15s;
}
.kv-product-tabs .panel .suitable-card:hover { border-color: var(--blue); box-shadow: var(--sh-2); transform: translateY(-2px); }
.kv-product-tabs .panel .suitable-card .thumb {
	flex: 0 0 auto; width: 64px; height: 64px;
	display: flex; align-items: center; justify-content: center;
	background: var(--slate-50); border-radius: 10px; overflow: hidden;
}
.kv-product-tabs .panel .suitable-card .info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.kv-product-tabs .panel .suitable-card .name {
	font-family: var(--font-display); font-weight: 600; font-size: 14px; color: var(--ink); line-height: 1.25;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.kv-product-tabs .panel .suitable-card .sku { font-family: var(--font-mono); font-size: 11.5px; color: var(--blue); }
.kv-product-tabs .panel .suitable-card .brand { font-size: 11px; color: var(--slate-500); }

.kv-product-tabs .panel .spec-table table { width: 100%; border-collapse: collapse; font-size: 14px; }
.kv-product-tabs .panel .spec-table th { padding: 13px 22px; background: #FAFAF6; font-weight: 600; text-align: left; width: 30%; }
.kv-product-tabs .panel .spec-table td { padding: 13px 22px; }
.kv-product-tabs .panel .spec-table tr { border-top: 1px solid var(--hairline); }

/* Related */
.kv-related { padding: 60px 32px 60px; }

/* ── Cart page ── */
.kv-cart-page { background: #CCCCCC; }

.kv-checkout-stepper { padding: 24px 32px 0; }
.kv-checkout-stepper .row {
	display: flex; align-items: center; gap: 14px; justify-content: center;
}
.kv-checkout-stepper .step {
	display: flex; align-items: center; gap: 10px;
	color: var(--slate-400);
}
.kv-checkout-stepper .step.is-active { color: var(--ink); }
.kv-checkout-stepper .step .num {
	width: 28px; height: 28px; border-radius: 999px;
	background: transparent; color: var(--slate-500);
	border: 1.5px solid var(--hairline-2);
	display: flex; align-items: center; justify-content: center;
	font-family: var(--font-mono); font-weight: 600; font-size: 12px;
}
.kv-checkout-stepper .step.is-active .num { background: var(--ink); color: #fff; border: 0; }
.kv-checkout-stepper .step .lab { font-weight: 500; font-size: 13.5px; }
.kv-checkout-stepper .step.is-active .lab { font-weight: 600; }
.kv-checkout-stepper .line { flex: 0 0 56px; height: 1px; background: var(--hairline-2); }

.kv-cart-body {
	padding: 32px 32px 80px;
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 28px;
}

.kv-cart-head { display: flex; align-items: baseline; gap: 14px; }
.kv-cart-head h1 { font-size: 40px; letter-spacing: -.02em; }
.kv-cart-head .meta { font-size: 13px; color: var(--slate-500); }

.kv-cart-lines {
	margin-top: 24px;
	background: #fff;
	border-radius: 18px;
	border: 1px solid var(--hairline);
	overflow: hidden;
}
.kv-cart-line {
	display: grid;
	grid-template-columns: 120px 1fr auto auto;
	gap: 20px;
	padding: 22px;
	border-top: 1px solid var(--hairline);
	align-items: start;
}
.kv-cart-line:first-child { border-top: 0; }
.kv-cart-line .thumb {
	height: 96px; width: 96px;
	background: linear-gradient(135deg, #EFF2F6 0%, #DEE3EB 100%);
	border-radius: 10px;
	display: flex; align-items: center; justify-content: center;
	padding: 8px;
	border: 1px solid var(--hairline);
}
.kv-cart-line .body .sku { font-size: 11px; color: var(--blue); }
.kv-cart-line .body .name { font-weight: 600; font-size: 16px; margin-top: 4px; color: var(--ink); display: block; }
.kv-cart-line .body .meta { font-size: 12.5px; color: var(--slate-500); margin-top: 4px; }
.kv-cart-line .body .pills { display: flex; gap: 8px; margin-top: 10px; flex-wrap: wrap; }
.kv-cart-line .body .actions { display: flex; gap: 18px; margin-top: 14px; font-size: 12.5px; }
.kv-cart-line .body .actions .save { color: var(--blue); font-weight: 500; }
.kv-cart-line .body .actions .remove { color: var(--slate-500); }
.kv-cart-line .body .actions .remove:hover { color: var(--oem-red); }

.kv-cart-line .kv-qty-stepper {
	display: flex; align-items: center;
	border: 1px solid var(--hairline-2);
	border-radius: 999px;
	padding: 2px 4px;
}
.kv-cart-line .kv-qty-stepper button {
	width: 28px; height: 28px; border-radius: 999px;
	border: 0; background: transparent; cursor: pointer;
}
.kv-cart-line .kv-qty-stepper .plus { background: var(--ink); color: #fff; }
.kv-cart-line .kv-qty-stepper input {
	min-width: 24px; width: 30px;
	text-align: center;
	font-size: 13px; font-weight: 600;
	background: transparent; border: 0; outline: 0;
	-moz-appearance: textfield;
}
.kv-cart-line .kv-qty-stepper input::-webkit-outer-spin-button,
.kv-cart-line .kv-qty-stepper input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.kv-cart-line .totals { text-align: right; }
.kv-cart-line .totals .big {
	font-family: var(--font-display);
	font-size: 22px; font-weight: 600;
	font-variant-numeric: tabular-nums;
}
.kv-cart-line .totals .big .cur { font-size: 13px; color: var(--slate-500); font-weight: 400; }
.kv-cart-line .totals .unit { font-size: 11.5px; color: var(--slate-500); margin-top: 2px; }

.kv-cart-empty {
	background: #fff; border-radius: 18px;
	border: 1px solid var(--hairline);
	padding: 60px 32px;
	text-align: center;
	margin-top: 24px;
}
.kv-cart-empty h2 { font-size: 28px; margin-bottom: 12px; }
.kv-cart-empty p { color: var(--slate-500); margin-bottom: 24px; }

.kv-cart-extras {
	margin-top: 16px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}
.kv-cart-extras .promo-card {
	background: #fff; border-radius: 14px;
	border: 1px solid var(--hairline);
	padding: 14px;
	display: flex; align-items: center; gap: 10px;
}
.kv-cart-extras .promo-card .ico {
	width: 36px; height: 36px; border-radius: 10px;
	background: var(--paper-2);
	display: flex; align-items: center; justify-content: center;
}
.kv-cart-extras .promo-card input {
	flex: 1; border: 0; outline: 0; font-size: 13px;
	background: transparent;
}
.kv-cart-extras .promo-card .kv-btn { padding: 8px 14px; font-size: 12px; }

.kv-cart-extras .upsell-card {
	background: linear-gradient(135deg, #1A1303, #0E2148);
	border-radius: 14px;
	padding: 14px;
	color: #fff;
	display: flex; align-items: center; gap: 14px;
}
.kv-cart-extras .upsell-card .ico {
	width: 36px; height: 36px; border-radius: 999px;
	background: #E0BC6F; color: #1a1303;
	display: flex; align-items: center; justify-content: center;
	font-size: 18px;
}
.kv-cart-extras .upsell-card .copy { flex: 1; }
.kv-cart-extras .upsell-card .t { font-weight: 600; font-size: 13.5px; }
.kv-cart-extras .upsell-card .d { font-size: 11.5px; color: rgba(255,255,255,.6); margin-top: 2px; }
.kv-cart-extras .upsell-card .join { padding: 7px 14px; font-size: 12px; }

.kv-cart-aside { position: sticky; top: 16px; align-self: start; }

.kv-cart-summary {
	background: #fff; border-radius: 18px;
	border: 1px solid var(--hairline);
	padding: 24px;
}
.kv-cart-summary .head { font-family: var(--font-display); font-weight: 600; font-size: 22px; }
.kv-cart-summary .rows {
	margin-top: 20px;
	display: flex; flex-direction: column; gap: 10px;
	font-size: 14px;
}
.kv-cart-summary .rows .row { display: flex; justify-content: space-between; }
.kv-cart-summary .rows .row.member-pre { color: var(--slate-500); }
.kv-cart-summary .rows .row.discount span:last-child { color: #0F6B3F; font-weight: 600; }
.kv-cart-summary .rows .tnum { font-variant-numeric: tabular-nums; }
.kv-cart-summary .rows .free { color: #0F6B3F; font-weight: 600; }

.kv-cart-summary .total-row {
	margin-top: 18px; padding-top: 18px;
	border-top: 1px solid var(--hairline);
	display: flex; justify-content: space-between; align-items: baseline;
}
.kv-cart-summary .total-row .lab { font-weight: 600; }
.kv-cart-summary .total-row .amt {
	font-family: var(--font-display);
	font-size: 32px; font-weight: 600;
	letter-spacing: -.02em;
}
.kv-cart-summary .total-row .cur { font-size: 16px; color: var(--slate-500); font-weight: 400; }

.kv-cart-summary .continue {
	width: 100%; justify-content: center;
	margin-top: 18px; height: 52px;
	font-size: 14px; font-weight: 600;
}

.kv-cart-summary .trust {
	margin-top: 18px; padding-top: 18px;
	border-top: 1px solid var(--hairline);
	display: flex; flex-direction: column; gap: 10px;
	font-size: 12.5px; color: var(--slate-600);
}
.kv-cart-summary .trust .row { display: flex; gap: 10px; align-items: center; }
.kv-cart-summary .trust .ico { color: var(--blue); display: inline-flex; }

.kv-cart-summary .pay-pills {
	margin-top: 16px; display: flex; justify-content: center; gap: 6px; opacity: .6; flex-wrap: wrap;
}
.kv-cart-summary .pay-pills span {
	font-size: 10px; font-weight: 600;
	padding: 3px 7px; border-radius: 5px;
	background: var(--paper-2);
}

/* ── Checkout page ── */
.kv-checkout-page { background: #CCCCCC; }
.kv-checkout-stepper .step.is-done .num { background: #DCFCE7; color: #14532D; border-color: #DCFCE7; }
.kv-checkout-stepper .step.is-done .lab { color: var(--ink); }

.kv-checkout-body {
	padding: 32px 32px 80px;
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 28px;
}

.kv-checkout-head { margin-bottom: 24px; }
.kv-checkout-head h1 { font-size: 40px; letter-spacing: -.02em; }
.kv-checkout-head .lede { color: var(--slate-500); margin-top: 8px; }

.kv-checkout-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.kv-checkout-fields .col-1, .kv-checkout-fields .col-2 {
	background: #fff; border-radius: 18px;
	border: 1px solid var(--hairline);
	padding: 28px;
}
.kv-checkout-fields h3 { font-size: 22px; margin-bottom: 16px; }

.kv-checkout-form .form-row { margin-bottom: 14px; }
.kv-checkout-form .form-row label {
	display: block;
	font-size: 12.5px; font-weight: 600;
	color: var(--ink);
	margin-bottom: 6px;
}
.kv-checkout-form .form-row .required { color: var(--oem-red); }
.kv-checkout-form .form-row input[type=text],
.kv-checkout-form .form-row input[type=email],
.kv-checkout-form .form-row input[type=tel],
.kv-checkout-form .form-row input[type=password],
.kv-checkout-form .form-row textarea,
.kv-checkout-form .form-row .select2-selection,
.kv-checkout-form .form-row .select2-container--default .select2-selection--single {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid var(--hairline-2);
	border-radius: 10px;
	font: 400 14px var(--font-body);
	background: #fff;
	color: var(--ink);
}
.kv-checkout-form .form-row input:focus,
.kv-checkout-form .form-row textarea:focus { outline: 2px solid var(--blue); outline-offset: -2px; border-color: var(--blue); }
.kv-checkout-form .form-row.form-row-first,
.kv-checkout-form .form-row.form-row-last { display: inline-block; width: calc(50% - 6px); vertical-align: top; }
.kv-checkout-form .form-row.form-row-first { margin-right: 8px; }

.kv-checkout-review-section { margin-top: 28px; background: #fff; border-radius: 18px; border: 1px solid var(--hairline); padding: 28px; }
.kv-checkout-review-section .section-title { font-size: 22px; margin-bottom: 18px; }
.kv-checkout-review-section table.shop_table { width: 100%; border-collapse: collapse; font-size: 14px; }
.kv-checkout-review-section table.shop_table th,
.kv-checkout-review-section table.shop_table td { padding: 10px 12px; border-top: 1px solid var(--hairline); text-align: left; }
.kv-checkout-review-section table.shop_table thead th { background: var(--paper); font-weight: 600; }
.kv-checkout-review-section #payment ul.payment_methods { list-style: none; padding: 0; margin: 18px 0 0; display: flex; flex-direction: column; gap: 10px; }
.kv-checkout-review-section #payment ul.payment_methods li {
	padding: 14px; border: 1px solid var(--hairline-2); border-radius: 12px; background: #fff;
}
.kv-checkout-review-section #payment ul.payment_methods li label { font-weight: 600; display: inline-flex; align-items: center; gap: 10px; }
.kv-checkout-review-section #payment .payment_box { margin-top: 10px; font-size: 13px; color: var(--slate-600); padding-left: 26px; }
.kv-checkout-review-section #place_order {
	margin-top: 18px;
	width: 100%; height: 52px;
	background: var(--ink); color: #fff;
	border: 0; border-radius: 999px;
	font: 600 14px/1 var(--font-body);
	letter-spacing: .04em; text-transform: uppercase;
	cursor: pointer;
}
.kv-checkout-review-section #place_order:hover { background: var(--blue); }

.kv-checkout-aside { position: sticky; top: 16px; align-self: start; }
.kv-checkout-need-account {
	background: var(--blue-soft); border: 1px solid #DAE7F5;
	padding: 22px; border-radius: 14px; margin: 24px 32px;
	color: var(--slate-700);
}

/* ── Account (sign in / sign up) ── */
.kv-account-page {
	padding: 48px 32px 80px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 760px;
	gap: 0;
}
.kv-account-page .pitch {
	border-radius: 24px 0 0 24px;
	background: linear-gradient(135deg, #0E2148 0%, #1A1303 100%);
	color: #fff;
	padding: 56px;
	position: relative; overflow: hidden;
	display: flex; flex-direction: column; justify-content: space-between;
}
.kv-account-page .pitch h1 { font-size: 64px; margin-top: 18px; line-height: 1; color: #fff; }
.kv-account-page .pitch h1 em { font-style: italic; color: #E0BC6F; }
.kv-account-page .pitch .lede { margin-top: 22px; font-size: 16px; line-height: 1.55; color: rgba(255,255,255,.78); max-width: 460px; }
.kv-account-page .pitch .benefits {
	display: grid; grid-template-columns: 1fr 1fr; gap: 14px;
	margin-top: 36px;
}
.kv-account-page .pitch .benefit {
	padding: 14px; border-radius: 12px;
	border: 1px solid rgba(255,255,255,.1);
	background: rgba(255,255,255,.03);
}
.kv-account-page .pitch .benefit .ico { color: #E0BC6F; display: flex; align-items: center; height: 22px; }
.kv-account-page .pitch .benefit .t { font-weight: 600; font-size: 14px; margin-top: 6px; }
.kv-account-page .pitch .benefit .d { font-size: 11.5px; color: rgba(255,255,255,.6); margin-top: 2px; }
.kv-account-page .pitch .signature {
	display: flex; align-items: center; gap: 14px;
	font-size: 12px; color: rgba(255,255,255,.5);
	margin-top: 36px;
}
.kv-account-page .pitch .signature span {
	border-left: 1px solid rgba(255,255,255,.2);
	padding-left: 14px;
}

.kv-account-page .forms {
	background: #fff;
	border-radius: 0 24px 24px 0;
	padding: 40px 56px;
	display: flex; flex-direction: column; justify-content: center;
}
.kv-account-page .tabs {
	display: inline-flex; gap: 6px; padding: 4px;
	background: var(--paper-2);
	border-radius: 999px;
	align-self: flex-start;
}
.kv-account-page .tabs .tab {
	padding: 8px 20px; border-radius: 999px;
	background: transparent; color: var(--slate-500);
	border: 0; cursor: pointer;
	font-size: 13px; font-weight: 500;
}
.kv-account-page .tabs .tab.is-active { background: var(--ink); color: #fff; font-weight: 600; }

.kv-account-page .panel { display: none; }
.kv-account-page .panel.is-active { display: block; }
.kv-account-page .panel h2 { font-size: 40px; margin-top: 30px; letter-spacing: -.02em; }
.kv-account-page .panel .lede { font-size: 14.5px; color: var(--slate-500); margin-top: 8px; }

.kv-account-form { margin-top: 28px; display: flex; flex-direction: column; gap: 16px; }
.kv-account-form .form-row label {
	display: block;
	font-size: 12px; font-weight: 600;
	color: var(--slate-600); letter-spacing: .04em;
	margin-bottom: 6px;
}
.kv-account-form .form-row label.row-between { display: flex; justify-content: space-between; }
.kv-account-form .form-row label .forgot { color: var(--blue); font-weight: 500; }
.kv-account-form .form-row input[type=text],
.kv-account-form .form-row input[type=email],
.kv-account-form .form-row input[type=password],
.kv-account-form .form-row input[type=tel],
.kv-account-form .form-row input[type=file],
.kv-account-form .form-row select,
.kv-account-form .form-row textarea {
	width: 100%;
	padding: 14px 16px; border-radius: 12px;
	border: 1.5px solid var(--hairline-2);
	font-size: 15px; outline: 0; background: #fff;
	color: var(--ink);
}
.kv-account-form .form-row input:focus,
.kv-account-form .form-row select:focus,
.kv-account-form .form-row textarea:focus {
	border-color: var(--blue);
}
.kv-account-form .remember-row {
	display: inline-flex; align-items: center; gap: 10px;
	font-size: 13px; color: var(--slate-700);
	cursor: pointer;
}
.kv-account-form .remember-row input[type=checkbox] { position: absolute; opacity: 0; pointer-events: none; }
.kv-account-form .remember-row .cbox {
	width: 16px; height: 16px; border-radius: 4px;
	border: 1.5px solid var(--hairline-2);
	background: #fff; display: inline-block; position: relative;
	flex-shrink: 0;
}
.kv-account-form .remember-row input:checked + .cbox { background: var(--ink); border-color: var(--ink); }
.kv-account-form .remember-row input:checked + .cbox::after {
	content: '';
	position: absolute; left: 3px; top: 0;
	width: 5px; height: 9px;
	border: solid #fff; border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}
.kv-account-form .submit {
	width: 100%; justify-content: center;
	height: 52px; font-size: 14px; font-weight: 600;
	margin-top: 6px;
}

/* B2B registration form quirks — make the brand dropdown & file inputs visible. */
.kv-account-form .kavero-b2b-fields,
.kv-account-form .kavero-b2b-field { display: flex; flex-direction: column; gap: 6px; }
.kv-account-form .kavero-b2b-section-title { font-size: 13px; font-weight: 700; color: var(--ink); margin-top: 12px; margin-bottom: 4px; text-transform: uppercase; letter-spacing: .04em; }
.kv-account-form .kavero-b2b-description { font-size: 12.5px; color: var(--slate-500); }
.kv-account-form select[multiple] { min-height: 90px; }
.kv-account-form .password-input { position: relative; }
.kv-account-form .password-input .show-password-input {
	position: absolute; right: 14px; top: 50%; transform: translateY(-50%);
	color: var(--slate-400); cursor: pointer;
}

/* My Account dashboard */
.kv-myaccount-page {
	background: #CCCCCC;
	padding: 32px 32px 80px;
}
.kv-myaccount-page .head {
	display: flex; align-items: center; justify-content: space-between;
	margin-bottom: 28px;
}
.kv-myaccount-page .head h1 { font-size: 36px; letter-spacing: -.02em; margin-top: 8px; }
.kv-myaccount-page .woocommerce-MyAccount-navigation {
	background: #fff; border-radius: 14px;
	border: 1px solid var(--hairline);
	padding: 18px;
	margin-bottom: 24px;
}
.kv-myaccount-page .woocommerce-MyAccount-navigation ul {
	display: flex; flex-wrap: wrap; gap: 4px;
	list-style: none; margin: 0; padding: 0;
}
.kv-myaccount-page .woocommerce-MyAccount-navigation li a {
	display: inline-flex; padding: 10px 16px;
	border-radius: 999px;
	font-size: 13.5px; font-weight: 500;
	color: var(--slate-600);
}
.kv-myaccount-page .woocommerce-MyAccount-navigation li.is-active a,
.kv-myaccount-page .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--dashboard a { color: var(--ink); font-weight: 600; }
.kv-myaccount-page .woocommerce-MyAccount-navigation li a:hover { background: var(--paper); }
.kv-myaccount-page .woocommerce-MyAccount-content {
	background: #fff; border-radius: 18px;
	border: 1px solid var(--hairline);
	padding: 28px;
	font-size: 14px; line-height: 1.6;
}
.kv-myaccount-page .woocommerce-MyAccount-content h2,
.kv-myaccount-page .woocommerce-MyAccount-content h3 { font-size: 22px; margin-bottom: 14px; margin-top: 18px; }
.kv-myaccount-page .woocommerce-MyAccount-content table.account-orders-table,
.kv-myaccount-page .woocommerce-MyAccount-content table.shop_table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.kv-myaccount-page .woocommerce-MyAccount-content table th,
.kv-myaccount-page .woocommerce-MyAccount-content table td { padding: 10px 12px; border-top: 1px solid var(--hairline); text-align: left; }
.kv-myaccount-page .woocommerce-MyAccount-content table thead th { background: var(--paper); font-weight: 600; }

/* ── About page ── */
.kv-about { background: #CCCCCC; }
.kv-about > section { padding: 60px 32px; }
.kv-about-hero { display: grid; grid-template-columns: 1.2fr 1fr; gap: 56px; align-items: center; }
.kv-about-hero h1 { font-size: 72px; line-height: 1; letter-spacing: -.035em; margin-top: 14px; }
.kv-about-hero h1 em { font-style: italic; color: var(--blue); }
.kv-about-hero .lede { margin-top: 22px; font-size: 17px; line-height: 1.55; color: var(--slate-600); max-width: 560px; }
.kv-about-hero .hero-stats { display: flex; gap: 32px; margin-top: 32px; flex-wrap: wrap; }
.kv-about-hero .hero-stats div { display: flex; flex-direction: column; }
.kv-about-hero .hero-stats strong { font-family: var(--font-display); font-size: 30px; font-weight: 600; letter-spacing: -.02em; }
.kv-about-hero .hero-stats span { font-size: 12px; color: var(--slate-500); margin-top: 2px; }
.kv-about-hero .visual svg { width: 100%; height: auto; border-radius: 20px; }

.kv-about-mission .head { margin-bottom: 32px; }
.kv-about-mission h2 { font-size: 56px; line-height: 1.02; letter-spacing: -.03em; margin-top: 12px; }
.kv-about-mission h2 em { font-style: italic; color: var(--blue); }
.kv-about-mission .pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.kv-about-mission .pillar { background: #fff; border: 1px solid var(--hairline); border-radius: 18px; padding: 24px; }
.kv-about-mission .pillar .num { font-family: var(--font-mono); font-size: 11px; color: var(--blue); letter-spacing: .12em; }
.kv-about-mission .pillar .t { font-family: var(--font-display); font-weight: 600; font-size: 22px; margin-top: 14px; line-height: 1.15; }
.kv-about-mission .pillar .d { font-size: 13.5px; color: var(--slate-600); margin-top: 10px; line-height: 1.55; }

.kv-about-milestones .head { margin-bottom: 32px; }
.kv-about-milestones .timeline {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px;
	position: relative;
}
.kv-about-milestones .timeline::before {
	content: ''; position: absolute;
	top: 16px; left: 12%; right: 12%; height: 1px;
	background: linear-gradient(90deg, transparent, var(--blue), var(--blue), transparent);
}
.kv-about-milestones .m { display: flex; flex-direction: column; align-items: flex-start; position: relative; padding-top: 32px; }
.kv-about-milestones .m .y { font-family: var(--font-mono); font-size: 13px; color: var(--blue); letter-spacing: .08em; }
.kv-about-milestones .m .dot {
	position: absolute; top: 10px; left: 0;
	width: 14px; height: 14px; border-radius: 999px;
	background: #fff; border: 2px solid var(--blue);
}
.kv-about-milestones .m .card { background: #fff; border: 1px solid var(--hairline); border-radius: 16px; padding: 20px; margin-top: 12px; width: 100%; }
.kv-about-milestones .m .t { font-family: var(--font-display); font-weight: 600; font-size: 20px; }
.kv-about-milestones .m .d { font-size: 13px; color: var(--slate-600); margin-top: 6px; line-height: 1.55; }

.kv-about-values { padding: 60px 32px 80px; }
.kv-about-values .panel { background: #0E2148; color: #fff; border-radius: 24px; padding: 56px; }
.kv-about-values h2 { color: #fff; font-size: 48px; margin-top: 14px; }
.kv-about-values .grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-top: 36px; }
.kv-about-values .value { padding-top: 14px; border-top: 1px solid rgba(255,255,255,.18); }
.kv-about-values .value .num { font-family: var(--font-mono); color: #E0BC6F; font-size: 12px; }
.kv-about-values .value .t { font-family: var(--font-display); font-weight: 600; font-size: 22px; margin-top: 6px; color: #fff; }
.kv-about-values .value .d { font-size: 13.5px; color: rgba(255,255,255,.7); margin-top: 6px; line-height: 1.55; }

/* ── Contact page ── */
.kv-contact { background: #CCCCCC; }
.kv-contact > section { padding: 60px 32px; }

.kv-contact-hero { display: grid; grid-template-columns: 1.4fr 1fr; gap: 56px; align-items: end; padding: 48px 32px 0; }
.kv-contact-hero h1 { font-size: 64px; line-height: 1.02; letter-spacing: -.025em; margin-top: 14px; }
.kv-contact-hero h1 em { font-style: italic; color: var(--blue); }
.kv-contact-hero .lede { margin-top: 20px; font-size: 16px; color: var(--slate-600); max-width: 520px; line-height: 1.55; }
.kv-contact-hero .hours-card {
	background: #fff; border: 1px solid var(--hairline); border-radius: 16px;
	padding: 22px;
}
.kv-contact-hero .hours-card .rows { margin-top: 14px; display: flex; flex-direction: column; gap: 10px; font-size: 14px; }
.kv-contact-hero .hours-card .rows div { display: flex; justify-content: space-between; align-items: center; }
.kv-contact-hero .hours-card .meta { color: var(--slate-500); font-size: 12px; padding-top: 8px; border-top: 1px solid var(--hairline); }

.kv-contact-channels {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px;
	padding: 40px 32px 0;
}
.kv-contact-channels .channel {
	background: #fff; border: 1px solid var(--hairline); border-radius: 16px;
	padding: 22px; display: flex; flex-direction: column; gap: 14px;
	text-decoration: none; color: var(--ink);
}
.kv-contact-channels .channel:hover { border-color: var(--blue); }
.kv-contact-channels .channel .ico {
	width: 48px; height: 48px; border-radius: 12px;
	display: flex; align-items: center; justify-content: center;
}
.kv-contact-channels .channel .t { font-family: var(--font-display); font-weight: 600; font-size: 20px; }
.kv-contact-channels .channel .d { font-size: 13px; color: var(--slate-500); margin-top: 4px; }
.kv-contact-channels .channel .cta { font-size: 13px; font-weight: 600; color: var(--blue); display: inline-flex; align-items: center; gap: 6px; margin-top: auto; }

.kv-contact-form-section { display: grid; grid-template-columns: 1.6fr 1fr; gap: 28px; }
.kv-contact-form-section .form-card,
.kv-contact-form-section .address-card { background: #fff; border: 1px solid var(--hairline); border-radius: 18px; padding: 32px; }
.kv-contact-form-section .form-card h2 { font-size: 28px; }
.kv-contact-form-section .form-card .lede { color: var(--slate-500); margin-top: 8px; }
.kv-contact-form-section .form-card .wpcf7 input:not([type="submit"]),
.kv-contact-form-section .form-card .wpcf7 textarea,
.kv-contact-form-section .form-card .wpcf7 select {
	width: 100%; padding: 12px 14px; border-radius: 10px;
	border: 1px solid var(--hairline-2); font-size: 14px;
	background: #fff; margin-top: 4px;
}
.kv-contact-form-section .form-card .wpcf7-submit {
	background: var(--ink); color: #fff; border: 0;
	padding: 14px 24px; border-radius: 999px; font-weight: 600;
	cursor: pointer;
}
.kv-contact-form-section .address-card .address { display: flex; gap: 10px; margin-top: 14px; color: var(--ink); line-height: 1.55; }
.kv-contact-form-section .address-card .meta { font-family: var(--font-mono); font-size: 11px; color: var(--slate-500); margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--hairline); letter-spacing: .04em; }
.kv-contact-form-section .address-card .callout { margin-top: 16px; padding: 12px; border-radius: 10px; background: var(--paper); font-size: 12.5px; color: var(--slate-700); }

.kv-contact-map { padding: 0 32px 0; }
.kv-contact-map .map-head {
	background: linear-gradient(135deg, #0E2148 0%, #1A1303 100%);
	color: #fff;
	border-radius: 24px 24px 0 0;
	padding: 28px 32px;
	display: flex; align-items: center; justify-content: space-between; gap: 24px;
}
.kv-contact-map .map-head .left { display: flex; align-items: center; gap: 16px; }
.kv-contact-map .map-head .pin-ico { width: 44px; height: 44px; border-radius: 12px; background: rgba(224,188,111,.12); color: #E0BC6F; display: flex; align-items: center; justify-content: center; }
.kv-contact-map .map-head h2 { color: #fff; font-size: 32px; margin-top: 6px; }
.kv-contact-map .map-head h2 em { font-style: italic; color: #E0BC6F; }
.kv-contact-map .map-head .right { display: flex; gap: 10px; }
.kv-contact-map .map-frame {
	background: var(--ink);
	padding: 4px;
	border-left: 1px solid rgba(224,188,111,.4);
	border-right: 1px solid rgba(224,188,111,.4);
}
.kv-contact-map .map-frame iframe { display: block; border-radius: 0; }
.kv-contact-map .map-stats {
	background: var(--ink); color: #fff;
	border-radius: 0 0 24px 24px;
	padding: 24px 32px;
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px;
	border-top: 1px solid rgba(224,188,111,.2);
}
.kv-contact-map .map-stats strong { font-family: var(--font-display); font-size: 28px; font-weight: 600; }
.kv-contact-map .map-stats span { display: block; font-size: 12px; color: rgba(255,255,255,.6); margin-top: 2px; }

.kv-contact-faq .head { margin-bottom: 24px; }
.kv-contact-faq .items { display: flex; flex-direction: column; gap: 10px; }
.kv-contact-faq .item { background: #fff; border: 1px solid var(--hairline); border-radius: 14px; padding: 18px 22px; }
.kv-contact-faq .item summary { font-weight: 600; cursor: pointer; list-style: none; display: flex; align-items: center; justify-content: space-between; }
.kv-contact-faq .item summary::after { content: '+'; color: var(--blue); font-size: 22px; line-height: 1; }
.kv-contact-faq .item[open] summary::after { content: '−'; }
.kv-contact-faq .item p { margin-top: 12px; font-size: 14px; color: var(--slate-700); line-height: 1.6; }

/* ── Terms page ── */
.kv-terms { background: #CCCCCC; }
.kv-terms .hero { padding: 48px 32px 0; display: grid; grid-template-columns: 1.6fr 1fr; gap: 32px; align-items: end; }
.kv-terms .hero h1 { font-size: 64px; line-height: 1.02; letter-spacing: -.025em; margin-top: 14px; }
.kv-terms .hero .lede { color: var(--slate-600); margin-top: 18px; font-size: 16px; max-width: 560px; line-height: 1.55; }
.kv-terms .hero .meta-card { background: #fff; border: 1px solid var(--hairline); border-radius: 16px; padding: 22px; }
.kv-terms .hero .meta-card .row { display: flex; justify-content: space-between; align-items: center; padding: 8px 0; }
.kv-terms .hero .meta-card .lab { font-size: 12px; color: var(--slate-500); letter-spacing: .04em; text-transform: uppercase; font-weight: 600; }
.kv-terms .hero .meta-card .val { font-size: 14px; font-weight: 600; }
.kv-terms .hero .meta-card .meta { color: var(--slate-500); font-size: 12px; padding-top: 10px; border-top: 1px solid var(--hairline); }

.kv-terms .body { padding: 48px 32px 80px; display: grid; grid-template-columns: 260px 1fr; gap: 28px; align-items: start; }
.kv-terms .toc { position: sticky; top: 16px; background: #fff; border: 1px solid var(--hairline); border-radius: 18px; padding: 22px; font-size: 13px; }
.kv-terms .toc ol { list-style: none; padding: 0; margin: 14px 0 0; display: flex; flex-direction: column; gap: 6px; counter-reset: toc; }
.kv-terms .toc ol li a { display: flex; align-items: baseline; gap: 8px; padding: 8px 10px; border-radius: 8px; color: var(--slate-700); }
.kv-terms .toc ol li a:hover { background: var(--paper); color: var(--ink); }
.kv-terms .toc ol li a .n { font-family: var(--font-mono); font-size: 10.5px; color: var(--slate-400); letter-spacing: .08em; }
.kv-terms .toc .ask { display: inline-flex; align-items: center; gap: 8px; margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--hairline); color: var(--blue); font-weight: 600; font-size: 12.5px; }
.kv-terms .content { background: #fff; border: 1px solid var(--hairline); border-radius: 20px; padding: 40px; font-size: 15px; line-height: 1.65; color: var(--slate-700); }
.kv-terms .content .t-section { padding-top: 24px; margin-top: 24px; border-top: 1px solid var(--hairline); }
.kv-terms .content .t-section:first-of-type { padding-top: 0; margin-top: 0; border-top: 0; }
.kv-terms .content .t-section h2 { font-size: 24px; color: var(--ink); margin-bottom: 12px; display: flex; align-items: baseline; gap: 12px; }
.kv-terms .content .t-section h2 .n { font-family: var(--font-mono); color: var(--blue); font-size: 14px; letter-spacing: .08em; }
.kv-terms .content .signature { margin-top: 40px; padding-top: 28px; border-top: 1px solid var(--hairline); font-size: 14px; color: var(--slate-600); }
.kv-terms .content .signature em { color: var(--ink); font-weight: 500; }

/* RTL flips */
[dir="rtl"] .kv-eyebrow::before { transform: scaleX(-1); }
[dir="rtl"] .kv-hero-arrow svg,
[dir="rtl"] .kv-btn svg { transform: scaleX(-1); }

/* ── Brands index page ── */
.kv-brands-hero { padding: 36px 0 4px; }
.kv-brands-hero h1 { font-size: 56px; margin-top: 10px; }
.kv-brands-hero .lede { max-width: 640px; margin-top: 16px; color: var(--slate-600); font-size: 15.5px; line-height: 1.6; }
.kv-brands-hero .lede strong { color: var(--ink); font-weight: 600; }

.kv-brands-featured { padding: 28px 0 8px; }
.kv-brands-featured .kv-section-head { margin-bottom: 20px; }
.kv-brands-featured__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }

/* Brand card (shared by featured strip + lettered grid) */
.kv-brand-card {
	display: flex; align-items: center; gap: 14px;
	padding: 13px; background: #fff;
	border: 1px solid var(--hairline); border-radius: 14px;
	transition: border-color .15s, box-shadow .15s, transform .15s;
}
.kv-brand-card:hover { border-color: var(--blue); box-shadow: var(--sh-2); transform: translateY(-2px); }
.kv-brand-card__logo {
	flex: 0 0 auto; width: 72px; height: 54px;
	display: flex; align-items: center; justify-content: center;
	border-radius: 10px; background: var(--slate-50); overflow: hidden;
}
.kv-brand-card__logo img { max-width: 86%; max-height: 78%; object-fit: contain; }
.kv-brand-card__logo .ini {
	width: 100%; height: 100%;
	display: flex; align-items: center; justify-content: center;
	background: var(--bc, var(--ink)); color: #fff;
	font-family: var(--font-display); font-weight: 700; font-size: 20px; letter-spacing: -.02em;
}
.kv-brand-card__meta { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.kv-brand-card__meta .name {
	font-family: var(--font-display); font-weight: 600; font-size: 15px; letter-spacing: -.02em;
	color: var(--ink); line-height: 1.2;
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.kv-brand-card__meta .count { font-size: 12px; color: var(--slate-500); }

/* Featured variant — larger, centered tile */
.kv-brand-card--feat {
	flex-direction: column; align-items: stretch; text-align: center;
	gap: 14px; padding: 22px 18px;
}
.kv-brand-card--feat .kv-brand-card__logo { width: 100%; height: 86px; }
.kv-brand-card--feat .kv-brand-card__logo .ini { font-size: 30px; }
.kv-brand-card--feat .kv-brand-card__meta { align-items: center; }
.kv-brand-card--feat .kv-brand-card__meta .name { font-size: 16px; white-space: normal; }

/* Sticky search + A-Z toolbar */
.kv-brands-index { padding: 8px 0 64px; }
.kv-brands-toolbar {
	position: sticky; top: 0; z-index: 20;
	display: flex; align-items: center; gap: 18px; flex-wrap: wrap;
	padding: 16px 0; margin-bottom: 12px;
	background: #CCCCCC; border-bottom: 1px solid var(--hairline-2);
}
.kv-brands-search { position: relative; flex: 1 1 280px; max-width: 420px; }
.kv-brands-search svg { position: absolute; left: 15px; top: 50%; transform: translateY(-50%); color: var(--slate-400); pointer-events: none; }
.kv-brands-search input {
	width: 100%; height: 44px; padding: 0 16px 0 42px;
	border: 1px solid var(--hairline-2); border-radius: 999px;
	background: #fff; font: 400 14px var(--font-body); color: var(--ink);
}
.kv-brands-search input:focus { outline: none; border-color: var(--blue); box-shadow: 0 0 0 3px rgba(1,104,161,.12); }
.kv-brands-az { display: flex; flex-wrap: wrap; gap: 2px; margin-left: auto; }
.kv-brands-az .az {
	min-width: 22px; height: 26px; padding: 0 5px;
	display: inline-flex; align-items: center; justify-content: center;
	font-family: var(--font-mono); font-size: 11px; font-weight: 600;
	color: var(--ink); border-radius: 6px; text-decoration: none; cursor: pointer;
	transition: background .15s, color .15s;
}
.kv-brands-az .az:hover { background: #fff; color: var(--blue); }
.kv-brands-az .az.is-disabled { color: var(--slate-300); pointer-events: none; }

.kv-brands-letter { scroll-margin-top: 88px; }
.kv-brands-letter + .kv-brands-letter { margin-top: 30px; }
.kv-brands-letter__head {
	font-family: var(--font-mono); font-size: 13px; font-weight: 600; letter-spacing: .12em;
	color: var(--slate-500); margin: 0 0 12px;
	padding-bottom: 8px; border-bottom: 1px solid var(--hairline);
}
.kv-brands-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }

.kv-brands-empty { padding: 56px 0; text-align: center; color: var(--slate-500); font-size: 15px; }

.kv-brand-card.is-hidden,
.kv-brands-letter.is-hidden,
.kv-brands-featured.is-hidden { display: none; }

[dir="rtl"] .kv-brands-search svg { left: auto; right: 15px; }
[dir="rtl"] .kv-brands-search input { padding: 0 42px 0 16px; }
[dir="rtl"] .kv-brands-az { margin-left: 0; margin-right: auto; }

@media (max-width: 900px) {
	/* ===== Guard: no incidental horizontal scroll on mobile ===== */
	/* position:relative so overflow-x:hidden also clips absolutely-positioned children */
	.kv-page { overflow-x: hidden; position: relative; }

	/* ===== Brands page (existing) ===== */
	.kv-brands-hero h1 { font-size: 40px; }
	.kv-brands-featured__grid { grid-template-columns: repeat(2, 1fr); }
	.kv-brands-az { display: none; }

	/* ===== Header: utility bar ===== */
	.kv-utility { padding: 8px 16px; font-size: 11.5px; }
	.kv-utility .ut-c { display: none; }
	.kv-utility .ut-l, .kv-utility .ut-r { gap: 10px; }

	/* ===== Header: main nav → hamburger drawer ===== */
	.kv-nav { position: relative; padding: 8px 16px; gap: 12px; }
	.kv-nav .kv-logo img { height: 50px !important; }
	.kv-nav-toggle { display: flex; }
	.kv-nav-actions { gap: 6px; }
	.kv-nav-actions .pill-cta { display: none; }
	.kv-mainnav { position: absolute; left: 0; right: 0; top: 100%; z-index: 60; display: none; }
	body.kv-nav-open .kv-mainnav { display: block; }
	.kv-mainnav .kv-mainnav__list,
	.kv-mainnav > ul { flex-direction: column; align-items: stretch; gap: 4px; border-radius: 0 0 14px 14px; padding: 12px; box-shadow: var(--sh-2); }
	.kv-mainnav li { display: block; }
	.kv-mainnav a { width: 100%; border-radius: 8px; padding: 12px 14px; }
	.kv-mainnav .menu-item-has-children > a::after,
	.kv-mainnav a.has-caret::after { margin-left: auto; }
	/* Submenus collapse by default; tap a parent to expand (accordion via nav.js). */
	.kv-mainnav .sub-menu { position: static; display: none; min-width: 0; border: 0; box-shadow: none; border-radius: 8px; background: rgba(255,255,255,.06); padding: 2px 0 2px 14px; margin-top: 2px; }
	.kv-mainnav .menu-item-has-children.is-open > .sub-menu { display: block; opacity: 1; visibility: visible; transform: none; pointer-events: auto; }
	.kv-mainnav .menu-item-has-children.is-open > a::after { transform: rotate(-135deg); }
	.kv-mainnav .sub-menu a { color: rgba(255,255,255,.85); padding: 10px 14px; }

	/* ===== Mega search ===== */
	.kv-megasearch { padding-left: 16px; padding-right: 16px; }
	.kv-megasearch .kbd,
	.kv-megasearch .kv-fibo-kbd { display: none; } /* ⌘K hint is meaningless on touch */
	.kv-megasearch .search,
	.kv-megasearch .kv-fibo-wrap { min-width: 0; gap: 8px; padding: 11px 14px; }
	.kv-megasearch input,
	.kv-megasearch .dgwt-wcas-search-wrapp,
	.kv-megasearch form.dgwt-wcas-search-form,
	.kv-megasearch .dgwt-wcas-search-input { min-width: 0; } /* let flex shrink below intrinsic input width */
	.kv-megasearch .kv-fibo-submit,
	.kv-megasearch .searchbtn { padding: 10px 16px; }

	/* ===== Hero (slider) ===== */
	.kv-hero { padding: 0 16px 8px; }
	.kv-hero-arrow { display: none; }
	.kv-hero-slide-1 { min-height: 0; }
	.kv-hero-slide-1 .diagram { display: none; }
	.kv-hero-slide-1 .copy { padding: 40px 24px 44px; max-width: 100%; }
	.kv-hero-slide-1 h1 { font-size: 46px; }
	.kv-hero-slide-1 .stat-strip { gap: 24px; flex-wrap: wrap; }
	.kv-hero-slide-2 { grid-template-columns: 1fr; min-height: 0; }
	.kv-hero-slide-2 .left { padding: 40px 24px; border-right: 0; border-bottom: 1px solid var(--hairline); }
	.kv-hero-slide-2 .left h1 { font-size: 46px; }
	.kv-hero-slide-2 .left .stat-strip { gap: 24px; margin-top: 32px; flex-wrap: wrap; }
	.kv-hero-slide-2 .right { padding: 28px 24px 76px; }

	/* ===== Homepage sections ===== */
	.kv-finder-section { padding: 16px; }
	.kv-finder { grid-template-columns: 1fr; }
	.kv-finder .find-btn {
		justify-content: center;
		padding: 14px 28px;
		font-size: 16px;
		border-radius: 14px;
	}
	.kv-bento .grid { grid-template-columns: 1fr; }
	.kv-bento .grid > * { grid-column: auto !important; grid-row: auto !important; }
	.kv-shopcat { padding-left: 16px; padding-right: 16px; }
	.kv-shopcat .grid { grid-template-columns: 1fr 1fr; }
	.kv-shopcat .grid > * { grid-column: auto !important; grid-row: auto !important; }
	.kv-way .steps { grid-template-columns: repeat(2, 1fr); }
	.kv-bestsellers .grid { grid-template-columns: repeat(2, 1fr); }
	.kv-brandwall .grid { grid-template-columns: repeat(3, 1fr); }
	.kv-horeca .grid { grid-template-columns: repeat(2, 1fr); }
	.kv-resources .grid { grid-template-columns: 1fr; }
	.kv-why .row { grid-template-columns: 1fr; gap: 32px; }
	.kv-why .cards { grid-template-columns: 1fr 1fr; }

	/* ===== Footer (sitewide) ===== */
	.kv-footer .grid { grid-template-columns: 1fr 1fr; gap: 32px; }

	/* ===== Commerce: Shop / Archive ===== */
	.kv-archive .kv-breadcrumb { padding: 8px 16px 0; }
	.kv-archive .kv-archive-hero { padding: 16px; }
	.kv-archive-hero .hero-panel { padding: 24px; border-radius: 18px; }
	.kv-archive-hero h1 { font-size: 38px; line-height: 1.05; }
	.kv-archive-hero .stats { gap: 18px; flex-wrap: wrap; font-size: 13px; margin-top: 14px; }
	.kv-archive-hero .finder-card { grid-template-columns: 1fr; gap: 8px; padding: 12px; margin-top: 18px; }
	.kv-archive-hero .finder-card .go { width: 100%; padding: 12px 18px; border-radius: 999px; }
	.kv-archive .kv-archive-toolbar { padding: 16px; flex-wrap: wrap; gap: 10px; }
	.kv-archive-toolbar .chip-row { width: 100%; }
	.kv-archive-toolbar .sort-block { width: 100%; justify-content: flex-end; }
	.kv-archive .kv-archive-body { grid-template-columns: 1fr; padding: 16px; gap: 16px; }
	.kv-grid { grid-template-columns: repeat(auto-fill, minmax(165px, 1fr)) !important; gap: 12px; }

	/* Filter rail → mobile drawer (JS injects toggle / close / backdrop) */
	.kv-filter-toggle { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 999px; background: var(--ink); color: #fff; font-weight: 500; font-size: 13.5px; border: 0; cursor: pointer; }
	.kv-filter-toggle svg { stroke: currentColor; flex-shrink: 0; }
	.kv-archive-toolbar .kv-filter-toggle { order: -1; align-self: flex-start; }
	.kv-filter-rail { display: none; }
	body.kv-filters-open .kv-filter-rail { display: block; position: fixed; top: 0; left: 0; width: 88vw; max-width: 360px; height: 100vh; height: 100dvh; max-height: 100vh; max-height: 100dvh; z-index: 1000; background: #fff; padding: 18px; overflow-y: auto; -webkit-overflow-scrolling: touch; box-shadow: 0 20px 50px rgba(0,0,0,.25); }
	.kv-filter-backdrop { display: none; }
	body.kv-filters-open .kv-filter-backdrop { display: block; position: fixed; inset: 0; background: rgba(0,0,0,.5); z-index: 999; }
	.kv-filter-rail .kv-filter-close { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; background: transparent; border: 0; cursor: pointer; font-size: 22px; color: var(--ink); margin-left: auto; }
	body:not(.kv-filters-open) .kv-filter-rail .kv-filter-close { display: none; }

	/* ===== Commerce: Shop landing (/shop/) ===== */
	.kv-shop-landing { padding: 16px 16px 40px; }
	.kv-shop-landing .tiles { grid-template-columns: 1fr; gap: 16px; margin-top: 24px; }
	.kv-shop-landing .tile { padding: 28px; min-height: 360px; border-radius: 22px; }
	.kv-shop-landing .head h2 { font-size: 32px; line-height: 1.1; }

	/* ===== Commerce: Single product (PDP) — reorder mobile sections ===== */
	/* Flatten hero + its 3 sub-containers so all inner items become flex children
	   of .kv-single, then apply CSS order: image → title → price → spec → tabs → delivery. */
	.kv-single { display: flex; flex-direction: column; gap: 16px; padding-bottom: 40px; }
	.kv-single > .kv-breadcrumb { padding: 8px 16px 0; }
	.kv-product-hero { display: contents; }
	.pg-gallery, .pg-middle, .pg-purchase { display: contents; }
	/* Outer margin for flattened items so they breathe within the viewport */
	.pg-gallery .main-image,
	.pg-gallery .thumbs,
	.pg-gallery .gallery-actions,
	.pg-gallery .delivery-card,
	.pg-middle .title-row,
	.pg-middle .product-title,
	.pg-middle .rating-row,
	.pg-middle .spec-table,
	.pg-middle .share-row,
	.pg-purchase > .card,
	.pg-purchase > .cheaper,
	.pg-purchase > .kv-related-carousel { margin-left: 16px; margin-right: 16px; }
	/* Mobile order */
	.pg-gallery .main-image       { order: 1; }
	.pg-gallery .thumbs           { order: 2; }
	.pg-gallery .gallery-actions  { order: 3; }
	.pg-middle .title-row         { order: 4; }
	.pg-middle .product-title     { order: 5; font-size: 30px; }
	.pg-middle .rating-row        { order: 6; }
	.pg-purchase > .card          { order: 7; }
	.pg-middle .spec-table        { order: 8; }
	.pg-middle .share-row         { order: 9; }
	.pg-purchase > .cheaper       { order: 10; }
	.kv-product-tabs              { order: 11; }
	.pg-gallery .delivery-card    { order: 12; }
	.pg-purchase > .kv-related-carousel { order: 13; }

	/* ===== Commerce: Cart ===== */
	.kv-cart-page .kv-cart-body { grid-template-columns: 1fr; padding: 16px; gap: 20px; }
	.kv-cart-head h1 { font-size: 28px; }
	.kv-cart-line { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-start; }
	.kv-cart-line .thumb { width: 80px; height: auto; flex-shrink: 0; }
	.kv-cart-line .body { flex: 1 1 calc(100% - 92px); min-width: 0; }
	/* Push qty + price to the right edge of the wrapped row */
	.kv-cart-line .qty { margin-left: auto; }
	.kv-cart-line .totals { text-align: right; }
	/* Stack the promo-code + become-a-member cards on phones */
	.kv-cart-extras { grid-template-columns: 1fr; gap: 12px; }

	/* ===== Commerce: Checkout ===== */
	.kv-checkout-page .kv-checkout-body { grid-template-columns: 1fr; padding: 16px; gap: 20px; }
	.kv-checkout-head h1 { font-size: 28px; }
	.kv-checkout-stepper { padding: 12px 16px; overflow-x: auto; }
	.kv-checkout-stepper .row { min-width: max-content; }
	.kv-checkout-fields { grid-template-columns: 1fr; gap: 18px; }
}
@media (max-width: 560px) {
	/* ===== Brands (existing) ===== */
	.kv-brands-grid { grid-template-columns: 1fr; }

	/* ===== Utility ===== */
	.kv-utility .ut-l { display: none; }

	/* ===== Hero ===== */
	.kv-hero-slide-1 h1 { font-size: 38px; }
	.kv-hero-slide-1 .copy { padding: 32px 20px 36px; }
	.kv-hero-slide-2 .left h1 { font-size: 38px; }
	.kv-hero-slide-2 .left { padding: 32px 20px; }

	/* ===== Homepage sections → single / tighter ===== */
	.kv-shopcat .grid { grid-template-columns: 1fr; }
	.kv-way .steps { grid-template-columns: 1fr; }
	.kv-brandwall .grid { grid-template-columns: repeat(2, 1fr); }
	.kv-horeca .grid { grid-template-columns: 1fr; }
	.kv-why .cards { grid-template-columns: 1fr; }

	/* ===== Footer ===== */
	.kv-footer .grid { grid-template-columns: 1fr; }

	/* ===== Commerce refinements (small phones) ===== */
	.kv-archive-hero h1 { font-size: 30px; }
	.kv-product-hero h1, .kv-product-hero .product_title { font-size: 24px; }
	.kv-cart-head h1 { font-size: 24px; }
	.kv-checkout-head h1 { font-size: 24px; }
}
