@import url("https://fonts.googleapis.com/css2?family=Instrument+Sans:wght@400;500;600;700&family=Syne:wght@600;700;800&display=swap");

:root{
  --kb-bg:#eef1f4;
  --kb-bg-deep:#dde3ea;
  --kb-surface:#ffffff;
  --kb-ink:#0e1218;
  --kb-muted:#5a6573;
  --kb-line:#cfd6df;
  --kb-line-soft:#e2e7ee;
  --kb-accent:#1a2f45;
  --kb-accent-soft:#2a4d6e;
  --kb-accent-warm:#b8924a;
  --kb-danger:#b42318;
  --kb-ok:#0f6b4c;
  --kb-gb:#8a5a12;
  --kb-pre:#2f4f7a;
  --kb-font:"Instrument Sans",ui-sans-serif,system-ui,sans-serif;
  --kb-display:"Syne",ui-sans-serif,system-ui,sans-serif;
  --kb-ease:cubic-bezier(.22,1,.36,1);
  --kb-shadow:0 1px 0 rgba(18,22,28,.04),0 18px 40px -28px rgba(18,22,28,.35);
}

body.kb-shop{
  margin:0;
  min-height:100vh;
  background:var(--kb-bg);
  color:var(--kb-ink);
  font-family:var(--kb-font);
  -webkit-font-smoothing:antialiased;
}

body.kb-shop a{color:var(--kb-accent-soft)}
body.kb-shop a:hover{color:var(--kb-accent)}

/* Beat brand.css `body > * { position:relative; z-index:1 }` */
body.kb-shop > .site-header{
  position:sticky;
  top:0;
  z-index:40;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--kb-line-soft);
  box-shadow:none;
}
body.kb-shop .brand{
  color:var(--kb-ink);
  font-family:var(--kb-display);
  font-weight:800;
  letter-spacing:-.03em;
}
body.kb-shop .brand span{color:var(--kb-accent);font-style:normal}
body.kb-shop .nav>a{
  color:var(--kb-muted);
  font-weight:600;
  border-radius:8px;
}
body.kb-shop .nav>a:hover{
  color:var(--kb-ink);
  background:rgba(18,22,28,.05);
}
body.kb-shop .nav-toggle{
  border-color:var(--kb-line);
  color:var(--kb-ink);
  background:var(--kb-surface);
}
body.kb-shop .site-footer{
  background:#0f141c;
  border-top:0;
  color:#a8b0bb;
}
body.kb-shop .site-footer a{color:#c5ccd6}
body.kb-shop .site-footer a:hover{color:#fff}
body.kb-shop .footer-brand strong{color:#fff;font-family:var(--kb-display)}
body.kb-shop .footer-brand span{color:var(--kb-accent-warm)}
body.kb-shop .footer-cols h3{color:#fff}
body.kb-shop .footer-meta{border-top-color:rgba(255,255,255,.1);color:#8b95a3}
body.kb-shop .cookie{z-index:90}

/* ——— Hero ——— */
.kb-hero{
  position:relative;
  min-height:min(78svh,720px);
  display:grid;
  align-content:end;
  padding:clamp(48px,9vh,96px) clamp(22px,5vw,72px) clamp(48px,8vh,80px);
  overflow:hidden;
  isolation:isolate;
}
.kb-hero::before{
  content:"";
  position:absolute;inset:0;z-index:0;
  background:
    linear-gradient(115deg,rgba(10,14,20,.82) 0%,rgba(10,14,20,.4) 48%,rgba(10,14,20,.62) 100%),
    repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0 1px,transparent 1px 48px),
    repeating-linear-gradient(0deg,rgba(255,255,255,.02) 0 1px,transparent 1px 48px),
    linear-gradient(145deg,#101820 0%,#1c2e42 42%,#243b53 72%,#0c1016 100%);
}
.kb-hero::after{
  content:"";
  position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(ellipse 50% 55% at 88% 38%,rgba(184,146,74,.2),transparent 58%),
    radial-gradient(ellipse 40% 45% at 12% 80%,rgba(42,77,110,.25),transparent 55%);
  pointer-events:none;
}
.kb-hero-inner{
  position:relative;z-index:1;
  max-width:720px;
  animation:kb-rise .7s var(--kb-ease) both;
}
.kb-hero h1{
  margin:0;
  font-family:var(--kb-display);
  font-size:clamp(2.8rem,8vw,4.8rem);
  line-height:.96;
  letter-spacing:-.045em;
  color:#fff;
  text-shadow:0 2px 40px rgba(0,0,0,.25);
}
.kb-hero h1 em{
  font-style:normal;
  color:var(--kb-accent-warm);
}
.kb-lead{
  margin:18px 0 0;
  max-width:32rem;
  color:rgba(255,255,255,.82);
  font-size:1.08rem;
  line-height:1.6;
}
.kb-cta-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:30px;
}
.kb-btn{
  appearance:none;
  border:0;
  border-radius:10px;
  padding:13px 22px;
  font:600 .93rem var(--kb-font);
  text-decoration:none;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:transform .18s var(--kb-ease),background .18s var(--kb-ease),box-shadow .18s var(--kb-ease),color .18s var(--kb-ease);
}
.kb-btn:hover{transform:translateY(-1px)}
.kb-btn:active{transform:translateY(0)}
.kb-btn-primary{
  background:var(--kb-accent-warm);
  color:#1a1408;
  box-shadow:0 10px 28px -12px rgba(201,164,92,.7);
}
.kb-btn-primary:hover{background:#d4b06a}
.kb-btn-secondary{
  background:rgba(255,255,255,.12);
  color:#fff;
  border:1px solid rgba(255,255,255,.35);
  backdrop-filter:blur(6px);
}
.kb-btn-secondary:hover{background:rgba(255,255,255,.2)}
.kb-btn-ghost{
  background:var(--kb-surface);
  color:var(--kb-accent);
  border:1px solid var(--kb-line);
}
.kb-btn-ghost:hover{
  border-color:var(--kb-accent);
  background:#f7f9fb;
}

/* ——— Sections ——— */
.kb-section{
  padding:clamp(56px,9vh,104px) clamp(22px,5vw,72px);
  max-width:1120px;
  margin:0 auto;
}
.kb-section + .kb-section{
  border-top:1px solid var(--kb-line-soft);
}
.kb-section h2{
  margin:0 0 10px;
  font-family:var(--kb-display);
  font-size:clamp(1.75rem,3.6vw,2.35rem);
  letter-spacing:-.04em;
  color:var(--kb-ink);
}
.kb-section > .kb-copy{
  margin:0 0 36px;
  max-width:38rem;
  color:var(--kb-muted);
  line-height:1.65;
  font-size:1.02rem;
}
.kb-kicker{
  margin:0 0 10px;
  color:var(--kb-accent-soft);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}

/* Builds — clean list, not heavy cards */
.kb-builds{
  display:grid;
  gap:0;
  border-top:1px solid var(--kb-line);
}
.kb-build{
  display:grid;
  grid-template-columns:1.2fr 1.4fr auto;
  gap:20px 28px;
  align-items:center;
  padding:28px 0;
  border-bottom:1px solid var(--kb-line);
  background:transparent;
  animation:kb-rise .55s var(--kb-ease) both;
}
.kb-build:nth-child(1){animation-delay:.05s}
.kb-build:nth-child(2){animation-delay:.12s}
.kb-build:nth-child(3){animation-delay:.19s}
.kb-build h3{
  margin:0;
  font-family:var(--kb-display);
  font-size:1.35rem;
  letter-spacing:-.03em;
}
.kb-build p{margin:0;color:var(--kb-muted);line-height:1.55;font-size:.98rem}
.kb-build-aside{
  display:grid;
  gap:12px;
  justify-items:end;
  text-align:right;
}
.kb-build .kb-price{
  margin:0;
  color:var(--kb-ink);
  font-weight:700;
  font-size:.95rem;
  letter-spacing:-.01em;
  white-space:nowrap;
}
.kb-build .kb-btn{min-width:148px}

/* Process */
.kb-process{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  border-top:1px solid var(--kb-line);
}
.kb-step{
  padding:28px 28px 8px 0;
  border-right:1px solid var(--kb-line-soft);
}
.kb-step:last-child{border-right:0;padding-right:0}
.kb-step:nth-child(2){padding-left:28px}
.kb-step:nth-child(3){padding-left:28px}
.kb-step strong{
  display:block;
  margin-bottom:12px;
  color:var(--kb-accent-warm);
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.kb-step h3{
  margin:0 0 8px;
  font-family:var(--kb-display);
  font-size:1.2rem;
  letter-spacing:-.02em;
}
.kb-step p{margin:0;color:var(--kb-muted);line-height:1.55}

/* Quote form */
.kb-quote{
  border:1px solid var(--kb-line);
  border-radius:16px;
  padding:clamp(22px,4vw,36px);
  background:var(--kb-surface);
  box-shadow:var(--kb-shadow);
}
.kb-quote-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.kb-quote label{
  display:grid;
  gap:7px;
  color:var(--kb-muted);
  font-size:.8rem;
  font-weight:700;
}
.kb-quote input,
.kb-quote select,
.kb-quote textarea{
  width:100%;
  border:1px solid var(--kb-line);
  border-radius:10px;
  background:#fafbfc;
  color:var(--kb-ink);
  padding:12px 13px;
  font:inherit;
  transition:border-color .15s var(--kb-ease),box-shadow .15s var(--kb-ease),background .15s var(--kb-ease);
}
.kb-quote input:focus,
.kb-quote select:focus,
.kb-quote textarea:focus{
  outline:none;
  border-color:var(--kb-accent-soft);
  background:#fff;
  box-shadow:0 0 0 3px rgba(47,95,134,.15);
}
.kb-quote textarea{min-height:120px;resize:vertical}
.kb-quote .kb-full{grid-column:1/-1}
.kb-quote .kb-btn-primary{
  background:var(--kb-accent);
  color:#fff;
  box-shadow:none;
}
.kb-quote .kb-btn-primary:hover{background:var(--kb-accent-soft)}
.kb-quote .kb-btn-secondary{
  background:transparent;
  color:var(--kb-ink);
  border:1px solid var(--kb-line);
}
.kb-quote .kb-btn-secondary:hover{background:#f7f9fb;border-color:var(--kb-muted)}
.kb-quote-status{
  min-height:1.4em;
  margin:12px 0 0;
  color:var(--kb-muted);
  font-size:.88rem;
}
.kb-quote-status[data-tone="ok"]{color:var(--kb-ok)}
.kb-quote-status[data-tone="err"]{color:var(--kb-danger)}

/* Vault / studio */
.kb-vault-page{
  min-height:calc(100svh - 72px);
  display:grid;
  place-items:center;
  padding:48px 20px;
}
.kb-vault-card{
  width:min(420px,100%);
  padding:36px 32px;
  border:1px solid var(--kb-line);
  border-radius:16px;
  background:var(--kb-surface);
  box-shadow:var(--kb-shadow);
}
.kb-vault-card h1{
  margin:0 0 8px;
  font-family:var(--kb-display);
  font-size:2rem;
  letter-spacing:-.04em;
  color:var(--kb-ink);
}
.kb-vault-card p{margin:0 0 20px;color:var(--kb-muted);line-height:1.55}
.kb-vault-card label{
  display:grid;
  gap:8px;
  font-weight:700;
  font-size:.82rem;
  color:var(--kb-muted);
}
.kb-vault-card input{
  border:1px solid var(--kb-line);
  border-radius:10px;
  background:#fafbfc;
  color:var(--kb-ink);
  padding:12px 13px;
  font:inherit;
}
.kb-vault-card .kb-btn-primary{
  background:var(--kb-accent);
  color:#fff;
  box-shadow:none;
}
.kb-vault-card .kb-btn-secondary{
  background:transparent;
  color:var(--kb-ink);
  border:1px solid var(--kb-line);
}
.kb-vault-status{min-height:1.3em;margin:10px 0 0;color:var(--kb-danger);font-size:.85rem}

.kb-studio-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:12px;
  margin-top:28px;
}
.kb-studio-card{
  display:grid;
  gap:6px;
  padding:20px;
  border:1px solid var(--kb-line);
  border-radius:12px;
  background:var(--kb-surface);
  text-decoration:none;
  color:inherit;
  transition:border-color .15s var(--kb-ease),transform .15s var(--kb-ease),box-shadow .15s var(--kb-ease);
}
.kb-studio-card:hover{
  border-color:var(--kb-accent-soft);
  transform:translateY(-2px);
  box-shadow:var(--kb-shadow);
  color:inherit;
}
.kb-studio-card strong{font-family:var(--kb-display);color:var(--kb-ink)}
.kb-studio-card small{color:var(--kb-muted);line-height:1.4}

/* ——— Nav cart ——— */
body.kb-shop .nav .kb-nav-cart{
  appearance:none;border:1px solid var(--kb-line);background:var(--kb-surface);cursor:pointer;
  color:var(--kb-ink);font:600 .88rem var(--kb-font);padding:8px 14px;border-radius:999px;
  display:inline-flex;align-items:center;gap:8px;
}
body.kb-shop .nav .kb-nav-cart:hover{border-color:var(--kb-accent-soft);color:var(--kb-accent)}
body.kb-shop .nav .kb-cart-badge,
body.kb-shop .nav .kb-nav-cart [data-kb-cart-count]{
  display:inline-grid;place-items:center;min-width:1.35em;height:1.35em;
  padding:0 6px;border-radius:999px;background:var(--kb-accent);color:#fff;font-size:.72rem;font-weight:700;
}
body.kb-shop .nav .kb-nav-signin{color:var(--kb-accent)}

/* ——— Product grid ——— */
.kb-products{
  display:grid;
  grid-template-columns:repeat(var(--kb-cols,3),minmax(0,1fr));
  gap:20px;
}
.kb-product{
  position:relative;
  display:flex;flex-direction:column;
  border:1px solid var(--kb-line-soft);
  border-radius:16px;
  background:var(--kb-surface);
  overflow:hidden;
  box-shadow:var(--kb-shadow);
  transition:border-color .2s var(--kb-ease),box-shadow .2s var(--kb-ease),transform .2s var(--kb-ease);
}
.kb-product:hover{
  border-color:var(--kb-line);
  transform:translateY(-3px);
  box-shadow:0 20px 44px -24px rgba(18,22,28,.42);
}
.kb-product-inactive{opacity:.55}
.kb-product-media{
  aspect-ratio:4/3;background:
    linear-gradient(145deg,#1f3a56,#2f5f86 45%,#c9a45c);
}
.kb-product-media img{width:100%;height:100%;object-fit:cover;display:block}
.kb-product-media-empty{
  display:grid;place-items:center;
  background:
    radial-gradient(circle at 70% 22%,rgba(201,164,92,.28),transparent 42%),
    linear-gradient(160deg,#121a24 0%,#1c3348 55%,#101820 100%);
}
.kb-product-media-empty .kb-media-placeholder{
  width:min(78%,240px);height:46%;min-height:72px;padding:0;border-radius:10px 10px 14px 14px;
  background:linear-gradient(180deg,#2a3c50,#182430);
  box-shadow:0 10px 24px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,255,255,.14);
  position:relative;
}
.kb-product-media-empty .kb-media-placeholder::before{
  content:"";position:absolute;left:8%;right:8%;top:22%;height:28%;border-radius:3px;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.72) 0 9px,transparent 9px 14px);
}
.kb-product-media-empty .kb-media-placeholder::after{
  content:"";position:absolute;left:8%;right:22%;top:58%;height:22%;border-radius:3px;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.45) 0 9px,transparent 9px 14px);
}
.kb-product-body{display:flex;flex-direction:column;gap:10px;padding:20px 20px 18px;flex:1}
.kb-product-body h3{margin:0;font-family:var(--kb-display);font-size:1.18rem;letter-spacing:-.03em;line-height:1.2}
.kb-product-body p{margin:0;color:var(--kb-muted);line-height:1.55;font-size:.93rem;flex:1}
.kb-product-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:4px;flex-wrap:wrap}
.kb-product .kb-price{font-family:var(--kb-display);font-size:1.18rem;letter-spacing:-.03em;font-weight:700}
.kb-product .kb-btn-ghost{padding:8px 12px;font-size:.82rem;white-space:nowrap}
.kb-badge{
  position:absolute;top:12px;left:12px;z-index:1;
  padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.92);
  color:var(--kb-accent);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
}
.kb-product-edit{
  display:flex;flex-wrap:wrap;gap:8px;align-items:center;
  padding:10px 12px;border-bottom:1px solid var(--kb-line-soft);background:#f7f9fb;
}
.kb-product-edit .kb-toggle{display:inline-flex;gap:6px;align-items:center;font-size:.8rem;color:var(--kb-muted)}
.kb-drag{cursor:grab;border:0;background:transparent;font-size:1.1rem;line-height:1;padding:4px}
.kb-product.is-dragging,.kb-admin-card.is-dragging{opacity:.45}

body.kb-editing [data-kb-hero-title],
body.kb-editing [data-kb-hero-em],
body.kb-editing [data-kb-hero-lead]{
  outline:2px dashed rgba(201,164,92,.7);outline-offset:4px;border-radius:4px;
}

/* ——— Edit bar (Google Sites–style top chrome) ——— */
body.kb-shop > .kb-edit-bar{
  position:sticky;
  top:0;
  z-index:45;
  display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;justify-content:space-between;
  padding:10px clamp(16px,4vw,40px);
  background:rgba(255,255,255,.97);color:var(--kb-ink);
  border-bottom:1px solid var(--kb-line);
  box-shadow:0 8px 24px -18px rgba(18,22,28,.35);
}
.kb-edit-bar-brand{display:grid;gap:2px;min-width:min(280px,100%)}
.kb-edit-bar-brand strong{font-family:var(--kb-display);font-size:1rem;letter-spacing:-.02em}
#kb-edit-hint{font-size:.78rem;color:var(--kb-muted)}
.kb-edit-bar-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.kb-edit-bar .kb-btn-ghost,
.kb-edit-bar .kb-btn-secondary{
  background:#fff;color:var(--kb-ink);border:1px solid var(--kb-line);
}
.kb-edit-bar .kb-btn-primary{background:var(--kb-accent);color:#fff;box-shadow:none}
.kb-edit-bar .kb-btn-primary.kb-needs-publish{
  background:#0f6b4c;animation:kb-pulse-publish 1.4s ease-in-out infinite;
}
.kb-edit-cols,.kb-edit-toggle{
  display:inline-flex;gap:8px;align-items:center;font-size:.82rem;color:var(--kb-muted);font-weight:600;
}
.kb-edit-cols select{
  border:1px solid var(--kb-line);border-radius:8px;background:#fff;color:var(--kb-ink);padding:6px 8px;
}
@keyframes kb-pulse-publish{
  0%,100%{box-shadow:0 0 0 0 rgba(15,107,76,.35)}
  50%{box-shadow:0 0 0 6px rgba(15,107,76,0)}
}

/* Inline site editing */
body.kb-editing .kb-inline-editable,
body.kb-editing .kb-product [data-field]{
  outline:2px dashed transparent;outline-offset:4px;border-radius:4px;cursor:text;
  transition:outline-color .15s var(--kb-ease),background .15s var(--kb-ease);
}
body.kb-editing .kb-inline-editable:hover,
body.kb-editing .kb-product [data-field]:hover{
  outline-color:rgba(47,95,134,.45);
  background:rgba(47,95,134,.06);
}
body.kb-editing .kb-inline-editable:focus,
body.kb-editing .kb-product [data-field]:focus{
  outline-color:var(--kb-accent-soft);
  background:rgba(255,255,255,.92);
  box-shadow:0 0 0 3px rgba(47,95,134,.18);
}
body.kb-editing .kb-hero .kb-inline-editable:focus{
  background:rgba(255,255,255,.12);color:inherit;
}
.kb-product-editable{
  position:relative;
  border:1px solid transparent;
  box-shadow:0 0 0 1px var(--kb-line-soft);
}
.kb-product-editable:hover,
.kb-product-editable.is-selected,
.kb-product-editable.kb-drop-target{
  border-color:var(--kb-accent-soft);
  box-shadow:0 0 0 2px rgba(47,95,134,.2),0 14px 32px -24px rgba(18,22,28,.4);
}
.kb-product-chrome{
  position:absolute;top:8px;right:8px;z-index:3;
  display:flex;gap:4px;align-items:center;
  padding:4px;border-radius:10px;
  background:rgba(255,255,255,.96);border:1px solid var(--kb-line);
  box-shadow:0 8px 20px -14px rgba(18,22,28,.5);
  opacity:0;pointer-events:none;transition:opacity .15s var(--kb-ease);
}
.kb-product-editable:hover .kb-product-chrome,
.kb-product-editable.is-selected .kb-product-chrome,
.kb-product-editable:focus-within .kb-product-chrome{
  opacity:1;pointer-events:auto;
}
.kb-chrome-btn{
  appearance:none;border:0;background:transparent;width:28px;height:28px;border-radius:8px;
  cursor:pointer;font:700 .9rem var(--kb-font);color:var(--kb-muted);
}
.kb-chrome-btn:hover{background:#f3f5f8;color:var(--kb-ink)}
.kb-chrome-danger:hover{background:#fdecea;color:var(--kb-danger)}
.kb-product-chrome .kb-toggle{font-size:.72rem;gap:4px;margin:0 4px;color:var(--kb-muted)}
.kb-badge-placeholder{opacity:.55;border:1px dashed rgba(255,255,255,.7)}
body.kb-editing .kb-badge{cursor:text}
.kb-product-media{position:relative;cursor:default}
body.kb-editing .kb-product-media{cursor:pointer}
.kb-media-overlay{
  position:absolute;inset:0;display:grid;place-items:center;
  background:rgba(15,20,28,.45);color:#fff;font-weight:700;font-size:.9rem;
  opacity:0;transition:opacity .15s var(--kb-ease);
}
body.kb-editing .kb-product-media:hover .kb-media-overlay{opacity:1}
.kb-media-placeholder{color:rgba(255,255,255,.85);font-weight:600;font-size:.92rem;padding:12px;text-align:center}
.kb-insert-tile{
  appearance:none;border:2px dashed var(--kb-line);border-radius:12px;background:rgba(255,255,255,.7);
  min-height:280px;display:grid;align-content:center;justify-items:center;gap:8px;
  cursor:pointer;color:var(--kb-muted);padding:24px;transition:border-color .15s var(--kb-ease),background .15s var(--kb-ease),color .15s var(--kb-ease);
}
.kb-insert-tile:hover{border-color:var(--kb-accent-soft);background:#fff;color:var(--kb-accent)}
.kb-insert-plus{
  width:44px;height:44px;border-radius:999px;display:grid;place-items:center;
  border:1px solid currentColor;font-size:1.6rem;line-height:1;font-weight:400;
}
.kb-insert-tile strong{font-family:var(--kb-display);color:inherit;font-size:1.1rem}
.kb-insert-tile small{font-size:.85rem;max-width:14rem;line-height:1.4}

/* ——— Cart drawer (must beat body > * position/z-index) ——— */
body.kb-shop > .kb-cart-drawer{
  position:fixed;
  inset:0;
  z-index:120;
  display:block;
  pointer-events:none;
}
body.kb-shop > .kb-cart-drawer[hidden]{
  display:none !important;
}
body.kb-shop > .kb-cart-drawer.is-open,
body.kb-shop > .kb-cart-drawer:not([hidden]){
  pointer-events:auto;
}
.kb-cart-backdrop{
  position:absolute;inset:0;border:0;padding:0;margin:0;
  background:rgba(15,20,28,.48);
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.kb-cart-panel{
  position:absolute;top:0;right:0;bottom:0;
  width:min(400px,100%);
  display:flex;flex-direction:column;
  background:var(--kb-surface);
  box-shadow:-24px 0 48px -28px rgba(18,22,28,.55);
  transform:translateX(0);
  animation:kb-cart-in .28s var(--kb-ease) both;
}
.kb-icon-btn{
  appearance:none;border:1px solid var(--kb-line);background:#fff;color:var(--kb-ink);
  width:36px;height:36px;border-radius:10px;cursor:pointer;
  display:inline-grid;place-items:center;font-size:1.35rem;line-height:1;padding:0;
  transition:background .15s var(--kb-ease),border-color .15s var(--kb-ease);
}
.kb-icon-btn:hover{background:#f3f5f8;border-color:var(--kb-muted)}
.kb-cart-head,.kb-cart-foot{padding:18px 20px;border-bottom:1px solid var(--kb-line-soft)}
.kb-cart-foot{border-bottom:0;border-top:1px solid var(--kb-line-soft);margin-top:auto}
.kb-cart-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.kb-cart-head h2{margin:0;font-family:var(--kb-display);font-size:1.35rem;letter-spacing:-.03em}
.kb-cart-items{padding:8px 20px 20px;overflow:auto;flex:1}
.kb-cart-empty{margin:24px 0;color:var(--kb-muted);text-align:center}
.kb-cart-row{
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:12px;
  align-items:center;
  padding:16px 0;
  border-bottom:1px solid var(--kb-line-soft);
}
.kb-cart-row-info strong{display:block;font-size:.95rem}
.kb-cart-row-info p{margin:4px 0 0;color:var(--kb-muted);font-size:.88rem}
.kb-cart-qty{
  display:inline-flex;align-items:center;gap:0;
  border:1px solid var(--kb-line);border-radius:10px;overflow:hidden;background:#fff;
}
.kb-cart-qty button{
  border:0;background:transparent;padding:6px 10px;cursor:pointer;font:600 1rem var(--kb-font);color:var(--kb-ink);
}
.kb-cart-qty button:hover{background:#f3f5f8}
.kb-cart-qty span{
  min-width:1.6em;text-align:center;font-size:.9rem;font-weight:700;
  border-left:1px solid var(--kb-line);border-right:1px solid var(--kb-line);padding:0 4px;
}
.kb-cart-remove{flex-shrink:0}
.kb-cart-total-row{
  display:flex;justify-content:space-between;align-items:baseline;
  margin:0 0 14px;font-size:1rem;
}
.kb-cart-total-row strong{font-size:1.2rem;letter-spacing:-.02em}
.kb-btn-block{width:100%;justify-content:center}
.kb-cart-note{margin:12px 0 0;color:var(--kb-muted);font-size:.8rem;line-height:1.4;text-align:center}
.kb-cart-drawer .kb-btn-primary,
.kb-admin-page .kb-btn-primary{
  background:var(--kb-accent);color:#fff;box-shadow:none;
}
.kb-cart-drawer .kb-btn-primary:hover{background:var(--kb-accent-soft)}
.kb-admin-page .kb-btn-secondary{
  background:transparent;color:var(--kb-ink);border:1px solid var(--kb-line);
}
body.kb-cart-open{overflow:hidden}
@keyframes kb-cart-in{
  from{transform:translateX(12px);opacity:.85}
  to{transform:translateX(0);opacity:1}
}

body.kb-shop > .kb-toast{
  position:fixed;left:50%;bottom:24px;z-index:130;transform:translateX(-50%);
  max-width:min(92vw,420px);padding:12px 16px;border-radius:12px;
  background:var(--kb-ink);color:#fff;font-size:.9rem;box-shadow:var(--kb-shadow);
  pointer-events:none;
}
.kb-toast[data-tone="err"]{background:var(--kb-danger)}
.kb-toast[data-tone="ok"]{background:var(--kb-ok)}

/* ——— Admin ——— */
.kb-admin-page code{
  font-size:.86em;background:#eef2f6;padding:1px 6px;border-radius:6px;
}
.kb-admin-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 8px}
.kb-admin-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;margin-top:18px}
.kb-pay-steps{margin:12px 0 0;padding-left:1.2rem;color:var(--kb-muted);line-height:1.65}
.kb-pay-steps li{margin:0 0 10px}
.kb-pay-steps a{color:var(--kb-accent-soft)}
.kb-admin-products{display:grid;gap:12px}
.kb-admin-card{
  border:1px solid var(--kb-line);border-radius:12px;padding:16px;background:var(--kb-surface);
}
.kb-admin-card-main{display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:start}
.kb-admin-thumb{
  width:96px;height:96px;border-radius:10px;overflow:hidden;background:#e8ecf1;flex-shrink:0;
}
.kb-admin-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.kb-admin-thumb-empty{
  background:
    radial-gradient(circle at 70% 30%,rgba(201,164,92,.35),transparent 45%),
    linear-gradient(145deg,#1a2433,#2c3e52);
}
.kb-admin-card-top{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.kb-admin-card-top .kb-price{margin-left:auto}
.kb-admin-card p{margin:0 0 12px;color:var(--kb-muted);line-height:1.5}
.kb-admin-card-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
@media(max-width:640px){
  .kb-admin-card-main{grid-template-columns:1fr}
  .kb-admin-thumb{width:100%;height:160px}
}

@keyframes kb-rise{
  from{opacity:0;transform:translateY(14px)}
  to{opacity:1;transform:translateY(0)}
}
@media(max-width:900px){
  .kb-builds{border-top:0}
  .kb-build{
    grid-template-columns:1fr;
    gap:10px;
    padding:24px 0;
  }
  .kb-build-aside{justify-items:stretch;text-align:left}
  .kb-build .kb-price{white-space:normal}
  .kb-build .kb-btn{width:100%}
  .kb-products{grid-template-columns:1fr}
  .kb-admin-grid{grid-template-columns:1fr}
  .kb-cart-panel{width:100%}
  .kb-process{grid-template-columns:1fr;border-top:0}
  .kb-step,
  .kb-step:nth-child(2),
  .kb-step:nth-child(3){
    border-right:0;
    border-bottom:1px solid var(--kb-line-soft);
    padding:22px 0;
  }
  .kb-step:last-child{border-bottom:0}
  .kb-quote-grid{grid-template-columns:1fr}
}
/* ——— Product edit modal ——— */
body.kb-shop > .kb-edit-modal{
  position:fixed;inset:0;z-index:140;display:grid;place-items:center;
  padding:20px;
}
body.kb-shop > .kb-edit-modal[hidden]{display:none !important}
.kb-edit-modal-backdrop{
  position:absolute;inset:0;border:0;padding:0;margin:0;
  background:rgba(15,20,28,.5);cursor:pointer;
}
.kb-edit-modal-panel{
  position:relative;z-index:1;width:min(640px,100%);max-height:min(92svh,860px);
  display:flex;flex-direction:column;overflow:auto;
  background:var(--kb-surface);border:1px solid var(--kb-line);border-radius:16px;
  box-shadow:0 24px 64px -28px rgba(18,22,28,.55);
}
.kb-edit-modal-head,.kb-edit-modal-foot{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:16px 18px;border-bottom:1px solid var(--kb-line-soft);
}
.kb-edit-modal-foot{border-bottom:0;border-top:1px solid var(--kb-line-soft);justify-content:flex-end}
.kb-edit-modal-head h2{margin:0;font-family:var(--kb-display);font-size:1.35rem;letter-spacing:-.03em}
.kb-edit-modal-body{
  display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:18px;
}
.kb-edit-modal-body label{
  display:grid;gap:6px;font-size:.8rem;font-weight:700;color:var(--kb-muted);
}
.kb-edit-modal-body .kb-full{grid-column:1/-1}
.kb-edit-modal-body input,
.kb-edit-modal-body select,
.kb-edit-modal-body textarea{
  width:100%;border:1px solid var(--kb-line);border-radius:10px;
  background:#fafbfc;color:var(--kb-ink);padding:11px 12px;font:inherit;
}
.kb-edit-modal-body input:focus,
.kb-edit-modal-body select:focus,
.kb-edit-modal-body textarea:focus{
  outline:none;border-color:var(--kb-accent-soft);background:#fff;
  box-shadow:0 0 0 3px rgba(47,95,134,.15);
}
.kb-edit-photo{display:grid;gap:10px}
.kb-edit-photo-label{margin:0;font-size:.8rem;font-weight:700;color:var(--kb-muted)}
.kb-edit-photo-preview{
  aspect-ratio:4/3;border:1px dashed var(--kb-line);border-radius:12px;
  background:#f3f5f8;display:grid;place-items:center;overflow:hidden;
}
.kb-edit-photo-preview img{width:100%;height:100%;object-fit:cover;display:block}
.kb-edit-photo-preview span{color:var(--kb-muted);font-size:.9rem}
.kb-edit-photo-actions{display:flex;flex-wrap:wrap;gap:8px}
.kb-file-label{cursor:pointer;margin:0}
.kb-edit-photo-url{display:grid;gap:6px}
.kb-edit-photo-status{min-height:1.2em;margin:0;font-size:.85rem;color:var(--kb-muted)}
.kb-edit-photo-status[data-tone="ok"]{color:var(--kb-ok)}
.kb-edit-photo-status[data-tone="err"]{color:var(--kb-danger)}
.kb-edit-modal .kb-btn-primary{background:var(--kb-accent);color:#fff;box-shadow:none}
.kb-edit-modal .kb-btn-secondary,
.kb-edit-modal .kb-btn-ghost{
  background:transparent;color:var(--kb-ink);border:1px solid var(--kb-line);
}
body.kb-modal-open{overflow:hidden}

@media(max-width:640px){
  .kb-edit-modal-body{grid-template-columns:1fr}
}

/* ——— Filters ——— */
.kb-shop-layout{
  display:grid;
  gap:28px;
}
.kb-filter-bar{
  display:grid;
  grid-template-columns:minmax(160px,1.4fr) repeat(auto-fit,minmax(110px,1fr));
  gap:12px;
  align-items:end;
  padding:16px;
  border:1px solid var(--kb-line);
  background:
    linear-gradient(180deg,#fbfcfd,#f4f6f8);
}
.kb-filter-bar label{
  display:grid;gap:6px;
  font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--kb-muted);
}
.kb-filter-bar input,
.kb-filter-bar select{
  width:100%;border:1px solid var(--kb-line);border-radius:8px;
  background:#fff;color:var(--kb-ink);padding:10px 11px;font:600 .88rem var(--kb-font);
}
.kb-filter-bar input:focus,
.kb-filter-bar select:focus{
  outline:none;border-color:var(--kb-accent-soft);box-shadow:0 0 0 3px rgba(42,77,110,.14);
}
.kb-filter-search{grid-column:1/-1}
@media(min-width:900px){
  .kb-filter-search{grid-column:span 2}
}

/* ——— Status + specs ——— */
.kb-status{display:grid;gap:8px;margin-bottom:4px}
.kb-status-pill{
  display:inline-flex;align-self:start;
  padding:4px 9px;border-radius:4px;
  font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  background:#eef2f6;color:var(--kb-accent);
}
.kb-status[data-tone="ok"] .kb-status-pill{background:#e7f5ef;color:var(--kb-ok)}
.kb-status[data-tone="err"] .kb-status-pill{background:#fdecea;color:var(--kb-danger)}
.kb-status[data-tone="gb"] .kb-status-pill{background:#f8efd9;color:var(--kb-gb)}
.kb-status[data-tone="pre"] .kb-status-pill{background:#e8eef8;color:var(--kb-pre)}
.kb-status[data-tone="mto"] .kb-status-pill{background:#eef2f6;color:var(--kb-accent-soft)}
.kb-status[data-tone="prod"] .kb-status-pill{background:#e8eef6;color:#314a66}
.kb-status-bar{
  height:4px;border-radius:999px;background:rgba(18,22,28,.08);overflow:hidden;
}
.kb-status-bar > span{
  display:block;height:100%;border-radius:inherit;
  background:linear-gradient(90deg,var(--kb-accent-warm),#d4b06a);
  transition:width .35s var(--kb-ease);
}
.kb-spec-chips{
  list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;
}
.kb-spec-chips li{
  padding:4px 8px;border:1px solid var(--kb-line-soft);
  font-size:.72rem;font-weight:600;color:var(--kb-muted);letter-spacing:.02em;
}

/* ——— Audio ——— */
.kb-audio{margin-top:4px}
.kb-audio-empty{
  display:inline-flex;align-items:center;gap:8px;
  color:var(--kb-muted);font-size:.82rem;font-weight:600;
}
.kb-audio-btn{
  appearance:none;border:1px solid var(--kb-line);background:#fff;
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 12px;border-radius:8px;cursor:pointer;
  font:600 .82rem var(--kb-font);color:var(--kb-ink);
  transition:border-color .15s var(--kb-ease),background .15s var(--kb-ease),transform .15s var(--kb-ease);
}
.kb-audio-btn:hover{border-color:var(--kb-accent-soft);transform:translateY(-1px)}
.kb-audio-btn.is-playing{
  border-color:var(--kb-accent-warm);background:#fbf6ea;color:#6b4e14;
}
.kb-audio-icon{font-size:.75rem;opacity:.8}

/* ——— Gallery thumbs ——— */
.kb-gallery-thumbs{
  position:absolute;left:10px;right:10px;bottom:10px;z-index:2;
  display:flex;gap:6px;justify-content:center;
}
.kb-gallery-thumb{
  width:10px;height:10px;border-radius:999px;border:0;padding:0;cursor:pointer;
  background:rgba(255,255,255,.45);
}
.kb-gallery-thumb.is-active{background:#fff;box-shadow:0 0 0 2px rgba(15,20,28,.35)}
.kb-product:hover .kb-product-media img{
  transform:scale(1.03);
}
.kb-product-media img{
  transition:transform .45s var(--kb-ease);
}

/* ——— Builder ——— */
.kb-builder-section .kb-copy{margin-bottom:22px}
.kb-builder-shell{
  border:1px solid var(--kb-line);
  background:
    linear-gradient(180deg,#fcfdfe 0%,#f3f5f8 100%);
  padding:clamp(18px,3vw,28px);
}
.kb-builder-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.kb-builder-group{
  margin:0;padding:0;border:0;min-width:0;
}
.kb-builder-group-wide{grid-column:1/-1}
.kb-builder-group legend{
  padding:0 0 10px;
  font-family:var(--kb-display);
  font-size:1.05rem;letter-spacing:-.02em;color:var(--kb-ink);
}
.kb-builder-opts{display:grid;gap:8px}
.kb-builder-opt{
  display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;
  padding:12px;border:1px solid var(--kb-line-soft);background:#fff;cursor:pointer;
  transition:border-color .15s var(--kb-ease),box-shadow .15s var(--kb-ease);
}
.kb-builder-opt:hover{border-color:var(--kb-line)}
.kb-builder-opt.is-selected{
  border-color:var(--kb-accent-soft);
  box-shadow:0 0 0 1px rgba(42,77,110,.2);
}
.kb-builder-opt input{margin-top:3px}
.kb-builder-opt-body{display:grid;gap:4px;min-width:0}
.kb-builder-opt-body strong{font-size:.95rem;color:var(--kb-ink)}
.kb-builder-opt-body small{color:var(--kb-muted);line-height:1.4}
.kb-builder-opt-body em{font-style:normal;font-weight:700;font-size:.88rem;color:var(--kb-accent)}
.kb-builder-summary{
  margin-top:22px;padding-top:22px;border-top:1px solid var(--kb-line);
  display:grid;grid-template-columns:minmax(140px,.8fr) 1.2fr;gap:22px;align-items:center;
}
.kb-builder-preview{
  aspect-ratio:16/10;border:1px solid var(--kb-line);
  background:
    radial-gradient(circle at 70% 30%,rgba(184,146,74,.22),transparent 42%),
    linear-gradient(145deg,#152033,#2a4058 55%,#1a2f45);
  display:grid;place-items:center;
}
.kb-builder-case{
  width:78%;height:42%;
  border-radius:8px;
  background:linear-gradient(180deg,#2a3544,#161d27);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 16px 28px -18px rgba(0,0,0,.7);
  position:relative;
}
.kb-builder-case::before{
  content:"";position:absolute;inset:18% 8%;
  background:
    repeating-linear-gradient(90deg,#3a4656 0 8%,transparent 8% 10%),
    repeating-linear-gradient(#3a4656 0 18%,transparent 18% 28%);
  opacity:.85;border-radius:3px;
}
.kb-builder-total{
  display:block;margin:6px 0 8px;
  font-family:var(--kb-display);font-size:clamp(1.8rem,4vw,2.4rem);
  letter-spacing:-.04em;color:var(--kb-ink);
}
.kb-builder-hint{margin:0 0 16px;color:var(--kb-muted);line-height:1.5}
.kb-cart-config{margin:2px 0 0;font-size:.78rem;color:var(--kb-muted)}

.kb-react-note{
  margin-top:18px;padding:14px 16px;border-left:3px solid var(--kb-accent-warm);
  background:#f7f8fa;color:var(--kb-muted);font-size:.9rem;line-height:1.5;
}
.kb-react-note a{font-weight:700}

@media(max-width:900px){
  .kb-builder-grid{grid-template-columns:1fr}
  .kb-builder-summary{grid-template-columns:1fr}
  .kb-filter-bar{grid-template-columns:1fr 1fr}
}

/* ——— Dark mode (existing CSS system — no Tailwind) ——— */
[data-kb-theme="dark"] body.kb-shop,
body.kb-shop[data-kb-theme="dark"]{
  --kb-bg:#0c1016;
  --kb-bg-deep:#151b24;
  --kb-surface:#151b24;
  --kb-ink:#e8edf4;
  --kb-muted:#9aa6b5;
  --kb-line:#2a3442;
  --kb-line-soft:#1f2733;
  --kb-accent:#8eb4d8;
  --kb-accent-soft:#6f97bc;
  --kb-accent-warm:#c9a45c;
  --kb-shadow:0 1px 0 rgba(255,255,255,.04),0 18px 40px -28px rgba(0,0,0,.7);
  background:var(--kb-bg);
  color:var(--kb-ink);
}
[data-kb-theme="dark"] body.kb-shop > .site-header,
body.kb-shop[data-kb-theme="dark"] > .site-header{
  background:rgba(12,16,22,.92);
  border-bottom-color:var(--kb-line);
}
[data-kb-theme="dark"] .kb-filter-bar,
[data-kb-theme="dark"] .kb-builder-shell,
[data-kb-theme="dark"] .kb-product,
[data-kb-theme="dark"] .kb-quote,
[data-kb-theme="dark"] .kb-cart-panel,
[data-kb-theme="dark"] .kb-step-opt,
[data-kb-theme="dark"] .kb-builder-opt{
  background:var(--kb-surface);
}
[data-kb-theme="dark"] .kb-filter-bar input,
[data-kb-theme="dark"] .kb-filter-bar select,
[data-kb-theme="dark"] .kb-audio-btn{
  background:#10161f;color:var(--kb-ink);border-color:var(--kb-line);
}
.kb-theme-toggle{
  appearance:none;border:1px solid var(--kb-line);background:var(--kb-surface);
  color:var(--kb-ink);font:600 .82rem var(--kb-font);padding:8px 12px;border-radius:8px;cursor:pointer;
}
.kb-theme-toggle:hover{border-color:var(--kb-accent-soft)}

/* ——— Step builder ——— */
.kb-builder-steps{display:grid;gap:22px}
.kb-stepper{
  list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;
}
.kb-stepper li button{
  width:100%;appearance:none;border:1px solid var(--kb-line-soft);background:var(--kb-surface);
  padding:12px 10px;display:grid;gap:6px;justify-items:start;cursor:pointer;text-align:left;
  color:var(--kb-muted);transition:border-color .15s var(--kb-ease),background .15s var(--kb-ease),transform .15s var(--kb-ease);
}
.kb-stepper li button:hover{transform:translateY(-1px);border-color:var(--kb-line)}
.kb-stepper .is-active button,
.kb-stepper .is-done button{border-color:var(--kb-accent-soft);color:var(--kb-ink)}
.kb-stepper .is-active button{box-shadow:0 0 0 1px rgba(42,77,110,.25)}
.kb-stepper-num{
  width:22px;height:22px;border-radius:999px;display:grid;place-items:center;
  font-size:.72rem;font-weight:800;background:var(--kb-bg-deep);color:var(--kb-ink);
}
.kb-stepper .is-active .kb-stepper-num{background:var(--kb-accent);color:#fff}
.kb-stepper-label{font-size:.78rem;font-weight:700;line-height:1.25}
.kb-step-panel{
  display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,.8fr);gap:22px;align-items:start;
}
.kb-step-main h3{margin:0 0 6px;font-family:var(--kb-display);letter-spacing:-.03em}
.kb-step-opts{display:grid;gap:8px;margin:14px 0}
.kb-step-opt{
  appearance:none;width:100%;border:1px solid var(--kb-line-soft);background:#fff;
  display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;
  padding:12px;cursor:pointer;text-align:left;color:inherit;
  transition:border-color .15s var(--kb-ease),box-shadow .15s var(--kb-ease),transform .15s var(--kb-ease);
}
.kb-step-opt:hover{border-color:var(--kb-line);transform:translateY(-1px)}
.kb-step-opt.is-selected{
  border-color:var(--kb-accent-soft);
  box-shadow:0 0 0 1px rgba(42,77,110,.22);
}
.kb-step-opt-check{opacity:.7;margin-top:2px}
.kb-step-opt-body{display:grid;gap:4px}
.kb-step-opt-body strong{font-size:.95rem}
.kb-step-opt-body small{color:var(--kb-muted);line-height:1.4}
.kb-step-opt-body em{font-style:normal;font-weight:700;color:var(--kb-accent)}
.kb-step-opt-color{font-weight:600}
.kb-step-nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.kb-step-summary{
  position:sticky;top:88px;border:1px solid var(--kb-line);background:var(--kb-surface);padding:18px;
}
.kb-step-finish h4{margin:18px 0 8px;font-size:.92rem;letter-spacing:.04em;text-transform:uppercase;color:var(--kb-muted)}
.kb-summary-list{margin:0 0 16px;padding-left:1.1rem;color:var(--kb-muted);line-height:1.55;font-size:.9rem}
.kb-btn-block{width:100%}

/* ——— Waveform sound player ——— */
.kb-wave{display:grid;gap:12px;padding:14px;border:1px solid var(--kb-line);background:var(--kb-surface)}
.kb-wave-empty{display:flex;gap:10px;align-items:center;color:var(--kb-muted);font-size:.9rem}
.kb-wave-plates{display:flex;flex-wrap:wrap;gap:8px}
.kb-wave-plate{
  appearance:none;border:1px solid var(--kb-line);background:transparent;color:var(--kb-muted);
  padding:7px 12px;font:700 .78rem var(--kb-font);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;
  transition:border-color .15s var(--kb-ease),color .15s var(--kb-ease),background .15s var(--kb-ease);
}
.kb-wave-plate.is-active,.kb-wave-plate:hover{border-color:var(--kb-accent-soft);color:var(--kb-ink);background:rgba(42,77,110,.08)}
.kb-wave-stage{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center}
.kb-wave-bars{
  height:48px;display:flex;align-items:flex-end;gap:3px;padding:0 4px;
}
.kb-wave-bars > span{
  flex:1;min-width:3px;border-radius:2px 2px 0 0;
  background:rgba(42,77,110,.28);transition:height .12s linear,background .15s var(--kb-ease);
}
.kb-wave-bars > span.is-lit{background:var(--kb-accent-warm)}

/* ——— Spec matrix + GB timeline + PDP ——— */
.kb-visually-hidden{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;
}
.kb-spec-matrix-wrap{margin-top:8px}
.kb-spec-matrix-title{margin:0 0 12px;font-family:var(--kb-display);font-size:1.2rem;letter-spacing:-.02em}
.kb-spec-matrix{width:100%;border-collapse:collapse;font-size:.92rem}
.kb-spec-matrix th,.kb-spec-matrix td{
  padding:11px 12px;border-bottom:1px solid var(--kb-line-soft);text-align:left;vertical-align:top;
}
.kb-spec-matrix th{width:38%;color:var(--kb-muted);font-weight:700;letter-spacing:.02em}
.kb-spec-matrix td{color:var(--kb-ink);font-weight:600}

.kb-gb-timeline{
  margin:16px 0;padding:14px;border:1px solid var(--kb-line);background:linear-gradient(180deg,var(--kb-surface),var(--kb-bg));
}
.kb-gb-timeline-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:12px}
.kb-gb-timeline-head span{color:var(--kb-muted);font-size:.85rem}
.kb-gb-steps{
  list-style:none;margin:0 0 12px;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;
}
.kb-gb-steps li{
  position:relative;padding:8px 6px;text-align:center;font-size:.72rem;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;color:var(--kb-muted);border-bottom:3px solid var(--kb-line-soft);
}
.kb-gb-steps li.is-done{color:var(--kb-ok);border-bottom-color:var(--kb-ok)}
.kb-gb-steps li.is-active{color:var(--kb-accent);border-bottom-color:var(--kb-accent-warm)}
.kb-gb-bar{margin-bottom:8px}
.kb-gb-meta{margin:0;color:var(--kb-muted);font-size:.85rem}

/* Public status board + admin */
.kb-gb-board{display:grid;gap:22px}
.kb-gb-board-grid{display:grid;gap:22px}
.kb-gb-card{
  border:1px solid var(--kb-line-soft);background:var(--kb-surface);padding:26px 26px 22px;display:grid;gap:16px;
  border-radius:16px;box-shadow:var(--kb-shadow);
}
.kb-gb-card-head{display:flex;flex-wrap:nowrap;justify-content:space-between;gap:20px;align-items:start}
.kb-gb-card-head h3{margin:4px 0 8px;font-family:var(--kb-display);font-size:1.45rem;letter-spacing:-.03em}
.kb-gb-card-meta{display:grid;gap:6px;justify-items:end;text-align:right;min-width:120px}
.kb-gb-card-meta strong{font-family:var(--kb-display);font-size:1.8rem;letter-spacing:-.04em;line-height:1}
.kb-gb-card-meta span{color:var(--kb-muted);font-size:.82rem}
.kb-gb-pipeline{
  list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;
}
.kb-gb-pipeline li{
  display:grid;gap:6px;justify-items:center;text-align:center;
  font-size:.68rem;font-weight:700;color:var(--kb-muted);padding:4px 2px;
}
.kb-gb-pipeline li strong{font-size:.72rem;letter-spacing:.02em}
.kb-gb-pipeline li small{font-weight:600;opacity:.85;line-height:1.25}
.kb-gb-pipeline-dot{
  width:10px;height:10px;border-radius:50%;
  background:var(--kb-line);border:2px solid var(--kb-line-soft);
}
.kb-gb-pipeline li.is-done{color:var(--kb-ok)}
.kb-gb-pipeline li.is-done .kb-gb-pipeline-dot{background:var(--kb-ok);border-color:var(--kb-ok)}
.kb-gb-pipeline li.is-active{color:var(--kb-accent)}
.kb-gb-pipeline li.is-active .kb-gb-pipeline-dot{
  background:var(--kb-accent-warm);border-color:var(--kb-accent);box-shadow:0 0 0 3px rgba(42,77,110,.12);
}
.kb-gb-history{border-top:1px solid var(--kb-line-soft);padding-top:10px}
.kb-gb-history summary{cursor:pointer;font-weight:700;font-size:.85rem;color:var(--kb-muted)}
.kb-gb-history ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}
.kb-gb-history li{display:grid;gap:2px;font-size:.82rem}
.kb-gb-history li span{color:var(--kb-muted);font-size:.75rem}
.kb-gb-history li p{margin:0;color:var(--kb-ink)}
.kb-gb-subscribe{
  border-top:1px solid var(--kb-line-soft);padding-top:14px;display:grid;gap:10px;
}
.kb-gb-subscribe h4{margin:0;font-family:var(--kb-display);font-size:1.05rem}
.kb-gb-subscribe-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:10px}
.kb-gb-subscribe label{display:grid;gap:6px;font-size:.78rem;font-weight:700;color:var(--kb-muted)}
.kb-gb-subscribe input{
  width:100%;border:1px solid var(--kb-line);border-radius:8px;
  background:var(--kb-bg);color:var(--kb-ink);padding:11px 12px;font:inherit;
}
.kb-gb-admin{display:grid;gap:20px}
.kb-gb-admin-lock{
  padding:14px 16px;border:1px solid var(--kb-line);background:rgba(42,77,110,.06);font-size:.9rem;
}
.kb-gb-admin-side{display:grid;gap:10px}
.kb-gb-admin-side h3{margin:0;font-family:var(--kb-display)}
.kb-gb-admin-history{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.kb-gb-admin-history li{
  border:1px solid var(--kb-line-soft);background:var(--kb-surface);padding:12px;display:grid;gap:4px;font-size:.85rem;
}
.kb-gb-admin-history li span{color:var(--kb-muted);font-size:.75rem}
.kb-gb-admin-history li p{margin:0}

.kb-pdp{display:grid;gap:28px}
.kb-pdp-back{justify-self:start}
.kb-pdp-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px;align-items:start}
.kb-pdp-media{display:grid;gap:10px}
.kb-pdp-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px}
.kb-pdp-thumbs img{width:100%;aspect-ratio:1;object-fit:cover;border:1px solid var(--kb-line-soft)}
.kb-pdp-info h1{margin:8px 0 6px;font-family:var(--kb-display);font-size:clamp(1.8rem,4vw,2.6rem);letter-spacing:-.04em}
.kb-pdp-price{margin:0 0 10px;font-size:1.35rem;font-weight:800;letter-spacing:-.02em}
.kb-pdp-ship,.kb-card-ship{margin:0;color:var(--kb-muted);font-size:.88rem;font-weight:600}
.kb-pdp-section{padding-top:8px;border-top:1px solid var(--kb-line-soft)}
.kb-pdp-section h2{margin:0 0 8px;font-family:var(--kb-display);letter-spacing:-.03em}
.kb-badge-inline{position:static;display:inline-flex;margin:8px 0}
.kb-product-media-btn{appearance:none;border:0;padding:0;cursor:pointer;width:100%;display:block;text-align:left}
.kb-product-title-btn{
  appearance:none;border:0;background:transparent;padding:0;margin:0;cursor:pointer;
  font:inherit;color:inherit;text-align:left;
}
.kb-product-title-btn:hover{color:var(--kb-accent-soft)}
.kb-toast-live{
  position:fixed;right:18px;bottom:18px;z-index:160;display:block !important;
  padding:12px 16px;border-radius:10px;background:var(--kb-surface);border:1px solid var(--kb-line);
  box-shadow:var(--kb-shadow);animation:kb-rise .35s var(--kb-ease);
}
.kb-toast-live[data-tone="ok"]{border-color:rgba(15,107,76,.35)}
.kb-toast-live[data-tone="err"]{border-color:rgba(180,35,24,.35)}

/* ——— Phase 2 cart drawer ——— */
.kb-cart-row-rich{
  display:grid;grid-template-columns:64px 1fr;gap:12px;align-items:start;
  padding:14px 0;border-bottom:1px solid var(--kb-line-soft);
}
.kb-cart-thumb{
  width:64px;height:64px;border-radius:8px;overflow:hidden;background:var(--kb-bg-deep);
  border:1px solid var(--kb-line-soft);
}
.kb-cart-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.kb-cart-thumb-fallback{
  display:block;width:100%;height:100%;
  background:
    radial-gradient(circle at 70% 30%,rgba(184,146,74,.35),transparent 45%),
    linear-gradient(145deg,#1a2433,#2c3e52);
}
.kb-cart-thumb-fallback.is-custom{
  background:
    repeating-linear-gradient(90deg,rgba(255,255,255,.06) 0 8%,transparent 8% 12%),
    linear-gradient(145deg,#152033,#2a4058);
}
.kb-cart-row-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.kb-cart-row-top strong{font-size:.95rem;line-height:1.35}
.kb-cart-line-price{font-weight:800;white-space:nowrap}
.kb-cart-unit,.kb-cart-ship{margin:4px 0 0;color:var(--kb-muted);font-size:.8rem}
.kb-cart-warn{
  margin:8px 0 0;padding:8px 10px;border-radius:8px;
  background:rgba(184,146,74,.12);color:#6b4e14;font-size:.8rem;line-height:1.4;
}
[data-kb-theme="dark"] .kb-cart-warn{background:rgba(184,146,74,.16);color:#e6c988}
.kb-cart-warn-block{background:rgba(180,35,24,.1);color:var(--kb-danger)}
.kb-cart-breakdown{margin:8px 0 0;font-size:.8rem;color:var(--kb-muted)}
.kb-cart-breakdown summary{cursor:pointer;font-weight:700;color:var(--kb-accent-soft)}
.kb-cart-breakdown ul{margin:8px 0 0;padding:0;list-style:none;display:grid;gap:4px}
.kb-cart-breakdown li{display:flex;justify-content:space-between;gap:8px}
.kb-cart-breakdown em{font-style:normal;font-weight:700;color:var(--kb-ink)}
.kb-cart-row-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}
.kb-cart-remove-text{
  appearance:none;border:0;background:transparent;color:var(--kb-muted);
  font:600 .8rem var(--kb-font);cursor:pointer;text-decoration:underline;
}
.kb-cart-remove-text:hover{color:var(--kb-danger)}
.kb-cart-upsells{
  padding:14px 18px;border-top:1px solid var(--kb-line-soft);background:var(--kb-bg);
}
.kb-cart-upsells h3{margin:0 0 4px;font-family:var(--kb-display);font-size:1rem;letter-spacing:-.02em}
.kb-cart-upsell-lead{margin:0 0 10px;color:var(--kb-muted);font-size:.82rem}
.kb-cart-upsell-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.kb-cart-upsell-list li{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:10px;border:1px solid var(--kb-line-soft);background:var(--kb-surface);
}
.kb-cart-upsell-list li > div{display:grid;gap:2px;min-width:0}
.kb-cart-upsell-list strong{font-size:.88rem}
.kb-cart-upsell-list span{color:var(--kb-muted);font-size:.8rem;font-weight:700}
.kb-cart-panel{
  display:flex;flex-direction:column;
  animation:kb-cart-slide .28s var(--kb-ease);
}
@keyframes kb-cart-slide{
  from{transform:translateX(18px);opacity:.6}
  to{transform:translateX(0);opacity:1}
}
.kb-cart-items{flex:1;overflow:auto;padding:4px 18px 8px}
.kb-cart-drawer.is-open .kb-cart-backdrop{
  animation:kb-fade-in .2s var(--kb-ease);
}
@keyframes kb-fade-in{
  from{opacity:0}
  to{opacity:1}
}

/* ——— Phase 3 community gallery + reviews ——— */
.kb-community{display:grid;gap:28px}
.kb-community-head{
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;align-items:end;
}
.kb-community-filters{display:flex;flex-wrap:wrap;gap:8px}
.kb-community-filters button{
  appearance:none;border:1px solid var(--kb-line);background:var(--kb-surface);color:var(--kb-muted);
  padding:8px 12px;font:700 .78rem var(--kb-font);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;
}
.kb-community-filters button.is-active,
.kb-community-filters button:hover{border-color:var(--kb-accent-soft);color:var(--kb-ink)}
.kb-build-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;
}
.kb-build-card{
  border:1px solid var(--kb-line-soft);background:var(--kb-surface);overflow:hidden;
  transition:border-color .18s var(--kb-ease),transform .18s var(--kb-ease),box-shadow .18s var(--kb-ease);
}
.kb-build-card:hover{border-color:var(--kb-line);transform:translateY(-2px);box-shadow:var(--kb-shadow)}
.kb-build-card.is-featured{border-color:rgba(184,146,74,.55)}
.kb-build-media{position:relative;aspect-ratio:4/3;background:var(--kb-bg-deep)}
.kb-build-img{
  width:100%;height:100%;object-fit:cover;display:block;
  background:linear-gradient(110deg,var(--kb-bg-deep) 30%,var(--kb-line-soft) 50%,var(--kb-bg-deep) 70%);
  background-size:200% 100%;
}
.kb-build-featured{
  position:absolute;top:12px;left:12px;z-index:1;
  padding:5px 10px;background:rgba(15,20,28,.88);color:#f3e6c5;
  font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
}
.kb-build-body{display:grid;gap:8px;padding:16px}
.kb-build-body h3{margin:0;font-family:var(--kb-display);font-size:1.15rem;letter-spacing:-.03em}
.kb-build-author{margin:0;color:var(--kb-muted);font-size:.85rem;font-weight:600}
.kb-build-body > p{margin:0;color:var(--kb-muted);line-height:1.5;font-size:.95rem}
.kb-build-tags{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.kb-build-tags button{
  appearance:none;border:1px solid var(--kb-line);background:transparent;color:var(--kb-accent-soft);
  padding:4px 8px;font:700 .72rem var(--kb-font);cursor:pointer;
}
.kb-build-tags button:hover{border-color:var(--kb-accent-soft);color:var(--kb-ink)}

.kb-community-form{
  border:1px solid var(--kb-line);background:var(--kb-surface);padding:clamp(18px,3vw,28px);
}
.kb-community-form h3{margin:0 0 6px;font-family:var(--kb-display);letter-spacing:-.03em}
.kb-community-form-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0 18px;
}
.kb-community-form label,
.kb-review-rating-field{
  display:grid;gap:6px;font-size:.8rem;font-weight:700;color:var(--kb-muted);
}
.kb-community-form .kb-full{grid-column:1/-1}
.kb-community-form input,
.kb-community-form textarea,
.kb-community-form select,
.kb-review-toolbar select{
  width:100%;border:1px solid var(--kb-line);border-radius:8px;
  background:var(--kb-bg);color:var(--kb-ink);padding:11px 12px;font:inherit;
}
.kb-file-field input[type="file"]{padding:8px 0;border:0;background:transparent}
.kb-tag-fieldset{border:1px solid var(--kb-line-soft);padding:12px;margin:0}
.kb-tag-fieldset legend{padding:0 6px;font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.kb-tag-picker{display:flex;flex-wrap:wrap;gap:8px}
.kb-tag-picker label{
  display:inline-flex;align-items:center;gap:6px;padding:6px 10px;
  border:1px solid var(--kb-line-soft);font-size:.78rem;font-weight:600;color:var(--kb-muted);cursor:pointer;
}
.kb-tag-picker label.is-on{border-color:var(--kb-accent-soft);color:var(--kb-ink);background:rgba(42,77,110,.08)}

.kb-reviews{display:grid;gap:20px}
.kb-reviews-head h2{margin:0 0 6px;font-family:var(--kb-display);letter-spacing:-.03em}
.kb-review-stats{
  display:grid;grid-template-columns:minmax(140px,.7fr) 1.3fr;gap:18px;align-items:center;
  padding:14px;border:1px solid var(--kb-line);background:var(--kb-surface);
}
.kb-review-avg{display:grid;gap:6px;justify-items:start}
.kb-review-avg strong{font-family:var(--kb-display);font-size:2.2rem;letter-spacing:-.04em;line-height:1}
.kb-review-dist{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.kb-review-dist li{display:grid;grid-template-columns:28px 1fr 24px;gap:8px;align-items:center;font-size:.78rem}
.kb-review-dist-bar{height:6px;border-radius:999px;background:var(--kb-line-soft);overflow:hidden}
.kb-review-dist-bar > span{display:block;height:100%;background:var(--kb-accent-warm)}
.kb-review-dist em{font-style:normal;color:var(--kb-muted);text-align:right}
.kb-review-toolbar{display:flex;flex-wrap:wrap;gap:14px;align-items:end}
.kb-review-toolbar label{display:grid;gap:6px;font-size:.78rem;font-weight:700;color:var(--kb-muted)}
.kb-review-verified-toggle{display:inline-flex !important;align-items:center;gap:8px;grid-template-columns:none}
.kb-review-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.kb-review-card{border:1px solid var(--kb-line-soft);background:var(--kb-surface);padding:16px;display:grid;gap:8px}
.kb-review-card h3{margin:0;font-size:1.05rem}
.kb-review-card-top{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.kb-review-meta{margin:0;color:var(--kb-muted);font-size:.82rem}
.kb-review-card > p{margin:0;color:var(--kb-ink);line-height:1.55}
.kb-review-tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.kb-review-tags button{
  appearance:none;border:1px solid var(--kb-line);background:transparent;color:var(--kb-muted);
  padding:4px 8px;font:700 .72rem var(--kb-font);cursor:pointer;
}
.kb-review-tags button:hover{color:var(--kb-ink);border-color:var(--kb-accent-soft)}
.kb-verified-badge{
  display:inline-flex;align-items:center;padding:3px 8px;border-radius:4px;
  background:#e7f5ef;color:var(--kb-ok);font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
}
[data-kb-theme="dark"] .kb-verified-badge{background:rgba(15,107,76,.25);color:#8fd6b5}
.kb-stars{display:inline-flex;gap:2px}
.kb-stars button{
  appearance:none;border:0;background:transparent;color:var(--kb-line);cursor:pointer;line-height:1;padding:0;
  font-size:1.15rem;
}
.kb-stars-sm button{font-size:.95rem}
.kb-stars button.is-on{color:var(--kb-accent-warm)}
.kb-stars button:disabled{cursor:default}
.kb-review-rating-field{align-content:start}

/* Inventory audit admin */
.kb-audit{display:grid;gap:22px}
.kb-audit-metrics{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;
}
.kb-audit-metrics article{
  border:1px solid var(--kb-line);background:var(--kb-surface);padding:16px;display:grid;gap:4px;
}
.kb-audit-metrics strong{
  font-family:var(--kb-display);font-size:2rem;letter-spacing:-.04em;line-height:1;
}
.kb-audit-metrics span{color:var(--kb-muted);font-size:.82rem}
.kb-audit-controls{display:grid;gap:14px}
.kb-audit-presets{display:flex;flex-wrap:wrap;gap:8px}
.kb-audit-preset{
  appearance:none;border:1px solid var(--kb-line);background:transparent;color:var(--kb-muted);
  padding:8px 12px;font:700 .78rem var(--kb-font);cursor:pointer;
}
.kb-audit-preset.is-active,.kb-audit-preset[aria-selected="true"]{
  border-color:var(--kb-accent);color:var(--kb-ink);background:rgba(42,77,110,.08);
}
.kb-audit-filters{
  display:grid;grid-template-columns:minmax(0,1.4fr) minmax(140px,.8fr) minmax(110px,.6fr);gap:10px;
}
.kb-audit-filters label{display:grid;gap:6px;font-size:.78rem;font-weight:700;color:var(--kb-muted)}
.kb-audit-filters input,.kb-audit-filters select{
  width:100%;border:1px solid var(--kb-line);border-radius:8px;
  background:var(--kb-bg);color:var(--kb-ink);padding:10px 12px;font:inherit;
}
.kb-audit-table-wrap{overflow:auto;border:1px solid var(--kb-line);background:var(--kb-surface)}
.kb-audit-table{width:100%;border-collapse:collapse;min-width:920px;font-size:.9rem}
.kb-audit-table th,.kb-audit-table td{
  padding:12px 14px;border-bottom:1px solid var(--kb-line-soft);text-align:left;vertical-align:top;
}
.kb-audit-table th{
  font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--kb-muted);font-weight:800;
  background:rgba(18,22,28,.03);
}
.kb-audit-table tr[data-tone="warn"]{background:rgba(180,70,50,.04)}
.kb-audit-product{display:flex;gap:12px;align-items:center}
.kb-audit-thumb{
  width:48px;height:48px;flex:0 0 48px;border:1px solid var(--kb-line-soft);
  background:var(--kb-bg);display:grid;place-items:center;overflow:hidden;
  font-family:var(--kb-display);font-weight:800;color:var(--kb-accent);
}
.kb-audit-thumb img{width:100%;height:100%;object-fit:cover}
.kb-audit-product strong{display:block;font-size:.95rem}
.kb-audit-cat{display:block;color:var(--kb-muted);font-size:.78rem;margin-top:2px}
.kb-audit-price{display:grid;gap:4px}
.kb-audit-price s{color:var(--kb-muted);font-size:.82rem}
.kb-audit-sale{
  display:inline-flex;align-self:start;padding:2px 7px;border-radius:4px;
  background:#f8efd9;color:var(--kb-gb);font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;
}
[data-kb-theme="dark"] .kb-audit-sale{background:rgba(180,130,40,.22)}
.kb-status-pill{
  display:inline-flex;align-items:center;padding:4px 8px;border-radius:4px;
  font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;
  background:var(--kb-line-soft);color:var(--kb-muted);
}
.kb-status-pill[data-tone="ok"]{background:#e7f5ef;color:var(--kb-ok)}
.kb-status-pill[data-tone="err"]{background:#fdecea;color:var(--kb-danger)}
.kb-status-pill[data-tone="warn"]{background:#f8efd9;color:var(--kb-gb)}
.kb-status-pill[data-tone="pre"]{background:#e8eef8;color:var(--kb-pre)}
.kb-audit-rating-btn{
  appearance:none;border:0;background:transparent;padding:0;cursor:pointer;
  display:grid;gap:4px;justify-items:start;color:inherit;font:inherit;text-align:left;
}
.kb-audit-rating-btn:hover span{text-decoration:underline}
.kb-audit-sentiment{color:var(--kb-muted);font-size:.82rem;line-height:1.4}
.kb-audit-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:start}
.kb-btn-sm{padding:6px 10px !important;font-size:.75rem !important}
.kb-audit-price-form{
  display:grid;gap:8px;min-width:160px;padding:10px;border:1px solid var(--kb-line);
  background:var(--kb-bg);
}
.kb-audit-price-form label{display:grid;gap:4px;font-size:.72rem;font-weight:700;color:var(--kb-muted)}
.kb-audit-price-form input{
  width:100%;border:1px solid var(--kb-line);border-radius:6px;padding:7px 8px;
  background:var(--kb-surface);color:var(--kb-ink);font:inherit;
}
.kb-audit-check{display:inline-flex !important;align-items:center;gap:8px;grid-template-columns:none !important}
.kb-audit-drawer-root{position:fixed;inset:0;z-index:80;display:grid;justify-items:end}
.kb-audit-drawer-backdrop{position:absolute;inset:0;border:0;background:rgba(10,14,20,.45);cursor:pointer}
.kb-audit-drawer{
  position:relative;width:min(440px,100%);height:100%;overflow:auto;
  background:var(--kb-bg);border-left:1px solid var(--kb-line);padding:22px;display:grid;gap:18px;
  box-shadow:-18px 0 40px rgba(0,0,0,.12);
}
.kb-audit-drawer-head{display:flex;justify-content:space-between;gap:12px;align-items:start}
.kb-audit-drawer-head h3{margin:4px 0 6px;font-family:var(--kb-display);letter-spacing:-.03em}
.kb-audit-drawer-body{display:grid;gap:20px}
.kb-audit-drawer-body h4{margin:0 0 10px;font-family:var(--kb-display);font-size:1.05rem}
.kb-audit-review-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.kb-audit-review-list li{
  border:1px solid var(--kb-line-soft);background:var(--kb-surface);padding:12px;display:grid;gap:6px;
}
.kb-audit-review-top{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.kb-audit-review-top span{color:var(--kb-muted);font-size:.75rem}
.kb-audit-review-list p{margin:0;font-size:.88rem;line-height:1.5}
.kb-audit-tags{color:var(--kb-muted);font-size:.75rem !important}
.kb-audit-metrics-finance{grid-template-columns:repeat(5,minmax(0,1fr))}
.kb-audit-range{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.kb-audit-report{
  border:1px solid var(--kb-line);background:var(--kb-surface);padding:14px 16px;
}
.kb-audit-report > summary{
  cursor:pointer;font-family:var(--kb-display);font-size:1.05rem;font-weight:700;
}
.kb-audit-report-grid{
  display:grid;grid-template-columns:1.2fr .8fr;gap:18px;margin-top:14px;
}
.kb-audit-report h3{margin:0 0 10px;font-size:.95rem;font-family:var(--kb-display)}
.kb-audit-table-compact{min-width:0}
.kb-audit-table-wide{min-width:1180px}
.kb-audit-stat-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.kb-audit-stat-list li{
  display:flex;justify-content:space-between;gap:12px;align-items:baseline;
  padding:8px 0;border-bottom:1px solid var(--kb-line-soft);font-size:.88rem;
}
.kb-audit-stat-list span{color:var(--kb-muted)}
.kb-audit-stat-list strong.is-danger,.kb-audit-table .is-danger{color:var(--kb-danger)}
.kb-audit-sort{
  appearance:none;border:0;background:transparent;color:inherit;font:inherit;
  font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;font-weight:800;
  cursor:pointer;padding:0;
}
.kb-audit-stock,.kb-audit-sales{display:grid;gap:3px}
.kb-audit-stock span,.kb-audit-sales span,.kb-audit-cogs{
  color:var(--kb-muted);font-size:.75rem;
}
.kb-audit-table tr[data-tone="pre"]{background:rgba(42,77,110,.04)}

@media(max-width:900px){
  .kb-stepper{grid-template-columns:1fr 1fr}
  .kb-step-panel{grid-template-columns:1fr}
  .kb-step-summary{position:static}
  .kb-pdp-grid{grid-template-columns:1fr}
  .kb-gb-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kb-gb-pipeline{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kb-gb-card-head{flex-wrap:wrap}
  .kb-gb-card-meta{justify-items:start;text-align:left}
  .kb-gb-subscribe-grid{grid-template-columns:1fr}
  .kb-wave-stage{grid-template-columns:1fr}
  .kb-community-form-grid{grid-template-columns:1fr}
  .kb-review-stats{grid-template-columns:1fr}
  .kb-audit-metrics,.kb-audit-metrics-finance{grid-template-columns:1fr 1fr}
  .kb-audit-filters{grid-template-columns:1fr}
  .kb-audit-report-grid{grid-template-columns:1fr}
  .kb-audit-range{justify-content:flex-start}
}

@media(prefers-reduced-motion:reduce){
  .kb-btn,.kb-studio-card,.kb-hero-inner,.kb-build,.kb-product,.kb-cart-panel,.kb-product-media img,.kb-step-opt,.kb-stepper li button,.kb-toast-live,.kb-build-card{animation:none;transition:none}
}

/* ——— Shop polish: owner chrome stays hidden, header never wraps, guide + FAQ content ——— */
[hidden]{display:none !important}
body.kb-shop > .site-header{flex-wrap:nowrap;min-height:64px}
body.kb-shop .brand{white-space:nowrap;font-size:1.15rem}
body.kb-shop .nav{gap:2px;flex-wrap:nowrap}
body.kb-shop .nav>a{white-space:nowrap;font-size:.92rem;padding:8px 11px}
body.kb-shop .kb-hero .kb-btn-secondary{color:#fff;border-color:rgba(255,255,255,.38);background:rgba(255,255,255,.08)}
body.kb-shop .kb-hero .kb-btn-secondary:hover{color:#fff;background:rgba(255,255,255,.16)}
body.kb-shop .cookie a{color:#ffb38a}
body.kb-shop .cookie a:hover{color:#fff}
.kb-guide-grid{display:grid;gap:16px;margin-top:22px}
@media(min-width:760px){.kb-guide-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.kb-guide-grid{grid-template-columns:repeat(3,1fr)}}
.kb-guide-card{
  padding:22px;border:1px solid var(--kb-line-soft);border-radius:14px;background:var(--kb-surface);
  box-shadow:var(--kb-shadow);
}
.kb-guide-card h3{margin:0 0 8px;font-family:var(--kb-display);font-size:1.12rem;letter-spacing:-.02em}
.kb-guide-card p{margin:0 0 10px;color:var(--kb-muted);line-height:1.6;font-size:.95rem}
.kb-guide-card ul{margin:0;padding-left:1.1rem;color:var(--kb-muted);line-height:1.6;font-size:.93rem}
.kb-guide-card li{margin:.25rem 0}
.kb-guide-card strong{color:var(--kb-ink)}
.kb-faq{display:grid;gap:10px;margin-top:22px;max-width:860px}
.kb-faq details{
  border:1px solid var(--kb-line-soft);border-radius:12px;background:var(--kb-surface);padding:0 18px;
}
.kb-faq summary{
  cursor:pointer;list-style:none;padding:16px 0;font-weight:650;color:var(--kb-ink);
  display:flex;justify-content:space-between;gap:16px;align-items:center;
}
.kb-faq summary::-webkit-details-marker{display:none}
.kb-faq summary::after{content:"+";font-size:1.2rem;color:var(--kb-muted);transition:transform .2s var(--kb-ease)}
.kb-faq details[open] summary::after{transform:rotate(45deg)}
.kb-faq details p{margin:0 0 16px;color:var(--kb-muted);line-height:1.65}
[data-kb-theme="dark"] .kb-guide-card,[data-kb-theme="dark"] .kb-faq details{background:var(--kb-surface);border-color:var(--kb-line)}

.kb-gb-explainer{
  margin-top:48px;padding-top:40px;border-top:1px solid var(--kb-line-soft);
}
.kb-gb-explainer > h3{
  margin:0 0 8px;font-family:var(--kb-display);font-size:clamp(1.4rem,2.6vw,1.85rem);letter-spacing:-.03em;
}
.kb-gb-explainer > .kb-copy{margin:0 0 8px}
@media(max-width:860px){
  body.kb-shop > .site-header{flex-wrap:wrap}
  body.kb-shop .nav{flex-wrap:wrap}
}
