/**
 * BI quantity stepper — always on (not gated behind ?bi-card=1).
 *
 * PDP: rebuild theme stacked chevrons into horizontal − / n / + pill.
 * Mini-cart drawer: restyle .shoptimizer-custom-quantity-mini-cart to match.
 */

/* ---------------------------------------------------------------------------
   PDP quantity
   --------------------------------------------------------------------------- */

.single-product div.product form.cart .quantity.buttons_added,
.single-product div.product form.cart .quantity {
	display: grid !important;
	grid-template-columns: 44px minmax(44px, 56px) 44px;
	grid-template-areas: "minus qty plus";
	align-items: stretch;
	width: auto !important;
	height: 52px !important;
	margin: 0 12px 0 0 !important;
	float: none !important;
	border: 1.5px solid #d8dde3;
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
	overflow: hidden;
	position: relative;
}

/*
 * WooCommerce uses type="hidden" when min === max (e.g. only 1 left in stock,
 * or sold individually). Without this, our pill chrome wraps an invisible
 * input and shows as an empty oval next to Add to cart.
 */
.single-product div.product form.cart .quantity:has(> input.qty[type="hidden"]) {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: hidden !important;
}

.single-product div.product form.cart .quantity .quantity-nav {
	display: contents !important;
	position: static !important;
	width: auto !important;
	height: auto !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	right: auto !important;
	top: auto !important;
	bottom: auto !important;
}

.single-product div.product form.cart .quantity input.qty {
	grid-area: qty;
	width: 100% !important;
	height: 100% !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	text-align: center !important;
	font-size: 17px !important;
	font-weight: 600 !important;
	font-variant-numeric: tabular-nums;
	color: #111 !important;
	-moz-appearance: textfield;
}

.single-product div.product form.cart .quantity input.qty::-webkit-outer-spin-button,
.single-product div.product form.cart .quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.single-product div.product form.cart .quantity .quantity-button {
	position: relative !important;
	left: auto !important;
	right: auto !important;
	top: auto !important;
	bottom: auto !important;
	width: 100% !important;
	height: 100% !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	background: transparent !important;
	cursor: pointer;
	transition: background-color 0.15s ease;
	-webkit-user-select: none;
	user-select: none;
}

.single-product div.product form.cart .quantity .quantity-down {
	grid-area: minus;
	border-right: 1px solid #e8ecf0;
}

.single-product div.product form.cart .quantity .quantity-up {
	grid-area: plus;
	border-left: 1px solid #e8ecf0;
}

.single-product div.product form.cart .quantity .quantity-button:hover {
	background: #f3f6f8 !important;
}

.single-product div.product form.cart .quantity .quantity-button:active {
	background: #e8eef2 !important;
}

.single-product div.product form.cart .quantity .quantity-button:focus-visible {
	outline: 2px solid #2491ff;
	outline-offset: -2px;
	z-index: 1;
}

.single-product div.product form.cart .quantity .quantity-button:before {
	content: "" !important;
	width: 14px !important;
	height: 14px !important;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	background: #1a1f26 !important;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.single-product div.product form.cart .quantity .quantity-up:before {
	-webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") !important;
	mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") !important;
}

.single-product div.product form.cart .quantity .quantity-down:before {
	-webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E") !important;
	mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E") !important;
}

/*
 * Mobile: row 1 [qty] [ATC]; "N in cart" is under the form (see bi-pdp-cls-fixes).
 * Do NOT use display:flex here — a later width:100% on the button (from PDP
 * grid-cell rules) would make ATC full-bleed on its own flex line.
 */
@media (max-width: 992px) {
	.single-product div.product form.cart:not(.variations_form) {
		display: grid !important;
		grid-template-columns: auto minmax(0, 1fr) !important;
		align-items: center !important;
		column-gap: 8px !important;
		row-gap: 6px !important;
		width: 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin-left: 0 !important;
	}
	.single-product div.product form.cart:not(.variations_form)::before,
	.single-product div.product form.cart:not(.variations_form)::after {
		content: none !important;
		display: none !important;
	}
	.single-product div.product form.cart .quantity.buttons_added,
	.single-product div.product form.cart .quantity {
		grid-column: 1 !important;
		margin: 0 !important;
		width: auto !important;
		max-width: none;
		grid-template-columns: 36px 32px 36px !important;
		height: 48px !important;
	}
	.single-product div.product form.cart .single_add_to_cart_button.button.alt {
		grid-column: 2 !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		margin-left: 0 !important;
		padding-left: 10px !important;
		padding-right: 10px !important;
		position: relative !important;
		left: auto !important;
		float: none !important;
	}
}

/* ---------------------------------------------------------------------------
   Mini-cart quantity (cart drawer) — same pill language, compact.
   --------------------------------------------------------------------------- */

.shoptimizer-custom-quantity-mini-cart {
	width: 112px !important;
	max-width: 112px !important;
	height: 36px !important;
	padding: 0 !important;
	display: grid !important;
	grid-template-columns: 34px 44px 34px !important;
	align-items: stretch !important;
	border: 1.5px solid #d8dde3 !important;
	border-radius: 999px !important;
	background: #fff !important;
	box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04) !important;
	overflow: hidden !important;
	-webkit-user-select: none;
	user-select: none;
}

.shoptimizer-custom-quantity-mini-cart input,
.shoptimizer-custom-quantity-mini-cart_input {
	width: 100% !important;
	height: 100% !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	text-align: center !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	font-variant-numeric: tabular-nums;
	color: #111 !important;
	-moz-appearance: textfield;
}

.shoptimizer-custom-quantity-mini-cart input::-webkit-outer-spin-button,
.shoptimizer-custom-quantity-mini-cart input::-webkit-inner-spin-button,
.shoptimizer-custom-quantity-mini-cart_input::-webkit-outer-spin-button,
.shoptimizer-custom-quantity-mini-cart_input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.shoptimizer-custom-quantity-mini-cart_button {
	width: 100% !important;
	height: 100% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer;
	transition: background-color 0.15s ease;
}

.shoptimizer-custom-quantity-mini-cart_button.quantity-down {
	border-right: 1px solid #e8ecf0 !important;
}

.shoptimizer-custom-quantity-mini-cart_button.quantity-up {
	border-left: 1px solid #e8ecf0 !important;
}

.shoptimizer-custom-quantity-mini-cart_button:hover {
	background: #f3f6f8 !important;
}

.shoptimizer-custom-quantity-mini-cart_button:active {
	background: #e8eef2 !important;
}

.shoptimizer-custom-quantity-mini-cart_button:focus-visible {
	outline: 2px solid #2491ff;
	outline-offset: -2px;
	z-index: 1;
}

.shoptimizer-custom-quantity-mini-cart svg {
	width: 12px !important;
	height: 12px !important;
	stroke: #1a1f26 !important;
}

/* ---------------------------------------------------------------------------
   Cart page quantity — same pill as PDP (theme uses .quantity-nav + buttons).
   --------------------------------------------------------------------------- */

.woocommerce-cart .woocommerce-cart-form .quantity.buttons_added,
.woocommerce-cart .woocommerce-cart-form .quantity,
.woocommerce-cart-form__cart-item .quantity.buttons_added,
.woocommerce-cart-form__cart-item .quantity {
	display: grid !important;
	grid-template-columns: 40px minmax(36px, 48px) 40px !important;
	grid-template-areas: "minus qty plus" !important;
	align-items: stretch !important;
	width: auto !important;
	max-width: none !important;
	height: 40px !important;
	min-height: 40px !important;
	margin: 0 !important;
	float: none !important;
	border: 1.5px solid #d8dde3 !important;
	border-radius: 999px !important;
	background: #fff !important;
	box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04) !important;
	overflow: hidden !important;
	position: relative !important;
}

.woocommerce-cart .woocommerce-cart-form .quantity .quantity-nav,
.woocommerce-cart-form__cart-item .quantity .quantity-nav {
	display: contents !important;
	position: static !important;
	width: auto !important;
	height: auto !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	right: auto !important;
	top: auto !important;
	bottom: auto !important;
}

.woocommerce-cart .woocommerce-cart-form .quantity input.qty,
.woocommerce-cart-form__cart-item .quantity input.qty {
	grid-area: qty !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	text-align: center !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	font-variant-numeric: tabular-nums;
	color: #111 !important;
	-moz-appearance: textfield;
}

.woocommerce-cart .woocommerce-cart-form .quantity input.qty::-webkit-outer-spin-button,
.woocommerce-cart .woocommerce-cart-form .quantity input.qty::-webkit-inner-spin-button,
.woocommerce-cart-form__cart-item .quantity input.qty::-webkit-outer-spin-button,
.woocommerce-cart-form__cart-item .quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.woocommerce-cart .woocommerce-cart-form .quantity .quantity-button,
.woocommerce-cart-form__cart-item .quantity .quantity-button {
	position: relative !important;
	left: auto !important;
	right: auto !important;
	top: auto !important;
	bottom: auto !important;
	width: 100% !important;
	height: 100% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: transparent !important;
	cursor: pointer;
	-webkit-user-select: none;
	user-select: none;
}

.woocommerce-cart .woocommerce-cart-form .quantity .quantity-down,
.woocommerce-cart-form__cart-item .quantity .quantity-down {
	grid-area: minus !important;
	border-right: 1px solid #e8ecf0 !important;
}

.woocommerce-cart .woocommerce-cart-form .quantity .quantity-up,
.woocommerce-cart-form__cart-item .quantity .quantity-up {
	grid-area: plus !important;
	border-left: 1px solid #e8ecf0 !important;
}

/* ---------------------------------------------------------------------------
   Mini-cart drawer — expand content to the same right inset as the close X
   (theme close uses right: 16px; widget was 20px + list 12px = 32px inset).
   --------------------------------------------------------------------------- */

#shoptimizerCartDrawer .widget_shopping_cart,
.shoptimizer-mini-cart-wrap .widget_shopping_cart {
	padding-right: 16px !important;
}

#shoptimizerCartDrawer .widget_shopping_cart .product_list_widget,
#shoptimizerCartDrawer .woocommerce-mini-cart.cart_list,
.shoptimizer-mini-cart-wrap .widget_shopping_cart .product_list_widget,
.shoptimizer-mini-cart-wrap .woocommerce-mini-cart.cart_list {
	padding-right: 0 !important;
}

#shoptimizerCartDrawer .product_list_widget img,
.shoptimizer-mini-cart-wrap .product_list_widget img {
	float: left !important;
	margin-left: 0 !important;
	margin-right: 12px !important;
	margin-bottom: 0 !important;
	max-width: 55px !important;
	width: 55px !important;
	height: auto !important;
}

/* PDP-style SKU under title (mini-cart, cart, checkout). */
.bi-cart-sku,
.woocommerce-mini-cart-item .bi-cart-sku,
.cart_item .bi-cart-sku,
.woocommerce-checkout-review-order-table .bi-cart-sku {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 12px !important;
	font-weight: 400 !important;
	line-height: 1.35 !important;
	color: #6b7280 !important;
}
.bi-cart-sku .sku-value {
	font-weight: 500 !important;
	color: #374151 !important;
}

/*
 * Reclaim theme padding-left:35px (was for absolute remove on the left).
 * Remove now lives in .bi-mini-cart-qty-row — give that gutter to the title,
 * keep a small right inset so text/image aren't flush to the widget edge.
 */
#shoptimizerCartDrawer .widget_shopping_cart li.mini_cart_item,
#shoptimizerCartDrawer .woocommerce-mini-cart-item.mini_cart_item,
.shoptimizer-mini-cart-wrap .widget_shopping_cart li.mini_cart_item,
.shoptimizer-mini-cart-wrap .woocommerce-mini-cart-item.mini_cart_item,
.widget_shopping_cart li.mini_cart_item {
	padding-left: 0 !important;
	padding-right: 10px !important;
	box-sizing: border-box !important;
}

/* ---------------------------------------------------------------------------
   Mini-cart remove — same 34px hit target as qty − / +, trash icon restored.
   --------------------------------------------------------------------------- */

#shoptimizerCartDrawer .bi-mini-cart-qty-row,
.shoptimizer-mini-cart-wrap .bi-mini-cart-qty-row,
.widget_shopping_cart .bi-mini-cart-qty-row {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 8px !important;
	width: 100% !important;
	margin: 4px 0 0 !important;
	padding: 0 0 0 69px !important; /* under title col (55 thumb + 14 gap) */
	box-sizing: border-box !important;
}

/*
 * Last resort when a wide amount still can't clear the qty pill on a very
 * narrow drawer (see fitPriceRows() in bi-qty-stepper.php): give up the
 * decorative title-column alignment and let the control row run full width.
 */
#shoptimizerCartDrawer .bi-mini-cart-qty-row.bi-mini-cart-qty-row--flush,
.shoptimizer-mini-cart-wrap .bi-mini-cart-qty-row.bi-mini-cart-qty-row--flush,
.widget_shopping_cart .bi-mini-cart-qty-row.bi-mini-cart-qty-row--flush {
	padding-left: 0 !important;
}

#shoptimizerCartDrawer .bi-mini-cart-qty-row .bi-mini-cart-price,
.shoptimizer-mini-cart-wrap .bi-mini-cart-qty-row .bi-mini-cart-price,
.widget_shopping_cart .bi-mini-cart-qty-row .bi-mini-cart-price {
	order: 1 !important;
	flex: 1 1 auto !important;
	min-width: 0 !important;
	align-self: center !important;
}

#shoptimizerCartDrawer .bi-mini-cart-qty-row .shoptimizer-custom-quantity-mini-cart_container,
.shoptimizer-mini-cart-wrap .bi-mini-cart-qty-row .shoptimizer-custom-quantity-mini-cart_container,
.widget_shopping_cart .bi-mini-cart-qty-row .shoptimizer-custom-quantity-mini-cart_container {
	order: 2 !important;
	display: flex !important;
	align-items: center !important;
	margin: 0 !important;
	padding: 0 !important;
	flex: 0 0 auto !important;
	width: auto !important;
	max-width: none !important;
	height: 36px !important;
	min-height: 36px !important;
	line-height: 0 !important;
}

#shoptimizerCartDrawer .bi-mini-cart-qty-row .shoptimizer-custom-quantity-mini-cart,
.shoptimizer-mini-cart-wrap .bi-mini-cart-qty-row .shoptimizer-custom-quantity-mini-cart,
.widget_shopping_cart .bi-mini-cart-qty-row .shoptimizer-custom-quantity-mini-cart {
	margin: 0 !important;
	height: 36px !important;
}

#shoptimizerCartDrawer .bi-mini-cart-qty-row a.remove,
#shoptimizerCartDrawer .bi-mini-cart-qty-row a.remove_from_cart_button,
.shoptimizer-mini-cart-wrap .bi-mini-cart-qty-row a.remove,
.shoptimizer-mini-cart-wrap .bi-mini-cart-qty-row a.remove_from_cart_button,
.widget_shopping_cart .bi-mini-cart-qty-row a.remove,
.widget_shopping_cart .bi-mini-cart-qty-row a.remove_from_cart_button {
	order: 3 !important;
	position: static !important;
	top: auto !important;
	right: auto !important;
	left: auto !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	align-self: center !important;
	flex: 0 0 36px !important;
	width: 36px !important;
	min-width: 36px !important;
	max-width: 36px !important;
	height: 36px !important;
	min-height: 36px !important;
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 999px !important;
	border: 1.5px solid #d8dde3 !important;
	background: #fff !important;
	box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04) !important;
	color: transparent !important;
	font-size: 0 !important;
	line-height: 0 !important;
	text-decoration: none !important;
	text-indent: 0 !important;
	box-sizing: border-box !important;
	float: none !important;
	overflow: hidden !important;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}

#shoptimizerCartDrawer .bi-mini-cart-qty-row a.remove:hover,
#shoptimizerCartDrawer .bi-mini-cart-qty-row a.remove_from_cart_button:hover,
.shoptimizer-mini-cart-wrap .bi-mini-cart-qty-row a.remove:hover,
.shoptimizer-mini-cart-wrap .bi-mini-cart-qty-row a.remove_from_cart_button:hover,
.widget_shopping_cart .bi-mini-cart-qty-row a.remove:hover,
.widget_shopping_cart .bi-mini-cart-qty-row a.remove_from_cart_button:hover {
	background: #f3f6f8 !important;
	border-color: #c5ccd4 !important;
}

#shoptimizerCartDrawer .bi-mini-cart-qty-row a.remove:focus-visible,
#shoptimizerCartDrawer .bi-mini-cart-qty-row a.remove_from_cart_button:focus-visible,
.shoptimizer-mini-cart-wrap .bi-mini-cart-qty-row a.remove:focus-visible,
.shoptimizer-mini-cart-wrap .bi-mini-cart-qty-row a.remove_from_cart_button:focus-visible,
.widget_shopping_cart .bi-mini-cart-qty-row a.remove:focus-visible,
.widget_shopping_cart .bi-mini-cart-qty-row a.remove_from_cart_button:focus-visible {
	outline: 2px solid #2491ff;
	outline-offset: 2px;
}

/* Restore Shoptimizer trash icon (was killed for a plain × glyph). */
#shoptimizerCartDrawer .bi-mini-cart-qty-row a.remove::before,
#shoptimizerCartDrawer .bi-mini-cart-qty-row a.remove_from_cart_button::before,
.shoptimizer-mini-cart-wrap .bi-mini-cart-qty-row a.remove::before,
.shoptimizer-mini-cart-wrap .bi-mini-cart-qty-row a.remove_from_cart_button::before,
.widget_shopping_cart .bi-mini-cart-qty-row a.remove::before,
.widget_shopping_cart .bi-mini-cart-qty-row a.remove_from_cart_button::before {
	content: "" !important;
	display: block !important;
	width: 16px !important;
	height: 16px !important;
	margin: 0 !important;
	padding: 0 !important;
	background-color: #6b7280 !important;
	background-image: none !important;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3 6 5 6 21 6'%3E%3C/polyline%3E%3Cpath d='M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'%3E%3C/path%3E%3Cline x1='10' y1='11' x2='10' y2='17'%3E%3C/line%3E%3Cline x1='14' y1='11' x2='14' y2='17'%3E%3C/line%3E%3C/svg%3E") !important;
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3 6 5 6 21 6'%3E%3C/polyline%3E%3Cpath d='M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'%3E%3C/path%3E%3Cline x1='10' y1='11' x2='10' y2='17'%3E%3C/line%3E%3Cline x1='14' y1='11' x2='14' y2='17'%3E%3C/line%3E%3C/svg%3E") !important;
	-webkit-mask-size: contain !important;
	mask-size: contain !important;
	-webkit-mask-repeat: no-repeat !important;
	mask-repeat: no-repeat !important;
	-webkit-mask-position: center !important;
	mask-position: center !important;
}

#shoptimizerCartDrawer .bi-mini-cart-qty-row a.remove:hover::before,
#shoptimizerCartDrawer .bi-mini-cart-qty-row a.remove_from_cart_button:hover::before,
.shoptimizer-mini-cart-wrap .bi-mini-cart-qty-row a.remove:hover::before,
.shoptimizer-mini-cart-wrap .bi-mini-cart-qty-row a.remove_from_cart_button:hover::before,
.widget_shopping_cart .bi-mini-cart-qty-row a.remove:hover::before,
.widget_shopping_cart .bi-mini-cart-qty-row a.remove_from_cart_button:hover::before {
	background-color: #111 !important;
}

/* ---------------------------------------------------------------------------
   Mini-cart: thumb | title+SKU column (flex). SKU stays left-aligned with
   the title — never full-bleed under the thumbnail after a long wrap.
   Price lives in the qty row.
   --------------------------------------------------------------------------- */

#shoptimizerCartDrawer li.mini_cart_item > a:not(.remove):not(.remove_from_cart_button),
.shoptimizer-mini-cart-wrap li.mini_cart_item > a:not(.remove):not(.remove_from_cart_button),
.widget_shopping_cart li.mini_cart_item > a:not(.remove):not(.remove_from_cart_button) {
	display: flex !important;
	flex-direction: row !important;
	align-items: flex-start !important;
	gap: 14px !important;
	overflow: visible !important;
}

#shoptimizerCartDrawer li.mini_cart_item > a img,
.shoptimizer-mini-cart-wrap li.mini_cart_item > a img,
.widget_shopping_cart li.mini_cart_item > a img {
	float: none !important;
	display: block !important;
	margin: 0 !important;
	max-width: 55px !important;
	width: 55px !important;
	flex: 0 0 55px !important;
	height: auto !important;
}

#shoptimizerCartDrawer .bi-mini-cart-copy,
.shoptimizer-mini-cart-wrap .bi-mini-cart-copy,
.widget_shopping_cart .bi-mini-cart-copy {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	flex: 1 1 auto !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

#shoptimizerCartDrawer .bi-mini-cart-title,
#shoptimizerCartDrawer .bi-cart-sku,
.shoptimizer-mini-cart-wrap .bi-mini-cart-title,
.shoptimizer-mini-cart-wrap .bi-cart-sku,
.widget_shopping_cart .bi-mini-cart-title,
.widget_shopping_cart .bi-cart-sku {
	display: block !important;
	overflow: hidden !important;
	min-width: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	line-height: 1.35 !important;
}

#shoptimizerCartDrawer .bi-cart-sku,
.shoptimizer-mini-cart-wrap .bi-cart-sku,
.widget_shopping_cart .bi-cart-sku {
	margin-top: 2px !important;
}

#shoptimizerCartDrawer .bi-mini-cart-title,
.shoptimizer-mini-cart-wrap .bi-mini-cart-title,
.widget_shopping_cart .bi-mini-cart-title {
	font-weight: inherit !important;
}

#shoptimizerCartDrawer .bi-mini-cart-qty-row .bi-mini-cart-price,
.shoptimizer-mini-cart-wrap .bi-mini-cart-qty-row .bi-mini-cart-price,
.widget_shopping_cart .bi-mini-cart-qty-row .bi-mini-cart-price {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: baseline !important;
	gap: 4px !important;
	flex: 1 1 auto !important;
	min-width: 0 !important;
	margin: 0 auto 0 0 !important;
	padding: 0 !important;
	width: auto !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	float: none !important;
	clear: none !important;
}

#shoptimizerCartDrawer .bi-mini-cart-price .woocommerce-Price-amount,
#shoptimizerCartDrawer .bi-mini-cart-price .amount,
.shoptimizer-mini-cart-wrap .bi-mini-cart-price .woocommerce-Price-amount,
.widget_shopping_cart .bi-mini-cart-price .woocommerce-Price-amount {
	display: inline !important;
	float: none !important;
	margin: 0 !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
}

#shoptimizerCartDrawer .bi-mini-cart-price .price-suffix,
.shoptimizer-mini-cart-wrap .bi-mini-cart-price .price-suffix,
.widget_shopping_cart .bi-mini-cart-price .price-suffix {
	display: inline !important;
	margin: 0 !important;
	line-height: 1.25 !important;
	position: static !important;
	top: auto !important;
	color: #777 !important;
	font-weight: 400 !important;
	font-size: 12px !important;
	white-space: nowrap !important;
}

/*
 * Fallback: if JS hasn’t moved price into the title grid yet, indent past the
 * 55px thumb + 14px gap so A$ never sits under the photo.
 */
#shoptimizerCartDrawer li.mini_cart_item > .quantity,
#shoptimizerCartDrawer li.mini_cart_item > .woocommerce-Price-amount,
#shoptimizerCartDrawer li.mini_cart_item > .amount,
#shoptimizerCartDrawer li.mini_cart_item > .price-suffix,
.shoptimizer-mini-cart-wrap li.mini_cart_item > .quantity,
.shoptimizer-mini-cart-wrap li.mini_cart_item > .woocommerce-Price-amount,
.widget_shopping_cart li.mini_cart_item > .quantity,
.widget_shopping_cart li.mini_cart_item > .woocommerce-Price-amount {
	display: block !important;
	float: none !important;
	clear: both !important;
	margin-left: 69px !important; /* 55 thumb + 14 gap */
	margin-top: 4px !important;
	padding-left: 0 !important;
	width: auto !important;
	max-width: calc(100% - 69px) !important;
	box-sizing: border-box !important;
}

/* ---------------------------------------------------------------------------
   Phones (theme makes the drawer full-bleed at <= 480px): drop the widget's
   right padding so the cart list's own scrollbar sits at the viewport edge,
   alongside the page scrollbar instead of floating 16px inboard. Left padding
   is untouched. The footer (total / buttons / promo) keeps the old inset so
   the checkout button doesn't go asymmetric.
   --------------------------------------------------------------------------- */

@media (max-width: 480px) {
	#shoptimizerCartDrawer .widget_shopping_cart,
	.shoptimizer-mini-cart-wrap .widget_shopping_cart {
		padding-right: 0 !important;
	}

	#shoptimizerCartDrawer .widget_shopping_cart p.total,
	#shoptimizerCartDrawer .widget_shopping_cart p.buttons,
	#shoptimizerCartDrawer .widget_shopping_cart .woocommerce-mini-cart__total,
	#shoptimizerCartDrawer .widget_shopping_cart .woocommerce-mini-cart__buttons,
	#shoptimizerCartDrawer .widget_shopping_cart .woocommerce-mini-cart__empty-message,
	#shoptimizerCartDrawer .cart-drawer-below,
	.shoptimizer-mini-cart-wrap .widget_shopping_cart p.total,
	.shoptimizer-mini-cart-wrap .widget_shopping_cart p.buttons,
	.shoptimizer-mini-cart-wrap .widget_shopping_cart .woocommerce-mini-cart__total,
	.shoptimizer-mini-cart-wrap .widget_shopping_cart .woocommerce-mini-cart__buttons,
	.shoptimizer-mini-cart-wrap .widget_shopping_cart .woocommerce-mini-cart__empty-message,
	.shoptimizer-mini-cart-wrap .cart-drawer-below {
		padding-right: 16px !important;
		box-sizing: border-box !important;
	}
}
