/* 雲深 WANSUM — bean product pages (extends blog/article.css) */
.product-hero{
  display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;
  margin:0 0 48px;
}
@media(max-width:820px){.product-hero{grid-template-columns:1fr;gap:28px}}
.product-hero .shot{
  background:var(--paper-deep);border:1px solid var(--rule);
  overflow:hidden;position:relative;
}
.product-hero .shot img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;display:block}
.product-hero .shot .no{
  position:absolute;left:14px;top:14px;z-index:1;
  font-size:11px;letter-spacing:.35em;color:var(--paper);
  background:rgba(28,26,23,.55);padding:6px 10px;
}
.product-meta .en-tag{font-size:12px;letter-spacing:.55em;color:var(--clay);text-transform:uppercase;margin-bottom:12px}
.product-meta h1{font-size:clamp(28px,4vw,40px);font-weight:500;letter-spacing:.12em;line-height:1.4;margin-bottom:6px}
.product-meta .en-name{font-size:16px;color:var(--ink-soft);letter-spacing:.18em;margin-bottom:22px}
.product-meta .price{font-size:28px;font-weight:500;letter-spacing:.06em;margin-bottom:4px}
.product-meta .price small{display:block;font-size:13px;color:var(--ink-soft);font-weight:400;letter-spacing:.14em;margin-top:4px}
.product-meta .spec{
  display:flex;flex-wrap:wrap;gap:10px 18px;margin:22px 0 18px;
  font-size:13px;letter-spacing:.12em;color:var(--ink-soft);
  padding:14px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
}
.product-meta .spec span::before{content:"· ";color:var(--gold)}
.product-meta .spec span:first-child::before{content:""}
.product-meta .notes{font-size:15px;letter-spacing:.08em;color:var(--ink);margin:16px 0 20px}
.product-meta .desc{font-size:15.5px;color:var(--ink-soft);line-height:1.95;margin-bottom:28px}
.product-cta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:14px}
.product-cta a{
  display:inline-block;padding:12px 22px;font-family:inherit;font-size:14px;
  letter-spacing:.18em;border:1px solid var(--ink);cursor:pointer;
  background:var(--ink);color:var(--paper);text-decoration:none;transition:opacity .25s;
}
.product-cta a.ghost{background:transparent;color:var(--ink)}
.product-cta a:hover{opacity:.82}
.product-trust{font-size:12.5px;color:var(--ink-soft);letter-spacing:.08em;line-height:1.85}
.product-trust strong{color:var(--ink);font-weight:500}
.crumb{font-size:12.5px;letter-spacing:.14em;color:var(--ink-soft);margin:28px 0 8px}
.crumb a{border-bottom:1px solid transparent}
.crumb a:hover{border-bottom-color:var(--clay);color:var(--ink)}
.other-beans{margin-top:64px;padding-top:36px;border-top:1px solid var(--rule)}
.other-beans h2{font-size:18px;font-weight:500;letter-spacing:.2em;margin-bottom:22px}
.other-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:820px){.other-grid{grid-template-columns:repeat(2,1fr)}}
.other-grid a{
  display:block;border:1px solid var(--rule);background:var(--paper);
  text-decoration:none;color:inherit;transition:transform .25s,box-shadow .25s;
}
.other-grid a:hover{transform:translateY(-3px);box-shadow:0 12px 28px -16px rgba(28,26,23,.35)}
.other-grid img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}
.other-grid .cap{padding:12px 14px 14px;font-size:13px;letter-spacing:.12em}
.other-grid .cap small{display:block;color:var(--ink-soft);font-size:11px;letter-spacing:.1em;margin-top:4px}
.wrap-wide{max-width:980px;margin:0 auto;padding:0 24px}
article.product{padding:24px 0 96px}

/* E — keyboard focus */
.product-cta a:focus-visible,
.other-grid a:focus-visible{
  outline:2px solid var(--clay, #8B6914);
  outline-offset:3px;
}
/* A — toast (match homepage) */
#toast{
  position:fixed;left:50%;bottom:34px;transform:translateX(-50%) translateY(20px);
  background:var(--ink);color:var(--paper);padding:12px 30px;font-size:14px;letter-spacing:.2em;
  opacity:0;pointer-events:none;transition:all .35s;z-index:99;
}
#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
