:root { --ink:#183d34; --muted:#68756f; --line:#dfe7e2; --paper:#fbfcfa; --soft:#eef4f0; --gold:#b98a42; --green:#1f684f; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"Microsoft YaHei","PingFang SC",sans-serif; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
.product-header { height:76px; padding:0 max(24px,calc((100vw - 1280px)/2)); display:flex; align-items:center; gap:42px; border-bottom:1px solid var(--line); background:#fff; position:sticky; top:0; z-index:10; }
.brand { font-family:KaiTi,serif; font-weight:700; font-size:28px; color:var(--green); }
.product-header nav { display:flex; gap:30px; margin-left:auto; font-size:14px; color:#52625c; }
.product-header nav a:hover { color:var(--green); }
.selection-link { padding:11px 16px; border:1px solid var(--ink); font-size:14px; }
.selection-link span { display:inline-grid; place-items:center; min-width:20px; height:20px; margin-left:6px; border-radius:50%; background:var(--gold); color:#fff; font-size:12px; }
main { max-width:1280px; margin:auto; padding:28px 24px 72px; }
.breadcrumb { display:flex; gap:9px; color:#7b8782; font-size:13px; margin-bottom:28px; }
.product-detail { min-height:620px; }
.loading,.error-state { min-height:400px; display:grid; place-items:center; color:var(--muted); }
.error-state { align-content:center; gap:16px; }
.error-state a { color:var(--green); text-decoration:underline; }
.detail-grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr); gap:64px; align-items:start; }
.gallery { display:grid; grid-template-columns:76px minmax(0,1fr); gap:16px; }
.thumbs { display:flex; flex-direction:column; gap:10px; }
.thumb { width:76px; aspect-ratio:1; padding:0; border:1px solid var(--line); background:#fff; cursor:pointer; overflow:hidden; }
.thumb.active { border:2px solid var(--green); }
.thumb img,.main-image img { width:100%; height:100%; object-fit:contain; display:block; }
.main-image { aspect-ratio:1; background:#f1f4f1; overflow:hidden; }
.main-image { position:relative; width:100%; padding:0; border:0; cursor:zoom-in; }
.image-zoom-hint { position:absolute; right:14px; bottom:14px; padding:6px 10px; background:#ffffffed; color:var(--ink); font-size:12px; }
.main-image:focus-visible,.thumb:focus-visible,.image-dialog button:focus-visible { outline:2px solid var(--green); outline-offset:3px; }
.detail-copy { padding-top:8px; }
.category { color:var(--gold); font-size:12px; letter-spacing:2px; text-transform:uppercase; font-weight:700; }
h1 { font-family:inherit; font-size:30px; line-height:1.5; margin:12px 0 10px; font-weight:600; }
.description { color:var(--muted); line-height:1.8; margin:0 0 24px; }
.quick-facts { margin:0 0 24px; padding:15px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.quick-facts div { display:grid; grid-template-columns:52px minmax(0,1fr); gap:12px; padding:5px 0; font-size:13px; line-height:1.65; }
.quick-facts dt { color:var(--muted); }
.quick-facts dd { margin:0; overflow-wrap:anywhere; }
.price { font-family:Georgia,serif; font-size:34px; color:var(--green); margin:0 0 24px; }
.detail-copy .price small { display:block; color:var(--muted); font:400 12px/1.6 "Microsoft YaHei",sans-serif; }
.variant-group { border-top:1px solid var(--line); padding-top:20px; margin-top:6px; }
.field-title { display:flex; justify-content:space-between; font-size:14px; margin-bottom:12px; }
.stock-hint { color:var(--muted); }
.variant-options { display:flex; flex-wrap:wrap; gap:10px; }
.variant-option { min-width:96px; padding:12px 15px; border:1px solid #bdc9c3; background:#fff; cursor:pointer; color:var(--ink); }
.variant-option:hover,.variant-option.active { border-color:var(--green); box-shadow:inset 0 0 0 1px var(--green); }
.variant-option:disabled { color:#9ea6a2; background:#f1f2f1; cursor:not-allowed; text-decoration:line-through; }
.action-row { display:grid; grid-template-columns:110px 1fr; gap:12px; margin:26px 0 18px; }
.qty { display:grid; grid-template-columns:34px 1fr 34px; border:1px solid #bdc9c3; }
.qty button { border:0; background:#fff; cursor:pointer; }
.qty input { width:100%; border:0; text-align:center; color:var(--ink); outline:0; }
.primary { border:0; background:var(--green); color:#fff; font-weight:700; cursor:pointer; }
.primary:disabled { background:#9ca9a4; cursor:not-allowed; }
.intent-copy { font-size:12px; color:var(--muted); line-height:1.7; }
.inquiry-action{display:block;padding:15px;text-align:center;border:1px solid #28654c;background:#28654c;color:#fff;border-radius:4px;margin:18px 0 12px;font-size:15px}.supply-label{font-size:13px;color:#53685c}.action-row[hidden]{display:none}.breadcrumb{flex-wrap:wrap}.detail-copy{min-width:0}.detail-copy *{overflow-wrap:anywhere;letter-spacing:0}.description{font-size:14px}.price{font-family:inherit}.product-detail{min-height:0}body{background:white}
.specs { margin:28px 0 0; border-top:1px solid var(--line); }
.specs div { display:grid; grid-template-columns:88px 1fr; gap:12px; padding:13px 0; border-bottom:1px solid var(--line); font-size:14px; }
.specs dt { color:var(--muted); }
.specs dd { margin:0; line-height:1.6; }
.detail-mobile-action { display:none; }
.image-dialog { width:min(900px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); padding:48px 20px 18px; border:1px solid #dbe5dc; background:#fff; box-shadow:0 18px 60px #112a1d38; }
.image-dialog::backdrop { background:#0a1812d9; }
.image-dialog[open] { display:grid; justify-items:center; gap:12px; }
.image-dialog>img { display:block; max-width:100%; max-height:calc(100dvh - 160px); object-fit:contain; }
.image-dialog button { display:grid; place-items:center; width:40px; height:40px; padding:8px; border:1px solid var(--line); background:#fff; cursor:pointer; }
.image-dialog button:disabled { opacity:.4; cursor:default; }
.image-dialog button img { width:20px; height:20px; }
.image-dialog-close { position:absolute; top:8px; right:8px; }
.image-dialog-footer { display:flex; align-items:center; justify-content:center; gap:22px; color:var(--muted); font-size:13px; }
.purchase-note { margin-top:72px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); display:grid; grid-template-columns:repeat(3,1fr); }
.purchase-note div { padding:26px 28px; display:grid; gap:8px; }
.purchase-note div+div { border-left:1px solid var(--line); }
.purchase-note strong { font-size:15px; }
.purchase-note span { color:var(--muted); font-size:13px; line-height:1.7; }
footer { padding:28px max(24px,calc((100vw - 1280px)/2)); display:flex; gap:24px; border-top:1px solid var(--line); color:var(--muted); font-size:13px; }
footer span { margin-right:auto; }
@media(max-width:800px){
  .product-header { height:64px; gap:16px; padding:0 16px; }
  .product-header nav { display:none; }
  .selection-link { margin-left:auto; padding:9px 11px; }
  main { padding:18px 16px 48px; }
  .detail-grid { grid-template-columns:1fr; gap:28px; }
  .gallery { grid-template-columns:1fr; }
  .main-image { grid-row:1; }
  .thumbs { grid-row:2; flex-direction:row; overflow:auto; }
  .thumb { width:62px; flex:0 0 62px; }
  h1 { font-size:31px; }
  .purchase-note { grid-template-columns:1fr; margin-top:44px; }
  .purchase-note div+div { border-left:0; border-top:1px solid var(--line); }
  footer { flex-wrap:wrap; }
  footer span { width:100%; }
}
@media(max-width:640px){
  body.product-page { padding-bottom:calc(70px + env(safe-area-inset-bottom)); }
  .detail-grid { gap:20px; }
  .main-image { aspect-ratio:6/5; }
  .detail-copy { padding-top:0; }
  .detail-copy h1 { font-size:27px; margin:8px 0; }
  .detail-copy .price { margin-bottom:14px; }
  .description { margin-bottom:14px; }
  .quick-facts { margin-bottom:18px; }
  .detail-copy>.inquiry-action { display:none; }
  .detail-mobile-action { position:fixed; z-index:120; left:0; right:0; bottom:0; display:flex; align-items:center; gap:8px; min-height:70px; padding:9px max(16px,env(safe-area-inset-left)) calc(9px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-right)); background:#fff; border-top:1px solid var(--line); box-shadow:0 -6px 24px #17382412; }
  .detail-mobile-action span { display:grid; min-width:80px; margin-right:auto; }
  .detail-mobile-action small { color:var(--muted); font-size:11px; }
  .detail-mobile-action strong { color:var(--ink); font-size:19px; font-weight:600; }
  .detail-mobile-action a,.detail-mobile-action button { display:grid; place-items:center; min-height:44px; padding:8px 14px; border:1px solid var(--green); background:#fff; color:var(--green); font-size:13px; white-space:nowrap; cursor:pointer; }
  .detail-mobile-action button,.detail-mobile-action .mobile-inquiry { background:var(--green); color:#fff; }
  .detail-mobile-action .mobile-inquiry { min-width:50%; }
}
