/* Bags and Cages — Cart page (fallback page; the drawer is the primary cart)
 * The theme ships an older cart.php, so selectors stay generic: table.shop_table.cart + .cart_totals. */

body.bcc-cart-skin.woocommerce-cart .woocommerce { font-family: var(--bcc-sans); color: var(--bcc-body); text-transform: none; }
body.bcc-cart-skin .bcc-cart-intro { margin: -6px 0 18px; font-size: 14.5px; color: var(--bcc-muted); }

/* line items */
body.bcc-cart-skin table.shop_table.cart {
	width: 100%;
	border: 1px solid var(--bcc-line);
	border-radius: var(--bcc-radius-lg);
	border-collapse: separate;
	border-spacing: 0;
	background: #fff;
	overflow: hidden;
	box-shadow: var(--bcc-shadow);
	margin: 0 0 24px;
}
body.bcc-cart-skin table.shop_table.cart th,
body.bcc-cart-skin table.shop_table.cart td { border: 0; border-bottom: 1px solid var(--bcc-line-soft); padding: 16px 14px; vertical-align: middle; background: none; text-align: left; }
body.bcc-cart-skin table.shop_table.cart thead th {
	font-family: var(--bcc-disp);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--bcc-muted);
	background: var(--bcc-ground);
	padding: 12px 14px;
}
body.bcc-cart-skin table.shop_table.cart td.product-remove { width: 44px; padding-right: 0; }
body.bcc-cart-skin table.shop_table.cart td.product-remove a.remove {
	width: 32px;
	height: 32px;
	line-height: 30px;
	border-radius: 999px;
	border: 1.5px solid var(--bcc-line);
	color: var(--bcc-muted) !important;
	background: #fff;
	font-size: 18px;
	font-weight: 400;
	text-align: center;
	display: inline-block;
	transition: .15s;
}
body.bcc-cart-skin table.shop_table.cart td.product-remove a.remove:hover { background: #FDECEA; border-color: var(--bcc-red); color: var(--bcc-red) !important; }
body.bcc-cart-skin table.shop_table.cart td.product-thumbnail { width: 96px; }
body.bcc-cart-skin table.shop_table.cart td.product-thumbnail img {
	width: 78px;
	height: 78px;
	object-fit: contain;
	border: 1px solid var(--bcc-line);
	border-radius: 12px;
	padding: 5px;
	background: #fff;
	display: block;
}
body.bcc-cart-skin table.shop_table.cart td.product-name a { font-size: 15px; font-weight: 600; color: var(--bcc-ink); text-decoration: none; line-height: 1.4; }
body.bcc-cart-skin table.shop_table.cart td.product-name a:hover { color: var(--bcc-cyan-dark); }
body.bcc-cart-skin table.shop_table.cart td.product-name dl.variation { font-size: 12.5px; color: var(--bcc-muted); margin: 4px 0 0; }
body.bcc-cart-skin table.shop_table.cart td.product-price,
body.bcc-cart-skin table.shop_table.cart td.product-subtotal { font-family: var(--bcc-disp); font-size: 17px; font-weight: 600; color: var(--bcc-navy); white-space: nowrap; }
body.bcc-cart-skin table.shop_table.cart td.product-price { color: var(--bcc-body); font-weight: 500; }
body.bcc-cart-skin table.shop_table.cart .quantity { display: inline-block; }
body.bcc-cart-skin table.shop_table.cart .quantity input.qty {
	width: 72px;
	height: 40px;
	margin: 0;
	padding: 0 10px;
	border: 1.5px solid var(--bcc-line);
	border-radius: 999px;
	background: #fff;
	color: var(--bcc-ink);
	font: 700 15px var(--bcc-sans);
	text-align: center;
	box-shadow: none;
	text-transform: none;
}
body.bcc-cart-skin table.shop_table.cart .quantity input.qty:focus { outline: none; border-color: var(--bcc-cyan); box-shadow: 0 0 0 4px rgba(13, 167, 224, .13); }

/* coupon + update row */
body.bcc-cart-skin table.shop_table.cart td.actions { background: var(--bcc-ground); border-bottom: 0; padding: 14px; }
body.bcc-cart-skin table.shop_table.cart td.actions .coupon { float: none; display: inline-flex; gap: 8px; align-items: stretch; vertical-align: middle; }
body.bcc-cart-skin table.shop_table.cart td.actions .coupon label { display: none; }
/* the theme keys this input's width/size on #content; carry the id to out-rank it */
body.bcc-cart-skin table.shop_table.cart td.actions .coupon input.input-text,
body.bcc-cart-skin #content table.shop_table.cart td.actions .coupon input.input-text {
	width: 220px;
	max-width: 100%;
	height: auto;
	margin: 0;
	padding: 10px 14px;
	border: 1.5px solid var(--bcc-line);
	border-radius: 999px;
	background: #fff;
	color: var(--bcc-ink);
	font: 14px var(--bcc-sans);
	box-shadow: none;
	text-transform: none;
}
body.bcc-cart-skin table.shop_table.cart td.actions .coupon input.input-text:focus { outline: none; border-color: var(--bcc-cyan); }
body.bcc-cart-skin table.shop_table.cart td.actions .coupon input.input-text::placeholder { color: var(--bcc-muted); opacity: 1; text-transform: none; }
body.bcc-cart-skin table.shop_table.cart td.actions button.button,
body.bcc-cart-skin table.shop_table.cart td.actions input.button,
body.bcc-cart-skin table.shop_table.cart td.actions input[type="submit"] {
	margin: 0;
	padding: 10px 18px;
	border: 1.5px solid var(--bcc-navy);
	border-radius: 999px;
	background: #fff;
	color: var(--bcc-navy);
	font-family: var(--bcc-disp);
	font-size: 13.5px;
	font-weight: 600;
	letter-spacing: .07em;
	text-transform: uppercase;
	line-height: 1.2;
	cursor: pointer;
	box-shadow: none;
	transition: .15s;
}
body.bcc-cart-skin table.shop_table.cart td.actions button.button:hover,
body.bcc-cart-skin table.shop_table.cart td.actions input.button:hover,
body.bcc-cart-skin table.shop_table.cart td.actions input[type="submit"]:hover { background: var(--bcc-navy); color: #fff; }
body.bcc-cart-skin table.shop_table.cart td.actions button.button:disabled,
body.bcc-cart-skin table.shop_table.cart td.actions input.button:disabled,
body.bcc-cart-skin table.shop_table.cart td.actions input[type="submit"]:disabled { opacity: .5; cursor: default; }
body.bcc-cart-skin table.shop_table.cart td.actions > button.button[name="update_cart"],
body.bcc-cart-skin table.shop_table.cart td.actions > input[name="update_cart"] { float: right; }

/* totals card */
body.bcc-cart-skin .cart-collaterals { display: flex; justify-content: flex-end; }
body.bcc-cart-skin .cart-collaterals .cart_totals {
	float: none;
	width: 100%;
	max-width: 440px;
	border: 1px solid var(--bcc-line);
	border-radius: var(--bcc-radius-lg);
	background: #fff;
	box-shadow: var(--bcc-shadow);
	padding: 22px 24px 24px;
}
body.bcc-cart-skin .cart_totals h2 {
	font-family: var(--bcc-disp);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--bcc-muted);
	margin: 0 0 12px;
	text-align: left;
}
body.bcc-cart-skin .cart_totals table.shop_table { width: 100%; margin: 0; border: 0; border-collapse: collapse; background: none; }
body.bcc-cart-skin .cart_totals table.shop_table th,
body.bcc-cart-skin .cart_totals table.shop_table td { border: 0; border-bottom: 1px solid var(--bcc-line-soft); padding: 11px 0; background: none; text-align: left; font-size: 14.5px; font-weight: 400; color: var(--bcc-body); vertical-align: top; }
body.bcc-cart-skin .cart_totals table.shop_table td { text-align: right; font-weight: 700; color: var(--bcc-ink); }
body.bcc-cart-skin .cart_totals tr.shipping td { font-weight: 700; }
body.bcc-cart-skin .cart_totals tr.shipping ul#shipping_method { list-style: none; margin: 0; padding: 0; text-align: left; }
body.bcc-cart-skin .cart_totals tr.shipping ul#shipping_method li { display: flex; align-items: center; gap: 10px; margin: 0 0 6px; }
body.bcc-cart-skin .cart_totals tr.shipping ul#shipping_method label { margin: 0; font-weight: 600; font-size: 14px; }
body.bcc-cart-skin .cart_totals tr.shipping a.shipping-calculator-button { display: inline-block; margin-top: 6px; font-size: 13px; font-weight: 700; color: var(--bcc-cyan-dark); text-decoration: none; }
body.bcc-cart-skin .cart_totals tr.shipping a.shipping-calculator-button:hover { text-decoration: underline; }
body.bcc-cart-skin .cart_totals .shipping-calculator-form { text-align: left; margin-top: 10px; }
body.bcc-cart-skin .cart_totals .shipping-calculator-form .form-row { margin: 0 0 8px; }
body.bcc-cart-skin .cart_totals .shipping-calculator-form input.input-text,
body.bcc-cart-skin .cart_totals .shipping-calculator-form select,
body.bcc-cart-skin .cart_totals .shipping-calculator-form .select2-container--default .select2-selection--single { width: 100%; border: 1.5px solid var(--bcc-line); border-radius: 10px; padding: 9px 12px; height: auto; font: 14px var(--bcc-sans); box-shadow: none; text-transform: none; }
body.bcc-cart-skin .cart_totals .shipping-calculator-form button.button { margin-top: 4px; padding: 10px 18px; border: 0; border-radius: 999px; background: var(--bcc-navy); color: #fff; font-family: var(--bcc-disp); font-size: 13.5px; letter-spacing: .07em; text-transform: uppercase; }
body.bcc-cart-skin .cart_totals tr.order-total th,
body.bcc-cart-skin .cart_totals tr.order-total td { border-bottom: 0; padding-top: 16px; }
body.bcc-cart-skin .cart_totals tr.order-total th { font-family: var(--bcc-disp); font-size: 20px; letter-spacing: .06em; text-transform: uppercase; color: var(--bcc-navy); font-weight: 600; }
body.bcc-cart-skin .cart_totals tr.order-total td,
body.bcc-cart-skin .cart_totals tr.order-total td strong,
body.bcc-cart-skin .cart_totals tr.order-total td .amount { font-family: var(--bcc-disp); font-size: 31px; font-weight: 700; color: var(--bcc-navy); line-height: 1; }
body.bcc-cart-skin .cart_totals .wc-proceed-to-checkout { padding: 16px 0 0; }
body.bcc-cart-skin .cart_totals .wc-proceed-to-checkout a.checkout-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin: 0 0 12px;
	padding: 16px 26px;
	border: 0;
	border-radius: 999px;
	background: var(--bcc-green);
	color: #fff;
	font-family: var(--bcc-disp);
	font-size: 17px;
	font-weight: 600;
	letter-spacing: .07em;
	text-transform: uppercase;
	text-decoration: none;
	box-shadow: 0 6px 18px -6px rgba(117, 201, 19, .7);
	transition: background .16s, transform .16s;
}
body.bcc-cart-skin .cart_totals .wc-proceed-to-checkout a.checkout-button:hover { background: var(--bcc-green-dark); transform: translateY(-1px); }
body.bcc-cart-skin .cart_totals .wc-proceed-to-checkout > * + * { margin-top: 10px; }
body.bcc-cart-skin .cart_totals .wcpay-express-checkout-wrapper,
body.bcc-cart-skin .cart_totals .ppc-button-wrapper { margin-top: 10px; }
body.bcc-cart-skin .cart_totals #wcpay-express-checkout-button-separator { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--bcc-muted); margin: 12px 0 !important; }

/* mobile: WooCommerce stacks rows and labels them via data-title */
@media (max-width: 768px) {
	body.bcc-cart-skin table.shop_table_responsive.cart tr { display: block; padding: 12px 0; border-bottom: 1px solid var(--bcc-line-soft); }
	body.bcc-cart-skin table.shop_table_responsive.cart tr td { display: block; border: 0; padding: 6px 14px; text-align: right; }
	body.bcc-cart-skin table.shop_table_responsive.cart tr td::before { content: attr(data-title); float: left; font-family: var(--bcc-disp); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--bcc-muted); font-weight: 600; }
	body.bcc-cart-skin table.shop_table_responsive.cart tr td.product-remove,
	body.bcc-cart-skin table.shop_table_responsive.cart tr td.product-thumbnail { text-align: left; }
	body.bcc-cart-skin table.shop_table_responsive.cart tr td.product-remove::before,
	body.bcc-cart-skin table.shop_table_responsive.cart tr td.product-thumbnail::before,
	body.bcc-cart-skin table.shop_table_responsive.cart tr td.actions::before { content: none; }
	body.bcc-cart-skin table.shop_table_responsive.cart tr td.product-name { text-align: left; }
	body.bcc-cart-skin table.shop_table_responsive.cart tr td.product-name::before { display: none; }
	body.bcc-cart-skin table.shop_table.cart td.actions { display: flex; flex-wrap: wrap; gap: 10px; }
	body.bcc-cart-skin table.shop_table.cart td.actions .coupon { width: 100%; }
	body.bcc-cart-skin table.shop_table.cart td.actions .coupon input.input-text { flex: 1; width: auto; }
	body.bcc-cart-skin table.shop_table.cart td.actions > button.button[name="update_cart"],
body.bcc-cart-skin table.shop_table.cart td.actions > input[name="update_cart"] { float: none; width: 100%; }
	body.bcc-cart-skin .cart-collaterals .cart_totals { max-width: none; }
}
