/* cart.css */
.cart-main{padding:16px 0 40px}
.page-title{font-size:22px;font-weight:700;color:var(--text);margin-bottom:20px;display:flex;align-items:center;gap:10px}
.cart-item-count{font-size:14px;font-weight:400;color:var(--text-muted)}

.login-required,.empty-cart{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
.lr-icon,.empty-icon{margin-bottom:16px}
.login-required h3,.empty-cart h3{font-size:20px;font-weight:700;margin-bottom:8px}
.login-required p,.empty-cart p{font-size:14px;color:var(--text-muted);margin-bottom:20px}

.cart-layout{display:grid;grid-template-columns:1fr;gap:20px;align-items:start}
.cart-actions-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:12px}
.select-all-label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;cursor:pointer}
.select-all-label input{width:16px;height:16px;cursor:pointer;accent-color:var(--blue)}
.btn-delete-selected{display:flex;align-items:center;gap:6px;color:var(--danger);font-size:12px;font-weight:600;font-family:var(--font);padding:6px 12px;border-radius:var(--radius);transition:var(--transition)}
.btn-delete-selected:hover{background:rgba(231,76,60,.08)}

.cart-item{background:#fff;border-radius:var(--radius-lg);padding:14px;display:flex;align-items:flex-start;gap:12px;box-shadow:var(--shadow-sm);margin-bottom:10px;transition:var(--transition)}
.cart-item:hover{box-shadow:var(--shadow-md)}
.ci-check{padding-top:2px;flex-shrink:0}
.ci-check input{width:16px;height:16px;cursor:pointer;accent-color:var(--blue)}
.ci-img{width:80px;height:80px;border-radius:var(--radius);overflow:hidden;background:var(--gray-100);flex-shrink:0;cursor:pointer}
.ci-img img{width:100%;height:100%;object-fit:cover}
.ci-details{flex:1;min-width:0}
.ci-name{font-size:13px;font-weight:600;color:var(--text);margin-bottom:4px;cursor:pointer;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ci-name:hover{color:var(--blue)}
.ci-seller{font-size:11px;color:var(--text-muted);display:flex;align-items:center;gap:4px;margin-bottom:3px}
.ci-id{font-size:10px;color:var(--text-muted);font-weight:500;margin-bottom:2px}
.ci-return{font-size:10px;color:var(--text-muted)}
.ci-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0;min-width:80px}
.ci-price{font-size:16px;font-weight:700;color:var(--blue)}
.ci-unit-price{font-size:10px;color:var(--text-muted)}
.ci-qty{display:flex;align-items:center;gap:0;border:1px solid var(--gray-300);border-radius:6px;overflow:hidden}
.qty-btn-sm{width:28px;height:28px;background:var(--gray-100);font-size:16px;font-weight:500;transition:var(--transition)}
.qty-btn-sm:hover{background:var(--gray-200)}
.ci-qty span{min-width:30px;height:28px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;border-left:1px solid var(--gray-300);border-right:1px solid var(--gray-300)}
.ci-delete{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--danger);font-family:var(--font);transition:var(--transition);padding:3px 6px;border-radius:4px}
.ci-delete:hover{background:rgba(231,76,60,.08)}

.continue-shopping{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--blue);font-weight:500;padding:8px 0;transition:var(--transition)}
.continue-shopping:hover{color:var(--blue-dark)}

/* SUMMARY */
.cart-summary{background:#fff;border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm);position:sticky;top:80px}
.summary-title{font-size:16px;font-weight:700;color:var(--text);margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--gray-200)}
.summary-rows{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
.summary-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--text-muted)}
.summary-row span:last-child{font-weight:500;color:var(--text)}
.delivery-calc{font-size:11px;color:var(--text-muted)}
.text-success{color:var(--success)!important;font-weight:600!important}
.summary-divider{height:1px;background:var(--gray-200);margin:4px 0}
.total-row{font-size:16px!important;font-weight:700!important}
.total-row span{color:var(--text)!important;font-weight:700!important}
.total-row span:last-child{color:var(--blue)!important;font-size:18px!important}

.promo-section{margin-bottom:14px}
.promo-input-wrap{display:flex;gap:0;border:1px solid var(--gray-300);border-radius:var(--radius);overflow:hidden;margin-bottom:6px}
.promo-input-wrap input{flex:1;padding:9px 12px;border:none;outline:none;font-size:12px;font-family:var(--font)}
.btn-apply-promo{background:var(--blue);color:#fff;padding:0 14px;font-size:12px;font-weight:600;font-family:var(--font);transition:var(--transition)}
.btn-apply-promo:hover{background:var(--blue-dark)}
.promo-hint{font-size:11px;color:var(--text-muted)}

.no-return-notice{display:flex;align-items:flex-start;gap:7px;background:rgba(231,76,60,.06);border:1px solid rgba(231,76,60,.2);border-radius:var(--radius);padding:10px 12px;margin-bottom:14px;font-size:12px;color:var(--danger)}
.no-return-notice svg{flex-shrink:0;margin-top:1px}

.btn-checkout{width:100%;background:var(--yellow);color:#fff;padding:14px;border-radius:var(--radius);font-size:15px;font-weight:700;font-family:var(--font);transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:14px}
.btn-checkout:hover{background:var(--yellow-dark);transform:translateY(-1px)}

.cart-trust{display:flex;gap:16px;justify-content:center;padding-top:10px;border-top:1px solid var(--gray-100)}
.ct-item{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-muted)}

/* PAGE LOADER */
.page-loader{position:fixed;inset:0;background:rgba(255,255,255,.85);z-index:9000;display:flex;align-items:center;justify-content:center}
.loader-spinner{width:40px;height:40px;border:3px solid var(--gray-200);border-top-color:var(--blue);border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

@media(min-width:768px){
  .cart-layout{grid-template-columns:1fr 340px}
  .page-title{font-size:26px}
}
@media(min-width:1024px){
  .cart-layout{grid-template-columns:1fr 380px}
}
