.cart-page{min-height:80vh;padding:3rem 0 5rem}.page-title{font-family:var(--font-heading);color:var(--color-charcoal);margin-bottom:2.5rem;font-size:2.5rem;font-weight:600}.empty-cart{text-align:center;padding:5rem 2rem}.empty-cart h2{color:var(--color-text-secondary);margin-bottom:1rem;font-size:1.75rem}.empty-cart p{color:var(--color-text-light);margin-bottom:2rem}.cart-grid{grid-template-columns:1fr 400px;gap:3rem;display:grid}.cart-items{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.cart-item{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-smooth);flex-direction:column;height:100%;padding:1rem;display:flex;position:relative}.cart-item:hover{box-shadow:var(--shadow-md);border-color:var(--color-gold);transform:translateY(-4px)}.item-image{aspect-ratio:4/5;border-radius:var(--radius-sm);background:var(--color-cream);width:100%;margin-bottom:1rem;overflow:hidden}.item-image .image{object-fit:cover;transition:transform .5s}.cart-item:hover .item-image .image{transform:scale(1.05)}.item-details{flex-direction:column;flex-grow:1;gap:.5rem;margin-bottom:1rem;display:flex}.item-header{justify-content:space-between;align-items:start;gap:.5rem;display:flex}.item-name{color:var(--color-charcoal);margin:0;font-size:1rem;font-weight:600;line-height:1.4}.item-meta{color:var(--color-text-secondary);flex-wrap:wrap;gap:.5rem;font-size:.8rem;display:flex}.meta-badge{background:var(--color-cream);border:1px solid var(--color-border);border-radius:4px;padding:2px 6px}.item-price{color:var(--color-gold);margin:.25rem 0 0;font-size:1.125rem;font-weight:700}.item-actions{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-top:auto;padding-top:1rem;display:flex}.item-quantity{border:1px solid var(--color-border);border-radius:20px;align-items:center;gap:.5rem;padding:.25rem;display:flex}.qty-btn{cursor:pointer;width:28px;height:28px;transition:background var(--transition-fast);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1rem;font-weight:600;display:flex}.qty-btn:hover{background:var(--color-cream);color:var(--color-charcoal)}.item-quantity span{text-align:center;min-width:20px;font-size:.9rem;font-weight:600}.item-total{color:var(--color-charcoal);font-size:1rem;font-weight:700}.item-remove{width:28px;height:28px;color:var(--color-text-light);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer;transition:all var(--transition-fast);z-index:2;background:#fffc;border:1px solid #0000;border-radius:50%;justify-content:center;align-items:center;font-size:1.25rem;display:flex;position:absolute;top:.5rem;right:.5rem}.item-remove:hover{color:var(--color-error);background:var(--color-white);box-shadow:0 2px 8px #0000001a}.order-summary{background:var(--color-cream);border-radius:var(--radius-md);height:fit-content;padding:2rem;position:sticky;top:120px}.summary-title{color:var(--color-charcoal);margin-bottom:1.5rem;font-size:1.5rem;font-weight:600}.summary-row{color:var(--color-text-primary);justify-content:space-between;align-items:center;padding:.75rem 0;font-size:.938rem;display:flex}.summary-divider{background:var(--color-border);height:1px;margin:1rem 0}.summary-total{color:var(--color-charcoal);padding-top:1rem;font-size:1.25rem;font-weight:700}.free-shipping-note{color:var(--color-success);margin:.5rem 0;font-size:.875rem;font-weight:500}.shipping-note{color:var(--color-gold);margin:.5rem 0;font-size:.875rem;font-weight:500}.order-summary .btn{margin-top:1rem}.order-summary .btn:first-of-type{margin-top:1.5rem}@media (max-width:992px){.cart-grid{grid-template-columns:1fr}.order-summary{position:relative;top:0}.cart-item{grid-template-columns:100px 1fr auto;gap:1rem}.item-quantity{grid-column:2/3}.item-total{grid-area:1/3/2/4}.item-remove{grid-area:2/3/3/4}}@media (max-width:576px){.page-title{text-align:center;font-size:2rem}.cart-item{grid-template-columns:80px 1fr;gap:1rem;padding:1rem;position:relative}.item-details{grid-column:2/3;padding-right:20px}.item-quantity{grid-column:1/3;justify-content:space-between;width:100%;margin-top:.5rem}.item-total{text-align:right;border-top:1px dashed var(--color-border);grid-column:1/3;margin-top:.5rem;padding-top:.5rem;font-size:1.25rem}.item-remove{background:#0000000d;border-radius:50%;width:32px;height:32px;position:absolute;top:.5rem;right:.5rem}}
