/* =========================================================
   archive-v2.css — 列表页新版式（参考 products-demo-v5.1）
   工艺 tab + 平行入口 + 左栏属性复选 + 4 列卡 + 虚线加入按钮。
   文案沿用站内英文体系；单品页主体未改动。
   通过 functions.php 单独 enqueue，避免覆盖被 Hostinger 锁的已有 CSS。
   ========================================================= */
.prod-card{ background:#fff; border:1px solid var(--boyue-line); border-radius:14px; overflow:hidden; transition:.15s; display:flex; flex-direction:column; }
.prod-card:hover{ transform:translateY(-3px); box-shadow:0 8px 22px rgba(180,140,110,.15); border-color:var(--boyue-gold); }
.prod-img{ position:relative; display:block; }
.prod-img img{ width:100%; height:auto; display:block; }
.prod-body{ padding:12px 13px 14px; display:flex; flex-direction:column; flex:1; }
.prod-cat{ font-size:11px; color:var(--boyue-sub); margin-bottom:4px; }
.prod-name{ font-size:14px; line-height:1.3; color:var(--boyue-ink); margin-bottom:6px; }
.prod-name:hover{ color:var(--boyue-accent); }
.prod-spec{ font-size:11px; color:var(--boyue-sub); margin:2px 0 10px; line-height:1.5; }
.prod-foot{ margin-top:auto; }
.prod-acts{ display:flex; gap:8px; align-items:center; justify-content:space-between; }
.mini{ display:inline-flex; align-items:center; justify-content:center; min-width:34px; height:34px; padding:0 10px; border-radius:9px; border:1px solid var(--boyue-line); background:#fff; color:var(--boyue-ink); font-size:14px; cursor:pointer; text-decoration:none; transition:.15s; }
.mini:hover{ border-color:var(--boyue-gold); color:var(--boyue-rose); }
.mini.dashed{ border:1px solid var(--boyue-rose); background:var(--boyue-rose); color:#fff; font-size:13px; flex:1; }
.mini.dashed:hover{ filter:brightness(0.92); color:#fff; }
.prod-badge{ position:absolute; top:8px; left:8px; z-index:2; font-size:10px; background:rgba(255,255,255,.88); border:1px solid var(--boyue-line); color:var(--boyue-sub); padding:2px 8px; border-radius:10px; }
.prod-stock{ position:absolute; top:8px; right:8px; z-index:2; font-size:10px; background:var(--boyue-ink); color:#fff; padding:2px 8px; border-radius:10px; }
.prod-shape-svg{ position:absolute; right:8px; bottom:8px; z-index:2; width:30px; height:45px; opacity:.85; pointer-events:none; }
.by-craft-tabs{ display:flex; gap:8px; flex-wrap:nowrap; overflow-x:auto; justify-content:center; margin:22px 0 0; padding-bottom:6px; scrollbar-width:thin; }
/* Center alignment on wide screens only. With overflow-x:auto, flex centering
   clips the first pills on narrow screens and breaks horizontal scrolling. */
@media screen and (max-width: 980px) {
  .by-craft-tabs{ justify-content:flex-start; }
}
.by-craft-tabs::-webkit-scrollbar{ height:6px; }
.by-craft-tabs::-webkit-scrollbar-thumb{ background:var(--boyue-line); border-radius:3px; }
.by-tab{ flex:0 0 auto; white-space:nowrap; font-size:13px; padding:7px 15px; border:1px solid var(--boyue-line); background:#fff; border-radius:22px; color:var(--boyue-ink); transition:.15s; }
.by-tab:hover{ border-color:var(--boyue-gold); }
.by-tab.is-active{ background:var(--boyue-rose); color:#fff; border-color:var(--boyue-rose); }
.by-parallel{ display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin:12px 0 0; }
.by-parallel .plabel{ font-size:12px; color:var(--boyue-sub); }
.by-pchip{ font-size:13px; padding:7px 15px; border:1px dashed var(--boyue-gold); background:#fff7ec; border-radius:20px; color:var(--boyue-ink); transition:.15s; }
.by-pchip:hover{ background:#fdeecf; }
.by-pchip.is-active{ background:var(--boyue-gold); color:#fff; border-style:solid; }
.by-shop-layout{ display:flex; gap:0; align-items:flex-start; margin-top:22px; }
.by-shop-filters{ width:236px; flex:none; padding:6px 18px 20px; border-right:1px solid var(--boyue-line); position:sticky; top:110px; align-self:flex-start; }
.by-shop-filters h4{ font-size:11px; color:var(--boyue-sub); text-transform:uppercase; letter-spacing:1px; margin:18px 0 8px; }
.by-shop-filters h4:first-child{ margin-top:0; }
.by-facet-group{ display:flex; flex-direction:column; }
.by-facet-empty{ font-size:12px; color:var(--boyue-sub); opacity:.85; }
.opt{ display:flex; align-items:center; gap:8px; font-size:13px; padding:4px 0; cursor:pointer; color:var(--boyue-ink); }
.opt input{ accent-color:var(--boyue-rose); width:15px; height:15px; }
.opt .ct{ margin-left:auto; font-size:11px; color:var(--boyue-sub); }
.by-facet-clear{ display:inline-block; margin-top:16px; font-size:12px; color:var(--boyue-rose); text-decoration:underline; }
.by-shop-main{ flex:1; min-width:0; padding-left:26px; }
.by-shop-bar{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:18px; }
.by-shop-count{ font-size:13px; color:var(--boyue-sub); }
.by-shop-wrap .prod-grid{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:18px; }
@media (max-width:980px){ .by-shop-wrap .prod-grid{ grid-template-columns:repeat(3, minmax(0,1fr)); } }
@media (max-width:820px){ .by-shop-layout{ flex-direction:column; } .by-shop-filters{ width:100%; border-right:none; border-bottom:1px solid var(--boyue-line); position:static; padding:4px 0 16px; } .by-facet-group{ flex-direction:row; flex-wrap:wrap; gap:10px 18px; } .by-shop-main{ padding-left:0; width:100%; } .by-shop-wrap .prod-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:14px; } }
@media (max-width:460px){ .by-shop-wrap .prod-grid{ gap:10px; } }

/* Specialty Categories — standalone full-width section below the catalog */
.by-spec-section{ margin:56px 0 10px; padding:34px 0 8px; border-top:1px solid var(--boyue-line); }
.by-spec-section h2{ font-size:22px; margin:0 0 18px; color:var(--boyue-ink); }
.by-spec-grid{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:16px; }
.by-spec-card{ display:flex; flex-direction:column; justify-content:space-between; min-height:108px; padding:18px; border:1px solid var(--boyue-line); border-radius:12px; background:#fffdf9; text-decoration:none; transition:.15s; }
.by-spec-card:hover{ border-color:var(--boyue-gold); background:#fff7ec; transform:translateY(-2px); }
.by-spec-name{ font-size:15px; line-height:1.35; color:var(--boyue-ink); }
.by-spec-go{ margin-top:14px; font-size:12px; color:var(--boyue-rose); }
@media screen and (max-width:980px){ .by-spec-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media screen and (max-width:460px){ .by-spec-grid{ grid-template-columns:1fr; } }
