.cart-dialog{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;overflow:hidden;z-index:100}.cart-dialog .cart-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background-color:rgba(107,114,128,.75);opacity:1;transition:opacity .2s ease}.cart-dialog .cart-panel-container{pointer-events:none;position:fixed;top:0;bottom:0;left:0;display:flex;max-width:100%;padding-right:2.5rem}.cart-dialog .cart-panel{pointer-events:auto;width:100vw;max-width:28rem;transform:translateX(0)}.cart-dialog .cart-panel-content{display:flex;height:100%;flex-direction:column;overflow-y:scroll;background-color:white;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);position:absolute;top:0;width:100%}.cart-dialog .cart-panel-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1.5rem 1rem 0 1.5rem}.cart-dialog .cart-panel-title{font-size:1.125rem;line-height:1.75rem;font-weight:500;color:#111827;margin:0}.cart-dialog .cart-close-button{margin-left:.75rem;color:#9ca3af;background:none;border:none;cursor:pointer}.cart-dialog .cart-close-button:hover{color:#6b7280}.cart-dialog .cart-close-button svg{width:1.5rem;height:1.5rem}.cart-dialog .cart-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.cart-dialog .cart-items-container{flex:1 1;overflow-y:auto;padding:0 1rem 0 1.5rem}.cart-dialog .cart-items-list{list-style:none;padding:0;margin:0}.cart-dialog .cart-item{display:flex;padding:1.5rem 0;border-bottom:1px solid #e5e7eb}.cart-dialog .cart-item-image-container{height:6rem;width:6rem;flex-shrink:0;overflow:hidden;border-radius:.375rem;border:1px solid #e5e7eb}.cart-dialog .cart-item-image{height:100%;width:100%;object-fit:cover;object-position:center}.cart-dialog .cart-item-details{display:flex;flex:1 1;flex-direction:column;margin-left:1rem}.cart-dialog .cart-item-header{display:flex;justify-content:space-between}.cart-dialog .cart-item-header h3{font-size:1rem;line-height:1.5rem;font-weight:500;color:#111827;margin:0}.cart-dialog .cart-item-price{font-size:1rem;line-height:1.5rem;font-weight:500;color:#111827;margin:0 0 0 1rem}.cart-dialog .cart-item-meta{display:flex;flex:1 1;flex-direction:column;gap:.75rem;font-size:.875rem;line-height:1.25rem}.cart-dialog .cart-item-total{color:#6b7280;margin:0}.cart-dialog .cart-quantity-controls{display:flex;align-items:center}.cart-dialog .cart-quantity-button{border-radius:.375rem;border:1px solid #e5e7eb;padding:.375rem;font-weight:500;background:none;cursor:pointer}.cart-dialog .cart-quantity-button svg{width:1rem;height:1rem;color:#111827}.cart-dialog .cart-quantity-value{margin:0;width:2.5rem;text-align:center}.cart-dialog .cart-delete-button{font-weight:500;margin-left:.5rem;background:none;border:none;cursor:pointer;padding:0}.cart-dialog .cart-delete-button svg{width:1.25rem;height:1.25rem;color:#dc2626}.cart-dialog .cart-summary{padding:1.5rem 1rem 1.5rem 1.5rem;border-top:1px solid #e5e7eb}.cart-dialog .cart-summary-list{margin:1.5rem 0;display:flex;flex-direction:column;gap:1.5rem;font-size:.875rem;line-height:1.25rem;font-weight:500;color:#111827}.cart-dialog .cart-summary-item{display:flex;align-items:center;justify-content:space-between}.cart-dialog .cart-summary-label{color:#6b7280}.cart-dialog .cart-summary-value{color:#111827}.cart-dialog .cart-checkout-button{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 2rem;font-size:1rem;font-weight:500;width:100%;border:none;background-color:#000;color:white;font-family:League Spartan,sans-serif;cursor:pointer;transition:background-color .2s ease;border-radius:0}.cart-dialog .cart-checkout-button:hover{background-color:rgba(0,0,0,.8)}.cart-dialog .cart-checkout-button:active{background-color:rgba(0,0,0,.9)}.cart-dialog .cart-continue-shopping{margin-top:1.5rem;display:flex;justify-content:center;text-align:center;font-size:.875rem;line-height:1.25rem;color:#6b7280}.cart-dialog .cart-continue-shopping p{margin:0}.cart-dialog .cart-continue-shopping-button{font-weight:700;color:#000;text-decoration:underline;background:none;border:none;cursor:pointer;padding:0}.cart-dialog .show{left:0;animation:slideIn .4s linear}.cart-dialog .out{animation:slideOut .4s linear}@keyframes slideIn{0%{left:-300px}to{left:0}}@keyframes slideOut{0%{left:0}to{left:-300px}}