.cart-page{padding:4rem 5%;max-width:1200px;margin:0 auto;min-height:60vh}.cart-page h1{margin-bottom:3rem;text-align:center;color:var(--text-primary);font-size:2.5rem}.cart-layout{display:grid;grid-template-columns:1fr 350px;gap:3rem;align-items:flex-start}.cart-items-section{display:flex;flex-direction:column;gap:2rem}.cart-items{display:flex;flex-direction:column;gap:1rem}.cart-item{display:grid;grid-template-columns:100px 1fr auto auto;align-items:center;gap:1.5rem;padding:1.5rem;background:var(--bg-secondary);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:background-color var(--transition-fast),color var(--transition-fast)}.cart-item img{width:100px;height:100px;object-fit:cover;border-radius:var(--radius-sm);background:var(--bg-primary);transition:background-color var(--transition-fast)}.item-info h3{margin-bottom:.25rem;font-size:1.1rem;color:var(--color-secondary);transition:color .2s}.item-info a:hover h3{color:var(--color-secondary-hover);text-decoration:underline}.item-link{display:block;transition:opacity .2s}.item-link:hover{opacity:.8}.variant{font-size:.85rem;color:var(--text-muted);margin-bottom:.5rem}.price{font-weight:500;color:var(--text-muted)}.item-quantity-controls{display:flex;flex-direction:column;align-items:center;gap:.5rem}.item-quantity{display:flex;align-items:center;gap:.75rem;background:var(--bg-primary);padding:.25rem .75rem;border-radius:var(--radius-full);transition:background-color var(--transition-fast)}.qty-btn{background:none;border:none;font-size:1.1rem;cursor:pointer;color:var(--text-primary);font-weight:700;padding:0 5px}.qty-num{font-weight:600;min-width:20px;text-align:center;color:var(--text-primary)}.remove-btn-text{background:none;border:none;color:var(--text-muted);font-size:.75rem;cursor:pointer;text-decoration:underline}.remove-btn-text:hover{color:#ef4444}.item-total{font-weight:700;min-width:90px;text-align:right;color:var(--text-primary)}.continue-shopping{color:var(--text-muted);font-weight:500;text-decoration:none;align-self:flex-start;transition:color .2s,transform .2s;font-size:.9rem}.continue-shopping:hover{color:var(--text-primary);transform:translate(-5px)}.cart-summary{padding:2rem;background:var(--bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);position:sticky;top:100px;transition:background-color var(--transition-fast),color var(--transition-fast)}.cart-summary h2{margin-bottom:1.5rem;font-size:1.5rem;color:var(--text-primary)}.summary-row{display:flex;justify-content:space-between;margin-bottom:1rem;color:var(--text-secondary)}.summary-row.total{font-size:1.5rem;font-weight:800;color:var(--text-primary);margin-top:1rem}.free-text{color:#059669;font-weight:600}hr{border:0;border-top:1px solid var(--border-color);margin:1rem 0}.total-price{color:var(--text-primary)}.checkout-btn{width:100%;margin-top:1.5rem;background-color:var(--color-secondary);color:#fff;padding:1rem;border-radius:var(--radius-full);font-weight:700;font-size:1.1rem;border:none;cursor:pointer;transition:all .3s;box-shadow:0 4px 12px #59c3e133}.checkout-btn:hover{background-color:var(--color-secondary-hover);box-shadow:0 6px 20px #59c3e14d;transform:translateY(-2px)}.disclaimer{margin-top:1rem;font-size:.75rem;color:var(--text-muted);text-align:center;line-height:1.4}.empty-cart{text-align:center;padding:5rem 2rem;background:var(--bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);max-width:500px;margin:0 auto;transition:background-color var(--transition-fast),color var(--transition-fast)}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-cart p{font-size:1.2rem;color:var(--text-muted);margin-bottom:2rem}.loader{text-align:center;padding:5rem;font-size:1.2rem;color:var(--text-muted)}@media(max-width:900px){.cart-layout{grid-template-columns:1fr}.cart-summary{position:static}}@media(max-width:640px){.cart-item{grid-template-columns:80px 1fr;grid-template-rows:auto auto auto;gap:1rem}.item-quantity-controls{grid-column:1 / -1;flex-direction:row;justify-content:space-between}.item-total{grid-column:1 / -1;text-align:center;border-top:1px solid var(--border-color);padding-top:.5rem}}
