.cart-overlay{position:fixed;inset:0;background:rgba(0,0,0,0);z-index:10001;pointer-events:none;transition:background .35s ease}.cart-overlay.is-open{background:rgba(0,0,0,.4);pointer-events:auto;backdrop-filter:blur(2px)}.cart-drawer{position:fixed;top:0;right:0;width:min(420px,92vw);max-width:100vw;height:100dvh;background:#fff;z-index:10002;display:flex;flex-direction:column;box-shadow:-8px 0 40px rgba(0,0,0,.12);right:-100vw;transition:right .4s cubic-bezier(.22,1,.36,1);will-change:right}.cart-drawer.is-open{right:0}.cart-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid #f0eeeb}.cart-drawer-title{font-family:'Space Grotesk',system-ui,sans-serif;font-size:1.15rem;font-weight:700;letter-spacing:-.01em}.cart-drawer-count{font-weight:400;color:#888;font-size:.9rem}.cart-drawer-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;background:#f5f3f0;border-radius:50%;padding:0;cursor:pointer;color:#333;transition:background .2s,transform .2s}.cart-drawer-close svg{display:block}.cart-drawer-close:hover{background:#ebe8e4;transform:scale(1.1)}.cart-drawer-progress{padding:.75rem 1.5rem .5rem}.cart-progress-bar{height:4px;background:#f0eeeb;border-radius:4px;overflow:hidden}.cart-progress-fill{height:100%;background:linear-gradient(90deg,#d14a3b,#ff7a5c);border-radius:4px;transition:width .5s cubic-bezier(.22,1,.36,1);width:0%}.cart-progress-fill.complete{background:linear-gradient(90deg,#22c55e,#4ade80)}.cart-progress-text{font-size:.75rem;color:#777;margin-top:.4rem;text-align:center}.cart-drawer-items{flex:1;overflow-y:auto;padding:.5rem 1.5rem;scrollbar-width:thin;scrollbar-color:#ddd transparent}.cart-item{display:flex;gap:.85rem;padding:1rem 0;border-bottom:1px solid #f5f3f0;position:relative;animation:cartIn .3s ease both}@keyframes cartIn{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.cart-item-img{flex-shrink:0;width:72px;height:90px;border-radius:10px;overflow:hidden;background:#f8f7f5;display:block}.cart-item-img img{width:100%;height:100%;object-fit:cover}.cart-item-img--lg{width:100px;height:125px;border-radius:12px}.cart-item-info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:space-between}.cart-item-title{font-size:.85rem;font-weight:600;color:#1a1a1a;text-decoration:none;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cart-item-title:hover{color:#d14a3b}.cart-item-variant{font-size:.72rem;color:#999;margin-top:.15rem;text-transform:capitalize}.cart-item-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:.4rem}.cart-item-price{font-size:.9rem;font-weight:700;color:#1a1a1a}.cart-qty{display:inline-flex;align-items:center;border:1.5px solid #e5e2de;border-radius:8px;overflow:hidden}.cart-qty-btn{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;font-size:1rem;cursor:pointer;color:#555;transition:background .15s}.cart-qty-btn:hover{background:#f5f3f0}.cart-qty-value{width:28px;text-align:center;font-size:.82rem;font-weight:600}.cart-item-remove{position:absolute;top:.75rem;right:-.25rem;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;font-size:1.1rem;color:#bbb;cursor:pointer;border-radius:50%;transition:color .2s,background .2s}.cart-item-remove:hover{color:#d14a3b;background:#fef2f0}.cart-drawer-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:#999;font-size:.95rem}.cart-drawer-crosssell{padding:.75rem 1.5rem;border-top:1px solid #f0eeeb}.crosssell-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#888;margin-bottom:.5rem}.crosssell-items{display:flex;gap:.75rem;overflow-x:auto;padding-bottom:.5rem;scrollbar-width:none}.crosssell-items::-webkit-scrollbar{display:none}.crosssell-card{flex-shrink:0;width:80px;text-align:center;text-decoration:none}.crosssell-card img{width:80px;height:100px;object-fit:cover;border-radius:8px;margin-bottom:.3rem;transition:transform .2s}.crosssell-card:hover img{transform:scale(1.05)}.crosssell-name{display:block;font-size:.65rem;color:#555;line-height:1.2;margin-bottom:.1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:80px}.crosssell-price{font-size:.65rem;font-weight:700;color:#1a1a1a}.crosssell-card--lg{width:140px}.crosssell-card--lg img{width:140px;height:175px;border-radius:10px}.crosssell-card--lg .crosssell-name{font-size:.78rem;max-width:140px}.crosssell-card--lg .crosssell-price{font-size:.78rem}.crosssell-grid{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.cart-drawer-footer{padding:1rem 1.5rem 1.5rem;border-top:1px solid #f0eeeb;background:#fafaf9}.cart-subtotal{display:flex;justify-content:space-between;font-size:1rem;font-weight:700;margin-bottom:.3rem}.cart-subtotal-amount{font-size:1.15rem}.cart-shipping-note{font-size:.75rem;color:#888;margin-bottom:1rem}.cart-btn{display:block;width:100%;padding:.9rem;border:none;border-radius:12px;font-family:inherit;font-size:.95rem;font-weight:700;cursor:pointer;text-align:center;text-decoration:none;transition:all .25s ease}.cart-btn--primary{background:#1a1a1a;color:#fff}.cart-btn--primary:hover{background:#333;transform:translateY(-1px);box-shadow:0 6px 20px rgba(0,0,0,.15)}.cart-btn--primary:disabled{opacity:.6;cursor:wait;transform:none}.cart-btn--outline{background:transparent;color:#1a1a1a;border:1.5px solid #ddd}.cart-btn--outline:hover{border-color:#1a1a1a}.cart-trust{text-align:center;font-size:.68rem;color:#aaa;margin-top:.75rem;letter-spacing:.01em}.cart-payment-icons{text-align:center;font-size:.65rem;color:#bbb;margin-top:.4rem}.quick-add-popover{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(10px);background:#fff;border-radius:14px;box-shadow:0 8px 30px rgba(0,0,0,.15);padding:.75rem;z-index:100;min-width:200px;opacity:0;transition:all .25s cubic-bezier(.22,1,.36,1);pointer-events:none}.quick-add-popover.is-open{opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto}.qap-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#888;margin-bottom:.5rem;text-align:center}.qap-btn{display:flex;justify-content:space-between;align-items:center;width:100%;padding:.5rem .75rem;border:1.5px solid #eee;border-radius:8px;background:#fff;font-family:inherit;font-size:.8rem;cursor:pointer;margin-bottom:.35rem;transition:all .15s}.qap-btn:hover{border-color:#1a1a1a;background:#fafaf9}.qap-btn:last-child{margin-bottom:0}.cart-fly-img{box-shadow:0 4px 15px rgba(0,0,0,.2)}.cart-bounce{animation:cartBounce .6s ease}@keyframes cartBounce{0%{transform:scale(1)}30%{transform:scale(1.3)}50%{transform:scale(.9)}70%{transform:scale(1.15)}100%{transform:scale(1)}}.unav-cart-badge.has-items,.cart-badge.has-items{background:#d14a3b;color:#fff;min-width:18px;height:18px;border-radius:9px;font-size:.65rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;position:absolute;top:-4px;right:-4px;padding:0 4px;pointer-events:none;animation:badgePop .3s ease}@keyframes badgePop{from{transform:scale(0)}to{transform:scale(1)}}.cart-page-grid{display:grid;grid-template-columns:1fr 380px;gap:2.5rem;align-items:start}.cart-page-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:1rem;border-bottom:1px solid #eee;margin-bottom:1rem}.cart-clear-btn{border:none;background:none;color:#999;font-size:.8rem;cursor:pointer;text-decoration:underline}.cart-clear-btn:hover{color:#d14a3b}.cart-item--page{padding:1.25rem 0}.cart-summary-card{background:#fafaf9;border-radius:16px;padding:1.5rem;border:1px solid #f0eeeb;position:sticky;top:6rem}.cart-summary-card h3{font-size:1.1rem;font-weight:700;margin-bottom:1rem}.cart-summary-row{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.9rem;color:#555}.cart-summary-total{font-size:1.1rem;font-weight:700;color:#1a1a1a;border-top:1px solid #eee;padding-top:.75rem;margin-top:.5rem}.cart-page-empty{text-align:center;padding:4rem 1rem}.cart-page-empty h2{font-size:1.5rem;margin-bottom:.5rem}.cart-page-empty p{color:#888;margin-bottom:1.5rem}@media(max-width:768px){.cart-page-grid{grid-template-columns:1fr;gap:1.5rem}.cart-summary-card{position:static}}@media(max-width:480px){.cart-drawer{width:100vw}.cart-item-img{width:60px;height:75px}}