/* 产品列表页样式（侧栏覆盖 + 分页等） */
.plist-side{
  padding:0;
  border:none;
  background:transparent;
  box-shadow:none;
  margin-top:35px;
  /* sticky 侧栏过高时 IntersectionObserver 难触发，改用进入页动画 */
  animation:plistSideIn .7s cubic-bezier(.2,.7,.2,1) both;
}
@keyframes plistSideIn{
  from{opacity:0; transform:translateY(24px);}
  to{opacity:1; transform:none;}
}
@media (prefers-reduced-motion:reduce){
  .plist-side{animation:none;}
}
.plist-side h3{
  font-family:'Barlow Condensed',sans-serif;
  font-size:13px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#9a9a9a;
  margin:0 0 18px;
  padding-bottom:14px;
  border-bottom:1px solid #e8e8e8;
}
.side-list{
  list-style:none;
  margin:0;
  padding:0;
}
.side-item{
  border-bottom:1px solid #ececec;
}
.side-item:last-child{
  border-bottom:none;
}
.side-item.open{
  border-bottom:none;
}
.side-item.open + .side-item{
  border-top:1px solid #ececec;
}
.side-btn{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background:none;
  border:none;
  border-radius:0;
  box-shadow:none;
  padding:16px 4px 16px 12px;
  margin:0;
  font-family:'Inter',sans-serif;
  font-size:14.5px;
  font-weight:500;
  line-height:1.3;
  color:#4a4a4a;
  text-align:left;
  cursor:pointer;
  position:relative;
  transition:color .2s ease;
}
/* 覆盖全站 style.css 的 top/bottom/scaleY，避免指示条与分类文字错位 */
.plist-side .side-btn::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  bottom:auto;
  width:3px;
  height:0;
  background:var(--rust);
  border-radius:2px;
  transform:translateY(-50%);
  transition:height .2s ease;
}
.side-btn:hover{
  color:var(--rust);
}
.side-btn.active{
  color:#1a1a1a;
  font-weight:600;
}
.plist-side .side-btn.active::before{
  height:18px;
  transform:translateY(-50%);
}
.side-name{
  flex:1;
}
.side-meta{
  display:flex;
  align-items:center;
  gap:10px;
  flex-shrink:0;
}
.side-count{
  font-family:'Inter',sans-serif;
  font-size:12px;
  font-weight:400;
  color:#b3b3b3;
  background:none;
  padding:0;
}
.side-btn.active .side-count{
  color:var(--rust);
}
.side-chev{
  display:inline-block;
  font-size:11px;
  color:#b3b3b3;
  transition:transform .25s ease;
}
.side-toggle[aria-expanded="true"] .side-chev{
  transform:rotate(180deg);
}
.side-sub{
  list-style:none;
  margin:0 0 6px;
  padding:0 0 4px 18px;
}
.side-sub li{
  border-top:1px solid #f2f2f2;
}
.side-sub li:first-child{
  border-top:none;
}
.side-sub li:last-child{
  border-bottom:none;
}
.side-sub a,
.side-sub button{
  display:block;
  width:100%;
  background:none;
  border:none;
  border-radius:0;
  box-shadow:none;
  text-align:left;
  padding:10px 2px;
  margin:0;
  font-family:'Inter',sans-serif;
  font-size:13px;
  font-weight:400;
  color:#8a8a8a;
  cursor:pointer;
  transition:color .2s ease, padding-left .2s ease;
}
.side-sub a:hover,
.side-sub button:hover{
  color:var(--rust);
  padding-left:4px;
}
.side-sub a.active,
.side-sub button.active{
  color:var(--rust);
  font-weight:500;
}
/* ===== 垂直居中修正 =====
   注意：全站样式表 style.css 里用的是 `.side-sub li a`（权重 0-1-2），
   比 `.side-sub a`（0-1-1）高，所以这里统一加 `.plist-side` 前缀提高权重，确保生效。 */
.plist-side .side-btn{
  min-height:56px;
  padding:0 0px 0 12px;
  align-items:center;
  line-height:1.35;
  top:auto;
}
.plist-side .side-btn:hover,
.plist-side .side-btn.active{
  padding-left:12px;
}
.plist-side .side-sub{
  margin:0;
  padding:0 0 8px 18px;
}
/* 产品名称行：整行定高 + flex 居中（上下 0 内距，杜绝行高留白造成的偏移） */
.plist-side .side-sub li a,
.plist-side .side-sub li button{
  display:flex;
  align-items:center;
  min-height:40px;
  padding:0 2px;
  margin:0;
  font-size:13px;
  font-weight:400;
  line-height:1.35;
  color:#8a8a8a;
}
.plist-side .side-sub li a:hover,
.plist-side .side-sub li button:hover{
  color:var(--rust);
  padding:0 2px 0 4px;
}
.plist-side .side-sub li a.active,
.plist-side .side-sub li button.active{
  color:var(--rust);
  font-weight:500;
}
/* 隐藏全站样式表里的装饰小横线 */
.plist-side .side-sub li a::before,
.plist-side .side-sub li button::before{
  content:none;
}

/* Pagination：sc-grid 下方、sc-note 上方，主题色 --rust */
.kaliebo-products .pagination{
  margin:36px 0 0;
  padding:8px 0 0;
}
.kaliebo-products .pagination + .sc-note{
  margin-top:34px;
}
.kaliebo-products .pagination .page-numbers{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  list-style:none;
  margin:0;
  padding:0;
  justify-content:flex-start;
  align-items:center;
}
.kaliebo-products .pagination .page-numbers li{margin:0;}
.kaliebo-products .pagination .page-numbers a,
.kaliebo-products .pagination .page-numbers span{
  min-width:40px;
  height:40px;
  padding:0 14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--line-dark);
  background:transparent;
  font-family:'Inter',sans-serif;
  font-size:14px;
  font-weight:600;
  color:var(--ink);
  text-decoration:none;
  box-sizing:border-box;
  transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.kaliebo-products .pagination .page-numbers a:hover,
.kaliebo-products .pagination .page-numbers a:focus{
  border-color:var(--rust);
  color:var(--rust);
  background:rgba(29,111,209,.06);
}
.kaliebo-products .pagination .page-numbers .current{
  background:var(--rust);
  border-color:var(--rust);
  color:var(--paper);
}
.kaliebo-products .pagination .page-numbers .dots{
  border-color:transparent;
  color:var(--steel);
  min-width:auto;
  padding:0 6px;
}
.kaliebo-products .pagination .page-numbers .prev,
.kaliebo-products .pagination .page-numbers .next{
  letter-spacing:.02em;
}
.kaliebo-products .sc-grid .prod-card{text-decoration:none;color:inherit;}
.kaliebo-products .catalog-empty{padding:48px 20px;text-align:center;color:var(--steel);border:1px dashed var(--line-dark);grid-column:1/-1;}

/* 手机：侧栏改回竖向折叠，避免横滑芯片把页面撑出屏幕 */
@media (max-width:860px){
  .plist-layout{
    grid-template-columns:minmax(0, 1fr);
    gap:22px;
    width:100%;
    min-width:0;
  }
  .plist-layout > *{min-width:0; width:100%;}
  .plist-side{margin-top:8px;}
  .plist-side .side-list{
    display:block;
    overflow:visible;
    border-top:1px solid #ececec;
    padding-bottom:0;
  }
  .plist-side .side-item,
  .plist-side .side-list > li{
    display:block;
    width:100%;
    flex:none;
    position:static;
    border-bottom:1px solid #ececec;
  }
  .plist-side .side-btn{
    width:100%;
    min-height:48px;
    white-space:normal;
    border:none;
    background:transparent;
    color:#4a4a4a;
    padding:12px 8px 12px 12px;
  }
  .plist-side .side-btn.active{
    background:transparent;
    border:none;
    color:#1a1a1a;
    padding-left:12px;
  }
  .plist-side .side-btn.active .side-count,
  .plist-side .side-btn.active .side-chev{color:var(--rust);}
  .plist-side .side-sub{
    position:static;
    left:auto;
    right:auto;
    top:auto;
    display:none;
    width:auto;
    min-width:0;
    max-height:none;
    margin:0;
    padding:0 0 8px 18px;
    background:transparent;
    border:none;
    box-shadow:none;
    overflow:visible;
  }
  .plist-side .side-item.open .side-sub{
    display:block;
    max-height:none;
    overflow:visible;
  }
  .sc-bar{align-items:flex-start; gap:8px;}
  .sc-label{min-width:0; overflow-wrap:anywhere;}
  .sc-grid{
    grid-template-columns:1fr 1fr;
    gap:12px;
    min-width:0;
  }
  .sc-grid .prod-card{min-width:0;}
  .sc-grid .prod-name,
  .sc-grid .prod-cat{overflow-wrap:anywhere;}
}
@media (max-width:480px){
  .sc-grid{grid-template-columns:2fr 2fr;}
}

