.zbtm-wrap{--zbtm-gap:12px;position:relative}
.zbtm-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;padding:0 2px}
.zbtm-title{font-weight:800;font-size:16px;color:#222}

.zbtm-layout{display:flex;gap:14px}

/* left tabs */
.zbtm-tabs{width:210px;flex:0 0 210px;display:flex;flex-direction:column;gap:10px}
.zbtm-tab{display:flex;align-items:center;gap:10px;width:100%;padding:12px;border:0;border-radius:12px;background:#fff;cursor:pointer;box-shadow:0 1px 6px rgba(0,0,0,.04)}
.zbtm-tab.is-active{background:#0aa3ff;color:#fff}
.zbtm-tab:focus{outline:none}
.zbtm-tab-text{font-weight:600;line-height:1.2;flex:1;min-width:0;text-align:left}
.zbtm-tab-arrow{opacity:.8}
.zbtm-tab.is-active .zbtm-tab-arrow{opacity:1}

.zbtm-ico{width:40px;height:40px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:rgba(10,163,255,.12);flex:0 0 40px}
.zbtm-tab.is-active .zbtm-ico{background:rgba(255,255,255,.22)}
.zbtm-emoji{font-size:20px}
.zbtm-fa i{font-size:18px}
.zbtm-empty{opacity:.75}

/* right panel */
.zbtm-panel{flex:1;min-width:0}
.zbtm-grid{display:grid;gap:14px;grid-template-columns:repeat(var(--zbtm-cols,4),minmax(0,1fr))}

/* product horizontal mini card */
.zbtm-card{display:flex;align-items:center;gap:12px;padding:14px;border-radius:14px;background:#fff;box-shadow:0 1px 10px rgba(0,0,0,.05);text-decoration:none}
.zbtm-card:hover{transform:translateY(-1px)}
.zbtm-card-ico{width:54px;height:54px;border-radius:999px;background:rgba(10,163,255,.15);display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 54px}
.zbtm-card-ico img{width:100%;height:100%;object-fit:cover;display:block}
.zbtm-card-body{display:flex;flex-direction:column;gap:8px;min-width:0}
.zbtm-card-title{font-weight:700;color:inherit;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.zbtm-card-price{font-weight:800}
.zbtm-card-price .price{font-weight:800}

.zbtm-more{margin-top:12px;text-align:right}

.zbtm-wrap.is-loading .zbtm-panel-inner{opacity:.85;pointer-events:none}

/* skeleton */
.zbtm-skel{display:grid;gap:12px}
.zbtm-skel-row{height:82px;border-radius:14px;background:linear-gradient(90deg,rgba(0,0,0,.04),rgba(0,0,0,.02),rgba(0,0,0,.04));background-size:200% 100%;animation:zbtm-shimmer 1.1s infinite}
@keyframes zbtm-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* responsive */
@media (max-width:768px){
  .zbtm-layout{flex-direction:column}
  /* tabs like mobile screenshot: text only, horizontal, underline active */
  .zbtm-tabs{width:100%;flex:0 0 auto;flex-direction:row;gap:14px;overflow-x:auto;overflow-y:hidden;padding:6px 10px 10px;border-radius:12px;background:transparent;box-shadow:none;position:relative}
  .zbtm-tabs::-webkit-scrollbar{display:none}
  .zbtm-tab{flex:0 0 auto;gap:0;padding:8px 0;border-radius:0;background:transparent;box-shadow:none;position:relative}
  .zbtm-tab:hover{transform:none}
  .zbtm-ico{display:none}
  .zbtm-tab-arrow{display:none}
  /* make each tab shorter to hint there are more */
  /* make each tab compact so users can see multiple categories on one screen */
  .zbtm-tab-text{font-weight:800;white-space:nowrap;max-width:5.5em;overflow:hidden;text-overflow:ellipsis;display:block;font-size:15px}
  .zbtm-tab.is-active{background:transparent;color:inherit}
  .zbtm-tab.is-active::after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:4px;border-radius:4px;background:#ff2d2d}
  /* subtle swipe hint */
  .zbtm-tabs::after{content:'›';position:absolute;right:0;top:0;bottom:0;width:28px;display:flex;align-items:center;justify-content:center;background:linear-gradient(to right,rgba(255,255,255,0),rgba(255,255,255,.96));color:rgba(0,0,0,.28);pointer-events:none;font-size:18px}
  .zbtm-grid{grid-template-columns:1fr}
}

.zbtm-img img{width:100%;height:100%;object-fit:cover;border-radius:999px;display:block}
