/* ===== Taobao-like checkout ===== */
.checkout-page{padding:12px 12px 110px;max-width:760px;margin:0 auto}
.checkout-card{background:#fff;border-radius:16px;box-shadow:0 10px 28px rgba(0,0,0,.06);overflow:hidden}
.checkout-sec{padding:14px 14px 12px;border-top:1px solid rgba(0,0,0,.06)}
.checkout-sec:first-child{border-top:0}
.checkout-title{font-size:16px;font-weight:900;margin:0 0 10px}
.product-row{display:flex;gap:12px;align-items:flex-start}
.product-thumb{width:72px;height:72px;border-radius:14px;background:rgba(0,0,0,.04);flex:0 0 72px;display:flex;align-items:center;justify-content:center;font-weight:800;opacity:.55}
.product-meta{flex:1;min-width:0}
.product-name{font-size:16px;font-weight:900;line-height:1.25;word-break:break-word}
.product-sub{font-size:12px;opacity:.75;margin-top:6px}
.price{font-size:18px;font-weight:950}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.field{display:flex;flex-direction:column;gap:6px;flex:1;min-width:160px}
.field label{font-size:12px;opacity:.7}
.field input,.field textarea,.field select{
  width:100%;
  border:1px solid rgba(0,0,0,.12);
  border-radius:12px;
  padding:10px 12px;
  font-size:14px;
  outline:none;
}
.field textarea{min-height:84px;resize:vertical}
.qty{display:flex;align-items:center;border:1px solid rgba(0,0,0,.12);border-radius:12px;overflow:hidden}
.qty button{width:40px;height:40px;border:0;background:rgba(0,0,0,.04);font-size:18px;cursor:pointer}
.qty input{width:64px;height:40px;border:0;text-align:center;font-size:14px;outline:none}
.pay-list{display:grid;gap:10px}
.pay-item{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px;border:1px solid rgba(0,0,0,.12);border-radius:14px;cursor:pointer
}
.pay-left{display:flex;align-items:center;gap:10px}
.pay-item input{transform:scale(1.15)}
.pay-name{font-weight:900}
.pay-tip{font-size:12px;opacity:.7;margin-top:2px}
.pay-right{font-weight:950}
.sticky-bar{
  position:fixed;left:0;right:0;bottom:0;background:#fff;
  border-top:1px solid rgba(0,0,0,.08);
  padding:10px 12px;
}
.sticky-wrap{max-width:760px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px}
.total{display:flex;flex-direction:column}
.total small{opacity:.7}
.total strong{font-size:18px;font-weight:950}
.submit-btn{
  border:0;border-radius:14px;padding:12px 16px;
  font-weight:950;cursor:pointer;min-width:150px;
  background:#ff6a00;color:#fff;
}
