.cart-main{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:12px}
.cart-sidebar{width:28%;min-width:300px;max-width:420px;flex-shrink:0;display:flex;flex-direction:column;gap:12px;position:sticky;top:16px}
.cn-card{background:#fff;border:1px solid #e9e9e9;border-radius:4px;padding:12px 20px 16px;display:flex;flex-direction:column;gap:12px}
.cn-card-title{font-size:14px;font-weight:700;color:#000;line-height:20px}
.cn-cart-header{background:#fff;border:1px solid #e9e9e9;border-radius:4px;padding:8px 15px 8px 12px;height:52px;display:flex;align-items:center;justify-content:space-between}
.cn-header-left{display:flex;align-items:center;gap:8px}
.cn-header-right{display:flex;align-items:center;gap:16px}
.cn-cols{display:flex;align-items:center;gap:20px;font-size:13px;font-weight:600;color:#000}
.cn-cols .col-price{width:85px;text-align:center}
.cn-cols .col-qty{width:128px;text-align:center}
.cn-cols .col-total{width:110px;text-align:center}
.cn-checkbox{appearance:none;-webkit-appearance:none;width:16px;height:16px;min-width:16px;border:1.5px solid #c2c2c2;border-radius:5px;background:#fff;cursor:pointer;position:relative;transition:background 0.15s,border-color .15s;flex-shrink:0}
.cn-checkbox:checked{background:#f31260;border-color:#f31260}
.cn-checkbox:checked::after{content:'';position:absolute;left:2px;top:2px;width:10px;height:10px;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 6L5 9L10 3' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat}
.cn-label-all{font-size:13px;font-weight:600;color:#000;white-space:nowrap}
.cn-btn-delete{width:36px;height:36px;background:#d4d4d8;border-radius:8px;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s;text-decoration:none}
.cn-btn-delete:hover{background:#bbbbc0}
.cn-btn-delete svg{width:16px;height:16px;fill:#555}
.cn-cart-item{background:#fff;border:1px solid #e9e9e9;border-radius:8px;padding:15px 15px 14px 12px;display:flex;align-items:center;gap:14px;min-height:109px}
.cn-item-img{width:80px;height:80px;border-radius:8px;object-fit:cover;flex-shrink:0}
.cn-item-info{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:4px}
.cn-item-name{font-size:13px;font-weight:600;color:#000;line-height:1.4;text-decoration:none;display:block}
.cn-item-name:hover{color:#dc2627}
.cn-item-variant{font-size:12px;color:#424242}
.cn-item-stock-in{font-size:12px;color:#189000}
.cn-item-stock-out{font-size:12px;color:#888}
.cn-item-actions{flex:0 0 auto;display:flex;align-items:center;gap:16px}
.cn-item-controls{display:flex;align-items:center;gap:20px}
.cn-item-price{display:flex;flex-direction:column;align-items:center;width:85px;font-size:13px;text-align:center}
.cn-price-red{font-weight:600;color:red;line-height:20px}
.cn-price-red u{text-decoration:underline}
.cn-price-old{font-weight:400;color:#6d6d6d;text-decoration:line-through;line-height:20px;font-size:12px}
.cn-qty-stepper{display:flex;align-items:center;border:.667px solid #d1d5dc;border-radius:4px;height:36px;overflow:hidden;width:128px}
.cn-qty-btn{width:32px;height:100%;border:none;background:transparent;cursor:pointer;font-size:16px;font-weight:500;color:#0a0a0a;display:flex;align-items:center;justify-content:center;transition:background .12s;text-decoration:none;line-height:1}
.cn-qty-btn:hover{background:#f0f0f0}
.cn-qty-input{width:64px;height:100%;border:none;border-left:.667px solid #d1d5dc;border-right:.667px solid #d1d5dc;text-align:center;font-family:'Inter',sans-serif;font-size:14px;color:#0a0a0a;outline:none}
.cn-item-total{width:110px;font-size:13px;font-weight:600;color:red;white-space:nowrap;text-align:center}
.cn-input-row{display:flex;gap:12px}
.cn-input{height:36px;border:1px solid #d1d5dc;border-radius:4px;padding:0 12px;font-family:'Inter',sans-serif;font-size:13px;color:#000;outline:none;background:#fff;transition:border-color .15s}
.cn-input::placeholder{color:#9f9f9f}
.cn-input:focus{border-color:#155dfc}
.cn-input.full{width:100%;flex:none}
textarea.cn-input{height:107px;padding:12px;resize:vertical;line-height:20px;width: auto;}
.cn-select-wrap{flex:1;position:relative}
.cn-select-wrap select{width:100%;height:44px;border:1px solid #d1d5dc;border-radius:4px;padding:0 36px 0 12px;font-family:'Inter',sans-serif;font-size:13px;color:#000;background:#fff;appearance:none;-webkit-appearance:none;outline:none;cursor:pointer}
.cn-select-wrap select:focus{border-color:#155dfc}
.cn-select-wrap select.disabled{background:#f2f2f2;color:#848484}
.cn-select-arrow{position:absolute;right:10px;top:50%;transform:translateY(-50%);pointer-events:none;width:16px;height:16px;fill:none;stroke:#888;stroke-width:2}
.cn-check-row{display:flex;align-items:center;gap:6px}
.cn-check-sm{appearance:none;-webkit-appearance:none;width:16px;height:16px;min-width:16px;border:1px solid #d0d0d0;border-radius:4px;background:#fff;cursor:pointer;position:relative;transition:background 0.15s,border-color .15s}
.cn-check-sm:checked{background:#155dfc;border-color:#155dfc}
.cn-check-sm:checked::after{content:'';position:absolute;left:2px;top:2px;width:10px;height:10px;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 6L5 9L10 3' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat}
.cn-check-label{font-size:13px;color:#000;line-height:20px;cursor:pointer}
.cn-radio-cards{display:flex;gap:12px}
.cn-radio-card{flex:1;height:44px;border:1px solid #d1d5dc;border-radius:4px;padding:0 12px;display:flex;align-items:center;gap:8px;cursor:pointer;transition:border-color .15s;user-select:none}
.cn-radio-card.selected{border-color:#155dfc}
.cn-radio-dot{width:20px;height:20px;border:2px solid #d1d5dc;border-radius:50%;flex-shrink:0;position:relative;transition:border-color .15s}
.cn-radio-card.selected .cn-radio-dot{border-color:#155dfc}
.cn-radio-card.selected .cn-radio-dot::after{content:'';position:absolute;inset:3px;background:#155dfc;border-radius:50%}
.cn-radio-label{font-size:13px;color:#000}
.cn-toggle-row{display:flex;align-items:center;justify-content:space-between}
.cn-toggle{position:relative;width:44px;height:24px;cursor:pointer;flex-shrink:0}
.cn-toggle input{display:none}
.cn-toggle-track{position:absolute;inset:0;background:#d1d5dc;border-radius:12px;transition:background .2s}
.cn-toggle input:checked + .cn-toggle-track{background:#155dfc}
.cn-toggle-thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #0003}
.cn-toggle input:checked ~ .cn-toggle-thumb{transform:translateX(20px)}
.cn-invoice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cn-invoice-grid.hidden{display:none}
.cn-sidebar-card{background:#fff;border:1px solid #d4d4d8;border-radius:4px;padding:16px 20px;display:flex;flex-direction:column;gap:10px}
.cn-summary-row{display:flex;align-items:center;justify-content:space-between;font-size:13px}
.cn-sum-label{font-weight:700;color:#000}
.cn-sum-value{font-weight:700;color:#000;text-align:right}
.cn-sum-value u{text-decoration:underline}
.cn-sum-value.red{color:red}
.cn-divider{border:none;border-top:1px solid #e5e7eb}
.cn-pay-title{font-size:15px;font-weight:700;color:#000}
.cn-pay-option{border:1px solid #d4d4d8;border-radius:8px;overflow:hidden}
.cn-pay-option > input[type="radio"]{display:none}
.cn-pay-label{display:flex;align-items:center;gap:10px;padding:0 16px;height:52px;cursor:pointer;font-size:13px;font-weight:700;color:#000}
.cn-pay-option:has(input:checked){border-color:#155dfc}
.cn-pay-dot{width:18px;height:18px;border:2px solid #d1d5dc;border-radius:50%;flex-shrink:0;position:relative;transition:border-color .15s}
.cn-pay-option:has(input:checked) .cn-pay-dot{border-color:#155dfc}
.cn-pay-option:has(input:checked) .cn-pay-dot::after{content:'';position:absolute;inset:3px;background:#155dfc;border-radius:50%}
.cn-pay-content{padding:12px 16px;font-size:13px;color:#444;border-top:1px solid #e9e9e9;background:#fafafa}
.cn-btn-actions{display:flex;flex-direction:column;gap:8px}
.cn-btn{width:100%;height:44px;border:none;border-radius:4px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-family:'Inter',sans-serif;font-size:13px;color:#fff;font-weight:600;transition:opacity .15s;text-decoration:none}
.cn-btn:hover{opacity:.88}
.cn-btn.red{background:#dc2627}
.cn-btn.blue{background:#155dfc;font-weight:400}
.cn-btn.purple{background:#5524f5;font-weight:400}
.cn-btn.sm{height:40px}
.cn-btn svg{width:18px;height:18px;fill:#fff;flex-shrink:0}
.cn-btn-row{display:flex;gap:8px}
.cn-btn-row .cn-btn{flex:1}
.cn-back-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#155dfc;text-decoration:none;margin-bottom:16px}
.cn-back-link:hover{text-decoration:underline}
.cn-s2-product{display:flex;align-items:center;gap:52px}
.cn-s2-product-info{display:flex;align-items:flex-start;gap:12px;flex:1}
.cn-s2-img{width:60px;height:60px;border-radius:8px;object-fit:cover;flex-shrink:0}
.cn-s2-meta{display:flex;flex-direction:column;gap:6px}
.cn-s2-name{font-size:13px;font-weight:600;color:#000;line-height:1.4;text-decoration:none}
.cn-s2-sku{font-size:13px;font-weight:600;color:#000}
.cn-s2-qty{font-size:13px;font-weight:700;color:#000;white-space:nowrap;flex-shrink:0}
.cn-empty{text-align:center;padding:60px 20px;font-size:16px;color:#555}
.cn-empty a{color:#155dfc}
.cart-cols {width: 100%;margin: 0 auto;display: flex;gap: 1.2%;align-items: flex-start;}
.d-none{display: none;}
.radio-card input[type="radio"] {
      display: none;
}
.cart-empty{max-width:500px;margin:80px auto;padding:40px 30px;text-align:center;background:#fff;border:1px solid #eee;border-radius:16px;box-shadow:0 8px 30px #0000000f}
.cart-empty__icon{width:90px;height:90px;margin:0 auto 24px;border-radius:50%;background:#f5f5f5;display:flex;align-items:center;justify-content:center}
.cart-empty__icon i{font-size:42px;color:#999}
.cart-empty h3{margin:0 0 12px;font-size:26px;color:#222}
.cart-empty p{margin:0 0 30px;font-size:16px;color:#777;line-height:1.6}
.cart-empty__btn{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;border-radius:8px;background:#e30019;color:#fff;text-decoration:none;font-weight:600;transition:.3s}
.cart-empty__btn:hover{background:#c60017;color:#fff;transform:translateY(-2px)}
