/* Cart: same palette as the rest of the shop (navy ink, blue accent, soft grey lines). */
body.woocommerce-cart .main-content { color: #1b2a6b; }

/* Items */
body.woocommerce-cart table.cart { width: 100%; margin: 0; border: 1px solid #dfe2ea; border-radius: 16px; border-collapse: separate; border-spacing: 0; overflow: hidden; background: #fff; }
body.woocommerce-cart table.cart thead th { padding: 14px 12px; border: 0; border-bottom: 1px solid #dfe2ea; color: #5b6585; background: #f3f4f8; font-size: 13px; font-weight: 700; text-align: center; }
body.woocommerce-cart table.cart tbody td { padding: 18px 12px; border: 0; border-bottom: 1px solid #eceef4; color: #1b2a6b; background: #fff; font-size: 14.5px; text-align: center; vertical-align: middle; }
body.woocommerce-cart table.cart tbody tr:last-child td { border-bottom: 0; }
body.woocommerce-cart table.cart td.product-thumbnail { width: 128px; background: #fff; }
body.woocommerce-cart table.cart td.product-thumbnail img { display: block; width: 96px; height: auto; margin: 0 auto; border-radius: 10px; }
body.woocommerce-cart table.cart td.product-name { text-align: left; }
body.woocommerce-cart table.cart td.product-name a { color: #13245d; font-weight: 600; line-height: 1.6; text-decoration: none; }
body.woocommerce-cart table.cart td.product-name a:hover { color: #2148b0; }
body.woocommerce-cart table.cart :is(.amount, bdi) { color: #13245d; }
body.woocommerce-cart table.cart td.product-subtotal .amount { font-weight: 700; }
body.woocommerce-cart table.cart a.remove { display: inline-grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; color: #8892aa !important; background: transparent; font-size: 22px; line-height: 1; text-decoration: none; }
body.woocommerce-cart table.cart a.remove:hover { color: #e5391f !important; background: #fdeceb; }

/* Quantity stepper */
body.woocommerce-cart .quantity { display: inline-flex; align-items: center; overflow: hidden; border: 1px solid #cbd5eb; border-radius: 10px; background: #fff; }
body.woocommerce-cart .quantity input.qty { width: 44px; height: 38px; padding: 0; border: 0; color: #13245d; background: transparent; font-weight: 700; text-align: center; box-shadow: none; }
body.woocommerce-cart .quantity :is(.plus, .minus, button) { width: 34px; height: 38px; border: 0; color: #2148b0; background: #f5f8ff; font-size: 17px; line-height: 1; cursor: pointer; }
body.woocommerce-cart .quantity :is(.plus, .minus, button):hover { background: #eaf0fc; }

/* Totals */
body.woocommerce-cart .box-cart-total { padding: 22px; border: 1px solid #dfe2ea; border-radius: 16px; background: #fff; }
body.woocommerce-cart .box-cart-total h2 { margin: 0 0 12px; color: #13245d; font-size: 18px; font-weight: 750; }
body.woocommerce-cart .box-cart-total .respon-table { border: 0; background: transparent; }
body.woocommerce-cart .box-cart-total table { width: 100%; margin: 0; border: 0; border-radius: 0; background: transparent; }
body.woocommerce-cart .box-cart-total :is(tr, th, td) { border-color: transparent; background: transparent !important; }
body.woocommerce-cart .box-cart-total :is(th, td) { padding: 12px 0; border-bottom: 1px solid #eceef4; color: #1b2a6b; font-size: 14px; text-align: left; vertical-align: top; }
body.woocommerce-cart .box-cart-total td { text-align: right; }
body.woocommerce-cart .box-cart-total th { color: #5b6585; font-weight: 600; }
body.woocommerce-cart .box-cart-total tr.order-total :is(th, td) { padding-top: 16px; border-bottom: 0; color: #13245d; font-size: 18px; font-weight: 800; }
body.woocommerce-cart .wc-proceed-to-checkout { margin-top: 14px; }
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button { border-radius: 12px; }

@media (max-width: 767px) {
  body.woocommerce-cart table.cart tbody td { padding: 14px 10px; }
  body.woocommerce-cart table.cart td.product-thumbnail { width: auto; }
  body.woocommerce-cart table.cart td.product-thumbnail img { width: 72px; }
  body.woocommerce-cart .box-cart-total { margin-top: 16px; padding: 18px; }
}

/* The legacy theme styles these with higher specificity; win explicitly. */
body.woocommerce-cart .col-md-4 .box-cart-total { padding: 22px !important; border: 1px solid #dfe2ea !important; border-radius: 16px !important; background: #fff !important; }
body.woocommerce-cart .box-cart-total table.shop_table { border: 0 !important; border-radius: 0 !important; background: transparent !important; }
body.woocommerce-cart .box-cart-total table.shop_table :is(th, td) { border: 0 !important; border-bottom: 1px solid #eceef4 !important; padding: 12px 0 !important; background: transparent !important; }
body.woocommerce-cart .box-cart-total table.shop_table tr:last-child :is(th, td), body.woocommerce-cart .box-cart-total table.shop_table tr.order-total :is(th, td) { border-bottom: 0 !important; }
body.woocommerce-cart table.cart .quantity { border: 1px solid #cbd5eb !important; border-radius: 10px !important; }
body.woocommerce-cart .quantity :is(.zadora-qty-minus, .zadora-qty-plus) { display: grid; width: 34px; height: 38px; place-items: center; transform: none; color: #2148b0; background: #f5f8ff; cursor: pointer; }
body.woocommerce-cart .quantity :is(.zadora-qty-minus, .zadora-qty-plus):hover { background: #eaf0fc; }
body.woocommerce-cart .quantity :is(.zadora-qty-minus, .zadora-qty-plus)::before { color: #2148b0; font-size: 11px; }
body.woocommerce-cart table.cart a.remove::before, body.woocommerce-cart table.cart a.remove::after { color: inherit; }

/* Mobile cart: one product card per row, with labels beside editable values. */
@media (max-width: 767px) {
  body.woocommerce-cart .woocommerce > :is(.col-md-8, .col-md-4) { width: 100%; float: none; min-width: 0; padding-left: 0; padding-right: 0; }
  body.woocommerce-cart .woocommerce-cart-form { min-width: 0; }
  body.woocommerce-cart table.cart { display: block; border: 0; background: transparent; overflow: visible; }
  body.woocommerce-cart table.cart thead { display: none; }
  body.woocommerce-cart table.cart tbody { display: grid; gap: 14px; }
  body.woocommerce-cart table.cart tr.cart_item { position: relative; display: grid; grid-template-columns: 80px minmax(0, 1fr); padding: 16px; border: 1px solid #dfe2ea; border-radius: 16px; background: #fff; }
  body.woocommerce-cart table.cart tr.cart_item td { display: block !important; width: auto; min-width: 0; padding: 10px 0; background: transparent !important; text-align: left !important; }
  body.woocommerce-cart table.cart tr.cart_item td::before { display: none; }
  body.woocommerce-cart table.cart td.product-thumbnail { grid-column: 1; border: 0; }
  body.woocommerce-cart table.cart td.product-thumbnail img { width: 64px; max-width: 100%; margin: 0; }
  body.woocommerce-cart table.cart td.product-name { grid-column: 2; padding-right: 34px; border: 0; overflow-wrap: anywhere; }
  body.woocommerce-cart table.cart td.product-name dl { margin: 8px 0 0; }
  body.woocommerce-cart table.cart tr.cart_item :is(td.product-price, td.product-quantity, td.product-subtotal) { display: flex !important; grid-column: 1 / -1; align-items: center; justify-content: space-between; gap: 12px; }
  body.woocommerce-cart table.cart tr.cart_item :is(td.product-price, td.product-quantity, td.product-subtotal)::before { display: block; content: attr(data-title); font-weight: 600; color: #5b6585; flex-shrink: 0; }
  body.woocommerce-cart table.cart td.product-subtotal { border-bottom: 0; }
  body.woocommerce-cart table.cart td.product-remove { position: absolute; top: 8px; right: 8px; padding: 0 !important; border: 0; }
  body.woocommerce-cart table.cart a.remove { width: 44px; height: 44px; }
  body.woocommerce-cart .quantity :is(input.qty, .plus, .minus, button, .zadora-qty-minus, .zadora-qty-plus) { width: 44px; height: 44px; min-width: 44px; font-size: 16px; }
  body.woocommerce-cart .cart-actions { display: flex; flex-direction: column; align-items: stretch; gap: 12px; }
  body.woocommerce-cart .cart-actions > :is(.coupon, .updatecart, .continue) { float: none; width: 100%; margin: 0; }
  body.woocommerce-cart .cart-actions .coupon { display: flex; gap: 8px; }
  body.woocommerce-cart .cart-actions .coupon input { width: 0; flex: 1; min-width: 0; font-size: 16px; }
  body.woocommerce-cart .cart-actions :is(button, input[type=submit], .continue) { min-height: 44px; }
  body.woocommerce-cart .cart-actions .updatecart input { width: 100%; }
  body.woocommerce-cart .col-md-4 .box-cart-total { padding: 16px !important; }
  body.woocommerce-cart .box-cart-total .respon-table { overflow: visible; }
  body.woocommerce-cart .box-cart-total table { min-width: 0; table-layout: fixed; }
  body.woocommerce-cart .box-cart-total :is(th, td) { overflow-wrap: anywhere; }
  body.woocommerce-cart .wc-proceed-to-checkout .checkout-button { width: 100%; min-height: 48px; white-space: normal; text-align: center; }
}

/* Reset Zadora's absolutely positioned arrows inside the mobile quantity control. */
@media (max-width: 767px) {
  body.woocommerce-cart table.cart .zadora-quantity-wrap { width: auto !important; margin: 0 !important; padding: 0 !important; }
  body.woocommerce-cart table.cart .zadora-quantity-wrap > label { display: none !important; }
  body.woocommerce-cart table.cart .quantity { display: grid !important; grid-template-columns: 44px 44px 44px; width: 132px !important; height: 44px !important; padding: 0 !important; margin: 0 !important; overflow: hidden; }
  body.woocommerce-cart table.cart .quantity :is(input.qty, .zadora-qty-minus, .zadora-qty-plus) { position: static !important; inset: auto !important; float: none !important; transform: none !important; display: grid !important; place-items: center; width: 44px !important; min-width: 0 !important; max-width: none !important; height: 44px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; line-height: 44px !important; }
  body.woocommerce-cart table.cart .quantity .zadora-qty-minus::before { content: "\2212" !important; font: 20px/1 Arial, sans-serif !important; }
  body.woocommerce-cart table.cart .quantity .zadora-qty-plus::before { content: "+" !important; font: 20px/1 Arial, sans-serif !important; }
  body.woocommerce-cart table.cart .quantity :is(.zadora-qty-minus, .zadora-qty-plus)::after { display: none !important; }
  body.woocommerce-cart table.cart .quantity input.qty { display: block !important; appearance: textfield; -moz-appearance: textfield; }
  body.woocommerce-cart table.cart .quantity input.qty::-webkit-inner-spin-button,
  body.woocommerce-cart table.cart .quantity input.qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
  body.woocommerce-cart .cart-actions { display: flex !important; gap: 10px !important; margin: 16px 0 0 !important; padding: 0 !important; }
  body.woocommerce-cart .cart-actions > :is(.coupon, .updatecart, .continue) { width: 100% !important; margin: 0 !important; padding: 0 !important; float: none !important; }
  body.woocommerce-cart .cart-actions .updatecart input,
  body.woocommerce-cart .cart-actions a.continue { display: flex !important; align-items: center; justify-content: center; width: 100% !important; min-height: 44px; margin: 0 !important; padding: 10px 14px !important; box-sizing: border-box; }
  body.woocommerce-cart .cart-actions::before,
  body.woocommerce-cart .cart-actions::after { display: none !important; }
  body.woocommerce-cart table.cart td.product-name { padding-right: 44px; }
}

/* Use the remove link's existing multiplication sign instead of legacy icon layers. */
body.woocommerce-cart table.cart a.remove::before,
body.woocommerce-cart table.cart a.remove::after { content: none !important; display: none !important; }
body.woocommerce-cart table.cart a.remove { position: relative !important; font-family: Arial, sans-serif !important; font-size: 26px !important; font-weight: 400; line-height: 1 !important; text-indent: 0 !important; overflow: visible; }
@media (max-width: 767px) {
  body.woocommerce-cart table.cart tr.cart_item td.product-remove { top: 8px; right: 8px; width: 44px; height: 44px; z-index: 1; }
  body.woocommerce-cart table.cart td.product-name { padding-right: 44px !important; }
  body.woocommerce-cart table.cart a.remove { display: grid !important; place-items: center; width: 44px !important; height: 44px !important; margin: 0 !important; padding: 0 !important; }
}

/* Remove the legacy empty-cart decoration underneath the message. */
body.fp-refreshed.woocommerce-cart .woocommerce .cart-empty { position: relative !important; }
body.fp-refreshed.woocommerce-cart .woocommerce .cart-empty::after { content: none !important; display: none !important; border: 0 !important; box-shadow: none !important; }
body.fp-refreshed.woocommerce-cart .woocommerce .cart-empty::before { border: 0 !important; }
