/* ============================================================
   Boyue Astra Child — 单品页样式
   拆自 shop.css（FTP 单文件上限约 10KB）
   ============================================================ */

/* ============================================================
   单品页
   ============================================================ */
.by-pdp-wrap{
  max-width:1200px;
  margin:0 auto;
  padding:8px 20px 80px;
}

/* 面包屑 */
.by-crumb{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  font-size:12.5px;
  color:#a99e98;
  padding:18px 0 22px;
}
.by-crumb a{
  color:var(--boyue-sub) !important;
  text-decoration:none !important;
}
.by-crumb a:hover{ color:var(--boyue-accent) !important; }
.by-crumb span{ opacity:.45; }
.by-crumb em{ font-style:normal; color:var(--boyue-ink); }

/* 两栏 */
.by-pdp{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
  gap:48px;
  align-items:start;
}

/* 左：图 */
.by-pdp-main{
  position:relative;
  background:#f7f3ef;
  border:1px solid var(--boyue-line);
  border-radius:16px;
  overflow:hidden;
  aspect-ratio:1 / 1;
}
.by-pdp-photo{
  position:absolute; inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  margin:0;
}
.by-pdp-noimg{
  display:flex; align-items:center; justify-content:center;
  height:100%; color:#b3a69f; font-size:14px;
}
.by-pdp-thumbs{
  display:flex;
  gap:8px;
  margin-top:10px;
}
.by-pdp-thumb{
  width:64px; height:80px;
  padding:0; border:1px solid var(--boyue-line);
  border-radius:8px; overflow:hidden; background:#fff;
  cursor:pointer;
}
.by-pdp-thumb.is-on{ border-color:var(--boyue-rose); }
.by-pdp-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.by-pdp-img-note{
  margin-top:10px;
  font-size:11.5px;
  color:#b3a69f;
}

/* 右：信息 */
.by-pdp-cat{
  display:inline-block;
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--boyue-champagne) !important;
  font-weight:600;
  text-decoration:none !important;
  margin-bottom:8px;
}
.by-pdp-info h1{
  font-size:clamp(24px,2.6vw,32px);
  line-height:1.25;
  margin:0 0 8px;
  letter-spacing:-.01em;
  color:var(--boyue-ink);
}
.by-pdp-sku{
  font-size:12.5px;
  color:#a99e98;
  margin-bottom:16px;
}
.by-pdp-sku .dot{ opacity:.5; margin:0 4px; }

.by-pdp-price{
  display:flex;
  align-items:baseline;
  gap:8px;
}
.by-pdp-price .main{
  font-size:28px;
  font-weight:700;
  color:var(--boyue-ink);
  letter-spacing:-.01em;
}
.by-pdp-price .unit{
  font-size:13px;
  color:#a99e98;
}
.by-pdp-price-sub{
  font-size:13px;
  color:var(--boyue-sub);
  margin-top:4px;
}
.by-pdp-price-sub .sep{ opacity:.4; margin:0 6px; }

.by-pdp-quick{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:16px 0 18px;
}
.by-pdp-quick span{
  font-size:12.5px;
  color:var(--boyue-sub);
  background:#fff;
  border:1px solid var(--boyue-line);
  border-radius:99px;
  padding:5px 11px;
}

.by-pdp-buy{
  display:flex;
  gap:10px;
  align-items:stretch;
  margin-bottom:14px;
}
.by-pdp-add{
  flex:1 1 auto;
  background:var(--boyue-rose);
  color:#fff;
  border:1px solid var(--boyue-rose);
  border-radius:11px;
  padding:14px 20px;
  font-size:14.5px;
  font-weight:600;
  cursor:pointer;
  transition:background .16s ease, border-color .16s ease;
}
.by-pdp-add:hover{
  background:var(--boyue-accent);
  border-color:var(--boyue-accent);
}
.by-pdp-ask{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  padding:14px 20px;
  border:1px solid var(--boyue-rose) !important;
  border-radius:11px;
  color:var(--boyue-accent) !important;
  font-size:14px;
  text-decoration:none !important;
  background:#fff !important;
}
.by-pdp-ask:hover{
  background:#fdf6f2;
  color:var(--boyue-accent) !important;
}

.by-pdp-note{
  font-size:12px;
  color:#a99e98;
  line-height:1.7;
  padding:12px 14px;
  background:#fbf7f3;
  border-radius:10px;
  margin-bottom:0;
}

/* 标题与小注 */
.by-pdp-h3{
  font-size:16px;
  margin:0 0 12px;
  color:var(--boyue-ink);
  letter-spacing:-.01em;
}
.by-h3-note{
  font-size:11.5px;
  font-weight:400;
  color:#b08968;
  margin-left:6px;
  letter-spacing:0;
}

/* 规格表 */
.by-spec{
  width:100%;
  border-collapse:collapse;
  margin:0 0 26px;
  font-size:13.5px;
}
.by-spec td{
  padding:9px 0;
  border-bottom:1px solid var(--boyue-line);
  vertical-align:top;
  line-height:1.5;
}
.by-spec td:first-child{
  width:44%;
  color:#a99e98;
  padding-right:16px;
}
.by-spec td:last-child{
  color:var(--boyue-ink);
}
.by-spec td.pending{
  color:#b08968;
}
.by-spec tr:last-child td{ border-bottom:0; }

.by-tiers td:last-child{ font-weight:600; }
.by-muted{ color:#a99e98; font-weight:400; }

.by-pdp-fine{
  font-size:11.5px;
  color:#b3a69f;
  margin:-14px 0 0;
  line-height:1.7;
}

/* 描述 */
.by-pdp-desc{
  margin-top:38px;
  padding-top:0;
  border-top:0;
  max-width:78ch;
}
.by-pdp-desc p{
  font-size:15px;
  line-height:1.8;
  color:var(--boyue-sub);
  margin:0 0 12px;
}

/* 相关产品 */
.by-pdp-related{
  margin-top:52px;
  padding-top:28px;
  border-top:1px solid var(--boyue-line);
}

/* ---------- 单品页响应式 ---------- */
@media (max-width:900px){
  .by-pdp{
    grid-template-columns:1fr;
    gap:28px;
  }
  .by-pdp-wrap{ padding:4px 16px 60px; }
  .by-pdp-main{ aspect-ratio:1 / 1; }
  .by-pdp-buy{ flex-direction:column; }
  .by-pdp-ask{ width:100%; }
}


/* ============================================================
   单品页 v2 — 信息分层（对标 chunqingbeauty 产品页）
   首屏只放决策必需的 4 个数字 + 4 条交易规则，
   规格表下移、改全宽四列两组
   ============================================================ */

/* 四个关键数字 */
.by-keynums{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  background:var(--boyue-line);
  border:1px solid var(--boyue-line);
  border-radius:13px;
  overflow:hidden;
  margin:16px 0 18px;
}
.by-kn{
  background:#fff;
  padding:13px 15px 14px;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.kn-l{
  font-size:10.5px;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:#a99e98;
  font-weight:600;
}
.kn-v{
  display:flex;
  align-items:baseline;
  gap:6px;
  font-size:20px;
  font-weight:700;
  color:var(--boyue-ink);
  letter-spacing:-.02em;
  line-height:1.15;
}
.kn-v em{
  font-style:normal;
  font-size:11.5px;
  font-weight:500;
  color:#a99e98;
  margin-left:5px;
  letter-spacing:0;
}

/* 交易规则清单 */
.by-glance{
  list-style:none;
  margin:0 0 20px;
  padding:0;
  display:grid;
  gap:7px;
}
.by-glance li{
  position:relative;
  padding-left:21px;
  font-size:13px;
  line-height:1.55;
  color:var(--boyue-sub);
}
.by-glance li:before{
  content:"";
  position:absolute;
  left:3px;
  top:6px;
  width:9px;
  height:5px;
  border-left:1.7px solid var(--boyue-rose);
  border-bottom:1.7px solid var(--boyue-rose);
  transform:rotate(-45deg);
}
.by-glance b{ color:var(--boyue-ink); font-weight:600; }

/* 详情两栏 */
.by-pdp-detail{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  gap:48px;
  margin-top:44px;
  padding-top:32px;
  border-top:1px solid var(--boyue-line);
  align-items:start;
}

/* 四列两组规格表 */
.by-spec-2 td{ padding:9px 0; font-size:12.5px; }
.by-spec-2 tr.by-spec-head th{
  font-size:10.5px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--boyue-champagne);
  font-weight:700;
  text-align:left;
  padding:0 0 9px;
  border-bottom:1px solid var(--boyue-line);
}
.by-spec-2 td.k{ width:18%; color:#a99e98; padding-right:8px; }
.by-spec-2 td.k:first-child{ width:18%; }
.by-spec-2 td.v{ width:32%; color:var(--boyue-ink); font-weight:500; padding-right:16px; }

@media (max-width:960px){
  .by-pdp-detail{ grid-template-columns:1fr; gap:32px; margin-top:34px; padding-top:26px; }
}

@media (max-width:600px){
  .kn-v{ font-size:18px; }
  .by-spec-2, .by-spec-2 tbody{ display:block; }
  .by-spec-2 tr{
    display:grid;
    grid-template-columns:118px minmax(0,1fr);
    gap:5px 12px;
    padding:10px 0;
    border-bottom:1px solid var(--boyue-line);
  }
  .by-spec-2 tr.by-spec-head{ display:none; }
  .by-spec-2 td{ display:block; padding:0; border:0; }
  .by-spec-2 td.k{ width:auto; font-size:12px; white-space:nowrap; }
  .by-spec-2 td.v{ width:auto; padding-right:0; }
  .by-spec-2 tr:last-child td{ border-bottom:0; }
  .by-pdp-desc{ margin-top:26px; }
}

/* ============================================================
   单品页 v3 — 套用 demo v3 视觉（暖米 + 衬线 + 方框网格 + 白卡 + 折叠）
   覆盖上方默认 sans 标题，并补齐白卡 / 方框网格 / 并排 / 折叠 / 浅米面板
   ============================================================ */

/* 衬线大标题（覆盖上方 .by-pdp-info h1） */
.by-pdp-info h1{
  font-family:var(--serif);
  font-weight:600;
  font-size:clamp(34px,3.6vw,44px);
  line-height:1.08;
}

/* 详情白卡 */
.by-detail-card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:22px;
  padding:38px 40px;
  box-shadow:var(--shadow);
  margin:44px 0;
}
.by-sec-title{
  font-family:var(--serif);
  font-weight:600;
  font-size:24px;
  margin:0 0 4px;
  letter-spacing:-.01em;
}
.by-sec-sub{
  font-size:13px;
  color:var(--sub);
  margin:0 0 26px;
}
.by-specgroup{ margin-bottom:30px; }
.by-specgroup:last-of-type{ margin-bottom:0; }
.by-specgroup-h{
  font-family:var(--sans);
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--gold);
  font-weight:700;
  margin:0 0 14px;
}
.by-specgrid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:13px;
}
.by-scell{
  border:1px solid var(--line);
  border-radius:13px;
  padding:15px 16px;
  background:var(--card);
}
.by-scell .k{
  font-size:10.5px;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:var(--sub);
  margin-bottom:7px;
}
.by-scell .v{
  font-size:18px;
  font-weight:700;
  color:var(--ink);
  letter-spacing:-.01em;
}
.by-scell .v small{
  font-weight:400;
  font-size:12px;
  color:var(--sub);
  margin-left:3px;
}

/* Packaging / 价格 并排 */
.by-pack{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  margin-top:8px;
  padding-top:28px;
  border-top:1px solid var(--line);
}
.by-pack-h{
  font-family:var(--serif);
  font-weight:600;
  font-size:18px;
  margin:0 0 14px;
}

/* 折叠 accordions */
.by-accordions{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:22px;
  padding:0 38px;
  box-shadow:var(--shadow);
  margin:44px 0;
}
.by-accordions details{ border-top:1px solid var(--line); }
.by-accordions details:first-child{ border-top:0; }
.by-accordions summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:21px 0;
  font-size:16px;
  font-weight:600;
  color:var(--ink);
}
.by-accordions summary::-webkit-details-marker{ display:none; }
.by-accordions summary::after{
  content:"+";
  font-size:24px;
  font-weight:300;
  color:var(--brand);
  line-height:1;
}
.by-accordions details[open] summary::after{ content:"−"; }
.by-accordions details > .body{
  padding:0 0 24px;
  color:var(--ink2);
  font-size:14px;
  line-height:1.8;
}
.by-accordions details > .body p{ margin:0 0 11px; }
.by-accordions details > .body .mut{ color:var(--sub); font-style:italic; }
.by-accordions details > .body .tag{
  display:inline-block;
  background:var(--bg2);
  border:1px solid var(--line);
  border-radius:8px;
  padding:3px 10px;
  font-size:12px;
  color:var(--ink2);
  margin:2px 4px 2px 0;
}

/* 相关产品 浅米面板 */
.by-rel-sec{
  background:var(--bg2);
  border-radius:22px;
  padding:36px 38px;
  margin:44px 0;
}
.by-rel-head{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  margin-bottom:24px;
}
.by-rel-head h2{
  font-family:var(--serif);
  font-weight:600;
  font-size:27px;
  margin:0;
  letter-spacing:-.01em;
}
.by-rel-head a{
  font-size:13px;
  color:var(--brand-d);
  font-weight:600;
}

/* v3 响应式 */
@media (max-width:900px){
  .by-specgrid{ grid-template-columns:repeat(2,1fr); }
  .by-pack{ grid-template-columns:1fr; gap:28px; }
  .by-detail-card,.by-accordions,.by-rel-sec{ padding:26px 20px; }
}
@media (max-width:560px){
  .by-specgrid{ grid-template-columns:1fr; }
}
