/* Jumia‑style touches */
.cart-sticky { position: sticky; bottom: 0; left:0; right:0; z-index: 1030; background:#fff; padding: .75rem; border-top: 1px solid #eee; }
.qty-btn { width:40px; height:40px; border:1px solid #f2a65a; background:#fff7f0; border-radius:10px; font-weight:600; }
.qty-val { min-width: 24px; display:inline-block; text-align:center; }
.price-old { text-decoration: line-through; color:#999; font-size:.9rem }
.badge-discount { background:#ffe3cc; color:#ff7a00; border-radius:8px; padding:.15rem .4rem; font-weight:600; }
.btn-primary { background:#ff7a00; border-color:#ff7a00; }
.btn-primary:hover{ background:#e86e00; border-color:#e86e00; }
.stepper { display:flex; align-items:center; gap:.75rem; }
.step { display:flex; align-items:center; gap:.5rem; }
.step .dot{ width:18px; height:18px; border-radius:50%; border:2px solid #ccc; background:#fff; }
.step.active .dot{ border-color:#ff7a00; background:#ff7a00; }
.step.done .dot{ border-color:#22c55e; background:#22c55e; }
.step .label{ font-weight:600; color:#666; }
.step.active .label{ color:#111; }
.step + .step:before{ content:''; display:block; height:2px; width:40px; background:#ddd; }
.step.done + .step:before{ background:#22c55e; }
.payment-list .method{ border:1px solid #eee; border-radius:12px; padding:.75rem; display:flex; align-items:center; gap:.5rem; margin-bottom:.5rem }
.payment-list .method input{ margin-right:.5rem }
.coupon-box{ border:1px solid #ddd; border-radius:12px; padding:.5rem .75rem; display:flex; gap:.5rem; }
.coupon-box input{ border:none; outline:none; flex:1; }
@media (max-width: 576px){
  .card { border-radius: 14px; }
}
