/*
 * Kobra storefront theme (2026 redesign).
 *
 * Built from the design hand-off "Kobra Storefront B": square corners, Barlow
 * Condensed / Barlow / JetBrains Mono, accent #E5343F, dark by default with a
 * light theme on [data-theme="light"]. Elements marked data-k="dark" keep the
 * dark palette in both themes (utility bar, photo heroes, footer, video modal).
 *
 * Breakpoints: "narrow" is below 900px.
 */

@font-face { font-family: "Barlow"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/barlow-400.woff2") format("woff2"); }
@font-face { font-family: "Barlow"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/barlow-500.woff2") format("woff2"); }
@font-face { font-family: "Barlow"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/barlow-600.woff2") format("woff2"); }
@font-face { font-family: "Barlow Condensed"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/barlow-condensed-500.woff2") format("woff2"); }
@font-face { font-family: "Barlow Condensed"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/barlow-condensed-600.woff2") format("woff2"); }
@font-face { font-family: "Barlow Condensed"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/barlow-condensed-700.woff2") format("woff2"); }
@font-face { font-family: "JetBrains Mono"; font-style: normal; font-weight: 400 500; font-display: swap; src: url("../fonts/jetbrains-mono.woff2") format("woff2"); }

/* ---------- Tokens ---------- */

:root,
[data-theme="light"] [data-k="dark"] {
    --k-p2: #151922; --k-bg: #0A0C11; --k-bg2: #0D1016; --k-panel: #11141B; --k-deep: #06070A; --k-deep2: #050608;
    --k-l0: #1A1E27; --k-l1: #252A36; --k-l2: #2C3240; --k-l3: #3A4050; --k-l4: #4A5163; --k-l5: #1C2028;
    --k-p3: #171B24; --k-p4: #1E2430;
    --k-ink: #E9EBEF; --k-ink2: #B7BDC9; --k-ink3: #C9CDD5;
    --k-mut: #9AA1AF; --k-mut2: #7C8494; --k-mut3: #6B7284; --k-mut4: #5B6272;
    --k-err: #FF5A63; --k-ok: #3FB871; --k-warn: #F2B33D; --k-info: #5AA9FF;
    --k-red-text: #FF4651;
    --k-hi: #FFFFFF; --k-hdr: rgba(10, 12, 17, .9); --k-shadow: rgba(0, 0, 0, .55);
    color-scheme: dark;
}

[data-theme="light"] {
    --k-p2: #EEF0F3; --k-bg: #F3F4F6; --k-bg2: #E9EBEF; --k-panel: #FFFFFF; --k-deep: #E2E5EA; --k-deep2: #DDE0E6;
    --k-l0: #E3E6EB; --k-l1: #D3D7DE; --k-l2: #C5CAD3; --k-l3: #A9AFBA; --k-l4: #8A91A0; --k-l5: #DADDE3;
    --k-p3: #E6E9ED; --k-p4: #D9DDE3;
    --k-ink: #0B0D12; --k-ink2: #363C48; --k-ink3: #2A303B;
    --k-mut: #555C6A; --k-mut2: #5F6675; --k-mut3: #646B79; --k-mut4: #8A91A0;
    --k-err: #C41F2A; --k-ok: #1D7F46; --k-warn: #9A6200; --k-info: #1F66C2;
    --k-red-text: #C41F2A;
    --k-hi: #000000; --k-hdr: rgba(243, 244, 246, .92); --k-shadow: rgba(20, 24, 32, .14);
    color-scheme: light;
}

:root {
    --k-red: #E5343F;
    --k-red-hi: #FF4651;
    /* White text needs a deeper red behind it (5:1), and small red text a
       lighter one on dark backgrounds and a deeper one on light (both 4.9:1+). */
    --k-red-fill: #D42A35;
    --k-red-fill-hi: #B91F29;
    --k-well: #E7E9ED;
    --k-well2: #EDEFF2;
    --k-gutter: clamp(20px, 3vw, 40px);
    --k-max: 1480px;
    --k-display: "Barlow Condensed", "Arial Narrow", sans-serif;
    --k-body: "Barlow", system-ui, sans-serif;
    --k-mono: "JetBrains Mono", ui-monospace, monospace;
    --k-ease: cubic-bezier(.2, .8, .2, 1);
}

[data-k="dark"] { color: var(--k-ink); }

/* ---------- Base ---------- */

html { scroll-behavior: smooth; scroll-padding-top: 130px; }

body.k-body {
    margin: 0;
    background: var(--k-bg);
    color: var(--k-ink);
    font-family: var(--k-body);
    font-size: 16px;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    transition: background-color .25s ease, color .25s ease;
}

.k-body *, .k-body *::before, .k-body *::after { box-sizing: border-box; }
/* Bagisto's base CSS sets font-family on every element (*), which breaks
   inheritance; inside the theme, elements inherit unless a rule below sets one. */
.k-body * { font-family: inherit; }
:where(.k-body) a { color: inherit; text-decoration: none; }
:where(.k-body) a:hover { color: var(--k-err); }
.k-body ::selection { background: var(--k-red-fill); color: #fff; }
.k-body summary::-webkit-details-marker { display: none; }
:where(.k-body) img { max-width: 100%; }
.k-body :focus-visible { outline: 2px solid var(--k-red); outline-offset: 2px; }
:where(.k-body) button { font: inherit; color: inherit; }

.k-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.k-skip {
    position: absolute; left: 12px; top: -60px; z-index: 200;
    padding: 12px 18px; background: var(--k-red-fill); color: #fff;
    font: 600 14px/1 var(--k-display); letter-spacing: .1em; text-transform: uppercase;
}
.k-skip:focus { top: 12px; }

.k-wrap { max-width: var(--k-max); margin: 0 auto; padding-left: var(--k-gutter); padding-right: var(--k-gutter); }
.k-section { padding-top: clamp(72px, 9vw, 120px); padding-bottom: clamp(72px, 9vw, 120px); }
.k-band { border-top: 1px solid var(--k-l1); }
.k-band--alt { background: var(--k-bg2); }

/* ---------- Type ---------- */

.k-mono { font: 500 12px/1 var(--k-mono); letter-spacing: .12em; text-transform: uppercase; }
.k-eyebrow { margin: 0; font: 500 12px/1 var(--k-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--k-red-text); }
.k-eyebrow--mut { color: var(--k-mut); }
.k-h1 { margin: 0; font: 700 clamp(40px, 5vw, 72px)/.9 var(--k-display); text-transform: uppercase; text-wrap: balance; }
.k-h2 { margin: 0; font: 700 clamp(36px, 4vw, 60px)/.95 var(--k-display); text-transform: uppercase; text-wrap: balance; }
.k-h2--lg { font-size: clamp(38px, 4.6vw, 68px); }
.k-lead { margin: 0; font: 400 16px/1.6 var(--k-body); color: var(--k-ink2); }
.k-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px 48px; flex-wrap: wrap; margin-bottom: 36px; }
.k-head__text { display: flex; flex-direction: column; gap: 14px; max-width: 760px; }

/* ---------- Buttons ---------- */

.k-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 12px;
    height: 54px; padding: 0 28px; border: 1px solid transparent; background: none; cursor: pointer;
    font: 600 15px/1 var(--k-display); letter-spacing: .1em; text-transform: uppercase; white-space: nowrap;
    transition: background-color .2s, border-color .2s, color .2s;
}
.k-btn--red { background: var(--k-red-fill); color: #fff; }
.k-btn--red:hover { background: var(--k-red-fill-hi); }
.k-btn--line { border-color: var(--k-l4); color: var(--k-ink); }
.k-btn--line:hover { border-color: var(--k-ink); color: var(--k-hi); }
.k-btn--ink { background: var(--k-ink); color: var(--k-bg); }
.k-btn--sm { height: 46px; padding: 0 18px; font-size: 13px; }
.k-btn--md { height: 50px; padding: 0 24px; font-size: 14px; }
.k-btn--block { width: 100%; }
.k-btn[disabled], .k-btn[aria-disabled="true"] { opacity: .45; cursor: not-allowed; }

.k-square {
    width: 46px; height: 46px; display: inline-flex; align-items: center; justify-content: center;
    border: 1px solid var(--k-l3); background: none; cursor: pointer; color: var(--k-ink);
}
.k-square:hover { border-color: var(--k-red); }

.k-textlink {
    align-self: flex-start; padding-bottom: 4px; border-bottom: 1px solid var(--k-red);
    font: 600 14px/1 var(--k-display); letter-spacing: .1em; text-transform: uppercase;
}

/* ---------- Utility bar ---------- */

.k-util { background: var(--k-deep); color: var(--k-mut); border-bottom: 1px solid var(--k-l0); font: 400 11px/1 var(--k-mono); letter-spacing: .06em; text-transform: uppercase; }
.k-util__in { display: flex; justify-content: space-between; gap: 24px; padding-top: 10px; padding-bottom: 10px; white-space: nowrap; }
.k-util__list { display: flex; gap: 20px 32px; flex-wrap: wrap; height: 11px; overflow: hidden; min-width: 0; flex: 1; }
.k-util__dot { color: var(--k-ok); }
.k-util__tel { flex: none; color: var(--k-ink); }

/* ---------- Header ---------- */

.k-hdr { position: sticky; top: 0; z-index: 50; background: var(--k-hdr); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); border-bottom: 1px solid var(--k-l1); }
.k-hdr__row { display: flex; flex-wrap: wrap; align-items: center; column-gap: clamp(12px, 3vw, 40px); row-gap: 12px; min-height: 70px; }
.k-logo { flex: none; display: flex; }
.k-logo img { height: 37px; width: auto; }
.k-logo__light { display: none; }
[data-theme="light"] .k-logo__dark { display: none; }
[data-theme="light"] .k-logo__light { display: block; }

.k-search { position: relative; flex: 1; max-width: 560px; min-width: 0; display: flex; align-items: center; gap: 12px; height: 42px; padding: 0 8px 0 16px; background: var(--k-panel); border: 1px solid var(--k-l2); }
.k-search__gt { font: 500 12px/1 var(--k-mono); color: var(--k-red-text); }
.k-search input { flex: 1; min-width: 0; height: 100%; border: 0; outline: 0; background: none; padding: 0; font: 400 14px/1 var(--k-body); color: var(--k-ink); }
.k-search input::placeholder { color: var(--k-mut); }
.k-search input:focus-visible { outline: none; }
.k-search:focus-within { border-color: var(--k-l4); }
.k-search:has(input:focus-visible) { outline: 2px solid var(--k-red); outline-offset: 2px; }
.k-search input::-webkit-search-cancel-button { display: none; }
.k-search__key { font: 500 11px/1 var(--k-mono); color: var(--k-mut); border: 1px solid var(--k-l2); padding: 5px 7px; }
.k-search__clear { display: none; width: 28px; height: 28px; align-items: center; justify-content: center; border: 0; background: none; cursor: pointer; color: var(--k-mut); font: 400 18px/1 var(--k-body); }
.k-search.has-q .k-search__clear { display: flex; }
.k-search.has-q .k-search__key { display: none; }

.k-sugg { position: absolute; top: calc(100% + 6px); left: -1px; right: -1px; z-index: 55; background: var(--k-bg2); border: 1px solid var(--k-l2); box-shadow: 0 24px 48px var(--k-shadow); max-height: min(620px, calc(100vh - 140px)); overflow-y: auto; }
.k-sugg[hidden] { display: none; }
.k-sugg__grp { padding: 18px; display: flex; flex-direction: column; gap: 12px; }
.k-sugg__grp + .k-sugg__grp { padding-top: 6px; }
.k-sugg__lbl { font: 500 10px/1 var(--k-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--k-mut); }
.k-chips { display: flex; gap: 6px; flex-wrap: wrap; }
.k-chip { height: 32px; padding: 0 12px; display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--k-l3); background: none; cursor: pointer; font: 500 14px/1 var(--k-body); color: var(--k-ink); }
.k-chip:hover { border-color: var(--k-red); color: var(--k-ink); }
.k-chip__arr { color: var(--k-red-text); }
.k-sugg__list { list-style: none; margin: 0; padding: 0; }
.k-sugg__item { display: flex; align-items: center; gap: 14px; padding: 10px 18px; }
.k-sugg__item.is-active, .k-sugg__item:hover { background: var(--k-panel); box-shadow: inset 2px 0 0 var(--k-red); color: var(--k-ink); }
.k-sugg__img { width: 52px; height: 52px; flex: none; background: var(--k-well2); display: flex; align-items: center; justify-content: center; }
.k-sugg__img img { width: 86%; height: 86%; object-fit: contain; mix-blend-mode: multiply; }
.k-sugg__txt { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.k-sugg__title { font: 600 16px/1.1 var(--k-display); letter-spacing: .02em; text-transform: uppercase; color: var(--k-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.k-sugg__sub { font: 400 13px/1.2 var(--k-body); color: var(--k-mut); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.k-sugg__lv { flex: none; padding: 5px 7px; background: var(--k-red-fill); font: 500 10px/1 var(--k-mono); letter-spacing: .1em; color: #fff; }
.k-sugg__price { flex: none; min-width: 84px; text-align: right; font: 600 15px/1 var(--k-body); color: var(--k-ink); font-variant-numeric: tabular-nums; }
.k-sugg__all { width: 100%; padding: 14px 18px; border: 0; border-top: 1px solid var(--k-l1); background: none; cursor: pointer; display: flex; justify-content: space-between; gap: 12px; font: 500 11px/1 var(--k-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--k-ink); }
.k-sugg__all:hover { background: var(--k-panel); }
.k-sugg__none { padding: 20px 18px; display: flex; flex-direction: column; gap: 8px; }
.k-sugg__none b { font: 600 17px/1.2 var(--k-display); text-transform: uppercase; color: var(--k-ink); }
.k-sugg__none span { font: 400 14px/1.5 var(--k-body); color: var(--k-mut); }

.k-actions { display: flex; align-items: center; gap: clamp(14px, 1.6vw, 24px); flex: none; margin-left: auto; font: 600 13px/1 var(--k-display); letter-spacing: .08em; text-transform: uppercase; }
.k-act { height: 42px; min-width: 42px; display: flex; align-items: center; justify-content: center; gap: 8px; white-space: nowrap; color: var(--k-ink); }
.k-act--finder { padding: 0 14px; border: 1px solid var(--k-red); }
.k-act--finder:hover { background: var(--k-red-fill); color: #fff; }
.k-act--finder .k-q { color: var(--k-red-text); font-size: 16px; }
.k-act--finder:hover .k-q { color: #fff; }
.k-act--theme { width: 42px; border: 1px solid var(--k-l3); background: none; cursor: pointer; }
.k-act--theme:hover { border-color: var(--k-red); }
.k-act--theme .k-moon { display: none; }
[data-theme="light"] .k-act--theme .k-sun { display: none; }
[data-theme="light"] .k-act--theme .k-moon { display: block; }
.k-act--cart { position: relative; padding: 0 16px; gap: 10px; background: var(--k-red-fill); color: #fff; }
.k-act--cart:hover { background: var(--k-red-fill-hi); }
.k-act__count { font: 500 12px/1 var(--k-mono); }
.k-act__badge { display: none; }
.k-act--menu { width: 42px; border: 1px solid var(--k-l3); background: none; cursor: pointer; display: none; }
.k-ico-only { display: none; }

/* Primary nav */
.k-nav { position: relative; border-top: 1px solid var(--k-l0); }
.k-nav__list { list-style: none; margin: 0 auto; max-width: var(--k-max); padding: 0 var(--k-gutter); display: flex; flex-wrap: wrap; column-gap: clamp(18px, 2.4vw, 36px); font: 600 14px/1 var(--k-display); letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.k-nav__item { position: relative; }
.k-nav__link { display: flex; align-items: center; gap: 7px; padding: 14px 0; color: var(--k-ink); }
.k-nav__link svg { transition: transform .2s; }
.k-nav__bar { position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--k-red-fill); transform: scaleX(0); transition: transform .25s ease; }
.k-nav__item.is-open .k-nav__link,
.k-nav__item.is-current .k-nav__link { color: var(--k-err); }
.k-nav__item.is-open .k-nav__link svg { transform: rotate(180deg); }
.k-nav__item.is-open .k-nav__bar { transform: scaleX(1); }

/* Mega menu */
.k-mega { position: absolute; top: 100%; left: 0; right: 0; background: var(--k-bg2); border-top: 1px solid var(--k-l1); border-bottom: 1px solid var(--k-l1); box-shadow: 0 30px 60px var(--k-shadow); max-height: calc(100vh - 120px); overflow: auto; }
.k-mega[hidden] { display: none; }
.k-mega__in { padding-top: 36px; padding-bottom: 40px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 36px clamp(24px, 3vw, 48px); align-items: start; }
.k-mega__col { display: flex; flex-direction: column; gap: 18px; }
.k-mega__head { display: flex; flex-direction: column; gap: 8px; padding-bottom: 14px; border-bottom: 1px solid var(--k-l1); }
.k-mega__kick { font: 500 11px/1 var(--k-mono); letter-spacing: .12em; color: var(--k-red-text); text-transform: uppercase; }
.k-mega__title { font: 600 22px/1 var(--k-display); letter-spacing: .02em; text-transform: uppercase; color: var(--k-ink); }
.k-mega__links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.k-mega__link { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 9px 0; font: 400 15px/1.3 var(--k-body); color: var(--k-ink3); }
.k-mega__link:hover, .k-mega__link.is-peek { color: var(--k-red-text); }
.k-mega__link span { font: 400 12px/1 var(--k-mono); color: var(--k-mut4); }
.k-levels { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--k-l1); border: 1px solid var(--k-l1); }
.k-levels a { display: flex; align-items: center; justify-content: center; height: 52px; background: var(--k-bg2); font: 500 14px/1 var(--k-mono); letter-spacing: .04em; color: var(--k-ink); }
.k-levels a:hover { background: var(--k-red-fill); color: #fff; }
.k-mega__note { margin: 0; font: 400 13px/1.5 var(--k-body); color: var(--k-mut); }
.k-feat { display: flex; flex-direction: column; background: var(--k-panel); border: 1px solid var(--k-l1); }
.k-feat:hover { border-color: var(--k-red); }
.k-feat__img { height: 180px; padding: 16px; background: #F2F3F5; display: flex; align-items: center; justify-content: center; }
.k-feat__img img { max-width: 100%; max-height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.k-feat__body { display: flex; flex-direction: column; gap: 8px; padding: 16px 18px 18px; }
.k-feat__name { font: 600 20px/1.05 var(--k-display); text-transform: uppercase; color: var(--k-ink); }
.k-feat__sub { font: 400 13px/1.45 var(--k-body); color: var(--k-mut); }

/* Mobile drawer */
.k-drawer { position: fixed; inset: 0; z-index: 95; display: flex; visibility: hidden; }
.k-drawer.is-open { visibility: visible; }
.k-drawer__scrim { position: absolute; inset: 0; background: rgba(0, 0, 0, .55); opacity: 0; transition: opacity .3s; }
.k-drawer.is-open .k-drawer__scrim { opacity: 1; }
.k-drawer__panel { position: relative; width: min(90vw, 400px); height: 100%; background: var(--k-bg); border-right: 1px solid var(--k-l1); display: flex; flex-direction: column; overflow: auto; box-shadow: 0 0 60px var(--k-shadow); transform: translateX(-100%); transition: transform .35s var(--k-ease); }
.k-drawer.is-open .k-drawer__panel { transform: none; }
.k-drawer__top { display: flex; justify-content: space-between; align-items: center; padding: 14px 16px; border-bottom: 1px solid var(--k-l1); position: sticky; top: 0; background: var(--k-bg); z-index: 1; }
.k-close { width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--k-l3); background: none; cursor: pointer; color: var(--k-ink); font: 400 22px/1 var(--k-body); }
.k-close:hover { border-color: var(--k-red); }
.k-mnav { list-style: none; margin: 0; padding: 0; }
.k-mnav > li { border-bottom: 1px solid var(--k-l1); }
.k-mnav__btn { width: 100%; min-height: 56px; padding: 0 20px; display: flex; justify-content: space-between; align-items: center; border: 0; background: none; cursor: pointer; font: 600 19px/1 var(--k-display); letter-spacing: .06em; text-transform: uppercase; color: var(--k-ink); text-align: left; }
.k-mnav__btn svg { transition: transform .2s; }
.k-mnav__btn[aria-expanded="true"] { color: var(--k-err); }
.k-mnav__btn[aria-expanded="true"] svg { transform: rotate(180deg); }
.k-mnav__sub { padding: 0 20px 18px; display: flex; flex-direction: column; gap: 18px; background: var(--k-bg2); }
.k-mnav__sub[hidden] { display: none; }
.k-mnav__grp { display: flex; flex-direction: column; padding-top: 16px; }
.k-mnav__grp > a:first-child { display: flex; justify-content: space-between; align-items: center; min-height: 40px; font: 600 16px/1.1 var(--k-display); letter-spacing: .04em; text-transform: uppercase; color: var(--k-red-text); }
.k-mnav__grp > a + a { display: flex; align-items: center; min-height: 44px; border-top: 1px solid var(--k-l1); font: 400 16px/1.3 var(--k-body); color: var(--k-ink2); }
.k-drawer__foot { padding: 20px 16px 28px; display: flex; flex-direction: column; gap: 10px; margin-top: auto; }
.k-drawer__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.k-drawer__grid > * { height: 48px; display: flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid var(--k-l3); background: none; cursor: pointer; font: 600 15px/1 var(--k-display); letter-spacing: .1em; text-transform: uppercase; color: var(--k-ink); }
.k-drawer__call { padding-top: 8px; font: 500 11px/1 var(--k-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--k-mut); }

/* ---------- Footer ---------- */

.k-services { border-top: 1px solid var(--k-l1); background: var(--k-bg2); }
.k-services ul { list-style: none; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.k-services li { padding: 30px 24px 34px 0; display: flex; flex-direction: column; gap: 8px; }
.k-services b { font: 600 20px/1.1 var(--k-display); text-transform: uppercase; }
.k-services span:last-child { font: 400 13px/1.45 var(--k-body); color: var(--k-mut); }

.k-foot { background: var(--k-deep); color: var(--k-mut); border-top: 1px solid var(--k-l1); }
.k-foot__grid { padding-top: clamp(56px, 7vw, 90px); padding-bottom: 36px; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 44px; }
.k-foot__brand { display: flex; flex-direction: column; gap: 18px; grid-column: span 2; max-width: 460px; }
.k-foot__brand img { height: 44px; width: auto; align-self: flex-start; }
.k-foot__brand p { margin: 0; font: 400 15px/1.6 var(--k-body); }
.k-foot__form { display: flex; flex-direction: column; gap: 10px; }
.k-foot__form label { font: 600 16px/1 var(--k-display); letter-spacing: .06em; text-transform: uppercase; color: var(--k-ink); }
.k-foot__field { display: flex; border: 1px solid var(--k-l3); }
.k-foot__field input { flex: 1; min-width: 0; height: 44px; padding: 0 14px; border: 0; outline: 0; background: none; font: 400 14px/1 var(--k-body); color: var(--k-ink); }
.k-foot__field button { padding: 0 18px; border: 0; background: var(--k-red-fill); color: #fff; cursor: pointer; font: 600 13px/1 var(--k-display); letter-spacing: .1em; text-transform: uppercase; }
.k-foot__nav { display: flex; flex-direction: column; font: 400 14px/1.3 var(--k-body); }
.k-foot__nav span { font: 500 11px/1 var(--k-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--k-mut3); margin-bottom: 6px; }
.k-foot__nav a { display: flex; align-items: center; min-height: 36px; }
.k-foot__nav a.is-lead { color: var(--k-ink); }
.k-foot__nap { font-style: normal; font: 400 14px/1.6 var(--k-body); }
.k-foot__nap a { color: var(--k-ink); }
.k-foot__base { padding-top: 22px; padding-bottom: 30px; border-top: 1px solid var(--k-l0); display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font: 400 11px/1.4 var(--k-mono); color: var(--k-mut3); text-transform: uppercase; }

/* ---------- Floating controls ---------- */

.k-fab { position: fixed; left: 20px; bottom: calc(20px + env(safe-area-inset-bottom)); z-index: 85; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; pointer-events: none; transition: opacity .4s ease, transform .5s var(--k-ease); }
.k-fab.is-hidden { opacity: 0; transform: translateY(20px); }
.k-fab__btn { pointer-events: auto; width: 56px; height: 56px; display: flex; align-items: center; justify-content: center; border: 0; cursor: pointer; background: var(--k-ink); color: var(--k-bg); box-shadow: 0 12px 30px rgba(0, 0, 0, .35); }
.k-fab__btn:hover { background: var(--k-red-fill); color: #fff; }
.k-fab__btn .k-x { display: none; }
.k-fab.is-open .k-fab__btn .k-x { display: block; }
.k-fab.is-open .k-fab__btn .k-chat { display: none; }
.k-fab.is-hidden .k-fab__btn { pointer-events: none; }
.k-fab__menu { display: flex; flex-direction: column; gap: 8px; min-width: 240px; opacity: 0; transform: translateY(12px); transform-origin: bottom left; visibility: hidden; pointer-events: none; transition: opacity .3s ease, transform .4s var(--k-ease), visibility .4s; }
.k-fab.is-open .k-fab__menu { opacity: 1; transform: none; visibility: visible; pointer-events: auto; }
.k-fab__row { display: flex; align-items: center; gap: 14px; min-height: 56px; padding: 8px 18px 8px 8px; background: var(--k-panel); border: 1px solid var(--k-l2); color: var(--k-ink); box-shadow: 0 10px 26px var(--k-shadow); }
.k-fab__row:hover { border-color: var(--k-red); color: var(--k-ink); }
.k-fab__ico { width: 40px; height: 40px; flex: none; display: flex; align-items: center; justify-content: center; background: var(--k-red-fill); color: #fff; }
.k-fab__ico--mail { background: var(--k-l4); }
.k-fab__ico--wa { background: #1FAF54; }
.k-fab__txt { display: flex; flex-direction: column; gap: 5px; }
.k-fab__txt b { font: 600 15px/1 var(--k-display); letter-spacing: .1em; text-transform: uppercase; }
.k-fab__txt span { font: 400 13px/1 var(--k-body); color: var(--k-mut); }

/* Cart drawer */
.k-cscrim { position: fixed; inset: 0; z-index: 70; background: rgba(5, 6, 8, .72); opacity: 0; pointer-events: none; transition: opacity .3s ease; }
.k-cart.is-open + .k-cscrim, .k-cscrim.is-open { opacity: 1; pointer-events: auto; }
.k-cart { position: fixed; top: 0; right: 0; bottom: 0; z-index: 71; width: min(460px, 100%); background: var(--k-bg); border-left: 1px solid var(--k-l1); display: flex; flex-direction: column; transform: translateX(100%); visibility: hidden; transition: transform .42s var(--k-ease), visibility .42s; }
.k-cart.is-open { transform: none; visibility: visible; }
.k-cart__head { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 22px 24px; border-bottom: 1px solid var(--k-l1); }
.k-cart__head > span { display: flex; flex-direction: column; gap: 8px; }
.k-cart__kick { font: 500 11px/1 var(--k-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--k-mut); }
.k-cart__kick.is-added { color: var(--k-ok); }
.k-cart__title { font: 700 26px/1 var(--k-display); text-transform: uppercase; }
.k-cart__body { flex: 1; overflow-y: auto; padding: 8px 24px 24px; display: flex; flex-direction: column; gap: 28px; }
.k-cart__empty { padding: 48px 0; display: flex; flex-direction: column; gap: 18px; align-items: flex-start; }
.k-cart__empty b { font: 700 32px/1 var(--k-display); text-transform: uppercase; }
.k-cart__lines { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.k-line { display: flex; gap: 16px; padding: 18px 12px; margin: 0 -12px; border-bottom: 1px solid var(--k-l0); }
.k-line__img { width: 80px; height: 80px; flex: none; background: var(--k-well2); display: flex; align-items: center; justify-content: center; }
.k-line__img img { width: 84%; height: 84%; object-fit: contain; mix-blend-mode: multiply; }
.k-line__main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 10px; }
.k-line__top { display: flex; justify-content: space-between; gap: 10px; }
.k-line__name { font: 600 18px/1.05 var(--k-display); text-transform: uppercase; }
.k-line__price { font: 500 15px/1 var(--k-body); font-variant-numeric: tabular-nums; flex: none; }
.k-line__ctl { display: flex; align-items: center; gap: 14px; }
.k-qty { display: flex; align-items: center; height: 36px; border: 1px solid var(--k-l3); }
.k-qty button { width: 36px; height: 100%; display: flex; align-items: center; justify-content: center; border: 0; background: none; cursor: pointer; }
.k-qty span, .k-qty input { min-width: 28px; width: 36px; text-align: center; font: 500 13px/1 var(--k-mono); border: 0; background: none; color: var(--k-ink); }
.k-qty--lg { height: 54px; }
.k-qty--lg button { width: 46px; font-size: 18px; }
.k-qty--lg input { width: 48px; font-size: 15px; }
.k-remove { display: inline-flex; align-items: center; min-height: 44px; border: 0; background: none; cursor: pointer; font: 500 10px/1 var(--k-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--k-mut); text-decoration: underline; text-underline-offset: 4px; }
.k-cart__up { display: flex; flex-direction: column; gap: 16px; }
.k-cart__up ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 1px; background: var(--k-l1); border: 1px solid var(--k-l1); }
.k-cart__up li { background: var(--k-bg); padding: 14px; display: flex; align-items: center; gap: 14px; }
.k-cart__up .k-line__img { width: 64px; height: 64px; }
.k-cart__up li > div:nth-child(2) { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.k-cart__up b { font: 600 16px/1.1 var(--k-display); text-transform: uppercase; }
.k-cart__up li span { font: 400 14px/1 var(--k-body); color: var(--k-ink2); }
.k-addsm { flex: none; height: 40px; padding: 0 14px; display: flex; align-items: center; border: 1px solid var(--k-l3); background: none; cursor: pointer; font: 600 13px/1 var(--k-display); letter-spacing: .1em; text-transform: uppercase; color: var(--k-ink); }
.k-addsm:hover { border-color: var(--k-red); }
.k-addsm[href] { text-decoration: none; }
.k-cart__upg { display: flex; flex-direction: column; gap: 10px; }
.k-cart__uph { margin: 0; font: 500 11px/1 var(--k-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--k-mut); }
.k-cart__up li a { color: inherit; }
.k-cart__up li > div:nth-child(2) a:hover b { color: var(--k-red-text); }
.k-cart__upmore { font: 600 13px/1 var(--k-display); letter-spacing: .1em; text-transform: uppercase; color: var(--k-ink); }
.k-addons__grp { display: flex; flex-direction: column; gap: 12px; margin-top: 24px; }
.k-addons__h { margin: 0; font: 500 12px/1 var(--k-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--k-mut); }
.k-addons { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 8px; }
.k-addons li { background: var(--k-bg); border: 1px solid var(--k-l1); padding: 14px 16px; display: flex; align-items: center; gap: 14px; min-width: 0; }
.k-addons__img { flex: none; width: 72px; height: 72px; background: var(--k-well); display: flex; align-items: center; justify-content: center; }
.k-addons__img img { max-width: 100%; max-height: 100%; object-fit: contain; }
.k-addons__txt { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.k-addons__txt a { color: inherit; }
.k-addons__txt b { font: 600 16px/1.15 var(--k-display); text-transform: uppercase; }
.k-addons__txt a:hover b { color: var(--k-red-text); }
.k-addons__txt > span { font: 400 14px/1 var(--k-body); color: var(--k-ink2); }
.k-wa { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: clamp(20px, 3vw, 40px); margin-top: 24px; }
.k-wa__box, .k-wa__terms { display: flex; flex-direction: column; gap: 14px; }
.k-wa__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 1px; background: var(--k-l1); border: 1px solid var(--k-l1); }
.k-wa__list li { background: var(--k-bg); padding: 12px 16px; font: 400 15px/1.4 var(--k-body); }
.k-wa__list li::before { content: "✓"; color: var(--k-ok); margin-right: 10px; }
.k-wa__grid { margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--k-l1); border: 1px solid var(--k-l1); }
.k-wa__grid div { background: var(--k-bg); padding: 16px; display: flex; flex-direction: column; gap: 8px; }
.k-wa__grid dt { font: 500 11px/1.2 var(--k-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--k-mut); }
.k-wa__grid dd { margin: 0; font: 700 clamp(22px, 2.2vw, 28px)/1 var(--k-display); text-transform: uppercase; }
.k-wa__note { margin: 0; font: 400 14px/1.5 var(--k-body); color: var(--k-ink2); }
.k-wa__full summary { cursor: pointer; font: 600 14px/1 var(--k-display); letter-spacing: .08em; text-transform: uppercase; }
.k-wa__full p { font: 400 13px/1.55 var(--k-body); color: var(--k-ink2); margin: 12px 0 0; }
.k-fits { list-style: none; margin: 20px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.k-fits a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border: 1px solid var(--k-l2); color: var(--k-ink); font: 600 14px/1 var(--k-display); letter-spacing: .06em; text-transform: uppercase; }
.k-fits a:hover { border-color: var(--k-red); }
.k-cart__foot { padding: 20px 24px 24px; border-top: 1px solid var(--k-l1); background: var(--k-bg2); display: flex; flex-direction: column; gap: 14px; }
.k-cart__foot[hidden] { display: none; }
.k-cart__sub { display: flex; justify-content: space-between; align-items: baseline; }
.k-cart__sub span { font: 600 16px/1 var(--k-display); letter-spacing: .08em; text-transform: uppercase; }
.k-cart__sub b { font: 700 28px/1 var(--k-display); font-variant-numeric: tabular-nums; }
.k-cart__note { margin: 0; font: 400 13px/1.4 var(--k-body); color: var(--k-mut); }
.k-cart__foot .k-btn { height: 56px; font-size: 17px; }
.k-cart__foot .k-btn--line { height: 48px; font-size: 16px; border-color: var(--k-l3); }
.k-cart.is-busy .k-cart__body { opacity: .6; pointer-events: none; }

/* Video modal */
.k-vm { position: fixed; inset: 0; z-index: 90; background: rgba(5, 6, 8, .9); display: flex; align-items: center; justify-content: center; padding: clamp(12px, 4vw, 56px); }
.k-vm[hidden] { display: none; }
.k-vm__box { width: min(1200px, 100%); display: flex; flex-direction: column; gap: 14px; }
.k-vm__head { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.k-vm__head > span { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.k-vm__title { font: 700 clamp(20px, 2.2vw, 30px)/1 var(--k-display); text-transform: uppercase; color: var(--k-ink); }
.k-vm__frame { position: relative; aspect-ratio: 16 / 9; max-height: calc(100vh - 160px); background: #000; border: 1px solid var(--k-l1); }
.k-vm__frame iframe, .k-vm__frame video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* Toast */
.k-toast { position: fixed; top: 132px; right: 24px; z-index: 60; background: var(--k-panel); border: 1px solid var(--k-red); padding: 16px 20px; display: flex; flex-direction: column; gap: 6px; min-width: 260px; transition: opacity .3s, transform .3s; }
.k-toast[hidden] { display: none; }
.k-toast span { font: 500 11px/1 var(--k-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--k-ok); }
.k-toast.is-error { border-color: var(--k-err); }
.k-toast.is-error span { color: var(--k-err); }
.k-toast b { font: 600 18px/1.2 var(--k-display); text-transform: uppercase; }

/* ---------- Product card ---------- */

.k-card { height: 100%; display: flex; flex-direction: column; background: var(--k-panel); border: 1px solid var(--k-l1); }
.k-card:hover { border-color: var(--k-red); color: var(--k-ink); }
.k-card__img { position: relative; aspect-ratio: 4 / 4.4; background: var(--k-well); display: flex; align-items: center; justify-content: center; }
.k-card__img img { width: 74%; height: 82%; object-fit: contain; mix-blend-mode: multiply; }
.k-card__lv { position: absolute; top: 0; left: 0; background: var(--k-red-fill); color: #fff; font: 500 12px/1 var(--k-mono); padding: 8px 10px; }
.k-card__body { padding: 18px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.k-card__name { margin: 0; font: 600 24px/1 var(--k-display); text-transform: uppercase; }
.k-card__specs { font: 400 12px/1.5 var(--k-mono); color: var(--k-mut); }
.k-card__foot { margin-top: auto; padding-top: 12px; border-top: 1px solid var(--k-l1); display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.k-card__price { font: 600 18px/1 var(--k-body); }
.k-card__stock { font: 400 11px/1 var(--k-mono); color: var(--k-ok); text-transform: uppercase; }
.k-card__quote { font: 400 11px/1 var(--k-mono); color: var(--k-mut); text-transform: uppercase; }

.k-rail { list-style: none; margin: 0; padding: 0; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(260px, calc((100% - 48px) / 4)); gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; scroll-behavior: smooth; }
.k-rail::-webkit-scrollbar { display: none; }
.k-rail > li { scroll-snap-align: start; min-width: 0; }

/* ---------- Home ---------- */

.k-hero { position: relative; background: var(--k-bg); min-height: clamp(620px, 88vh, 900px); overflow: hidden; border-bottom: 1px solid var(--k-l1); }
.k-slide { position: absolute; inset: 0; opacity: 0; pointer-events: none; transition: opacity .9s ease; }
.k-slide.is-on { opacity: 1; pointer-events: auto; }
.k-slide__img { position: absolute; top: 0; right: 0; bottom: 88px; width: 70%; height: calc(100% - 88px); object-fit: cover; }
.k-slide__shade { position: absolute; inset: 0 0 88px 0; background: linear-gradient(90deg, var(--k-bg) 34%, rgba(10, 12, 17, .6) 52%, rgba(10, 12, 17, 0) 72%), linear-gradient(0deg, var(--k-bg) 0, rgba(10, 12, 17, 0) 90px); }
.k-slide__box { position: relative; padding-top: clamp(64px, 11vh, 130px); }
.k-slide__txt { max-width: 640px; display: flex; flex-direction: column; gap: 24px; }
.k-slide__h { margin: 0; font: 700 clamp(54px, 7vw, 112px)/.9 var(--k-display); text-transform: uppercase; text-wrap: balance; }
.k-slide__p { margin: 0; max-width: 480px; font: 400 18px/1.55 var(--k-body); color: var(--k-ink2); }
.k-slide .k-btn { align-self: flex-start; }
.k-tabs { position: absolute; left: 0; right: 0; bottom: 0; height: 88px; padding: 0 var(--k-gutter); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; align-items: center; background: var(--k-bg); border-top: 1px solid var(--k-l1); }
.k-tab { display: flex; flex-direction: column; gap: 12px; min-width: 0; min-height: 44px; padding: 0 0 6px; border: 0; background: none; cursor: pointer; color: var(--k-mut); text-align: left; }
.k-tab[aria-selected="true"] { color: #fff; }
.k-tab__bar { position: relative; display: block; height: 2px; background: var(--k-l3); overflow: hidden; }
.k-tab__fill { position: absolute; inset: 0; background: var(--k-red-fill); transform: scaleX(0); transform-origin: center; }
.k-tab[aria-selected="true"] .k-tab__fill { transform: scaleX(1); }
.k-hero.is-playing .k-tab[aria-selected="true"] .k-tab__fill { animation: kFill 5s linear forwards; }
.k-hero.is-paused .k-tab[aria-selected="true"] .k-tab__fill { animation-play-state: paused; }
.k-tab__lbl { display: flex; gap: 10px; align-items: baseline; min-width: 0; }
.k-tab__num { font: 500 11px/1 var(--k-mono); flex: none; }
.k-tab__name { font: 600 15px/1 var(--k-display); letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.k-tab__dot { display: none; width: 8px; height: 8px; border-radius: 50%; background: var(--k-l4); }
@keyframes kFill { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.k-hero__pause { position: absolute; right: var(--k-gutter); bottom: 104px; z-index: 2; width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--k-l2); background: var(--k-bg); color: var(--k-ink); cursor: pointer; }
.k-hero__pause:hover { border-color: var(--k-l4); }
.k-hero__ico-play, .k-hero__pause.is-stopped .k-hero__ico-pause { display: none; }
.k-hero__pause.is-stopped .k-hero__ico-play { display: block; }

/* Security scale */
.k-scale { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); border: 1px solid var(--k-l1); }
.k-scale__lv { display: flex; flex-direction: column; gap: 18px; padding: 20px 18px; border: 0; border-right: 1px solid var(--k-l1); background: transparent; color: var(--k-ink); cursor: pointer; text-align: left; transition: background .2s; }
.k-scale__lv[aria-selected="true"] { background: var(--k-red-fill); color: #fff; }
.k-scale__id { font: 700 40px/.9 var(--k-display); }
.k-scale__sq { height: 56px; display: flex; align-items: flex-end; }
.k-scale__sq span { display: block; background: currentColor; }
.k-scale__meta { display: flex; flex-direction: column; gap: 6px; }
.k-scale__meta span:first-child { font: 500 12px/1 var(--k-mono); }
.k-scale__meta span:last-child { font: 400 11px/1 var(--k-mono); opacity: .7; }
.k-scale__lv[aria-selected="true"] .k-scale__meta span:last-child { opacity: 1; }
.k-scale__panel { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 24px; border: 1px solid var(--k-l1); border-top: 0; padding: clamp(20px, 3vw, 36px); background: var(--k-panel); }
.k-scale__panel[hidden] { display: none; }
.k-scale__info { display: flex; flex-direction: column; gap: 16px; justify-content: space-between; }
.k-scale__info > div { display: flex; flex-direction: column; gap: 12px; }
.k-scale__big { font: 700 72px/.85 var(--k-display); color: var(--k-red-text); }
.k-scale__use { margin: 0; font: 500 18px/1.4 var(--k-body); }
.k-scale__max { margin: 0; font: 400 13px/1.4 var(--k-mono); color: var(--k-mut); }
.k-scale__prods { grid-column: span 2; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 12px; }
.k-mini { display: flex; flex-direction: column; background: var(--k-p3); border: 1px solid var(--k-l1); }
.k-mini:hover { border-color: var(--k-red); color: var(--k-ink); }
.k-mini__img { aspect-ratio: 1; background: var(--k-well); display: flex; align-items: center; justify-content: center; }
.k-mini__img img { width: 78%; height: 82%; object-fit: contain; mix-blend-mode: multiply; }
.k-mini__body { padding: 14px; display: flex; justify-content: space-between; gap: 8px; align-items: baseline; }
.k-mini__name { font: 600 17px/1.1 var(--k-display); text-transform: uppercase; letter-spacing: .02em; }
.k-mini__price { font: 400 12px/1 var(--k-mono); color: var(--k-ink2); white-space: nowrap; }

/* Lines */
.k-lines { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 12px; }
.k-line-tile { position: relative; display: flex; flex-direction: column; justify-content: flex-end; aspect-ratio: 16 / 9; min-width: 0; min-height: min(190px, 52vw); overflow: hidden; border: 1px solid var(--k-l1); background: var(--k-bg); }
.k-line-tile:hover { border-color: var(--k-red); box-shadow: inset 0 -3px 0 var(--k-red); }
.k-line-tile > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.k-line-tile::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(to top, rgba(8, 10, 14, .94) 0%, rgba(8, 10, 14, .62) 42%, rgba(8, 10, 14, .12) 100%); }
.k-line-tile__txt { position: relative; z-index: 2; display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; padding: 22px 24px; }
.k-line-tile__txt > span:first-child { display: flex; flex-direction: column; gap: 6px; }
.k-line-tile b { font: 700 clamp(26px, 2.2vw, 32px)/.95 var(--k-display); letter-spacing: .02em; text-transform: uppercase; color: #fff; }
.k-line-tile small { font: 400 15px/1.35 var(--k-body); color: #D5D9E0; }
.k-arrow { flex: none; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; background: var(--k-red-fill); color: #fff; font: 400 16px/1 var(--k-body); }

/* Applications */
.k-apps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 1px; background: var(--k-l1); border: 1px solid var(--k-l1); }
.k-apps > li { background: var(--k-bg); }
.k-apps a { display: flex; flex-direction: column; gap: 16px; padding: 16px; height: 100%; }
.k-apps a:hover { background: var(--k-panel); color: var(--k-ink); }
.k-apps__img { aspect-ratio: 1; background: var(--k-well); display: flex; align-items: center; justify-content: center; }
.k-apps__img img { width: 70%; height: 80%; object-fit: contain; mix-blend-mode: multiply; }
.k-apps__txt { display: flex; flex-direction: column; gap: 6px; }
.k-apps__txt b { font: 600 20px/1 var(--k-display); text-transform: uppercase; letter-spacing: .02em; }
.k-apps__txt span { font: 400 12px/1.3 var(--k-mono); color: var(--k-mut); }

/* Digital media */
.k-dm__photo { position: relative; height: clamp(320px, 46vw, 620px); background: var(--k-bg); overflow: hidden; }
.k-dm__photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 60%; }
.k-dm__photo::after { content: ""; position: absolute; inset: auto 0 0 0; height: 60%; background: linear-gradient(transparent, var(--k-bg)); }
.k-dm__grid { position: relative; margin-top: -120px; padding-bottom: clamp(72px, 9vw, 120px); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: clamp(32px, 4vw, 64px); }
.k-dm__txt { display: flex; flex-direction: column; gap: 20px; }
.k-dm__txt .k-lead { font-size: 17px; max-width: 520px; }
.k-dm__list { list-style: none; margin: 0; padding: 0; align-self: end; border: 1px solid var(--k-l1); background: var(--k-panel); }
.k-dm__row { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 14px 18px 14px 14px; border-bottom: 1px solid var(--k-l1); }
.k-dm__list li:last-child .k-dm__row { border-bottom: 0; }
.k-dm__row:hover { background: var(--k-p3); color: var(--k-ink); }
.k-dm__img { width: 72px; height: 72px; background: var(--k-well); display: flex; align-items: center; justify-content: center; }
.k-dm__img img { width: 84%; height: 84%; object-fit: contain; mix-blend-mode: multiply; }
.k-dm__name { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.k-dm__name b { font: 600 20px/1 var(--k-display); text-transform: uppercase; }
.k-dm__name span { font: 400 13px/1.35 var(--k-body); color: var(--k-mut); }
.k-dm__price { font: 500 13px/1 var(--k-mono); white-space: nowrap; }

/* Split rows (engineering, FlexPack, about) */
.k-split { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr)); gap: clamp(32px, 4vw, 72px); align-items: center; }
.k-split--top { align-items: start; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); }
.k-photo { aspect-ratio: 4 / 3; background: var(--k-l5); border: 1px solid var(--k-l1); overflow: hidden; }
.k-photo img { width: 100%; height: 100%; object-fit: cover; }
.k-feats { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--k-l1); }
.k-feats li { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 16px; padding: 20px 0; border-bottom: 1px solid var(--k-l1); }
.k-feats__n { font: 500 13px/1.4 var(--k-mono); color: var(--k-red-text); }
.k-feats li > span:last-child { display: flex; flex-direction: column; gap: 6px; }
.k-feats h3 { margin: 0; font: 600 22px/1.05 var(--k-display); text-transform: uppercase; }
.k-feats p { margin: 0; font: 400 15px/1.55 var(--k-body); color: var(--k-ink2); }
.k-stack { display: flex; flex-direction: column; gap: 28px; }
.k-stack--22 { gap: 22px; max-width: 540px; }
.k-stack--22 .k-lead { font-size: 17px; }
.k-video { position: relative; aspect-ratio: 16 / 10; background: var(--k-well); border: 1px solid var(--k-l1); overflow: hidden; }
.k-video__play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; border: 0; background: none; cursor: pointer; padding: 0; }
.k-video__play img { width: 60%; height: 84%; object-fit: contain; mix-blend-mode: multiply; }
.k-video__lbl { position: absolute; left: 0; bottom: 0; height: 56px; padding: 0 22px; display: flex; align-items: center; gap: 14px; background: var(--k-red-fill); color: #fff; font: 600 14px/1 var(--k-display); letter-spacing: .1em; text-transform: uppercase; }
.k-video__tri { width: 0; height: 0; border-left: 11px solid #fff; border-top: 7px solid transparent; border-bottom: 7px solid transparent; }
.k-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.k-about h2 { font-size: clamp(32px, 3.4vw, 50px); line-height: .98; }
.k-about__txt { display: flex; flex-direction: column; gap: 18px; font: 400 16px/1.7 var(--k-body); color: var(--k-ink2); }
.k-about__txt p { margin: 0; }

/* ---------- Narrow (below 900px) ---------- */

@media (max-width: 899.98px) {
    .k-hdr__row { padding: 12px 16px; column-gap: 12px; }
    .k-search { flex: 1 1 100%; order: 3; max-width: 100%; }
    .k-actions { gap: 8px; }
    .k-act--finder { padding: 0; width: 42px; }
    .k-act--account { width: 42px; }
    .k-act--theme { display: none; }
    .k-act--cart { width: 42px; padding: 0; }
    .k-act--menu { display: flex; order: 9; }
    .k-act__badge { display: flex; position: absolute; top: -7px; right: -7px; min-width: 18px; height: 18px; padding: 0 4px; align-items: center; justify-content: center; background: var(--k-ink); color: var(--k-bg); font: 500 10px/1 var(--k-mono); }
    .k-txt-only { display: none; }
    .k-ico-only { display: block; }
    .k-nav { display: none; }

    .k-foot__brand { grid-column: auto; }
    .k-scale__prods { grid-column: auto; }

    .k-slide__img { width: 100%; }
    .k-slide__shade { background: linear-gradient(0deg, var(--k-bg) 0, var(--k-bg) 30%, rgba(10, 12, 17, .75) 52%, rgba(10, 12, 17, 0) 72%); }
    .k-slide__box { position: absolute; left: 0; right: 0; bottom: 88px; padding: 0 20px 32px; }
    .k-slide__txt { gap: 16px; }
    .k-slide__h { font-size: clamp(40px, 11vw, 60px); }
    .k-slide__p { font-size: 16px; }
    .k-tabs { gap: 14px; grid-template-columns: var(--k-tabcols, minmax(0, 1fr) 28px 28px 28px); transition: grid-template-columns .3s; }
    .k-tab:not([aria-selected="true"]) .k-tab__lbl { display: none; }
    .k-tab:not([aria-selected="true"]) .k-tab__dot { display: block; }

    .k-dm__grid { margin-top: 0; padding-top: 36px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .k-slide, .k-cart, .k-drawer__panel, .k-fab, .k-fab__menu { transition: none; }
    .k-hero.is-playing .k-tab[aria-selected="true"] .k-tab__fill { animation: none; }
}

/* Drawer theme toggle label */
.k-drawer__grid .k-moon { display: none; }
[data-theme="light"] .k-drawer__grid .k-sun { display: none; }
[data-theme="light"] .k-drawer__grid .k-moon { display: inline; }

.k-card-wrap { height: 100%; }
.k-dm__txt > .k-btn, .k-stack > .k-btn { align-self: flex-start; }


/* ---------- Listing (category, search, security level) ---------- */

.k-phead { border-bottom: 1px solid var(--k-l1); background: var(--k-bg2); }
.k-phead__in { padding-top: 28px; padding-bottom: 48px; display: flex; flex-direction: column; gap: 36px; }
.k-crumbs { list-style: none; margin: 0; padding: 0; display: flex; gap: 10px; flex-wrap: wrap; font: 400 12px/1 var(--k-mono); color: var(--k-mut); text-transform: uppercase; }
.k-crumbs [aria-current] { color: var(--k-ink); }
.k-phead__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 20px 64px; align-items: end; }
.k-phead__h1 { margin: 0; font: 700 clamp(46px, 6vw, 92px)/.9 var(--k-display); text-transform: uppercase; text-wrap: balance; }
.k-phead__intro { margin: 0; font: 400 17px/1.6 var(--k-body); color: var(--k-ink2); max-width: 560px; }

.k-listing { display: flex; flex-wrap: wrap; gap: 40px; padding-top: 36px; align-items: flex-start; }
.k-fsheet { flex: 0 0 300px; width: 300px; position: sticky; top: 120px; align-self: flex-start; }
.k-fsheet__scrim, .k-fsheet__x, .k-fsheet__foot { display: none; }
.k-listing.is-collapsed .k-fsheet { display: none; }
.k-filters { display: flex; flex-direction: column; gap: 1px; background: var(--k-l1); border: 1px solid var(--k-l1); max-height: calc(100vh - 140px); overflow: auto; scrollbar-width: thin; scrollbar-color: var(--k-l2) transparent; }
.k-filters__head { display: flex; justify-content: space-between; align-items: center; padding: 16px 20px; background: var(--k-bg2); font: 600 16px/1 var(--k-display); letter-spacing: .08em; text-transform: uppercase; }
.k-filters__tools { display: flex; align-items: center; gap: 14px; }
.k-clear { min-height: 44px; display: inline-flex; align-items: center; font: 500 11px/1 var(--k-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--k-err); }
.k-fgroup { background: var(--k-panel); }
.k-fgroup > summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 17px 20px; font: 600 14px/1 var(--k-display); letter-spacing: .08em; text-transform: uppercase; color: var(--k-ink); }
.k-fgroup > summary:hover { background: var(--k-p2); }
.k-fgroup > summary > span:first-child { display: flex; align-items: center; gap: 10px; }
.k-fgroup__n { min-width: 20px; height: 20px; padding: 0 6px; display: inline-flex; align-items: center; justify-content: center; background: var(--k-red-fill); color: #fff; font: 500 11px/1 var(--k-mono); }
.k-pm { position: relative; width: 12px; height: 12px; flex: none; }
.k-pm span { position: absolute; background: var(--k-mut); }
.k-pm span:first-child { left: 0; top: 5px; width: 12px; height: 2px; }
.k-pm span:last-child { left: 5px; top: 0; width: 2px; height: 12px; transition: transform .25s ease; }
.k-fgroup[open] .k-pm span:last-child { transform: scaleY(0); }
.k-fgroup__body { padding: 2px 20px 20px; display: flex; flex-direction: column; gap: 4px; }
.k-fgroup__body.is-chips { flex-direction: row; flex-wrap: wrap; gap: 6px; }
.k-fchip { height: 34px; padding: 0 12px; display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--k-l3); color: var(--k-ink); font: 500 12px/1 var(--k-mono); }
.k-fchip small { opacity: .6; font-size: inherit; }
.k-fchip.is-on { background: var(--k-red-fill); border-color: var(--k-red); color: #fff; }
.k-fchip:hover { border-color: var(--k-red); color: var(--k-ink); }
.k-fchip.is-on:hover { color: #fff; }
.k-fchip.is-off { opacity: .4; }
.k-fopt { display: flex; align-items: center; gap: 12px; padding: 8px 0; font: 400 15px/1.2 var(--k-body); color: var(--k-ink3); }
.k-fopt:hover { color: var(--k-ink); }
.k-fopt__box { width: 18px; height: 18px; flex: none; border: 1px solid var(--k-l4); display: flex; align-items: center; justify-content: center; color: #fff; font: 700 12px/1 var(--k-body); }
.k-fopt.is-on .k-fopt__box { background: var(--k-red-fill); border-color: var(--k-red); }
.k-fopt__lbl { flex: 1; }
.k-fopt small { font: 400 12px/1 var(--k-mono); color: var(--k-mut4); }
.k-fopt.is-off { opacity: .4; cursor: default; }
.k-filters__cta { display: flex; flex-direction: column; gap: 8px; padding: 20px; background: var(--k-red-fill); color: #fff; }
.k-filters__cta:hover { color: #fff; }
.k-filters__cta b { font: 600 18px/1 var(--k-display); text-transform: uppercase; }
.k-filters__cta span { font: 400 13px/1.45 var(--k-body); }

.k-results { flex: 999 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.k-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; padding-bottom: 16px; border-bottom: 1px solid var(--k-l1); }
.k-toolbar__left { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.k-tbtn { height: 36px; padding: 0 14px; display: inline-flex; align-items: center; gap: 10px; border: 1px solid var(--k-l3); background: none; cursor: pointer; font: 600 13px/1 var(--k-display); letter-spacing: .1em; text-transform: uppercase; color: var(--k-ink); }
.k-tbtn:hover { border-color: var(--k-red); }
.k-showing { font: 400 12px/1 var(--k-mono); color: var(--k-mut); text-transform: uppercase; }
.k-sort { display: flex; align-items: center; gap: 10px; font: 400 12px/1 var(--k-mono); color: var(--k-mut); text-transform: uppercase; }
.k-sort select { height: 36px; padding: 0 10px; border: 1px solid var(--k-l3); background: var(--k-panel); color: var(--k-ink); font: 500 13px/1 var(--k-body); text-transform: none; border-radius: 0; }
.k-achips { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.k-achip { height: 32px; padding: 0 10px 0 12px; display: inline-flex; align-items: center; gap: 10px; background: var(--k-l0); border: 1px solid var(--k-l2); font: 400 13px/1 var(--k-body); color: var(--k-ink); }
.k-achip:hover { border-color: var(--k-red); color: var(--k-ink); }
.k-achip span { font: 400 14px/1 var(--k-mono); color: var(--k-mut); }
.k-empty { padding: 48px 24px; border: 1px dashed var(--k-l2); display: flex; flex-direction: column; align-items: center; gap: 14px; text-align: center; }
.k-empty b { font: 600 24px/1 var(--k-display); text-transform: uppercase; }
.k-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; }
.k-grid > li { min-width: 0; }
.k-listing.is-busy .k-results { opacity: .55; transition: opacity .2s; }

.k-card--list { display: flex; flex-direction: column; height: 100%; }
.k-card--list .k-card__img { aspect-ratio: 4 / 4.2; }
.k-card--list .k-card__body { padding: 16px 18px 18px; }
.k-card--list .k-card__name { font-size: 23px; }
.k-card--list .k-card__name a:hover { color: var(--k-err); }
.k-card__rating { font: 400 11px/1 var(--k-mono); color: var(--k-mut); }
.k-card--list .k-card__foot { align-items: center; }
.k-cmp { display: inline-flex; align-items: center; min-height: 44px; border: 0; background: none; cursor: pointer; font: 500 11px/1 var(--k-mono); text-transform: uppercase; color: var(--k-ink); }
.k-cmp[aria-pressed="true"] { color: var(--k-err); }

.k-pager { display: flex; flex-wrap: wrap; gap: 6px; padding-top: 12px; }
.k-pager a { min-width: 44px; height: 44px; padding: 0 14px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--k-l3); font: 500 13px/1 var(--k-mono); }
.k-pager a[aria-current] { background: var(--k-red-fill); border-color: var(--k-red); color: #fff; }

.k-index { padding: clamp(72px, 9vw, 110px) 0; }
.k-index__h { margin: 0 0 24px; font: 700 clamp(30px, 3.2vw, 46px)/.95 var(--k-display); text-transform: uppercase; }
.k-tablewrap { overflow-x: auto; border: 1px solid var(--k-l1); }
.k-table { width: 100%; border-collapse: collapse; min-width: 720px; font: 400 14px/1.4 var(--k-body); }
.k-table thead tr { background: var(--k-panel); text-align: left; }
.k-table thead th { padding: 14px 12px; font: 500 11px/1 var(--k-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--k-mut); text-align: left; }
.k-table thead th:first-child, .k-table tbody th { padding-left: 16px; }
.k-table thead th:last-child, .k-table td:last-child { text-align: right; padding-right: 16px; }
.k-table tbody tr { border-top: 1px solid var(--k-l1); }
.k-table tbody th { padding: 13px 16px; text-align: left; font: 600 17px/1.1 var(--k-display); text-transform: uppercase; }
.k-table td { padding: 13px 12px; }
.k-table td:last-child { font-weight: 600; white-space: nowrap; }
.k-table__lv { font: 500 13px/1 var(--k-mono) !important; color: var(--k-err); }

/* Mobile filter button and compare bar */
.k-ffab { display: none; }
.k-cbar { position: fixed; left: 50%; bottom: calc(20px + env(safe-area-inset-bottom)); z-index: 81; transform: translate(-50%, 24px); opacity: 0; pointer-events: none; transition: opacity .35s ease, transform .45s var(--k-ease); height: 56px; background: var(--k-ink); color: var(--k-bg); display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 0 6px 0 16px; box-shadow: 0 12px 30px rgba(0, 0, 0, .35); font: 600 14px/1 var(--k-display); letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.k-cbar.is-on { opacity: 1; transform: translate(-50%, 0); pointer-events: auto; }
.k-cbar__acts { display: flex; align-items: center; gap: 12px; }
.k-cbar__clear { min-height: 44px; border: 0; background: none; cursor: pointer; color: var(--k-mut4); font: inherit; letter-spacing: inherit; text-transform: inherit; }
.k-cbar__go { height: 44px; padding: 0 16px; display: inline-flex; align-items: center; background: var(--k-red-fill); color: #fff !important; }

@media (max-width: 899.98px) {
    .k-listing { gap: 0; }
    .k-fsheet { display: none; position: fixed; inset: 0; z-index: 96; width: auto; top: 0; flex-direction: column; justify-content: flex-end; align-self: auto; height: auto; }
    .k-fsheet.is-open { display: flex; }
    .k-listing.is-collapsed .k-fsheet.is-open { display: flex; }
    .k-fsheet__scrim { display: block; position: absolute; inset: 0; background: rgba(0, 0, 0, .55); }
    .k-fsheet .k-filters { position: relative; max-height: 85vh; width: 100%; }
    .k-fsheet__x { display: flex; }
    .k-fsheet__foot { display: block; position: sticky; bottom: 0; padding: 14px 16px calc(14px + env(safe-area-inset-bottom)); background: var(--k-bg2); border-top: 1px solid var(--k-l1); }
    .k-fsheet__foot .k-btn { height: 52px; font-size: 16px; }
    .k-toolbar__left { display: none; }
    .k-ffab { display: flex; position: fixed; left: 50%; bottom: calc(20px + env(safe-area-inset-bottom)); transform: translateX(-50%); z-index: 80; width: 56px; height: 56px; align-items: center; justify-content: center; border: 0; background: var(--k-red-fill); color: #fff; box-shadow: 0 12px 30px rgba(0, 0, 0, .35); cursor: pointer; transition: left .45s var(--k-ease), transform .45s var(--k-ease); }
    .k-ffab__n { position: absolute; top: -8px; right: -8px; min-width: 22px; height: 22px; padding: 0 6px; display: inline-flex; align-items: center; justify-content: center; background: #fff; color: var(--k-red-fill); font: 500 12px/1 var(--k-mono); }
    body.k-comparing .k-ffab { left: 88px; transform: none; }
    .k-cbar { left: 156px; right: 20px; transform: translateY(24px); }
    .k-cbar.is-on { transform: none; }
}

.k-levelnav { display: flex; flex-direction: column; gap: 14px; padding-bottom: clamp(72px, 9vw, 110px); }
.k-levels--row { grid-template-columns: repeat(auto-fill, minmax(90px, 1fr)); max-width: 640px; }

/* ---------- Product page ---------- */

.k-pdp__crumbs { padding-top: 24px; }
.k-pdp__top { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 480px), 1fr)); gap: clamp(28px, 4vw, 64px); padding: 28px 0 clamp(64px, 8vw, 100px); align-items: start; }

.k-gal { position: sticky; top: 140px; display: flex; flex-direction: column; gap: 1px; background: var(--k-l1); border: 1px solid var(--k-l1); }
.k-gal__main { position: relative; aspect-ratio: 1 / 1; background: var(--k-well); display: flex; align-items: center; justify-content: center; overflow: hidden; cursor: zoom-in; }
.k-gal__img { width: 70%; height: 82%; object-fit: contain; mix-blend-mode: multiply; }
.k-gal__img.is-hidden { opacity: 0; }
.k-gal__cv { position: absolute; top: 0; left: 0; width: 100%; height: 140%; pointer-events: none; z-index: 3; mix-blend-mode: multiply; }
.k-gal__lv { position: absolute; top: 0; left: 0; z-index: 4; background: var(--k-red-fill); color: #fff; font: 500 13px/1 var(--k-mono); padding: 10px 12px; }
.k-gal__thumbs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; }
.k-gal__thumb { aspect-ratio: 1; padding: 0; border: 0; background: var(--k-well); display: flex; align-items: center; justify-content: center; cursor: pointer; outline-offset: -2px; }
.k-gal__thumb[aria-pressed="true"] { outline: 2px solid var(--k-red); }
.k-gal__thumb img { width: 76%; height: 80%; object-fit: contain; mix-blend-mode: multiply; }
.k-gal__tile { aspect-ratio: 1; background: var(--k-panel); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; font: 500 11px/1 var(--k-mono); text-transform: uppercase; color: var(--k-ink); }
.k-video__tri--red { border-left: 12px solid var(--k-red); border-top: 7px solid transparent; border-bottom: 7px solid transparent; }

.k-buy { display: flex; flex-direction: column; gap: 24px; min-width: 0; }
.k-buy__head { display: flex; flex-direction: column; gap: 12px; }
.k-buy__meta { margin: 0; font: 500 12px/1 var(--k-mono); letter-spacing: .1em; color: var(--k-mut); text-transform: uppercase; }
.k-buy__h1 { margin: 0; font: 700 clamp(48px, 5.6vw, 88px)/.9 var(--k-display); text-transform: uppercase; }
.k-buy__tag { margin: 0; max-width: 600px; font: 600 clamp(20px, 1.8vw, 26px)/1.15 var(--k-display); letter-spacing: .04em; text-transform: uppercase; color: var(--k-ink); }
.k-buy__sum { margin: 0; max-width: 560px; font: 400 18px/1.5 var(--k-body); color: var(--k-ink2); }
.k-buy__rating { margin: 0; font: 400 12px/1 var(--k-mono); color: var(--k-mut); }
.k-box { border: 1px solid var(--k-l1); background: var(--k-panel); padding: 22px; display: flex; flex-direction: column; gap: 18px; }
.k-box__row { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; flex-wrap: wrap; }
.k-box__price { font: 600 38px/1 var(--k-body); }
.k-box__price--quote { font: 700 32px/1 var(--k-display); text-transform: uppercase; }
.k-box__stock { font: 500 12px/1 var(--k-mono); color: var(--k-ok); text-transform: uppercase; }
.k-box__stock--mut { color: var(--k-mut); }
.k-box__buy { display: flex; gap: 10px; flex-wrap: wrap; margin: 0; }
.k-qty input { -moz-appearance: textfield; }
.k-qty input::-webkit-outer-spin-button, .k-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.k-box__atc { flex: 1; min-width: 200px; font-size: 16px; letter-spacing: .12em; }
.k-box__note { margin: 0; font: 400 13px/1.5 var(--k-body); color: var(--k-mut); }
.k-box__note a { color: var(--k-ink); border-bottom: 1px solid var(--k-red); }
.k-res { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 1px; background: var(--k-l1); border: 1px solid var(--k-l1); }
.k-res a { display: flex; align-items: center; gap: 14px; padding: 16px 18px; background: var(--k-bg); }
.k-res a:hover { background: var(--k-panel); color: var(--k-ink); }
.k-res span { display: flex; flex-direction: column; gap: 5px; }
.k-res b { font: 600 16px/1 var(--k-display); letter-spacing: .06em; text-transform: uppercase; }
.k-res small { font: 400 11px/1 var(--k-mono); color: var(--k-mut); text-transform: uppercase; }
.k-label { margin: 0 0 12px; font: 500 11px/1 var(--k-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--k-mut); }
.k-facts { margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 1px; background: var(--k-l1); border: 1px solid var(--k-l1); }
.k-facts > div { padding: 16px; background: var(--k-bg); display: flex; flex-direction: column-reverse; gap: 8px; }
.k-facts dt { font: 400 11px/1.3 var(--k-mono); color: var(--k-mut); text-transform: uppercase; }
.k-facts dd { margin: 0; font: 600 24px/1 var(--k-display); }
.k-rowlink { display: flex; justify-content: space-between; padding: 18px 0; border-top: 1px solid var(--k-l1); border-bottom: 1px solid var(--k-l1); font: 600 15px/1 var(--k-display); letter-spacing: .08em; text-transform: uppercase; }
.k-rowlink span:last-child { color: var(--k-red-text); }

.k-sec { padding-block: clamp(56px, 7vw, 90px); border-top: 1px solid var(--k-l1); scroll-margin-top: 140px; }
.k-sec--last { padding-bottom: clamp(72px, 9vw, 120px); }
.k-sec__head { display: flex; flex-direction: column; gap: 14px; margin-bottom: 32px; }
.k-sec__h { margin: 0; font: 700 clamp(32px, 3.4vw, 50px)/.95 var(--k-display); text-transform: uppercase; text-wrap: balance; }
.k-ext { display: inline-block; padding: 14px 0 3px; border-bottom: 1px solid var(--k-red); font: 500 12px/1 var(--k-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--k-ink); }

.k-ov { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: clamp(28px, 4vw, 64px); align-items: start; }
.k-ov__main { display: flex; flex-direction: column; gap: 18px; grid-column: span 2; min-width: 0; max-width: 880px; }
.k-prose { display: flex; flex-direction: column; gap: 14px; font: 400 17px/1.7 var(--k-body); color: var(--k-ink3); }
.k-prose > * { margin: 0; }
.k-prose h2, .k-prose h3, .k-prose h4 { font: 600 22px/1.15 var(--k-display); text-transform: uppercase; color: var(--k-ink); margin-top: 10px; }
.k-prose ul, .k-prose ol { padding-left: 1.2em; display: flex; flex-direction: column; gap: 6px; }
.k-prose ul { list-style: square; }
.k-prose li::marker { color: var(--k-red-text); }
.k-prose a { color: var(--k-ink); border-bottom: 1px solid var(--k-red); }
.k-prose strong, .k-prose b { color: var(--k-ink); font-weight: 600; }
.k-prose table { border-collapse: collapse; width: 100%; font-size: 15px; }
.k-prose td, .k-prose th { border: 1px solid var(--k-l1); padding: 8px 10px; text-align: left; }
.k-ov__side { margin: 0; display: flex; flex-direction: column; gap: 1px; background: var(--k-l1); border: 1px solid var(--k-l1); min-width: 0; }
.k-ov__side > div { padding: 18px 20px; background: var(--k-bg); display: flex; flex-direction: column; gap: 8px; }
.k-ov__side dt { font: 500 11px/1 var(--k-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--k-mut); }
.k-ov__side dd { margin: 0; font: 400 15px/1.5 var(--k-body); color: var(--k-ink2); }
.k-mono-v { font-family: var(--k-mono) !important; font-size: 13px !important; }

.k-evals { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: 1px; background: var(--k-l1); border: 1px solid var(--k-l1); }
.k-evals li { padding: 24px; background: var(--k-bg); display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; }
.k-evals__txt { display: flex; flex-direction: column; gap: 8px; }
.k-evals__txt b { font: 600 19px/1.1 var(--k-display); text-transform: uppercase; }
.k-evals__txt span { font: 400 12px/1 var(--k-mono); color: var(--k-mut); text-transform: uppercase; }
.k-bars { display: flex; align-items: flex-end; gap: 4px; height: 44px; }
.k-bars span { width: 9px; border: 1px solid var(--k-l3); }
.k-bars span.is-on { background: var(--k-red-fill); border-color: var(--k-red); }

.k-tiles { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: 1px; background: var(--k-l1); border: 1px solid var(--k-l1); }
.k-tiles--certs { grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }
.k-tiles li { background: var(--k-bg); padding: 26px 24px 28px; display: flex; flex-direction: column; gap: 16px; }
.k-tiles__top { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; min-height: 44px; }
.k-tiles__txt { display: flex; flex-direction: column; gap: 8px; }
.k-tiles h3 { margin: 0; font: 600 21px/1.05 var(--k-display); text-transform: uppercase; letter-spacing: .02em; color: var(--k-ink); }
.k-tiles p, .k-tiles__p { margin: 0; font: 400 15px/1.55 var(--k-body); color: var(--k-ink2); }
.k-tiles__issuer { font: 500 11px/1.4 var(--k-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--k-mut); }
.k-tag { padding: 6px 8px; border: 1px solid var(--k-l3); font: 500 10px/1 var(--k-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--k-ink2); white-space: nowrap; }
.k-mark { min-width: 64px; height: 64px; padding: 0 10px; display: flex; align-items: center; justify-content: center; border: 1.5px solid var(--k-ink); color: var(--k-ink); font: 700 22px/1 var(--k-display); letter-spacing: .04em; text-transform: uppercase; }
.k-mark.is-accent { border-color: var(--k-red); color: var(--k-red-text); }
.k-fine { margin: 18px 0 0; font: 400 13px/1.5 var(--k-body); color: var(--k-mut); }

.k-specs { width: 100%; border-collapse: collapse; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 1px; background: var(--k-l1); border: 1px solid var(--k-l1); }
.k-specs caption { display: none; }
.k-specs tbody { display: contents; }
.k-specs tr { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 16px; padding: 14px 18px; background: var(--k-bg); }
.k-specs th { text-align: left; font: 400 12px/1.5 var(--k-mono); color: var(--k-mut); text-transform: uppercase; }
.k-specs td { font: 500 15px/1.4 var(--k-body); color: var(--k-ink); }

.k-dls { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: 1px; background: var(--k-l1); border: 1px solid var(--k-l1); }
.k-dls a { height: 100%; display: flex; flex-direction: column; gap: 12px; padding: 24px; background: var(--k-bg); }
.k-dls a:hover { background: var(--k-panel); color: var(--k-ink); }
.k-dls b { font: 600 20px/1.05 var(--k-display); text-transform: uppercase; }
.k-dls small { font: 400 12px/1.4 var(--k-mono); color: var(--k-mut); text-transform: uppercase; }

.k-table--din { min-width: 560px; }
.k-table--din thead th:last-child, .k-table--din td:last-child { text-align: left; font-weight: 400; white-space: normal; }
.k-table--din tbody th { font: 700 20px/1 var(--k-display); }
.k-table--din tbody th small { font: 400 11px/1 var(--k-mono); text-transform: none; }
.k-table--din tr.is-on { background: var(--k-red-fill); color: #fff; }
.k-table--din tr.is-on a { color: #fff; }

.k-faq { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 24px clamp(28px, 4vw, 64px); }
.k-faq__list { grid-column: span 2; border-top: 1px solid var(--k-l1); }
.k-faq details { border-bottom: 1px solid var(--k-l1); }
.k-faq summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 24px; padding: 20px 0; }
.k-faq summary h3 { margin: 0; font: 500 18px/1.35 var(--k-body); }
.k-faq summary span::before { content: "+"; font: 500 18px/1 var(--k-mono); color: var(--k-red-text); }
.k-faq details[open] summary span::before { content: "–"; }
.k-faq details p { margin: 0; padding: 0 0 22px; max-width: 780px; font: 400 16px/1.65 var(--k-body); color: var(--k-ink2); }

.k-reviews { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: 1px; background: var(--k-l1); border: 1px solid var(--k-l1); }
.k-reviews li { background: var(--k-bg); padding: 24px; display: flex; flex-direction: column; gap: 10px; }
.k-reviews h3 { margin: 0; font: 600 19px/1.1 var(--k-display); text-transform: uppercase; }
.k-reviews p { margin: 0; font: 400 15px/1.55 var(--k-body); color: var(--k-ink2); }
.k-reviews small { font: 400 11px/1 var(--k-mono); color: var(--k-mut); text-transform: uppercase; }
.k-stars { display: flex; gap: 2px; color: var(--k-l3); font-size: 15px; }
.k-stars .is-on { color: var(--k-red-text); }

.k-rel { display: flex; flex-direction: column; background: var(--k-panel); border: 1px solid var(--k-l1); }
.k-rel:hover { border-color: var(--k-red); color: var(--k-ink); }
.k-rel .k-card__img { aspect-ratio: 4 / 4.2; }
.k-rel__body { padding: 16px 18px; display: flex; justify-content: space-between; gap: 12px; align-items: baseline; }
.k-rel__body h3 { margin: 0; font: 600 22px/1 var(--k-display); text-transform: uppercase; }
.k-rel__body span { font: 600 16px/1 var(--k-body); white-space: nowrap; }

.k-fatc { position: fixed; left: 88px; right: 20px; margin: 0 auto; max-width: 340px; bottom: calc(20px + env(safe-area-inset-bottom)); z-index: 84; height: 56px; padding: 0 18px; border: 0; display: flex; align-items: center; justify-content: center; gap: 12px; background: var(--k-red-fill); color: #fff; box-shadow: 0 12px 30px rgba(0, 0, 0, .35); white-space: nowrap; cursor: pointer; opacity: 0; transform: translateY(24px); pointer-events: none; transition: opacity .35s ease, transform .45s var(--k-ease); }
.k-fatc.is-on { opacity: 1; transform: none; pointer-events: auto; }
body.k-cart-open .k-fatc, body.k-fab-open .k-fatc { opacity: 0; pointer-events: none; }
/* The open cart drawer sits above every floating button. */
body.k-cart-open .k-fab, body.k-cart-open .k-ffab, body.k-cart-open .k-cbar { opacity: 0; pointer-events: none; visibility: hidden; }
.k-fatc__lbl { font: 600 16px/1 var(--k-display); letter-spacing: .1em; text-transform: uppercase; }
.k-fatc__sep { width: 1px; height: 22px; background: rgba(255, 255, 255, .4); }
.k-fatc__price { font: 600 16px/1 var(--k-body); font-variant-numeric: tabular-nums; }

.k-modal { position: fixed; inset: 0; z-index: 92; background: rgba(5, 6, 8, .8); display: flex; align-items: center; justify-content: center; padding: 16px; }
.k-modal[hidden] { display: none; }
.k-modal__box { width: min(520px, 100%); max-height: calc(100vh - 32px); overflow: auto; background: var(--k-bg); border: 1px solid var(--k-l2); padding: 24px; display: flex; flex-direction: column; gap: 20px; }
.k-modal__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.k-modal__head > span { display: flex; flex-direction: column; gap: 8px; }
.k-modal__title { font: 700 26px/1 var(--k-display); text-transform: uppercase; }
.k-form { display: flex; flex-direction: column; gap: 14px; margin: 0; }
.k-form label { display: flex; flex-direction: column; gap: 8px; font: 500 11px/1 var(--k-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--k-mut); }
.k-form input, .k-form textarea, .k-form select { width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid var(--k-l3); background: var(--k-panel); color: var(--k-ink); font: 400 15px/1.4 var(--k-body); text-transform: none; letter-spacing: 0; border-radius: 0; }
.k-form input:focus, .k-form textarea:focus, .k-form select:focus { outline: none; border-color: var(--k-red); }
.k-form__msg { margin: 0; font: 400 14px/1.4 var(--k-body); color: var(--k-ok); }
.k-form__msg.is-error { color: var(--k-err); }
.k-form__msg:empty { display: none; }

.k-lightbox { position: fixed; inset: 0; z-index: 93; background: rgba(5, 6, 8, .94); display: flex; align-items: center; justify-content: center; padding: 56px 16px 16px; }
.k-lightbox[hidden] { display: none; }
.k-lightbox img { max-width: min(1288px, 100%); max-height: 100%; object-fit: contain; background: #fff; }
.k-lightbox .k-close { position: absolute; top: 12px; right: 12px; color: #fff; border-color: #4A5163; }

@media (max-width: 899.98px) {
    .k-gal { position: static; }
    .k-ov__main, .k-faq__list { grid-column: auto; }
    .k-fatc { left: 88px; }
}

/* ---------- CMS pages ---------- */

.k-about-hero { border-bottom: 1px solid var(--k-l1); background: var(--k-bg2); }
.k-about-hero__in { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: clamp(28px, 4vw, 64px); align-items: center; padding-top: 28px; padding-bottom: 0; }
.k-about-hero .k-photo { border-bottom: 0; }
.k-feats--compact li { padding: 14px 0; align-items: baseline; }
.k-feats--compact h3 { font-size: 19px; }

.k-ccard { display: flex; flex-direction: column; gap: 10px; padding: 28px; background: var(--k-panel); border: 1px solid var(--k-l1); }
.k-ccard__h { font: 600 22px/1.1 var(--k-display); text-transform: uppercase; }
.k-ccard__sub { font: 400 14px/1.5 var(--k-body); color: var(--k-mut); }
.k-ccard__tel { font: 500 20px/1.2 var(--k-mono); color: var(--k-ink); margin-top: 6px; }
.k-ccard__mail { font: 400 15px/1.4 var(--k-body); color: var(--k-ink2); }
.k-ccard__hours { font: 400 11px/1.4 var(--k-mono); text-transform: uppercase; color: var(--k-mut); margin-bottom: 8px; }
.k-ccard.is-compact { padding: 20px; gap: 8px; }
.k-ccard.is-compact .k-ccard__h { font-size: 17px; }
.k-ccard.is-compact .k-ccard__tel { font-size: 14px; margin-top: 0; }
.k-ccard.is-compact .k-ccard__mail { font-size: 13px; }

.k-cstiles { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 1px; background: var(--k-l1); border: 1px solid var(--k-l1); }
.k-cstiles a { height: 100%; display: flex; flex-direction: column; gap: 8px; padding: 20px 22px 22px; background: var(--k-panel); }
.k-cstiles a:hover { background: var(--k-p3); color: var(--k-ink); }
.k-cstiles .k-eyebrow { font-size: 10px; }
.k-cstiles b { font: 600 20px/1.1 var(--k-display); text-transform: uppercase; }
.k-cstiles span:last-child { font: 400 13px/1.45 var(--k-body); color: var(--k-mut); }

.k-policy { display: grid; grid-template-columns: minmax(0, 320px) minmax(0, 820px); gap: clamp(28px, 4vw, 72px); padding-top: clamp(36px, 4vw, 56px); padding-bottom: clamp(72px, 9vw, 110px); align-items: start; }
.k-policy__side { position: sticky; top: 140px; display: flex; flex-direction: column; gap: 28px; }
.k-toc ol { list-style: none; margin: 0; padding: 0 0 0 14px; border-left: 1px solid var(--k-l1); display: flex; flex-direction: column; }
.k-toc a { display: block; padding: 8px 0; font: 400 14px/1.35 var(--k-body); color: var(--k-ink2); }
.k-toc a:hover, .k-toc a.is-on { color: var(--k-err); }
.k-related { display: flex; flex-direction: column; }
.k-related a { display: flex; justify-content: space-between; padding: 12px 0; border-bottom: 1px solid var(--k-l1); font: 400 15px/1.3 var(--k-body); }
.k-related a span { color: var(--k-mut4); font-family: var(--k-mono); }
.k-policy__main { display: flex; flex-direction: column; gap: 0; min-width: 0; }
.k-psec { padding: 26px 0 30px; border-top: 1px solid var(--k-l1); scroll-margin-top: 140px; display: flex; flex-direction: column; gap: 14px; }
.k-psec h2 { margin: 0 0 4px; display: flex; align-items: baseline; gap: 16px; font: 700 clamp(26px, 2.6vw, 38px)/1 var(--k-display); text-transform: uppercase; }
.k-psec h2 span { font: 500 13px/1 var(--k-mono); color: var(--k-red-text); }
.k-psec p { margin: 0; font: 400 16px/1.65 var(--k-body); color: var(--k-ink2); }
.k-psec a, .k-plist a { color: var(--k-ink); border-bottom: 1px solid var(--k-red); }
.k-plist { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--k-l1); }
.k-plist li { position: relative; padding: 12px 0 12px 22px; border-bottom: 1px solid var(--k-l1); font: 400 15px/1.5 var(--k-body); color: var(--k-ink2); }
.k-plist li::before { content: ""; position: absolute; left: 0; top: 19px; width: 7px; height: 7px; background: var(--k-red-fill); }

.k-contact { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 300px); gap: clamp(28px, 3vw, 40px); padding-top: clamp(36px, 4vw, 56px); padding-bottom: clamp(72px, 9vw, 110px); align-items: start; }
.k-panelform { padding: clamp(20px, 3vw, 40px); background: var(--k-panel); border: 1px solid var(--k-l1); }
.k-panelform input, .k-panelform textarea, .k-panelform select { background: var(--k-bg); }
.k-form__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 14px; }
.k-topics { border: 0; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.k-topics legend { margin-bottom: 12px; }
.k-topic { cursor: pointer; }
.k-topic input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.k-topic span { display: inline-flex; align-items: center; height: 38px; padding: 0 14px; border: 1px solid var(--k-l3); font: 500 14px/1 var(--k-body); color: var(--k-ink); text-transform: none; letter-spacing: 0; }
.k-topic input:checked + span { background: var(--k-red-fill); border-color: var(--k-red); color: #fff; }
.k-topic input:focus-visible + span { outline: 2px solid var(--k-red); outline-offset: 2px; }
.k-check { flex-direction: row !important; align-items: flex-start; gap: 12px !important; font: 400 14px/1.5 var(--k-body) !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--k-ink2) !important; }
.k-check input { width: 18px !important; min-height: 18px !important; height: 18px; flex: none; margin: 2px 0 0; accent-color: var(--k-red); }
.k-check a { color: var(--k-ink); border-bottom: 1px solid var(--k-red); }
.k-nap { margin: 0; display: flex; flex-direction: column; gap: 1px; background: var(--k-l1); border: 1px solid var(--k-l1); }
.k-nap > div { padding: 16px 20px; background: var(--k-bg); display: flex; flex-direction: column; gap: 8px; }
.k-nap dt { font: 500 10px/1 var(--k-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--k-mut); }
.k-nap dd { margin: 0; font: 500 16px/1.4 var(--k-body); color: var(--k-ink); }
.k-partlinks ul { list-style: none; margin: 8px 0 0; padding: 0; border: 1px solid var(--k-l1); }
.k-partlinks li + li { border-top: 1px solid var(--k-l1); }
.k-partlinks a { display: flex; justify-content: space-between; align-items: center; padding: 14px 18px; background: var(--k-bg); font: 600 15px/1 var(--k-display); letter-spacing: .06em; text-transform: uppercase; }
.k-partlinks a:hover { background: var(--k-panel); color: var(--k-ink); }
.k-partlinks a span { color: var(--k-red-text); }

@media (max-width: 899.98px) {
    .k-policy, .k-contact { grid-template-columns: minmax(0, 1fr); }
    .k-policy__side { position: static; order: 2; }
}

/* ---------- Compare ---------- */

.k-diffonly { display: flex; align-items: center; gap: 10px; min-height: 44px; cursor: pointer; font: 500 15px/1 var(--k-body); color: var(--k-ink); }
.k-diffonly input { width: 18px; height: 18px; margin: 0; accent-color: var(--k-red); }
.k-cmp-wrap { padding-top: clamp(28px, 3.5vw, 48px); padding-bottom: clamp(72px, 9vw, 120px); display: flex; flex-direction: column; gap: 16px; }
.k-cmp-hint { display: none; margin: 0; font: 500 11px/1 var(--k-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--k-mut); }
.k-cmp-scroll { overflow-x: auto; border: 1px solid var(--k-l1); -webkit-overflow-scrolling: touch; }
.k-cmp-table { border-collapse: separate; border-spacing: 0; width: 100%; table-layout: fixed; }
.k-cmp-table__lbl { width: 220px; }
.k-cmp-table th, .k-cmp-table td { border-right: 1px solid var(--k-l1); border-bottom: 1px solid var(--k-l1); padding: 14px 16px; text-align: left; vertical-align: top; }
.k-cmp-table thead th { background: var(--k-bg); padding: 16px; font-weight: 400; }
.k-cmp-table__k { position: sticky; left: 0; z-index: 1; background: var(--k-bg2) !important; font: 600 15px/1.2 var(--k-display) !important; letter-spacing: .06em; text-transform: uppercase; color: var(--k-ink); }
thead .k-cmp-table__k { z-index: 2; vertical-align: bottom !important; font: 500 11px/1 var(--k-mono) !important; letter-spacing: .1em; color: var(--k-mut); }
.k-cmp-table td { font: 400 15px/1.45 var(--k-body); color: var(--k-ink2); overflow-wrap: anywhere; }
.k-cmp-table td.is-best { background: var(--k-p3); color: var(--k-ink); }
.k-cmp-tag { display: block; margin-top: 6px; font: 500 10px/1 var(--k-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--k-red-text); }
.k-cmp-best { display: block; margin-top: 6px; font: 500 10px/1 var(--k-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--k-ok); }
.k-cmp-head { display: flex; flex-direction: column; gap: 14px; }
.k-cmp-head__img { position: relative; aspect-ratio: 1 / 1; background: var(--k-well2); display: flex; align-items: center; justify-content: center; }
.k-cmp-head__img img { width: 76%; height: 80%; object-fit: contain; mix-blend-mode: multiply; }
.k-cmp-head__lv { position: absolute; top: 10px; left: 10px; padding: 6px 8px; background: var(--k-red-fill); font: 500 11px/1 var(--k-mono); letter-spacing: .1em; color: #fff; }
.k-cmp-head__x { position: absolute; top: 6px; right: 6px; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background: #0A0C11; color: #fff; font: 400 20px/1 var(--k-body); }
.k-cmp-head__x:hover { background: var(--k-red-fill); color: #fff; }
.k-cmp-head__name { font: 700 clamp(19px, 1.6vw, 24px)/1.05 var(--k-display); text-transform: uppercase; color: var(--k-ink); overflow-wrap: anywhere; }
.k-cmp-head__price { font: 700 24px/1 var(--k-display); font-variant-numeric: tabular-nums; }
.k-cmp-wrap.is-diff tr[data-same] { display: none; }

@media (max-width: 899.98px) {
    .k-cmp-hint { display: block; }
    .k-cmp-table__lbl { width: 120px; }
}

/* ---------- Find my shredder ---------- */

.k-fz-bars { display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); gap: 6px; }
.k-fz-bars[hidden] { display: none; }
.k-fz-bars span { height: 4px; background: var(--k-l2); transition: background .3s; }
.k-fz-bars span.is-done { background: var(--k-red-fill); }
.k-fz-bars span.is-now { background: var(--k-ink); }
.k-fz { padding-top: clamp(36px, 5vw, 72px); padding-bottom: clamp(72px, 9vw, 120px); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr)); gap: clamp(32px, 4vw, 72px); align-items: start; }
.k-fz__form { grid-column: span 2; min-width: 0; display: flex; flex-direction: column; gap: 32px; }
:root:not(.k-js) .k-fz__form { grid-column: 1 / -1; }
.k-fz__q { margin: 0; padding: 0; border: 0; display: flex; flex-direction: column; gap: 28px; min-width: 0; transition: opacity .28s ease, transform .28s ease; }
:root:not(.k-js) .k-fz__q + .k-fz__q { padding-top: 40px; border-top: 1px solid var(--k-l1); }
.k-fz.is-js .k-fz__q:not(.is-on) { display: none; }
/* With JavaScript on (.k-js is set in <head>), lay out the one-question view
   from the first paint, so the page does not jump when kobra.js starts. */
.k-js .k-fz:not(.is-js) .k-fz__q ~ .k-fz__q { display: none; }
.k-js .k-fz-bars[hidden] { display: grid; visibility: hidden; }
.k-js .k-fz__ans[hidden], .k-js [data-fz-count][hidden] { display: block; visibility: hidden; }
.k-fz__q.is-out { opacity: 0; transform: translateY(-14px); }
.k-fz__q.is-in { opacity: 0; transform: translateY(14px); }
.k-fz__q legend { padding: 0; display: flex; flex-direction: column; gap: 12px; margin-bottom: 28px; }
.k-fz__title { font: 700 clamp(32px, 3.6vw, 52px)/1 var(--k-display); text-transform: uppercase; text-wrap: balance; }
.k-fz__sub { font: 400 17px/1.5 var(--k-body); color: var(--k-ink2); }
.k-fz__opts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: 12px; }
.k-fz__opt { position: relative; cursor: pointer; display: flex; gap: 16px; align-items: flex-start; padding: 22px 22px 24px; min-height: 96px; border: 1px solid var(--k-l2); background: var(--k-bg); transition: border-color .15s, background .15s; }
.k-fz__opt:hover { border-color: var(--k-red); }
.k-fz__opt input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.k-fz__opt:has(input:checked) { border-color: var(--k-red); background: var(--k-panel); box-shadow: inset 3px 0 0 var(--k-red); }
.k-fz__opt:has(input:focus-visible) { outline: 2px solid var(--k-red); outline-offset: 2px; }
.k-fz__tick { width: 22px; height: 22px; flex: none; margin-top: 1px; border: 1.5px solid var(--k-l4); display: flex; align-items: center; justify-content: center; color: #fff; font: 700 13px/1 var(--k-body); }
.k-fz__tick.is-round { border-radius: 50%; }
.k-fz__opt input:checked + .k-fz__tick { border-color: var(--k-red); background: var(--k-red-fill); }
.k-fz__opt input:checked + .k-fz__tick::after { content: "✓"; }
.k-fz__txt { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.k-fz__txt b { font: 600 21px/1.1 var(--k-display); letter-spacing: .02em; text-transform: uppercase; color: var(--k-ink); }
.k-fz__txt span { font: 400 15px/1.45 var(--k-body); color: var(--k-mut); }
.k-fz__nav { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.k-fz__nav .k-btn { height: 56px; font-size: 17px; }
.k-fz__nav .k-btn--line { border-color: var(--k-l3); font-size: 16px; }
.k-fz__nav [disabled] { opacity: .4; cursor: not-allowed; }
.k-fz__hint { font: 400 14px/1.4 var(--k-body); color: var(--k-mut); }
.k-fz__ans { position: sticky; top: 120px; background: var(--k-bg2); border: 1px solid var(--k-l1); padding: clamp(22px, 2.4vw, 30px); display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.k-fz__ans[hidden] { display: none; }
.k-fz__ans .k-label { margin: 0; }
.k-fz__none, .k-fz__talk { margin: 0; font: 400 15px/1.5 var(--k-body); color: var(--k-mut); }
.k-fz__talk { font-size: 14px; }
.k-fz__talk a { color: var(--k-ink); text-decoration: underline; text-underline-offset: 3px; }
.k-fz__ans ol { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.k-fz__ans li { display: flex; justify-content: space-between; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--k-l1); align-items: baseline; }
.k-fz__ans li > span { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.k-fz__ans li small { font: 500 10px/1 var(--k-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--k-mut); }
.k-fz__ans li b { font: 500 15px/1.35 var(--k-body); color: var(--k-ink); }
.k-fz__ans li button { flex: none; display: inline-flex; align-items: center; min-height: 44px; border: 0; background: none; cursor: pointer; font: 500 11px/1 var(--k-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--k-red-text); }

.k-fzr { padding-top: clamp(36px, 5vw, 64px); padding-bottom: clamp(72px, 9vw, 120px); display: flex; flex-direction: column; gap: clamp(40px, 5vw, 64px); }
.k-note { margin: 0; padding: 14px 18px; border: 1px solid var(--k-warn); font: 400 15px/1.5 var(--k-body); color: var(--k-ink); }
.k-fzr__top { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 1px; background: var(--k-l1); border: 1px solid var(--k-l1); }
.k-fzr__top > li { background: var(--k-bg); display: flex; flex-direction: column; }
.k-fzr__top > li.is-best { box-shadow: inset 0 3px 0 var(--k-red); }
.k-fzr__img { position: relative; aspect-ratio: 4 / 3; background: var(--k-well2); display: flex; align-items: center; justify-content: center; }
.k-fzr__img img { width: 66%; height: 78%; object-fit: contain; mix-blend-mode: multiply; }
.k-fzr__tag { position: absolute; top: 14px; left: 14px; padding: 7px 10px; font: 500 11px/1 var(--k-mono); letter-spacing: .1em; text-transform: uppercase; color: #fff; }
.k-fzr__lv { position: absolute; top: 14px; right: 14px; padding: 7px 9px; background: #0A0C11; font: 500 11px/1 var(--k-mono); letter-spacing: .1em; color: #fff; }
.k-fzr__body { padding: 24px; display: flex; flex-direction: column; gap: 16px; flex: 1; }
.k-fzr__row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.k-fzr__name { font: 700 26px/1 var(--k-display); text-transform: uppercase; }
.k-fzr__price { font: 700 24px/1 var(--k-display); font-variant-numeric: tabular-nums; }
.k-fzr__why { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.k-fzr__why li { display: flex; gap: 10px; font: 400 15px/1.45 var(--k-body); color: var(--k-ink2); }
.k-fzr__note { margin: 0; font: 400 15px/1.45 var(--k-body); color: var(--k-ink2); }
.k-fzr__why li > span:first-child { flex: none; color: var(--k-ok); font-weight: 700; }
.k-fzr__why li > span.is-warn { color: var(--k-warn); }
.k-fzr__acts { display: flex; gap: 10px; margin-top: auto; padding-top: 8px; flex-wrap: wrap; }
.k-fzr__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 1px; background: var(--k-l1); border: 1px solid var(--k-l1); }
.k-fzr__list a { display: flex; gap: 14px; align-items: center; padding: 14px 16px; background: var(--k-bg); height: 100%; }
.k-fzr__list a:hover { background: var(--k-panel); color: var(--k-ink); }
.k-fzr__mid { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.k-fzr__mid b { font: 600 17px/1.1 var(--k-display); text-transform: uppercase; }
.k-fzr__mid span { font: 400 13px/1.3 var(--k-body); color: var(--k-mut); }
.k-fzr__p { font: 600 16px/1 var(--k-body); font-variant-numeric: tabular-nums; color: var(--k-ink) !important; }
.k-fzr__extra { padding-top: clamp(32px, 4vw, 48px); border-top: 1px solid var(--k-l1); }
.k-fzr__empty { padding: clamp(28px, 4vw, 48px); border: 1px solid var(--k-l1); display: flex; flex-direction: column; gap: 14px; align-items: flex-start; }

@media (max-width: 899.98px) {
    .k-fz__form { grid-column: auto; }
    .k-fz__ans { position: static; }
}

/* ---------- Sign in, register, password ---------- */

.k-auth { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); min-height: min(860px, calc(100vh - 150px)); border-bottom: 1px solid var(--k-l1); }
.k-auth__form { display: flex; align-items: center; padding: clamp(40px, 6vw, 72px) var(--k-gutter); }
.k-auth__inner { width: 100%; max-width: 420px; margin-left: auto; margin-right: clamp(0px, 4vw, 72px); display: flex; flex-direction: column; gap: 22px; }
.k-auth__h1 { margin: 0; font: 700 clamp(44px, 5vw, 72px)/.9 var(--k-display); text-transform: uppercase; }
.k-auth .k-form { gap: 16px; }
.k-auth__row { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.k-auth__link { font: 400 14px/1.4 var(--k-body); color: var(--k-ink); text-decoration: underline; text-underline-offset: 3px; }
.k-auth__alt { display: flex; flex-direction: column; gap: 14px; padding-top: 24px; border-top: 1px solid var(--k-l1); font: 400 15px/1.4 var(--k-body); color: var(--k-ink2); }
.k-auth .k-btn--block { height: 52px; }
.k-auth .k-btn--line { border-color: var(--k-l3); }
.k-auth__panel { position: relative; overflow: hidden; background: var(--k-deep2); display: flex; align-items: flex-end; }
.k-auth__panel img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 70% center; }
.k-auth__panel::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(5, 6, 8, .92) 0%, rgba(5, 6, 8, .4) 45%, rgba(5, 6, 8, 0) 70%); }
.k-auth__panel-txt { position: relative; z-index: 1; padding: clamp(28px, 4vw, 56px); display: flex; flex-direction: column; gap: 16px; }
.k-auth__panel ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.k-auth__panel li { display: flex; gap: 14px; font: 400 16px/1.4 var(--k-body); color: var(--k-ink); }
.k-auth__panel li::before { content: "—"; color: var(--k-red-text); }
.k-flash { margin: 20px 0 0; padding: 14px 18px; border: 1px solid var(--k-ok); font: 400 15px/1.5 var(--k-body); }
.k-flash.is-error { border-color: var(--k-err); }

@media (max-width: 899.98px) {
    .k-auth { grid-template-columns: minmax(0, 1fr); min-height: 0; }
    .k-auth__inner { margin: 0 auto; }
    .k-auth__panel { min-height: 320px; }
}

/* ---------- Cart page ---------- */

.k-cartpage { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 420px); gap: clamp(28px, 4vw, 64px); padding-top: clamp(28px, 4vw, 48px); padding-bottom: clamp(72px, 9vw, 120px); align-items: start; }
.k-cartpage.is-empty { grid-template-columns: minmax(0, 1fr); }
.k-cartpage.is-empty .k-cartpage__main { display: none; }
.k-cartpage__main { display: flex; flex-direction: column; gap: 36px; min-width: 0; }
.k-cartpage__lines { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--k-l1); }
.k-cartpage__loading { padding: 32px 0; color: var(--k-mut); }
.k-cline { display: grid; grid-template-columns: 110px minmax(0, 1fr) auto; gap: 22px; padding: 26px 0; border-bottom: 1px solid var(--k-l1); }
.k-cline__img { width: 110px; height: 110px; background: var(--k-well2); display: flex; align-items: center; justify-content: center; }
.k-cline__img img { width: 84%; height: 84%; object-fit: contain; mix-blend-mode: multiply; }
.k-cline__main { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.k-cline__name { font: 700 clamp(22px, 2vw, 28px)/1 var(--k-display); text-transform: uppercase; }
.k-cline__meta { font: 400 11px/1.4 var(--k-mono); text-transform: uppercase; color: var(--k-mut); display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.k-cline__meta .is-ok { color: var(--k-ok); }
.k-cline__ctl { display: flex; align-items: center; gap: 16px; margin-top: 6px; }
.k-cline__price { font: 700 24px/1 var(--k-display); font-variant-numeric: tabular-nums; text-align: right; }
.k-cline__unit { display: block; margin-top: 8px; font: 400 12px/1 var(--k-mono); color: var(--k-mut); }
.k-cartpage .k-cart__up ul { grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); }
.k-sum { position: sticky; top: 140px; padding: clamp(22px, 2.4vw, 30px); background: var(--k-panel); border: 1px solid var(--k-l1); display: flex; flex-direction: column; gap: 18px; }
.k-sum[hidden] { display: none; }
.k-sum__h { margin: 0; font: 700 32px/1 var(--k-display); text-transform: uppercase; }
.k-sum__rows { margin: 0; display: flex; flex-direction: column; gap: 12px; }
.k-sum__rows > div { display: flex; justify-content: space-between; gap: 16px; font: 400 15px/1.4 var(--k-body); color: var(--k-ink2); }
.k-sum__rows > div[hidden] { display: none; }
.k-sum__rows dd { margin: 0; color: var(--k-ink); font-variant-numeric: tabular-nums; }
.k-sum__rows dd.is-ok { color: var(--k-ok); }
.k-sum__rows dd.is-mut { color: var(--k-mut); }
.k-sum__total { display: flex; justify-content: space-between; align-items: baseline; padding-top: 16px; border-top: 1px solid var(--k-l1); }
.k-sum__total span { font: 600 16px/1 var(--k-display); letter-spacing: .08em; text-transform: uppercase; }
.k-sum__total b { font: 700 36px/1 var(--k-display); font-variant-numeric: tabular-nums; }
.k-sum__coupon { display: flex; flex-direction: column; gap: 8px; margin: 0; }
.k-sum__coupon .k-label { margin: 0; }
.k-sum__field { display: flex; border: 1px solid var(--k-l3); }
.k-sum__field input { flex: 1; min-width: 0; height: 46px; padding: 0 14px; border: 0; outline: 0; background: var(--k-bg); color: var(--k-ink); font: 400 15px/1 var(--k-body); }
.k-sum__field button { padding: 0 16px; border: 0; border-left: 1px solid var(--k-l3); background: none; cursor: pointer; font: 600 13px/1 var(--k-display); letter-spacing: .1em; text-transform: uppercase; color: var(--k-ink); }
.k-sum__pay { margin: 0; text-align: center; font: 400 11px/1.4 var(--k-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--k-mut); }
.k-sum__notes { list-style: none; margin: 0; padding: 16px 0 0; border-top: 1px solid var(--k-l1); display: flex; flex-direction: column; gap: 8px; font: 400 13px/1.45 var(--k-body); color: var(--k-mut); }
.k-sum__notes li::before { content: "✓ "; color: var(--k-ok); }
.k-sum__notes a { color: var(--k-ink); text-decoration: underline; text-underline-offset: 3px; }
.k-cartpage__empty { display: flex; flex-direction: column; gap: 18px; align-items: flex-start; padding: 24px 0; }
.k-cartpage__empty[hidden] { display: none; }

@media (max-width: 899.98px) {
    .k-cartpage { grid-template-columns: minmax(0, 1fr); }
    .k-sum { position: static; }
    .k-cline { grid-template-columns: 80px minmax(0, 1fr); }
    .k-cline__img { width: 80px; height: 80px; }
    .k-cline__price { grid-column: 2; text-align: left; }
}

/* ---------- Skin for Bagisto's own pages (checkout, account, order success) ----------
   These pages keep Bagisto's Vue components and markup, which use Tailwind
   colour utilities for a white page. The rules below map those utilities to
   the theme tokens so the pages follow the dark/light theme and the square,
   condensed look of the redesign without changing how they work. */

.k-legacy { display: block; min-height: 50vh; padding: 8px 0 72px; color: var(--k-ink); font-family: var(--k-body); }
.k-legacy h1, .k-legacy h2, .k-legacy h3, .k-legacy .text-2xl:not([class*="icon-"]), .k-legacy .text-3xl:not([class*="icon-"]) { font-family: var(--k-display) !important; text-transform: uppercase; letter-spacing: .02em; color: var(--k-ink); }
.k-legacy h1, .k-legacy .text-3xl:not([class*="icon-"]) { font-size: clamp(34px, 4vw, 52px) !important; line-height: .95 !important; font-weight: 700 !important; }
.k-legacy h2, .k-legacy .text-2xl:not([class*="icon-"]) { font-size: clamp(24px, 2.4vw, 32px) !important; line-height: 1 !important; font-weight: 700 !important; }
.k-legacy .text-xl:not([class*="icon-"]) { font-family: var(--k-display); text-transform: uppercase; font-weight: 600; letter-spacing: .02em; }

.k-legacy .bg-white, .k-legacy .bg-zinc-50, .k-legacy .bg-gray-50, .k-legacy [class*="bg-zinc-50/"] { background-color: var(--k-panel) !important; }
.k-legacy .bg-gray-100, .k-legacy .bg-zinc-100, .k-legacy .bg-gray-200 { background-color: var(--k-p2) !important; }
.k-legacy .bg-navyBlue { background-color: var(--k-red-fill) !important; }
@media (max-width: 767.98px) {
    .k-legacy .max-md\:\!bg-gray-100 { background-color: var(--k-p2) !important; }
}
/* Checkboxes and switches: Bagisto draws them in navy, invisible on the dark theme. */
.k-legacy .icon-uncheck { color: var(--k-mut) !important; }
.k-legacy .peer:checked ~ .peer-checked\:text-navyBlue { color: var(--k-red-text) !important; }
.k-legacy .peer:checked ~ .peer-checked\:bg-navyBlue { background-color: var(--k-red-fill) !important; }
.k-legacy .peer:focus-visible ~ .icon-uncheck { outline: 2px solid var(--k-red); outline-offset: 2px; }
.k-legacy .hover\:bg-gray-50:hover, .k-legacy .hover\:bg-gray-100:hover, .k-legacy .hover\:bg-zinc-100:hover, .k-legacy .hover\:bg-gray-200:hover { background-color: var(--k-p3) !important; }

.k-legacy .text-black, .k-legacy .text-navyBlue, .k-legacy .text-gray-900, .k-legacy .text-gray-800, .k-legacy .text-gray-700,
.k-legacy .text-zinc-900, .k-legacy .text-zinc-800, .k-legacy .text-zinc-700 { color: var(--k-ink) !important; }
.k-legacy .text-zinc-500, .k-legacy .text-zinc-600, .k-legacy .text-zinc-400, .k-legacy .text-gray-600, .k-legacy .text-gray-500, .k-legacy .text-gray-400,
.k-legacy .text-neutral-500, .k-legacy [class*="text-navyBlue/"] { color: var(--k-mut) !important; }
.k-legacy .text-gray-300, .k-legacy .text-gray-200 { color: var(--k-l3) !important; }
.k-legacy .text-blue-500, .k-legacy .text-blue-600, .k-legacy .text-blue-700 { color: var(--k-ink) !important; text-decoration: underline; text-decoration-color: var(--k-red); text-underline-offset: 3px; }
.k-legacy .text-red-500, .k-legacy .text-red-600 { color: var(--k-err) !important; }
.k-legacy .text-emerald-800, .k-legacy .text-green-600 { color: var(--k-ok) !important; }

.k-legacy .border, .k-legacy .border-b, .k-legacy .border-t, .k-legacy .border-zinc-200, .k-legacy .border-zinc-100, .k-legacy [class*="border-zinc-200/"],
.k-legacy .border-gray-200, .k-legacy .border-gray-300, .k-legacy .border-\[\#E9E9E9\], .k-legacy .border-black, .k-legacy .border-navyBlue { border-color: var(--k-l1) !important; }
.k-legacy [class*="ring-"] { --tw-ring-color: var(--k-l1) !important; }
.k-legacy [class*="rounded"]:not(.rounded-full), .k-legacy .primary-button, .k-legacy .secondary-button { border-radius: 0 !important; }
.k-legacy [class*="shadow"] { box-shadow: none !important; }

.k-legacy .primary-button {
    display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    min-height: 52px; padding: 0 28px; border: 1px solid var(--k-red) !important;
    background: var(--k-red-fill) !important; color: #fff !important;
    font: 600 16px/1 var(--k-display) !important; letter-spacing: .1em; text-transform: uppercase;
}
.k-legacy .primary-button:hover { background: var(--k-red-fill-hi) !important; }
.k-legacy .secondary-button {
    display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    min-height: 48px; padding: 0 24px; border: 1px solid var(--k-l3) !important;
    background: transparent !important; color: var(--k-ink) !important;
    font: 600 15px/1 var(--k-display) !important; letter-spacing: .1em; text-transform: uppercase;
}
.k-legacy .secondary-button:hover { border-color: var(--k-red) !important; }

.k-legacy input:not([type="checkbox"]):not([type="radio"]), .k-legacy select, .k-legacy textarea {
    background: var(--k-bg) !important; color: var(--k-ink) !important;
    border: 1px solid var(--k-l3) !important; border-radius: 0 !important;
    font-family: var(--k-body) !important; font-size: 15px !important;
}
.k-legacy input:focus, .k-legacy select:focus, .k-legacy textarea:focus { border-color: var(--k-red) !important; box-shadow: none !important; outline: none; }
.k-legacy input::placeholder, .k-legacy textarea::placeholder { color: var(--k-mut) !important; }
.k-legacy input[type="checkbox"], .k-legacy input[type="radio"] { accent-color: var(--k-red); }
.k-legacy label { color: var(--k-ink2); }
.k-legacy label.required::after, .k-legacy .required::after { color: var(--k-red-text); }
.k-legacy img { mix-blend-mode: normal; }
.k-legacy a:hover { color: var(--k-err); }
.k-legacy table th { font: 500 11px/1 var(--k-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--k-mut); }
.k-legacy [class*="icon-"] { color: inherit; }
