/**
 * 迅睿前台 · 商城组件样式（首页 / 产品页 共用）
 *
 * 为什么要抽成独立文件：
 *   首页与产品页原先各写了一套商品卡样式（.pcard vs .gcard），结果两边逐渐走样——
 *   首页那套 .ph 漏写 display:block，换 <a> 后 aspect-ratio 失效、图片撑满整卡，
 *   把价格和按钮挤出可视区。放在一个文件里，两边引用同一份，从根上消除这类漂移。
 *
 * 由页面通过 {THEME_PATH}css/xr-shop.css 引入。
 */

/* ===== 顶栏·会员 / 购物车入口 ===== */
.shop-entry{display:inline-flex;align-items:center;gap:14px;margin-right:14px}
.shop-entry>a{color:#fff;font-size:13px;text-decoration:none;opacity:.92}
.shop-entry>a:hover{color:var(--c-primary,#013399);opacity:1;text-decoration:underline}
.shop-entry .shop-cart{display:inline-flex;align-items:center;gap:5px}
.shop-entry .shop-cart b{display:inline-block;min-width:18px;height:18px;line-height:18px;padding:0 5px;border-radius:9px;background:var(--c-primary,#013399);color:#fff;font-size:11px;font-weight:700;text-align:center}
.shop-entry .reg{border:1px solid rgba(255,255,255,.6);border-radius:20px;padding:2px 12px}

/* ===== 商品卡 ===== */
.gcard{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 6px 22px rgba(15,23,42,.06);display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease}
.gcard:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(15,23,42,.12)}
.gcard-ph{display:block;aspect-ratio:1/1;background:#f6f7f9;overflow:hidden}
.gcard-ph img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .5s ease}
.gcard:hover .gcard-ph img{transform:scale(1.05)}
.gcard-bd{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px;flex:1}
.gcard-nm{display:block;color:#1f2430;font-size:15px;font-weight:600;line-height:1.45;text-decoration:none;min-height:44px}
.gcard-nm:hover{color:var(--c-primary,#013399)}
/* 系列名独占一行（display:block + margin-bottom），商品标题另起一行。
   原先 display:inline-block 会让「系列 + 标题」挤在同一行并折行，排版很乱。 */
.gcard-nm .cat-tag{display:block;width:fit-content;margin:0 0 4px;padding:1px 7px;border-radius:4px;background:#f4f5f7;color:#8b93a3;font-size:11px;font-weight:400;vertical-align:1px}
.gcard-price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.gcard-price .gp-now{color:#e4393c;font-size:19px;font-weight:800;letter-spacing:-.3px}
.gcard-price .gp-old{color:#a6adba;font-size:12.5px;text-decoration:line-through}
.gcard-price .gp-ask{color:var(--c-primary,#013399);font-size:15px;font-weight:700}
.gcard-price .gp-off{background:#E8EFFD;color:#00287A;font-size:11px;border-radius:4px;padding:1px 6px}
.gcard-meta{display:flex;align-items:center;gap:12px;color:#8b93a3;font-size:12.5px}
.gcard-act{display:flex;gap:8px;margin-top:auto;padding-top:4px}

/* ===== 按钮 ===== */
.gbtn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:4px;height:36px;border:1px solid transparent;border-radius:8px;font-size:13.5px;font-weight:600;cursor:pointer;text-decoration:none;transition:.2s}
.gbtn-cart{background:#EDF3FE;border-color:#8CAFF6;color:#00287A}
.gbtn-cart:hover{background:#DBE6FC}
.gbtn-buy{background:linear-gradient(135deg,var(--c-primary,#013399),var(--c-primary-d,#00287A));color:#fff;box-shadow:0 8px 18px rgba(1,51,153,.28)}
.gbtn-buy:hover{transform:translateY(-2px)}
.gbtn-ask{border-color:#dfe3ea;color:#5b6472;background:#fff}
.gbtn-ask:hover{border-color:var(--c-primary,#013399);color:var(--c-primary,#013399)}
.gbtn[disabled]{opacity:.6;cursor:not-allowed;transform:none}

/* ===== 商品详情·购买面板 ===== */
.pd-buy{background:#fbfcfe;border:1px solid #eef1f5;border-radius:12px;padding:18px 20px;margin:16px 0}
.pd-buy .price-row{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.pd-buy .gp-now{color:#e4393c;font-size:30px;font-weight:800;letter-spacing:-.5px;line-height:1.1}
.pd-buy .gp-old{color:#a6adba;font-size:15px;text-decoration:line-through}
.pd-buy .gp-off{background:#E8EFFD;color:#00287A;font-size:12px;border-radius:4px;padding:2px 8px}
.pd-buy .price-ask{color:var(--c-primary,#013399);font-size:22px;font-weight:800}
.pd-buy .buy-meta{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:12px;color:#6b7280;font-size:13px}
.pd-buy .buy-meta b{color:#1f2430}
.pd-buy .buy-meta .ok{color:#0a9e63}
.pd-buy .buy-meta .out{color:#e4393c}
.pd-buy .buy-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:16px}
.pd-qty{display:inline-flex;align-items:center;border:1px solid #dfe3ea;border-radius:8px;overflow:hidden;background:#fff}
.pd-qty button{width:34px;height:38px;border:0;background:#fff;color:#5b6472;font-size:16px;cursor:pointer}
.pd-qty button:hover{background:#f4f6f9;color:var(--c-primary,#013399)}
.pd-qty input{width:56px;height:38px;border:0;border-left:1px solid #eef1f5;border-right:1px solid #eef1f5;text-align:center;font-size:14px;color:#1f2430;outline:none}
.pd-buy .buy-btns{display:flex;gap:12px;flex-wrap:wrap}
.pd-buy .buy-btns .gbtn{flex:0 0 auto;height:44px;padding:0 30px;font-size:15px;border-radius:8px}

/* ===== 轻提示 ===== */
.shop-toast{position:fixed;left:50%;bottom:42px;transform:translate(-50%,20px);z-index:9999;background:rgba(31,36,48,.94);color:#fff;padding:11px 22px;border-radius:24px;font-size:14px;opacity:0;pointer-events:none;transition:.28s}
.shop-toast.on{opacity:1;transform:translate(-50%,0)}

@media(max-width:768px){
  .shop-entry{gap:10px;margin-right:8px}
  .shop-entry .lang{display:none}
  .pd-buy .gp-now{font-size:24px}
  .pd-buy .buy-btns .gbtn{flex:1;padding:0 12px}
}
