/* 独立货品选择页：展示价格、限制单款线上数量并提供固定采购清单入口。 */
.catalog-page { padding-bottom:112px; }
.catalog-intro { width:min(1320px,calc(100% - 56px)); margin:0 auto; padding:72px 0 28px; display:flex; align-items:flex-end; justify-content:space-between; gap:40px; border-bottom:1px solid var(--line); }
.catalog-intro h1 { margin:5px 0 12px; }
.catalog-intro p:last-child { max-width:660px; margin:0; color:var(--muted); line-height:1.7; }
.catalog-intro ol { margin:0; padding:0; display:flex; list-style:none; }
.catalog-intro li { min-width:112px; padding:16px 18px; display:grid; gap:5px; border:1px solid var(--line); border-right:0; }
.catalog-intro li:last-child { border-right:1px solid var(--line); }
.catalog-intro li b { color:var(--wood-dark); font-size:24px; }
.catalog-intro li span { color:var(--muted); font-size:13px; }
.shopping-catalog { padding-top:64px; }
.shopping-catalog .catalog-layout { height:690px; }
.shopping-catalog .product-table-head,.shopping-catalog .product-row { grid-template-columns:minmax(300px,1.6fr) minmax(120px,.7fr) 130px 128px 70px; gap:14px; }
.product-name-button { max-width:100%; padding:0; color:var(--ink); border:0; border-bottom:1px solid transparent; background:none; text-align:left; }
.product-name-button:hover,.product-name-button:focus-visible { border-bottom-color:var(--ink); }
.row-quantity,.detail-quantity { display:grid; grid-template-columns:32px 46px 32px; align-items:center; }
.row-quantity button,.detail-quantity button { height:36px; border:1px solid var(--line); background:var(--surface); }
.row-quantity input,.detail-quantity input { width:46px; height:36px; padding:0 3px; border:1px solid var(--line); border-right:0; border-left:0; background:var(--surface); text-align:center; }
.row-quantity input::-webkit-inner-spin-button,.detail-quantity input::-webkit-inner-spin-button { appearance:none; }
.shopping-catalog .product-actions button[data-action="add"] { width:54px; }
.detail-description { max-height:210px; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; }
.detail-order-row { margin:24px 0; display:flex; align-items:center; gap:16px; }
.detail-limit { color:var(--muted); }
.catalog-cart-dock { position:fixed; right:28px; bottom:24px; z-index:60; min-width:330px; padding:12px 14px 12px 20px; display:flex; align-items:center; justify-content:space-between; gap:22px; color:#fff; background:var(--ink); box-shadow:0 18px 44px rgba(23,25,20,.25); }
.catalog-cart-dock span { display:block; color:rgba(255,255,255,.68); font-size:11px; }
.catalog-cart-dock strong { font-size:18px; }
.catalog-cart-dock a { min-height:42px; padding:0 15px; display:flex; align-items:center; gap:8px; color:var(--ink); background:var(--surface); }
@media (max-width:1050px) {
  .shopping-catalog .product-table-head,.shopping-catalog .product-row { grid-template-columns:minmax(270px,1.5fr) minmax(100px,.6fr) 110px 112px 60px; gap:9px; }
}
@media (max-width:760px) {
  .catalog-page { padding-bottom:96px; }
  .catalog-intro { width:calc(100% - 48px); padding:56px 0 28px; align-items:stretch; flex-direction:column; gap:30px; }
  .catalog-intro ol { display:grid; grid-template-columns:repeat(3,1fr); }
  .catalog-intro li { min-width:0; padding:14px 10px; }
  .shopping-catalog { padding-top:58px; }
  .shopping-catalog .catalog-layout { height:720px; }
  .shopping-catalog .product-row { min-height:190px; grid-template-columns:1fr auto; gap:11px; padding:17px 16px; }
  .shopping-catalog .product-main { grid-column:1/-1; }
  .shopping-catalog .product-spec { grid-column:1/-1; padding-left:82px; }
  .shopping-catalog .product-price { text-align:left; padding-left:82px; }
  .shopping-catalog .row-quantity { align-self:center; }
  .shopping-catalog .product-actions { grid-column:1/-1; justify-self:end; }
  .catalog-cart-dock { right:20px; bottom:16px; left:20px; min-width:0; }
  .product-detail-copy { padding-bottom:38px; }
  .detail-order-row { align-items:flex-start; flex-direction:column; }
}
