.shopping-cart-container{position:fixed;top:0;left:0;width:100%;height:100svh;padding:2rem;pointer-events:none;z-index:50}.shopping-cart-container .cart-button{position:absolute;bottom:2rem;right:2rem;background-color:var(--base-700);color:var(--base-100);border:none;width:max-content;padding:0 1.5rem;height:3.5rem;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:.75rem;pointer-events:all;font-family:var(--font-dm-mono),monospace;font-weight:500;font-size:clamp(.85rem,1vw,.85rem);text-transform:uppercase;border-radius:.75rem;transition:transform .2s ease}.shopping-cart-container .cart-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.4);pointer-events:all;opacity:1;transition:opacity .2s ease}.shopping-cart-container .cart-button:active{transform:scale(.95)}.shopping-cart-container .cart-icon{color:var(--base-100)}.shopping-cart-container .cart-count{background-color:var(--base-100);color:var(--base-700);padding:.25rem .5rem;border-radius:50%;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:600}.shopping-cart-container .cart-sidebar{position:absolute;top:2rem;right:2rem;width:30%;height:calc(100svh - 4rem);background-color:var(--base-700);color:var(--base-100);transform:translateX(calc(100% + 4rem));transition:transform .3s ease;border-radius:.75rem;pointer-events:all;display:flex;flex-direction:column;overflow:hidden;overscroll-behavior:contain}.shopping-cart-container .cart-sidebar.open{transform:translateX(0)}.shopping-cart-container .cart-sidebar-content{width:100%;height:100%;display:flex;flex-direction:column;padding:2rem}.shopping-cart-container .cart-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:2rem}.shopping-cart-container .cart-header h2{color:var(--base-100);font-size:clamp(1.5rem,2vw,2rem);margin:0}.shopping-cart-container .cart-close{background:transparent;color:var(--base-100);border:none;padding:0;cursor:pointer;font-family:var(--font-dm-mono),monospace;font-weight:500;text-transform:uppercase;transition:opacity .2s ease;font-size:clamp(.8rem,.75vw,.85rem)}.shopping-cart-container .cart-items{flex:1 1;overflow-y:auto;overflow-x:hidden;margin-bottom:2rem;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none}.shopping-cart-container .cart-items::-webkit-scrollbar{display:none}.shopping-cart-container .cart-empty{display:flex;align-items:center;justify-content:center;height:100%;text-align:center}.shopping-cart-container .cart-empty p{color:var(--base-100);text-transform:uppercase}.shopping-cart-container .cart-item{display:flex;gap:1.5rem;padding:1.5rem 0;border-bottom:1px solid rgba(255,255,255,.1)}.shopping-cart-container .cart-item:last-child{border-bottom:none}.shopping-cart-container .cart-item-image{width:100px;height:100px;flex-shrink:0;background-color:var(--base-200);border-radius:.5rem;overflow:hidden;padding:.5rem}.shopping-cart-container .cart-item-image img{width:100%;height:100%;object-fit:contain}.shopping-cart-container .cart-item-details{flex:1 1;display:flex;flex-direction:column;gap:.5rem}.shopping-cart-container .cart-item-name-row{display:flex;justify-content:space-between;align-items:center;width:100%}.shopping-cart-container .cart-item-name{color:var(--base-100);text-transform:uppercase;margin:0}.shopping-cart-container .cart-item-quantity{font-weight:500;color:var(--base-100);font-size:clamp(.85rem,1vw,.9rem);text-transform:uppercase}.shopping-cart-container .cart-item-quantity-controls{display:flex;align-items:center;gap:1rem;margin-top:.5rem}.shopping-cart-container .quantity-btn{background-color:var(--base-100);color:var(--base-700);border:none;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;cursor:pointer;font-family:var(--font-dm-mono),monospace;font-weight:600;font-size:1.2rem;border-radius:.25rem;transition:transform .2s ease,opacity .2s ease;line-height:1;padding:0}.shopping-cart-container .quantity-btn:hover{opacity:.9}.shopping-cart-container .quantity-btn:active{transform:scale(.9)}.shopping-cart-container .quantity-btn.decrease{background-color:transparent;color:var(--base-100);border:1px solid rgba(255,255,255,.3)}.shopping-cart-container .quantity-btn.increase{background-color:var(--base-100);color:var(--base-700)}.shopping-cart-container .quantity-number{color:var(--base-100);font-family:var(--font-dm-mono),monospace;font-weight:500;font-size:clamp(.9rem,1vw,1rem);min-width:2rem;text-align:center}.shopping-cart-container .cart-item-total-row{margin-top:.5rem}.shopping-cart-container .cart-item-total{color:var(--base-100);font-family:var(--font-dm-mono),monospace;font-weight:500;font-size:clamp(.8rem,.9vw,.85rem);text-transform:uppercase}.shopping-cart-container .cart-item-price{color:var(--base-100);margin:0}.shopping-cart-container .cart-item-remove{background:transparent;color:var(--base-500);border:none;padding:0;cursor:pointer;font-family:var(--font-dm-mono),monospace;font-weight:500;font-size:clamp(.75rem,.9vw,.8rem);text-transform:uppercase;margin-top:.5rem;text-align:left;transition:opacity .2s ease;transform:none;-webkit-transform:none}.shopping-cart-container .cart-item-remove:active{transform:none;-webkit-transform:none}.shopping-cart-container .cart-footer{border-top:1px solid rgba(255,255,255,.1);padding-top:1.5rem;display:flex;flex-direction:column;gap:1rem}.shopping-cart-container .cart-summary-row{display:flex;justify-content:space-between;color:var(--base-100);font-size:clamp(.85rem,1vw,.9rem);text-transform:uppercase}.shopping-cart-container .cart-summary-row span{color:var(--base-100)}.shopping-cart-container .cart-clear{width:100%;background-color:transparent;color:var(--base-100);border:1px solid rgba(255,255,255,.3);padding:1rem;cursor:pointer;font-family:var(--font-dm-mono),monospace;font-weight:500;font-size:clamp(.85rem,1vw,.85rem);text-transform:uppercase;border-radius:.5rem;transition:transform .2s ease,background-color .2s ease}.shopping-cart-container .cart-clear:hover{background-color:rgba(255,255,255,.1)}.shopping-cart-container .cart-clear:active{transform:scale(.95)}.shopping-cart-container .cart-checkout{width:100%;background-color:var(--base-100);color:var(--base-700);border:none;padding:1.25rem;cursor:pointer;font-family:var(--font-dm-mono),monospace;font-weight:500;font-size:clamp(.85rem,1vw,.85rem);text-transform:uppercase;border-radius:.5rem;margin-top:0;transition:transform .2s ease}.shopping-cart-container .cart-checkout:active{transform:scale(.95)}@media (max-width:1024px){.shopping-cart-container{padding:1rem}.shopping-cart-container .cart-sidebar{width:calc(100% - 2rem);right:1rem;top:1rem;height:calc(100svh - 2rem)}.shopping-cart-container .cart-button{bottom:1rem;right:1rem}.shopping-cart-container .cart-sidebar-content{padding:1.5rem}}@media (max-width:768px){.shopping-cart-container{padding:.75rem}.shopping-cart-container .cart-sidebar{width:calc(100% - 1.5rem);right:.75rem;top:.75rem;height:calc(100svh - 1.5rem);border-radius:.5rem}.shopping-cart-container .cart-button{bottom:.75rem;right:.75rem;height:3rem;padding:0 1.25rem;font-size:.75rem}.shopping-cart-container .cart-sidebar-content{padding:1.25rem}.shopping-cart-container .cart-header{padding-bottom:.75rem;margin-bottom:1.5rem}.shopping-cart-container .cart-header h2{font-size:clamp(1.25rem,4vw,1.5rem)}.shopping-cart-container .cart-item{gap:1rem;padding:1.25rem 0}.shopping-cart-container .cart-item-image{width:80px;height:80px}.shopping-cart-container .cart-item-name{font-size:.85rem}}@media (max-width:480px){.shopping-cart-container .cart-sidebar{width:100%;right:0;top:0;height:100svh;border-radius:0}.shopping-cart-container .cart-button{bottom:.5rem;right:.5rem;height:2.75rem;padding:0 1rem;min-width:44px;min-height:44px}.shopping-cart-container .cart-item-image{width:70px;height:70px}.shopping-cart-container .cart-item{gap:.75rem;padding:1rem 0}}@media (hover:none) and (pointer:coarse){.shopping-cart-container .cart-button,.shopping-cart-container .cart-close,.shopping-cart-container .quantity-btn{min-width:44px;min-height:44px}.shopping-cart-container .cart-checkout,.shopping-cart-container .cart-clear{min-height:44px}}@media (max-width:360px){.shopping-cart-container .cart-sidebar-content{padding:1rem}.shopping-cart-container .cart-item-image{width:60px;height:60px}.shopping-cart-container .cart-header h2{font-size:1.1rem}}