/* ===== CART PAGE STYLES ===== */
.cart-grid{display:flex;flex-direction:column;gap:20px;animation:fadeInUp .6s ease-out .2s both;}
.cart-item{display:flex;align-items:center;gap:20px;padding:20px;background:var(--card-bg);border-radius:16px;border:1px solid var(--card-border);box-shadow:0 4px 20px rgba(58,31,20,.08);transition:transform .3s ease,box-shadow .3s ease;}
.cart-item:hover{transform:translateX(5px);box-shadow:0 8px 30px rgba(58,31,20,.12);}
.cart-item-img{width:90px;height:90px;border-radius:14px;object-fit:cover;box-shadow:0 4px 12px rgba(26,15,10,.15);flex-shrink:0;}
.cart-item-info{flex:1;min-width:0;}
.cart-item-info h3{font-family:'Playfair Display',serif;font-size:1.15rem;color:var(--brown);margin-bottom:2px;word-break:break-word;}
.cart-item-info .cat{font-size:.8rem;color:var(--brown4);font-style:italic;}
.cart-item-info .price{font-weight:700;color:var(--brown3);font-size:1rem;margin-top:4px;}
.cart-item-qty{display:flex;align-items:center;border-radius:10px;overflow:hidden;border:2px solid var(--gold2);flex-shrink:0;}
.cart-item-qty button{width:38px;height:38px;font-size:1.05rem;font-weight:700;border:none;background:linear-gradient(135deg,#3d1f14,#5a2d1a);color:var(--gold);cursor:pointer;transition:background .2s;}
.cart-item-qty button:hover{background:linear-gradient(135deg,#5a2d1a,#8b4513);}
.cart-item-qty span{width:36px;text-align:center;font-weight:700;color:var(--brown);background:#fff;font-size:1rem;}
.cart-item-subtotal{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:700;color:var(--brown3);min-width:70px;text-align:right;flex-shrink:0;}
.cart-item-remove{flex-shrink:0;}

/* Summary */
.cart-summary{margin-top:30px;padding:30px;background:var(--card-bg);border-radius:20px;border:1px solid var(--card-border);box-shadow:0 8px 30px rgba(58,31,20,.1);}
.summary-row{display:flex;justify-content:space-between;padding:8px 0;font-size:1rem;color:var(--brown2);}
.summary-row.total{font-size:1.3rem;font-weight:800;color:var(--brown);border-top:2px solid var(--gold2);padding-top:15px;margin-top:10px;}
.summary-row.total span:last-child{font-family:'Playfair Display',serif;font-size:1.6rem;color:var(--brown3);}
.summary-actions{display:flex;gap:15px;margin-top:25px;flex-wrap:wrap;}
.summary-actions a,.summary-actions button{flex:1;min-width:180px;text-align:center;}
.free{color:var(--green);font-weight:600;}

/* --- Tablet (≤768px) --- */
@media(max-width:768px){
    .cart-item{gap:14px;padding:16px;}
    .cart-item-img{width:75px;height:75px;border-radius:12px;}
    .cart-item-info h3{font-size:1.05rem;}
    .cart-item-info .price{font-size:.92rem;}
    .cart-item-qty button{width:32px;height:32px;font-size:.95rem;}
    .cart-item-qty span{width:28px;font-size:.9rem;}
    .cart-item-qty{border-radius:8px;}
    .cart-item-subtotal{font-size:1.05rem;min-width:60px;}
    .cart-summary{padding:22px;}
}

/* --- Mobile (≤600px): two-row layout --- */
@media(max-width:600px){
    .cart-item{flex-wrap:wrap;gap:10px;padding:14px;}
    .cart-item-img{width:64px;height:64px;border-radius:10px;}
    .cart-item-info{flex:1 1 calc(100% - 80px);min-width:0;}
    .cart-item-info h3{font-size:1rem;line-height:1.3;}
    .cart-item-info .cat{font-size:.75rem;}
    .cart-item-info .price{font-size:.88rem;margin-top:3px;}
    .cart-item-qty{margin-left:auto;border-width:1.5px;border-radius:8px;}
    .cart-item-qty button{width:30px;height:30px;font-size:.88rem;}
    .cart-item-qty span{width:26px;font-size:.85rem;}
    .cart-item-subtotal{font-size:1rem;min-width:auto;margin-left:auto;}
    .cart-item-remove .btn-danger{padding:6px 12px;font-size:.8rem;}
    .summary-actions{flex-direction:column;}
    .summary-actions a,.summary-actions button{min-width:auto;}
}

/* --- Small mobile (≤400px) --- */
@media(max-width:400px){
    .cart-item{padding:12px;gap:8px;}
    .cart-item-img{width:56px;height:56px;}
    .cart-item-info h3{font-size:.93rem;}
    .cart-item-info .cat{font-size:.72rem;}
    .cart-item-info .price{font-size:.82rem;}
    .cart-item-qty button{width:28px;height:28px;font-size:.82rem;}
    .cart-item-qty span{width:24px;font-size:.8rem;}
    .cart-item-subtotal{font-size:.92rem;}
    .cart-summary{padding:16px;}
    .summary-row{font-size:.9rem;}
    .summary-row.total{font-size:1.1rem;}
    .summary-row.total span:last-child{font-size:1.3rem;}
}
