.cart-page{max-width:1200px;margin:40px auto;padding:20px;font-family:Arial,sans-serif}.cart-page h1{color:#333;margin-bottom:30px;font-size:32px}.cart-empty{text-align:center;padding:80px 20px}.cart-empty h1{margin-bottom:20px;font-size:36px}.cart-content{grid-template-columns:1fr 350px;gap:40px;display:grid}.cart-items{flex-direction:column;gap:20px;display:flex}.cart-item-card{background:#fff;border-radius:12px;grid-template-columns:100px 1fr auto auto auto;align-items:center;gap:20px;padding:20px;display:grid;box-shadow:0 4px 15px #00000014}.item-image{object-fit:cover;border-radius:8px;width:100px;height:100px}.item-details h3{margin:0 0 8px;font-size:18px}.item-price{color:#007bff;margin:0;font-weight:700}.quantity-controls{align-items:center;gap:12px;font-size:18px;font-weight:700;display:flex}.quantity-controls button{cursor:pointer;background:#f9f9f9;border:1px solid #ddd;border-radius:50%;width:36px;height:36px;font-size:20px}.quantity-controls button:hover{background:#eee}.item-subtotal{color:#333;text-align:right;font-size:18px;font-weight:700}.remove-btn{color:#f44;cursor:pointer;background:0 0;border:none;font-size:14px}.remove-btn:hover{text-decoration:underline}.cart-summary{height:fit-content}.summary-card{background:#fff;border-radius:12px;padding:30px;position:sticky;top:100px;box-shadow:0 4px 15px #00000014}.summary-card h2,.summary-card h3{margin-top:0;margin-bottom:20px}.summary-line{border-bottom:1px solid #eee;justify-content:space-between;padding:12px 0;display:flex}.summary-line.total{border-bottom:none;margin-top:10px;padding-top:20px;font-size:20px}.payment-options{margin:30px 0}.pay-btn{cursor:pointer;background:#f9f9f9;border:1px solid #ddd;border-radius:8px;justify-content:center;align-items:center;gap:10px;width:100%;margin-bottom:12px;padding:14px;font-weight:700;transition:all .3s;display:flex}.pay-btn img{height:30px}.pay-btn:hover{background:#f0f0f0;transform:translateY(-2px)}.checkout-btn{color:#fff;cursor:pointer;background:#007bff;border:none;border-radius:8px;width:100%;margin:20px 0;padding:18px;font-size:18px;font-weight:700}.continue-shopping-btn{text-align:center;color:#007bff;font-weight:500;text-decoration:none;display:block}.continue-shopping-btn:hover{text-decoration:underline}@media (max-width:992px){.cart-content{grid-template-columns:1fr}.summary-card{position:static}}@media (max-width:576px){.cart-item-card{grid-template-columns:80px 1fr;grid-template-areas:"image details""image quantity""image subtotal""image remove";gap:10px}.item-image{grid-area:image}.item-details{grid-area:details}.quantity-controls{grid-area:quantity;justify-self:start}.item-subtotal{grid-area:subtotal;justify-self:start}.remove-btn{grid-area:remove;justify-self:start}}.free-shipping{color:#28a745;font-weight:700}.grand-total{color:#007bff;font-size:24px}.item-image-wrapper{background:#f8f9fa;border-radius:8px;width:100px;height:100px;overflow:hidden}.quantity-display{text-align:center;min-width:40px;font-size:18px;font-weight:700}.pay-btn{gap:14px;padding:16px;font-size:16px}.pay-btn.mpesa{color:#fff;background-color:#fff}.pay-btn.mpesa:hover{background-color:#fff}.checkout-btn{background:#f90;margin-top:30px}.checkout-btn:hover{background:#e68a00}.payment-modal-overlay{z-index:1000;background-color:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.payment-modal{background:#fff;border-radius:12px;width:90%;max-width:480px;padding:30px;position:relative;box-shadow:0 10px 30px #0003}.modal-close{cursor:pointer;color:#999;background:0 0;border:none;font-size:28px;position:absolute;top:12px;right:16px}.modal-close:hover{color:#333}.payment-modal h2{text-align:center;margin-top:0;font-size:24px}.payment-modal p{text-align:center;color:#666;margin-bottom:24px}.form-group{margin-bottom:18px}.form-group label{margin-bottom:6px;font-weight:600;display:block}.form-group input{border:1px solid #ccc;border-radius:8px;width:100%;padding:12px;font-size:16px}.form-group small{color:#666;margin-top:6px;font-size:14px;display:block}.form-row{gap:16px;display:flex}.form-group.half{flex:1}.modal-actions{justify-content:space-between;margin-top:30px;display:flex}.cancel-btn{cursor:pointer;background:#f0f0f0;border:none;border-radius:8px;padding:12px 24px;font-size:16px}.confirm-pay-btn{color:#fff;cursor:pointer;background:#28a745;border:none;border-radius:8px;padding:12px 32px;font-size:16px;font-weight:700}.confirm-pay-btn:hover{background:#218838}
