.cart-section{padding:calc(73px + var(--spacing-3xl)) 0 var(--spacing-3xl);min-height:60vh}.cart-container{display:grid;grid-template-columns:1fr 400px;gap:var(--spacing-3xl)}.cart-items{background-color:var(--color-white)}.cart-item{display:grid;grid-template-columns:120px 1fr 140px 100px 40px;gap:var(--spacing-lg);align-items:center;padding:var(--spacing-lg);border:1px solid var(--color-gray-200);margin-bottom:var(--spacing-md);transition:var(--transition-fast);background-color:var(--color-white)}.cart-item:hover{border-color:var(--color-gold);box-shadow:0 2px 8px #0000000d}.cart-item-image{width:120px;height:140px;object-fit:cover;background-color:var(--color-gray-100);border-radius:4px}.cart-item-details{display:flex;flex-direction:column;gap:var(--spacing-xs)}.cart-item-name{font-family:var(--font-primary);font-size:1.125rem;margin-bottom:0;color:var(--color-black)}.cart-item-price{font-size:1rem;font-weight:600;color:var(--color-gold-dark);margin-bottom:0}.cart-item-quantity{display:flex;align-items:center;gap:var(--spacing-xs);border:1px solid var(--color-gray-300);border-radius:4px;overflow:hidden}.qty-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background-color:var(--color-white);border:none;cursor:pointer;transition:var(--transition-fast);font-size:1rem;font-weight:600;color:var(--color-gray-700)}.qty-btn:hover{background-color:var(--color-gray-100);color:var(--color-black)}.qty-input{width:50px;height:36px;text-align:center;border:none;border-left:1px solid var(--color-gray-300);border-right:1px solid var(--color-gray-300);font-weight:600;font-size:.875rem;background-color:var(--color-white)}.qty-input:focus{outline:none;background-color:var(--color-gray-50)}.cart-item-total{font-size:1.125rem;font-weight:600;color:var(--color-black);text-align:right}.cart-item-remove{background:none;border:none;color:var(--color-gray-500);cursor:pointer;transition:var(--transition-fast);padding:var(--spacing-xs);display:flex;align-items:center;justify-content:center}.cart-item-remove:hover{color:#ef4444;transform:scale(1.1)}.cart-empty{text-align:center;padding:var(--spacing-3xl) 0}.cart-empty h2{font-size:1.75rem;margin-bottom:var(--spacing-md);color:var(--color-gray-700)}.cart-empty p{font-size:1rem;color:var(--color-gray-600);margin-bottom:var(--spacing-xl)}.cart-summary{position:sticky;top:100px;height:fit-content;padding:var(--spacing-xl);background-color:var(--color-gray-50);border:1px solid var(--color-gray-200)}.cart-summary h2{font-size:1.5rem;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-gray-300)}.summary-row{display:flex;justify-content:space-between;margin-bottom:var(--spacing-md);font-size:1rem}.summary-row.total{font-size:1.25rem;font-weight:600;padding-top:var(--spacing-md);border-top:2px solid var(--color-gray-300);margin-top:var(--spacing-md)}.empty-cart{text-align:center;padding:var(--spacing-3xl) 0}.empty-cart-icon{font-size:4rem;margin-bottom:var(--spacing-lg)}.empty-cart p{font-size:1.125rem;color:var(--color-gray-600);margin-bottom:var(--spacing-lg)}.checkout-section{padding:calc(73px + var(--spacing-3xl)) 0 var(--spacing-3xl)}.checkout-container{display:grid;grid-template-columns:1fr 400px;gap:var(--spacing-3xl)}.checkout-form{background-color:var(--color-white)}.form-section{margin-bottom:var(--spacing-2xl);padding-bottom:var(--spacing-2xl);border-bottom:1px solid var(--color-gray-200)}.form-section:last-child{border-bottom:none}.form-section h3{font-size:1.25rem;margin-bottom:var(--spacing-lg)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.order-summary{position:sticky;top:100px;height:fit-content;padding:var(--spacing-xl);background-color:var(--color-gray-50);border:1px solid var(--color-gray-200)}.order-summary h3{font-size:1.25rem;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-gray-300)}.order-item{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-gray-200)}.order-item-image{width:60px;height:80px;object-fit:cover;background-color:var(--color-gray-100)}.order-item-details{flex:1}.order-item-name{font-size:.875rem;font-weight:500;margin-bottom:4px}.order-item-qty{font-size:.75rem;color:var(--color-gray-600)}.order-item-price{font-weight:600}.cart-actions{display:flex;flex-direction:column;gap:var(--spacing-md)}.btn-block{width:100%;text-align:center}.cart-promo{margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:1px solid var(--color-gray-300)}.cart-promo h3{font-size:1rem;margin-bottom:var(--spacing-md)}.promo-input{display:flex;gap:var(--spacing-sm)}.promo-input input{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-gray-300);border-radius:4px;font-size:.875rem}.promo-input input:focus{outline:none;border-color:var(--color-gold)}.checkout-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000bf;backdrop-filter:blur(5px);z-index:10000;align-items:center;justify-content:center;padding:var(--spacing-lg);animation:fadeIn .3s ease}.checkout-modal.active{display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.checkout-modal-content{position:relative;background-color:var(--color-white);border-radius:8px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;padding:var(--spacing-2xl);animation:slideUp .3s ease;box-shadow:0 20px 60px #0000004d}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.checkout-modal-close{position:absolute;top:var(--spacing-md);right:var(--spacing-md);background:none;border:none;cursor:pointer;color:var(--color-gray-600);padding:var(--spacing-xs);display:flex;align-items:center;justify-content:center;transition:var(--transition-fast);border-radius:4px}.checkout-modal-close:hover{background-color:var(--color-gray-100);color:var(--color-black)}.checkout-modal-header{margin-bottom:var(--spacing-xl);padding-right:var(--spacing-2xl)}.checkout-modal-header h2{font-family:var(--font-primary);font-size:1.75rem;margin-bottom:var(--spacing-sm);color:var(--color-black)}.checkout-modal-header p{font-size:.9375rem;color:var(--color-gray-600);margin:0}.checkout-summary{background-color:var(--color-gray-50);border-radius:4px;padding:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.checkout-summary .summary-row{display:flex;justify-content:space-between;margin-bottom:var(--spacing-sm);font-size:.9375rem}.checkout-summary .summary-row:last-child{margin-bottom:0}.checkout-summary .summary-row.total{font-size:1.125rem;font-weight:600;padding-top:var(--spacing-md);border-top:2px solid var(--color-gray-300);margin-top:var(--spacing-md);color:var(--color-black)}@media(max-width:1024px){.cart-container,.checkout-container{grid-template-columns:1fr}.cart-summary,.order-summary{position:relative;top:0}}@media(max-width:768px){.cart-item{grid-template-columns:80px 1fr;gap:var(--spacing-md)}.cart-item-image{width:80px;height:100px}.cart-item-quantity{grid-column:1 / -1}.cart-item-total{grid-column:1 / -1;text-align:left;margin-top:var(--spacing-sm)}.cart-item-remove{position:absolute;top:var(--spacing-md);right:var(--spacing-md)}.cart-item{position:relative;padding-top:calc(var(--spacing-lg) + 30px)}.form-row{grid-template-columns:1fr}.checkout-modal-content{padding:var(--spacing-lg);max-width:95vw}.checkout-modal-header{padding-right:var(--spacing-lg)}.checkout-modal-header h2{font-size:1.5rem}.form-group label{font-size:1rem;margin-bottom:var(--spacing-xs);display:block}.form-group input{font-size:1rem;padding:var(--spacing-md);width:100%;box-sizing:border-box}.checkout-summary{padding:var(--spacing-md)}.checkout-summary .summary-row{font-size:1rem;margin-bottom:var(--spacing-md)}.checkout-summary .summary-row.total{font-size:1.25rem}.btn-block{padding:var(--spacing-md) var(--spacing-lg);font-size:1rem}}@media(max-width:480px){.checkout-modal{padding:var(--spacing-sm)}.checkout-modal-content{padding:var(--spacing-md)}.checkout-modal-header h2{font-size:1.375rem}.cart-summary,.order-summary{padding:var(--spacing-md)}.cart-summary h2{font-size:1.25rem}.summary-row{font-size:.9375rem}.summary-row.total{font-size:1.125rem}}
