/* ============================================================
   KSmartShops — "AI MALL" light theme
   Loaded AFTER style.css. Redefines the dark obsidian tokens to
   the light crimson/rose palette from the 2026-08-31 mockups and
   rebuilds header, hero, category rail, cards and bottom nav.
   Nothing here is shared with admin/ or the rest of the site.
   ============================================================ */
:root {
  /* surfaces flip dark -> light */
  --bg-0: #fdfafc;
  --bg-1: #ffffff;
  --bg-2: #fdf5f9;
  --bg-3: #fbeef4;

  /* ink */
  --ink: #17131c;
  --ink-dim: #6d6478;
  --ink-faint: #9c93a6;

  /* brand: crimson rose replaces sapphire/gold */
  --rose: #d81f5b;
  --rose-deep: #b0164a;
  --rose-soft: #fce7ef;
  --rose-tint: #fdf3f7;
  --blue: #d81f5b;
  --blue-deep: #b0164a;
  --gold: #d81f5b;
  --gold-deep: #b0164a;
  --accent-grad: linear-gradient(100deg, #e8336e 0%, #d81f5b 55%, #b0164a 100%);

  --hot: #e8336e;
  --ok: #179d6b;
  --warn: #d98324;

  /* "glass" becomes soft ink washes on white */
  --glass: rgba(23,19,28,.028);
  --glass-strong: rgba(23,19,28,.055);
  --stroke: #f0dfe8;
  --stroke-soft: #f6ecf1;

  --glow-blue: 0 10px 34px -14px rgba(216,31,91,.40);
  --glow-gold: 0 10px 34px -14px rgba(216,31,91,.28);

  --r-sm: 12px; --r-md: 18px; --r-lg: 24px; --r-xl: 32px;
  --font-display: "Poppins", "Inter", system-ui, sans-serif;

  --shadow-card: 0 1px 2px rgba(23,19,28,.05), 0 8px 22px -14px rgba(23,19,28,.16);
  --shadow-pop: 0 10px 30px -12px rgba(216,31,91,.30);

  /* inline icon masks (no icon font, no extra request) */
  --ico-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E");
  --ico-mic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Crect x='9' y='2' width='6' height='12' rx='3'/%3E%3Cpath d='M5 11a7 7 0 0 0 14 0M12 18v4'/%3E%3C/svg%3E");
}

body { background: var(--bg-0); color: var(--ink); }
::selection { background: rgba(216,31,91,.20); }
::-webkit-scrollbar-track { background: var(--bg-0); }
::-webkit-scrollbar-thumb { background: #ecd9e4; }
::-webkit-scrollbar-thumb:hover { background: #e0c3d3; }
h1,h2,h3,h4 { letter-spacing: -.025em; }
.grad-text { background: var(--accent-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* the dark ambient blobs read as smudges on white — retune, don't remove */
.ks-ambient { opacity: .85; }
.ks-blob { filter: blur(110px); opacity: .30; }
.ks-blob-1 { background: radial-gradient(circle, #ffc4dc, transparent 68%); }
.ks-blob-2 { background: radial-gradient(circle, #ffd9e7, transparent 68%); }
.ks-grid-bg { display: none; }
.ks-amb-ico { opacity: .07; }

/* ---------------- header ---------------- */
.ks-header { background: rgba(255,255,255,.88); backdrop-filter: saturate(180%) blur(18px); border-bottom: 1px solid var(--stroke); }
.ks-topbar { border-bottom: 0; }
.ks-topbar-inner { gap: 18px; padding-block: 14px; }

.ks-brand-word {
  font-family: var(--font-display); font-weight: 700; font-size: 22px;
  letter-spacing: -.03em; color: var(--ink); white-space: nowrap;
}
.ks-brand-word b, .ks-brand-word strong { color: var(--rose); font-weight: 700; }
.ks-brand-word em { font-style: normal; color: var(--ink); }
.ks-brand svg { display: none; }
.ks-brand .ks-mark {
  display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px;
  background: var(--accent-grad); color: #fff; font-family: var(--font-display);
  font-weight: 700; font-size: 17px; letter-spacing: -.04em; box-shadow: var(--shadow-pop);
}

/* search: one soft pill = magnifier + input + category select + mic */
.ks-search { flex: 1; max-width: 720px; }
.ks-search-box {
  display: flex; align-items: center; gap: 8px;
  background: var(--rose-tint); border: 1px solid var(--stroke);
  border-radius: 999px; padding: 5px 6px 5px 16px; transition: border-color .2s, box-shadow .2s, background .2s;
}
.ks-search-box:focus-within { background: #fff; border-color: #f3b9cf; box-shadow: 0 0 0 4px rgba(216,31,91,.10); }
.ks-search-box::before {
  content: ""; flex: none; width: 17px; height: 17px; opacity: .5;
  background: currentColor; color: var(--ink-dim);
  -webkit-mask: var(--ico-search) center/contain no-repeat; mask: var(--ico-search) center/contain no-repeat;
}
.ks-search-box input { flex: 1; min-width: 0; background: none; border: 0; outline: none; font-size: 14.5px; padding: 9px 0; color: var(--ink); }
.ks-search-box input::placeholder { color: var(--ink-faint); }
.ks-search-cat {
  flex: none; border: 0; border-left: 1px solid var(--stroke); background: none;
  font-size: 13px; font-weight: 600; color: var(--ink-dim); padding: 6px 4px 6px 14px;
  outline: none; cursor: pointer; max-width: 150px;
}
.ks-search-box button[type="submit"] {
  flex: none; border: 0; cursor: pointer; border-radius: 999px;
  width: 40px; height: 40px; display: grid; place-items: center; font-size: 0;
  background: var(--accent-grad); color: #fff; box-shadow: var(--shadow-pop); transition: transform .18s var(--ease-spring);
}
.ks-search-box button[type="submit"]::before {
  content: ""; width: 16px; height: 16px; background: #fff;
  -webkit-mask: var(--ico-search) center/contain no-repeat; mask: var(--ico-search) center/contain no-repeat;
}
.ks-search-box button[type="submit"]:hover { transform: scale(1.06); }

/* voice search — the crimson circle from the mockup, only shown when the
   browser actually exposes SpeechRecognition */
.ks-search { display: flex; align-items: center; gap: 10px; }
.ks-mic {
  flex: none; width: 44px; height: 44px; border-radius: 50%; border: 0; cursor: pointer;
  display: grid; place-items: center; background: var(--accent-grad); color: #fff;
  box-shadow: var(--shadow-pop); transition: transform .18s var(--ease-spring), filter .2s;
}
.ks-mic::before {
  content: ""; width: 19px; height: 19px; background: #fff;
  -webkit-mask: var(--ico-mic) center/contain no-repeat; mask: var(--ico-mic) center/contain no-repeat;
}
.ks-mic:hover { transform: scale(1.06); }
.ks-mic[hidden] { display: none; }
.ks-mic.live { animation: micPulse 1.1s ease-in-out infinite; }
@keyframes micPulse {
  0%,100% { box-shadow: 0 0 0 0 rgba(216,31,91,.55), var(--shadow-pop); }
  50%     { box-shadow: 0 0 0 12px rgba(216,31,91,0), var(--shadow-pop); }
}

/* header icon buttons -> round, quiet */
.ks-nav-actions { gap: 6px; }
.ks-iconbtn {
  background: transparent; border: 1px solid transparent; color: var(--ink-dim);
  border-radius: 999px; padding: 9px 12px; font-weight: 600;
}
.ks-iconbtn:hover { background: var(--rose-soft); border-color: transparent; color: var(--rose); transform: none; }
.ks-iconbtn.primary { background: var(--accent-grad); color: #fff; border: 0; box-shadow: var(--shadow-pop); }
.ks-iconbtn.primary:hover { filter: brightness(1.05); color: #fff; }
.ks-cart-badge { background: var(--rose); color: #fff; box-shadow: 0 0 0 2px #fff; }
.ks-cart-badge.wish { background: var(--rose); }

/* category chip bar */
.ks-catbar { background: transparent; border-top: 1px solid var(--stroke-soft); }
.ks-catbar .ks-chip, .ks-chip {
  background: #fff; border: 1px solid var(--stroke); color: var(--ink-dim); border-radius: 999px;
}
.ks-chip:hover { border-color: #f0b5cd; color: var(--rose); background: var(--rose-tint); }
.ks-chip.active, .ks-catbar .ks-chip.active {
  background: var(--accent-grad); border-color: transparent; color: #fff; box-shadow: var(--shadow-pop);
}

/* ---------------- hero ---------------- */
.ks-hero {
  border-radius: var(--r-xl); overflow: hidden; border: 1px solid var(--stroke);
  background:
    radial-gradient(120% 140% at 82% 20%, #ffffff 0%, #fdf1f6 42%, #fbe6ef 72%, #f7dbe8 100%);
  box-shadow: var(--shadow-card);
}
/* silk light-streaks, drawn rather than shipped as a bitmap */
.ks-hero::before {
  content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .85;
  background:
    radial-gradient(60% 120% at 78% 8%,  rgba(255,255,255,.95), transparent 55%),
    radial-gradient(46% 90%  at 96% 62%, rgba(255,255,255,.75), transparent 60%),
    repeating-linear-gradient(102deg, rgba(255,255,255,0) 0 26px, rgba(255,255,255,.55) 30px, rgba(255,255,255,0) 62px);
  -webkit-mask: linear-gradient(100deg, transparent 22%, #000 58%); mask: linear-gradient(100deg, transparent 22%, #000 58%);
}
.ks-hero-slide { position: relative; display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; min-height: 340px; }
.ks-hero-slide img { display: none; }
.ks-hero-copy { padding: 46px 10px 46px 52px; position: relative; z-index: 2; }
.ks-hero-eyebrow {
  font-family: var(--font-display); font-size: 12px; font-weight: 700;
  letter-spacing: .16em; text-transform: uppercase; color: var(--rose); margin-bottom: 14px;
}
.ks-hero-title {
  font-family: var(--font-display); font-weight: 700; font-size: clamp(34px, 4.4vw, 56px);
  line-height: 1.04; letter-spacing: -.035em; color: var(--ink); margin: 0 0 16px;
}
.ks-hero-title span { display: block; color: var(--rose); }
.ks-hero-sub { color: var(--ink-dim); font-size: 15.5px; line-height: 1.55; max-width: 34ch; margin: 0 0 26px; }
.ks-hero-cta {
  display: inline-flex; align-items: center; gap: 10px; border: 0; cursor: pointer;
  background: var(--accent-grad); color: #fff; font-weight: 700; font-size: 15px;
  padding: 14px 28px; border-radius: 999px; box-shadow: var(--shadow-pop);
  transition: transform .2s var(--ease-spring), filter .2s;
}
.ks-hero-cta:hover { transform: translateY(-2px); filter: brightness(1.06); }
.ks-hero-art { position: relative; z-index: 1; align-self: end; justify-self: center; width: 100%; max-width: 460px; }
.ks-hero-art img { display: block; width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; cursor: default; filter: drop-shadow(0 26px 40px rgba(176,22,74,.20)); }
.ks-hero-arrow { background: rgba(255,255,255,.9); border: 1px solid var(--stroke); color: var(--ink); box-shadow: var(--shadow-card); }
.ks-hero-arrow:hover { background: #fff; color: var(--rose); }
.ks-hero-dots { bottom: 18px; }
.ks-hero-dots button { background: #f0cfdd; width: 8px; height: 8px; }
.ks-hero-dots button.on { background: var(--rose); width: 26px; }

/* ---------------- trust strip ---------------- */
.ks-trust { background: transparent; border: 0; padding: 0; gap: 12px; }
.ks-trust-item {
  background: #fff; border: 1px solid var(--stroke); border-radius: var(--r-md);
  padding: 14px 16px; box-shadow: var(--shadow-card);
}
.ks-trust-item .ico { background: var(--rose-soft); border-radius: 12px; width: 40px; height: 40px; display: grid; place-items: center; }
.ks-trust-item b { color: var(--ink); }
.ks-trust-item span { color: var(--ink-faint); }

/* ---------------- section heads ---------------- */
.ks-section-head h2 {
  position: relative; padding-left: 14px; font-size: 21px; color: var(--ink);
  display: flex; align-items: center; gap: 8px;
}
.ks-section-head h2::before {
  content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%);
  width: 4px; height: 21px; border-radius: 3px; background: var(--accent-grad);
}
.ks-section-head .sub, .ks-section-head .linky { color: var(--rose); font-weight: 600; }

/* ---------------- category rail: circular tiles ---------------- */
.ks-cats { display: grid; grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)); gap: 10px; }
.ks-cat {
  background: transparent; border: 0; box-shadow: none; padding: 12px 6px; text-align: center;
  border-radius: var(--r-md); transition: background .2s, transform .2s var(--ease-out);
}
.ks-cat:hover { background: var(--rose-tint); transform: translateY(-3px); }
.ks-cat .ico {
  width: 62px; height: 62px; margin: 0 auto 10px; border-radius: 50%;
  display: grid; place-items: center; font-size: 26px;
  background: linear-gradient(160deg, #fff 0%, var(--rose-soft) 100%);
  border: 1px solid var(--stroke); box-shadow: var(--shadow-card);
  transition: transform .22s var(--ease-spring), box-shadow .22s;
}
.ks-cat:hover .ico { transform: scale(1.06); box-shadow: var(--shadow-pop); }
.ks-cat .nm { font-size: 13px; font-weight: 600; color: var(--ink); }
.ks-cat .ct { font-size: 11.5px; color: var(--ink-faint); }

/* ---------------- product cards ---------------- */
.ks-prod {
  background: #fff; border: 1px solid var(--stroke); border-radius: var(--r-md);
  box-shadow: var(--shadow-card); overflow: hidden;
}
.ks-prod:hover { border-color: #f3c3d6; box-shadow: 0 14px 34px -16px rgba(216,31,91,.34); transform: translateY(-4px); }
.ks-thumb { background: var(--rose-tint); }
.ks-prod-body { display: flex; flex-direction: column; gap: 7px; padding: 14px; }
/* mockup order: title, rating, price — DOM order is price, title, meta */
.ks-prod-body .ks-prod-title { order: 1; font-size: 13.5px; font-weight: 600; color: var(--ink); line-height: 1.4; min-height: 2.8em; }
.ks-prod-body .ks-meta       { order: 2; color: var(--ink-faint); font-size: 12px; }
.ks-prod-body .ks-price-row  { order: 3; align-items: baseline; gap: 8px; }
.ks-prod-body .ks-sold-bar   { order: 4; background: var(--rose-soft); }
.ks-prod-body .ks-shop-row   { order: 5; color: var(--ink-faint); }
.ks-prod-body .ks-quickadd   { order: 6; }
.ks-price { color: var(--rose); font-size: 18px; font-weight: 700; letter-spacing: -.02em; }
.ks-was { color: var(--ink-faint); text-decoration: line-through; font-size: 12.5px; }
.ks-stars { color: #f5a623; letter-spacing: -1px; }
.ks-sold-bar i { background: var(--accent-grad); }
.ks-badge-official { background: var(--rose-soft); color: var(--rose-deep); border: 0; font-weight: 700; }

.ks-flag { border: 0; font-weight: 700; letter-spacing: .01em; box-shadow: 0 4px 12px -6px rgba(23,19,28,.4); }
.ks-flag.off { background: var(--accent-grad); color: #fff; }
.ks-flag.deal { background: #fff; color: var(--rose); }
.ks-flag.soldout { background: rgba(23,19,28,.72); color: #fff; }

.ks-wish {
  background: rgba(255,255,255,.94); border: 1px solid var(--stroke); color: #c9bfd0;
  box-shadow: var(--shadow-card); backdrop-filter: none;
}
.ks-wish:hover { color: var(--rose); border-color: #f3b9cf; }
.ks-wish.on { background: #fff; color: var(--rose); border-color: #f3b9cf; }

.ks-quickadd {
  background: var(--rose-tint); border: 1px solid var(--stroke); color: var(--rose-deep);
  font-weight: 700; border-radius: 999px;
}
.ks-quickadd:hover { background: var(--accent-grad); border-color: transparent; color: #fff; box-shadow: var(--shadow-pop); }

/* ---------------- buttons / inputs ---------------- */
.ks-btn { background: var(--accent-grad); color: #fff; border: 0; border-radius: 999px; font-weight: 700; box-shadow: var(--shadow-pop); }
.ks-btn:hover { filter: brightness(1.06); transform: translateY(-1px); }
.ks-btn.ghost { background: #fff; border: 1px solid var(--stroke); color: var(--ink-dim); box-shadow: none; }
.ks-btn.ghost:hover { background: var(--rose-tint); border-color: #f0b5cd; color: var(--rose); }
.ks-field input, .ks-field select, .ks-field textarea, input, select, textarea {
  background: #fff; border-color: var(--stroke); color: var(--ink);
}
.ks-field input:focus, .ks-field select:focus, .ks-field textarea:focus {
  border-color: #f0b5cd; box-shadow: 0 0 0 4px rgba(216,31,91,.10);
}

/* ---------------- cards, modals, skeletons ---------------- */
.ks-card { background: #fff; border: 1px solid var(--stroke); box-shadow: var(--shadow-card); }
.ks-modal { background: rgba(23,19,28,.45); backdrop-filter: blur(6px); }
.ks-modal-card { background: #fff; border: 1px solid var(--stroke); box-shadow: 0 30px 80px -30px rgba(23,19,28,.45); }
.ks-skel .sk { background: linear-gradient(90deg, #f6eef3 25%, #fbf5f8 37%, #f6eef3 63%); background-size: 400% 100%; }
.ks-histo .hbar, .ks-freebar .bar { background: var(--rose-soft); }
.p-awaiting_pickup { background: var(--rose-soft); color: var(--rose-deep); border-color: transparent; }

/* ---------------- footer ---------------- */
.ks-footer { background: #fff; border-top: 1px solid var(--stroke); color: var(--ink-dim); }
.ks-footer h4 { color: var(--ink); }
.ks-footer a { color: var(--ink-dim); }
.ks-footer a:hover { color: var(--rose); }
.ks-footer-bottom { border-top: 1px solid var(--stroke-soft); color: var(--ink-faint); }

/* ---------------- club banner ---------------- */
.ks-club {
  display: flex; align-items: center; gap: 16px; margin-top: 30px;
  padding: 18px 22px; border-radius: var(--r-lg); border: 1px solid var(--stroke);
  background: linear-gradient(100deg, var(--rose-tint) 0%, var(--rose-soft) 55%, #fbd9e6 100%);
  box-shadow: var(--shadow-card);
}
.ks-club .gem { font-size: 30px; flex: none; filter: drop-shadow(0 4px 10px rgba(216,31,91,.3)); }
.ks-club-txt { flex: 1; min-width: 0; }
.ks-club-txt b { display: block; font-family: var(--font-display); font-size: 15px; letter-spacing: .04em; text-transform: uppercase; color: var(--rose-deep); }
.ks-club-txt span { font-size: 13.5px; color: var(--ink-dim); }
.ks-club .ks-btn { flex: none; padding: 11px 22px; font-size: 13.5px; }

/* ---------------- mobile bottom nav ---------------- */
.ks-tabbar { display: none; }
@media (max-width: 860px) {
  .ks-tabbar {
    display: grid; grid-template-columns: repeat(5, 1fr); align-items: end;
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 90;
    background: rgba(255,255,255,.94); backdrop-filter: saturate(180%) blur(18px);
    border-top: 1px solid var(--stroke); padding: 8px 6px calc(6px + env(safe-area-inset-bottom));
    box-shadow: 0 -6px 24px -18px rgba(23,19,28,.5);
  }
  .ks-tabbar a, .ks-tabbar button {
    background: none; border: 0; cursor: pointer; display: grid; justify-items: center; gap: 3px;
    font-size: 10.5px; font-weight: 600; color: var(--ink-faint); padding: 4px 0; position: relative;
  }
  .ks-tabbar .ico { font-size: 19px; line-height: 1; }
  .ks-tabbar .on { color: var(--rose); }
  .ks-tabbar .mic {
    width: 54px; height: 54px; border-radius: 50%; margin-top: -26px; font-size: 22px;
    background: var(--accent-grad); color: #fff; display: grid; place-items: center;
    box-shadow: 0 8px 22px -8px rgba(216,31,91,.6); border: 4px solid #fff;
  }
  .ks-tabbar .ks-cart-badge { top: 0; right: 22%; }
  body { padding-bottom: 74px; }
}

/* ---------------- responsive hero ---------------- */
@media (max-width: 860px) {
  .ks-hero-slide { grid-template-columns: 1fr; min-height: 0; }
  .ks-hero-copy { padding: 30px 22px 8px; text-align: left; }
  .ks-hero-sub { margin-bottom: 20px; }
  .ks-hero-art { max-width: 300px; margin-inline: auto; }
  .ks-hero::before { -webkit-mask: none; mask: none; opacity: .6; }
  .ks-search { order: 3; flex-basis: 100%; max-width: none; }
  .ks-search-cat { display: none; }
  .ks-cat .ico { width: 54px; height: 54px; font-size: 23px; }
}

/* ---------------- fixes after the first visual pass ---------------- */
/* the topbar and chip bar carried their own dark tints, independent of tokens */
.ks-topbar { background: rgba(255,255,255,.90); border-bottom: 1px solid var(--stroke-soft); }
.ks-catbar { background: rgba(255,255,255,.82); }
.ks-catbar::after { background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.95)); }

/* vouchers were sapphire/gold dashed tickets */
.ks-vcard {
  background: linear-gradient(115deg, var(--rose-tint), var(--rose-soft));
  border: 1px dashed #f0b5cd;
}
.ks-vcard.got { border-style: solid; border-color: #b9e7d3; background: linear-gradient(115deg,#f3fbf7,#e9f7f0); }
.ks-vcard .amt { border-right-color: #f0b5cd; }
.ks-vcard .amt b { color: var(--rose); }
.ks-vcard code { color: var(--rose-deep); }
.ks-vin input { background: #fff; }
.ks-vin input:focus { border-color: #f0b5cd; box-shadow: 0 0 0 3px rgba(216,31,91,.12); }

/* the install prompt must clear the new tab bar */
@media (max-width: 860px) { .ks-install { bottom: calc(84px + env(safe-area-inset-bottom)); } }
.ks-install { background: #fff; border: 1px solid var(--stroke); box-shadow: 0 18px 40px -18px rgba(23,19,28,.4); }
.ks-install b { color: var(--ink); }
.ks-install span { color: var(--ink-dim); }

/* ambient emoji read as grey smudges on a white page */
.ks-amb-ico { display: none; }
/* the mockup navigates the hero with dots only; the arrows sat on top of the headline */
.ks-hero-arrow { display: none; }

/* thumbnails: light pedestal instead of the dark one, and stop the Flash
   badge landing under the wishlist heart */
.ks-thumb {
  background-image:
    radial-gradient(120% 78% at 50% 108%, rgba(216,31,91,.09), transparent 62%),
    radial-gradient(78% 66% at 50% 34%, rgba(255,255,255,.9), transparent 70%);
}
.ks-thumb .emo { filter: drop-shadow(0 12px 20px rgba(23,19,28,.20)); }
.ks-thumb::after { background: linear-gradient(115deg, transparent 38%, rgba(255,255,255,.6) 50%, transparent 62%); }
.ks-flag.deal, .ks-prod .ks-flag.deal, .ks-flag.off + .ks-flag.deal {
  left: 10px; right: auto; top: 38px;
  background: #fff; color: var(--rose); border: 1px solid #f6cddd;
}
.ks-flag.soldout { left: auto; right: 10px; }

/* ---------------- desktop department rail ---------------- */
.ks-dept { display: none; }
@media (min-width: 1100px) {
  .ks-lay { display: grid; grid-template-columns: 236px minmax(0, 1fr); gap: 24px; align-items: start; }
  .ks-lay-main { min-width: 0; }
  .ks-dept {
    display: block; position: sticky; top: 128px; padding: 8px;
    background: #fff; border: 1px solid var(--stroke); border-radius: var(--r-lg);
    box-shadow: var(--shadow-card); max-height: calc(100vh - 150px); overflow-y: auto;
  }
  .ks-dept::-webkit-scrollbar { width: 6px; }
}
.ks-dept-head {
  display: flex; align-items: center; gap: 8px; margin-bottom: 6px;
  background: var(--accent-grad); color: #fff; border-radius: 14px;
  padding: 11px 14px; font-family: var(--font-display); font-weight: 600; font-size: 13.5px;
}
.ks-dept-head::before {
  content: ""; width: 15px; height: 11px; background: #fff;
  -webkit-mask: linear-gradient(#000,#000) top/100% 2px no-repeat, linear-gradient(#000,#000) center/100% 2px no-repeat, linear-gradient(#000,#000) bottom/100% 2px no-repeat;
  mask: linear-gradient(#000,#000) top/100% 2px no-repeat, linear-gradient(#000,#000) center/100% 2px no-repeat, linear-gradient(#000,#000) bottom/100% 2px no-repeat;
}
.ks-dept a {
  display: flex; align-items: center; gap: 10px; padding: 9px 12px; border-radius: 12px;
  font-size: 13.2px; font-weight: 500; color: var(--ink-dim); transition: background .16s, color .16s;
}
.ks-dept a .i { font-size: 15px; flex: none; }
.ks-dept a .t { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ks-dept a .x { color: var(--ink-faint); font-size: 16px; }
.ks-dept a:hover { background: var(--rose-tint); color: var(--rose); }
.ks-dept a:hover .x { color: var(--rose); }
.ks-dept-club {
  margin-top: 8px; padding: 14px; border-radius: 14px; text-align: left;
  background: linear-gradient(150deg, var(--rose-tint), var(--rose-soft)); border: 1px solid #f7dbe7;
}
.ks-dept-club span[aria-hidden] { font-size: 20px; }
.ks-dept-club b { display: block; font-size: 12.5px; letter-spacing: .04em; text-transform: uppercase; color: var(--rose-deep); margin-top: 4px; }
.ks-dept-club .s { display: block; font-size: 12px; color: var(--ink-dim); line-height: 1.45; margin: 3px 0 8px; }
.ks-dept-club a { display: inline; padding: 0; font-size: 12.5px; font-weight: 700; color: var(--rose); }
.ks-dept-club a:hover { background: none; text-decoration: underline; }

/* ---------------- product page ---------------- */
.ks-gallery .ks-pdp-media img { background: #fff; }
.ks-galrail button.on { border-color: var(--rose); }
.ks-variants button:hover:not(:disabled) { border-color: #f0b5cd; }
.ks-variants button.on { border-color: var(--rose); background: var(--rose-soft); color: var(--rose-deep); font-weight: 700; }
.ks-varchip { background: var(--rose-soft); color: var(--rose-deep); border-color: transparent; }
.ks-vartable input:focus { border-color: #f0b5cd; }
.ks-vartable .rm:hover { color: var(--hot); border-color: #f3b9cf; }
.ks-pricebox {
  background: linear-gradient(115deg, var(--rose-tint), var(--rose-soft));
  border: 1px solid #f7dbe7;
}

/* ============================================================
   Professional pass — the KSMART PAY design system, in rose
   Ported from /home/ksmartpay/web/html/assets/css/tokens.css so
   the two products feel like one house: display face on all UI
   chrome, one restrained shadow, real press states, r-md inputs,
   and line icons instead of emoji.
   ============================================================ */
:root {
  --font-display: "Space Grotesk", "Segoe UI", system-ui, sans-serif;
  /* one shadow language, not a glow on every element */
  --sh-btn:       0 6px 24px -8px rgba(216,31,91,.55);
  --sh-btn-hover: 0 10px 32px -8px rgba(216,31,91,.70);
  --shadow-card: 0 1px 2px rgba(23,19,28,.04), 0 6px 18px -12px rgba(23,19,28,.14);
  --shadow-pop:  var(--sh-btn);
}

/* ---------- buttons: ksmartpay .btn, rose ---------- */
.ks-btn, .ks-hero-cta, .ks-quickadd, .ks-search-box button[type="submit"], .ks-mic {
  font-family: var(--font-display); font-weight: 600; letter-spacing: -.01em;
  transition: transform .25s var(--ease-out), box-shadow .25s var(--ease-out),
              background-color .25s, border-color .25s, color .25s, opacity .2s;
}
.ks-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 13px 26px; border-radius: 999px; border: 1px solid transparent;
  font-size: 15px; cursor: pointer; white-space: nowrap;
  background: var(--accent-grad); color: #fff; box-shadow: var(--sh-btn);
}
.ks-btn:hover { transform: translateY(-2px); box-shadow: var(--sh-btn-hover); filter: none; }
.ks-btn:active, .ks-hero-cta:active, .ks-quickadd:active { transform: scale(.97); }
.ks-btn[disabled], .ks-btn:disabled { opacity: .5; cursor: not-allowed; transform: none; box-shadow: none; }
.ks-btn.ghost {
  background: var(--glass); border-color: var(--stroke); color: var(--ink); box-shadow: none;
}
.ks-btn.ghost:hover { background: var(--glass-strong); border-color: #e7cfdb; color: var(--ink); transform: translateY(-2px); }
.ks-btn.lg { padding: 16px 34px; font-size: 16px; }
.ks-btn.sm { padding: 9px 18px; font-size: 13.5px; }
.ks-hero-cta { padding: 15px 30px; font-size: 15px; box-shadow: var(--sh-btn); }
.ks-hero-cta:hover { transform: translateY(-2px); box-shadow: var(--sh-btn-hover); filter: none; }
.ks-quickadd { padding: 10px 16px; font-size: 13.5px; box-shadow: none; }

/* ---------- inputs: r-md, not pills; ksmartpay focus ring ---------- */
.ks-field input, .ks-field select, .ks-field textarea, .ks-vin input, .ks-price-in input {
  border-radius: var(--r-md); padding: 13px 16px; background: #fff;
  border: 1px solid var(--stroke); transition: border-color .2s, box-shadow .2s;
}
.ks-field input:focus, .ks-field select:focus, .ks-field textarea:focus, .ks-vin input:focus {
  border-color: rgba(216,31,91,.55); box-shadow: 0 0 0 3px rgba(216,31,91,.12);
}
.ks-field label, .ks-field > span { font-family: var(--font-display); font-weight: 500; color: var(--ink-dim); }
.ks-search-box { border-radius: 999px; }          /* the search pill stays a pill */

/* ---------- chips ---------- */
.ks-chip {
  font-family: var(--font-display); font-size: 13px; letter-spacing: .02em; font-weight: 500;
  padding: 7px 15px; box-shadow: none;
}
.ks-chip.active { box-shadow: var(--sh-btn); }

/* ---------- calmer surfaces ---------- */
.ks-prod:hover { box-shadow: 0 12px 30px -18px rgba(23,19,28,.34); }
.ks-cat:hover .ico { box-shadow: var(--shadow-card); }
.ks-iconbtn { font-family: var(--font-display); font-weight: 500; letter-spacing: .01em; }
.ks-iconbtn.primary { box-shadow: var(--sh-btn); }
.ks-section-head h2 { font-size: 20px; letter-spacing: -.02em; }
.ks-hero-eyebrow { font-family: var(--font-display); letter-spacing: .18em; }

/* ---------- line icons (mask sprites) replace emoji in the chrome ---------- */
.ks-ico {
  display: inline-block; flex: none; width: 1.15em; height: 1.15em;
  background: currentColor; vertical-align: -.18em;
  -webkit-mask-position: center; mask-position: center;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-size: contain; mask-size: contain;
}
.ks-ico.lg { width: 1.5em; height: 1.5em; }

/* icon sprite sheet — CSS masks, no font, no extra request */
.ks-ico.i-box{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M3%208l9-4%209%204v8l-9%204-9-4z'%2F%3E%3Cpath%20d%3D'M3%208l9%204%209-4'%2F%3E%3Cpath%20d%3D'M12%2012v8'%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M3%208l9-4%209%204v8l-9%204-9-4z'%2F%3E%3Cpath%20d%3D'M3%208l9%204%209-4'%2F%3E%3Cpath%20d%3D'M12%2012v8'%2F%3E%3C%2Fsvg%3E")}
.ks-ico.i-heart{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M12%2020s-7-4.6-7-9.2A3.9%203.9%200%200%201%2012%208a3.9%203.9%200%200%201%207%202.8C19%2015.4%2012%2020%2012%2020z'%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M12%2020s-7-4.6-7-9.2A3.9%203.9%200%200%201%2012%208a3.9%203.9%200%200%201%207%202.8C19%2015.4%2012%2020%2012%2020z'%2F%3E%3C%2Fsvg%3E")}
.ks-ico.i-cart{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M3%204h2l2.3%2010.3a2%202%200%200%200%202%201.7h7.4a2%202%200%200%200%202-1.6L20.5%208H6.2'%2F%3E%3Ccircle%20cx%3D'10'%20cy%3D'20'%20r%3D'1.4'%2F%3E%3Ccircle%20cx%3D'17'%20cy%3D'20'%20r%3D'1.4'%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M3%204h2l2.3%2010.3a2%202%200%200%200%202%201.7h7.4a2%202%200%200%200%202-1.6L20.5%208H6.2'%2F%3E%3Ccircle%20cx%3D'10'%20cy%3D'20'%20r%3D'1.4'%2F%3E%3Ccircle%20cx%3D'17'%20cy%3D'20'%20r%3D'1.4'%2F%3E%3C%2Fsvg%3E")}
.ks-ico.i-user{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Ccircle%20cx%3D'12'%20cy%3D'8'%20r%3D'3.4'%2F%3E%3Cpath%20d%3D'M5%2020c1.4-3.4%204-5.2%207-5.2s5.6%201.8%207%205.2'%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Ccircle%20cx%3D'12'%20cy%3D'8'%20r%3D'3.4'%2F%3E%3Cpath%20d%3D'M5%2020c1.4-3.4%204-5.2%207-5.2s5.6%201.8%207%205.2'%2F%3E%3C%2Fsvg%3E")}
.ks-ico.i-home{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M4%2011l8-6%208%206v8a1%201%200%200%201-1%201h-4.5v-6h-5v6H5a1%201%200%200%201-1-1z'%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M4%2011l8-6%208%206v8a1%201%200%200%201-1%201h-4.5v-6h-5v6H5a1%201%200%200%201-1-1z'%2F%3E%3C%2Fsvg%3E")}
.ks-ico.i-bolt{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M13%203L5.5%2013.5H10L9%2021l7.5-10.5H12z'%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M13%203L5.5%2013.5H10L9%2021l7.5-10.5H12z'%2F%3E%3C%2Fsvg%3E")}
.ks-ico.i-arrowup{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M12%2019.5V5.5'%2F%3E%3Cpath%20d%3D'M5.5%2012L12%205.5%2018.5%2012'%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M12%2019.5V5.5'%2F%3E%3Cpath%20d%3D'M5.5%2012L12%205.5%2018.5%2012'%2F%3E%3C%2Fsvg%3E")}
.ks-ico.i-chevron{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M9.5%205l7%207-7%207'%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M9.5%205l7%207-7%207'%2F%3E%3C%2Fsvg%3E")}
.ks-ico.i-menu{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M4%207h16'%2F%3E%3Cpath%20d%3D'M4%2012h16'%2F%3E%3Cpath%20d%3D'M4%2017h16'%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M4%207h16'%2F%3E%3Cpath%20d%3D'M4%2012h16'%2F%3E%3Cpath%20d%3D'M4%2017h16'%2F%3E%3C%2Fsvg%3E")}
.ks-ico.i-grid{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'4'%20y%3D'4'%20width%3D'7'%20height%3D'7'%20rx%3D'1.6'%2F%3E%3Crect%20x%3D'13'%20y%3D'4'%20width%3D'7'%20height%3D'7'%20rx%3D'1.6'%2F%3E%3Crect%20x%3D'4'%20y%3D'13'%20width%3D'7'%20height%3D'7'%20rx%3D'1.6'%2F%3E%3Crect%20x%3D'13'%20y%3D'13'%20width%3D'7'%20height%3D'7'%20rx%3D'1.6'%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'4'%20y%3D'4'%20width%3D'7'%20height%3D'7'%20rx%3D'1.6'%2F%3E%3Crect%20x%3D'13'%20y%3D'4'%20width%3D'7'%20height%3D'7'%20rx%3D'1.6'%2F%3E%3Crect%20x%3D'4'%20y%3D'13'%20width%3D'7'%20height%3D'7'%20rx%3D'1.6'%2F%3E%3Crect%20x%3D'13'%20y%3D'13'%20width%3D'7'%20height%3D'7'%20rx%3D'1.6'%2F%3E%3C%2Fsvg%3E")}
.ks-ico.i-sparkle{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M12%203l2%206.2%206.2%202-6.2%202L12%2021l-2-7.8-6.2-2%206.2-2z'%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M12%203l2%206.2%206.2%202-6.2%202L12%2021l-2-7.8-6.2-2%206.2-2z'%2F%3E%3C%2Fsvg%3E")}
.ks-ico.i-clock{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Ccircle%20cx%3D'12'%20cy%3D'12'%20r%3D'8.2'%2F%3E%3Cpath%20d%3D'M12%207v5.2l3.4%202'%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Ccircle%20cx%3D'12'%20cy%3D'12'%20r%3D'8.2'%2F%3E%3Cpath%20d%3D'M12%207v5.2l3.4%202'%2F%3E%3C%2Fsvg%3E")}
.ks-ico.i-star{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M12%203.6l2.6%205.6%206.1.9-4.4%204.2%201.1%206-5.4-2.9-5.4%202.9%201.1-6L3.3%2010.1l6.1-.9z'%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M12%203.6l2.6%205.6%206.1.9-4.4%204.2%201.1%206-5.4-2.9-5.4%202.9%201.1-6L3.3%2010.1l6.1-.9z'%2F%3E%3C%2Fsvg%3E")}
.ks-ico.i-gem{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M6%204h12l3%205-9%2011L3%209z'%2F%3E%3Cpath%20d%3D'M6%204l3%205%203-5%203%205%203-5'%2F%3E%3Cpath%20d%3D'M3%209h18'%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M6%204h12l3%205-9%2011L3%209z'%2F%3E%3Cpath%20d%3D'M6%204l3%205%203-5%203%205%203-5'%2F%3E%3Cpath%20d%3D'M3%209h18'%2F%3E%3C%2Fsvg%3E")}
.ks-ico.i-truck{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M3%207h10.5v9.5H3z'%2F%3E%3Cpath%20d%3D'M13.5%2010.5h3.6L21%2014v2.5h-7.5z'%2F%3E%3Ccircle%20cx%3D'7'%20cy%3D'18'%20r%3D'1.7'%2F%3E%3Ccircle%20cx%3D'17.5'%20cy%3D'18'%20r%3D'1.7'%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M3%207h10.5v9.5H3z'%2F%3E%3Cpath%20d%3D'M13.5%2010.5h3.6L21%2014v2.5h-7.5z'%2F%3E%3Ccircle%20cx%3D'7'%20cy%3D'18'%20r%3D'1.7'%2F%3E%3Ccircle%20cx%3D'17.5'%20cy%3D'18'%20r%3D'1.7'%2F%3E%3C%2Fsvg%3E")}
.ks-ico.i-cash{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'2.5'%20y%3D'6'%20width%3D'19'%20height%3D'12'%20rx%3D'2.2'%2F%3E%3Ccircle%20cx%3D'12'%20cy%3D'12'%20r%3D'2.9'%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'2.5'%20y%3D'6'%20width%3D'19'%20height%3D'12'%20rx%3D'2.2'%2F%3E%3Ccircle%20cx%3D'12'%20cy%3D'12'%20r%3D'2.9'%2F%3E%3C%2Fsvg%3E")}
.ks-ico.i-shield{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M12%203.2l7%202.8v6c0%204.2-3%207.3-7%208.4-4-1.1-7-4.2-7-8.4v-6z'%2F%3E%3Cpath%20d%3D'M9.2%2012.2l2%202%203.6-3.8'%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M12%203.2l7%202.8v6c0%204.2-3%207.3-7%208.4-4-1.1-7-4.2-7-8.4v-6z'%2F%3E%3Cpath%20d%3D'M9.2%2012.2l2%202%203.6-3.8'%2F%3E%3C%2Fsvg%3E")}
.ks-ico.i-refresh{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M20%2012a8%208%200%201%201-2.4-5.7'%2F%3E%3Cpath%20d%3D'M20.5%204v5h-5'%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M20%2012a8%208%200%201%201-2.4-5.7'%2F%3E%3Cpath%20d%3D'M20.5%204v5h-5'%2F%3E%3C%2Fsvg%3E")}
.ks-ico.i-phone{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'7'%20y%3D'2.5'%20width%3D'10'%20height%3D'19'%20rx%3D'2.4'%2F%3E%3Cpath%20d%3D'M10.5%2018.6h3'%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'7'%20y%3D'2.5'%20width%3D'10'%20height%3D'19'%20rx%3D'2.4'%2F%3E%3Cpath%20d%3D'M10.5%2018.6h3'%2F%3E%3C%2Fsvg%3E")}
.ks-ico.i-headphone{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M4.5%2014.5v-2a7.5%207.5%200%200%201%2015%200v2'%2F%3E%3Cpath%20d%3D'M4.5%2013.6h2.2a1%201%200%200%201%201%201v3.6a1%201%200%200%201-1%201H5.6a1.1%201.1%200%200%201-1.1-1.1z'%2F%3E%3Cpath%20d%3D'M19.5%2013.6h-2.2a1%201%200%200%200-1%201v3.6a1%201%200%200%200%201%201h1.1a1.1%201.1%200%200%200%201.1-1.1z'%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M4.5%2014.5v-2a7.5%207.5%200%200%201%2015%200v2'%2F%3E%3Cpath%20d%3D'M4.5%2013.6h2.2a1%201%200%200%201%201%201v3.6a1%201%200%200%201-1%201H5.6a1.1%201.1%200%200%201-1.1-1.1z'%2F%3E%3Cpath%20d%3D'M19.5%2013.6h-2.2a1%201%200%200%200-1%201v3.6a1%201%200%200%200%201%201h1.1a1.1%201.1%200%200%200%201.1-1.1z'%2F%3E%3C%2Fsvg%3E")}
.ks-ico.i-tv{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'3'%20y%3D'6.5'%20width%3D'18'%20height%3D'11.5'%20rx%3D'2'%2F%3E%3Cpath%20d%3D'M8.5%2021.5h7'%2F%3E%3Cpath%20d%3D'M8.8%206.3L12%203l3.2%203.3'%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'3'%20y%3D'6.5'%20width%3D'18'%20height%3D'11.5'%20rx%3D'2'%2F%3E%3Cpath%20d%3D'M8.5%2021.5h7'%2F%3E%3Cpath%20d%3D'M8.8%206.3L12%203l3.2%203.3'%2F%3E%3C%2Fsvg%3E")}
.ks-ico.i-beauty{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'9'%20y%3D'12.5'%20width%3D'6'%20height%3D'8.5'%20rx%3D'1'%2F%3E%3Cpath%20d%3D'M10.2%2012.5V7.2l3.6-3.2v8.5'%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'9'%20y%3D'12.5'%20width%3D'6'%20height%3D'8.5'%20rx%3D'1'%2F%3E%3Cpath%20d%3D'M10.2%2012.5V7.2l3.6-3.2v8.5'%2F%3E%3C%2Fsvg%3E")}
.ks-ico.i-toy{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Ccircle%20cx%3D'12'%20cy%3D'13.6'%20r%3D'5.4'%2F%3E%3Ccircle%20cx%3D'6.9'%20cy%3D'7.4'%20r%3D'2.6'%2F%3E%3Ccircle%20cx%3D'17.1'%20cy%3D'7.4'%20r%3D'2.6'%2F%3E%3Cpath%20d%3D'M10.3%2012.6h.01'%2F%3E%3Cpath%20d%3D'M13.7%2012.6h.01'%2F%3E%3Cpath%20d%3D'M10.6%2016a2.4%202.4%200%200%200%202.8%200'%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Ccircle%20cx%3D'12'%20cy%3D'13.6'%20r%3D'5.4'%2F%3E%3Ccircle%20cx%3D'6.9'%20cy%3D'7.4'%20r%3D'2.6'%2F%3E%3Ccircle%20cx%3D'17.1'%20cy%3D'7.4'%20r%3D'2.6'%2F%3E%3Cpath%20d%3D'M10.3%2012.6h.01'%2F%3E%3Cpath%20d%3D'M13.7%2012.6h.01'%2F%3E%3Cpath%20d%3D'M10.6%2016a2.4%202.4%200%200%200%202.8%200'%2F%3E%3C%2Fsvg%3E")}
.ks-ico.i-basket{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M3.6%209h16.8l-1.9%2010.2H5.5z'%2F%3E%3Cpath%20d%3D'M8.4%209l2.2-5.2'%2F%3E%3Cpath%20d%3D'M15.6%209l-2.2-5.2'%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M3.6%209h16.8l-1.9%2010.2H5.5z'%2F%3E%3Cpath%20d%3D'M8.4%209l2.2-5.2'%2F%3E%3Cpath%20d%3D'M15.6%209l-2.2-5.2'%2F%3E%3C%2Fsvg%3E")}
.ks-ico.i-sofa{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M5.5%2012V9.4a2%202%200%200%201%204%200V12h5V9.4a2%202%200%200%201%204%200V12'%2F%3E%3Crect%20x%3D'2.6'%20y%3D'12'%20width%3D'18.8'%20height%3D'6.2'%20rx%3D'1.8'%2F%3E%3Cpath%20d%3D'M6.2%2018.2v2.2'%2F%3E%3Cpath%20d%3D'M17.8%2018.2v2.2'%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M5.5%2012V9.4a2%202%200%200%201%204%200V12h5V9.4a2%202%200%200%201%204%200V12'%2F%3E%3Crect%20x%3D'2.6'%20y%3D'12'%20width%3D'18.8'%20height%3D'6.2'%20rx%3D'1.8'%2F%3E%3Cpath%20d%3D'M6.2%2018.2v2.2'%2F%3E%3Cpath%20d%3D'M17.8%2018.2v2.2'%2F%3E%3C%2Fsvg%3E")}
.ks-ico.i-dress{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M9%203l3%202.2L15%203l1.6%204.2-1.4%202.3L17.5%2021h-11l2.3-11.5-1.4-2.3z'%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M9%203l3%202.2L15%203l1.6%204.2-1.4%202.3L17.5%2021h-11l2.3-11.5-1.4-2.3z'%2F%3E%3C%2Fsvg%3E")}
.ks-ico.i-shirt{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M9.6%203h4.8l-1.1%203.2%201.9%209.6-3.2%205.2-3.2-5.2%201.9-9.6z'%2F%3E%3Cpath%20d%3D'M9.6%203L12%205.2%2014.4%203'%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M9.6%203h4.8l-1.1%203.2%201.9%209.6-3.2%205.2-3.2-5.2%201.9-9.6z'%2F%3E%3Cpath%20d%3D'M9.6%203L12%205.2%2014.4%203'%2F%3E%3C%2Fsvg%3E")}
.ks-ico.i-watch{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Ccircle%20cx%3D'12'%20cy%3D'12'%20r%3D'5.1'%2F%3E%3Cpath%20d%3D'M9%207.2V3h6v4.2'%2F%3E%3Cpath%20d%3D'M9%2016.8V21h6v-4.2'%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Ccircle%20cx%3D'12'%20cy%3D'12'%20r%3D'5.1'%2F%3E%3Cpath%20d%3D'M9%207.2V3h6v4.2'%2F%3E%3Cpath%20d%3D'M9%2016.8V21h6v-4.2'%2F%3E%3C%2Fsvg%3E")}
.ks-ico.i-racket{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cellipse%20cx%3D'13.6'%20cy%3D'8.4'%20rx%3D'5.3'%20ry%3D'5.9'%2F%3E%3Cpath%20d%3D'M9.9%2013L4.5%2020.4'%2F%3E%3Cpath%20d%3D'M10.4%205.6l6.4%205.6'%2F%3E%3Cpath%20d%3D'M16.4%205.4l-5.4%206.2'%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cellipse%20cx%3D'13.6'%20cy%3D'8.4'%20rx%3D'5.3'%20ry%3D'5.9'%2F%3E%3Cpath%20d%3D'M9.9%2013L4.5%2020.4'%2F%3E%3Cpath%20d%3D'M10.4%205.6l6.4%205.6'%2F%3E%3Cpath%20d%3D'M16.4%205.4l-5.4%206.2'%2F%3E%3C%2Fsvg%3E")}
.ks-ico.i-moto{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Ccircle%20cx%3D'5.2'%20cy%3D'17'%20r%3D'3.2'%2F%3E%3Ccircle%20cx%3D'18.8'%20cy%3D'17'%20r%3D'3.2'%2F%3E%3Cpath%20d%3D'M8.4%2017h5l4.2-6h-3.1'%2F%3E%3Cpath%20d%3D'M13.2%2011l-2-3.6H8.4'%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Ccircle%20cx%3D'5.2'%20cy%3D'17'%20r%3D'3.2'%2F%3E%3Ccircle%20cx%3D'18.8'%20cy%3D'17'%20r%3D'3.2'%2F%3E%3Cpath%20d%3D'M8.4%2017h5l4.2-6h-3.1'%2F%3E%3Cpath%20d%3D'M13.2%2011l-2-3.6H8.4'%2F%3E%3C%2Fsvg%3E")}
.ks-ico.i-search{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Ccircle%20cx%3D'11'%20cy%3D'11'%20r%3D'7'%2F%3E%3Cpath%20d%3D'M20%2020l-3.6-3.6'%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Ccircle%20cx%3D'11'%20cy%3D'11'%20r%3D'7'%2F%3E%3Cpath%20d%3D'M20%2020l-3.6-3.6'%2F%3E%3C%2Fsvg%3E")}
.ks-ico.i-store{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M4%209.5V20h16V9.5'%2F%3E%3Cpath%20d%3D'M3%204h18l1%205.2a3%203%200%200%201-5.9.6%203%203%200%200%201-6%200%203%203%200%200%201-5.9-.6z'%2F%3E%3Cpath%20d%3D'M10%2020v-5.5h4V20'%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M4%209.5V20h16V9.5'%2F%3E%3Cpath%20d%3D'M3%204h18l1%205.2a3%203%200%200%201-5.9.6%203%203%200%200%201-6%200%203%203%200%200%201-5.9-.6z'%2F%3E%3Cpath%20d%3D'M10%2020v-5.5h4V20'%2F%3E%3C%2Fsvg%3E")}

/* icons inside their containers */
.ks-cat .ico .ks-ico { width: 27px; height: 27px; color: var(--rose); }
.ks-trust-item .ico .ks-ico { width: 20px; height: 20px; color: var(--rose); }
.ks-dept a .i .ks-ico { width: 17px; height: 17px; }
.ks-club .gem .ks-ico, .ks-dept-club > .ks-ico { width: 24px; height: 24px; color: var(--rose); }
.ks-club .gem { display: grid; place-items: center; filter: none; }
.ks-section-head h2 .ks-ico { width: 19px; height: 19px; color: var(--rose); }
.ks-chip .ks-ico { width: 15px; height: 15px; margin-right: 6px; }
.ks-iconbtn .ks-ico { width: 18px; height: 18px; margin-right: 7px; }
.ks-tabbar .ks-ico { width: 21px; height: 21px; }
.ks-tabbar .mic::before {
  content: ""; width: 22px; height: 22px; background: #fff;
  -webkit-mask: var(--ico-mic) center/contain no-repeat; mask: var(--ico-mic) center/contain no-repeat;
}
.ks-totop .ks-ico { width: 20px; height: 20px; }


/* ---------------- 13. focus visibility on the rose theme ---------------- */
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid var(--rose);
  outline-offset: 2px;
  border-radius: 6px;
}
.ks-skip:focus { background: var(--rose); color: #fff; }

/* ---------------- 14. no tap target under 24px ---------------- */
.ks-hero-dots button { width: 10px; height: 10px; position: relative; }
.ks-hero-dots button::after { content: ""; position: absolute; inset: -8px; }   /* invisible 26px hit area */
.ks-hero-dots button.on { width: 26px; }
.ks-wish { min-width: 34px; min-height: 34px; }
.ks-tabbar a, .ks-tabbar button { min-height: 44px; }
.ks-iconbtn { min-height: 40px; }
.ks-vcard .ks-btn.sm, .ks-btn.sm { min-height: 36px; }

/* ---------------- 16. back to top ---------------- */
.ks-totop {
  position: fixed; right: 18px; bottom: 22px; z-index: 80;
  width: 46px; height: 46px; border-radius: 50%; border: 1px solid var(--stroke);
  background: #fff; color: var(--rose); cursor: pointer; display: grid; place-items: center;
  box-shadow: 0 8px 26px -10px rgba(23,19,28,.34);
  opacity: 0; transform: translateY(10px); pointer-events: none;
  transition: opacity .25s var(--ease-out), transform .25s var(--ease-out), background .2s;
}
.ks-totop.on { opacity: 1; transform: none; pointer-events: auto; }
.ks-totop:hover { background: var(--rose-tint); }
.ks-totop[hidden] { display: none; }
@media (max-width: 860px) { .ks-totop { bottom: calc(86px + env(safe-area-inset-bottom)); right: 14px; } }

/* ---------------- 15. no-JS fallback ---------------- */
.ks-noscript {
  max-width: 640px; margin: 60px auto; padding: 32px; background: #fff;
  border: 1px solid var(--stroke); border-radius: var(--r-lg); box-shadow: var(--shadow-card);
}
.ks-noscript h1 { font-size: 28px; color: var(--rose); margin-bottom: 12px; }
.ks-noscript p { color: var(--ink-dim); margin-bottom: 12px; }
.ks-noscript ul { margin: 0 0 0 20px; }
.ks-noscript a { color: var(--rose); font-weight: 600; text-decoration: underline; }

/* ---------------- 18. mobile header stops wrapping into a stray icon row -- */
@media (max-width: 860px) {
  .ks-topbar-inner { display: grid; grid-template-columns: auto 1fr; gap: 10px 12px; align-items: center; }
  .ks-brand { grid-column: 1; }
  .ks-nav-actions { grid-column: 2; justify-self: end; gap: 2px; }
  .ks-nav-actions .lbl { display: none; }
  .ks-iconbtn { padding: 9px 10px; }
  .ks-iconbtn .ks-ico { margin-right: 0; }
  .ks-iconbtn.primary { padding: 9px 14px; }
  .ks-iconbtn.primary .lbl { display: inline; }
  .ks-search { grid-column: 1 / -1; }
}

/* ---------------- 11. respect reduced motion across the new theme -------- */
@media (prefers-reduced-motion: reduce) {
  .ks-hero-track { transition: none !important; }
  .ks-mic.live { animation: none !important; }
  .ks-prod:hover, .ks-btn:hover, .ks-hero-cta:hover, .ks-cat:hover,
  .ks-trust-item:hover, .ks-totop.on { transform: none !important; }
  .ks-cat:hover .ico { transform: none !important; }
  .ks-thumb::after { display: none; }
  .ks-prod:hover .ks-thumb .emo { transform: none !important; }
}

/* ---------------- offline notice ---------------- */
.ks-offline {
  position: fixed; left: 50%; transform: translateX(-50%); bottom: 20px; z-index: 95;
  background: var(--ink); color: #fff; font-size: 13.5px; font-family: var(--font-display);
  padding: 11px 20px; border-radius: 999px; box-shadow: 0 12px 30px -12px rgba(23,19,28,.6);
}
@media (max-width: 860px) { .ks-offline { bottom: calc(86px + env(safe-area-inset-bottom)); width: max-content; max-width: 92vw; } }

/* ---------------- 10. below-the-fold sections skip layout until near view -- */
.ks-cats, .ks-trust, #newGrid, #forYouGrid, #seenGrid, .ks-club {
  content-visibility: auto;
  contain-intrinsic-size: auto 320px;
}

/* ---- tap targets, take two: size the control, not just a pseudo hit area ---- */
.ks-hero-dots { gap: 2px; }
.ks-hero-dots button {
  width: 26px; height: 26px; background: none; border: 0; padding: 0;
  display: grid; place-items: center; border-radius: 50%;
}
.ks-hero-dots button::after { content: none; }
.ks-hero-dots button::before {
  content: ""; width: 8px; height: 8px; border-radius: 999px; background: #f0cfdd;
  transition: width .3s var(--ease-out), background .3s;
}
.ks-hero-dots button.on { width: 34px; }
.ks-hero-dots button.on::before { width: 20px; background: var(--rose); }
.ks-footer a, .ks-section-head .sub, .ks-section-head .linky {
  display: inline-flex; align-items: center; min-height: 26px;
}
