/* BodyFrank cart page: two top-aligned cards (items | totals). */
.woocommerce-cart .ct-woocommerce-cart-form { align-items: start !important; gap: 28px !important; }

/* Totals card: Blocksy offsets it by top:50px for its sticky mode; keep it in flow and aligned */
.woocommerce-cart .cart_totals { top: 0 !important; margin-top: 0 !important; position: relative !important; align-self: start; }
.woocommerce-cart .cart_totals h2 { margin-bottom: 14px !important; }

/* Items card */
.woocommerce-cart form.woocommerce-cart-form {
  padding: 8px 24px 20px; border: 1px solid var(--bf-line); border-radius: 14px; background: #fff;
  box-shadow: 0 6px 24px rgb(21 23 28 / 0.05); position: relative; overflow: hidden;
}
.woocommerce-cart form.woocommerce-cart-form::before {
  content: ''; position: absolute; left: 0; top: 0; width: 100%; height: 4px; background: var(--bf-fire);
}
.woocommerce-cart table.shop_table { margin: 0 !important; border: 0 !important; }
.woocommerce-cart table.shop_table thead th {
  padding-block: 18px 12px !important; font-size: 0.72rem !important; font-weight: 800 !important;
  letter-spacing: 0.12em; text-transform: uppercase; color: #8a9099 !important; border-bottom: 1px solid var(--bf-line) !important;
}
.woocommerce-cart table.shop_table td { padding-block: 20px !important; vertical-align: middle; border-bottom: 1px solid #f0f0f2 !important; }
.woocommerce-cart .product-thumbnail { width: 96px; }
.woocommerce-cart .product-thumbnail a, .woocommerce-cart .product-thumbnail .ct-media-container {
  display: block; width: 84px; height: 84px; border-radius: 12px; overflow: hidden; background: #f6f6f7;
}
.woocommerce-cart .product-thumbnail img { width: 100%; height: 100%; object-fit: contain; }
.woocommerce-cart td.product-name > a { display: block; margin-bottom: 4px; font-weight: 800; font-size: 0.98rem; color: var(--bf-ink) !important; text-decoration: none; }
.woocommerce-cart td.product-name > a:hover { color: #e8530b !important; }
.woocommerce-cart td.product-name .wc-gzd-cart-info, .woocommerce-cart td.product-name p { margin: 0 0 2px !important; font-size: 0.78rem; color: #6b717b; }
.woocommerce-cart td.product-name .price, .woocommerce-cart td.product-name .amount { font-weight: 700; color: var(--bf-ink); }
.woocommerce-cart td.product-subtotal { font-weight: 800; color: var(--bf-ink); }
.woocommerce-cart td.product-remove a.remove {
  display: grid !important; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: #f6f6f7; color: #6b717b !important;
  transition: background 0.15s, color 0.15s;
}
.woocommerce-cart td.product-remove a.remove:hover { background: #fdecec; color: #e0161b !important; }

/* Coupon + update row */
.woocommerce-cart table.shop_table td.actions { padding-top: 18px !important; border-bottom: 0 !important; }
.woocommerce-cart .coupon { display: flex; gap: 10px; }
.woocommerce-cart .coupon input.input-text { min-height: 46px; min-width: 200px; border-radius: 10px !important; border-color: #dcdde1 !important; }
.woocommerce-cart .coupon .button, .woocommerce-cart button[name='update_cart'] { min-height: 46px; border-radius: 10px !important; font-size: 0.8rem !important; }
.woocommerce-cart .coupon .button {
  background-image: none !important; background-color: var(--bf-ink) !important; color: #fff !important;
}
.woocommerce-cart button[name='update_cart'] {
  background-image: none !important; background-color: #fff !important; color: var(--bf-ink) !important;
  box-shadow: inset 0 0 0 1.5px #dcdde1 !important; opacity: 1 !important;
}
.woocommerce-cart button[name='update_cart']:disabled { color: #a3a8b0 !important; cursor: default; }
.woocommerce-cart button[name='update_cart']:not(:disabled):hover { box-shadow: inset 0 0 0 1.5px var(--bf-ink) !important; }

@media (max-width: 989px) {
  .woocommerce-cart form.woocommerce-cart-form { padding: 8px 16px 16px; }
  .woocommerce-cart .product-mobile-actions { flex-wrap: wrap !important; align-items: center; gap: 6px 10px; }
  .woocommerce-cart .product-thumbnail { width: 76px; padding-right: 8px !important; }
  .woocommerce-cart .product-thumbnail a, .woocommerce-cart .product-thumbnail .ct-media-container { width: 64px; height: 64px; }
  .woocommerce-cart td.actions { width: 100%; }
  .woocommerce-cart .coupon { flex-wrap: wrap; width: 100%; }
  .woocommerce-cart .coupon input.input-text { flex: 1 1 100%; width: 100% !important; min-width: 0; box-sizing: border-box; }
  .woocommerce-cart .coupon .button, .woocommerce-cart button[name='update_cart'] { width: 100%; }
}
