/* Mighty BioLabs CSS consolidation — Phase 2
 * Authoritative cart page and cart drawer styles.
 * Consolidates the former 02-cart.css, 04-cart-extras.css and 08-cart-final.css.
 * Superseded cart-drawer and quantity-control generations were removed.
 */

/* Cart UI redesign */
.cart-redesign-page .page-hero{margin-bottom:18px}.cart-modern-section{padding-top:0}.cart-modern-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:28px;align-items:start}.cart-items-panel,.cart-summary-card{border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,rgba(21,26,24,.96),rgba(13,17,16,.96));border-radius:28px;box-shadow:0 24px 80px rgba(0,0,0,.24)}.cart-items-panel{padding:24px}.cart-panel-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.10);margin-bottom:18px}.cart-panel-header h2,.cart-summary-card h2{margin:0;font-size:clamp(22px,2vw,30px);letter-spacing:-.03em}.cart-eyebrow{margin:0 0 6px;color:#ffb8bb;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.14em}.cart-items-count{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:8px 12px;color:#dce5df;background:rgba(255,255,255,.05);font-weight:800;font-size:13px}.cart-modern-items{display:grid;gap:16px}.cart-item-card{display:grid;grid-template-columns:104px minmax(0,1fr);gap:18px;align-items:center;border:1px solid rgba(255,255,255,.10);border-radius:22px;padding:16px;background:rgba(255,255,255,.035);transition:transform .18s ease,border-color .18s ease,background .18s ease}.cart-item-card:hover{transform:translateY(-1px);border-color:rgba(217,39,46,.35);background:rgba(255,255,255,.055)}.cart-item-media{width:104px;height:104px;border-radius:18px;background:radial-gradient(circle at top,#fff,rgba(255,255,255,.82));display:grid;place-items:center;overflow:hidden}.cart-item-media img{width:100%;height:100%;object-fit:contain;padding:8px}.cart-item-media span{font-size:32px}.cart-item-title-row{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.cart-line-main strong:first-child{font-size:18px;line-height:1.15;letter-spacing:.02em;text-transform:uppercase}.cart-item-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:9px 0 0;color:#aeb9b3;font-size:13px;min-height:0}.cart-item-meta>span:not(.warehouse-badge){border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.045);border-radius:999px;padding:5px 9px}.warehouse-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-weight:900;font-size:12px;letter-spacing:.01em}.warehouse-badge.domestic{background:rgba(217,39,46,.16);border:1px solid rgba(217,39,46,.38);color:#ffd3d5}.warehouse-badge.international{background:rgba(72,125,255,.16);border:1px solid rgba(72,125,255,.40);color:#d7e2ff}.cart-line-total{white-space:nowrap;font-size:18px}.cart-line-actions{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:18px}.cart-qty-controls{display:inline-flex;align-items:center;gap:0;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(0,0,0,.18);overflow:hidden}.cart-qty-btn{width:42px;height:38px;border-radius:0!important;padding:0!important;background:transparent!important;color:#fff!important;font-size:18px;line-height:1}.cart-qty-btn:hover{background:rgba(217,39,46,.22)!important}.cart-qty-value{min-width:42px;text-align:center;font-weight:900;color:#fff}.cart-remove-btn{padding:9px 12px!important;border-radius:999px!important;background:transparent!important;border:1px solid rgba(255,255,255,.12)!important;color:#c7d1cb!important;font-weight:800!important}.cart-remove-btn:hover{border-color:rgba(217,39,46,.5)!important;color:#fff!important;background:rgba(217,39,46,.12)!important}.cart-summary-card{position:sticky;top:96px;padding:24px}.cart-summary-lines{display:grid;gap:13px;margin:20px 0}.cart-summary-lines div,.cart-total-row{display:flex;justify-content:space-between;gap:16px;align-items:center}.cart-summary-lines span{color:#aeb9b3}.cart-summary-lines strong{color:#fff}.cart-total-row{border-top:1px solid rgba(255,255,255,.12);padding-top:18px;margin-top:18px;font-size:20px}.cart-total-row strong{font-size:30px;letter-spacing:-.03em}.cart-checkout-btn{display:flex!important;align-items:center;justify-content:center;width:100%;min-height:52px;margin-top:20px;border-radius:16px!important;text-align:center}.cart-clear-link{width:100%;margin-top:10px;background:transparent!important;border:1px solid rgba(255,255,255,.12)!important;color:#aeb9b3!important}.cart-clear-link:hover{color:#fff!important;border-color:rgba(255,255,255,.24)!important}.cart-trust-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.10);color:#c7d1cb;font-size:13px}.cart-help-box{margin-top:18px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.04);border-radius:18px;padding:14px;display:grid;gap:6px;color:#aeb9b3;font-size:13px}.cart-help-box strong{color:#fff}.cart-help-box a{color:#ffb8bb;font-weight:900}.empty-cart-modern{border:1px dashed rgba(255,255,255,.18);border-radius:24px;padding:42px 22px;text-align:center;background:rgba(255,255,255,.03)}.empty-cart-icon{font-size:42px;margin-bottom:12px}.empty-cart-modern h2{margin:0 0 8px}.empty-cart-modern p{margin:0 auto 20px;max-width:420px;color:#aeb9b3}.empty-cart-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.cart-summary-card.is-empty .cart-checkout-btn{pointer-events:none;opacity:.55}.cart-summary-card.is-empty .cart-clear-link{display:none}.cart-summary-card .warehouse-warning{margin:16px 0;padding:13px 14px;border-radius:16px;background:rgba(217,39,46,.14);border:1px solid rgba(217,39,46,.38);font-size:13px;display:none}.cart-summary-card .warehouse-warning.is-visible{display:grid;gap:5px}.cart-summary-card .warehouse-warning span{color:#ffd7d9}.cart-modern-layout .btn-primary.is-disabled,.cart-modern-layout .btn-primary[aria-disabled="true"]{pointer-events:none;opacity:.55;filter:grayscale(.3)}@media (max-width:980px){.cart-modern-layout{grid-template-columns:1fr}.cart-summary-card{position:static}.cart-item-card{grid-template-columns:88px minmax(0,1fr)}.cart-item-media{width:88px;height:88px}}@media (max-width:620px){.cart-items-panel,.cart-summary-card{padding:18px;border-radius:22px}.cart-panel-header{display:grid}.cart-item-card{grid-template-columns:1fr}.cart-item-media{width:100%;height:160px}.cart-item-title-row,.cart-line-actions{display:grid;gap:12px}.cart-line-total{justify-self:start}.cart-trust-list{grid-template-columns:1fr}.cart-qty-controls{width:max-content}}

/* === Final cart drawer cleanup: single cohesive design layer === */
.cart-drawer-overlay{
  justify-content:flex-end !important;
  align-items:stretch !important;
  padding:0 !important;
  background:rgba(6,16,31,.56) !important;
}
.cart-drawer{
  width:min(460px,100vw) !important;
  max-width:100vw !important;
  height:100vh !important;
  background:#ffffff !important;
  color:#0b1f3a !important;
  padding:24px !important;
  gap:18px !important;
  box-shadow:-28px 0 70px rgba(6,16,31,.24) !important;
}
.cart-drawer h3{
  margin:4px 48px 2px 0 !important;
  color:#0b1f3a !important;
  font-size:1.45rem !important;
  font-weight:950 !important;
  letter-spacing:-.025em !important;
}
.cart-drawer h3::before{content:"🛒";margin-right:10px;}
.cart-drawer-close{
  top:20px !important;
  right:20px !important;
  width:36px !important;
  height:36px !important;
  display:grid !important;
  place-items:center !important;
  border:1px solid rgba(11,31,58,.12) !important;
  border-radius:999px !important;
  background:#fff !important;
  color:#0b1f3a !important;
  box-shadow:0 8px 20px rgba(11,31,58,.08) !important;
}
.cart-drawer-items{
  display:grid !important;
  gap:14px !important;
  padding:2px 4px 8px 0 !important;
  overflow:auto !important;
}
.cart-drawer-item.mbl-drawer-card{
  display:grid !important;
  grid-template-columns:90px minmax(0,1fr) !important;
  gap:15px !important;
  align-items:start !important;
  padding:14px !important;
  border:1px solid rgba(11,31,58,.075) !important;
  border-radius:20px !important;
  background:#fff !important;
  box-shadow:0 8px 22px rgba(11,31,58,.055) !important;
}
.mbl-drawer-media{
  width:90px !important;
  height:90px !important;
  border:0 !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,#f8fbff,#eef4f9) !important;
  box-shadow:inset 0 0 0 1px rgba(11,31,58,.06) !important;
  overflow:hidden !important;
}
.mbl-drawer-media img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  padding:5px !important;
}
.mbl-drawer-title-row{
  display:grid !important;
  grid-template-columns:1fr auto !important;
  gap:10px !important;
  align-items:start !important;
}
.mbl-drawer-title{
  color:#0b1f3a !important;
  text-transform:uppercase !important;
  letter-spacing:.01em !important;
  line-height:1.2 !important;
  font-size:.98rem !important;
  font-weight:950 !important;
}
.mbl-drawer-price{color:#0b1f3a !important;font-weight:950 !important;white-space:nowrap !important;}
.mbl-drawer-meta{display:flex !important;flex-wrap:wrap !important;gap:7px !important;margin-top:1px !important;}
.mbl-drawer-badge,
.mbl-drawer-pill{
  display:inline-flex !important;
  align-items:center !important;
  min-height:24px !important;
  padding:5px 9px !important;
  border-radius:999px !important;
  font-size:.71rem !important;
  font-weight:900 !important;
  line-height:1 !important;
  letter-spacing:.01em !important;
}
.mbl-drawer-badge{
  background:#0b1f3a !important;
  border:1px solid #0b1f3a !important;
  color:#fff !important;
}
.mbl-drawer-badge.international{background:#143d79 !important;border-color:#143d79 !important;color:#fff !important;}
.mbl-drawer-pill{background:#f1f5f9 !important;border:1px solid rgba(11,31,58,.08) !important;color:#4c5b6c !important;}
.mbl-drawer-controls-row{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
  margin-top:2px !important;
}
.cart-trash-btn.mbl-drawer-remove,
.cart-drawer .cart-trash-btn.mbl-drawer-remove{
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  margin:0 !important;
  padding:8px 10px !important;
  border:0 !important;
  border-radius:999px !important;
  background:transparent !important;
  color:#6b7789 !important;
  box-shadow:none !important;
  font-size:.82rem !important;
  font-weight:850 !important;
}
.cart-trash-btn.mbl-drawer-remove:hover,
.cart-drawer .cart-trash-btn.mbl-drawer-remove:hover{
  background:rgba(217,39,46,.08) !important;
  color:#d9272e !important;
  transform:none !important;
}
.cart-drawer-footer{
  margin-top:auto !important;
  padding:18px 0 0 !important;
  border-top:1px solid rgba(11,31,58,.10) !important;
  background:#fff !important;
}
.cart-drawer-subtotal{display:flex !important;justify-content:space-between !important;align-items:center !important;color:#0b1f3a !important;font-size:1.15rem !important;font-weight:950 !important;margin-bottom:14px !important;}
.cart-drawer-actions{display:grid !important;gap:10px !important;}
.cart-drawer-checkout{background:#0b1f3a !important;border:1px solid #0b1f3a !important;color:#fff !important;border-radius:999px !important;box-shadow:0 14px 28px rgba(11,31,58,.20) !important;}
.cart-drawer-checkout:hover{transform:translateY(-1px) !important;box-shadow:0 18px 34px rgba(11,31,58,.26) !important;}
.cart-drawer-continue{background:#fff !important;border:1px solid rgba(11,31,58,.14) !important;color:#0b1f3a !important;border-radius:999px !important;}
.cart-drawer-mixed-warning{
  margin:4px 0 0 !important;
  padding:13px 14px !important;
  border-radius:16px !important;
  background:#0b1f3a !important;
  border:1px solid #0b1f3a !important;
  color:#fff !important;
}
.cart-drawer-mixed-warning strong,
.cart-drawer-mixed-warning span{color:#fff !important;}
.cart-drawer-checkout.warehouse-blocked{background:#cbd5e1 !important;border-color:#cbd5e1 !important;color:#475569 !important;box-shadow:none !important;}
.cart-drawer-empty.mbl-drawer-empty{min-height:260px !important;border:1px dashed rgba(11,31,58,.16) !important;border-radius:20px !important;background:#fff !important;color:#4c5b6c !important;display:grid !important;align-content:center !important;justify-items:center !important;gap:8px !important;text-align:center !important;}
.mbl-drawer-empty-icon{font-size:2.2rem !important;}
.mbl-drawer-empty strong{color:#0b1f3a !important;font-size:1.05rem !important;}
@media (max-width:520px){
  .cart-drawer{width:100vw !important;padding:20px !important;}
  .cart-drawer-item.mbl-drawer-card{grid-template-columns:78px minmax(0,1fr) !important;padding:12px !important;}
  .mbl-drawer-media{width:78px !important;height:78px !important;}
  .mbl-drawer-title-row{grid-template-columns:1fr !important;gap:4px !important;}
  .mbl-drawer-controls-row{align-items:flex-start !important;flex-direction:column !important;}
}

/* Cart drawer/cart polish: hide empty metadata and normalize vial imagery. */
.cart-drawer .mbl-drawer-pill:empty,
.cart-item-meta > span:empty {
  display: none !important;
}
.cart-item-media,
.mbl-drawer-media {
  background: linear-gradient(180deg, #ffffff, #eef4fb) !important;
}
.cart-item-media img,
.mbl-drawer-media img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

/* Final quantity selector alignment fix: keeps the drawer/cart +/- control fully visible and centered. */
.cart-qty-controls,
.drawer-qty-controls,
.mbl-drawer-qty,
.cart-drawer .drawer-qty-controls,
.cart-drawer-item .cart-qty-controls,
.cart-drawer-item .drawer-qty-controls {
  display: inline-grid !important;
  grid-template-columns: 44px 52px 44px !important;
  align-items: stretch !important;
  justify-items: stretch !important;
  width: auto !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  padding: 0 !important;
  gap: 0 !important;
  border: 1px solid #d9e2f1 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

.cart-qty-controls .cart-qty-btn,
.drawer-qty-controls .cart-qty-btn,
.mbl-drawer-qty .cart-qty-btn,
.cart-drawer .drawer-qty-controls .cart-qty-btn,
.cart-drawer-item .cart-qty-controls .cart-qty-btn,
.cart-drawer-item .drawer-qty-controls .cart-qty-btn {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #071f4f !important;
  box-shadow: none !important;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-align: center !important;
  vertical-align: middle !important;
  transform: none !important;
}

.cart-qty-controls .cart-qty-value,
.drawer-qty-controls .cart-qty-value,
.mbl-drawer-qty .cart-qty-value,
.cart-drawer .drawer-qty-controls .cart-qty-value,
.cart-drawer-item .cart-qty-controls .cart-qty-value,
.cart-drawer-item .drawer-qty-controls .cart-qty-value {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 52px !important;
  min-width: 52px !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-left: 1px solid #e6edf7 !important;
  border-right: 1px solid #e6edf7 !important;
  background: #ffffff !important;
  color: #071f4f !important;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

.cart-qty-controls .cart-qty-btn:hover,
.drawer-qty-controls .cart-qty-btn:hover,
.mbl-drawer-qty .cart-qty-btn:hover,
.cart-drawer .drawer-qty-controls .cart-qty-btn:hover,
.cart-drawer-item .cart-qty-controls .cart-qty-btn:hover,
.cart-drawer-item .drawer-qty-controls .cart-qty-btn:hover {
  background: #f3f7ff !important;
  color: #071f4f !important;
  transform: none !important;
}

/* Empty cart warehouse buttons - matched styling */
.empty-cart-actions{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:12px !important;
  flex-wrap:wrap !important;
}
.empty-cart-actions a,
.empty-cart-actions .btn-primary,
.empty-cart-actions .primary-btn,
.empty-cart-actions .secondary-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:178px !important;
  min-height:46px !important;
  padding:13px 20px !important;
  border-radius:999px !important;
  border:1px solid #0b1f3a !important;
  background:#0b1f3a !important;
  color:#ffffff !important;
  font-size:0.95rem !important;
  font-weight:900 !important;
  line-height:1 !important;
  letter-spacing:0.01em !important;
  text-align:center !important;
  text-decoration:none !important;
  box-shadow:0 12px 26px rgba(11,31,58,0.18) !important;
  transition:transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease, border-color 0.18s ease !important;
}
.empty-cart-actions a:hover,
.empty-cart-actions .btn-primary:hover,
.empty-cart-actions .primary-btn:hover,
.empty-cart-actions .secondary-btn:hover{
  transform:translateY(-1px) !important;
  background:#123762 !important;
  border-color:#123762 !important;
  color:#ffffff !important;
  box-shadow:0 16px 32px rgba(11,31,58,0.24) !important;
}
@media (max-width:520px){
  .empty-cart-actions{width:100% !important;}
  .empty-cart-actions a,
  .empty-cart-actions .btn-primary,
  .empty-cart-actions .primary-btn,
  .empty-cart-actions .secondary-btn{
    width:100% !important;
    min-width:0 !important;
  }
}

/* Cart drawer close hover refinement: keep the X clean without red circular hover treatment. */
.cart-drawer .cart-drawer-close:hover,
.cart-drawer-close:hover,
.quick-view-close.cart-drawer-close:hover {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  color: #0b1f3a !important;
  transform: none !important;
}

/* Cart drawer final optical polish — July 2026 */
.cart-drawer{
  padding:22px 24px 20px !important;
  gap:15px !important;
  box-shadow:-20px 0 52px rgba(6,16,31,.18) !important;
}
.cart-drawer h3{
  margin:2px 52px 4px 0 !important;
}
.cart-drawer-close{
  top:17px !important;
  right:20px !important;
  width:40px !important;
  height:40px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:8px !important;
  background:transparent !important;
  color:#143d79 !important;
  box-shadow:none !important;
  font-size:2rem !important;
  font-weight:400 !important;
  line-height:1 !important;
  transition:color .16s ease,opacity .16s ease,transform .16s ease !important;
}
.cart-drawer-close:hover{
  background:transparent !important;
  color:#0b1f3a !important;
  opacity:.78 !important;
  transform:scale(1.04) !important;
}
.cart-drawer-close:focus-visible{
  outline:2px solid rgba(20,61,121,.45) !important;
  outline-offset:2px !important;
}
.cart-drawer-items{
  gap:12px !important;
  padding:0 4px 5px 0 !important;
}
.cart-drawer-item.mbl-drawer-card{
  gap:14px !important;
  padding:12px !important;
  box-shadow:0 6px 16px rgba(11,31,58,.045) !important;
}
.mbl-drawer-controls-row{
  margin-top:0 !important;
}
.cart-drawer-footer{
  padding-top:15px !important;
}
.cart-drawer-subtotal{
  margin-bottom:11px !important;
  font-size:1.12rem !important;
}
.cart-drawer-subtotal [data-drawer-subtotal]{
  font-size:1.34rem !important;
  letter-spacing:-.025em !important;
}
.cart-drawer-actions{
  gap:8px !important;
}
.cart-drawer-checkout,
.cart-drawer-continue{
  min-height:48px !important;
}
@media (max-width:520px){
  .cart-drawer{padding:18px !important;gap:13px !important;}
  .cart-drawer-close{top:12px !important;right:12px !important;}
  .cart-drawer-item.mbl-drawer-card{padding:11px !important;}
  .cart-drawer-footer{padding-top:13px !important;}
}

/* Final warehouse colour standardization.
 * Domestic uses the established Mighty BioLabs red palette.
 * International uses the established catalogue blue palette.
 */
.warehouse-badge.domestic,
.mbl-drawer-badge.domestic {
  background: #fff2f3 !important;
  border-color: #a61e2d !important;
  color: #a61e2d !important;
}

.warehouse-badge.international,
.mbl-drawer-badge.international {
  background: #eef5ff !important;
  border-color: #0b3f83 !important;
  color: #0b3f83 !important;
}
