:root{
  --ink:#14171C;
  --ink-soft:#1D2128;
  --paper:#F4F3F0;
  --paper-dim:#E8E6E0;
  --line: rgba(20,23,28,0.10);
  --line-dark: rgba(244,243,240,0.12);
  --steel:#767D8A;
  --c-volt:#7ED321;
  --c-aero:#7B5FDB;
  --c-blaze:#C9A227;
  --danger:#E5484D;
  --success:#2FB86A;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--paper); color:var(--ink);
  font-family:'Inter',sans-serif; -webkit-font-smoothing:antialiased;
  min-height:100vh;
}
h1,h2,h3{ font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:0.01em; }
.mono{ font-family:'JetBrains Mono',monospace; }
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
button, input, select, textarea{font-family:inherit;}
button{cursor:pointer; border:none; background:none;}
button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation;}
input, select, textarea{
  font-size:15px; padding:12px 14px; border-radius:10px;
  border:1px solid var(--line); background:#fff; color:var(--ink); width:100%;
}
input:focus, select:focus, textarea:focus{ outline:2px solid var(--ink); outline-offset:1px; }
label{ font-size:13px; font-weight:600; color:var(--steel); margin-bottom:6px; display:block; }
.field{ margin-bottom:16px; }

/* ---- Layout helpers ---- */
.container{ max-width:1280px; margin:0 auto; padding:0 6vw; }
.section{ padding:70px 6vw; }

/* ---- Nav ---- */
nav.site-nav{
  position:sticky; top:0; z-index:50;
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 6vw; background:rgba(244,243,240,0.9); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.brand{ font-family:'Oswald',sans-serif; font-weight:700; font-size:22px; letter-spacing:0.08em; }
.brand .dot{ color:var(--c-blaze); }
.nav-links{ display:flex; align-items:center; gap:18px; }
.nav-links a{ font-size:13.5px; font-weight:500; color:var(--steel); }
.nav-links a:hover{ color:var(--ink); }
.nav-cta{ display:flex; gap:10px; align-items:center; }
.nav-cta a, .nav-cta button{ font-size:13px; font-weight:600; padding:9px 16px; border-radius:100px; border:1.5px solid var(--ink); }
.nav-cta a.filled, .nav-cta button.filled{ background:var(--ink); color:var(--paper); }
.cart-badge{
  position:relative; width:38px; height:38px; border-radius:50%; border:1.5px solid var(--ink);
  display:flex; align-items:center; justify-content:center; font-size:16px;
}
.cart-badge span{
  position:absolute; top:-6px; right:-6px; background:var(--c-blaze); color:#fff;
  font-size:10px; font-weight:700; min-width:16px; height:16px; border-radius:8px;
  display:flex; align-items:center; justify-content:center; padding:0 3px;
}

/* ---- Buttons ---- */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:15px 26px; border-radius:100px; font-weight:600; font-size:15px; }
.btn-primary{ background:var(--ink); color:var(--paper); }
.btn-primary:hover{ opacity:0.88; }
.btn-blaze{ background:var(--c-blaze); color:#fff; }
.btn-ghost{ border:1.5px solid var(--ink); color:var(--ink); }
.btn-block{ width:100%; }
.btn:disabled{ opacity:0.5; cursor:not-allowed; }

/* ---- Cards / catalog ---- */
.catalog-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.card{ background:#fff; border-radius:20px; overflow:hidden; border:1px solid var(--line); display:flex; flex-direction:column; }
.card-media{ position:relative; aspect-ratio:1/1; background:#fff; overflow:hidden; }
.card-media img{ width:100%; height:100%; object-fit:cover; }
.card-tag{ position:absolute; top:14px; left:14px; font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:700; padding:6px 11px; border-radius:100px; color:#fff; }
.card-body{ padding:16px 20px 22px; display:flex; flex-direction:column; gap:10px; flex:1; }
.card-body .model{ font-size:20px; font-weight:600; }
.card-body .desc{ font-size:13.5px; color:var(--steel); line-height:1.55; }
.price-row{ display:flex; align-items:baseline; justify-content:space-between; margin-top:6px; padding-top:14px; border-top:1px dashed var(--line); }
.price{ font-family:'JetBrains Mono',monospace; font-size:19px; font-weight:700; }
.price .old{ font-size:13px; color:var(--steel); text-decoration:line-through; margin-right:6px; font-weight:400;}
.order-btn{ display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:600; padding:10px 16px; border-radius:100px; color:#fff; }

/* ---- Auth / form pages ---- */
.auth-wrap{ max-width:420px; margin:70px auto; padding:0 6vw; }
.auth-card{ background:#fff; border:1px solid var(--line); border-radius:20px; padding:36px; }
.auth-card h1{ font-size:26px; margin-bottom:8px; }
.auth-sub{ color:var(--steel); font-size:14px; margin-bottom:28px; }
.form-error{ background:rgba(229,72,77,0.08); color:var(--danger); font-size:13.5px; padding:10px 14px; border-radius:10px; margin-bottom:16px; display:none; }
.form-success{ background:rgba(47,184,106,0.08); color:var(--success); font-size:13.5px; padding:10px 14px; border-radius:10px; margin-bottom:16px; display:none; }
.auth-links{ margin-top:18px; font-size:13.5px; color:var(--steel); display:flex; justify-content:space-between; }

/* ---- Product page ---- */
.product-layout{ display:grid; grid-template-columns:1fr 1fr; gap:60px; padding:50px 6vw 90px; }
.gallery-main{ aspect-ratio:1/1; border-radius:20px; overflow:hidden; background:#fff; border:1px solid var(--line); margin-bottom:14px; }
.gallery-main img{ width:100%; height:100%; object-fit:cover; }
.gallery-thumbs{ display:flex; gap:10px; }
.gallery-thumbs button{ width:64px; height:64px; border-radius:12px; overflow:hidden; border:2px solid transparent; opacity:0.55; padding:0; }
.gallery-thumbs button.active{ opacity:1; border-color:var(--ink); }
.gallery-thumbs img{ width:100%; height:100%; object-fit:cover; }
.product-info .eyebrow-tag{ display:inline-block; font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:700; padding:6px 12px; border-radius:100px; color:#fff; margin-bottom:16px; }
.product-info h1{ font-size:clamp(30px,4vw,46px); margin-bottom:14px; }
.product-price{ font-family:'JetBrains Mono',monospace; font-size:26px; font-weight:700; margin-bottom:20px; }
.product-price .old{ font-size:16px; color:var(--steel); text-decoration:line-through; margin-right:10px; font-weight:400; }
.product-desc{ color:#4B5261; font-size:15px; line-height:1.7; margin-bottom:28px; }
.size-label{ font-size:13px; font-weight:600; margin-bottom:10px; }
.size-grid{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:26px; }
.size-opt{ width:52px; height:44px; border-radius:10px; border:1.5px solid var(--line); display:flex; align-items:center; justify-content:center; font-size:14px; font-weight:600; }
.size-opt.active{ border-color:var(--ink); background:var(--ink); color:#fff; }
.qty-row{ display:flex; align-items:center; gap:16px; margin-bottom:28px; }
.qty-control{ display:flex; align-items:center; border:1.5px solid var(--line); border-radius:100px; overflow:hidden; }
.qty-control button{ width:40px; height:40px; font-size:18px; }
.qty-control span{ min-width:36px; text-align:center; font-weight:600; }
.product-actions{ display:flex; gap:14px; flex-wrap:wrap; }
.stock-note{ font-size:13px; color:var(--steel); margin-top:14px; }
.stock-note.low{ color:var(--c-blaze); }
.stock-note.out{ color:var(--danger); }

/* ---- Cart / checkout ---- */
.cart-item{ display:flex; gap:16px; padding:18px 0; border-bottom:1px solid var(--line); align-items:center; }
.cart-item img{ width:76px; height:76px; object-fit:cover; border-radius:12px; border:1px solid var(--line); }
.cart-item .meta{ flex:1; }
.cart-item .meta .name{ font-weight:600; margin-bottom:4px; }
.cart-item .meta .sub{ font-size:13px; color:var(--steel); }
.cart-item .remove{ font-size:13px; color:var(--danger); font-weight:600; }
.checkout-grid{ display:grid; grid-template-columns:1.2fr 0.8fr; gap:50px; padding:50px 6vw 90px; }
.summary-card{ background:#fff; border:1px solid var(--line); border-radius:18px; padding:26px; position:sticky; top:90px; height:fit-content; }
.summary-row{ display:flex; justify-content:space-between; font-size:14.5px; padding:8px 0; }
.summary-row.total{ font-weight:700; font-size:17px; border-top:1px dashed var(--line); margin-top:8px; padding-top:14px; }
.payment-opts{ display:flex; flex-direction:column; gap:10px; margin-top:6px; }
.payment-opt{ display:flex; align-items:center; gap:12px; border:1.5px solid var(--line); border-radius:12px; padding:14px 16px; cursor:pointer; }
.payment-opt.selected{ border-color:var(--ink); background:var(--paper-dim); }
.payment-opt.disabled{ opacity:0.45; cursor:not-allowed; }

/* ---- Admin ---- */
.admin-shell{ display:grid; grid-template-columns:240px 1fr; min-height:100vh; }
.admin-sidebar{ background:var(--ink); color:var(--paper); padding:26px 18px; }
.admin-sidebar .brand{ color:var(--paper); margin-bottom:34px; display:block; padding:0 10px; }
.admin-nav a{ display:flex; align-items:center; gap:10px; padding:11px 14px; border-radius:10px; font-size:14px; color:rgba(244,243,240,0.65); margin-bottom:4px; }
.admin-nav a:hover{ color:#fff; background:rgba(244,243,240,0.06); }
.admin-nav a.active{ color:#fff; background:rgba(244,243,240,0.12); }
.admin-main{ padding:34px 40px; }
.admin-header{ display:flex; justify-content:space-between; align-items:center; margin-bottom:28px; }
.admin-header h1{ font-size:24px; }
.stat-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-bottom:34px; }
.stat-card{ background:#fff; border:1px solid var(--line); border-radius:16px; padding:22px; }
.stat-card .label{ font-size:12.5px; color:var(--steel); margin-bottom:8px; }
.stat-card .value{ font-family:'JetBrains Mono',monospace; font-size:26px; font-weight:700; }
table{ width:100%; border-collapse:collapse; background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden; }
th, td{ text-align:left; padding:13px 16px; font-size:13.5px; border-bottom:1px solid var(--line); }
th{ background:var(--paper-dim); font-weight:600; color:var(--steel); text-transform:uppercase; font-size:11px; letter-spacing:0.05em; }
tr:last-child td{ border-bottom:none; }
.badge{ display:inline-block; padding:4px 10px; border-radius:100px; font-size:11.5px; font-weight:600; }
.badge.new{ background:rgba(123,95,219,0.12); color:var(--c-aero); }
.badge.confirmed{ background:rgba(126,211,33,0.14); color:#5a9a15; }
.badge.shipped{ background:rgba(255,94,26,0.12); color:var(--c-blaze); }
.badge.delivered{ background:rgba(47,184,106,0.12); color:var(--success); }
.badge.cancelled{ background:rgba(229,72,77,0.1); color:var(--danger); }
.icon-btn{ padding:6px 12px; border:1px solid var(--line); border-radius:8px; font-size:12.5px; margin-right:6px; }
.modal-overlay{ position:fixed; inset:0; background:rgba(20,23,28,0.5); display:none; align-items:center; justify-content:center; z-index:100; }
.modal-overlay.open{ display:flex; }
.modal{ background:#fff; border-radius:18px; padding:28px; width:520px; max-width:92vw; max-height:88vh; overflow-y:auto; }
.modal h2{ font-size:19px; margin-bottom:20px; text-transform:none; letter-spacing:0; }
.modal-actions{ display:flex; gap:10px; justify-content:flex-end; margin-top:22px; }

/* ---- Toast ---- */
.toast{ position:fixed; bottom:24px; right:24px; background:var(--ink); color:#fff; padding:14px 22px; border-radius:12px; font-size:14px; opacity:0; transform:translateY(10px); transition:all .25s ease; z-index:200; }
.toast.show{ opacity:1; transform:translateY(0); }

/* ---- Footer ---- */
footer.site-footer{ padding:32px 6vw; text-align:center; font-size:13px; color:var(--steel); font-family:'JetBrains Mono',monospace; }

/* ---- Responsive ---- */
@media (max-width:960px){
  .catalog-grid{ grid-template-columns:1fr; max-width:480px; margin:0 auto; }
  .product-layout{ grid-template-columns:1fr; }
  .checkout-grid{ grid-template-columns:1fr; }
  .admin-shell{ grid-template-columns:1fr; }
  .admin-sidebar{ display:none; }
  .stat-grid{ grid-template-columns:1fr 1fr; }
  .nav-links{ display:none; }
}

/* ================================================================
   KENG storefront visual system — 2026 redesign
   White / black / restrained light-gold, based on the approved UI.
   ================================================================ */
:root{
  --ink:#111111;
  --ink-soft:#242424;
  --paper:#FFFFFF;
  --paper-dim:#F7F7F5;
  --line:rgba(17,17,17,.09);
  --line-strong:rgba(17,17,17,.16);
  --steel:#777B82;
  --silver:#D9DADB;
  --c-blaze:#C9A44C;
  --gold-soft:#F4E6B8;
  --danger:#D94A4A;
  --success:#2E9C61;
}
body{
  background:#fff;
  color:var(--ink);
  font-family:'Inter',sans-serif;
}
h1,h2,h3{
  font-family:'Inter',sans-serif;
  text-transform:none;
  letter-spacing:-.025em;
}
.visually-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

/* Header */
.site-header{
  position:sticky;
  top:0;
  z-index:80;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(17,17,17,.06);
}
.site-nav{
  max-width:1510px;
  min-height:72px;
  margin:0 auto;
  padding:0 30px;
  display:grid;
  grid-template-columns:240px minmax(380px,1fr) minmax(520px,610px);
  align-items:center;
  gap:24px;
}
.brand.brand-image{
  display:inline-flex;
  align-items:center;
  width:max-content;
  padding:0;
}
.brand-image img{
  width:158px;
  height:34px;
  object-fit:contain;
  object-position:left center;
}
.brand-wordmark{
  display:inline-flex;
  align-items:center;
  width:max-content;
  color:#111;
  font-family:'Inter',sans-serif;
  font-size:46px;
  line-height:1;
  font-weight:800;
  letter-spacing:.08em;
}
.brand-official{
  display:inline-flex;
  align-items:center;
  width:180px;
  height:44px;
  padding:0;
  flex:0 0 auto;
}
.brand-official img{
  display:block;
  width:180px;
  height:42px;
  object-fit:contain;
  object-position:left center;
}
.nav-links{
  display:flex;
  justify-content:center;
  gap:36px;
  align-items:center;
}
.nav-links a{
  position:relative;
  color:#111;
  font-size:14px;
  font-weight:600;
  white-space:nowrap;
  padding:26px 0 24px;
}
.nav-links a::after{
  content:"";
  position:absolute;
  left:50%; right:50%; bottom:17px;
  height:1.5px;
  background:#111;
  transition:left .2s ease,right .2s ease;
}
.nav-links a:hover::after{left:0;right:0;}
.nav-tools{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:12px;
}
.nav-search{
  height:42px;
  flex:1;
  min-width:280px;
  max-width:395px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:0 14px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#FAFAFA;
}
.nav-search button{
  width:25px;
  height:25px;
  flex:0 0 auto;
  color:#777;
  display:grid;
  place-items:center;
}
.nav-search svg,.nav-icon svg,.mobile-bottom-nav svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.nav-search input{
  border:0;
  outline:0!important;
  background:transparent;
  padding:0;
  font-size:12.5px;
  color:#222;
  height:100%;
}
.nav-search input::placeholder{color:#9A9A9A;}
.nav-icon{
  position:relative;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  color:#111;
  transition:background .2s ease;
}
.nav-icon:hover{background:#F4F4F3;}
.cart-badge{
  width:38px;
  height:38px;
  border:0;
  font-size:inherit;
}
.cart-badge span#cart-count{
  position:absolute;
  top:0;
  right:0;
  min-width:16px;
  height:16px;
  padding:0 4px;
  border-radius:8px;
  background:#111;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:9px;
  font-weight:700;
}
.profile-wrap{position:relative;}
.profile-menu{
  position:absolute;
  top:48px;
  right:0;
  width:210px;
  padding:9px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  box-shadow:0 18px 50px rgba(0,0,0,.12);
}
.profile-menu[hidden]{display:none;}
.profile-menu-name{
  padding:9px 10px 10px;
  font-size:12px;
  color:var(--steel);
  border-bottom:1px solid var(--line);
  margin-bottom:5px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.profile-menu a,.profile-menu button{
  width:100%;
  display:block;
  text-align:left;
  padding:10px 11px;
  border-radius:10px;
  font-size:13.5px;
  font-weight:500;
}
.profile-menu a:hover,.profile-menu button:hover{background:#F5F5F3;}
.mobile-search-row,.mobile-quick-links,.mobile-bottom-nav{display:none;}
.keng-support-chat{
  position:fixed;right:18px;bottom:18px;z-index:90;
  min-height:46px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;
  background:#14171c;color:#fff;border-radius:999px;text-decoration:none;font-size:13px;font-weight:700;
  box-shadow:0 8px 25px #0004;
}

/* Homepage */
.home-shell{
  width:min(1510px,calc(100% - 60px));
  margin-left:auto;
  margin-right:auto;
}
.hero-wrap{padding-top:16px;}
.hero-stage{width:100%;}
.hero-card{
  min-height:318px;
  position:relative;
  overflow:hidden;
  border-radius:28px;
  border:1px solid rgba(17,17,17,.045);
  background:linear-gradient(107deg,#F9F8F5 0%,#F4F2EE 50%,#ECE9E3 100%);
}
.hero-fallback{
  display:grid;
  grid-template-columns:44% 56%;
}
.hero-copy{
  position:relative;
  z-index:3;
  align-self:stretch;
  padding:38px 34px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.hero-kicker{
  display:block;
  margin-bottom:13px;
  color:#B18B36;
  font-size:13px;
  font-weight:700;
  letter-spacing:.015em;
}
.hero-copy h1{
  max-width:520px;
  margin:0 0 10px;
  font-size:clamp(34px,3.1vw,50px);
  line-height:1.03;
  font-weight:650;
  letter-spacing:-.045em;
}
.hero-copy p{
  max-width:460px;
  color:#666;
  font-size:13.5px;
  line-height:1.6;
  margin-bottom:23px;
}
.hero-button{
  width:max-content;
  min-height:42px;
  padding:0 20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  background:#111;
  color:#fff;
  border-radius:7px;
  font-size:13px;
  font-weight:600;
  transition:transform .18s ease,opacity .18s ease;
}
.hero-button:hover{transform:translateY(-1px);opacity:.92;}
.hero-pager{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:27px;
  font-size:12px;
}
.pager-arrow{
  width:38px;height:38px;
  display:grid;place-items:center;
  background:rgba(255,255,255,.8);
  border-radius:8px;
  font-size:17px;
  margin-right:8px;
}
.hero-pager .pager-arrow:last-child{margin-left:14px;margin-right:0;}
.pager-muted{color:#999;}
.hero-art{
  position:relative;
  min-height:318px;
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
}
.hero-art::before{
  content:"";
  position:absolute;
  left:-14%;top:0;bottom:0;width:40%;
  background:linear-gradient(90deg,#F5F3EF 25%,rgba(245,243,239,0));
  z-index:1;
}
.hero-art img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center right;
}
.dynamic-hero{min-height:318px;background:#EFEDE8;}
.dynamic-hero-image{position:absolute;inset:0;}
.dynamic-hero-image img{width:100%;height:100%;object-fit:cover;}
.dynamic-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(250,249,247,.96) 0%,rgba(250,249,247,.82) 32%,rgba(250,249,247,.08) 68%);}
.hero-copy-on-image{max-width:620px;min-height:318px;}

.home-section{padding-top:22px;}
.section-heading-row{
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-bottom:10px;
}
.section-heading-row h2{
  font-size:18px;
  font-weight:700;
  letter-spacing:-.025em;
}
.view-all{
  color:#222;
  font-size:12.5px;
  font-weight:500;
  white-space:nowrap;
}
.view-all span{font-size:18px;vertical-align:-1px;margin-left:3px;}
.section-note{margin-top:3px;font-size:12px;color:var(--steel);}

.brand-strip{
  display:flex;
  gap:10px;
  overflow-x:auto;
  scrollbar-width:none;
}
.brand-strip::-webkit-scrollbar{display:none;}
.brand-chip{
  min-width:140px;
  height:86px;
  padding:0 18px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  text-decoration:none;
  font-size:16px;
  font-weight:800;
  letter-spacing:-.035em;
  color:#111;
}
.brand-chip:nth-child(3){font-size:21px;text-transform:lowercase;}
.brand-chip:nth-child(4){letter-spacing:.03em;}
.brand-chip:nth-child(6){font-style:italic;font-size:19px;}
.brand-chip:nth-child(7){font-size:12px;letter-spacing:.1em;}
.brand-chip:nth-child(8){font-family:Georgia,serif;font-size:21px;font-weight:700;}

.promotion-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.promo-card{
  min-height:88px;
  position:relative;
  display:grid;
  grid-template-columns:114px 1fr 54px;
  align-items:center;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:13px;
  background:#FAFAF9;
  transition:transform .18s ease,border-color .18s ease;
}
.promo-card:hover{transform:translateY(-2px);border-color:var(--line-strong);}
.promo-visual{
  align-self:stretch;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#F2F2F0,#E8E7E3);
  color:#AAA;
  font-size:31px;
  font-weight:800;
  letter-spacing:-.06em;
}
.promo-visual-2{background:linear-gradient(135deg,#EEEAE3,#DFD9CF);}
.promo-visual-3{background:linear-gradient(135deg,#E8E8E6,#DADBD8);}
.promo-visual-4{background:linear-gradient(135deg,#F1EFEA,#E7E4DC);}
.promo-copy{min-width:0;padding:12px 10px;display:flex;flex-direction:column;gap:4px;}
.promo-copy strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.promo-copy small{font-size:10.5px;color:#777;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.promo-more{font-size:11px;font-weight:600;margin-top:3px;}
.promo-discount{
  width:44px;height:44px;
  display:grid;place-items:center;
  margin-right:10px;
  border-radius:50%;
  background:var(--gold-soft);
  color:#362E19;
  font-size:10.5px;
  font-weight:800;
}
.promo-skeleton,.product-skeleton{
  min-height:88px;
  border-radius:13px;
  background:linear-gradient(90deg,#F5F5F3 20%,#FBFBFA 50%,#F5F5F3 80%);
  background-size:200% 100%;
  animation:keng-shimmer 1.2s infinite linear;
}
@keyframes keng-shimmer{to{background-position:-200% 0;}}

.product-section{padding-bottom:24px;}
.home-product-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
}
.home-product-card.card{
  min-width:0;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  overflow:hidden;
  box-shadow:none;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.home-product-card:hover{
  transform:translateY(-2px);
  border-color:var(--line-strong);
  box-shadow:0 13px 34px rgba(0,0,0,.055);
}
.home-product-card .card-media{
  aspect-ratio:1/1;
  background:#FAFAF9;
}
.home-product-card .card-media img{
  width:100%;height:100%;
  padding:14px;
  object-fit:contain;
  transition:transform .25s ease;
}
.home-product-card:hover .card-media img{transform:scale(1.025);}
.sale-pill{
  position:absolute;
  z-index:2;
  top:10px;left:10px;
  min-width:38px;
  min-height:24px;
  padding:0 8px;
  display:flex;align-items:center;justify-content:center;
  border-radius:999px;
  background:var(--gold-soft);
  color:#292314;
  font-size:10px;
  font-weight:700;
}
.heart-mark{
  position:absolute;
  z-index:2;
  top:10px;right:11px;
  font-size:23px;
  line-height:1;
  font-weight:300;
  color:#777;
  border:0;
  background:transparent;
  padding:0;
  cursor:pointer;
}
.home-product-card .card-body{padding:11px 12px 13px;gap:7px;}
.home-product-card .model{
  min-height:34px;
  font-size:12px;
  font-weight:500;
  line-height:1.4;
  letter-spacing:-.01em;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.home-product-card .price-row{
  min-height:37px;
  margin:0;
  padding:0;
  border:0;
  align-items:flex-end;
}
.home-product-card .price{
  display:flex;
  flex-direction:column;
  font-family:'Inter',sans-serif;
  font-size:13px;
  font-weight:800;
  line-height:1.3;
}
.home-product-card .price .old{
  order:2;
  margin:2px 0 0;
  font-size:9.5px;
  color:#A1A1A1;
  font-weight:400;
}
.bag-mark{
  width:32px;height:32px;
  border-radius:8px;
  display:grid;place-items:center;
  background:#111;
  color:#fff;
  font-size:16px;
}
.product-skeleton{min-height:280px;}
.soft-empty{
  grid-column:1/-1;
  min-height:90px;
  border:1px dashed var(--line-strong);
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#888;
  font-size:13px;
  background:#FAFAF9;
}
.error-empty{color:var(--danger);}

.trust-strip{
  margin-top:10px;
  margin-bottom:24px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.trust-strip>div{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:18px;
  border-right:1px solid var(--line);
}
.trust-strip>div:last-child{border-right:0;}
.trust-strip strong{font-family:'JetBrains Mono',monospace;font-size:11px;color:#B28C37;}
.trust-strip span{font-size:12.5px;font-weight:600;}

/* Shared storefront pages */
.section{padding:50px 6vw;}
.container{max-width:1280px;}
.btn{border-radius:10px;min-height:44px;padding:0 20px;font-size:13.5px;}
.btn-primary{background:#111;color:#fff;}
.btn-blaze{background:var(--c-blaze);color:#fff;}
.btn-ghost{border:1px solid var(--line-strong);color:#111;background:#fff;}
input,select,textarea{border-radius:10px;background:#fff;border-color:var(--line-strong);}
.auth-card,.summary-card,.gallery-main{border-radius:18px;box-shadow:0 14px 50px rgba(0,0,0,.035);}
.product-layout{max-width:1280px;margin:0 auto;padding:46px 6vw 80px;gap:56px;}
.product-info h1{font-family:'Inter',sans-serif;font-weight:700;letter-spacing:-.04em;text-transform:none;}
.product-price,.price{font-family:'Inter',sans-serif;}
.catalog-grid:not(.home-product-grid){grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;}
.catalog-grid:not(.home-product-grid) .card{border-radius:14px;}
.catalog-grid:not(.home-product-grid) .card-media{background:#FAFAF9;}
.catalog-grid:not(.home-product-grid) .card-media img{object-fit:contain;padding:12px;}
.catalog-grid:not(.home-product-grid) .card-body .model{font-size:16px;}
.catalog-grid:not(.home-product-grid) .order-btn{background:#111!important;border-radius:8px;}

/* Footer */
footer.site-footer{
  border-top:1px solid var(--line);
  padding:26px 30px calc(26px + env(safe-area-inset-bottom));
  color:#777;
  font-family:'Inter',sans-serif;
  background:#fff;
}
.footer-inner{
  max-width:1510px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:22px;
}
.footer-logo{width:110px;height:24px;object-fit:contain;object-position:left center;}
.footer-inner>span{font-size:11.5px;}
.footer-links{justify-self:end;display:flex;gap:18px;font-size:11.5px;}

@media (max-width:1320px){
  .site-nav{grid-template-columns:190px 1fr minmax(410px,520px);}
  .nav-links{gap:22px;}
  .home-product-grid{grid-template-columns:repeat(5,minmax(0,1fr));}
  .brand-strip{grid-template-columns:repeat(8,150px);}
}
@media (max-width:1100px){
  .site-nav{grid-template-columns:175px 1fr auto;}
  .nav-search{display:none;}
  .mobile-search-row{display:block;padding:0 24px 10px;}
  .mobile-search{display:flex;max-width:none;min-width:0;width:100%;}
  .promotion-grid{grid-template-columns:1fr 1fr;}
  .home-product-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
  .catalog-grid:not(.home-product-grid){grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:820px){
  body{padding-bottom:70px;}
  .site-header{position:sticky;}
  .site-header .site-nav,.site-header .mobile-quick-links,.site-header .mobile-search-row{transition:min-height .22s ease,padding .22s ease,opacity .18s ease;}
  .site-header.search-compact .mobile-quick-links{height:0;padding-top:0;padding-bottom:0;overflow:hidden;opacity:0;}
  .site-header.search-compact .mobile-search-row{padding-top:6px;padding-bottom:6px;}
  .site-header.search-compact .mobile-search{height:34px;width:64%;margin-left:auto;box-shadow:0 5px 18px rgba(0,0,0,.09);}
  .site-nav{
    min-height:58px;
    padding:0 18px;
    display:flex;
    justify-content:space-between;
  }
  .brand-image img{width:124px;height:28px;}
  .brand-wordmark{font-size:38px;letter-spacing:.07em;}
  .brand-official{width:174px;height:42px;}
  .brand-official img{width:174px;height:40px;}
  .nav-links{display:none;}
  .nav-tools{gap:4px;}
  .desktop-only-icon{display:none;}
  .nav-icon{width:35px;height:35px;}
  .nav-search{height:40px;background:#F7F7F6;}
  .mobile-search-row{padding:0 18px 9px;}
  .mobile-quick-links{
    display:flex;
    gap:24px;
    overflow-x:auto;
    padding:0 18px 10px;
    scrollbar-width:none;
  }
  .mobile-quick-links::-webkit-scrollbar{display:none;}
  .mobile-quick-links a{font-size:12px;font-weight:600;white-space:nowrap;}
  .profile-menu{right:-2px;}
  .mobile-bottom-nav{
    position:fixed;
    z-index:100;
    left:0;right:0;bottom:0;
    height:calc(62px + env(safe-area-inset-bottom));
    padding:7px 12px env(safe-area-inset-bottom);
    display:grid;
    grid-template-columns:repeat(5,1fr);
    background:rgba(255,255,255,.97);
    border-top:1px solid var(--line);
    backdrop-filter:blur(16px);
  }
  .mobile-bottom-nav a{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    font-size:9.5px;
    font-weight:500;
    color:#333;
    min-height:48px;
  }
  .mobile-bottom-nav svg{width:20px;height:20px;}
  .home-shell{width:calc(100% - 28px);}
  .hero-wrap{padding-top:10px;}
  .hero-card{min-height:350px;border-radius:20px;}
  .hero-fallback{display:block;}
  .hero-copy{padding:25px 22px 18px;justify-content:flex-start;min-height:350px;}
  .hero-copy h1{font-size:34px;max-width:340px;}
  .hero-copy p{font-size:12.5px;max-width:320px;margin-bottom:18px;}
  .hero-button{min-height:39px;padding:0 15px;font-size:12px;gap:18px;}
  .hero-pager{display:none;}
  .hero-art{
    position:absolute;
    right:-21%;
    bottom:0;
    width:88%;
    height:54%;
    min-height:0;
    opacity:.98;
  }
  .hero-art::before{left:-30%;width:52%;}
  .dynamic-hero,.hero-copy-on-image{min-height:350px;}
  .dynamic-hero-overlay{background:linear-gradient(180deg,rgba(250,249,247,.94) 0%,rgba(250,249,247,.7) 47%,rgba(250,249,247,.05) 78%);}
  .home-section{padding-top:20px;}
  .section-heading-row{margin-bottom:9px;}
  .section-heading-row h2{font-size:17px;}
  .view-all{font-size:11px;}
  .brand-strip{grid-template-columns:repeat(8,132px);gap:8px;}
  .brand-chip{min-width:132px;height:57px;font-size:14px;}
  .promotion-grid{
    display:flex;
    overflow-x:auto;
    gap:10px;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }
  .promotion-grid::-webkit-scrollbar{display:none;}
  .promo-card{min-width:300px;scroll-snap-align:start;}
  .promo-skeleton{min-width:300px;}
  .home-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
  .product-skeleton{min-height:245px;}
  .home-product-card .card-media img{padding:10px;}
  .home-product-card .card-body{padding:10px;}
  .home-product-card .model{font-size:11.5px;min-height:32px;}
  .home-product-card .price{font-size:12px;}
  .bag-mark{width:29px;height:29px;}
  .keng-support-chat{display:flex!important;right:12px;bottom:calc(76px + env(safe-area-inset-bottom));width:48px;height:48px;min-height:48px;padding:0;font-size:0;z-index:110;}
  .keng-support-chat::before{content:"💬";font-size:19px;}
  .trust-strip{grid-template-columns:1fr;margin-bottom:8px;}
  .trust-strip>div{justify-content:flex-start;border-right:0;border-bottom:1px solid var(--line);padding:13px 5px;}
  .trust-strip>div:last-child{border-bottom:0;}
  .footer-inner{grid-template-columns:1fr;text-align:center;justify-items:center;}
  .footer-logo{object-position:center;}
  .footer-links{justify-self:center;}
  .catalog-grid:not(.home-product-grid){grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;gap:10px;}
  .product-layout{grid-template-columns:1fr;padding:28px 18px 70px;gap:28px;}
  .checkout-grid{grid-template-columns:1fr;padding:28px 18px 70px;gap:28px;}
  .auth-wrap{margin:34px auto;padding:0 18px;}
  .auth-card{padding:26px 20px;}
  footer.site-footer{padding-bottom:88px;}
}
@media (max-width:420px){
  .home-shell{width:calc(100% - 22px);}
  .site-nav{padding:0 13px;}
  .mobile-search-row,.mobile-quick-links{padding-left:13px;padding-right:13px;}
  .hero-card{min-height:330px;}
  .hero-copy{padding:22px 18px;min-height:330px;}
  .hero-copy h1{font-size:30px;}
  .hero-art{width:96%;right:-28%;height:51%;}
  .promo-card{min-width:286px;grid-template-columns:96px 1fr 50px;}
  .brand-strip{grid-template-columns:repeat(8,120px);}
  .brand-chip{min-width:120px;height:54px;}
}
