/* BB Dynamic Woo Cart — Apple-inspired storefront UI */
.bb-cart-root,
.bb-cart-root *,
.bb-full-cart-page,
.bb-full-cart-page * { box-sizing: border-box; }

.bb-cart-root {
  --bb-ink:#1d1d1f;
  --bb-secondary:#6e6e73;
  --bb-tertiary:#86868b;
  --bb-surface:#ffffff;
  --bb-surface-soft:#f5f5f7;
  --bb-surface-hover:#e8e8ed;
  --bb-line:#d2d2d7;
  --bb-line-soft:#e8e8ed;
  --bb-blue:#0071e3;
  --bb-blue-hover:#0077ed;
  --bb-danger:#b42318;
  --bb-font:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Helvetica Neue",Arial,sans-serif;
  color:var(--bb-ink);
  font-family:var(--bb-font);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* Header trigger */
.bb-cart-trigger {
  appearance:none;
  -webkit-appearance:none;
  border:0;
  background:transparent;
  color:inherit;
  padding:0;
  margin:0;
  cursor:pointer;
  gap:8px;
  vertical-align:middle;
  border-radius:999px;
  outline:none;
  -webkit-tap-highlight-color:transparent;
}
.bb-cart-trigger:focus-visible { box-shadow:0 0 0 4px rgba(0,113,227,.22); }
.bb-cart-icon { width:auto; height:auto; }
.bb-cart-svg { transition:transform .22s ease,opacity .22s ease; }
.bb-cart-trigger:hover .bb-cart-svg { opacity:.72; }
.bb-cart-trigger:active .bb-cart-svg { transform:scale(.94); }
.bb-cart-label { font:500 14px/1.2 var(--bb-font); letter-spacing:-.01em; }
.bb-cart-count {
  top:3px;
  right:-5px;
  background:var(--bb-ink);
  color:#fff;
  text-align:center;
  box-shadow:0 0 0 2px rgba(255,255,255,.98);
  font-family:"BB Text",Arial,sans-serif !important;
  font-size:12px !important;
  font-weight:500 !important;
}

/* Fixed drawer */
.bb-cart-overlay {
  background:rgba(0,0,0,.22);
  -webkit-backdrop-filter:blur(2px);
  backdrop-filter:blur(2px);
  transition:opacity .30s ease,visibility 0s linear .36s;
}
.bb-cart-drawer {
  width:980px !important;
  margin:9px 9px 9px 0;
  height:calc(100vh - 18px);
  height:calc(100dvh - 18px);
  border:1px solid rgba(0,0,0,.08);
  border-radius:28px;
  background:rgba(255,255,255,.96);
  color:var(--bb-ink);
  overflow:hidden;
  box-shadow:-16px 18px 58px rgba(0,0,0,.18),0 2px 10px rgba(0,0,0,.06);
  -webkit-backdrop-filter:saturate(180%) blur(24px);
  backdrop-filter:saturate(180%) blur(24px);
  transition:transform .42s cubic-bezier(.28,.11,.32,1),opacity .26s ease,visibility 0s linear .42s;
  contain:layout paint;
}
.bb-cart-drawer[hidden] { display:none !important; }
.bb-cart-root.is-open .bb-cart-drawer[hidden] { display:flex !important; }
.bb-cart-root.is-open .bb-cart-overlay { transition:opacity .30s ease,visibility 0s linear 0s; }
.bb-cart-root.is-open .bb-cart-drawer { transition:transform .42s cubic-bezier(.28,.11,.32,1),opacity .26s ease,visibility 0s linear 0s; }

.bb-cart-drawer__header {
  min-height:100px;
  padding:26px 28px 20px;
  border-bottom:1px solid rgba(0,0,0,.06);
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  flex:none;
  background:rgba(255,255,255,.78);
  -webkit-backdrop-filter:saturate(180%) blur(20px);
  backdrop-filter:saturate(180%) blur(20px);
}
.bb-cart-drawer__title {
  font:600 28px/1.08 var(--bb-font);
  letter-spacing:-.035em;
}
.bb-cart-drawer__meta {
  margin-top:7px;
  font:400 13px/1.35 var(--bb-font);
  color:var(--bb-secondary);
  letter-spacing:-.005em;
}
.bb-cart-close {
  appearance:none;
  -webkit-appearance:none;
  flex:0 0 36px;
  width:36px;
  height:36px;
  margin-top:-2px;
  padding:0 0 2px;
  border:0;
  border-radius:999px;
  background:var(--bb-surface-hover);
  color:#424245;
  cursor:pointer;
  font:300 25px/32px var(--bb-font);
  display:grid;
  place-items:center;
  transition:background .18s ease,transform .18s ease;
  -webkit-tap-highlight-color:transparent;
}
.bb-cart-close:hover { background:#dedee3; }
.bb-cart-close:active { transform:scale(.94); }
.bb-cart-close:focus-visible { outline:3px solid rgba(0,113,227,.28); outline-offset:2px; }

.bb-cart-notices:empty { display:none; }
.bb-cart-notices { flex:none; padding:12px 28px 0; }
.bb-cart-notices .woocommerce-error,
.bb-cart-notices .woocommerce-message,
.bb-cart-notices .woocommerce-info {
  margin:0 0 8px !important;
  padding:12px 14px !important;
  border:0 !important;
  border-radius:14px !important;
  background:var(--bb-surface-soft) !important;
  color:var(--bb-ink) !important;
  box-shadow:none !important;
  font:400 12px/1.45 var(--bb-font) !important;
}
.bb-cart-notices .woocommerce-error::before,
.bb-cart-notices .woocommerce-message::before,
.bb-cart-notices .woocommerce-info::before { display:none !important; }

.bb-cart-drawer__body {
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  scrollbar-color:#c7c7cc transparent;
}
.bb-cart-drawer__body::-webkit-scrollbar { width:7px; }
.bb-cart-drawer__body::-webkit-scrollbar-thumb { background:#c7c7cc; border-radius:10px; }
.bb-cart-drawer__body::-webkit-scrollbar-track { background:transparent; }

/* Products */
.bb-cart-items { padding:6px 28px 0; }
.bb-cart-item {
  position:relative;
  display:grid;
  grid-template-columns:106px minmax(0,1fr);
  gap:20px;
  padding:24px 0;
  border-bottom:1px solid var(--bb-line-soft);
}
.bb-cart-item__remove {
  position:absolute;
  top:18px;
  right:0;
  z-index:2;
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:var(--bb-surface-soft);
  text-decoration:none !important;
  color:var(--bb-secondary) !important;
  font:300 20px/27px var(--bb-font);
  transition:background .18s ease,color .18s ease,transform .18s ease;
}
.bb-cart-item__remove:hover { background:var(--bb-surface-hover); color:var(--bb-ink) !important; }
.bb-cart-item__remove:active { transform:scale(.94); }
.bb-cart-item__remove:focus-visible { outline:3px solid rgba(0,113,227,.25); outline-offset:2px; }
.bb-cart-item__thumb {
  width:106px;
  height:106px;
  border-radius:18px;
  background:var(--bb-surface-soft);
  overflow:hidden;
  display:grid;
  place-items:center;
}
.bb-cart-item__thumb a { display:block; width:100%; height:100%; }
.bb-cart-item__thumb img {
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  display:block;
  border-radius:18px;
  mix-blend-mode:multiply;
}
.bb-cart-item__info { min-width:0; padding-right:34px; align-self:center; }
.bb-cart-item__top { display:block; }
.bb-cart-item__name {
  min-width:0;
  padding-right:4px;
  font:600 15px/1.35 var(--bb-font);
  letter-spacing:-.012em;
}
.bb-cart-item__name a { color:var(--bb-ink) !important; text-decoration:none !important; }
.bb-cart-item__name a:hover { color:var(--bb-blue) !important; }
.bb-cart-item__subtotal {
  margin-top:6px;
  font:600 15px/1.3 var(--bb-font);
  letter-spacing:-.01em;
  white-space:nowrap;
}
.bb-cart-item__meta {
  margin-top:7px;
  font:400 12px/1.45 var(--bb-font);
  color:var(--bb-secondary);
}
.bb-cart-item__meta dl,
.bb-cart-item__meta p { margin:0; }
.bb-cart-item__meta dt { font-weight:500; }
.bb-cart-item__bottom {
  margin-top:16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.bb-cart-item__price { font:400 12px/1.35 var(--bb-font); color:var(--bb-secondary); }
.bb-cart-item__price span { font-size:11px; }

/* Quantity pill */
.bb-cart-qty {
  height:36px;
  display:inline-grid;
  grid-template-columns:34px 38px 34px;
  align-items:center;
  border:0;
  border-radius:999px;
  overflow:hidden;
  background:var(--bb-surface-soft);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.04);
}
.bb-cart-qty__btn {
  appearance:none;
  -webkit-appearance:none;
  border:0;
  background:transparent;
  height:36px;
  padding:0;
  cursor:pointer;
  color:#424245;
  font:400 18px/1 var(--bb-font);
  transition:background .16s ease,color .16s ease;
}
.bb-cart-qty__btn:hover { background:rgba(0,0,0,.055); color:var(--bb-ink); }
.bb-cart-qty__btn:active { background:rgba(0,0,0,.09); }
.bb-cart-qty__btn:focus-visible { outline:2px solid rgba(0,113,227,.35); outline-offset:-2px; }
.bb-cart-qty__input {
  width:38px !important;
  min-width:0 !important;
  height:36px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  text-align:center;
  color:var(--bb-ink) !important;
  background:transparent !important;
  box-shadow:none !important;
  font:500 13px/36px var(--bb-font) !important;
  -moz-appearance:textfield;
  appearance:textfield;
}
.bb-cart-qty__input::-webkit-outer-spin-button,
.bb-cart-qty__input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.bb-cart-qty--single { grid-template-columns:36px; justify-content:center; font:500 13px/36px var(--bb-font); }

/* Coupon */
.bb-cart-coupon { padding:22px 28px 0; }
.bb-cart-coupon form {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  padding:5px;
  border-radius:16px;
  background:var(--bb-surface-soft);
}
.bb-cart-coupon input {
  min-width:0;
  height:42px;
  padding:0 12px;
  border:0 !important;
  border-radius:12px !important;
  outline:none;
  background:transparent !important;
  color:var(--bb-ink) !important;
  box-shadow:none !important;
  font:400 13px/42px var(--bb-font) !important;
}
.bb-cart-coupon input::placeholder { color:var(--bb-tertiary); opacity:1; }
.bb-cart-coupon input:focus { background:#fff !important; box-shadow:0 0 0 3px rgba(0,113,227,.16) !important; }
.bb-cart-coupon form button {
  height:42px;
  padding:0 17px;
  border:0;
  border-radius:999px;
  background:#e8e8ed;
  color:var(--bb-ink);
  cursor:pointer;
  font:600 12px/1 var(--bb-font);
  transition:background .18s ease,transform .18s ease;
}
.bb-cart-coupon form button:hover { background:#dedee3; }
.bb-cart-coupon form button:active { transform:scale(.97); }
.bb-cart-coupon form button:focus-visible { outline:3px solid rgba(0,113,227,.25); outline-offset:2px; }
.bb-cart-coupons { display:flex; gap:7px; flex-wrap:wrap; margin-top:10px; }
.bb-cart-coupon-chip {
  appearance:none;
  border:0;
  border-radius:999px;
  padding:7px 11px;
  background:var(--bb-surface-soft);
  color:var(--bb-secondary);
  cursor:pointer;
  font:500 11px/1.2 var(--bb-font);
  transition:background .16s ease,color .16s ease;
}
.bb-cart-coupon-chip:hover { background:var(--bb-surface-hover); color:var(--bb-ink); }

/* Totals and actions */
.bb-cart-summary { padding:24px 28px 8px; }
.bb-cart-summary__row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin:9px 0;
  font:400 13px/1.35 var(--bb-font);
  color:var(--bb-secondary);
}
.bb-cart-summary__row strong { color:var(--bb-ink); font-weight:500; }
.bb-cart-summary__row--total {
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid var(--bb-line-soft);
  font-size:18px;
  color:var(--bb-ink);
  letter-spacing:-.02em;
}
.bb-cart-summary__row--total strong { font-weight:600; }
.bb-cart-summary__note {
  margin:10px 0 0;
  color:var(--bb-tertiary);
  font:400 11px/1.45 var(--bb-font);
}
.bb-cart-actions {
  position:sticky;
  bottom:0;
  z-index:4;
  display:grid;
  grid-template-columns:1fr 1.15fr;
  gap:10px;
  padding:16px 28px 24px;
  border-top:1px solid rgba(0,0,0,.055);
  background:rgba(255,255,255,.90);
  -webkit-backdrop-filter:saturate(180%) blur(20px);
  backdrop-filter:saturate(180%) blur(20px);
}
.bb-cart-btn {
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px 18px;
  border:0 !important;
  border-radius:999px !important;
  text-decoration:none !important;
  font:600 13px/1.2 var(--bb-font) !important;
  letter-spacing:-.005em;
  transition:background .18s ease,transform .18s ease,box-shadow .18s ease;
  -webkit-tap-highlight-color:transparent;
}
.bb-cart-btn:active { transform:scale(.985); }
.bb-cart-btn:focus-visible { outline:3px solid rgba(0,113,227,.28); outline-offset:2px; }
.bb-cart-btn--secondary { color:var(--bb-ink) !important; background:var(--bb-surface-soft) !important; }
.bb-cart-btn--secondary:hover { background:var(--bb-surface-hover) !important; }
.bb-cart-btn--primary { color:#fff !important; background:var(--bb-blue) !important; }
.bb-cart-btn--primary:hover { background:var(--bb-blue-hover) !important; }

/* Empty bag */
.bb-cart-empty {
  min-height:430px;
  padding:72px 30px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.bb-cart-empty__icon {
  width:90px;
  height:90px;
  margin-bottom:22px;
  border-radius:28px;
  background:var(--bb-surface-soft);
  display:grid;
  place-items:center;
  color:var(--bb-secondary);
}
.bb-cart-empty__icon .bb-cart-svg--mobile { display:block !important; width:56px; height:56px; }
.bb-cart-empty p {
  max-width:280px;
  margin:0 0 22px;
  font:500 18px/1.35 var(--bb-font);
  letter-spacing:-.015em;
  color:var(--bb-ink);
}
.bb-cart-empty .bb-cart-btn { min-width:190px; }

/* Busy state stays visually stable — no loader/flicker. */
.bb-cart-root.is-busy .bb-cart-qty__btn,
.bb-cart-root.is-busy [data-bb-remove],
.bb-cart-root.is-busy .bb-cart-coupon button { pointer-events:none; }
.bb-cart-root.is-busy .bb-cart-qty,
.bb-cart-root.is-busy [data-bb-remove],
.bb-cart-root.is-busy .bb-cart-coupon form button { opacity:.58; }

/* ---------------- Full /cart/ page ---------------- */
.bb-full-cart-page {
  --bb-ink:#1d1d1f;
  --bb-secondary:#6e6e73;
  --bb-tertiary:#86868b;
  --bb-soft:#f5f5f7;
  --bb-hover:#e8e8ed;
  --bb-line:#d2d2d7;
  --bb-line-soft:#e8e8ed;
  --bb-blue:#0071e3;
  --bb-blue-hover:#0077ed;
  --bb-font:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Helvetica Neue",Arial,sans-serif;
  max-width:1080px;
  margin:0 auto;
  padding:54px 24px 88px;
  color:var(--bb-ink);
  font-family:var(--bb-font);
  -webkit-font-smoothing:antialiased;
}
.bb-full-cart-page .woocommerce { font-family:var(--bb-font); color:var(--bb-ink); }
.bb-full-cart-page .woocommerce-notices-wrapper:empty { display:none; }
.bb-full-cart-page .woocommerce-message,
.bb-full-cart-page .woocommerce-info,
.bb-full-cart-page .woocommerce-error {
  margin:0 0 24px !important;
  padding:15px 18px !important;
  border:0 !important;
  border-radius:16px !important;
  background:var(--bb-soft) !important;
  color:var(--bb-ink) !important;
  box-shadow:none !important;
  font:400 14px/1.45 var(--bb-font) !important;
}
.bb-full-cart-page .woocommerce-message::before,
.bb-full-cart-page .woocommerce-info::before,
.bb-full-cart-page .woocommerce-error::before { display:none !important; }

.bb-full-cart-page form.woocommerce-cart-form { margin:0; }
.bb-full-cart-page table.shop_table {
  width:100%;
  margin:0 !important;
  border:0 !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
  border-radius:0 !important;
  background:#fff;
  color:var(--bb-ink);
}
.bb-full-cart-page table.shop_table thead th {
  padding:0 12px 14px !important;
  border:0 !important;
  border-bottom:1px solid var(--bb-line-soft) !important;
  color:var(--bb-tertiary) !important;
  background:transparent !important;
  font:500 12px/1.2 var(--bb-font) !important;
  text-transform:none !important;
  letter-spacing:0 !important;
}
.bb-full-cart-page table.shop_table td {
  padding:26px 12px !important;
  border:0 !important;
  border-bottom:1px solid var(--bb-line-soft) !important;
  background:#fff !important;
  vertical-align:middle !important;
  color:var(--bb-ink);
}
.bb-full-cart-page td.product-remove { width:42px; padding-left:0 !important; }
.bb-full-cart-page td.product-remove a.remove {
  width:30px !important;
  height:30px !important;
  display:grid !important;
  place-items:center;
  border-radius:999px !important;
  background:var(--bb-soft) !important;
  color:var(--bb-secondary) !important;
  font:300 20px/28px var(--bb-font) !important;
  transition:background .18s ease,color .18s ease,transform .18s ease;
}
.bb-full-cart-page td.product-remove a.remove:hover { background:var(--bb-hover) !important; color:var(--bb-ink) !important; }
.bb-full-cart-page td.product-remove a.remove:active { transform:scale(.94); }
.bb-full-cart-page td.product-thumbnail { width:118px; }
.bb-full-cart-page td.product-thumbnail img {
  width:96px !important;
  height:96px !important;
  padding:0 !important;
  object-fit:contain !important;
  border-radius:18px !important;
  background:var(--bb-soft);
}
.bb-full-cart-page td.product-name { min-width:240px; }
.bb-full-cart-page td.product-name > a {
  color:var(--bb-ink) !important;
  text-decoration:none !important;
  font:600 16px/1.35 var(--bb-font) !important;
  letter-spacing:-.012em;
}
.bb-full-cart-page td.product-name > a:hover { color:var(--bb-blue) !important; }
.bb-full-cart-page td.product-name dl.variation,
.bb-full-cart-page td.product-name .variation {
  margin:7px 0 0 !important;
  color:var(--bb-secondary) !important;
  font:400 12px/1.45 var(--bb-font) !important;
}
.bb-full-cart-page td.product-price,
.bb-full-cart-page td.product-subtotal { font:600 15px/1.3 var(--bb-font) !important; white-space:nowrap; }
.bb-full-cart-page td.product-quantity .quantity { display:inline-flex; }
.bb-full-cart-page td.product-quantity input.qty {
  width:70px !important;
  height:38px !important;
  margin:0 !important;
  padding:0 8px !important;
  border:0 !important;
  border-radius:999px !important;
  background:var(--bb-soft) !important;
  color:var(--bb-ink) !important;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.04) !important;
  text-align:center;
  font:500 13px/38px var(--bb-font) !important;
}
.bb-full-cart-page td.product-quantity input.qty:focus { outline:3px solid rgba(0,113,227,.20) !important; }

.bb-full-cart-page table.shop_table td.actions {
  padding:24px 0 0 !important;
  border:0 !important;
  background:transparent !important;
}
.bb-full-cart-page td.actions .coupon { display:flex !important; gap:10px; align-items:center; }
.bb-full-cart-page td.actions .coupon label { display:none !important; }
.bb-full-cart-page td.actions .coupon input.input-text {
  width:210px !important;
  height:44px !important;
  margin:0 !important;
  padding:0 15px !important;
  border:0 !important;
  border-radius:999px !important;
  background:var(--bb-soft) !important;
  color:var(--bb-ink) !important;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.04) !important;
  font:400 13px/44px var(--bb-font) !important;
}
.bb-full-cart-page td.actions .coupon input.input-text:focus { outline:3px solid rgba(0,113,227,.18) !important; }
.bb-full-cart-page .button,
.bb-full-cart-page button.button,
.bb-full-cart-page input.button {
  min-height:44px !important;
  padding:0 18px !important;
  border:0 !important;
  border-radius:999px !important;
  background:var(--bb-soft) !important;
  color:var(--bb-ink) !important;
  box-shadow:none !important;
  font:600 13px/44px var(--bb-font) !important;
  text-transform:none !important;
  transition:background .18s ease,transform .18s ease !important;
}
.bb-full-cart-page .button:hover,
.bb-full-cart-page button.button:hover,
.bb-full-cart-page input.button:hover { background:var(--bb-hover) !important; color:var(--bb-ink) !important; }
.bb-full-cart-page .button:active,
.bb-full-cart-page button.button:active { transform:scale(.985); }
.bb-full-cart-page .button:disabled,
.bb-full-cart-page button.button:disabled { opacity:.48 !important; }

.bb-full-cart-page .cart-collaterals {
  width:100%;
  margin-top:48px;
  display:flex;
  justify-content:flex-end;
}
.bb-full-cart-page .cart-collaterals .cart_totals {
  float:none !important;
  width:min(100%,430px) !important;
  padding:26px 28px 28px;
  border-radius:24px;
  background:var(--bb-soft);
}
.bb-full-cart-page .cart_totals h2 {
  margin:0 0 18px !important;
  color:var(--bb-ink) !important;
  font:600 24px/1.15 var(--bb-font) !important;
  letter-spacing:-.025em;
}
.bb-full-cart-page .cart_totals table.shop_table { background:transparent !important; }
.bb-full-cart-page .cart_totals table.shop_table th,
.bb-full-cart-page .cart_totals table.shop_table td {
  padding:11px 0 !important;
  border:0 !important;
  border-bottom:1px solid rgba(0,0,0,.07) !important;
  background:transparent !important;
  font:400 14px/1.4 var(--bb-font) !important;
}
.bb-full-cart-page .cart_totals table.shop_table th { color:var(--bb-secondary) !important; font-weight:400 !important; }
.bb-full-cart-page .cart_totals table.shop_table td { text-align:right; color:var(--bb-ink) !important; }
.bb-full-cart-page .cart_totals tr.order-total th,
.bb-full-cart-page .cart_totals tr.order-total td {
  padding-top:18px !important;
  border-bottom:0 !important;
  color:var(--bb-ink) !important;
  font-size:18px !important;
  font-weight:600 !important;
}
.bb-full-cart-page .wc-proceed-to-checkout { padding:20px 0 0 !important; }
.bb-full-cart-page .wc-proceed-to-checkout a.checkout-button {
  width:100%;
  min-height:50px !important;
  margin:0 !important;
  padding:0 22px !important;
  display:flex !important;
  align-items:center;
  justify-content:center;
  border:0 !important;
  border-radius:999px !important;
  background:var(--bb-blue) !important;
  color:#fff !important;
  box-shadow:none !important;
  font:600 14px/50px var(--bb-font) !important;
  transition:background .18s ease,transform .18s ease !important;
}
.bb-full-cart-page .wc-proceed-to-checkout a.checkout-button:hover { background:var(--bb-blue-hover) !important; }
.bb-full-cart-page .wc-proceed-to-checkout a.checkout-button:active { transform:scale(.99); }
.bb-full-cart-page .shipping-calculator-button { color:var(--bb-blue) !important; text-decoration:none !important; }
.bb-full-cart-page .woocommerce-shipping-destination,
.bb-full-cart-page .woocommerce-shipping-methods { color:var(--bb-secondary); font-size:12px; }

/* Empty cart page */
.bb-full-cart-page .cart-empty.woocommerce-info {
  padding:54px 28px !important;
  text-align:center;
  border-radius:24px !important;
  font:600 24px/1.3 var(--bb-font) !important;
  letter-spacing:-.02em;
}
.bb-full-cart-page .return-to-shop { text-align:center; }
.bb-full-cart-page .return-to-shop .button { background:var(--bb-blue) !important; color:#fff !important; }
.bb-full-cart-page .return-to-shop .button:hover { background:var(--bb-blue-hover) !important; color:#fff !important; }

@media (prefers-reduced-motion:reduce) {
  .bb-cart-overlay,.bb-cart-drawer,.bb-cart-trigger,.bb-cart-svg,.bb-cart-btn,.bb-cart-close,.bb-cart-item__remove,
  .bb-full-cart-page .button,.bb-full-cart-page .checkout-button { transition:none !important; }
}

@media (max-width:767px) {
  .bb-cart-count { top:6px; right:1px; }
  .bb-cart-drawer {
    width:100vw;
    height:100vh;
    height:100dvh;
    margin:0;
    border:0;
    border-radius:0;
    box-shadow:none;
  }
  .bb-cart-drawer__header { min-height:88px; padding:22px 20px 17px; }
  .bb-cart-drawer__title { font-size:26px; }
  .bb-cart-notices { padding-left:20px; padding-right:20px; }
  .bb-cart-items { padding:2px 20px 0; }
  .bb-cart-item { grid-template-columns:88px minmax(0,1fr); gap:15px; padding:20px 0; }
  .bb-cart-item__thumb { width:88px; height:88px; border-radius:16px; }
  .bb-cart-item__thumb img { border-radius:16px; }
  .bb-cart-item__info { padding-right:30px; }
  .bb-cart-item__name,.bb-cart-item__subtotal { font-size:14px; }
  .bb-cart-item__bottom { align-items:flex-start; flex-direction:column; gap:10px; }
  .bb-cart-coupon,.bb-cart-summary { padding-left:20px; padding-right:20px; }
  .bb-cart-actions {
    grid-template-columns:1fr;
    padding:14px 20px max(18px,env(safe-area-inset-bottom));
  }
  .bb-cart-btn { min-height:50px; }

  .bb-full-cart-page { padding:34px 16px 64px; }
  .bb-full-cart-page table.shop_table thead { display:none !important; }
  .bb-full-cart-page table.shop_table,
  .bb-full-cart-page table.shop_table tbody,
  .bb-full-cart-page table.shop_table tr,
  .bb-full-cart-page table.shop_table td { display:block !important; width:100% !important; }
  .bb-full-cart-page table.shop_table tr.cart_item {
    position:relative;
    display:grid !important;
    grid-template-columns:86px minmax(0,1fr) !important;
    gap:0 16px;
    padding:20px 0;
    border-bottom:1px solid var(--bb-line-soft);
  }
  .bb-full-cart-page table.shop_table tr.cart_item td { border:0 !important; padding:3px 0 !important; text-align:left !important; }
  .bb-full-cart-page table.shop_table tr.cart_item td::before { display:none !important; }
  .bb-full-cart-page td.product-remove {
    position:absolute;
    top:13px;
    right:0;
    z-index:3;
    width:30px !important;
  }
  .bb-full-cart-page td.product-thumbnail { grid-row:1 / span 5; grid-column:1; display:block !important; }
  .bb-full-cart-page td.product-thumbnail::before { display:none !important; }
  .bb-full-cart-page td.product-thumbnail img { width:86px !important; height:86px !important; border-radius:16px !important; }
  .bb-full-cart-page td.product-name,
  .bb-full-cart-page td.product-price,
  .bb-full-cart-page td.product-quantity,
  .bb-full-cart-page td.product-subtotal { grid-column:2; padding-right:38px !important; }
  .bb-full-cart-page td.product-price { color:var(--bb-secondary); font-weight:400 !important; font-size:12px !important; }
  .bb-full-cart-page td.product-subtotal { margin-top:2px; }
  .bb-full-cart-page table.shop_table td.actions { display:block !important; padding-top:22px !important; }
  .bb-full-cart-page td.actions .coupon { width:100%; display:grid !important; grid-template-columns:1fr auto; }
  .bb-full-cart-page td.actions .coupon input.input-text { width:100% !important; }
  .bb-full-cart-page td.actions > button.button { width:100%; margin-top:10px !important; }
  .bb-full-cart-page .cart-collaterals { margin-top:34px; }
  .bb-full-cart-page .cart-collaterals .cart_totals { width:100% !important; padding:24px 20px 22px; border-radius:22px; }
}
