/* =========================================================
   宝锐生物主题 · 产品中心和商城样式（产品列表、产品详情、询价弹窗、页头账户/购物车图标）
   每个页面都加载（页头图标和询价弹窗全站都有），尺寸单位同 main.css。
   ========================================================= */

/* =========================================================
   页头：账户和购物车图标
   ========================================================= */
.hd-tools{display:flex;align-items:center;gap:calc(.04 * var(--r));margin-left:calc(.14 * var(--r))}
.hd-ico{position:relative;display:grid;place-items:center;width:max(27px,calc(.36 * var(--r)));height:max(27px,calc(.36 * var(--r)));border-radius:50%;color:#4a4f57;transition:color .3s,background .3s}
.hd-ico svg{width:max(15px,calc(.2 * var(--r)));height:max(15px,calc(.2 * var(--r)))}
.hd-ico:hover{color:var(--blue);background:#eef4fc}
.hd-cart-n{position:absolute;top:1px;right:0;min-width:17px;height:17px;padding:0 4px;border-radius:99px;background:#e8541e;color:#fff;font-size:11px;line-height:17px;text-align:center;font-family:var(--f-num)}

/* =========================================================
   页面标题栏
   ========================================================= */
.ph{position:relative;color:#fff;overflow:hidden;background:#1d63c8}
.ph-bg{position:absolute;inset:0;background:url(../img/bar-bg.webp) center/cover no-repeat}
.ph-in{position:relative;z-index:1;padding:calc(.44 * var(--r)) 0 calc(.34 * var(--r))}
.ph-title{font-size:max(24px,calc(.4 * var(--r)));font-weight:300;line-height:1.25;letter-spacing:.02em}
.ph-en{margin-top:calc(.06 * var(--r));font-size:max(12px,calc(.15 * var(--r)));letter-spacing:.14em;color:rgba(255,255,255,.62);font-family:"Helvetica Neue",Arial,sans-serif;font-weight:300}
.ph-crumbs{margin-top:calc(.2 * var(--r));font-size:max(13px,calc(.14 * var(--r)));color:rgba(255,255,255,.72)}
.ph-crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:calc(.04 * var(--r)) calc(.06 * var(--r))}
.ph-crumbs li+li::before{content:"/";margin-right:calc(.06 * var(--r));opacity:.5}
.ph-crumbs a:hover,.ph-crumbs [aria-current]{color:#fff}

/* ---------- 产品线分类页：推荐产品海报（2026-10-30 起左右通栏、自动轮播）+ 标题和面包屑 ---------- */
.ph-poster{color:var(--ink);background:#fff;overflow:visible;padding:0 0 calc(.26 * var(--r))}
.ph-poster-box{position:relative;aspect-ratio:2560/747;overflow:hidden;background:#edf6ff}
.ph-poster-slide{position:absolute;inset:0}
.ph-poster-slide a,.ph-poster-img{display:block;height:100%}
.ph-poster-img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.ph-poster-slide a:hover img{transform:scale(1.02)}
.ph-poster-bar{display:flex;align-items:baseline;justify-content:space-between;gap:calc(.16 * var(--r));margin-top:calc(.26 * var(--r))}
.ph-poster .ph-title{font-size:max(22px,calc(.32 * var(--r)));color:#22252b}
.ph-poster .ph-crumbs{margin:0;color:#8a9099}
.ph-poster .ph-crumbs a:hover,.ph-poster .ph-crumbs [aria-current]{color:var(--blue)}
/* 下级分类页（2026-11-10）：不放海报，只有标题和面包屑一行 */
.ph-sub{padding-top:calc(.06 * var(--r))}
@media (max-width:899px){
  .ph-poster{padding:0 0 18px}
  /* 手机上海报很矮，圆点放到海报下面，不压图 */
  .ph-poster-box{overflow:visible;margin-bottom:30px}
  .ph-poster-slide{overflow:hidden}
  .ph-poster .sl-bar{bottom:-26px;padding:0;background:none;backdrop-filter:none;-webkit-backdrop-filter:none}
  .ph-poster .sl-dot{width:8px;height:8px;background:#cfd8e6}
  .ph-poster .sl-dot.is-on{width:26px;background:#cfd8e6}
  .ph-poster .sl-dot i{background:var(--blue-2)}
  .ph-poster .sl-pause{color:#8a93a0}
  .ph-poster-bar{flex-direction:column;gap:6px;margin-top:14px}
}

/* =========================================================
   产品中心布局 + 左侧分类导航（9.16）
   ========================================================= */
.pc-main{background:#f5f7fa}
.pc-layout{display:grid;grid-template-columns:max(250px,calc(3 * var(--r))) minmax(0,1fr);gap:calc(.36 * var(--r));padding:calc(.44 * var(--r)) 0 calc(.8 * var(--r));align-items:start}
.pc-content{min-width:0}
.pc-side{position:sticky;top:calc(var(--hd-h) + 20px)}
.js .pc-side[data-reveal="up"].is-in{transform:none}
.admin-bar .pc-side{top:calc(var(--hd-h) + 52px)}
.pc-search{position:relative;margin-bottom:calc(.14 * var(--r))}
.pc-search input{width:100%;height:max(32px,calc(.42 * var(--r)));border:1px solid #dfe5ee;border-radius:99px;background:#fff;padding:0 max(33px,calc(.44 * var(--r))) 0 calc(.18 * var(--r));font:inherit;font-size:max(13px,calc(.14 * var(--r)));outline:none;transition:border-color .3s,box-shadow .3s}
.pc-search input::placeholder{color:#a9b0ba}
.pc-search input:focus{border-color:var(--blue-2);box-shadow:0 0 0 4px rgba(31,122,216,.12)}
.pc-search button{position:absolute;right:calc(.05 * var(--r));top:50%;transform:translateY(-50%);width:max(24px,calc(.32 * var(--r)));height:max(24px,calc(.32 * var(--r)));display:grid;place-items:center;color:#8a93a0}
.pc-search button svg{width:calc(.16 * var(--r))}
.pc-drawer-btn{display:none}
.pc-cats{display:flex;flex-direction:column;gap:calc(.14 * var(--r));max-height:calc(100vh - var(--hd-h) - 110px);overflow:auto;overscroll-behavior:contain;scrollbar-width:none;margin:calc(-.04 * var(--r));padding:calc(.04 * var(--r)) calc(.04 * var(--r)) calc(.08 * var(--r))}
.pc-cats::-webkit-scrollbar{display:none}
/* 一条产品线一个框 */
.pc-line{flex:none;overflow:hidden;border-radius:12px;background:#fff;box-shadow:0 6px 24px rgba(25,45,85,.07)}
.pc-line-head{position:relative;display:flex;align-items:stretch;gap:calc(.04 * var(--r));padding:0 calc(.1 * var(--r)) 0 0}
.pc-line-head>.pc-tog{align-self:center}
/* 点击热区（2026-11-05）：整行都是链接，内边距放在链接上，只有右边的小箭头是展开按钮 */
.pc-line-link{flex:1;display:flex;align-items:center;gap:calc(.12 * var(--r));min-width:0;padding:calc(.14 * var(--r)) 0 calc(.14 * var(--r)) calc(.16 * var(--r))}
.pc-line-ico{flex:none;width:max(30px,calc(.4 * var(--r)));height:max(30px,calc(.4 * var(--r)));border-radius:50%}
.pc-line-name{display:flex;flex-direction:column;font-size:max(14px,calc(.16 * var(--r)));line-height:1.3;font-weight:700;color:#1d1f24;transition:color .3s}
.pc-line-name{min-width:0}
.pc-line-name small{overflow:hidden;margin-top:2px;font-size:max(10px,calc(.1 * var(--r)));font-weight:500;letter-spacing:.06em;white-space:nowrap;text-overflow:ellipsis;color:#9aa3af}
.pc-line-link:hover .pc-line-name{color:var(--blue-2)}
/* 当前产品线：渐变标题条 + 蓝色描边，放在最上面 */
.pc-line.is-active{box-shadow:0 0 0 1.5px var(--blue-2),0 14px 34px rgba(23,100,189,.16)}
.pc-line.is-active .pc-line-head{padding:0;background:linear-gradient(120deg,#1f7ad8,#1452b0)}
.pc-line.is-active .pc-line-ico{width:max(34px,calc(.46 * var(--r)));height:max(34px,calc(.46 * var(--r)));box-shadow:0 0 0 3px rgba(255,255,255,.35)}
.pc-line.is-active .pc-line-name{font-size:max(16px,calc(.18 * var(--r)));color:#fff}
.pc-line.is-active .pc-line-name small{color:rgba(255,255,255,.7)}
.pc-tree{padding:calc(.06 * var(--r)) 0 calc(.1 * var(--r))}
.pc-line:not(.is-active) .pc-tree{border-top:1px solid #eef1f5}
.js .pc-line:not(.is-open)>.pc-tree{display:none}
.js .pc-line.is-open:not(.is-active)>.pc-tree{animation:panelIn .35s var(--ease)}
.pc-line:not(.is-active).is-open .pc-line-head .pc-tog::before,.pc-line-head .pc-tog[aria-expanded="true"]::before{margin-top:calc(-.03 * var(--r));transform:rotate(45deg)}
/* 其他产品线：合在一个浅色底板里，每条各自一个框 */
.pc-others{display:flex;flex-direction:column;gap:calc(.1 * var(--r));padding:calc(.14 * var(--r));border-radius:14px;background:#e8eef7}
.pc-others-title{padding:0 2px;font-size:max(12px,calc(.13 * var(--r)));font-weight:600;letter-spacing:.04em;color:#6b7f9e}
.pc-others .pc-line{box-shadow:0 2px 10px rgba(25,45,85,.05)}
.pc-others .pc-line-head{padding:0 calc(.08 * var(--r)) 0 0}
.pc-others .pc-line-link{padding:calc(.12 * var(--r)) 0 calc(.12 * var(--r)) calc(.14 * var(--r))}
.pc-line.is-active .pc-line-link{padding:calc(.18 * var(--r)) calc(.14 * var(--r)) calc(.18 * var(--r)) calc(.18 * var(--r))}
.pc-others .pc-line-ico{width:max(26px,calc(.34 * var(--r)));height:max(26px,calc(.34 * var(--r)))}
.pc-others .pc-line-name{font-size:max(14px,calc(.15 * var(--r)))}
.pc-others .pc-line-name small{display:none}
/* 产品线下面的分类 */
.pc-row{--pad:calc(.16 * var(--r));position:relative;display:flex;align-items:center;gap:calc(.06 * var(--r));padding:0 calc(.1 * var(--r)) 0 0;transition:background .3s}
.pc-row:hover{background:#f6f9fd}
.pc-link{flex:1;align-self:stretch;display:block;padding:calc(.09 * var(--r)) 0 calc(.09 * var(--r)) var(--pad);font-size:max(13px,calc(.14 * var(--r)));line-height:1.4;color:#3d4148;transition:color .3s}
.pc-link:hover{color:var(--blue-2)}
.lv2>li>.pc-row .pc-link{font-size:max(14px,calc(.15 * var(--r)));font-weight:500;color:#1d1f24}
.lv3>li>.pc-row{--pad:max(22px,calc(.3 * var(--r)))}
.lv4>li>.pc-row{--pad:max(33px,calc(.44 * var(--r)))}
.lv5>li>.pc-row{--pad:max(44px,calc(.58 * var(--r)))}
.lv4 .pc-link,.lv5 .pc-link{font-size:max(12px,calc(.13 * var(--r)));color:#5d636c}
.pc-tog{flex:none;display:grid;place-items:center;width:max(20px,calc(.26 * var(--r)));height:max(20px,calc(.26 * var(--r)));border-radius:6px;color:#8a93a0;transition:background .2s,color .2s}
.pc-tog::before{content:"";width:calc(.06 * var(--r));height:calc(.06 * var(--r));margin-top:calc(-.03 * var(--r));border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg);transition:transform .3s var(--ease),margin .3s}
.pc-tog[aria-expanded="false"]::before{margin-top:0;transform:rotate(-45deg)}
.pc-tog:hover{background:#eef4fc;color:var(--blue)}
.js .pc-sub{display:none}
.js .is-open>.pc-sub{display:block;animation:panelIn .35s var(--ease)}
.is-trail>.pc-row>.pc-link{color:var(--blue-deep)}
.is-current>.pc-row{background:linear-gradient(90deg,rgba(31,122,216,.12),rgba(31,122,216,0) 90%)}
.is-current>.pc-row::before{content:"";position:absolute;left:0;top:calc(.06 * var(--r));bottom:calc(.06 * var(--r));width:calc(.03 * var(--r));border-radius:0 3px 3px 0;background:var(--blue-2)}
.is-current>.pc-row>.pc-link{color:var(--blue);font-weight:600}
.pc-empty{padding:calc(.16 * var(--r)) max(15px,calc(.2 * var(--r)));color:#9aa3af;font-size:max(13px,calc(.14 * var(--r)))}

/* =========================================================
   产品列表
   ========================================================= */
.pg-bar{margin-bottom:calc(.16 * var(--r))}
.pg-h{font-size:max(18px,calc(.2 * var(--r)));font-weight:700;color:#151515}
.pg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(.18 * var(--r))}
/* 横排产品卡片（分类页、搜索结果）：图片 | 信息 | 价格和按钮；名称链接铺满卡片，按钮叠在上面 */
.pg-list{display:flex;flex-direction:column;gap:calc(.16 * var(--r))}
/* 简要列表（2026-11-11，限制性内切酶）：字母索引 + 筛选框（吸顶），按首字母分组，一行一个 */
.pc-n{margin-left:2px;color:#9aa3af;font-size:.92em}
.pcl-tools{position:sticky;top:var(--hd-h);z-index:5;display:flex;align-items:center;gap:calc(.16 * var(--r));flex-wrap:wrap;margin:0 0 calc(.16 * var(--r));padding:calc(.12 * var(--r)) calc(.16 * var(--r));border-radius:12px;background:rgba(255,255,255,.96);box-shadow:0 6px 24px rgba(25,45,85,.06)}
.admin-bar .pcl-tools{top:calc(var(--hd-h) + 32px)}
.pcl-az{display:flex;flex-wrap:wrap;gap:4px;flex:1}
.pcl-az a{min-width:max(26px,calc(.28 * var(--r)));height:max(26px,calc(.28 * var(--r)));display:grid;place-items:center;padding:0 4px;border-radius:6px;font-size:max(13px,calc(.14 * var(--r)));font-weight:500;color:#4a4f57;transition:background .2s,color .2s}
.pcl-az a:hover,.pcl-az a.is-on{background:var(--blue);color:#fff}
.pcl-az a.is-off{opacity:.3;pointer-events:none}
.pcl-filter{position:relative;flex:0 0 max(200px,calc(2.4 * var(--r)))}
.pcl-filter svg{position:absolute;left:10px;top:50%;width:15px;transform:translateY(-50%);color:#9aa3af}
.pcl-filter input{width:100%;height:max(34px,calc(.36 * var(--r)));padding:0 12px 0 32px;border:1px solid #e3e7ee;border-radius:99px;font:inherit;font-size:max(13px,calc(.14 * var(--r)));outline:none}
.pcl-filter input:focus{border-color:var(--blue-2);box-shadow:0 0 0 4px rgba(31,122,216,.12)}
.pcl-empty{padding:calc(.3 * var(--r));border-radius:12px;background:#fff;text-align:center;color:#8a9099}
.pcl-group{scroll-margin-top:calc(var(--hd-h) + max(70px,calc(.8 * var(--r))));margin-bottom:calc(.16 * var(--r));border-radius:12px;background:#fff;box-shadow:0 6px 24px rgba(25,45,85,.05);overflow:hidden}
.pcl-group[hidden]{display:none}
.pcl-letter{padding:calc(.08 * var(--r)) calc(.2 * var(--r));background:#f2f6fc;font-size:max(15px,calc(.16 * var(--r)));font-weight:500;color:var(--blue)}
.pcl-list{list-style:none}
.pcl-list li+li{border-top:1px solid #eef1f5}
.pcl-list li[hidden]{display:none}
.pcl-list a{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr) 20px;align-items:center;gap:calc(.16 * var(--r));padding:calc(.11 * var(--r)) calc(.2 * var(--r));color:#22252b;transition:background .2s}
.pcl-list a:hover{background:#f6f9fd}
.pcl-name{font-size:max(15px,calc(.16 * var(--r)));font-weight:500}
.pcl-sku,.pcl-spec{font-size:max(13px,calc(.14 * var(--r)));color:#6b717b}
.pcl-list i{font-style:normal;color:#b6bcc6;transition:transform .2s,color .2s}
.pcl-list a:hover i{color:var(--blue);transform:translateX(3px)}
@media (max-width:899px){
  .pcl-tools{position:static;padding:10px 12px;gap:10px} /* 手机上两行字母 + 筛选框太高，不吸顶 */
  .pcl-filter{flex:1 1 100%}
  .pcl-az{gap:2px}
  .pcl-az a{min-width:26px;height:26px;font-size:13px}
  .pcl-letter{padding:6px 14px}
  .pcl-list a{grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:10px 14px}
  .pcl-name{grid-column:1}
  .pcl-sku{grid-column:1;grid-row:2}
  .pcl-spec{grid-column:1;grid-row:3}
  .pcl-list i{grid-column:2;grid-row:1/4}
}
/* 分组列表（2026-11-10，外源病毒因子检测按牛源、猪源…分组） */
.pg-group+.pg-group{margin-top:calc(.36 * var(--r))}
.pg-gh{display:flex;align-items:center;gap:10px;margin-bottom:calc(.14 * var(--r));font-size:max(16px,calc(.18 * var(--r)));font-weight:500;color:#22252b}
.pg-gh::before{content:"";width:4px;height:1em;border-radius:2px;background:var(--blue)}
.prow{position:relative;display:grid;grid-template-columns:max(105px,calc(1.4 * var(--r))) minmax(0,1fr) max(135px,calc(1.8 * var(--r)));gap:max(16px,calc(.22 * var(--r)));padding:calc(.18 * var(--r)) max(16px,calc(.22 * var(--r))) calc(.18 * var(--r)) calc(.18 * var(--r));background:#fff;border-radius:12px;box-shadow:0 6px 24px rgba(25,45,85,.06);transition:transform .45s var(--ease),box-shadow .45s}
.prow::before{content:"";position:absolute;left:0;top:calc(.18 * var(--r));bottom:calc(.18 * var(--r));width:calc(.03 * var(--r));border-radius:0 3px 3px 0;background:var(--blue-2);transform:scaleY(0);transition:transform .45s var(--ease)}
.prow:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(25,45,85,.13)}
.prow:hover::before{transform:none}
.prow-img{width:max(105px,calc(1.4 * var(--r)));aspect-ratio:1;overflow:hidden;border:1px solid #eef1f5;border-radius:8px;background:#fff}
.prow-img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.prow:hover .prow-img img{transform:scale(1.05)}
.prow-img .pcard-noimg{font-size:max(14px,calc(.15 * var(--r)))}
.prow-info{display:flex;flex-direction:column;gap:calc(.09 * var(--r));min-width:0;padding-top:2px}
.prow-name{font-size:max(16px,calc(.18 * var(--r)));line-height:1.4;font-weight:700;color:#1d1f24;transition:color .3s}
.prow-name a::after{content:"";position:absolute;inset:0;z-index:1;border-radius:12px}
.prow:hover .prow-name{color:var(--blue-deep)}
.prow-meta{display:flex;flex-wrap:wrap;gap:calc(.04 * var(--r)) calc(.16 * var(--r));font-size:max(12px,calc(.13 * var(--r)));color:#8a919c}
.prow-meta em{font-style:normal;font-family:var(--f-num);color:#5d636c}
.prow-sum{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:max(13px,calc(.14 * var(--r)));line-height:1.7;color:#6b717b}
.prow-specs{display:flex;flex-wrap:wrap;gap:calc(.06 * var(--r))}
.prow-specs li{display:inline-flex;align-items:center;height:max(18px,calc(.24 * var(--r)));padding:0 calc(.1 * var(--r));border:1px solid #e1e7ef;border-radius:99px;font-size:max(12px,calc(.12 * var(--r)));color:#5d636c;font-family:var(--f-num)}
.prow-side{display:flex;flex-direction:column;justify-content:center;align-items:flex-end;gap:calc(.1 * var(--r));padding-left:max(16px,calc(.22 * var(--r)));border-left:1px dashed #e4e9f0;text-align:right}
.prow-label{font-size:max(12px,calc(.12 * var(--r)));color:#a0a7b1}
.prow-price{font-size:max(15px,calc(.17 * var(--r)));line-height:1.35;font-weight:700;color:#e8541e;font-family:var(--f-num)}
.prow-price.is-inquiry{color:var(--blue);font-family:inherit}
.prow-btns{position:relative;z-index:2;display:flex;flex-direction:column;gap:calc(.08 * var(--r));width:100%;margin-top:calc(.04 * var(--r))}
.prow-btns .pd-btn{height:max(28px,calc(.38 * var(--r)));padding:0 calc(.16 * var(--r));font-size:max(13px,calc(.14 * var(--r)));box-shadow:none}
.prow-btns .pd-btn-primary{box-shadow:0 8px 18px rgba(23,100,189,.22)}
.pcard>a{display:flex;flex-direction:column;height:100%;overflow:hidden;background:#fff;border-radius:10px;box-shadow:0 6px 24px rgba(25,45,85,.06);transition:transform .45s var(--ease),box-shadow .45s}
.pcard-img{aspect-ratio:1;overflow:hidden;background:#fff;border-bottom:1px solid #f1f3f7}
.pcard-img img{width:100%;height:100%;object-fit:contain;transition:transform .8s var(--ease)}
.pcard-noimg{display:grid;place-items:center;width:100%;height:100%;background:linear-gradient(135deg,#eaf2fc,#cddff5);color:#4a6fa5;font-family:var(--f-num);font-size:max(18px,calc(.2 * var(--r)))}
.pcard-body{display:flex;flex-direction:column;flex:1;padding:calc(.16 * var(--r)) calc(.18 * var(--r))}
.pcard-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.9em;font-size:max(14px,calc(.16 * var(--r)));line-height:1.45;font-weight:600;color:#1d1f24;transition:color .3s}
.pcard-sku{margin-top:calc(.06 * var(--r));font-size:max(12px,calc(.13 * var(--r)));color:#8a919c;font-family:var(--f-num)}
.pcard-sum{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:calc(.08 * var(--r));font-size:max(12px,calc(.13 * var(--r)));line-height:1.65;color:#6b717b}
.pcard-foot{display:flex;align-items:center;justify-content:space-between;gap:calc(.08 * var(--r));margin-top:auto;padding-top:calc(.14 * var(--r))}
.pcard-foot::before{content:"";position:absolute}
.pcard-body .pcard-foot{border-top:1px dashed #e9edf3;margin-top:calc(.14 * var(--r))}
.pcard-price{font-size:max(14px,calc(.15 * var(--r)));font-weight:700;color:#e8541e;font-family:var(--f-num)}
.price-inquiry{color:var(--blue);font-family:var(--f-cn)}
/* 促销价（biori-commerce 的 member-price.php）：会员看到「促销价 ¥X」+ 划线的「目录价 ¥Y」；游客只有目录价 +「登录查看促销价」 */
.price-sale{white-space:nowrap}
.price-tag{display:inline-block;margin-right:calc(.04 * var(--r));padding:0 calc(.06 * var(--r));border-radius:4px;background:#fff1ea;font-size:max(12px,calc(.12 * var(--r)));line-height:1.7;font-weight:600;color:#e8541e;font-family:var(--f-cn);vertical-align:.15em}
.price-was{display:inline-block;font-size:.72em;font-weight:400;color:#8a919c;white-space:nowrap}
.price-was .price-tag{margin-right:2px;padding:0;background:none;font-weight:400;color:inherit;vertical-align:baseline}
.price-was .amount{font-weight:400!important;color:inherit!important}
.price-login{position:relative;z-index:2;display:inline-block;margin-left:calc(.06 * var(--r));font-size:max(12px,calc(.13 * var(--r)));line-height:1.5;font-weight:500;color:var(--blue);font-family:var(--f-cn);white-space:nowrap;vertical-align:.12em}
a.price-login{text-decoration:underline;text-decoration-color:rgba(23,100,189,.35);text-underline-offset:3px}
a.price-login:hover{text-decoration-color:currentColor}
.price-note{display:inline-block;margin-left:calc(.06 * var(--r));font-size:max(12px,calc(.12 * var(--r)));font-weight:400;color:#8a919c;font-family:var(--f-cn)}
.prow-price .price-sale,.prow-price .price-was,.prow-price .price-login{display:block;margin-left:0}
.prow-price .price-login{margin-top:calc(.04 * var(--r))}
.pcard-price .price-login{margin-left:calc(.04 * var(--r));font-size:max(12px,calc(.12 * var(--r)))}
.pd-price-val .price-was{margin-left:calc(.04 * var(--r));font-size:max(14px,calc(.15 * var(--r)))}
.pd-price-val .price-login{font-size:max(13px,calc(.14 * var(--r)))}
.pt-table .price-was .amount{color:inherit}
.pcard-more{flex:none;font-size:max(12px,calc(.13 * var(--r)));color:var(--blue)}
.pcard-more i{display:inline-block;font-style:normal;transition:transform .4s var(--ease)}
.pcard>a:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(25,45,85,.13)}
.pcard>a:hover .pcard-img img{transform:scale(1.05)}
.pcard>a:hover .pcard-name{color:var(--blue-deep)}
.pcard>a:hover .pcard-more i{transform:translateX(5px)}
.pg-pages ul{display:flex;flex-wrap:wrap;justify-content:center;gap:calc(.08 * var(--r));margin-top:max(24px,calc(.32 * var(--r)))}
.pg-pages li>.page-numbers{display:grid;place-items:center;min-width:max(28px,calc(.38 * var(--r)));height:max(28px,calc(.38 * var(--r)));padding:0 calc(.12 * var(--r));border:1px solid #e1e7ef;border-radius:8px;background:#fff;font-size:max(13px,calc(.14 * var(--r)));color:#3d4148}
.pg-pages a.page-numbers:hover{border-color:var(--blue-2);color:var(--blue)}
.pg-pages li>.current{background:var(--blue);border-color:var(--blue);color:#fff}
.pg-pages li>.dots{border:0;background:none}
.pg-empty{display:flex;flex-direction:column;align-items:center;gap:calc(.12 * var(--r));padding:max(45px,calc(.6 * var(--r))) max(15px,calc(.2 * var(--r)));background:#fff;border-radius:10px;color:#8a919c;text-align:center}
.pg-empty svg{width:max(36px,calc(.48 * var(--r)));color:#9fb3cf}

/* =========================================================
   产品详情（2026-10-13 改版）：主视觉 → 吸顶页签 → 左边各部分 + 右边固定的下单卡片 → 相关产品
   ========================================================= */
.pd-page{overflow-x:clip}
/* 主视觉：底图沿用分类页标题栏，左文右图 */
.pdh{position:relative;isolation:isolate;color:#fff;background:#1d63c8}
.pdh-bg{position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(12,70,166,.94) 0%,rgba(21,92,196,.82) 46%,rgba(31,122,216,.4) 100%),url(../img/bar-bg.webp) center/cover no-repeat}
.pdh-in{display:grid;grid-template-columns:minmax(0,1fr) min(380px,36%);gap:calc(.56 * var(--r));align-items:center;padding:calc(.36 * var(--r)) 0 calc(.48 * var(--r))}
.pdh-crumbs{margin:0 0 calc(.2 * var(--r))}
.pdh-sku{font-size:max(15px,calc(.2 * var(--r)));color:rgba(255,255,255,.8);letter-spacing:.04em}
.pdh-sku b{margin-left:calc(.06 * var(--r));font-size:max(20px,calc(.28 * var(--r)));font-weight:600;color:#fff;font-family:var(--f-num);letter-spacing:.04em}
.pdh-name{margin-top:calc(.14 * var(--r));font-size:max(26px,calc(.42 * var(--r)));line-height:1.25;font-weight:700;letter-spacing:.01em;text-shadow:0 4px 24px rgba(0,30,90,.2);word-break:break-word}
.pdh-acts{display:flex;flex-wrap:wrap;align-items:center;gap:calc(.12 * var(--r)) calc(.2 * var(--r));margin-top:calc(.24 * var(--r))}
.pdh-manual{display:inline-flex;align-items:center;gap:calc(.08 * var(--r));height:max(38px,calc(.5 * var(--r)));padding:0 max(20px,calc(.26 * var(--r))) 0 max(16px,calc(.2 * var(--r)));border-radius:99px;background:#fff;color:var(--blue-deep);font-size:max(15px,calc(.17 * var(--r)));font-weight:600;box-shadow:0 10px 26px rgba(0,30,90,.24);transition:transform .3s,box-shadow .3s}
.pdh-manual svg{width:max(18px,calc(.22 * var(--r)));height:max(18px,calc(.22 * var(--r)))}
.pdh-manual svg .arr{transition:transform .4s var(--ease)}
.pdh-manual:hover{transform:translateY(-1px);box-shadow:0 14px 32px rgba(0,30,90,.32)}
.pdh-manual:hover svg .arr{transform:translateY(2px)}
.pdh-manual small{margin-left:2px;font-size:max(11px,calc(.12 * var(--r)));font-weight:500;color:#7d8da6;font-family:var(--f-num)}
.pdh-more{font-size:max(13px,calc(.14 * var(--r)));color:rgba(255,255,255,.82);border-bottom:1px solid rgba(255,255,255,.4);transition:color .3s,border-color .3s}
.pdh-more:hover{color:#fff;border-color:#fff}
.pdh-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(.12 * var(--r));max-width:max(525px,calc(7 * var(--r)));margin-top:calc(.28 * var(--r))}
.pdh-facts div{padding:calc(.14 * var(--r)) calc(.16 * var(--r));border-radius:10px;background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 1px rgba(255,255,255,.24);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.pdh-facts dt{font-size:max(12px,calc(.12 * var(--r)));color:rgba(255,255,255,.72)}
.pdh-facts dd{margin-top:calc(.04 * var(--r));font-size:max(14px,calc(.16 * var(--r)));line-height:1.4;font-weight:700}
.pdh-ruo{display:inline-block;margin-top:calc(.16 * var(--r));padding:calc(.04 * var(--r)) calc(.12 * var(--r));border-radius:4px;background:rgba(255,196,77,.18);color:#ffe2a8;font-size:max(12px,calc(.13 * var(--r)))}
.pdh-media .pd-main{border:0;border-radius:16px;box-shadow:0 24px 60px rgba(0,30,90,.3)}
.pdh-media .pd-thumbs button{border-color:rgba(255,255,255,.5)}
.pd-main{display:grid;place-items:center;aspect-ratio:1;overflow:hidden;border:1px solid #eef1f5;border-radius:10px;background:#fff}
.pd-main img{width:100%;height:100%;object-fit:contain}
.pd-thumbs{display:flex;flex-wrap:wrap;gap:calc(.1 * var(--r));margin-top:calc(.12 * var(--r))}
.pd-thumbs button{width:max(48px,calc(.64 * var(--r)));height:max(48px,calc(.64 * var(--r)));overflow:hidden;border:1px solid #e1e7ef;border-radius:8px;background:#fff}
.pd-thumbs button.on{border-color:var(--blue-2);box-shadow:0 0 0 1px var(--blue-2)}
.pd-thumbs img{width:100%;height:100%;object-fit:contain}

/* 网格：页签横跨两列，下面左边各部分、右边下单卡片 */
.pdb{display:grid;grid-template-columns:minmax(0,1fr) max(255px,calc(3.4 * var(--r)));gap:0 max(24px,calc(.32 * var(--r)));align-items:start;padding-bottom:calc(.6 * var(--r))}
.pdn{grid-column:1/-1;position:sticky;top:var(--hd-h);z-index:20;margin-bottom:max(21px,calc(.28 * var(--r)))}
.admin-bar .pdn{top:calc(var(--hd-h) + 32px)}
.pdn::before{content:"";position:absolute;inset:0 -100vmax;z-index:-1;border-bottom:1px solid #e3e8ef;background:rgba(255,255,255,.96);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px)}
.pdn-list{display:flex;gap:calc(.44 * var(--r));overflow-x:auto;scrollbar-width:none}
.pdn-list::-webkit-scrollbar{display:none}
.pdn a{display:block;padding:calc(.18 * var(--r)) 0 calc(.16 * var(--r));font-size:max(14px,calc(.16 * var(--r)));color:#4a4f57;white-space:nowrap;transition:color .3s}
.pdn a:hover{color:var(--blue-2)}
.pdn a.on{color:var(--blue-deep);font-weight:600}
.pdn-ink{position:absolute;left:0;bottom:0;width:0;height:calc(.03 * var(--r));border-radius:2px;background:var(--blue-deep);transition:transform .5s var(--ease),width .5s var(--ease)}
html:not(.js) .pdn-ink{display:none}
.pdb-main{display:flex;flex-direction:column;gap:max(27px,calc(.36 * var(--r)));min-width:0}
.pds{scroll-margin-top:80px} /* 加上 html 的 scroll-padding-top（页头高度），正好停在页签下面 */
.admin-bar .pds{scroll-margin-top:112px}
.pds-h{display:flex;align-items:center;gap:calc(.12 * var(--r));margin-bottom:calc(.16 * var(--r));font-size:max(20px,calc(.22 * var(--r)));font-weight:700;color:#151515}
.pds-h i{display:grid;place-items:center;width:max(27px,calc(.36 * var(--r)));height:max(27px,calc(.36 * var(--r)));border-radius:10px;background:linear-gradient(135deg,#e9f2fd,#d3e5fb);color:var(--blue)}
.pds-h svg{width:calc(.19 * var(--r));height:calc(.19 * var(--r))}
.pds-card{padding:max(21px,calc(.28 * var(--r))) max(24px,calc(.32 * var(--r)));background:#fff;border-radius:12px;box-shadow:0 6px 24px rgba(25,45,85,.06)}
.pds-card>.pt-sub:first-child{margin-top:0}
.pds-list{display:grid;gap:calc(.1 * var(--r))}
.pds-list li{display:flex;gap:calc(.1 * var(--r));font-size:max(14px,calc(.15 * var(--r)));line-height:1.75;color:var(--body)}
.pds-list svg{flex:none;width:max(15px,calc(.2 * var(--r)));height:max(15px,calc(.2 * var(--r)));margin-top:calc(.03 * var(--r));padding:calc(.04 * var(--r));border-radius:50%;background:#e8f2fd;color:var(--blue-2)}
.pds-files li{display:flex;align-items:center;gap:calc(.16 * var(--r));padding:calc(.16 * var(--r)) 0;border-top:1px dashed #e6eaf0}
.pds-files li:first-child{padding-top:0;border-top:0}
.pds-files li:last-child{padding-bottom:0}
.pds-file{flex:none;display:grid;place-items:center;width:max(33px,calc(.44 * var(--r)));height:max(33px,calc(.44 * var(--r)));border-radius:10px;background:#f2f6fc;color:var(--blue)}
.pds-file svg{width:max(16px,calc(.22 * var(--r)));height:max(16px,calc(.22 * var(--r)))}
.pds-files div{flex:1;min-width:0}
.pds-files b{display:block;font-size:max(14px,calc(.15 * var(--r)));font-weight:600;color:#1d1f24}
.pds-files small{display:block;margin-top:2px;overflow:hidden;font-size:max(12px,calc(.13 * var(--r)));color:#8a919c;white-space:nowrap;text-overflow:ellipsis}
.pds-files .pd-btn{height:max(28px,calc(.38 * var(--r)));padding:0 max(16px,calc(.22 * var(--r)));font-size:max(13px,calc(.14 * var(--r)))}
.pds-coa-form{flex:none;display:flex;align-items:center;gap:calc(.08 * var(--r))}
.pds-coa-form input{width:max(96px,calc(1.28 * var(--r)));height:max(28px,calc(.38 * var(--r)));padding:0 calc(.16 * var(--r));border:1px solid #d9dee6;border-radius:99px;font:inherit;font-size:max(13px,calc(.14 * var(--r)));letter-spacing:.04em;text-transform:uppercase;outline:none;transition:border-color .3s,box-shadow .3s}
.pds-coa-form input::placeholder{letter-spacing:0;text-transform:none;color:#aeb5c0}
.pds-coa-form input:focus{border-color:var(--blue-2);box-shadow:0 0 0 4px rgba(31,122,216,.12)}
.pt-sub{margin:max(20px,calc(.26 * var(--r))) 0 calc(.12 * var(--r));padding-left:calc(.12 * var(--r));border-left:3px solid var(--blue-2);font-size:max(15px,calc(.17 * var(--r)));line-height:1.2;font-weight:700;color:#151515}
.pt-text p{margin-top:calc(.12 * var(--r));font-size:max(14px,calc(.15 * var(--r)));line-height:1.9;color:var(--body);text-align:justify}
.pt-text>p:first-child{margin-top:0}
.pt-table-wrap{overflow-x:auto}
.pt-table{width:100%;border-collapse:collapse;font-size:max(13px,calc(.14 * var(--r)))}
.pt-table th,.pt-table td{padding:calc(.12 * var(--r)) calc(.16 * var(--r));border:1px solid #e6eaf0;text-align:left;line-height:1.6;vertical-align:top}
.pt-table thead th{background:#f2f6fc;font-weight:600;color:#1d1f24}
.pt-table td{color:#2a2c30}
.pt-table .amount{font-weight:600;color:#e8541e;font-family:var(--f-num)}
.pt-table .pt-no{width:max(48px,calc(.64 * var(--r)));text-align:center;color:#8a919c;font-family:var(--f-num)}
.pt-table .pt-sku{font-weight:600;color:#1d1f24;font-family:var(--f-num)}
.pt-kv th{width:26%;background:#f8fafd;font-weight:500;color:#4a4f57}
.pt-data h4{margin:max(18px,calc(.24 * var(--r))) 0 calc(.1 * var(--r));font-size:max(14px,calc(.16 * var(--r)));color:#1d1f24}
.pt-data figure{margin:calc(.08 * var(--r)) 0}
.pt-data img{max-width:100%;height:auto;border:1px solid #eef1f5;border-radius:8px}
.pt-data>h4:first-child{margin-top:0}
/* 实验数据里的表格（旧站搬来的是不带样式的 wp-block-table）：和「产品参数」表同款，第一列是项目名 */
.pt-data table{width:100%;border-collapse:collapse;font-size:max(13px,calc(.14 * var(--r)))}
.pt-data td,.pt-data th{padding:calc(.1 * var(--r)) calc(.16 * var(--r));border:1px solid #e6eaf0;text-align:left;line-height:1.6;vertical-align:top;color:#2a2c30}
.pt-data tr>:first-child{width:22%;min-width:5em;background:#f8fafd;font-weight:500;color:#4a4f57}
.pt-data thead th{background:#f2f6fc;font-weight:600;color:#1d1f24}
.pt-data .wp-block-table{overflow-x:auto}
.pt-faq{padding:0 calc(.18 * var(--r));border:1px solid #e6eaf0;border-radius:8px}
.pt-faq+.pt-faq{margin-top:calc(.12 * var(--r))}
.pt-faq summary{padding:calc(.14 * var(--r)) 0;font-weight:600;cursor:pointer}
.pt-faq div{padding-bottom:calc(.14 * var(--r));line-height:1.8;color:var(--body)}

/* 右侧下单卡片：滚动时固定在页签下面 */
.pdb-side{grid-column:2;grid-row:2;position:sticky;top:calc(var(--hd-h) + 78px)}
.admin-bar .pdb-side{top:calc(var(--hd-h) + 110px)}
.pdbuy{padding:max(18px,calc(.24 * var(--r)));background:#fff;border-radius:14px;box-shadow:0 0 0 1px rgba(31,122,216,.1),0 18px 44px rgba(25,45,85,.1)}
.pdbuy-title{display:flex;align-items:center;gap:calc(.08 * var(--r));margin-bottom:calc(.18 * var(--r));font-size:max(15px,calc(.17 * var(--r)));font-weight:700;color:#151515}
.pdbuy-title svg{width:max(15px,calc(.2 * var(--r)));height:max(15px,calc(.2 * var(--r)));color:var(--blue-2)}
.pd-notices{margin-bottom:calc(.12 * var(--r))}
.pd-notices:empty{display:none}
.pd-specs{margin:0 0 calc(.16 * var(--r));padding:0;border:0}
.pd-specs legend{margin-bottom:calc(.1 * var(--r));font-size:max(13px,calc(.14 * var(--r)));color:#6b717b}
.pd-spec-list{display:flex;flex-wrap:wrap;gap:calc(.08 * var(--r))}
.pd-spec{position:relative}
.pd-spec input{position:absolute;opacity:0;width:1px;height:1px}
.pd-spec span{display:inline-flex;align-items:center;min-height:max(27px,calc(.36 * var(--r)));padding:calc(.04 * var(--r)) calc(.14 * var(--r));border:1px solid #d9dee6;border-radius:8px;font-size:max(13px,calc(.14 * var(--r)));color:#2a2c30;cursor:pointer;transition:border-color .2s,color .2s,background .2s}
.pd-spec span:hover{border-color:var(--blue-2)}
.pd-spec input:checked+span{border-color:var(--blue-2);background:#eef5fd;color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue-2)}
.pd-spec input:focus-visible+span{outline:2px solid var(--blue-2);outline-offset:2px}
.pd-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:calc(.04 * var(--r)) calc(.12 * var(--r));padding:calc(.14 * var(--r)) calc(.16 * var(--r));border-radius:10px;background:#f6f8fb}
.pd-price-label{font-size:max(13px,calc(.14 * var(--r)));color:#6b717b}
.pd-price-val{font-size:max(23px,calc(.26 * var(--r)));font-weight:700;color:#e8541e;font-family:var(--f-num)}
.pd-price-val .price-inquiry{font-size:max(20px,calc(.22 * var(--r)))}
.pd-price-sku{flex-basis:100%;font-size:max(12px,calc(.13 * var(--r)));color:#8a919c}
.pd-price-sku b{font-weight:600;color:#3d4148;font-family:var(--f-num)}
.pd-actions{display:flex;gap:calc(.1 * var(--r));margin-top:calc(.16 * var(--r))}
.pd-actions .pd-btn{flex:1;padding:0 calc(.16 * var(--r))}
.pd-actions-2{display:flex;gap:calc(.1 * var(--r));margin-top:calc(.1 * var(--r))}
.pd-actions-2 .pd-btn{flex:1;height:max(30px,calc(.4 * var(--r)));padding:0 calc(.12 * var(--r));font-size:max(13px,calc(.14 * var(--r)))}
.pd-btn{display:inline-flex;align-items:center;justify-content:center;height:max(34px,calc(.46 * var(--r)));padding:0 max(20px,calc(.26 * var(--r)));border-radius:99px;font-size:max(14px,calc(.16 * var(--r)));font-weight:600;white-space:nowrap;transition:box-shadow .3s,transform .3s,background .3s,border-color .3s}
.pd-btn svg{width:calc(.18 * var(--r));height:calc(.18 * var(--r));margin-right:calc(.06 * var(--r))}
.pd-btn-primary{background:linear-gradient(90deg,#1f7ad8,#1561c4);color:#fff;box-shadow:0 8px 20px rgba(23,100,189,.28)}
.pd-btn-primary:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(23,100,189,.38)}
.pd-btn-ghost{border:1px solid #b9cbe6;background:#fff;color:var(--blue)}
.pd-btn-ghost:hover{border-color:var(--blue-2);background:#eef5fd}
.pd-btn.is-disabled{background:#e9ecf1;color:#9aa3af;cursor:not-allowed}
.pd-buy:not([data-state="buy"]) .pd-when-buy,.pd-buy:not([data-state="inquiry"]) .pd-when-inquiry,.pd-buy:not([data-state="out"]) .pd-when-out{display:none!important}
.pd-qty{flex:none;display:inline-flex;align-items:center;height:max(34px,calc(.46 * var(--r)));overflow:hidden;border:1px solid #d9dee6;border-radius:99px}
.pd-qty-btn{width:max(27px,calc(.36 * var(--r)));height:100%;font-size:max(16px,calc(.18 * var(--r)));color:#6b717b}
.pd-qty-btn:hover{color:var(--blue);background:#f2f6fc}
.pd-qty input{width:max(33px,calc(.44 * var(--r)));height:100%;border:0;text-align:center;font:inherit;font-size:max(14px,calc(.16 * var(--r)));-moz-appearance:textfield;appearance:textfield}
.pd-qty input::-webkit-inner-spin-button,.pd-qty input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.pd-tip{margin-top:calc(.12 * var(--r));font-size:max(12px,calc(.125 * var(--r)));line-height:1.6;color:#8a919c}
.pdbuy-help{display:flex;gap:calc(.1 * var(--r));margin-top:calc(.18 * var(--r));padding-top:calc(.16 * var(--r));border-top:1px dashed #e6eaf0;font-size:max(12px,calc(.13 * var(--r)));line-height:1.6;color:#6b717b}
.pdbuy-help svg{flex:none;width:calc(.18 * var(--r));height:calc(.18 * var(--r));margin-top:1px;color:var(--blue-2)}
.pdbuy-help a{display:block;font-weight:600;color:var(--blue)}
.pdbuy-help a:hover{text-decoration:underline;text-underline-offset:3px}

.pr{padding:0 0 calc(.8 * var(--r))}
.pr-title{margin-bottom:calc(.18 * var(--r));font-size:max(20px,calc(.22 * var(--r)));font-weight:700;color:#151515}
.pr-grid{grid-template-columns:repeat(4,minmax(0,1fr))}

/* WooCommerce 提示条 */
.wc-block-components-notice-banner{display:flex;align-items:center;gap:calc(.1 * var(--r));margin-bottom:calc(.12 * var(--r));padding:calc(.12 * var(--r)) calc(.16 * var(--r));border:1px solid #b7d4f5;border-radius:8px;background:#eef5fd;font-size:max(13px,calc(.14 * var(--r)));line-height:1.6;color:#1b4a94}
.wc-block-components-notice-banner>svg{flex:none;width:max(15px,calc(.2 * var(--r)));height:max(15px,calc(.2 * var(--r)));fill:currentColor}
.wc-block-components-notice-banner.is-error{border-color:#ffccc7;background:#fff2f0;color:#a8071a}
.wc-block-components-notice-banner.is-success{border-color:#b7eb8f;background:#f6ffed;color:#135200}
.wc-block-components-notice-banner a{text-decoration:underline;text-underline-offset:3px}
.wc-block-components-notice-banner .wc-forward{order:2;margin-left:auto;padding:calc(.04 * var(--r)) calc(.14 * var(--r));border-radius:99px;background:#fff;text-decoration:none;white-space:nowrap}

/* 购物车、结账、我的账户：内容区放宽 */
.woocommerce-cart .page-main>.wrap,.woocommerce-checkout .page-main>.wrap,.woocommerce-account .page-main>.wrap{max-width:calc(100% - 48px);width:var(--wrap)}

/* =========================================================
   询价 / 试用申请弹窗（biori-commerce 插件输出）
   ========================================================= */
dialog.iq{width:min(640px,calc(100% - 32px));max-height:calc(100vh - 40px);overflow:auto;margin:auto;padding:0;border:0;border-radius:14px;box-shadow:0 30px 80px rgba(10,30,70,.3)}
dialog.iq::backdrop{background:rgba(10,25,55,.55);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.iq-form{position:relative;padding:max(21px,calc(.28 * var(--r))) max(22px,calc(.3 * var(--r))) max(20px,calc(.26 * var(--r)))}
.iq-close{position:absolute;right:calc(.14 * var(--r));top:calc(.12 * var(--r));width:max(27px,calc(.36 * var(--r)));height:max(27px,calc(.36 * var(--r)));border-radius:50%;font-size:max(23px,calc(.26 * var(--r)));line-height:1;color:#8a919c}
.iq-close:hover{background:#f2f4f7;color:#1d1f24}
.iq-title{font-size:max(20px,calc(.22 * var(--r)));font-weight:700;color:#151515}
.iq-sub{margin-top:calc(.06 * var(--r));padding-right:max(22px,calc(.3 * var(--r)));font-size:max(12px,calc(.13 * var(--r)));line-height:1.6;color:#8a919c}
.iq-sub a{color:var(--blue)}
.iq-product{display:flex;flex-wrap:wrap;gap:calc(.04 * var(--r)) calc(.12 * var(--r));margin-top:calc(.14 * var(--r));padding:calc(.1 * var(--r)) calc(.14 * var(--r));border-radius:8px;background:#f2f6fc;font-size:max(13px,calc(.14 * var(--r)));color:#1b4a94}
.iq-product-sku{color:#6b7f9e;font-family:var(--f-num)}
.iq-grid{display:grid;grid-template-columns:1fr 1fr;gap:calc(.14 * var(--r)) calc(.16 * var(--r));margin-top:calc(.18 * var(--r))}
.iq-field{display:flex;flex-direction:column;gap:calc(.06 * var(--r));font-size:max(12px,calc(.13 * var(--r)));color:#4a4f57}
.iq-field i{font-style:normal;color:#e8541e}
.iq-field input,.iq-field textarea{width:100%;height:max(32px,calc(.42 * var(--r)));padding:0 calc(.12 * var(--r));border:1px solid #d9dee6;border-radius:8px;font:inherit;font-size:max(14px,calc(.15 * var(--r)));color:#1d1f24;outline:none;transition:border-color .3s,box-shadow .3s}
.iq-field textarea{height:auto;padding:calc(.1 * var(--r)) calc(.12 * var(--r));resize:vertical}
.iq-field input:focus,.iq-field textarea:focus{border-color:var(--blue-2);box-shadow:0 0 0 4px rgba(31,122,216,.12)}
.iq-wide{grid-column:1/-1}
.iq-captcha{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;align-items:center;gap:calc(.06 * var(--r)) calc(.1 * var(--r))}
.iq-captcha>span{flex-basis:100%}
.iq-captcha input{width:max(112px,calc(1.5 * var(--r)));text-transform:uppercase;letter-spacing:.2em}
.iq-captcha-img{height:max(32px,calc(.42 * var(--r)));min-width:max(90px,calc(1.2 * var(--r)));overflow:hidden;border:1px solid #d9dee6;border-radius:8px;background:#eef3fa}
.iq-captcha-img img{display:block;width:max(90px,calc(1.2 * var(--r)));height:max(30px,calc(.4 * var(--r)))}
.iq-captcha-img img:not([src]){visibility:hidden} /* 验证码还没加载时不显示破图标 */
.iq-hp{position:absolute!important;left:calc(-99.99 * var(--r));width:1px;height:1px;overflow:hidden}
.iq-consent{display:flex;flex-wrap:wrap;align-items:flex-start;gap:calc(.08 * var(--r));margin-top:calc(.16 * var(--r));font-size:max(12px,calc(.13 * var(--r)));line-height:1.6;color:#6b717b}
.iq-consent input{margin-top:calc(.03 * var(--r))}
.iq-consent>span{flex:1;min-width:0}
.iq-consent a{color:var(--blue)}
.iq-err{flex-basis:100%;font-size:max(12px,calc(.12 * var(--r)));color:#d4380d}
.is-err input,.is-err textarea{border-color:#e8541e!important}
.iq-consent.is-err{color:#d4380d}
.iq-msg{margin-top:calc(.14 * var(--r));padding:calc(.1 * var(--r)) calc(.14 * var(--r));border-radius:8px;background:#f6ffed;font-size:max(13px,calc(.14 * var(--r)));color:#135200}
.iq-msg.is-err{background:#fff2f0;color:#a8071a}
.iq-submit{width:100%;height:max(34px,calc(.46 * var(--r)));margin-top:calc(.18 * var(--r));border-radius:99px;background:linear-gradient(90deg,#1f7ad8,#1561c4);color:#fff;font-size:max(14px,calc(.16 * var(--r)));font-weight:600}
.iq-submit:disabled{opacity:.6;cursor:wait}
.iq-form.is-done .iq-grid,.iq-form.is-done .iq-consent,.iq-form.is-done .iq-product,.iq-form.is-done .iq-types{display:none}
/* 让客户自己选类型（「联系我们」页的在线留言）：分段选择器，白色滑块跟着选中项滑动 */
.iq-types{--n:3;--i:0;position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));margin:0;padding:calc(.04 * var(--r));border:0;border-radius:99px;background:#eef2f8;box-shadow:inset 0 1px 2px rgba(15,37,87,.06)}
.iq-types::before{content:"";position:absolute;z-index:-1;top:calc(.04 * var(--r));bottom:calc(.04 * var(--r));left:calc(.04 * var(--r));width:calc((100% - 8px) / var(--n));border-radius:99px;background:#fff;box-shadow:0 6px 16px rgba(15,37,87,.12),0 0 0 1px rgba(15,37,87,.04);transform:translateX(calc(var(--i) * 100%));transition:transform .55s var(--ease)}
.iq-types:has(label:nth-of-type(2) input:checked){--i:1}
.iq-types:has(label:nth-of-type(3) input:checked){--i:2}
.iq-types:has(label:nth-of-type(4) input:checked){--i:3}
.iq-types label{position:relative;cursor:pointer}
.iq-types input{position:absolute;opacity:0;pointer-events:none}
.iq-types span{display:flex;align-items:center;justify-content:center;height:max(32px,calc(.42 * var(--r)));border-radius:99px;font-size:max(13px,calc(.14 * var(--r)));color:#5f6670;transition:color .35s}
.iq-types label:hover span{color:var(--blue)}
.iq-types input:checked+span{font-weight:600;color:var(--blue)}
.iq-types input:focus-visible+span{outline:2px solid var(--blue-2);outline-offset:-2px}

/* ---------- 产品中心：中屏 ---------- */
@media (max-width:1065px){
  .prow{grid-template-columns:max(90px,calc(1.2 * var(--r))) minmax(0,1fr);gap:calc(.14 * var(--r)) max(15px,calc(.2 * var(--r)))}
  .prow-img{width:max(90px,calc(1.2 * var(--r)))}
  .prow-side{grid-column:2;flex-direction:row;align-items:center;justify-content:space-between;padding:calc(.12 * var(--r)) 0 0;border-left:0;border-top:1px dashed #e4e9f0;text-align:left}
  .prow-label{display:none}
  .prow-btns{flex-direction:row;width:auto;margin:0}
}
@media (max-width:1100px){
  .pg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pr-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pdb{grid-template-columns:minmax(0,1fr) max(225px,calc(3 * var(--r)));gap:0 max(18px,calc(.24 * var(--r)))}
  .pdh-in{grid-template-columns:minmax(0,1fr) max(240px,calc(3.2 * var(--r)));gap:max(24px,calc(.32 * var(--r)))}
}

/* ---------- 产品中心：手机 ---------- */
@media (max-width:899px){
  .hd-tools{margin-left:auto}
  .hd-burger{margin-left:4px}
  .ph-in{padding:28px 0 22px}
  .pc-layout{grid-template-columns:1fr;gap:18px;padding:18px 0 48px}
  .pc-side{position:relative;top:auto}
  .admin-bar .pc-side{top:auto}
  .pc-drawer-btn{display:flex;align-items:center;gap:8px;width:100%;height:44px;padding:0 16px;border-radius:10px;background:#fff;box-shadow:0 4px 16px rgba(25,45,85,.06);font-size:15px;font-weight:600;color:#1d1f24}
  .pc-drawer-btn em{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-style:normal;font-weight:400;font-size:13px;color:var(--blue);text-align:right}
  .pc-drawer-btn svg{width:12px;transition:transform .3s}
  .pc-side.is-open .pc-drawer-btn svg{transform:rotate(180deg)}
  .js .pc-cats{display:none;margin-top:10px;max-height:60vh}
  .js .pc-side.is-open .pc-cats{display:flex;animation:panelIn .35s var(--ease)}
  .pg-grid,.pr-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .pcard-body{padding:12px}
  .pcard-name{font-size:14px}
  .pcard-sum{display:none}
  .pcard-more{display:none}
  .pg-list{gap:12px}
  .prow{grid-template-columns:88px minmax(0,1fr);gap:12px 14px;padding:14px}
  .prow::before{display:none}
  .prow-img{width:88px}
  .prow-info{gap:6px;padding:0}
  .prow-name{font-size:15px}
  .prow-sum{-webkit-line-clamp:2;font-size:13px}
  .prow-specs li{height:22px;padding:0 8px}
  .prow-side{grid-column:1/-1;gap:10px}
  .prow-price{font-size:15px}
  .prow-btns .pd-btn{height:34px;padding:0 14px;font-size:13px}
  .pdh-in{grid-template-columns:1fr;gap:22px;padding:22px 0 30px}
  .pdh-name{font-size:24px}
  .pdh-sku b{font-size:20px}
  .pdh-facts{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px}
  .pdh-facts div{padding:10px 12px}
  .pdh-facts dd{font-size:14px}
  .pdh-media{max-width:460px}
  .pdh-media .pd-main{aspect-ratio:4/3}
  .pdb{grid-template-columns:minmax(0,1fr);padding-bottom:40px}
  .pdb-side{grid-column:1;grid-row:1;position:static;margin:18px 0}
  .pdn{grid-column:1;grid-row:2;margin-bottom:18px}
  .pdb-main{grid-row:3;gap:28px}
  .pdn-list{gap:22px}
  .pdn a{padding:14px 0 12px;font-size:15px}
  .pdbuy{padding:18px}
  .pds-h{font-size:19px}
  .pds-h i{width:32px;height:32px}
  .pds-card{padding:20px 16px}
  .pds-files li{gap:12px}
  .pds-files .pd-btn{padding:0 16px}
  .pds-files .pds-coa{flex-wrap:wrap}
  .pds-coa-form{flex:1 1 100%;padding-left:56px}
  .pds-coa-form input{flex:1;width:auto;min-width:0}
  .pt-kv th{width:34%}
  .pt-table th,.pt-table td{padding:10px 12px}
  .pt-data td,.pt-data th{padding:8px 10px}
  .pt-data tr>:first-child{width:5.5em}
  .iq-form{padding:24px 18px 20px}
  .iq-grid{grid-template-columns:1fr}
}

/* =========================================================
   我的账户：按钮和输入框改成品牌样式（找回密码等页面）
   ========================================================= */
.woocommerce-account .page-main .woocommerce{margin-top:max(21px,calc(.28 * var(--r)))}
.woocommerce-account form.lost_reset_password,.woocommerce-account form.woocommerce-ResetPassword{max-width:max(390px,calc(5.2 * var(--r)));padding:max(18px,calc(.24 * var(--r))) max(20px,calc(.26 * var(--r)));border:0;border-radius:12px;background:#fff;box-shadow:0 6px 24px rgba(25,45,85,.08)}
.woocommerce-account .form-row{margin-bottom:calc(.16 * var(--r))}
.woocommerce-account .form-row label{display:block;margin-bottom:calc(.06 * var(--r));font-size:max(13px,calc(.14 * var(--r)));color:#4a4f57}
.woocommerce-account .input-text{width:100%;height:max(33px,calc(.44 * var(--r)));padding:0 calc(.14 * var(--r));border:1px solid #d9dee6;border-radius:8px;font:inherit;font-size:max(14px,calc(.15 * var(--r)));outline:none;transition:border-color .3s,box-shadow .3s}
.woocommerce-account .input-text:focus{border-color:var(--blue-2);box-shadow:0 0 0 4px rgba(31,122,216,.12)}
.woocommerce-account .woocommerce-Button,.woocommerce-account .woocommerce-button,.woocommerce-account button.button{height:max(33px,calc(.44 * var(--r)));padding:0 max(21px,calc(.28 * var(--r)));border:0;border-radius:99px;background:linear-gradient(90deg,#1f7ad8,#1561c4);color:#fff;font:inherit;font-size:max(14px,calc(.15 * var(--r)));font-weight:600;cursor:pointer}
.woocommerce-account .lost_password a,.woocommerce-account .woocommerce-privacy-policy-text a{color:var(--blue)}
.woocommerce-account .woocommerce-privacy-policy-text{margin:calc(.06 * var(--r)) 0 calc(.16 * var(--r));font-size:max(12px,calc(.13 * var(--r)));line-height:1.7;color:#8a919c}

/* =========================================================
   我的账户（登录后）：左侧个人卡片和菜单 + 右侧内容卡片（woocommerce/myaccount/ 下的模板）
   ========================================================= */
.page-main:has(.ac-nav){background:linear-gradient(180deg,#f2f6fb 0%,#f6f8fb 100%)}
.page-main .entry-content .woocommerce:has(>.ac-nav){display:grid;grid-template-columns:max(188px,calc(2.5 * var(--r))) minmax(0,1fr);gap:max(21px,calc(.28 * var(--r)));align-items:start}
.woocommerce-account .woocommerce .ac-nav,.woocommerce-account .woocommerce .woocommerce-MyAccount-content{float:none;width:auto;margin:0}
.page-main .entry-content .woocommerce:has(>.ac-nav)>*{grid-column:1/-1}
.page-main .entry-content .woocommerce:has(>.ac-nav)>.ac-nav{grid-column:1;grid-row:2}
.page-main .entry-content .woocommerce:has(>.ac-nav)>.woocommerce-MyAccount-content{grid-column:2;grid-row:2}
.page-main .entry-content .woocommerce:has(>.ac-nav)>.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-account .ac-nav ul li{margin:0;padding:0;border:0}
.woocommerce-account .ac-nav ul li a{text-decoration:none!important}
.page-main .entry-content .woocommerce:has(>.ac-nav)>*+*{margin-top:0}
.page-main .entry-content .ac-nav ul,.page-main .entry-content .woocommerce-MyAccount-content ul.ac-stats,.page-main .entry-content .woocommerce-MyAccount-content ul.ac-orders{padding:0;list-style:none}
.page-main .entry-content .ac-nav a,.page-main .entry-content .woocommerce-MyAccount-content .ac-card a,.page-main .entry-content .ac-stats a,.page-main .entry-content .ac-hello a{text-decoration:none}
/* 左侧 */
.ac-nav{position:sticky;top:calc(var(--hd-h) + 20px);overflow:hidden;padding-bottom:calc(.1 * var(--r));border-radius:14px;background:#fff;box-shadow:0 6px 24px rgba(25,45,85,.06)}
.ac-me{display:flex;align-items:center;gap:calc(.12 * var(--r));padding:max(16px,calc(.22 * var(--r))) max(15px,calc(.2 * var(--r))) calc(.18 * var(--r));border-bottom:1px solid #eef1f5}
.ac-me div{min-width:0}
.ac-me b{display:block;overflow:hidden;font-size:max(14px,calc(.16 * var(--r)));color:#151515;white-space:nowrap;text-overflow:ellipsis}
.ac-me small{display:block;overflow:hidden;margin-top:2px;font-size:max(12px,calc(.12 * var(--r)));color:#8a919c;white-space:nowrap;text-overflow:ellipsis}
.ac-avatar{flex:none;display:grid;place-items:center;width:max(34px,calc(.46 * var(--r)));height:max(34px,calc(.46 * var(--r)));border-radius:50%;background:linear-gradient(135deg,#1f7ad8,#1452b0);color:#fff;font-size:max(17px,calc(.19 * var(--r)));font-weight:700;box-shadow:0 6px 16px rgba(23,100,189,.28)}
.woocommerce-account .ac-nav ul{margin:calc(.08 * var(--r)) 0 0;padding:0}
.ac-nav li a{position:relative;display:flex;align-items:center;gap:calc(.12 * var(--r));padding:calc(.12 * var(--r)) max(15px,calc(.2 * var(--r)));font-size:max(14px,calc(.15 * var(--r)));color:#3d4148;transition:background .3s,color .3s}
.ac-nav li a svg{flex:none;width:calc(.18 * var(--r));height:calc(.18 * var(--r));color:#8a93a0;transition:color .3s}
.ac-nav li a:hover{background:#f6f9fd;color:var(--blue)}
.ac-nav li a:hover svg{color:var(--blue-2)}
.ac-nav li.is-active a{background:linear-gradient(90deg,rgba(31,122,216,.12),rgba(31,122,216,0) 90%);color:var(--blue);font-weight:600}
.ac-nav li.is-active a svg{color:var(--blue-2)}
.ac-nav li.is-active a::before{content:"";position:absolute;left:0;top:calc(.08 * var(--r));bottom:calc(.08 * var(--r));width:calc(.03 * var(--r));border-radius:0 3px 3px 0;background:var(--blue-2)}
.ac-nav li.woocommerce-MyAccount-navigation-link--customer-logout{margin-top:calc(.08 * var(--r));padding-top:calc(.08 * var(--r));border-top:1px solid #eef1f5}
.ac-nav li.woocommerce-MyAccount-navigation-link--customer-logout a{color:#8a919c}
.ac-nav li.woocommerce-MyAccount-navigation-link--customer-logout a:hover{background:#fff5f2;color:#d4380d}
.ac-nav li.woocommerce-MyAccount-navigation-link--customer-logout a:hover svg{color:#d4380d}
/* 右侧内容 */
.woocommerce-MyAccount-content{display:flex;flex-direction:column;gap:max(15px,calc(.2 * var(--r)));min-width:0}
.woocommerce-MyAccount-content>*{margin:0}
.woocommerce-MyAccount-content .woocommerce-notices-wrapper:empty{display:none}
.ac-card{padding:max(18px,calc(.24 * var(--r))) max(21px,calc(.28 * var(--r)));border-radius:14px;background:#fff;box-shadow:0 6px 24px rgba(25,45,85,.06)}
.ac-card-h{display:flex;align-items:center;justify-content:space-between;gap:calc(.12 * var(--r));margin-bottom:calc(.16 * var(--r))}
.page-main .entry-content .ac-card-h h3{margin:0;font-size:max(15px,calc(.17 * var(--r)));font-weight:700;color:#151515}
.ac-card-h a{font-size:max(13px,calc(.14 * var(--r)));color:var(--blue)}
.ac-card-h a i{display:inline-block;font-style:normal;transition:transform .3s var(--ease)}
.ac-card-h a:hover i{transform:translateX(4px)}
.ac-hello{position:relative;display:flex;align-items:center;justify-content:space-between;gap:max(15px,calc(.2 * var(--r)));overflow:hidden;padding:max(21px,calc(.28 * var(--r))) max(22px,calc(.3 * var(--r)));border-radius:14px;background:linear-gradient(110deg,#1452b0 0%,#1f7ad8 60%,#4aa3f0 100%);color:#fff;box-shadow:0 14px 34px rgba(23,100,189,.22)}
.ac-hello::after{content:"";position:absolute;right:calc(-.6 * var(--r));top:calc(-.9 * var(--r));width:max(180px,calc(2.4 * var(--r)));height:max(180px,calc(2.4 * var(--r)));border-radius:50%;background:radial-gradient(circle at 35% 35%,rgba(255,255,255,.35),rgba(255,255,255,0) 65%);pointer-events:none}
.page-main .entry-content .ac-hello h2{margin:0;font-size:max(22px,calc(.24 * var(--r)));color:#fff}
.page-main .entry-content .ac-hello p{margin:calc(.06 * var(--r)) 0 0;font-size:max(13px,calc(.14 * var(--r)));line-height:1.7;color:rgba(255,255,255,.85)}
.ac-hello .pd-btn{position:relative;z-index:1;flex:none;background:#fff;color:var(--blue);box-shadow:0 8px 20px rgba(0,30,90,.2)}
.ac-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:calc(.14 * var(--r))}
.ac-stats a{display:block;padding:calc(.18 * var(--r)) max(15px,calc(.2 * var(--r)));border-radius:12px;background:#fff;box-shadow:0 6px 24px rgba(25,45,85,.06);transition:transform .4s var(--ease),box-shadow .4s}
.ac-stats a:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(25,45,85,.1)}
.ac-stats b{display:block;font-size:max(25px,calc(.28 * var(--r)));line-height:1.1;font-weight:700;color:var(--blue-deep);font-family:var(--f-num)}
.ac-stats span{display:block;margin-top:calc(.06 * var(--r));font-size:max(12px,calc(.13 * var(--r)));color:#6b717b}
.ac-orders li+li{border-top:1px dashed #e6eaf0}
.ac-orders a{display:grid;grid-template-columns:minmax(0,1fr) auto max(82px,calc(1.1 * var(--r)));align-items:center;gap:calc(.16 * var(--r));padding:calc(.14 * var(--r)) 0;color:inherit}
.ac-orders li:first-child a{padding-top:calc(.04 * var(--r))}
.ac-o-main b{display:block;overflow:hidden;font-size:max(14px,calc(.15 * var(--r)));font-weight:600;color:#1d1f24;white-space:nowrap;text-overflow:ellipsis;transition:color .3s}
.ac-orders a:hover .ac-o-main b{color:var(--blue)}
.ac-o-main small{display:block;margin-top:calc(.03 * var(--r));font-size:max(12px,calc(.125 * var(--r)));color:#8a919c;font-family:var(--f-num)}
.ac-o-total{text-align:right;font-weight:700;color:#e8541e;font-family:var(--f-num)}
.ac-status{display:inline-flex;align-items:center;height:max(18px,calc(.24 * var(--r)));padding:0 calc(.1 * var(--r));border-radius:99px;background:#f2f3f5;color:#6b717b;font-size:max(12px,calc(.125 * var(--r)));white-space:nowrap}
.ac-status.is-on-hold,.ac-status.is-pending{background:#fff6e6;color:#ad6800}
.ac-status.is-processing{background:#eaf3fd;color:var(--blue)}
.ac-status.is-completed{background:#edf9f0;color:#1f8a4c}
.ac-empty{display:grid;justify-items:center;gap:calc(.1 * var(--r));padding:calc(.16 * var(--r)) 0 calc(.06 * var(--r));text-align:center}
.ac-empty svg{width:max(30px,calc(.4 * var(--r)));height:max(30px,calc(.4 * var(--r)));color:#c3cbd6}
.page-main .entry-content .ac-empty p{margin:0;font-size:max(13px,calc(.14 * var(--r)));color:#8a919c}
.ac-addr{display:flex;gap:calc(.12 * var(--r))}
.ac-addr svg{flex:none;width:max(15px,calc(.2 * var(--r)));height:max(15px,calc(.2 * var(--r)));margin-top:calc(.03 * var(--r));color:var(--blue-2)}
.ac-addr address,.ac-addr-text{font-style:normal;font-size:max(14px,calc(.15 * var(--r)));line-height:1.8;color:#2a2c30}
.page-main .entry-content .ac-tip{margin:calc(.12 * var(--r)) 0 0;font-size:max(12px,calc(.13 * var(--r)));line-height:1.7;color:#8a919c}
.ac-lead{display:flex;align-items:center;gap:calc(.1 * var(--r));padding:calc(.12 * var(--r)) calc(.16 * var(--r));border-radius:10px;background:#eaf3fd;font-size:max(13px,calc(.14 * var(--r)));line-height:1.6;color:#1b4a94}
.ac-lead svg{flex:none;width:calc(.18 * var(--r));height:calc(.18 * var(--r))}
.ac-addrs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:max(15px,calc(.2 * var(--r)))}
.ac-addrs .ac-card{margin:0}
/* 收货地址簿、开票信息（biori-commerce 插件的 templates/myaccount/） */
.ac-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:max(15px,calc(.2 * var(--r)))}
.ab-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(.18 * var(--r))}
.ab-item{position:relative;display:flex;flex-direction:column;border:1.5px solid transparent;transition:border-color .3s,box-shadow .3s}
.ab-item:hover{box-shadow:0 14px 30px rgba(25,45,85,.1)}
.ab-item.is-default{border-color:rgba(31,122,216,.45)}
.ab-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:calc(.06 * var(--r)) calc(.12 * var(--r))}
.ab-head b{font-size:max(15px,calc(.17 * var(--r)));color:#151515}
.ab-head span{font-size:max(13px,calc(.14 * var(--r)));color:#6b717b;font-family:var(--f-num)}
.ab-badge{margin-left:auto;padding:2px calc(.1 * var(--r));border-radius:99px;background:var(--blue-2);color:#fff;font-size:max(12px,calc(.12 * var(--r)));font-style:normal}
.page-main .entry-content .ab-item p{margin:calc(.08 * var(--r)) 0 0;font-size:max(13px,calc(.14 * var(--r)));line-height:1.7;color:#3d4148}
.page-main .entry-content .ab-item .ab-company{color:#6b717b}
.ab-actions{display:flex;gap:calc(.18 * var(--r));margin-top:auto;padding-top:calc(.16 * var(--r));font-size:max(13px,calc(.14 * var(--r)))}
.ab-item .ab-actions{border-top:1px dashed #e6eaf0;margin-top:calc(.16 * var(--r));padding-top:calc(.12 * var(--r))}
.page-main .entry-content .ab-actions a{color:var(--blue)}
.page-main .entry-content .ab-actions a.is-danger{margin-left:auto;color:#8a919c}
.page-main .entry-content .ab-actions a.is-danger:hover{color:#d4380d}
.ab-add{display:grid;place-items:center;align-content:center;gap:calc(.06 * var(--r));min-height:max(128px,calc(1.7 * var(--r)));padding:max(15px,calc(.2 * var(--r)));border:1.5px dashed #c6d3e6;border-radius:14px;background:rgba(255,255,255,.6);text-align:center;transition:border-color .3s,background .3s}
.ab-add:hover{border-color:var(--blue-2);background:#fff}
.ab-add span{display:grid;place-items:center;width:max(30px,calc(.4 * var(--r)));height:max(30px,calc(.4 * var(--r)));border-radius:50%;background:#eaf3fd;color:var(--blue);font-size:max(22px,calc(.24 * var(--r)));line-height:1}
.ab-add b{font-size:max(14px,calc(.15 * var(--r)));color:var(--blue)}
.ab-add small{max-width:max(195px,calc(2.6 * var(--r)));font-size:max(12px,calc(.125 * var(--r)));line-height:1.6;color:#8a919c}
.page-main .entry-content .ab-add{text-decoration:none}
.ab-default{margin:calc(.04 * var(--r)) 0 calc(.18 * var(--r));font-size:max(13px,calc(.14 * var(--r)));color:#4a4f57}
.ab-default label{display:inline-flex;align-items:center;gap:calc(.08 * var(--r));cursor:pointer}
.ab-default input{width:calc(.16 * var(--r));height:calc(.16 * var(--r));accent-color:var(--blue-2)}
.ac-actions{display:flex;align-items:center;gap:calc(.18 * var(--r))}
.page-main .entry-content .ab-cancel{font-size:max(13px,calc(.14 * var(--r)));color:#6b717b}
.iv-type{display:inline-block}
.page-main .entry-content .ab-item .iv-type{align-self:flex-start;margin-top:calc(.08 * var(--r));padding:2px calc(.1 * var(--r));border-radius:6px;background:#f2f6fc;color:var(--blue);font-size:max(12px,calc(.125 * var(--r)))}
.page-main .entry-content .ab-item .iv-type.is-special{background:#fff6e6;color:#ad6800}
.iv-dl{display:grid;gap:calc(.04 * var(--r));margin-top:calc(.1 * var(--r));font-size:max(12px,calc(.135 * var(--r)));line-height:1.7}
.iv-dl div{display:flex;gap:calc(.12 * var(--r))}
.iv-dl dt{flex:none;width:max(48px,calc(.64 * var(--r)));color:#8a919c}
.iv-dl dd{min-width:0;color:#2a2c30;word-break:break-all}
.iv-types{display:flex;flex-wrap:wrap;gap:calc(.12 * var(--r));margin:0 0 max(15px,calc(.2 * var(--r)));padding:0;border:0}
.iv-types legend{margin-bottom:calc(.1 * var(--r));padding:0;font-size:max(13px,calc(.14 * var(--r)));font-weight:400;color:#4a4f57}
.iv-type-opt input{position:absolute;opacity:0;width:1px;height:1px}
.iv-type-opt span{display:inline-flex;align-items:center;height:max(32px,calc(.42 * var(--r)));padding:0 max(15px,calc(.2 * var(--r)));border:1px solid #d9dee6;border-radius:10px;background:#fff;font-size:max(14px,calc(.15 * var(--r)));color:#3d4148;cursor:pointer;transition:border-color .2s,color .2s,background .2s}
.iv-type-opt input:checked+span{border-color:var(--blue-2);background:#eef5fd;color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue-2)}
.iv-type-opt input:focus-visible+span{outline:2px solid var(--blue-2);outline-offset:2px}
.iv-special{display:none;margin:calc(.04 * var(--r)) 0 calc(.08 * var(--r));padding:calc(.18 * var(--r)) max(15px,calc(.2 * var(--r))) 2px;border-radius:12px;background:#fffaf0}
.iv-form:has(input[value="special"]:checked) .iv-special{display:block}
.iv-special-h{margin:0 0 calc(.14 * var(--r));font-size:max(13px,calc(.14 * var(--r)));font-weight:600;color:#ad6800}
.woocommerce-MyAccount-content .ab-form .woocommerce-address-fields__field-wrapper>.form-row{grid-column:auto}
.woocommerce-MyAccount-content .ab-form .woocommerce-address-fields__field-wrapper>.form-row-wide{grid-column:1/-1}
/* 结账页：从地址簿 / 开票信息里选（biori-commerce 的 assets/checkout.js） */
.bk-pick{margin:0 0 calc(.18 * var(--r))}
.bk-pick[hidden]{display:none}
.bk-pick-inv{margin:calc(.14 * var(--r)) 0 calc(.04 * var(--r))}
.bk-pick-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:calc(.1 * var(--r));font-size:max(13px,calc(.14 * var(--r)))}
.bk-pick-h b{font-weight:600;color:#1d1f24}
.bk-pick-h a{color:var(--blue);text-decoration:none}
.bk-pick-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(max(158px,calc(2.1 * var(--r))),1fr));gap:calc(.1 * var(--r))}
.bk-card{position:relative;display:grid;gap:2px;padding:calc(.12 * var(--r)) calc(.14 * var(--r));border:1px solid #dfe4ec;border-radius:10px;background:#fff;text-align:left;cursor:pointer;transition:border-color .2s,box-shadow .2s,background .2s}
.bk-card:hover{border-color:var(--blue-2)}
.bk-card.is-on{border-color:var(--blue-2);background:#f3f8fe;box-shadow:inset 0 0 0 1px var(--blue-2)}
.bk-card.is-on::after{content:"";position:absolute;right:calc(.1 * var(--r));top:calc(.12 * var(--r));width:calc(.08 * var(--r));height:calc(.14 * var(--r));border-right:2px solid var(--blue-2);border-bottom:2px solid var(--blue-2);transform:rotate(45deg)}
.bk-card b{display:flex;align-items:baseline;gap:calc(.08 * var(--r));padding-right:calc(.18 * var(--r));font-size:max(13px,calc(.14 * var(--r)));font-weight:600;color:#1d1f24}
.bk-card b span{font-weight:400;font-size:max(12px,calc(.13 * var(--r)));color:#6b717b;font-family:var(--f-num)}
.bk-card em{padding:0 calc(.06 * var(--r));border-radius:4px;background:#eaf3fd;color:var(--blue);font-size:max(11.5px,calc(.115 * var(--r)));font-style:normal;font-weight:400}
.bk-card small{overflow:hidden;font-size:max(12px,calc(.125 * var(--r)));line-height:1.6;color:#6b717b;white-space:nowrap;text-overflow:ellipsis}
/* 订单列表、订单详情、表单：放进白色卡片 */
.woocommerce-MyAccount-content .woocommerce-orders-table,.woocommerce-MyAccount-content .woocommerce-table--order-details{overflow:hidden;border:0;border-radius:14px;background:#fff;box-shadow:0 6px 24px rgba(25,45,85,.06);border-collapse:separate;border-spacing:0}
.page-main .entry-content .woocommerce-MyAccount-content table th,.page-main .entry-content .woocommerce-MyAccount-content table td{width:auto;padding:calc(.14 * var(--r)) calc(.18 * var(--r));border:0;border-top:1px solid #eef1f5;background:none;font-size:max(13px,calc(.14 * var(--r)));white-space:normal}
.page-main .entry-content .woocommerce-MyAccount-content table thead th{border-top:0;background:#f6f8fb;font-weight:600;color:#4a4f57}
.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-number a{font-weight:600;color:var(--blue);font-family:var(--f-num)}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-button.button{height:max(26px,calc(.34 * var(--r)));padding:0 calc(.16 * var(--r));border:1px solid #b9cbe6;background:#fff;color:var(--blue);font-size:max(12px,calc(.13 * var(--r)))}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-button.button:hover{border-color:var(--blue-2);background:#eef5fd}
.woocommerce-MyAccount-content>form,.woocommerce-MyAccount-content .woocommerce-address-fields,.woocommerce-MyAccount-content .woocommerce-customer-details,.woocommerce-MyAccount-content>p:first-child:not(.ac-lead){padding:max(18px,calc(.24 * var(--r))) max(21px,calc(.28 * var(--r)));border-radius:14px;background:#fff;box-shadow:0 6px 24px rgba(25,45,85,.06)}
.woocommerce-MyAccount-content>form .woocommerce-address-fields{padding:0;box-shadow:none}
.woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 max(15px,calc(.2 * var(--r)))}
.woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper .form-row-wide,.woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper #billing_email_field{grid-column:1/-1}
.woocommerce-account .woocommerce-MyAccount-content .form-row{float:none;width:auto;margin:0 0 calc(.16 * var(--r));padding:0}
.woocommerce-account .woocommerce-MyAccount-content form .form-row .input-text,.woocommerce-account .woocommerce-MyAccount-content form .form-row select{height:max(34px,calc(.46 * var(--r)));padding:0 calc(.14 * var(--r));border:1px solid #dfe4ec;border-radius:10px;background:#f8fafc;font-size:max(14px,calc(.15 * var(--r)))}
.woocommerce-account .woocommerce-MyAccount-content form .form-row .input-text:focus{border-color:var(--blue-2);background:#fff;box-shadow:0 0 0 4px rgba(31,122,216,.12)}
.woocommerce-MyAccount-content fieldset{margin:calc(.08 * var(--r)) 0 calc(.16 * var(--r));padding:calc(.18 * var(--r)) max(15px,calc(.2 * var(--r))) calc(.04 * var(--r));border:1px solid #e6eaf0;border-radius:12px}
.woocommerce-MyAccount-content legend{padding:0 calc(.08 * var(--r));font-size:max(14px,calc(.15 * var(--r)));font-weight:600;color:#1d1f24}
.woocommerce-MyAccount-content .woocommerce-form-row em{display:block;margin-top:calc(.06 * var(--r));font-size:max(12px,calc(.125 * var(--r)));font-style:normal;color:#8a919c}
.woocommerce-MyAccount-content .woocommerce-Address-title h2,.page-main .entry-content .woocommerce-MyAccount-content h2{margin:0 0 calc(.14 * var(--r));font-size:max(16px,calc(.18 * var(--r)))}
.page-main .entry-content .woocommerce-MyAccount-content a{text-decoration:none}
.woocommerce-MyAccount-content #shipping_country_field,.woocommerce-MyAccount-content #billing_country_field{display:none!important} /* 只卖中国大陆，国家固定（WooCommerce 脚本会写行内 display） */
.woocommerce-account .woocommerce-MyAccount-content form .form-row select{padding:0 max(30px,calc(.4 * var(--r))) 0 calc(.14 * var(--r));color:#1d1f24;-webkit-appearance:none;appearance:none;background:#f8fafc url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%238a93a0' stroke-width='1.6'%3E%3Cpath d='m2.5 4.5 3.5 3.5 3.5-3.5'/%3E%3C/svg%3E") no-repeat right 16px center/12px;cursor:pointer}
.woocommerce-MyAccount-content .woocommerce-customer-details address{padding:calc(.14 * var(--r)) calc(.16 * var(--r));border:0;border-radius:10px;background:#f8fafc;line-height:1.9}
.woocommerce-MyAccount-content .ac-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 max(15px,calc(.2 * var(--r)))}
.woocommerce-MyAccount-content .ac-grid .ac-wide{grid-column:1/-1}
.woocommerce-MyAccount-content .ac-actions{margin:calc(.08 * var(--r)) 0 0}
.woocommerce-MyAccount-content mark{padding:0 calc(.04 * var(--r));border-radius:4px;background:#eaf3fd;color:var(--blue)}
/* 退出登录：二次确认 */
.lo{width:min(380px,calc(100% - 40px));margin:auto;padding:0;border:0;border-radius:16px;background:#fff;box-shadow:0 30px 80px rgba(10,30,70,.3)}
.lo::backdrop{background:rgba(12,24,48,.45);backdrop-filter:blur(2px)}
.lo[open]{animation:panelIn .35s var(--ease)}
.lo-in{padding:max(22px,calc(.3 * var(--r))) max(21px,calc(.28 * var(--r))) max(18px,calc(.24 * var(--r)));text-align:center}
.lo-ico{display:inline-grid;place-items:center;width:max(39px,calc(.52 * var(--r)));height:max(39px,calc(.52 * var(--r)));border-radius:50%;background:#fff5f2;color:#d4380d}
.lo-ico svg{width:max(18px,calc(.24 * var(--r)));height:max(18px,calc(.24 * var(--r)))}
.lo h2{margin-top:calc(.14 * var(--r));font-size:max(17px,calc(.19 * var(--r)));font-weight:700;color:#151515}
.lo p{margin-top:calc(.08 * var(--r));font-size:max(13px,calc(.14 * var(--r)));line-height:1.7;color:#6b717b}
.lo-btns{display:flex;gap:calc(.12 * var(--r));margin-top:max(16px,calc(.22 * var(--r)))}
.lo-btns>*{flex:1;display:inline-flex;align-items:center;justify-content:center;height:max(33px,calc(.44 * var(--r)));border-radius:99px;font-size:max(14px,calc(.15 * var(--r)));font-weight:600}
.lo-cancel{border:1px solid #d9dee6;color:#3d4148}
.lo-cancel:hover{background:#f6f8fb}
.lo-ok{background:#d4380d;color:#fff;box-shadow:0 8px 20px rgba(212,56,13,.25)}
.lo-ok:hover{background:#b9300b}
@media (max-width:899px){
  .page-main .entry-content .woocommerce:has(>.ac-nav){grid-template-columns:minmax(0,1fr);gap:16px}
  .page-main .entry-content .woocommerce:has(>.ac-nav)>.ac-nav{grid-column:1;grid-row:2}
  .page-main .entry-content .woocommerce:has(>.ac-nav)>.woocommerce-MyAccount-content{grid-column:1;grid-row:3}
  .ac-nav{position:static}
  .ac-me{padding:16px}
  .woocommerce-account .ac-nav ul{display:flex;gap:6px;margin:0;padding:10px 12px 0;overflow-x:auto;scrollbar-width:none}
  .ac-nav ul::-webkit-scrollbar{display:none}
  .ac-nav li a{padding:8px 14px;border-radius:99px;background:#f4f7fb;font-size:14px;white-space:nowrap}
  .ac-nav li.is-active a{background:var(--blue-2);color:#fff}
  .ac-nav li.is-active a svg{color:#fff}
  .ac-nav li.is-active a::before{display:none}
  .ac-nav li.woocommerce-MyAccount-navigation-link--customer-logout{margin:0;padding:0;border:0}
  /* 手机上菜单是一排横滑按钮，「退出登录」排在最后看不到（2026-11-13 桂屹反馈）：固定到账户卡片右上角 */
  .ac-nav{position:relative;top:auto}
  .ac-me{padding-right:96px}
  .ac-nav li.woocommerce-MyAccount-navigation-link--customer-logout{position:absolute;top:16px;right:12px}
  .ac-nav li.woocommerce-MyAccount-navigation-link--customer-logout a{padding:6px 12px;border:1px solid #e3e7ee;background:#fff;font-size:13px;color:#6b717b}
  .ac-nav li.woocommerce-MyAccount-navigation-link--customer-logout a svg{width:14px;height:14px}
  .ac-hello{flex-direction:column;align-items:flex-start;padding:22px 20px}
  .ac-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .ac-card{padding:20px 18px}
  .ac-orders a{grid-template-columns:minmax(0,1fr) auto;gap:6px 12px}
  .ac-o-total{grid-column:2;grid-row:2;font-size:14px}
  .ac-orders .ac-status{grid-column:2;grid-row:1}
  .ac-addrs,.ac-duo,.ab-list{grid-template-columns:minmax(0,1fr)}
  .woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper,.woocommerce-MyAccount-content .ac-grid{grid-template-columns:minmax(0,1fr)}
  .woocommerce-MyAccount-content>form,.woocommerce-MyAccount-content .woocommerce-customer-details{padding:20px 18px}
}

/* =========================================================
   登录 / 注册（woocommerce/myaccount/form-login.php）：左品牌面板 + 右登录卡片
   ========================================================= */
.page-main:has(.lg){padding:max(36px,calc(.5 * var(--r))) 0 max(56px,calc(.8 * var(--r)));background:linear-gradient(180deg,#f2f6fb 0%,#fff 70%)}
.page-main .wrap:has(.lg)>.entry-title{display:none}
.page-main .woocommerce:has(.lg){margin:0}
.lg{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1fr);min-height:max(450px,calc(6 * var(--r)));overflow:hidden;border-radius:20px;background:#fff;box-shadow:0 0 0 1px rgba(31,122,216,.08),0 30px 70px rgba(25,45,85,.12)}
/* 品牌面板 */
.lg-brand{position:relative;isolation:isolate;overflow:hidden;color:#fff;background:#1764bd}
.lg-brand-bg{position:absolute;inset:0;z-index:-2;background:linear-gradient(160deg,rgba(10,70,170,.95) 0%,rgba(23,100,200,.82) 55%,rgba(60,150,235,.7) 100%),url(../img/bar-bg.webp) center/cover no-repeat}
.lg-orb{position:absolute;right:calc(-1.2 * var(--r));bottom:calc(-1.4 * var(--r));z-index:-1;width:max(285px,calc(3.8 * var(--r)));aspect-ratio:1;border-radius:50%;background:linear-gradient(180deg,#2b6ef0 5%,#72a7f8 57%,#bcd7fd 100%);opacity:.55;--k:.3px}
.lg-orb::before{content:"";position:absolute;inset:-8%;border:1.5px dashed rgba(255,255,255,.35);border-radius:50%;animation:spin 60s linear infinite}
.lg-orb .h-ripple{border-width:2px}
.lg-brand-in{display:flex;flex-direction:column;height:100%;padding:max(42px,calc(.56 * var(--r))) max(36px,calc(.48 * var(--r))) max(33px,calc(.44 * var(--r)))}
.lg-eyebrow{display:flex;align-items:center;gap:calc(.1 * var(--r));font-size:max(12px,calc(.12 * var(--r)));font-weight:500;letter-spacing:.2em;color:rgba(255,255,255,.75);font-family:"Helvetica Neue",Arial,sans-serif}
.lg-eyebrow::before{content:"";width:max(21px,calc(.28 * var(--r)));height:1px;background:currentColor}
.lg-title{margin-top:calc(.18 * var(--r));font-size:max(31px,calc(.34 * var(--r)));line-height:1.3;font-weight:300;letter-spacing:.02em}
.lg-sub{margin-top:calc(.12 * var(--r));font-size:max(14px,calc(.15 * var(--r)));line-height:1.8;color:rgba(255,255,255,.85)}
.lg-perks{display:grid;gap:calc(.14 * var(--r));margin-top:max(26px,calc(.34 * var(--r)))}
.lg-perks li{display:flex;align-items:center;gap:calc(.12 * var(--r));font-size:max(14px,calc(.15 * var(--r)));line-height:1.5}
.lg-perks svg{flex:none;width:max(18px,calc(.24 * var(--r)));height:max(18px,calc(.24 * var(--r)));padding:calc(.05 * var(--r));border-radius:50%;background:rgba(255,255,255,.18);box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}
.lg-help{margin-top:auto;padding-top:max(30px,calc(.4 * var(--r)));font-size:max(12px,calc(.13 * var(--r)));color:rgba(255,255,255,.72)}
.lg-help a{font-weight:600;color:#fff}
/* 登录卡片 */
.lg-main{position:relative;display:flex;flex-direction:column;padding:max(42px,calc(.56 * var(--r))) max(48px,calc(.64 * var(--r))) max(27px,calc(.36 * var(--r)))}
.lg-corner{position:absolute;top:0;right:0;z-index:2;width:max(57px,calc(.76 * var(--r)));height:max(57px,calc(.76 * var(--r)));color:var(--blue-2);background:linear-gradient(225deg,#e8f2fd 0 50%,transparent 50%);border-top-right-radius:20px;transition:color .3s}
.lg-corner span{position:absolute;top:calc(.1 * var(--r));right:calc(.1 * var(--r));width:max(22px,calc(.3 * var(--r)));height:max(22px,calc(.3 * var(--r)))}
.lg-corner svg{width:100%;height:100%}
.lg-corner em{position:absolute;top:calc(.14 * var(--r));right:max(60px,calc(.8 * var(--r)));padding:calc(.04 * var(--r)) calc(.1 * var(--r));border-radius:6px;background:#1d1f24;color:#fff;font-size:max(12px,calc(.12 * var(--r)));font-style:normal;white-space:nowrap;opacity:0;transform:translateX(6px);transition:.3s;pointer-events:none}
.lg-corner:hover{color:var(--blue)}
.lg-corner:hover em{opacity:1;transform:none}
.lg[data-view="wechat"] .lg-to-qr,.lg:not([data-view="wechat"]) .lg-to-form{display:none}
.lg-tabs{position:relative;display:flex;gap:max(24px,calc(.32 * var(--r)));margin-bottom:max(22px,calc(.3 * var(--r)));border-bottom:1px solid #e9edf3}
.lg-tabs button{padding:0 0 calc(.14 * var(--r));font-size:max(16px,calc(.18 * var(--r)));color:#6b717b;transition:color .3s}
.lg-tabs button:hover{color:var(--blue-2)}
.lg-tabs button[aria-selected="true"]{font-weight:700;color:#151515}
.lg-ink{position:absolute;left:0;bottom:-1px;width:0;height:calc(.03 * var(--r));border-radius:2px;background:var(--blue-2);transition:transform .45s var(--ease),width .45s var(--ease)}
.lg[data-view="wechat"] .lg-tabs,.lg[data-view="register"] .lg-tabs{display:none}
html:not(.js) .lg-tabs,html:not(.js) .lg-corner,html:not(.js) .lg-foot{display:none}
.js .lg-panel:not(.is-on){display:none}
.lg-panel.is-on{animation:panelIn .4s var(--ease)}
html:not(.js) .lg-panel+.lg-panel{margin-top:max(30px,calc(.4 * var(--r)));padding-top:max(24px,calc(.32 * var(--r)));border-top:1px dashed #e6eaf0}
.lg-h{margin-bottom:max(18px,calc(.24 * var(--r)));font-size:max(20px,calc(.22 * var(--r)));font-weight:700;color:#151515}
/* 抵消页面正文（.entry-content）和 WooCommerce 自带的表单样式 */
.page-main .entry-content .lg ul{padding:0;list-style:none}
.page-main .entry-content .lg a{text-decoration:none}
.page-main .entry-content .lg-help a{color:#fff}
.page-main .entry-content .lg .lg-h{margin-top:0;font-size:max(20px,calc(.22 * var(--r)))}
.woocommerce .lg form.login,.woocommerce .lg form.register{margin:0;padding:0;border:0;border-radius:0}
.woocommerce .lg .form-row{margin:0 0 calc(.18 * var(--r));padding:0}
.woocommerce .lg .form-row label{display:block;margin-bottom:calc(.08 * var(--r));font-size:max(13px,calc(.14 * var(--r)));line-height:1.5;color:#4a4f57}
.woocommerce .lg .form-row .input-text{height:max(36px,calc(.48 * var(--r)));padding:0 calc(.16 * var(--r));border:1px solid #dfe4ec;border-radius:10px;background:#f8fafc;font-size:max(14px,calc(.15 * var(--r)));color:#1d1f24}
.woocommerce .lg .form-row .input-text:focus{border-color:var(--blue-2);background:#fff;box-shadow:0 0 0 4px rgba(31,122,216,.12)}
.woocommerce .lg .form-row .input-text::placeholder{color:#a9b0ba}
.lg .password-input{position:relative;display:block}
.lg .show-password-input{position:absolute;top:50%;right:calc(.14 * var(--r));width:max(16px,calc(.22 * var(--r)));height:max(16px,calc(.22 * var(--r)));margin-top:calc(-.11 * var(--r));border:0;background:none;color:#8a919c;cursor:pointer}
.lg-row{display:flex;align-items:center;justify-content:space-between;margin:-2px 0 max(18px,calc(.24 * var(--r)));font-size:max(13px,calc(.14 * var(--r)));line-height:max(18px,calc(.2 * var(--r)));color:#6b717b}
.woocommerce .lg .lg-row label{display:inline-flex;align-items:center;gap:calc(.08 * var(--r));margin:0;line-height:max(18px,calc(.2 * var(--r)));cursor:pointer}
.woocommerce .lg .lg-row input{width:calc(.16 * var(--r));height:calc(.16 * var(--r));margin:0;accent-color:var(--blue-2)}
.lg-link{padding:0;font-size:max(13px,calc(.14 * var(--r)));color:var(--blue);transition:color .3s}
.lg-link:hover{color:var(--blue-2);text-decoration:underline;text-underline-offset:3px}
.lg-submit{display:block;width:100%;height:max(38px,calc(.5 * var(--r)));border-radius:12px;background:linear-gradient(90deg,#1f7ad8,#1561c4);color:#fff;font-size:max(14px,calc(.16 * var(--r)));font-weight:600;letter-spacing:.1em;box-shadow:0 10px 24px rgba(23,100,189,.26);transition:box-shadow .3s,transform .3s}
.lg-submit:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(23,100,189,.36)}
.lg-note{margin-top:calc(.14 * var(--r));font-size:max(12px,calc(.13 * var(--r)));line-height:1.7;color:#8a919c}
.lg-center{text-align:center}
.lg-note .lg-link{font-size:max(12px,calc(.13 * var(--r)))}
.lg .woocommerce-privacy-policy-text{margin:0 0 calc(.18 * var(--r))}
.lg .woocommerce-privacy-policy-text p{font-size:max(12px,calc(.13 * var(--r)));line-height:1.7;color:#8a919c}
/* 验证码、微信：入口，服务开通前不可用 */
.lg-soon{display:flex;align-items:center;gap:calc(.1 * var(--r));margin-bottom:max(16px,calc(.22 * var(--r)));padding:calc(.12 * var(--r)) calc(.14 * var(--r));border-radius:10px;background:#fff8ec;font-size:max(12px,calc(.13 * var(--r)));line-height:1.6;color:#94530a}
.lg-soon svg{flex:none;width:calc(.18 * var(--r));height:calc(.18 * var(--r))}
.lg-sms{margin:0;padding:0;border:0;min-width:0}
.lg-sms[disabled]{opacity:.55}
.lg-phone,.lg-code{display:flex;gap:calc(.1 * var(--r))}
.lg-phone b{display:grid;place-items:center;flex:none;width:max(51px,calc(.68 * var(--r)));height:max(36px,calc(.48 * var(--r)));border:1px solid #dfe4ec;border-radius:10px;background:#f8fafc;font-weight:500;color:#3d4148;font-family:var(--f-num)}
.lg-code button{flex:none;width:max(88px,calc(1.18 * var(--r)));border:1px solid #b9cbe6;border-radius:10px;background:#fff;color:var(--blue);font-size:max(13px,calc(.14 * var(--r)))}
.lg-sms[disabled] button,.lg-sms[disabled] input{cursor:not-allowed}
/* 验证码登录（2026-11-13）：同意协议、提示、倒计时 */
.lg-sms .lg-row{margin-top:max(4px,calc(.04 * var(--r)))}
.woocommerce .lg .lg-agree{align-items:flex-start;line-height:1.6;color:#5b616b}
.woocommerce .lg .lg-agree input{flex:none;margin-top:max(3px,calc(.04 * var(--r)))}
.lg-agree .lg-link{font-size:inherit}
.lg-msg{margin:0 0 max(12px,calc(.16 * var(--r)));padding:calc(.1 * var(--r)) calc(.14 * var(--r));border-radius:10px;background:#fff1f0;font-size:max(12px,calc(.13 * var(--r)));line-height:1.6;color:#c2410c}
.lg-msg.is-ok{background:#ecfdf3;color:#127a46}
.lg-code button:disabled{border-color:#dfe4ec;color:#9aa1ab;cursor:default}
.lg-submit:disabled{opacity:.6;cursor:wait;transform:none;box-shadow:none}
/* 手机上的登录页不显示左下角宝小锐：会压住「同意协议」勾选框，没登录也用不了 AI 助手（2026-11-13） */
@media (max-width:899px){body.woocommerce-account:not(.logged-in) .bai-fab{display:none}}
.lg-qr{position:relative;display:grid;place-items:center;align-content:center;gap:calc(.12 * var(--r));width:max(150px,calc(2 * var(--r)));height:max(150px,calc(2 * var(--r)));margin:calc(.08 * var(--r)) auto 0;border-radius:16px;background:repeating-linear-gradient(45deg,#f3f6fa 0 10px,#eef2f7 10px 20px);box-shadow:inset 0 0 0 1px #e3e8ef}
.lg-qr-ico{display:grid;place-items:center;width:max(42px,calc(.56 * var(--r)));height:max(42px,calc(.56 * var(--r)));border-radius:50%;background:#07c160;color:#fff;box-shadow:0 8px 20px rgba(7,193,96,.3)}
.lg-qr-ico svg{width:max(24px,calc(.32 * var(--r)));height:max(24px,calc(.32 * var(--r)))}
.lg-qr b{font-size:max(13px,calc(.14 * var(--r)));font-weight:600;color:#4a4f57}
.lg[data-view="wechat"] .lg-panel{text-align:center}
/* 底部：注册切换、其他方式 */
.lg-foot{display:flex;align-items:center;justify-content:space-between;gap:calc(.16 * var(--r));margin-top:auto;padding-top:max(21px,calc(.28 * var(--r)));font-size:max(13px,calc(.14 * var(--r)));color:#6b717b}
.lg-foot p{margin:0}
.lg[data-view="register"] .lg-foot-login,.lg:not([data-view="register"]) .lg-foot-reg{display:none}
.lg-other{display:flex;align-items:center;gap:calc(.1 * var(--r))}
.lg-other span{margin-right:2px;font-size:max(12px,calc(.13 * var(--r)));color:#a0a7b1}
.lg-other-btn{display:grid;place-items:center;width:max(27px,calc(.36 * var(--r)));height:max(27px,calc(.36 * var(--r)));border:1px solid #e3e8ef;border-radius:50%;color:#6b717b;transition:color .3s,border-color .3s,background .3s}
.lg-other-btn svg{width:calc(.18 * var(--r));height:calc(.18 * var(--r))}
.lg-other-btn:hover{border-color:var(--blue-2);color:var(--blue)}
.lg-other-btn.is-wechat:hover{border-color:#07c160;background:#07c160;color:#fff}
@media (max-width:899px){
  .page-main:has(.lg){padding:16px 0 40px}
  .lg{grid-template-columns:1fr;min-height:0;border-radius:16px}
  .lg-brand-in{padding:28px 22px}
  .lg-title{margin-top:12px;font-size:24px}
  .lg-perks{gap:10px;margin-top:20px}
  .lg-perks li{font-size:14px}
  .lg-help{padding-top:20px}
  .lg-orb{width:240px;right:-90px;bottom:-110px}
  .lg-main{padding:32px 20px 24px}
  .lg-tabs{gap:24px;margin-bottom:24px}
  .lg-tabs button{font-size:16px}
  .lg-foot{flex-direction:column;align-items:flex-start}
}

/* =========================================================
   产品中心首页（一级页面）：视觉和动效沿用首页
   - 标题区：首页主屏的蓝色条纹底图 + 光尘粒子 + 跟随鼠标的光斑 + 渐变大圆和波纹（不用从左往右扫的光束，按要求去掉）
   - 产品线：首页「按您的应用方向探索」卡片（.app），三列并排，加细分类列表
   - 询价条：首页功能条的底图（.qbar-bg）
   进场动画用 main.js 的 data-reveal，大圆和底图在 html.is-ready 后进场
   ========================================================= */
.pl-main{background:#fff}
.pl-hero{position:relative;overflow:hidden;color:#fff;background:#0a5ad6;isolation:isolate;--k:calc(100vw / 1921)}
.pl-hero-bg{position:absolute;inset:-2%;background:url(../img/hero-bg.webp) 30% 50%/cover no-repeat}
.js .pl-hero-bg{transform:scale(1.12);filter:blur(8px)}
.is-ready .pl-hero-bg{transform:none;filter:none;transition:transform 2.2s var(--ease),filter 1.4s var(--ease)}
.pl-dust{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.pl-spot{position:absolute;inset:0;pointer-events:none;background:radial-gradient(calc(.5 * var(--r) * 9) circle at var(--sx,70%) var(--sy,40%),rgba(255,255,255,.22),transparent 70%);mix-blend-mode:soft-light;opacity:0;transition:opacity .6s}
.pl-hero:hover .pl-spot{opacity:1}
.pl-orb{position:absolute;right:calc(-.9 * var(--r));top:50%;width:calc(5.2 * var(--r));aspect-ratio:1;margin-top:calc(-2.6 * var(--r));border-radius:50%;background:linear-gradient(180deg,#034eeb 5%,#72a7f8 57%,#bcd7fd 100%);box-shadow:0 0 calc(1.2 * var(--r)) rgba(114,167,248,.35);translate:var(--ox,0) var(--oy,0)}
.pl-orb::before{content:"";position:absolute;inset:-7%;border:1.5px dashed rgba(255,255,255,.32);border-radius:50%;animation:spin 60s linear infinite}
.pl-orb::after{content:"";position:absolute;inset:16%;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.55),rgba(255,255,255,0) 60%);mix-blend-mode:soft-light}
.pl-orb .h-ripple{border-width:2px}
.js .pl-orb{transform:scale(.35);opacity:0}
.is-ready .pl-orb{transform:none;opacity:1;transition:transform 1.5s var(--ease-back) .25s,opacity .6s .25s}
.pl-hero-in{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;min-height:calc(4.6 * var(--r));padding:calc(.36 * var(--r)) 0 calc(.5 * var(--r))}
.pl-hero .ph-crumbs{margin:0 0 calc(.3 * var(--r))}
.pl-eyebrow{display:flex;align-items:center;gap:calc(.1 * var(--r));font-size:max(12px,calc(.15 * var(--r)));font-weight:500;letter-spacing:.2em;color:rgba(255,255,255,.75);font-family:"Helvetica Neue",Arial,sans-serif}
.pl-eyebrow::before{content:"";width:max(24px,calc(.32 * var(--r)));height:1px;background:currentColor}
.pl-title{margin-top:calc(.16 * var(--r));font-size:max(30px,calc(.58 * var(--r)));line-height:1.25;font-weight:300;letter-spacing:.02em;text-shadow:0 4px 30px rgba(0,30,90,.25)}
.pl-accent{font-size:.6em;font-weight:500;letter-spacing:.06em;color:#d6e8ff}
.pl-intro{max-width:calc(6 * var(--r));margin-top:calc(.22 * var(--r));font-size:max(14px,calc(.17 * var(--r)));line-height:1.9;color:rgba(255,255,255,.82)}
/* 搜索框：玻璃质感；一段流光沿边框绕行；获得焦点时不变白，只是流光加快、变亮 */
@property --pl-angle{syntax:"<angle>";inherits:false;initial-value:0deg}
.pl-search{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;max-width:calc(5.6 * var(--r));height:max(50px,calc(.58 * var(--r)));margin-top:calc(.34 * var(--r));padding:0 calc(.06 * var(--r)) 0 max(15px,calc(.2 * var(--r)));border-radius:99px;background:linear-gradient(90deg,rgba(255,255,255,.16),rgba(255,255,255,.07));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22),0 18px 40px rgba(0,30,90,.18);transition:box-shadow .5s}
.pl-search::before,.pl-flow{content:"";position:absolute;inset:0;z-index:-1;padding:1.6px;border-radius:inherit;background:conic-gradient(from var(--pl-angle),transparent 0deg 225deg,rgba(140,195,255,.55) 285deg,#fff 332deg,transparent 348deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.65;animation:plOrbit 5s linear infinite;transition:opacity .5s;pointer-events:none}
/* 流光后面的柔光：同一道光，加宽、模糊 */
.pl-flow{padding:calc(.07 * var(--r));filter:blur(7px);opacity:.55}
.pl-search:focus-within .pl-flow{opacity:.9;animation-duration:2.4s}
@keyframes plOrbit{to{--pl-angle:360deg}}
.pl-search svg{flex:none;width:calc(.18 * var(--r));color:rgba(255,255,255,.8);transition:color .4s}
.pl-search input{flex:1;min-width:0;height:100%;padding:0 calc(.12 * var(--r));border:0;background:none;color:#fff;caret-color:#fff;font:inherit;font-size:max(15px,calc(.16 * var(--r)));outline:none}
.pl-search input::placeholder{color:rgba(255,255,255,.65);transition:color .4s}
.pl-search input::-webkit-search-cancel-button{filter:invert(1);opacity:.6}
.pl-search button{position:relative;overflow:hidden;flex:none;height:calc(100% - 12px);padding:0 max(22px,calc(.3 * var(--r)));border-radius:99px;background:#fff;color:var(--blue);font-size:max(14px,calc(.15 * var(--r)));font-weight:600;transition:box-shadow .4s,transform .4s var(--ease)}
.pl-search button::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:45%;background:linear-gradient(100deg,transparent,rgba(31,122,216,.18),transparent);transform:skewX(-20deg);transition:left .7s var(--ease)}
.pl-search button:hover{box-shadow:0 8px 22px rgba(0,30,90,.28);transform:translateY(-1px)}
.pl-search button:hover::after{left:120%}
.pl-search:focus-within{box-shadow:inset 0 0 0 1px rgba(255,255,255,.3),0 24px 54px rgba(0,30,90,.26)}
.pl-search:focus-within::before{opacity:1;animation-duration:2.4s}
.pl-search:focus-within svg{color:#fff}
.pl-search:focus-within input::placeholder{color:rgba(255,255,255,.45)}
.pl-hint{margin-top:calc(.12 * var(--r));font-size:max(12px,calc(.13 * var(--r)));color:rgba(255,255,255,.62)}

/* ---------- 产品中心首页：通栏 Banner（2026-10-27 改：整张底图铺满，字和搜索框单独叠在左边，和新闻资讯等页面一样）---------- */
/* 底图 2998×609 ≈ 19.2r×3.9r：1536 以上刚好铺满不裁；窄一点的屏幕裁掉左右两边，object-position 偏左让右边的产品不碰到搜索框 */
.pl-banner{position:relative;overflow:hidden;isolation:isolate;background:#eceef1}
.pl-banner-img{position:absolute;inset:0;z-index:-1}
.pl-banner-img img{display:block;width:100%;height:100%;object-fit:cover;object-position:25% 50%}
.js .pl-banner-img img{transform:scale(1.06)}
.is-ready .pl-banner-img img{transform:none;transition:transform 2s var(--ease)}
.pl-banner-in{display:flex;flex-direction:column;justify-content:center;min-height:calc(3.9 * var(--r));padding:calc(.3 * var(--r)) 0 calc(.4 * var(--r))}
.pl-banner .ph-crumbs{margin:0 0 calc(.26 * var(--r));color:#7b818a}
.pl-banner .ph-crumbs a:hover,.pl-banner .ph-crumbs [aria-current]{color:#2a2c30}
.pl-banner .pl-eyebrow{color:var(--blue-2)}
.pl-banner .pl-title{color:#2a2c30;text-shadow:none}
.pl-banner .pl-intro{color:#5f656e}
.pl-banner .pl-search{max-width:calc(5 * var(--r));background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 12px 30px rgba(25,45,85,.12),inset 0 0 0 1px #e3e8ef}
.pl-banner .pl-search svg{color:#9aa1ab}
.pl-banner .pl-search input{color:#22252b;caret-color:var(--blue)}
.pl-banner .pl-search input::placeholder{color:#9aa1ab}
.pl-banner .pl-search input::-webkit-search-cancel-button{filter:none}
.pl-banner .pl-search button{background:linear-gradient(135deg,#2a86e6,#1559b8);color:#fff}
.pl-banner .pl-search:focus-within{box-shadow:0 16px 40px rgba(25,45,85,.16),inset 0 0 0 1px rgba(31,122,216,.35)}
.pl-banner .pl-search:focus-within svg{color:var(--blue-2)}
.pl-banner .pl-search:focus-within input::placeholder{color:#b5bbc4}
/* 手机：底图放不下字，产品图在上面单独一条（裁到产品），字和搜索框放在下面 */
@media (max-width:899px){
  .pl-banner{display:flex;flex-direction:column;background:#fff}
  .pl-banner-img{position:relative;inset:auto;z-index:auto;height:150px;overflow:hidden;background:#eceef1}
  .pl-banner-img img{object-position:62% 50%}
  .pl-banner-in{min-height:0;padding:18px 0 10px}
  .pl-banner .ph-crumbs{margin-bottom:14px}
  .pl-banner .pl-search{max-width:none}
}

/* 三大产品线：首页应用方向卡片 + 细分类 */
.pl-lines{position:relative;overflow:hidden;padding:calc(.9 * var(--r)) 0 calc(.8 * var(--r));background:radial-gradient(50% 55% at 96% 45%,rgba(196,222,250,.45),transparent 70%),radial-gradient(40% 50% at 0% 0%,rgba(214,232,255,.45),transparent 70%),#fff}
.pl-grid{align-items:stretch;margin-top:0}
.pl-card{display:flex;flex-direction:column}
.pl-card h3 a{transition:color .4s}
.pl-subs{margin-top:calc(.26 * var(--r));border-top:1px solid #e3e8f0}
.pl-subs li{position:relative;border-bottom:1px solid #eef1f5}
.pl-subs a::after{content:"";position:absolute;inset:0}
.pl-card .app-head{position:relative}
.pl-card h3 a::after{content:"";position:absolute;inset:0}
.pl-subs small{pointer-events:none}
.pl-subs a{display:flex;align-items:center;justify-content:space-between;gap:calc(.1 * var(--r));padding:calc(.13 * var(--r)) 0;font-size:max(15px,calc(.18 * var(--r)));font-weight:500;color:#2a2c30;transition:color .3s,transform .4s var(--ease)}
.pl-subs a i{font-style:normal;font-weight:400;color:#b6c2d4;transition:transform .4s var(--ease),color .3s}
.pl-subs a:hover i{color:var(--blue-2);transform:translateX(4px)}
.pl-subs a span{display:inline-block;transition:transform .4s var(--ease)}
.pl-subs a:hover{color:var(--blue-2)}
.pl-subs a:hover span{transform:translateX(6px)}
.pl-subs small{display:block;margin:calc(-.08 * var(--r)) 0 calc(.12 * var(--r));font-size:max(12px,calc(.14 * var(--r)));line-height:1.6;color:#9aa3af}
.js .pl-card[data-reveal="col"] .pl-subs{opacity:0;transform:translate3d(0,30px,0);transition:opacity .9s var(--ease) calc(var(--d) + .44s),transform 1s var(--ease) calc(var(--d) + .44s)}
.js .pl-card[data-reveal="col"].is-in .pl-subs{opacity:1;transform:none}

/* 询价条：首页功能条底图 */
.pl-help{position:relative;padding-bottom:calc(1 * var(--r));background:#fff}
.pl-help-in{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:max(18px,calc(.24 * var(--r)));min-height:calc(1.61 * var(--r));padding:calc(.3 * var(--r)) calc(.5 * var(--r));border-radius:calc(.16 * var(--r));color:#fff;box-shadow:0 24px 60px rgba(15,63,149,.22)}
.pl-help-in>*:not(.qbar-bg){position:relative}
.pl-help h2{font-size:max(22px,calc(.28 * var(--r)));font-weight:600;letter-spacing:.02rem;line-height:1.3}
.pl-help p{margin-top:calc(.1 * var(--r));font-size:max(14px,calc(.17 * var(--r)));color:rgba(255,255,255,.75)}
.pl-help-btns{flex:none;display:flex;gap:calc(.14 * var(--r))}
.pl-btn-white{background:#fff;color:var(--blue);box-shadow:0 10px 24px rgba(5,40,110,.25)}
.pl-btn-white:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(5,40,110,.32)}
.pl-btn-line{border:1px solid rgba(255,255,255,.6);color:#fff}
.pl-btn-line:hover{background:rgba(255,255,255,.12)}

@media (max-width:1100px){
  .pl-orb{opacity:.55!important;right:-30%}
  .pl-grid{grid-template-columns:1fr;gap:max(30px,calc(.4 * var(--r)))}
}
@media (max-width:899px){
  .pl-hero{--k:calc(100vw / 760)}
  .pl-hero-in{min-height:0;padding:28px 0 44px}
  .pl-orb{width:380px;margin-top:0;top:auto;bottom:-150px;right:-150px}
  .pl-title{font-size:30px}
  .pl-intro{font-size:14px}
  .pl-search{height:50px;padding-left:16px}
  .pl-lines{padding:44px 0 56px}
  .pl-subs{margin-top:14px}
  .pl-subs a{padding:12px 0;font-size:15px}
  .pl-subs small{margin:-6px 0 12px;font-size:12px}
  .pl-help{padding-bottom:48px}
  .pl-help-in{flex-direction:column;align-items:flex-start;padding:26px 20px;border-radius:14px}
  .pl-help-btns{width:100%}
  .pl-help-btns .pd-btn{flex:1}
}
