/* Sprint 643 — Premium Cart Page Redesign */

body.tf-cart-route :is(
  .mobile-bottom-nav,.tf-mobile-bottom-nav,.app-bottom-nav,.bottom-nav,
  .mobile-nav,.mobile-tabbar,.mobile-tab-bar,[data-mobile-bottom-nav],
  .mobile-rfq,.rfq-fab,.mobile-rfq-fab,[data-mobile-rfq],
  .ai-fab,.tf-ai-fab,.ai-chat-fab,.floating-ai,.ai-assistant-fab,
  .mobile-ai-fab,[data-ai-fab],[data-ai-chat-toggle],
  .mobile-cart-bar,.mobile-cart-summary,.floating-cart,.floating-cart-bar,
  .quick-cart-bar,.cart-ready-bar,.mobile-cart-dock,[data-mobile-cart-bar]
){display:none!important}

@media(max-width:767px){
  body.tf-cart-route{padding-bottom:22px!important}
}

.tf-cart-page-643{
  min-width:0!important;
  padding:22px 0 44px!important;
  color:#163252!important;
}
.tf-cart-page-643 :is(.cart-page,.cart-shell,.cart-container,.buyer-cart,.shopping-cart){
  width:min(1240px,calc(100% - 32px))!important;
  margin:0 auto!important;
}

.tf-cart-page-643 :is(.cart-hero,.cart-header,.page-hero){
  display:flex!important;align-items:flex-end!important;justify-content:space-between!important;
  gap:18px!important;padding:18px 20px!important;margin-bottom:14px!important;
  border:1px solid #dbe5ef!important;border-radius:16px!important;
  background:linear-gradient(180deg,#fff,#f8fbff)!important;
  box-shadow:0 8px 24px rgba(13,41,73,.05)!important;
}
.tf-cart-page-643 :is(.cart-hero,.cart-header,.page-hero) h1{
  margin:4px 0 6px!important;color:#12335f!important;font-size:34px!important;line-height:1.05!important;
  letter-spacing:-.035em!important;
}
.tf-cart-page-643 :is(.cart-hero,.cart-header,.page-hero) p{
  margin:0!important;color:#71849a!important;font-size:13px!important;line-height:1.45!important;
}
.tf-cart-page-643 :is(.cart-kicker,.eyebrow,.page-kicker){
  color:#1768cf!important;font-size:10px!important;font-weight:900!important;letter-spacing:.1em!important;text-transform:uppercase!important;
}
.tf-cart-page-643 :is(.clear-cart,.clear-cart-btn,button[name*="clear"]){
  min-height:40px!important;padding:0 15px!important;border:1px solid #d5dfeb!important;border-radius:10px!important;
  background:#fff!important;color:#173250!important;font-size:12px!important;font-weight:850!important;
}

.tf-cart-page-643 :is(.cart-layout,.cart-grid,.cart-content-grid){
  display:grid!important;grid-template-columns:minmax(0,1.65fr) minmax(320px,.8fr)!important;
  gap:16px!important;align-items:start!important;
}

.tf-cart-page-643 :is(.cart-items,.cart-list,.cart-products){display:grid!important;gap:12px!important}
.tf-cart-page-643 :is(.cart-group,.seller-cart-group,.cart-card,.cart-item-card){
  overflow:hidden!important;border:1px solid #dbe5ef!important;border-radius:14px!important;background:#fff!important;
  box-shadow:0 7px 20px rgba(13,41,73,.04)!important;
}
.tf-cart-page-643 :is(.cart-group-head,.seller-head,.cart-seller-head){
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;
  min-height:48px!important;padding:10px 13px!important;border-bottom:1px solid #e8eef4!important;background:#f8fafc!important;
}
.tf-cart-page-643 :is(.verified,.verified-badge,.seller-verified){
  display:inline-flex!important;align-items:center!important;gap:5px!important;min-height:24px!important;padding:0 8px!important;
  border-radius:999px!important;background:#eaf8f1!important;color:#17744c!important;font-size:10px!important;font-weight:900!important;
}

.tf-cart-page-643 :is(.cart-item,.product-row,.cart-product-row){
  display:grid!important;grid-template-columns:104px minmax(0,1fr) auto!important;gap:14px!important;align-items:center!important;
  padding:14px!important;border-bottom:1px solid #edf2f6!important;
}
.tf-cart-page-643 :is(.cart-item,.product-row,.cart-product-row):last-child{border-bottom:0!important}
.tf-cart-page-643 :is(.cart-item-image,.product-image,.cart-product-image) img{
  width:104px!important;height:104px!important;object-fit:contain!important;border:1px solid #e0e7ef!important;
  border-radius:11px!important;background:#f8fafc!important;
}
.tf-cart-page-643 :is(.cart-item h2,.cart-item h3,.product-title,.cart-product-title){
  margin:0 0 6px!important;color:#173250!important;font-size:16px!important;line-height:1.25!important;
}
.tf-cart-page-643 :is(.cart-meta,.product-meta,.item-meta){
  display:flex!important;flex-wrap:wrap!important;gap:6px!important;margin-top:7px!important;
}
.tf-cart-page-643 :is(.cart-meta,.product-meta,.item-meta)>*{
  display:inline-flex!important;align-items:center!important;min-height:24px!important;padding:0 8px!important;
  border:1px solid #e0e7ef!important;border-radius:999px!important;background:#f8fafc!important;
  color:#687b91!important;font-size:10px!important;
}

.tf-cart-page-643 :is(.cart-item-actions,.item-actions,.qty-price){
  display:flex!important;flex-direction:column!important;align-items:flex-end!important;gap:10px!important;min-width:160px!important;
}
.tf-cart-page-643 :is(.qty-control,.quantity-control,.quantity-picker){
  display:inline-grid!important;grid-template-columns:34px 48px 34px!important;align-items:center!important;
  overflow:hidden!important;border:1px solid #d6e0eb!important;border-radius:9px!important;background:#fff!important;
}
.tf-cart-page-643 :is(.qty-control,.quantity-control,.quantity-picker) :is(button,input){
  width:100%!important;height:34px!important;min-height:34px!important;border:0!important;background:#fff!important;text-align:center!important;
}
.tf-cart-page-643 :is(.cart-price,.item-price,.product-price){
  color:#102f57!important;font-size:18px!important;font-weight:900!important;
}
.tf-cart-page-643 :is(.remove-item,.remove-btn,.cart-remove){
  color:#a64641!important;font-size:11px!important;font-weight:850!important;background:transparent!important;border:0!important;
}

.tf-cart-page-643 :is(.cart-summary,.order-summary,.checkout-summary){
  position:sticky!important;top:84px!important;padding:16px!important;border:1px solid #dbe5ef!important;
  border-radius:14px!important;background:#fff!important;box-shadow:0 10px 28px rgba(13,41,73,.06)!important;
}
.tf-cart-page-643 :is(.cart-summary,.order-summary,.checkout-summary) h2{
  margin:0 0 13px!important;color:#153351!important;font-size:18px!important;
}
.tf-cart-page-643 :is(.summary-row,.total-row){
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;
  min-height:38px!important;border-bottom:1px solid #edf2f6!important;color:#677b92!important;font-size:12px!important;
}
.tf-cart-page-643 :is(.grand-total,.summary-total){
  min-height:50px!important;margin-top:6px!important;border-bottom:0!important;color:#173250!important;font-size:15px!important;font-weight:900!important;
}
.tf-cart-page-643 :is(.grand-total,.summary-total) strong{font-size:20px!important}
.tf-cart-page-643 :is(.checkout-btn,.proceed-checkout,.buy-checkout,button[name*="checkout"],a[href*="/checkout"]){
  width:100%!important;min-height:48px!important;margin-top:14px!important;display:inline-flex!important;align-items:center!important;
  justify-content:center!important;border:0!important;border-radius:10px!important;background:#ffbf2f!important;color:#092b54!important;
  font-size:13px!important;font-weight:950!important;text-decoration:none!important;
  box-shadow:0 8px 18px rgba(255,191,47,.20)!important;
}
.tf-cart-page-643 :is(.secure-note,.checkout-note,.buyer-protection){
  margin-top:10px!important;color:#73859a!important;font-size:10px!important;line-height:1.4!important;
}
.tf-cart-page-643 :is(.empty-cart,.cart-empty){
  padding:44px 20px!important;text-align:center!important;border:1px dashed #cfdae7!important;
  border-radius:14px!important;background:#fff!important;
}

@media(max-width:767px){
  .tf-cart-page-643{padding:12px 0 24px!important}
  .tf-cart-page-643 :is(.cart-page,.cart-shell,.cart-container,.buyer-cart,.shopping-cart){width:calc(100% - 16px)!important}
  .tf-cart-page-643 :is(.cart-hero,.cart-header,.page-hero){
    display:block!important;padding:13px!important;margin-bottom:10px!important;border-radius:12px!important;
  }
  .tf-cart-page-643 :is(.cart-hero,.cart-header,.page-hero) h1{font-size:27px!important;margin-bottom:5px!important}
  .tf-cart-page-643 :is(.cart-hero,.cart-header,.page-hero) p{font-size:11px!important}
  .tf-cart-page-643 :is(.clear-cart,.clear-cart-btn,button[name*="clear"]){width:100%!important;margin-top:11px!important}

  .tf-cart-page-643 :is(.cart-layout,.cart-grid,.cart-content-grid){grid-template-columns:1fr!important;gap:10px!important}

  .tf-cart-page-643 :is(.cart-item,.product-row,.cart-product-row){
    grid-template-columns:78px minmax(0,1fr)!important;gap:10px!important;padding:11px!important;
  }
  .tf-cart-page-643 :is(.cart-item-image,.product-image,.cart-product-image) img{width:78px!important;height:78px!important}
  .tf-cart-page-643 :is(.cart-item h2,.cart-item h3,.product-title,.cart-product-title){font-size:13px!important}

  .tf-cart-page-643 :is(.cart-item-actions,.item-actions,.qty-price){
    grid-column:1/-1!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;
    min-width:0!important;width:100%!important;padding-top:8px!important;border-top:1px solid #edf2f6!important;
  }
  .tf-cart-page-643 :is(.qty-control,.quantity-control,.quantity-picker){grid-template-columns:32px 42px 32px!important}
  .tf-cart-page-643 :is(.cart-price,.item-price,.product-price){font-size:16px!important}

  .tf-cart-page-643 :is(.cart-summary,.order-summary,.checkout-summary){
    position:static!important;top:auto!important;padding:14px!important;margin-top:2px!important;border-radius:12px!important;
  }
  .tf-cart-page-643 :is(.checkout-btn,.proceed-checkout,.buy-checkout,button[name*="checkout"],a[href*="/checkout"]){min-height:46px!important}
}
