.cart-page{min-height:80vh;background:#f8fafc;padding-bottom:4rem}.cart-header{background:#fff;border-bottom:1px solid #e8ecf1;padding:1.25rem 0;position:sticky;top:60px;z-index:100;backdrop-filter:blur(12px);background:#fffffff2}.cart-header-inner{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;justify-content:space-between}.cart-title-group{display:flex;align-items:center;gap:1rem}.cart-icon-wrap{width:44px;height:44px;background:linear-gradient(135deg,#0ea5e9,#06b6d4);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 12px #0ea5e940}.cart-title-group h1{font-size:1.5rem;font-weight:700;color:#1a1a2e;margin:0;line-height:1.2}.cart-subtitle{font-size:.85rem;color:#8492a6;margin:.15rem 0 0}.continue-shopping{display:flex;align-items:center;gap:.25rem;color:#00a8cc;text-decoration:none;font-size:.9rem;font-weight:500;padding:.5rem 1rem;border-radius:8px;transition:all .2s}.continue-shopping:hover{background:#f0f9ff}.cart-container{max-width:1200px;margin:0 auto;padding:2rem}.cart-loading{text-align:center;padding:6rem 0;color:#8492a6}.loading-spinner{width:36px;height:36px;border:3px solid #e8ecf1;border-top-color:#00a8cc;border-radius:50%;margin:0 auto 1rem;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:5rem 2rem;background:#fff;border-radius:20px;box-shadow:0 1px 3px #0000000a;border:1px solid #e8ecf1}.empty-illustration{margin-bottom:2rem;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.empty-state h2{font-size:1.5rem;font-weight:700;color:#1a1a2e;margin:0 0 .75rem}.empty-state p{color:#8492a6;font-size:1rem;margin:0 0 2rem;max-width:360px;margin-left:auto;margin-right:auto}.empty-actions{display:flex;gap:1rem;justify-content:center}.btn-go-shop{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 1.75rem;background:linear-gradient(135deg,#0ea5e9,#06b6d4);color:#fff;text-decoration:none;border-radius:12px;font-weight:600;font-size:.9375rem;transition:all .3s;box-shadow:0 4px 14px #0ea5e959}.btn-go-shop:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0ea5e973}.btn-go-home{display:inline-flex;align-items:center;padding:.75rem 1.75rem;color:#64748b;text-decoration:none;border-radius:10px;font-weight:500;font-size:.95rem;border:1px solid #e2e8f0;transition:all .2s}.btn-go-home:hover{background:#f8fafc;border-color:#cbd5e1}.cart-banner{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:12px;padding:1rem 1.25rem;margin-bottom:1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;animation:slideDown .4s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.banner-content{display:flex;align-items:center;gap:.75rem;color:#1e40af;font-size:.9rem}.banner-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.banner-btn-primary{padding:.625rem 1.25rem;background:#0ea5e9;color:#fff;text-decoration:none;border-radius:8px;font-size:.875rem;font-weight:600;transition:all .2s}.banner-btn-primary:hover{background:#0284c7}.banner-btn-close{background:none;border:none;color:#93c5fd;cursor:pointer;padding:.25rem;border-radius:4px;transition:all .2s}.banner-btn-close:hover{color:#2563eb;background:#2563eb1a}.cart-body{display:grid;grid-template-columns:1fr 340px;gap:1.5rem;align-items:start}.cart-table{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000000a;border:1px solid #e8ecf1;overflow:hidden}.cart-table-header{display:grid;grid-template-columns:2.5fr 1fr .8fr 1.2fr .8fr .5fr;padding:1rem 1.5rem;background:#f8fafc;border-bottom:1px solid #e2e8f0;font-size:.8125rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.cart-table-body{display:flex;flex-direction:column}.cart-item{display:grid;grid-template-columns:2.5fr 1fr .8fr 1.2fr .8fr .5fr;padding:1.25rem 1.5rem;border-bottom:1px solid #f1f5f9;align-items:center;transition:all .3s ease}.cart-item:last-child{border-bottom:none}.cart-item:hover{background:#fafbfc}.col-product{display:flex;align-items:center;gap:1rem}.product-thumb{width:48px;height:48px;border-radius:8px;overflow:hidden;background:#f1f5f9;flex-shrink:0;border:1px solid #e2e8f0}.product-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.product-info h3{font-size:.9375rem;font-weight:600;color:#0f172a;margin:0 0 .25rem;line-height:1.3}.product-code{font-size:.75rem;color:#94a3b8;font-family:monospace}.col-license{display:flex;align-items:center}.license-badge{display:inline-block;padding:.25rem .625rem;border-radius:4px;font-size:.75rem;font-weight:600}.badge-yearly{background:#ecfdf5;color:#059669}.badge-permanent{background:#fef3c7;color:#d97706}.col-price{display:flex;align-items:center}.price-value{font-size:.9375rem;font-weight:600;color:#475569}.col-quantity{display:flex;align-items:center}.qty-control{display:inline-flex;align-items:center;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;background:#fff;transition:border-color .2s}.qty-control:hover{border-color:#cbd5e1}.qty-control:focus-within{border-color:#00a8cc;box-shadow:0 0 0 3px #00a8cc1a}.qty-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:#64748b;transition:all .15s}.qty-btn:hover:not(:disabled){background:#f1f5f9;color:#1a1a2e}.qty-btn:disabled{opacity:.3;cursor:not-allowed}.qty-input{width:40px;text-align:center;border:none;border-left:1px solid #e2e8f0;border-right:1px solid #e2e8f0;font-size:.9rem;font-weight:600;color:#1a1a2e;padding:.375rem 0;outline:none;-moz-appearance:textfield}.qty-input::-webkit-inner-spin-button,.qty-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.col-subtotal .subtotal-value{font-size:1rem;font-weight:700;color:#0ea5e9}.col-action{text-align:center}.btn-delete{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;background:none;border:none;border-radius:8px;cursor:pointer;color:#94a3b8;transition:all .2s}.btn-delete:hover{background:#fef2f2;color:#ef4444}.cart-footer-bar{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-top:1px solid #e2e8f0;background:#f8fafc}.btn-clear-all{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:none;border:1px solid #e2e8f0;border-radius:8px;color:#8492a6;font-size:.85rem;cursor:pointer;transition:all .2s}.btn-clear-all:hover{border-color:#fca5a5;color:#ef4444;background:#fef2f2}.cart-summary-inline{font-size:.9rem;color:#64748b}.summary-total-inline{font-size:1.25rem;font-weight:700;color:#1a1a2e}.checkout-panel{position:sticky;top:140px}.checkout-card{background:#fff;border-radius:16px;padding:1.75rem;box-shadow:0 1px 3px #0000000a;border:1px solid #e8ecf1}.checkout-card h3{font-size:1.1rem;font-weight:700;color:#1a1a2e;margin:0 0 1.25rem;padding-bottom:1rem;border-bottom:1px solid #f1f5f9}.summary-rows{display:flex;flex-direction:column;gap:.75rem}.summary-row{display:flex;justify-content:space-between;font-size:.9rem;color:#64748b}.summary-divider{height:1px;background:linear-gradient(90deg,transparent,#e2e8f0,transparent);margin:1.25rem 0}.summary-final{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:1.5rem}.summary-final>span{font-size:.95rem;font-weight:600;color:#475569}.final-price{display:flex;align-items:baseline;gap:.15rem}.final-currency{font-size:1.1rem;font-weight:700;color:#0ea5e9}.final-amount{font-size:1.75rem;font-weight:800;color:#0ea5e9;line-height:1}.btn-checkout{width:100%;padding:1rem;background:linear-gradient(135deg,#0ea5e9,#06b6d4);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .3s;box-shadow:0 4px 14px #0ea5e959}.btn-checkout:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0ea5e973}.btn-checkout:active{transform:translateY(0)}.checkout-guarantees{display:flex;justify-content:center;gap:1.25rem;margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid #f1f5f9}.guarantee-item{display:flex;align-items:center;gap:.35rem;color:#94a3b8;font-size:.78rem}.cart-toast{position:fixed;top:80px;left:50%;transform:translate(-50%) translateY(-20px);background:#0f172a;color:#fff;padding:.875rem 1.5rem;border-radius:12px;font-size:.9375rem;font-weight:500;display:flex;align-items:center;gap:.625rem;opacity:0;visibility:hidden;transition:all .3s ease;z-index:9999;box-shadow:0 10px 40px #0003}.cart-toast.show{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.toast-success{background:#059669}.toast-error{background:#dc2626}.toast-info{background:#2563eb}.checkout-modal,.wechat-payment-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;opacity:0;transition:opacity .3s ease}.checkout-modal.show,.wechat-payment-modal.show{opacity:1}.checkout-modal-content,.wechat-modal-content{background:#fff;border-radius:16px;max-width:600px;width:90%;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;margin:auto}.checkout-modal-header,.wechat-modal-header{padding:1.5rem;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between}.checkout-modal-header h3,.wechat-modal-header h3{margin:0;font-size:1.25rem;font-weight:700;color:#0f172a}.close-btn{background:none;border:none;font-size:1.5rem;color:#94a3b8;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s}.close-btn:hover{background:#f1f5f9;color:#0f172a}.checkout-modal-body,.wechat-modal-body{padding:1.5rem}.order-items h4{margin:0 0 1rem;font-size:1rem;font-weight:600;color:#475569}.order-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f8fafc;border-radius:12px;margin-bottom:.75rem}.item-info{display:flex;flex-direction:column;gap:.25rem}.item-name{font-weight:600;color:#0f172a;font-size:.9375rem}.item-license{font-size:.8125rem;color:#64748b}.item-price{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;font-size:.875rem;color:#64748b}.item-subtotal{font-weight:700;color:#0ea5e9;font-size:1rem}.order-form{margin-top:1.5rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-size:.875rem;font-weight:600;color:#475569;margin-bottom:.5rem}.form-group input[type=email]{width:100%;padding:.75rem 1rem;border:1px solid #e2e8f0;border-radius:8px;font-size:.9375rem;transition:all .2s}.form-group input[type=email]:focus{outline:none;border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e91a}.payment-options{display:flex;gap:1rem}.payment-option{flex:1;position:relative}.payment-option input[type=radio]{position:absolute;opacity:0;width:0;height:0}.payment-label{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .2s;font-weight:600;color:#475569}.payment-option input[type=radio]:checked+.payment-label{border-color:#0ea5e9;background:#f0f9ff;color:#0ea5e9}.payment-label:hover{border-color:#cbd5e1}.order-summary{margin-top:1.5rem;padding:1.25rem;background:#f8fafc;border-radius:12px}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;font-size:.9375rem;color:#64748b}.summary-row.total{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e2e8f0;font-size:1.125rem;font-weight:700;color:#0f172a}.checkout-modal-footer,.wechat-modal-footer{padding:1.5rem;border-top:1px solid #e2e8f0;display:flex;gap:1rem;justify-content:flex-end}.btn-cancel,.btn-close{padding:.75rem 1.5rem;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;font-weight:600;cursor:pointer;transition:all .2s}.btn-cancel:hover,.btn-close:hover{background:#f8fafc;border-color:#cbd5e1}.btn-confirm{padding:.75rem 2rem;background:linear-gradient(135deg,#0ea5e9,#06b6d4);border:none;border-radius:8px;color:#fff;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #0ea5e94d}.btn-confirm:hover{transform:translateY(-1px);box-shadow:0 6px 16px #0ea5e966}.btn-confirm:disabled{opacity:.6;cursor:not-allowed;transform:none}.payment-info{background:#f8fafc;border-radius:12px;padding:1.25rem;margin-bottom:1.5rem}.info-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;font-size:.9375rem}.info-row span:first-child{color:#64748b}.info-row .order-nos{font-family:monospace;font-size:.8125rem;color:#0f172a;text-align:right;max-width:60%;word-break:break-all}.info-row .amount{font-size:1.5rem;font-weight:800;color:#07c160}.info-row span:last-child{color:#0f172a;font-weight:500}.wechat-qr-section{text-align:center;margin:1.5rem 0}.wechat-qr{max-width:240px;width:100%;border:1px solid #e2e8f0;border-radius:12px;padding:1rem;background:#fff}.qr-tip{margin-top:1rem;font-size:.9375rem;color:#64748b}.payment-steps{background:#f0f9ff;border-radius:12px;padding:1.25rem;margin:1.5rem 0}.payment-steps h4{margin:0 0 .75rem;font-size:1rem;font-weight:600;color:#0ea5e9}.payment-steps ol{margin:0;padding-left:1.5rem;color:#475569;font-size:.9375rem;line-height:1.8}.contact-info{background:#fffbeb;border-radius:12px;padding:1.25rem;font-size:.9375rem;color:#92400e}.contact-info p{margin:.5rem 0}.contact-info .tip{margin-top:1rem;font-size:.875rem;color:#78350f;font-style:italic}@media(max-width:960px){.cart-body{grid-template-columns:1fr}.checkout-panel{position:static}}@media(max-width:768px){.cart-header{top:0}.cart-header-inner{padding:0 1rem}.cart-container{padding:1rem}.cart-table-header{display:none}.cart-item{grid-template-columns:1fr;gap:.75rem;padding:1.25rem}.col-product{gap:.75rem}.product-thumb{width:56px;height:56px}.col-price,.col-subtotal{display:flex;justify-content:space-between;padding:0 0 0 4.5rem}.col-price:before{content:"单价";color:#8492a6;font-size:.85rem}.col-subtotal:before{content:"小计";color:#8492a6;font-size:.85rem}.col-quantity{padding:0 0 0 4.5rem}.col-action{position:absolute;right:1.25rem;top:1.25rem}.cart-item{position:relative}.cart-banner{flex-direction:column;text-align:center}.empty-actions{flex-direction:column}.checkout-guarantees{flex-wrap:wrap;gap:.75rem}}
