/*
 * Toby Commerce cart polish.
 * Loaded after the historical commerce-flow bundle so these compact fixes
 * remain authoritative across desktop, tablet, and mobile breakpoints.
 */

/* Cart titles do not need the catalog description. Keep selected variation
 * attributes and all native row controls; never delete React-owned nodes. */
.toby-modern-cart .wc-block-cart-items__row .wc-block-components-product-metadata__description {
	display: none !important;
}

/* First paint uses the same columns as the enhanced cart, not a full-width
 * summary followed by a grid switch. These rules stop applying at handoff. */
.toby-modern-cart .wp-block-woocommerce-filled-cart-block:not(.toby-cart-layout-ready) {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 390px !important;
	align-items: start !important;
	gap: 24px !important;
	margin-top: 0 !important;
}
.toby-modern-cart .wp-block-woocommerce-filled-cart-block:not(.toby-cart-layout-ready) > .wp-block-woocommerce-cart-items-block {
	grid-column: 1;
	min-width: 0;
	width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
}
.toby-modern-cart .wp-block-woocommerce-filled-cart-block:not(.toby-cart-layout-ready) > .wp-block-woocommerce-cart-totals-block {
	grid-column: 2;
	min-width: 0;
	width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
}
/* Theme-owned offers are printed before the Block and moved into its sidebar.
 * Don't paint that temporary full-width position. No React-owned node moves. */
.toby-modern-cart .toby-entry-content:has(.wp-block-woocommerce-filled-cart-block:not(.toby-cart-layout-ready)) > .toby-cart-offers {
	display: none;
}
.toby-modern-cart .wp-block-woocommerce-cart:has(.toby-cart-initial-items) .wp-block-woocommerce-cart-line-items-block {
	visibility: visible !important;
	opacity: 1 !important;
	background: none !important;
	animation: none !important;
}
.toby-modern-cart .wp-block-woocommerce-cart-line-items-block:has(.toby-cart-initial-items)::before,
.toby-modern-cart .wp-block-woocommerce-cart-line-items-block:has(.toby-cart-initial-items)::after { content: none !important; }
/* Real initial rows share the native card selectors, image frames and type.
 * Only the read-only quantity needs a rule before native controls mount. */
.toby-cart-initial-quantity {
	display: flex; align-items: center; justify-content: space-around;
	box-sizing: border-box; width: 124px; height: 44px;
	margin: 0; border: 1px solid #dce1e9; border-radius: 12px;
	background: #fff; font-size: 16px; color: #6b7280;
}
.toby-cart-initial-quantity strong { color: #18202e; }
@media (max-width: 680px) {
	.toby-cart-initial-quantity { width: 108px; height: 42px; border-radius: 11px; }
}
@media (max-width: 1100px) {
	.toby-modern-cart .wp-block-woocommerce-filled-cart-block:not(.toby-cart-layout-ready) { display: flex !important; flex-direction: column; }
	.toby-modern-cart .wp-block-woocommerce-filled-cart-block:not(.toby-cart-layout-ready) > .wp-block-woocommerce-cart-items-block { order: 1; }
	.toby-modern-cart .wp-block-woocommerce-filled-cart-block:not(.toby-cart-layout-ready) > .wp-block-woocommerce-cart-totals-block { order: 4; }
}
/* The existing tablet composition is stacked through 1100px; reset native
 * percentage widths in the 1025–1100 interval as well as the mobile interval. */
@media (min-width: 1025px) and (max-width: 1100px) {
	.toby-modern-cart .wp-block-woocommerce-filled-cart-block:not(.toby-cart-layout-ready) { gap: 16px !important; }
	.toby-modern-cart .wc-block-cart.toby-cart-layout-ready > .wc-block-cart__main,
	.toby-modern-cart .wc-block-cart.toby-cart-layout-ready > .wc-block-cart__sidebar { width: 100% !important; max-width: 100% !important; }
}
@media (max-width: 680px) {
	.toby-modern-cart .wp-block-woocommerce-filled-cart-block:not(.toby-cart-layout-ready) { margin-top: 14px !important; }
	.toby-modern-cart table.wc-block-cart-items .toby-cart-initial-item > .wc-block-cart-item__total {
		display: block !important;
		grid-column: 2 !important;
		grid-row: 2 !important;
	}
}

.toby-modern-cart .wc-block-cart.toby-cart-layout-ready,
.toby-modern-cart .woocommerce.toby-cart-layout-ready,
.toby-modern-cart .toby-entry-content > .woocommerce.toby-cart-layout-ready {
	margin-top: clamp(20px, 2vw, 28px) !important;
	align-items: start !important;
}

.toby-modern-cart .toby-cart-layout-ready > .toby-cart-left-column,
.toby-modern-cart .toby-cart-layout-ready > .toby-cart-right-column,
.toby-modern-cart .toby-cart-left-column > .wc-block-cart__main,
.toby-modern-cart .toby-cart-right-column > .wc-block-cart__sidebar {
	align-self: start !important;
	margin-top: 0 !important;
	padding-top: 0 !important;
}

.toby-modern-cart .toby-cart-left-column table.wc-block-cart-items,
.toby-modern-cart .toby-cart-left-column .wc-block-cart-items,
.toby-modern-cart .toby-cart-right-column .toby-cart-summary-card {
	position: static !important;
	top: auto !important;
	margin-top: 0 !important;
}

.toby-modern-cart table.wc-block-cart-items,
.toby-modern-cart table.wc-block-cart-items tbody {
	display: block !important;
	border: 0 !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
}

.toby-modern-cart .wc-block-cart-items__row {
	isolation: isolate !important;
	border: 1px solid #dfe5ee !important;
	border-radius: 20px !important;
	background: #fff !important;
	overflow: hidden !important;
}

.toby-modern-cart .wc-block-cart-items__row::before,
.toby-modern-cart .wc-block-cart-items__row::after {
	content: none !important;
	display: none !important;
	border: 0 !important;
	box-shadow: none !important;
}

.toby-modern-cart .wc-block-cart-items__row > td {
	border: 0 !important;
	border-block: 0 !important;
	border-inline: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
}

.toby-modern-cart .wc-block-cart-items__row > td::before,
.toby-modern-cart .wc-block-cart-items__row > td::after {
	content: none !important;
	display: none !important;
	border: 0 !important;
	box-shadow: none !important;
}

/* Keep the real cart rows mounted during refreshes instead of showing a
	second, guessed loader layout before WooCommerce paints the final rows. */
.toby-modern-cart .toby-cart-lines-loader {
	display: none !important;
}

.toby-modern-cart .wc-block-cart__main.is-toby-cart-lines-loading .wc-block-cart-items,
.toby-modern-cart .wc-block-cart__main.is-toby-cart-lines-loading table.wc-block-cart-items,
.toby-modern-cart .wc-block-cart__main.is-toby-cart-lines-updating .wc-block-cart-items,
.toby-modern-cart .wc-block-cart__main.is-toby-cart-lines-updating table.wc-block-cart-items {
	display: block !important;
	opacity: 1 !important;
	visibility: visible !important;
}

.toby-modern-cart .wc-block-cart__main.is-toby-cart-lines-updating {
	position: relative !important;
}

.toby-modern-cart .toby-cart-recommendations__rail-shell > [data-toby-recommendations-prev],
.toby-modern-cart .toby-cart-recommendations__rail-shell > [data-toby-recommendations-next] {
	direction: ltr !important;
	font-size: 0 !important;
	line-height: 0 !important;
}

.toby-modern-cart .toby-cart-recommendations__rail-shell > [data-toby-recommendations-prev] svg,
.toby-modern-cart .toby-cart-recommendations__rail-shell > [data-toby-recommendations-next] svg {
	display: block !important;
	width: 18px !important;
	height: 18px !important;
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 2 !important;
	stroke-linecap: round !important;
	stroke-linejoin: round !important;
	transform: none !important;
}

@media (max-width: 680px) {
	.toby-modern-cart .wc-block-cart.toby-cart-layout-ready,
	.toby-modern-cart .woocommerce.toby-cart-layout-ready,
	.toby-modern-cart .toby-entry-content > .woocommerce.toby-cart-layout-ready {
		margin-top: 14px !important;
	}
}

/* v1.24.54: use the native Related Products card system and one-piece stepper. */
.toby-modern-cart .toby-cart-recommendations .toby-product-card {
	overflow: hidden !important;
	border: 1px solid var(--toby-card-border, #dce3ec) !important;
	border-radius: var(--toby-card-radius, 12px) !important;
	background: var(--toby-card-bg, #fff) !important;
	box-shadow: none !important;
}

.toby-modern-cart .toby-cart-recommendations .toby-product-card__media {
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	aspect-ratio: 1 / 1 !important;
	overflow: hidden !important;
	border: 0 !important;
	border-radius: calc(var(--toby-card-radius, 12px) - 1px) calc(var(--toby-card-radius, 12px) - 1px) 0 0 !important;
	background: var(--toby-card-media, #f7f7f8) !important;
	box-shadow: none !important;
}

.toby-modern-cart .toby-cart-recommendations .toby-product-card__media > a,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__media picture,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__image-link,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__media img,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__image-link img,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__image {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: contain !important;
	object-position: center !important;
	overflow: hidden !important;
	border: 0 !important;
	border-radius: 0 !important;
	outline: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.toby-modern-cart .toby-cart-recommendations .toby-product-card__body {
	min-height: 178px !important;
	padding: 14px 16px 16px !important;
	background: var(--toby-card-bg, #fff) !important;
}

.toby-modern-cart .toby-cart-recommendations ul.products li.product .toby-product-card .woocommerce-loop-product__title {
	font-size: 15px !important;
	line-height: 1.38 !important;
}

.toby-modern-cart .toby-cart-recommendations ul.products li.product .toby-product-card__pricing .price,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__current-price {
	font-size: 20px !important;
}

.toby-modern-cart .wc-block-components-quantity-selector {
	display: grid !important;
	grid-template-columns: 44px minmax(64px, 1fr) 44px !important;
	box-sizing: border-box !important;
	width: 154px !important;
	height: 46px !important;
	margin-top: 14px !important;
	padding: 0 !important;
	gap: 0 !important;
	overflow: hidden !important;
	border: 1px solid #d8e0ea !important;
	border-radius: 14px !important;
	background: #fff !important;
	box-shadow: 0 4px 12px rgba(15, 23, 42, .035) !important;
}

.toby-modern-cart .wc-block-components-quantity-selector::after {
	display: none !important;
	content: none !important;
}

.toby-modern-cart .wc-block-components-quantity-selector > button,
.toby-modern-cart .wc-block-components-quantity-selector > input,
.toby-modern-cart .wc-block-components-quantity-selector__button,
.toby-modern-cart .wc-block-components-quantity-selector__input {
	box-sizing: border-box !important;
	width: 100% !important;
	height: 44px !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	border: 0 !important;
	border-inline: 0 !important;
	border-block: 0 !important;
	border-radius: 0 !important;
	outline-offset: -3px !important;
	background: #fff !important;
	background-image: none !important;
	box-shadow: none !important;
	font-size: 15px !important;
	font-weight: 800 !important;
}

.toby-modern-cart .wc-block-components-quantity-selector > button:not([aria-disabled="true"]):hover,
.toby-modern-cart .wc-block-components-quantity-selector > button:not([aria-disabled="true"]):focus-visible {
	background: #f1f5f9 !important;
}

@media (max-width: 680px) {
	.toby-modern-cart .toby-cart-recommendations .toby-product-card__body {
		min-height: 158px !important;
		padding: 10px 11px 12px !important;
	}

	.toby-modern-cart .toby-cart-recommendations ul.products li.product .toby-product-card .woocommerce-loop-product__title {
		font-size: 12px !important;
	}

	.toby-modern-cart .toby-cart-recommendations ul.products li.product .toby-product-card__pricing .price,
	.toby-modern-cart .toby-cart-recommendations .toby-product-card__current-price {
		font-size: 16px !important;
	}

	.toby-modern-cart .wc-block-components-quantity-selector {
		grid-template-columns: 40px minmax(56px, 1fr) 40px !important;
		width: 138px !important;
		height: 44px !important;
		margin-top: 10px !important;
		border-radius: 13px !important;
	}

	.toby-modern-cart .wc-block-components-quantity-selector > button,
	.toby-modern-cart .wc-block-components-quantity-selector > input,
	.toby-modern-cart .wc-block-components-quantity-selector__button,
	.toby-modern-cart .wc-block-components-quantity-selector__input {
		height: 42px !important;
	}
}

/* v1.24.55 final cascade: reference stepper and full-column hit targets. */
.toby-modern-cart .wc-block-components-quantity-selector {
	display: grid !important;
	grid-template-columns: 44px 48px 44px !important;
	box-sizing: border-box !important;
	width: 136px !important;
	height: 56px !important;
	margin-top: 14px !important;
	padding: 0 !important;
	gap: 0 !important;
	overflow: hidden !important;
	border: 1px solid #dfe3e8 !important;
	border-radius: 11px !important;
	background: #fff !important;
	box-shadow: 0 1px 2px rgba(15, 23, 42, .025) !important;
}

.toby-modern-cart .wc-block-components-quantity-selector::before,
.toby-modern-cart .wc-block-components-quantity-selector::after {
	display: none !important;
	content: none !important;
}

.toby-modern-cart .wc-block-components-quantity-selector > button,
.toby-modern-cart .wc-block-components-quantity-selector > input,
.toby-modern-cart .wc-block-components-quantity-selector__button,
.toby-modern-cart .wc-block-components-quantity-selector__input {
	position: relative !important;
	z-index: 1 !important;
	box-sizing: border-box !important;
	width: 100% !important;
	height: 54px !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	border: 0 !important;
	border-color: transparent !important;
	border-radius: 0 !important;
	outline-offset: -3px !important;
	background: #fff !important;
	background-image: none !important;
	box-shadow: none !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	touch-action: manipulation !important;
}

.toby-modern-cart .wc-block-components-quantity-selector > button {
	cursor: pointer !important;
}

.toby-modern-cart .wc-block-components-quantity-selector > input::before,
.toby-modern-cart .wc-block-components-quantity-selector > input::after,
.toby-modern-cart .wc-block-components-quantity-selector__input::before,
.toby-modern-cart .wc-block-components-quantity-selector__input::after {
	display: none !important;
	content: none !important;
}

.toby-modern-cart .wc-block-components-quantity-selector > button svg,
.toby-modern-cart .wc-block-components-quantity-selector > button svg * {
	pointer-events: none !important;
}

.toby-modern-cart .wc-block-components-quantity-selector > button:not([aria-disabled="true"]):hover,
.toby-modern-cart .wc-block-components-quantity-selector > button:not([aria-disabled="true"]):focus-visible {
	background: #f7f8fa !important;
}

@media (max-width: 680px) {
	.toby-modern-cart .wc-block-components-quantity-selector {
		grid-template-columns: 42px 46px 42px !important;
		width: 130px !important;
		height: 52px !important;
		margin-top: 10px !important;
		border-radius: 10px !important;
	}

	.toby-modern-cart .wc-block-components-quantity-selector > button,
	.toby-modern-cart .wc-block-components-quantity-selector > input,
	.toby-modern-cart .wc-block-components-quantity-selector__button,
	.toby-modern-cart .wc-block-components-quantity-selector__input {
		height: 50px !important;
	}
}

/* Keep the final (or only) cart line visually identical to every other line.
 * WooCommerce's table rules target :last-child with more specificity than the
 * generic cell reset above, which previously exposed horizontal cell borders. */
.toby-modern-cart table.wc-block-cart-items tbody > tr.wc-block-cart-items__row > td,
.toby-modern-cart table.wc-block-cart-items tbody > tr.wc-block-cart-items__row:last-child > td,
.toby-modern-cart table.wc-block-cart-items tbody > tr.wc-block-cart-items__row:only-child > td,
.toby-modern-cart table.wc-block-cart-items tbody > tr.wc-block-cart-items__row > td.wc-block-cart-item__image,
.toby-modern-cart table.wc-block-cart-items tbody > tr.wc-block-cart-items__row:last-child > td.wc-block-cart-item__image,
.toby-modern-cart table.wc-block-cart-items tbody > tr.wc-block-cart-items__row:only-child > td.wc-block-cart-item__image,
.toby-modern-cart table.wc-block-cart-items tbody > tr.wc-block-cart-items__row > td.wc-block-cart-item__product,
.toby-modern-cart table.wc-block-cart-items tbody > tr.wc-block-cart-items__row:last-child > td.wc-block-cart-item__product,
.toby-modern-cart table.wc-block-cart-items tbody > tr.wc-block-cart-items__row:only-child > td.wc-block-cart-item__product,
.toby-modern-cart table.wc-block-cart-items tbody > tr.wc-block-cart-items__row > td.wc-block-cart-item__total,
.toby-modern-cart table.wc-block-cart-items tbody > tr.wc-block-cart-items__row:last-child > td.wc-block-cart-item__total,
.toby-modern-cart table.wc-block-cart-items tbody > tr.wc-block-cart-items__row:only-child > td.wc-block-cart-item__total {
	border: 0 !important;
	border-block: 0 !important;
	border-inline: 0 !important;
	outline: 0 !important;
	background-image: none !important;
	box-shadow: none !important;
}

.toby-modern-cart table.wc-block-cart-items tbody > tr.wc-block-cart-items__row > td::before,
.toby-modern-cart table.wc-block-cart-items tbody > tr.wc-block-cart-items__row > td::after,
.toby-modern-cart table.wc-block-cart-items tbody > tr.wc-block-cart-items__row:last-child > td::before,
.toby-modern-cart table.wc-block-cart-items tbody > tr.wc-block-cart-items__row:last-child > td::after,
.toby-modern-cart table.wc-block-cart-items tbody > tr.wc-block-cart-items__row:only-child > td::before,
.toby-modern-cart table.wc-block-cart-items tbody > tr.wc-block-cart-items__row:only-child > td::after {
	content: none !important;
	display: none !important;
	border: 0 !important;
	box-shadow: none !important;
}

/* Both desktop columns must begin on the same grid line.  This also overrides
 * an older negative table margin that pulled the product column into the menu. */
@media (min-width: 681px) {
	.toby-modern-cart .toby-cart-left-column > .wc-block-cart__main table.wc-block-cart-items,
	.toby-modern-cart .wc-block-cart.toby-cart-layout-ready > .wc-block-cart__main table.wc-block-cart-items {
		margin-top: 0 !important;
	}
}

@media (min-width: 1101px) {
	.toby-modern-cart .toby-cart-layout-ready > .toby-cart-left-column,
	.toby-modern-cart .toby-cart-layout-ready > .toby-cart-right-column {
		grid-row: 1 !important;
		align-self: start !important;
		margin-block-start: 0 !important;
		padding-block-start: 0 !important;
		transform: none !important;
	}

	.toby-modern-cart .toby-cart-left-column > :first-child,
	.toby-modern-cart .toby-cart-right-column > :first-child {
		margin-block-start: 0 !important;
	}
}

/* Product media is a frame; only the image receives object-fit.  Separating
 * those responsibilities prevents tall or wide source photos from cropping. */
.toby-modern-cart table.wc-block-cart-items .wc-block-cart-item__image {
	overflow: hidden !important;
	border-radius: 16px !important;
	background: #f7f8fa !important;
}

.toby-modern-cart table.wc-block-cart-items .wc-block-cart-item__image > a {
	display: grid !important;
	place-items: center !important;
	width: 100% !important;
	height: 150px !important;
	padding: 10px !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
	border-radius: 16px !important;
	background: #f7f8fa !important;
}

.toby-modern-cart table.wc-block-cart-items .wc-block-cart-item__image img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
	border-radius: 12px !important;
	background: transparent !important;
	object-fit: contain !important;
	object-position: center !important;
}

.toby-modern-cart .toby-cart-recommendations .toby-product-card {
	overflow: hidden !important;
	background: #fff !important;
}

.toby-modern-cart .toby-cart-recommendations .toby-product-card__media {
	display: grid !important;
	place-items: center !important;
	width: 100% !important;
	aspect-ratio: 1 / 1.03 !important;
	padding: 10px !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
	border-radius: 14px 14px 0 0 !important;
	background: #f5f6f8 !important;
}

.toby-modern-cart .toby-cart-recommendations .toby-product-card__media > a,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__media picture {
	display: grid !important;
	place-items: center !important;
	width: 100% !important;
	height: 100% !important;
	overflow: hidden !important;
}

.toby-modern-cart .toby-cart-recommendations .toby-product-card__media img,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__image {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	object-fit: contain !important;
	object-position: center !important;
}

@media (max-width: 1280px) {
	.toby-modern-cart table.wc-block-cart-items .wc-block-cart-item__image > a {
		height: 126px !important;
	}
}

@media (max-width: 680px) {
	.toby-modern-cart table.wc-block-cart-items .wc-block-cart-item__image > a {
		height: 108px !important;
		padding: 7px !important;
	}

	.toby-modern-cart .toby-cart-recommendations .toby-product-card__media {
		padding: 7px !important;
	}
}

@media (max-width: 420px) {
	.toby-modern-cart table.wc-block-cart-items .wc-block-cart-item__image > a {
		height: 92px !important;
	}
}

/* Final row-surface authority. WooCommerce Blocks and earlier cart layers can
 * attach dividers to individual grid cells. Keep the card outline on the row
 * only, otherwise the final (or sole) line item exposes disconnected rules. */
.toby-modern-cart table.wc-block-cart-items tbody > tr.wc-block-cart-items__row,
.toby-modern-cart table.wc-block-cart-items tbody > tr.wc-block-cart-items__row:last-child,
.toby-modern-cart table.wc-block-cart-items tbody > tr.wc-block-cart-items__row:only-child {
	border: 1px solid #dfe5ee !important;
	border-radius: 20px !important;
	background: #fff !important;
	background-image: none !important;
	box-shadow: 0 10px 28px rgba(24, 36, 58, 0.045) !important;
	overflow: hidden !important;
}

.toby-modern-cart table.wc-block-cart-items tbody > tr.wc-block-cart-items__row > td,
.toby-modern-cart table.wc-block-cart-items tbody > tr.wc-block-cart-items__row > .wc-block-cart-item__image,
.toby-modern-cart table.wc-block-cart-items tbody > tr.wc-block-cart-items__row > .wc-block-cart-item__product,
.toby-modern-cart table.wc-block-cart-items tbody > tr.wc-block-cart-items__row > .wc-block-cart-item__total,
.toby-modern-cart table.wc-block-cart-items tbody > tr.wc-block-cart-items__row > .toby-cart-item__actions-cell,
.toby-modern-cart table.wc-block-cart-items .toby-cart-price-content,
.toby-modern-cart table.wc-block-cart-items .toby-cart-item-actions,
.toby-modern-cart table.wc-block-cart-items .toby-cart-item__actions-cell {
	border: 0 !important;
	border-image: none !important;
	outline: 0 !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
}

.toby-modern-cart table.wc-block-cart-items tbody > tr.wc-block-cart-items__row > td::before,
.toby-modern-cart table.wc-block-cart-items tbody > tr.wc-block-cart-items__row > td::after,
.toby-modern-cart table.wc-block-cart-items .toby-cart-price-content::before,
.toby-modern-cart table.wc-block-cart-items .toby-cart-price-content::after,
.toby-modern-cart table.wc-block-cart-items .toby-cart-item-actions::before,
.toby-modern-cart table.wc-block-cart-items .toby-cart-item-actions::after,
.toby-modern-cart table.wc-block-cart-items .toby-cart-item__actions-cell::before,
.toby-modern-cart table.wc-block-cart-items .toby-cart-item__actions-cell::after {
	content: none !important;
	display: none !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
}

/* Both primary columns begin on the same grid line, independent of sticky
 * sidebar rules or inherited block margins. */
@media (min-width: 1101px) {
	.toby-modern-cart .toby-cart-layout-ready {
		padding-top: 0 !important;
		grid-auto-flow: row !important;
		align-items: start !important;
	}

	.toby-modern-cart .toby-cart-layout-ready > .toby-cart-left-column,
	.toby-modern-cart .toby-cart-layout-ready > .toby-cart-right-column {
		grid-row: 1 !important;
		align-self: start !important;
		margin-top: 0 !important;
		padding-top: 0 !important;
		transform: none !important;
		translate: none !important;
	}

	.toby-modern-cart .toby-cart-left-column > .wc-block-cart__main,
	.toby-modern-cart .toby-cart-right-column > .wc-block-cart__sidebar,
	.toby-modern-cart .toby-cart-left-column table.wc-block-cart-items,
	.toby-modern-cart .toby-cart-right-column .toby-cart-summary-card {
		margin-block-start: 0 !important;
		padding-block-start: 0 !important;
	}
}

/* Source images use many different aspect ratios. Neutralise absolute-cover
 * rules so the entire asset remains visible inside its rounded frame. */
.toby-modern-cart table.wc-block-cart-items .wc-block-cart-item__image > a,
.toby-modern-cart table.wc-block-cart-items .wc-block-cart-item__image picture {
	position: relative !important;
	inset: auto !important;
	transform: none !important;
	clip-path: none !important;
}

.toby-modern-cart table.wc-block-cart-items .wc-block-cart-item__image img {
	position: static !important;
	inset: auto !important;
	transform: none !important;
	clip-path: none !important;
	object-fit: contain !important;
}

.toby-modern-cart .toby-cart-recommendations .toby-product-card__media,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__media > a,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__media picture,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__image-link {
	position: relative !important;
	inset: auto !important;
	transform: none !important;
	clip-path: none !important;
}

.toby-modern-cart .toby-cart-recommendations .toby-product-card__media img,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__image {
	position: static !important;
	inset: auto !important;
	transform: none !important;
	clip-path: none !important;
	object-fit: contain !important;
}

/* v1.24.45: final cart geometry and media containment.
 * Older responsive rules moved the line-item table upward independently of
 * the sidebar. Reset that offset so both columns share the layout's top gap. */
@media (min-width: 681px) {
	.toby-modern-cart .toby-cart-left-column > .wc-block-cart__main table.wc-block-cart-items,
	.toby-modern-cart .wc-block-cart.toby-cart-layout-ready > .wc-block-cart__main table.wc-block-cart-items,
	.toby-modern-cart .toby-cart-layout-ready .wc-block-cart__main table.wc-block-cart-items {
		position: static !important;
		top: auto !important;
		inset: auto !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		transform: none !important;
		translate: none !important;
	}
}

/* Some WooCommerce block builds use logical border properties on the final
 * table cells. Clear every cell edge while retaining the single row outline. */
.toby-modern-cart table.wc-block-cart-items tbody > tr.wc-block-cart-items__row:last-child > td,
.toby-modern-cart table.wc-block-cart-items tbody > tr.wc-block-cart-items__row:only-child > td,
.toby-modern-cart table.wc-block-cart-items tbody > tr.wc-block-cart-items__row:last-child > .wc-block-cart-item__image,
.toby-modern-cart table.wc-block-cart-items tbody > tr.wc-block-cart-items__row:last-child > .wc-block-cart-item__product,
.toby-modern-cart table.wc-block-cart-items tbody > tr.wc-block-cart-items__row:last-child > .wc-block-cart-item__total,
.toby-modern-cart table.wc-block-cart-items tbody > tr.wc-block-cart-items__row:last-child > .toby-cart-item__actions-cell,
.toby-modern-cart table.wc-block-cart-items tbody > tr.wc-block-cart-items__row:only-child > .wc-block-cart-item__image,
.toby-modern-cart table.wc-block-cart-items tbody > tr.wc-block-cart-items__row:only-child > .wc-block-cart-item__product,
.toby-modern-cart table.wc-block-cart-items tbody > tr.wc-block-cart-items__row:only-child > .wc-block-cart-item__total,
.toby-modern-cart table.wc-block-cart-items tbody > tr.wc-block-cart-items__row:only-child > .toby-cart-item__actions-cell {
	border-width: 0 !important;
	border-style: none !important;
	border-color: transparent !important;
	border-block-start: 0 !important;
	border-block-end: 0 !important;
	border-inline-start: 0 !important;
	border-inline-end: 0 !important;
	border-image: none !important;
	outline: 0 !important;
	box-shadow: none !important;
	background-image: none !important;
	background-clip: padding-box !important;
}

/* Keep every source image visible. Product photography varies from square to
 * very tall, so the rounded frame owns the crop and the asset always contains. */
.toby-modern-cart table.wc-block-cart-items .wc-block-cart-item__image,
.toby-modern-cart table.wc-block-cart-items .wc-block-cart-item__image > a,
.toby-modern-cart table.wc-block-cart-items .wc-block-cart-item__image picture,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__media,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__media > a,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__media picture,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__image-link {
	display: grid !important;
	place-items: center !important;
	min-width: 0 !important;
	min-height: 0 !important;
	overflow: hidden !important;
}

.toby-modern-cart table.wc-block-cart-items .wc-block-cart-item__image img,
.toby-modern-cart table.wc-block-cart-items .wc-block-cart-item__image .wp-post-image,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__media img,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__image-link img,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__image,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__media .wp-post-image {
	display: block !important;
	inline-size: 100% !important;
	block-size: 100% !important;
	width: 100% !important;
	height: 100% !important;
	max-inline-size: 100% !important;
	max-block-size: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	aspect-ratio: auto !important;
	object-fit: contain !important;
	object-position: center !important;
}

/* v1.24.46: one-piece media frames and cleaner cart summary spacing. */
.toby-modern-cart .toby-cart-summary-card {
	padding-top: 30px !important;
}

/* v1.24.47: lock one quantity mutation at a time and show progress in-place. */
.toby-modern-cart .wc-block-cart-items__row.is-toby-updating .wc-block-components-quantity-selector {
	position: relative !important;
	pointer-events: none !important;
	cursor: wait !important;
}

.toby-modern-cart .wc-block-cart-items__row.is-toby-updating .wc-block-components-quantity-selector > button {
	opacity: .28 !important;
	filter: grayscale(1) !important;
}

.toby-modern-cart .wc-block-cart-items__row.is-toby-updating .wc-block-components-quantity-selector > input {
	color: transparent !important;
	caret-color: transparent !important;
}

.toby-modern-cart .wc-block-cart-items__row.is-toby-updating .wc-block-components-quantity-selector::before {
	position: absolute !important;
	z-index: 6 !important;
	top: 50% !important;
	left: 50% !important;
	width: 5px !important;
	height: 5px !important;
	border-radius: 50% !important;
	background: #334155;
	box-shadow: 9px 0 rgba(51, 65, 85, .38), 18px 0 rgba(51, 65, 85, .18);
	content: "" !important;
	transform: translate(-13px, -50%) !important;
	animation: toby-cart-quantity-dots .8s infinite ease-in-out !important;
}

@keyframes toby-cart-quantity-dots {
	0%, 100% {
		background: #334155;
		box-shadow: 9px 0 rgba(51, 65, 85, .38), 18px 0 rgba(51, 65, 85, .18);
	}
	33% {
		background: rgba(51, 65, 85, .38);
		box-shadow: 9px 0 #334155, 18px 0 rgba(51, 65, 85, .38);
	}
	66% {
		background: rgba(51, 65, 85, .18);
		box-shadow: 9px 0 rgba(51, 65, 85, .38), 18px 0 #334155;
	}
}

@media (prefers-reduced-motion: reduce) {
	.toby-modern-cart .wc-block-cart-items__row.is-toby-updating .wc-block-components-quantity-selector::before {
		animation: none !important;
		box-shadow: 9px 0 #334155, 18px 0 #334155 !important;
	}
}

.toby-modern-cart .toby-cart-summary-card .wc-block-cart__totals-title {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

.toby-modern-cart table.wc-block-cart-items .wc-block-cart-item__image {
	background: transparent !important;
	border-radius: 0 !important;
	overflow: visible !important;
}

.toby-modern-cart table.wc-block-cart-items .wc-block-cart-item__image > a,
.toby-modern-cart table.wc-block-cart-items .wc-block-cart-item__image picture {
	display: grid !important;
	place-items: center !important;
	inline-size: 156px !important;
	block-size: 156px !important;
	width: 156px !important;
	height: 156px !important;
	max-inline-size: 100% !important;
	max-block-size: 100% !important;
	padding: 0 !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
	border: 1px solid #eef2f7 !important;
	border-radius: 16px !important;
	background: #fff !important;
}

.toby-modern-cart table.wc-block-cart-items .wc-block-cart-item__image img,
.toby-modern-cart table.wc-block-cart-items .wc-block-cart-item__image .wp-post-image {
	inline-size: 100% !important;
	block-size: 100% !important;
	width: 100% !important;
	height: 100% !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	object-fit: contain !important;
	object-position: center !important;
}

.toby-modern-cart .toby-cart-recommendations .toby-product-card__media {
	padding: 0 !important;
	border-radius: 8px 8px 0 0 !important;
	background: #fff !important;
}

.toby-modern-cart .toby-cart-recommendations .toby-product-card__media > a,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__media picture,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__image-link {
	inline-size: 100% !important;
	block-size: 100% !important;
	width: 100% !important;
	height: 100% !important;
	padding: 0 !important;
	box-sizing: border-box !important;
	border: 0 !important;
	border-radius: 8px 8px 0 0 !important;
	background: #fff !important;
}

.toby-modern-cart .toby-cart-recommendations .toby-product-card__media img,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__image {
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
}

.toby-modern-cart table.wc-block-cart-items .wc-block-cart-item__image > a picture,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__media > a picture,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__image-link picture {
	inline-size: 100% !important;
	block-size: 100% !important;
	width: 100% !important;
	height: 100% !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
}

@media (max-width: 1280px) {
	.toby-modern-cart table.wc-block-cart-items .wc-block-cart-item__image > a,
	.toby-modern-cart table.wc-block-cart-items .wc-block-cart-item__image picture {
		inline-size: 126px !important;
		block-size: 126px !important;
		width: 126px !important;
		height: 126px !important;
	}
}

@media (max-width: 680px) {
	.toby-modern-cart .toby-cart-summary-card {
		padding-top: 24px !important;
	}

	.toby-modern-cart table.wc-block-cart-items .wc-block-cart-item__image > a,
	.toby-modern-cart table.wc-block-cart-items .wc-block-cart-item__image picture {
		inline-size: 88px !important;
		block-size: 98px !important;
		width: 88px !important;
		height: 98px !important;
		padding: 0 !important;
	}
}

@media (max-width: 420px) {
	.toby-modern-cart table.wc-block-cart-items .wc-block-cart-item__image > a,
	.toby-modern-cart table.wc-block-cart-items .wc-block-cart-item__image picture {
		inline-size: 76px !important;
		block-size: 88px !important;
		width: 76px !important;
		height: 88px !important;
	}
}

/* v1.24.48: Woo's Cart Store owns removal and its row transition. */
.toby-modern-cart .wc-block-cart-items__row.is-toby-removing {
	pointer-events: none !important;
}

/* v1.24.49: stable single-line geometry, live-summary spacing and clean media. */
@media (min-width: 1281px) {
	.toby-modern-cart .wc-block-cart__main.has-toby-single-cart-row .wc-block-cart-items__row:only-child {
		grid-template-columns: clamp(140px, 14vw, 180px) minmax(0, 1fr) clamp(150px, 15vw, 190px) 46px !important;
		gap: 20px !important;
		align-content: start !important;
		align-items: start !important;
		height: auto !important;
		min-height: 0 !important;
		margin: 0 0 16px !important;
		padding: 20px !important;
	}
}

@media (min-width: 681px) and (max-width: 1280px) {
	.toby-modern-cart .wc-block-cart__main.has-toby-single-cart-row .wc-block-cart-items__row:only-child {
		grid-template-columns: clamp(100px, 11vw, 132px) minmax(0, 1fr) clamp(108px, 12vw, 142px) 42px !important;
		gap: 12px !important;
		align-content: start !important;
		align-items: start !important;
		height: auto !important;
		min-height: 0 !important;
		margin: 0 0 16px !important;
		padding: 16px !important;
	}
}

@media (max-width: 680px) {
	.toby-modern-cart .wc-block-cart__main.has-toby-single-cart-row .wc-block-cart-items__row:only-child {
		grid-template-columns: clamp(82px, 25vw, 108px) minmax(0, 1fr) 40px !important;
		column-gap: 10px !important;
		row-gap: 0 !important;
		align-content: start !important;
		align-items: start !important;
		height: auto !important;
		min-height: 0 !important;
		margin: 0 0 12px !important;
		padding: 14px !important;
	}
}

.toby-modern-cart .toby-cart-right-column > .wc-block-cart__sidebar .toby-cart-summary-card {
	padding-top: 38px !important;
}

.toby-modern-cart .wc-block-cart.toby-cart-layout-ready > .wc-block-cart__sidebar .toby-cart-summary-card,
.toby-modern-cart .woocommerce.toby-cart-layout-ready > .cart-collaterals .toby-cart-summary-card {
	padding-top: 38px !important;
}

.toby-modern-cart .toby-cart-right-column > .wc-block-cart__sidebar .toby-cart-summary-card .wc-block-cart__totals-title {
	margin-top: 0 !important;
}

.toby-modern-cart .toby-cart-recommendations .toby-product-card__media,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__media > a,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__media picture,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__image-link {
	border: 0 !important;
	border-radius: 0 !important;
	outline: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.toby-modern-cart .toby-cart-recommendations .toby-product-card__media img,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__image-link img,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__image {
	border: 0 !important;
	border-radius: 10px 10px 0 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
}

html.toby-cart-native-notices-muted body.toby-modern-cart .wc-block-components-notice-banner:not(.is-error),
html.toby-cart-native-notices-muted body.toby-modern-cart .woocommerce-message,
html.toby-cart-native-notices-muted body.toby-modern-cart .woocommerce-info:not(.woocommerce-error) {
	display: none !important;
}

/* v1.24.50: preserve WooCommerce/React DOM ownership during cart updates. */
.toby-modern-cart .toby-cart-native-control-hidden,
.toby-modern-cart .toby-cart-native-sale-badge-hidden,
.toby-modern-cart .toby-cart-native-price-hidden,
.toby-modern-cart .toby-cart-native-notice-hidden {
	display: none !important;
}

.toby-modern-cart .toby-cart-price-content > .toby-cart-live-price {
	order: 1 !important;
	margin: 0 !important;
	font-size: 18px !important;
	font-weight: 850 !important;
	line-height: 1.15 !important;
	color: #101827 !important;
}

.toby-modern-cart .toby-cart-live-price .wc-block-formatted-money-amount,
.toby-modern-cart .toby-cart-live-price .woocommerce-Price-amount {
	font: inherit !important;
	color: inherit !important;
}

@media (max-width: 680px) {
	.toby-modern-cart .toby-cart-right-column > .wc-block-cart__sidebar .toby-cart-summary-card {
		padding-top: 30px !important;
	}

	.toby-modern-cart .wc-block-cart.toby-cart-layout-ready > .wc-block-cart__sidebar .toby-cart-summary-card,
	.toby-modern-cart .woocommerce.toby-cart-layout-ready > .cart-collaterals .toby-cart-summary-card {
		padding-top: 30px !important;
	}
}

/* v1.24.51: independent column spacing and a single rounded image surface.
 * Keep this final so historical cart rules cannot recreate the extra frame. */
@media (min-width: 1101px) {
	.toby-modern-cart .wc-block-cart.toby-cart-layout-ready > .wc-block-cart__main,
	.toby-modern-cart .wc-block-cart.toby-cart-layout-ready > .wc-block-cart__sidebar,
	.toby-modern-cart .wc-block-cart.toby-cart-layout-ready > .toby-cart-recommendations,
	.toby-modern-cart .wc-block-cart.toby-cart-layout-ready > .toby-cart-offers,
	.toby-modern-cart .woocommerce.toby-cart-layout-ready > .woocommerce-cart-form,
	.toby-modern-cart .woocommerce.toby-cart-layout-ready > .cart-collaterals,
	.toby-modern-cart .woocommerce.toby-cart-layout-ready > .toby-cart-recommendations,
	.toby-modern-cart .woocommerce.toby-cart-layout-ready > .toby-cart-offers {
		grid-row: 1 !important;
		align-self: start !important;
	}

	.toby-modern-cart .wc-block-cart.toby-cart-layout-ready > .toby-cart-recommendations,
	.toby-modern-cart .woocommerce.toby-cart-layout-ready > .toby-cart-recommendations {
		grid-column: 1 !important;
		margin-top: calc(var(--toby-cart-main-height, 0px) + 16px) !important;
	}

	.toby-modern-cart .wc-block-cart.toby-cart-layout-ready > .toby-cart-offers,
	.toby-modern-cart .woocommerce.toby-cart-layout-ready > .toby-cart-offers {
		grid-column: 2 !important;
		margin-top: calc(var(--toby-cart-sidebar-height, 0px) + 16px) !important;
	}
}

.toby-modern-cart .toby-cart-recommendations .toby-product-card {
	border: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
}

.toby-modern-cart .toby-cart-recommendations .toby-product-card__media,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__media > a,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__media picture,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__image-link {
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.toby-modern-cart .toby-cart-recommendations .toby-product-card__media img,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__image-link img,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__image {
	overflow: hidden !important;
	border: 0 !important;
	border-radius: 14px !important;
	background: #fff !important;
	box-shadow: none !important;
}

/* v1.24.52: one responsive media frame and a clean quantity capsule. */
.toby-modern-cart table.wc-block-cart-items .wc-block-cart-item__image {
	display: grid !important;
	place-items: center !important;
	box-sizing: border-box !important;
	width: 100% !important;
	height: auto !important;
	min-width: 0 !important;
	padding: 7px !important;
	aspect-ratio: 1 / 1 !important;
	overflow: hidden !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 16px !important;
	background: #fff !important;
}

.toby-modern-cart table.wc-block-cart-items .wc-block-cart-item__image > a,
.toby-modern-cart table.wc-block-cart-items .wc-block-cart-item__image picture {
	display: grid !important;
	place-items: center !important;
	box-sizing: border-box !important;
	inline-size: 100% !important;
	block-size: 100% !important;
	width: 100% !important;
	height: 100% !important;
	min-width: 0 !important;
	min-height: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 0 !important;
	border-radius: 11px !important;
	background: transparent !important;
}

.toby-modern-cart table.wc-block-cart-items .wc-block-cart-item__image img,
.toby-modern-cart table.wc-block-cart-items .wc-block-cart-item__image .wp-post-image {
	display: block !important;
	inline-size: 100% !important;
	block-size: 100% !important;
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: contain !important;
	object-position: center !important;
	border: 0 !important;
	border-radius: 10px !important;
	background: transparent !important;
}

.toby-modern-cart .toby-cart-recommendations .toby-product-card {
	box-sizing: border-box !important;
	overflow: hidden !important;
	border: 1px solid #dfe5ee !important;
	border-radius: 14px !important;
	background: #fff !important;
	box-shadow: none !important;
}

.toby-modern-cart .toby-cart-recommendations .toby-product-card__media {
	box-sizing: border-box !important;
	width: calc(100% - 12px) !important;
	height: auto !important;
	margin: 6px 6px 0 !important;
	padding: 0 !important;
	aspect-ratio: 1 / 1.03 !important;
	overflow: hidden !important;
	border: 0 !important;
	border-radius: 11px !important;
	background: #fff !important;
}

.toby-modern-cart .toby-cart-recommendations .toby-product-card__media > a,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__media picture,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__image-link {
	width: 100% !important;
	height: 100% !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 0 !important;
	border-radius: 11px !important;
	background: transparent !important;
}

.toby-modern-cart .toby-cart-recommendations .toby-product-card__media img,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__image-link img,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__image {
	width: 100% !important;
	height: 100% !important;
	padding: 0 !important;
	object-fit: contain !important;
	object-position: center !important;
	overflow: hidden !important;
	border: 0 !important;
	border-radius: 11px !important;
	background: #fff !important;
}

.toby-modern-cart .wc-block-components-quantity-selector {
	gap: 0 !important;
	overflow: hidden !important;
	border: 1px solid #dbe2ec !important;
	border-radius: 12px !important;
	background: #fff !important;
	box-shadow: none !important;
}

.toby-modern-cart .wc-block-components-quantity-selector > button,
.toby-modern-cart .wc-block-components-quantity-selector > input,
.toby-modern-cart .wc-block-components-quantity-selector__button,
.toby-modern-cart .wc-block-components-quantity-selector__input {
	border: 0 !important;
	border-inline: 0 !important;
	border-block: 0 !important;
	outline-offset: -2px !important;
	background: transparent !important;
	box-shadow: none !important;
}

/* v1.24.53: related-product card proportions and refined quantity control. */
.toby-modern-cart .toby-cart-recommendations .toby-product-card {
	overflow: hidden !important;
	border: 1px solid #dce3ec !important;
	border-radius: 12px !important;
	background: #fff !important;
	box-shadow: none !important;
}

.toby-modern-cart .toby-cart-recommendations .toby-product-card__media {
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	aspect-ratio: 1 / 1.08 !important;
	overflow: hidden !important;
	border: 0 !important;
	border-bottom: 1px solid #edf0f4 !important;
	border-radius: 11px 11px 0 0 !important;
	background: #f7f7f8 !important;
}

.toby-modern-cart .toby-cart-recommendations .toby-product-card__media > a,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__media picture,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__image-link,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__media img,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__image-link img,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__image {
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: contain !important;
	object-position: center !important;
	overflow: hidden !important;
	border: 0 !important;
	border-radius: 11px 11px 0 0 !important;
	background: #f7f7f8 !important;
	box-shadow: none !important;
}

.toby-modern-cart .wc-block-components-quantity-selector {
	display: grid !important;
	grid-template-columns: 46px minmax(54px, 1fr) 46px !important;
	box-sizing: border-box !important;
	width: 164px !important;
	height: 48px !important;
	padding: 3px !important;
	gap: 0 !important;
	overflow: hidden !important;
	border: 1px solid #d7dfe9 !important;
	border-radius: 14px !important;
	background: #f8fafc !important;
	box-shadow: 0 3px 10px rgba(15, 23, 42, .035) !important;
}

.toby-modern-cart .wc-block-components-quantity-selector::after {
	display: none !important;
}

.toby-modern-cart .wc-block-components-quantity-selector > button,
.toby-modern-cart .wc-block-components-quantity-selector > input,
.toby-modern-cart .wc-block-components-quantity-selector__button,
.toby-modern-cart .wc-block-components-quantity-selector__input {
	box-sizing: border-box !important;
	width: 100% !important;
	height: 40px !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-inline: 0 !important;
	border-block: 0 !important;
	border-radius: 10px !important;
	background: transparent !important;
	box-shadow: none !important;
	font-size: 15px !important;
	font-weight: 800 !important;
}

.toby-modern-cart .wc-block-components-quantity-selector > button:not([aria-disabled="true"]):hover,
.toby-modern-cart .wc-block-components-quantity-selector > button:not([aria-disabled="true"]):focus-visible {
	background: #edf2f7 !important;
}

@media (max-width: 680px) {
	.toby-modern-cart .wc-block-components-quantity-selector {
		grid-template-columns: 40px minmax(48px, 1fr) 40px !important;
		width: 144px !important;
		height: 44px !important;
		padding: 2px !important;
		border-radius: 13px !important;
	}

	.toby-modern-cart .wc-block-components-quantity-selector > button,
	.toby-modern-cart .wc-block-components-quantity-selector > input,
	.toby-modern-cart .wc-block-components-quantity-selector__button,
	.toby-modern-cart .wc-block-components-quantity-selector__input {
		height: 38px !important;
		border-radius: 9px !important;
	}
}

/* v1.24.61 final cascade authority. */
.toby-modern-cart .toby-cart-recommendations .toby-product-card {
	overflow: hidden !important;
	border: 1px solid var(--toby-card-border, #dce3ec) !important;
	border-radius: var(--toby-card-radius, 12px) !important;
	background: var(--toby-card-bg, #fff) !important;
	box-shadow: none !important;
}

.toby-modern-cart .toby-cart-recommendations .toby-product-card__media {
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	aspect-ratio: 1 / 1 !important;
	overflow: hidden !important;
	border: 0 !important;
	border-radius: calc(var(--toby-card-radius, 12px) - 1px) calc(var(--toby-card-radius, 12px) - 1px) 0 0 !important;
	background: var(--toby-card-media, #f7f7f8) !important;
	box-shadow: none !important;
}

.toby-modern-cart .toby-cart-recommendations .toby-product-card__media > a,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__media picture,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__image-link,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__media img,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__image-link img,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__image {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: contain !important;
	object-position: center !important;
	overflow: hidden !important;
	border: 0 !important;
	border-radius: 0 !important;
	outline: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.toby-modern-cart .toby-cart-recommendations .toby-product-card__body {
	min-height: 178px !important;
	padding: 14px 16px 16px !important;
	background: var(--toby-card-bg, #fff) !important;
}

.toby-modern-cart .toby-cart-recommendations ul.products li.product .toby-product-card .woocommerce-loop-product__title {
	font-size: 15px !important;
	line-height: 1.38 !important;
}

.toby-modern-cart .toby-cart-recommendations ul.products li.product .toby-product-card__pricing .price,
.toby-modern-cart .toby-cart-recommendations .toby-product-card__current-price {
	font-size: 20px !important;
}

.toby-modern-cart .wc-block-components-quantity-selector {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	position: relative !important;
	isolation: isolate !important;
	width: 124px !important;
	height: 44px !important;
	min-width: 124px !important;
	max-width: none !important;
	margin: 14px 0 0 !important;
	padding: 0 !important;
	gap: 0 !important;
	overflow: hidden !important;
	border: 0 !important;
	border-radius: 12px !important;
	background: #fff !important;
	box-shadow: none !important;
}

.toby-modern-cart .wc-block-components-quantity-selector::before {
	display: none !important;
	content: none !important;
}

.toby-modern-cart .wc-block-components-quantity-selector::after {
	display: block !important;
	position: absolute !important;
	z-index: 20 !important;
	inset: 0 !important;
	box-sizing: border-box !important;
	pointer-events: none !important;
	border: 1px solid #dfe3e8 !important;
	border-radius: inherit !important;
	background: transparent !important;
	box-shadow: none !important;
	content: "" !important;
}

.toby-modern-cart .wc-block-cart-items__row.is-toby-updating .wc-block-components-quantity-selector::before {
	display: block !important;
	position: absolute !important;
	z-index: 10 !important;
	top: 50% !important;
	left: 50% !important;
	width: 4px !important;
	height: 4px !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: #334155;
	box-shadow: 7px 0 rgba(51, 65, 85, .38), 14px 0 rgba(51, 65, 85, .18);
	content: "" !important;
	transform: translate(-9px, -50%) !important;
	animation: toby-cart-quantity-dots-compact .72s infinite ease-in-out !important;
}

@keyframes toby-cart-quantity-dots-compact {
	0%, 100% {
		background: #334155;
		box-shadow: 7px 0 rgba(51, 65, 85, .38), 14px 0 rgba(51, 65, 85, .18);
	}
	33% {
		background: rgba(51, 65, 85, .38);
		box-shadow: 7px 0 #334155, 14px 0 rgba(51, 65, 85, .38);
	}
	66% {
		background: rgba(51, 65, 85, .18);
		box-shadow: 7px 0 rgba(51, 65, 85, .38), 14px 0 #334155;
	}
}

.toby-modern-cart .wc-block-components-quantity-selector > button,
.toby-modern-cart .wc-block-components-quantity-selector > input,
.toby-modern-cart .wc-block-components-quantity-selector__button,
.toby-modern-cart .wc-block-components-quantity-selector__input {
	all: unset !important;
	position: relative !important;
	z-index: 1 !important;
	display: grid !important;
	place-items: center !important;
	flex: 0 0 auto !important;
	box-sizing: border-box !important;
	height: 42px !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	border: 0 !important;
	border-width: 0 !important;
	border-style: none !important;
	border-color: transparent !important;
	border-inline: 0 !important;
	border-block: 0 !important;
	border-radius: 0 !important;
	outline-offset: -3px !important;
	background: #fff !important;
	background-image: none !important;
	box-shadow: none !important;
	-webkit-box-shadow: none !important;
	font-size: 16px !important;
	font-family: inherit !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	text-align: center !important;
	touch-action: manipulation !important;
}

.toby-modern-cart .wc-block-components-quantity-selector > button {
	width: 38px !important;
	min-width: 38px !important;
	max-width: 38px !important;
	flex-basis: 38px !important;
	color: #6b7280 !important;
	cursor: pointer !important;
}

.toby-modern-cart .wc-block-components-quantity-selector > .wc-block-components-quantity-selector__button--minus,
.toby-modern-cart .wc-block-components-quantity-selector > .is-toby-remove-at-one {
	order: 1 !important;
}

.toby-modern-cart .wc-block-components-quantity-selector > .is-toby-remove-at-one {
	color: #ff143f !important;
}

.toby-modern-cart .wc-block-components-quantity-selector > input,
.toby-modern-cart .wc-block-components-quantity-selector > input.wc-block-components-quantity-selector__input {
	z-index: 2 !important;
	order: 2 !important;
	width: 50px !important;
	min-width: 50px !important;
	max-width: 50px !important;
	margin-inline: -1px !important;
	flex-basis: 50px !important;
	color: #111827 !important;
	outline: 0 !important;
}

.toby-modern-cart .wc-block-components-quantity-selector > .wc-block-components-quantity-selector__button--plus {
	z-index: 3 !important;
	order: 3 !important;
	box-shadow: none !important;
}

/* commerce-flow.css has older product-scoped !important borders. Match its
 * specificity so the capsule has exactly one outer stroke and no separators. */
.toby-modern-cart .wc-block-cart-item__product .wc-block-components-quantity-selector {
	border: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
}

.toby-modern-cart .wc-block-cart-item__product .wc-block-components-quantity-selector__button--minus,
.toby-modern-cart .wc-block-cart-item__product .wc-block-components-quantity-selector__button.is-toby-remove-at-one,
.toby-modern-cart .wc-block-cart-item__product .wc-block-components-quantity-selector__button--plus,
.toby-modern-cart .wc-block-cart-item__product .wc-block-components-quantity-selector__input {
	border: 0 !important;
	border-top: 0 !important;
	border-right: 0 !important;
	border-bottom: 0 !important;
	border-left: 0 !important;
	border-inline: 0 !important;
	border-block: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
}

.toby-modern-cart .wc-block-components-quantity-selector > input::before,
.toby-modern-cart .wc-block-components-quantity-selector > input::after,
.toby-modern-cart .wc-block-components-quantity-selector__input::before,
.toby-modern-cart .wc-block-components-quantity-selector__input::after {
	display: none !important;
	content: none !important;
}

.toby-modern-cart .wc-block-components-quantity-selector > button svg,
.toby-modern-cart .wc-block-components-quantity-selector > button svg * {
	pointer-events: none !important;
}

.toby-modern-cart .wc-block-components-quantity-selector > button::before,
.toby-modern-cart .wc-block-components-quantity-selector > button::after,
.toby-modern-cart .wc-block-components-quantity-selector > input::before,
.toby-modern-cart .wc-block-components-quantity-selector > input::after {
	display: none !important;
	content: none !important;
	border: 0 !important;
	outline: 0 !important;
	background-image: none !important;
	box-shadow: none !important;
}

.toby-modern-cart .wc-block-cart-item__quantity {
	min-width: 0 !important;
	overflow: visible !important;
}

.toby-modern-cart .wc-block-components-quantity-selector > button:not([aria-disabled="true"]):hover,
.toby-modern-cart .wc-block-components-quantity-selector > button:not([aria-disabled="true"]):focus-visible {
	background: #f7f8fa !important;
}

@media (max-width: 680px) {
	.toby-modern-cart .toby-cart-recommendations .toby-product-card__body {
		min-height: 158px !important;
		padding: 10px 11px 12px !important;
	}

	.toby-modern-cart .toby-cart-recommendations ul.products li.product .toby-product-card .woocommerce-loop-product__title {
		font-size: 12px !important;
	}

	.toby-modern-cart .toby-cart-recommendations ul.products li.product .toby-product-card__pricing .price,
	.toby-modern-cart .toby-cart-recommendations .toby-product-card__current-price {
		font-size: 16px !important;
	}

	.toby-modern-cart .wc-block-components-quantity-selector {
		width: 108px !important;
		min-width: 108px !important;
		height: 42px !important;
		margin: 10px 0 0 2px !important;
		border-radius: 11px !important;
	}

	.toby-modern-cart .wc-block-components-quantity-selector > button,
	.toby-modern-cart .wc-block-components-quantity-selector > input,
	.toby-modern-cart .wc-block-components-quantity-selector__button,
	.toby-modern-cart .wc-block-components-quantity-selector__input {
		height: 40px !important;
	}

	.toby-modern-cart .wc-block-components-quantity-selector > button {
		width: 32px !important;
		min-width: 32px !important;
		max-width: 32px !important;
		flex-basis: 32px !important;
	}

	.toby-modern-cart .wc-block-components-quantity-selector > input,
	.toby-modern-cart .wc-block-components-quantity-selector > input.wc-block-components-quantity-selector__input {
		width: 46px !important;
		min-width: 46px !important;
		max-width: 46px !important;
		flex-basis: 46px !important;
	}
}

/* v1.24.65: mobile uses a theme-owned visual proxy for the live WooCommerce
 * quantity input. This remains visible even when Blocks fails to paint its
 * native selector, without moving any React-owned node. */
@media (max-width: 680px) {
	.toby-modern-cart .wc-block-cart-items__row .toby-cart-item__actions-cell {
		overflow: visible !important;
	}

	.toby-modern-cart .toby-mobile-quantity-proxy {
		display: flex !important;
		position: absolute !important;
		z-index: 50 !important;
		top: calc(var(--toby-cart-image-bottom-y, 126px) - 10px) !important;
		left: var(--toby-cart-image-center-x, 68px) !important;
		align-items: center !important;
		justify-content: center !important;
		box-sizing: border-box !important;
		width: 92px !important;
		height: 36px !important;
		margin: 0 !important;
		padding: 0 !important;
		transform: translateX(-50%) !important;
		overflow: hidden !important;
		border: 1px solid #dfe3e8 !important;
		border-radius: 10px !important;
		background: #fff !important;
		box-shadow: 0 2px 8px rgba(15, 23, 42, .08) !important;
		visibility: visible !important;
		opacity: 1 !important;
		pointer-events: auto !important;
	}

	.toby-modern-cart .toby-mobile-quantity-proxy__button,
	.toby-modern-cart .toby-mobile-quantity-proxy__value {
		display: grid !important;
		position: relative !important;
		z-index: 1 !important;
		place-items: center !important;
		box-sizing: border-box !important;
		height: 34px !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		outline: 0 !important;
		background: #fff !important;
		box-shadow: none !important;
		font-family: inherit !important;
		font-size: 14px !important;
		font-weight: 800 !important;
		line-height: 1 !important;
		color: #111827 !important;
		visibility: visible !important;
		opacity: 1 !important;
	}

	.toby-modern-cart .toby-mobile-quantity-proxy__button {
		width: 27px !important;
		min-width: 27px !important;
		cursor: pointer !important;
		touch-action: manipulation !important;
	}

	.toby-modern-cart .toby-mobile-quantity-proxy__value {
		width: 38px !important;
		min-width: 38px !important;
		pointer-events: none !important;
	}

	.toby-modern-cart .toby-mobile-quantity-proxy__button.is-minus.is-toby-remove-at-one {
		color: #e83d58 !important;
	}

	.toby-modern-cart .toby-mobile-quantity-proxy__button svg {
		display: block !important;
		width: 15px !important;
		height: 15px !important;
		margin: auto !important;
		fill: none !important;
		stroke: currentColor !important;
		stroke-width: 1.8 !important;
		stroke-linecap: round !important;
		stroke-linejoin: round !important;
		pointer-events: none !important;
	}

	.toby-modern-cart .toby-mobile-quantity-proxy__button svg * {
		fill: none !important;
		stroke: inherit !important;
		stroke-width: inherit !important;
		stroke-linecap: inherit !important;
		stroke-linejoin: inherit !important;
		pointer-events: none !important;
	}

	.toby-modern-cart .wc-block-cart-items__row.is-toby-updating .toby-mobile-quantity-proxy__button,
	.toby-modern-cart .wc-block-cart-items__row.is-toby-updating .toby-mobile-quantity-proxy__value {
		visibility: hidden !important;
		opacity: 0 !important;
		pointer-events: none !important;
	}

	.toby-modern-cart .wc-block-cart-items__row.is-toby-updating .toby-mobile-quantity-proxy::before {
		display: block !important;
		position: absolute !important;
		z-index: 3 !important;
		top: 50% !important;
		left: 50% !important;
		width: 5px !important;
		height: 5px !important;
		border-radius: 50% !important;
		background: #334155;
		box-shadow: 8px 0 rgba(51, 65, 85, .38), 16px 0 rgba(51, 65, 85, .18);
		content: "" !important;
		transform: translate(-10px, -50%) !important;
		animation: toby-mobile-quantity-dots .72s infinite ease-in-out !important;
	}

	.toby-modern-cart .wc-block-cart-item__product .toby-cart-price-meta {
		margin-bottom: 10px !important;
	}
}

@keyframes toby-mobile-quantity-dots {
	0%, 100% {
		background: #334155;
		box-shadow: 8px 0 rgba(51, 65, 85, .38), 16px 0 rgba(51, 65, 85, .18);
	}
	33% {
		background: rgba(51, 65, 85, .38);
		box-shadow: 8px 0 #334155, 16px 0 rgba(51, 65, 85, .38);
	}
	66% {
		background: rgba(51, 65, 85, .18);
		box-shadow: 8px 0 rgba(51, 65, 85, .38), 16px 0 #334155;
	}
}

@media (max-width: 420px) {
	.toby-modern-cart .toby-mobile-quantity-proxy {
		width: 74px !important;
		height: 34px !important;
		border-radius: 9px !important;
	}

	.toby-modern-cart .toby-mobile-quantity-proxy__button,
	.toby-modern-cart .toby-mobile-quantity-proxy__value {
		height: 32px !important;
	}

	.toby-modern-cart .toby-mobile-quantity-proxy__button {
		width: 22px !important;
		min-width: 22px !important;
	}

	.toby-modern-cart .toby-mobile-quantity-proxy__value {
		width: 30px !important;
		min-width: 30px !important;
	}
}

/* v1.24.67: WooCommerce applies a higher-specificity final-row cell inset in
 * some Block builds. Lock every desktop/tablet line to the same top baseline. */
@media (min-width: 681px) {
	.toby-modern-cart .wc-block-cart__main table.wc-block-cart-items tbody > tr.wc-block-cart-items__row,
	.toby-modern-cart .wc-block-cart__main table.wc-block-cart-items tbody > tr.wc-block-cart-items__row:last-child,
	.toby-modern-cart .wc-block-cart__main table.wc-block-cart-items tbody > tr.wc-block-cart-items__row:only-child {
		align-content: start !important;
		align-items: start !important;
	}

	.toby-modern-cart .wc-block-cart__main table.wc-block-cart-items tbody > tr.wc-block-cart-items__row > td,
	.toby-modern-cart .wc-block-cart__main table.wc-block-cart-items tbody > tr.wc-block-cart-items__row:last-child > td,
	.toby-modern-cart .wc-block-cart__main table.wc-block-cart-items tbody > tr.wc-block-cart-items__row:only-child > td,
	.toby-modern-cart .wc-block-cart__main table.wc-block-cart-items tbody > tr.wc-block-cart-items__row > .wc-block-cart-item__image,
	.toby-modern-cart .wc-block-cart__main table.wc-block-cart-items tbody > tr.wc-block-cart-items__row > .wc-block-cart-item__product,
	.toby-modern-cart .wc-block-cart__main table.wc-block-cart-items tbody > tr.wc-block-cart-items__row > .wc-block-cart-item__total,
	.toby-modern-cart .wc-block-cart__main table.wc-block-cart-items tbody > tr.wc-block-cart-items__row > .toby-cart-item__actions-cell {
		align-self: start !important;
		vertical-align: top !important;
		margin-top: 0 !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		transform: none !important;
	}

	.toby-modern-cart .wc-block-cart__main table.wc-block-cart-items tbody > tr.wc-block-cart-items__row .wc-block-cart-item__product > .wc-block-cart-item__wrap {
		align-self: start !important;
		margin-top: 0 !important;
		padding-top: 0 !important;
		transform: none !important;
	}
}

/* v1.24.68: keep the order summary open and clean. WooCommerce can draw
 * separators on both the wrapper and its nested totals row, so clear both
 * solid rules without touching the dashed divider above Estimated total. */
.toby-modern-cart .toby-cart-summary-card .wc-block-cart__totals-title {
	border: 0 !important;
	border-block: 0 !important;
}

.toby-modern-cart .toby-cart-summary-card > .wc-block-components-totals-wrapper:not(:has(.wc-block-components-totals-footer-item)),
.toby-modern-cart .toby-cart-summary-card > .wc-block-components-totals-wrapper:not(:has(.wc-block-components-totals-footer-item)) > .wc-block-components-totals-item,
.toby-modern-cart .toby-cart-summary-card .wc-block-components-totals-subtotal,
.toby-modern-cart .toby-cart-summary-card .wc-block-components-totals-shipping {
	border: 0 !important;
	border-block: 0 !important;
}

.toby-modern-cart .toby-cart-summary-card > .wc-block-components-totals-wrapper:not(:has(.wc-block-components-totals-footer-item))::before,
.toby-modern-cart .toby-cart-summary-card > .wc-block-components-totals-wrapper:not(:has(.wc-block-components-totals-footer-item))::after,
.toby-modern-cart .toby-cart-summary-card .wc-block-components-totals-subtotal::before,
.toby-modern-cart .toby-cart-summary-card .wc-block-components-totals-subtotal::after,
.toby-modern-cart .toby-cart-summary-card .wc-block-components-totals-shipping::before,
.toby-modern-cart .toby-cart-summary-card .wc-block-components-totals-shipping::after {
	display: none !important;
}

/* v1.24.69: mobile/tablet checkout stays reachable without covering cart
 * content. The bar is theme-owned and mirrors WooCommerce's live grand total. */
.toby-mobile-cart-checkout {
	display: none;
}

@media (max-width: 1024px) {
	body.toby-modern-cart.has-toby-mobile-cart-checkout {
		padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px)) !important;
	}

	.toby-modern-cart.has-toby-mobile-cart-checkout .wc-block-cart__sidebar > .wc-block-cart__submit,
	.toby-modern-cart.has-toby-mobile-cart-checkout .cart-collaterals .wc-proceed-to-checkout {
		display: none !important;
	}

	.toby-mobile-cart-checkout {
		position: fixed;
		z-index: 1900;
		right: 0;
		bottom: var(--toby-mobile-cart-navigation-offset, 0px);
		left: 0;
		display: block;
		padding: 11px max(14px, env(safe-area-inset-right, 0px)) calc(11px + env(safe-area-inset-bottom, 0px)) max(14px, env(safe-area-inset-left, 0px));
		border-top: 1px solid rgba(211, 216, 226, .9);
		background: rgba(255, 255, 255, .96);
		box-shadow: 0 -12px 34px rgba(15, 23, 42, .12);
		backdrop-filter: blur(16px);
		-webkit-backdrop-filter: blur(16px);
	}

	.toby-mobile-cart-checkout[hidden] {
		display: none !important;
	}

	.toby-mobile-cart-checkout__inner {
		display: grid;
		width: min(100%, 760px);
		min-height: 62px;
		grid-template-columns: minmax(112px, .42fr) minmax(190px, 1fr);
		align-items: stretch;
		gap: 12px;
		margin: 0 auto;
	}

	.toby-mobile-cart-checkout__total {
		display: flex;
		min-width: 0;
		flex-direction: column;
		justify-content: center;
		padding: 3px 4px;
	}

	.toby-mobile-cart-checkout__total > span {
		margin-bottom: 3px;
		color: #677084;
		font-size: 12px;
		font-weight: 650;
		line-height: 1;
	}

	.toby-mobile-cart-checkout__amount {
		display: block;
		overflow: hidden;
		color: #111827;
		font-size: clamp(20px, 3.2vw, 27px);
		font-weight: 850;
		font-variant-numeric: tabular-nums;
		line-height: 1.1;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.toby-mobile-cart-checkout__button {
		display: flex !important;
		min-width: 0;
		min-height: 62px;
		align-items: center;
		justify-content: center;
		padding: 12px 20px;
		border: 0;
		border-radius: 17px;
		background: var(--toby-accent, #ff003b);
		color: #fff !important;
		font-size: 18px;
		font-weight: 850;
		line-height: 1;
		text-align: center;
		text-decoration: none !important;
		box-shadow: 0 12px 25px color-mix(in srgb, var(--toby-accent, #ff003b) 24%, transparent);
		transition: filter .16s ease, transform .16s ease;
	}

	.toby-mobile-cart-checkout__button:hover,
	.toby-mobile-cart-checkout__button:focus-visible {
		color: #fff !important;
		filter: brightness(.94);
		transform: translateY(-1px);
	}

	.toby-mobile-cart-checkout.is-toby-syncing .toby-mobile-cart-checkout__amount {
		opacity: .55;
	}

	.toby-mobile-cart-checkout__amount.is-toby-total-syncing {
		opacity: 1;
	}

	body.has-toby-visible-mobile-navigation .toby-mobile-cart-checkout {
		padding-bottom: 11px;
		transition: bottom .24s cubic-bezier(.22, .8, .22, 1);
	}

	body.has-toby-visible-mobile-navigation.toby-modern-cart.has-toby-mobile-cart-checkout {
		padding-bottom: calc(88px + var(--toby-mobile-cart-navigation-offset, 0px)) !important;
	}

	body.has-toby-visible-mobile-navigation.tppb-mobile-navigation-hidden .toby-mobile-cart-checkout {
		bottom: 0;
		padding-bottom: calc(11px + env(safe-area-inset-bottom, 0px));
	}

	body.has-toby-visible-mobile-navigation.tppb-mobile-navigation-hidden.toby-modern-cart.has-toby-mobile-cart-checkout {
		padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px)) !important;
	}
}

/* v1.24.72.5.1: a single theme-owned empty cart for both Cart Block and
 * classic WooCommerce templates. All selectors are empty-cart scoped so the
 * populated cart layout and its live Store API behavior remain untouched. */
.toby-modern-cart-empty .toby-entry-content > .toby-empty-cart-page,
.toby-modern-cart-empty .toby-entry-content > .woocommerce > .toby-empty-cart-page {
	display: block !important;
	grid-column: 1 / -1 !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

.toby-modern-cart-empty .woocommerce-info.cart-empty,
.toby-modern-cart-empty .cart-empty.woocommerce-info,
.toby-modern-cart-empty .return-to-shop,
.toby-modern-cart-empty .wc-block-cart__empty-cart__title,
.toby-modern-cart-empty .wp-block-woocommerce-empty-cart-block,
.toby-modern-cart-empty .wp-block-woocommerce-cart-empty-block {
	display: none !important;
}

.toby-modern-cart-empty .toby-commerce-flow-head--cart,
.toby-modern-cart-empty .toby-mobile-cart-checkout {
	display: none !important;
}

.toby-empty-cart-page {
	--toby-empty-border: #dfe5ee;
	--toby-empty-ink: #111827;
	--toby-empty-muted: #667085;
	width: 100%;
	max-width: none !important;
	min-width: 0;
}

.toby-modern-cart-empty .toby-empty-cart__live-shell {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	pointer-events: none !important;
}

.toby-empty-cart-page.is-cart-filled .toby-empty-cart__live-shell {
	position: static !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	overflow: visible !important;
	clip: auto !important;
	clip-path: none !important;
	white-space: normal !important;
	pointer-events: auto !important;
}

.toby-empty-cart-page .wp-block-woocommerce-cart.is-toby-cart-entering {
	animation: toby-empty-cart-reveal .32s ease-out both;
}

.toby-empty-cart-page.is-toby-empty-entering > .toby-empty-cart {
	animation: toby-empty-cart-reveal .32s ease-out both;
}

@keyframes toby-empty-cart-reveal {
	from { opacity: 0; transform: translateY(10px); }
	to { opacity: 1; transform: none; }
}

.toby-modern-cart .toby-cart-recommendations ul.products {
	scroll-snap-type: inline proximity !important;
	scroll-padding-inline: 2px;
	-webkit-overflow-scrolling: touch;
}

.toby-empty-cart {
	display: grid;
	grid-template-columns: minmax(280px, .82fr) minmax(420px, 1.18fr);
	align-items: center;
	gap: clamp(28px, 5vw, 80px);
	min-height: 380px;
	padding: clamp(34px, 5vw, 68px) clamp(28px, 6vw, 86px);
	overflow: hidden;
	border: 1px solid var(--toby-empty-border);
	border-radius: 28px;
	background:
		radial-gradient(circle at 12% 20%, rgba(255, 0, 59, .085), transparent 31%),
		linear-gradient(135deg, #fff 0%, #fbfcff 58%, #f5f7fc 100%);
	box-shadow: 0 18px 55px rgba(15, 23, 42, .07);
}

.toby-empty-cart__visual {
	position: relative;
	display: grid;
	width: min(100%, 360px);
	margin-inline: auto;
	place-items: center;
}

.toby-empty-cart__visual::before,
.toby-empty-cart__visual::after {
	position: absolute;
	border-radius: 999px;
	content: '';
}

.toby-empty-cart__visual::before {
	top: 12%;
	right: 2%;
	width: 44px;
	height: 44px;
	background: rgba(255, 0, 59, .09);
}

.toby-empty-cart__visual::after {
	bottom: 12%;
	left: 4%;
	width: 28px;
	height: 28px;
	background: rgba(46, 91, 255, .1);
}

.toby-empty-cart__visual svg {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	height: auto;
	filter: drop-shadow(0 16px 28px rgba(31, 42, 68, .12));
}

.toby-empty-cart__content {
	max-width: 650px;
}

.toby-empty-cart__content h1 {
	margin: 0;
	color: var(--toby-empty-ink);
	font-size: 49px;
	font-weight: 880;
	letter-spacing: -.052em;
	line-height: 1.02;
}

.toby-empty-cart__content p {
	max-width: 610px;
	margin: 18px 0 0;
	color: var(--toby-empty-muted);
	font-size: clamp(16px, 1.5vw, 20px);
	line-height: 1.6;
}

.toby-empty-cart__button {
	display: inline-flex;
	min-height: 56px;
	align-items: center;
	justify-content: center;
	gap: 18px;
	margin-top: 28px;
	padding: 13px 24px;
	border: 1px solid var(--toby-accent, #ff003b);
	border-radius: 14px;
	background: var(--toby-accent, #ff003b);
	box-shadow: 0 14px 30px rgba(255, 0, 59, .2);
	color: #fff !important;
	font-size: 16px;
	font-weight: 820;
	line-height: 1;
	text-decoration: none !important;
	transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.toby-empty-cart__button span {
	font-size: 20px;
	line-height: 1;
	transition: transform .18s ease;
}

.toby-empty-cart__button:hover,
.toby-empty-cart__button:focus-visible {
	filter: brightness(.96);
	box-shadow: 0 17px 34px rgba(255, 0, 59, .26);
	transform: translateY(-2px);
}

.toby-empty-cart__button:hover span {
	transform: translateX(3px);
}

.toby-empty-cart-page > .toby-cart-recommendations {
	width: 100% !important;
	max-width: none !important;
	margin: 22px 0 0 !important;
}

@media (max-width: 820px) {
	.toby-empty-cart {
		grid-template-columns: 1fr;
		gap: 10px;
		min-height: 0;
		padding: 34px 28px 38px;
		text-align: center;
	}

	.toby-empty-cart__visual {
		width: min(72vw, 280px);
	}

	.toby-empty-cart__content {
		max-width: 570px;
		margin-inline: auto;
	}

	.toby-empty-cart__content h1 {
		font-size: clamp(30px, 6.5vw, 44px);
	}

	.toby-empty-cart__content p {
		margin-top: 14px;
		font-size: 16px;
	}

	.toby-empty-cart__button {
		margin-top: 22px;
	}
}

@media (max-width: 520px) {
	.toby-modern-cart-empty .toby-entry-content {
		padding-bottom: 34px;
	}

	.toby-empty-cart {
		padding: 26px 18px 28px;
		border-radius: 20px;
	}

	.toby-empty-cart__visual {
		width: min(68vw, 230px);
	}

	.toby-empty-cart__content h1 {
		font-size: clamp(28px, 9vw, 36px);
		line-height: 1.08;
	}

	.toby-empty-cart__content p {
		font-size: 14px;
		line-height: 1.55;
	}

	.toby-empty-cart__button {
		width: 100%;
		min-height: 52px;
		margin-top: 20px;
	}

	.toby-empty-cart-page > .toby-cart-recommendations {
		margin-top: 14px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.toby-empty-cart-page.is-toby-empty-entering > .toby-empty-cart,
	.toby-empty-cart-page .wp-block-woocommerce-cart.is-toby-cart-entering {
		animation: none;
	}

	.toby-empty-cart__button,
	.toby-empty-cart__button span {
		transition: none;
	}
}

.toby-mobile-cart-checkout__amount.is-toby-total-syncing,
.toby-modern-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value.is-toby-total-syncing,
.toby-modern-cart .cart_totals .order-total td.is-toby-total-syncing {
	position: relative;
	min-width: 34px;
	min-height: 1em;
	color: transparent !important;
	text-shadow: none !important;
}

.toby-mobile-cart-checkout__amount.is-toby-total-syncing > *,
.toby-modern-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value.is-toby-total-syncing > *,
.toby-modern-cart .cart_totals .order-total td.is-toby-total-syncing > * {
	opacity: 0 !important;
}

.toby-mobile-cart-checkout__amount.is-toby-total-syncing::after,
.toby-modern-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value.is-toby-total-syncing::after,
.toby-modern-cart .cart_totals .order-total td.is-toby-total-syncing::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: #334155;
	box-shadow: 7px 0 rgba(51, 65, 85, .38), 14px 0 rgba(51, 65, 85, .18);
	content: '';
	transform: translate(-9px, -50%);
	animation: toby-cart-quantity-dots-compact .72s infinite ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
	.toby-mobile-cart-checkout__amount.is-toby-total-syncing::after,
	.toby-modern-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value.is-toby-total-syncing::after,
	.toby-modern-cart .cart_totals .order-total td.is-toby-total-syncing::after {
		animation: none;
	}
}

@media (max-width: 480px) {
	body.toby-modern-cart.has-toby-mobile-cart-checkout {
		padding-bottom: calc(78px + env(safe-area-inset-bottom, 0px)) !important;
	}

	.toby-mobile-cart-checkout {
		padding-top: 9px;
		padding-bottom: calc(9px + env(safe-area-inset-bottom, 0px));
	}

	.toby-mobile-cart-checkout__inner {
		min-height: 56px;
		grid-template-columns: minmax(120px, .48fr) minmax(150px, 1fr);
		gap: 9px;
	}

	.toby-mobile-cart-checkout__button {
		min-height: 56px;
		border-radius: 15px;
		font-size: 16px;
	}

	.toby-mobile-cart-checkout__amount {
		font-size: clamp(18px, 5.4vw, 21px);
	}

	body.has-toby-visible-mobile-navigation .toby-mobile-cart-checkout {
		padding-bottom: 9px;
	}

	body.has-toby-visible-mobile-navigation.toby-modern-cart.has-toby-mobile-cart-checkout {
		padding-bottom: calc(78px + var(--toby-mobile-cart-navigation-offset, 0px)) !important;
	}

	body.has-toby-visible-mobile-navigation.tppb-mobile-navigation-hidden .toby-mobile-cart-checkout {
		padding-bottom: calc(9px + env(safe-area-inset-bottom, 0px));
	}

	body.has-toby-visible-mobile-navigation.tppb-mobile-navigation-hidden.toby-modern-cart.has-toby-mobile-cart-checkout {
		padding-bottom: calc(78px + env(safe-area-inset-bottom, 0px)) !important;
	}
}

@media (max-width: 340px) {
	.toby-mobile-cart-checkout__inner {
		grid-template-columns: minmax(110px, .46fr) minmax(138px, 1fr);
	}

	.toby-mobile-cart-checkout__button {
		padding-inline: 14px;
		font-size: 15px;
	}

	.toby-mobile-cart-checkout__amount {
		font-size: 18px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.toby-mobile-cart-checkout__button {
		transition: none;
	}
}

/* Breakdown-only addition start. */
.toby-cart-breakdown[hidden] { display: none !important; }
.toby-cart-breakdown {
	position: absolute;
	inset-inline: 0;
	bottom: 100%;
	width: min(100%, 760px);
	max-height: min(55vh, 420px);
	overflow: auto;
	overscroll-behavior: contain;
	margin: 0 auto;
	padding: 20px;
	border: 1px solid #e1e5ec;
	border-radius: 20px 20px 0 0;
	background: #fff;
	color: #172033;
	box-shadow: 0 -12px 32px rgba(15, 23, 42, .12);
	box-sizing: border-box;
}
.toby-cart-breakdown h2 { margin: 0 0 14px; font-size: 17px; line-height: 1.4; }
.toby-cart-breakdown dl { margin: 0; }
.toby-cart-breakdown__row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 16px; padding: 8px 0; font-size: 14px; }
.toby-cart-breakdown__row dt, .toby-cart-breakdown__row dd { margin: 0; }
.toby-cart-breakdown__row dd { text-align: end; font-weight: 650; }
.toby-cart-breakdown__row.is-total { border-top: 1px solid #e1e5ec; margin-top: 8px; padding-top: 14px; font-weight: 750; }
.toby-cart-breakdown__row .toby-cart-breakdown__description { grid-column: 1 / -1; text-align: start; font-size: 12px; font-weight: 400; color: #647086; }
.toby-cart-breakdown__note { margin: 14px 0 0; font-size: 12px; line-height: 1.5; color: #647086; }
.toby-mobile-cart-checkout__total:has(> .toby-cart-breakdown-toggle) { padding-block: 0; }
.toby-mobile-cart-checkout .toby-cart-breakdown-toggle {
	display: inline-flex; align-self: flex-start; align-items: center; justify-content: center; box-sizing: border-box;
	width: auto; height: 16px; min-width: 0; min-height: 0; margin: 0; padding: 0;
	border: 0 !important; border-radius: 3px; background: transparent !important; box-shadow: none !important;
	color: #677084 !important; cursor: pointer; font: inherit; font-size: 11px; line-height: 1.2;
	white-space: nowrap; text-transform: none; letter-spacing: normal; text-decoration: underline; text-underline-offset: 2px;
}
.toby-mobile-cart-checkout .toby-cart-breakdown-toggle:focus-visible { outline: 2px solid currentColor; outline-offset: 1px; }
/* Breakdown-only addition end. */

/* Responsive cart column addition start. */
@media (max-width: 1024px) {
	.toby-modern-cart .wc-block-cart.toby-cart-layout-ready > .wc-block-cart__main,
	.toby-modern-cart .toby-cart-left-column > .wc-block-cart__main,
	.toby-modern-cart .woocommerce.toby-cart-layout-ready > .woocommerce-cart-form,
	.toby-modern-cart .toby-cart-left-column > .woocommerce-cart-form {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box;
		align-self: stretch !important;
	}
}
/* Responsive cart column addition end. */

/* v1.24.72: tablet and phone flow follows the shopping journey: cart lines,
 * recommendations, coupon, then the live Order Summary. */
@media (max-width: 1024px) {
	/* Keep the first recommendation card on the physical left edge. Some
	 * mobile/RTL WooCommerce wrappers otherwise start the horizontal grid at
	 * the right edge and leave an empty first viewport. */
	.toby-modern-cart .toby-cart-recommendations ul.products {
		direction: ltr !important;
		justify-content: start !important;
		justify-items: stretch !important;
		overflow-anchor: none !important;
		overscroll-behavior-x: none !important;
		overscroll-behavior-inline: none !important;
		scroll-padding-inline: 0 !important;
		touch-action: pan-y pinch-zoom !important;
		-webkit-overflow-scrolling: auto !important;
	}

	.toby-modern-cart .toby-cart-recommendations ul.products > li.product {
		direction: ltr !important;
	}

	.toby-modern-cart .wc-block-cart.toby-cart-layout-ready,
	.toby-modern-cart .toby-entry-content > .woocommerce.toby-cart-layout-ready {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 14px !important;
	}

	.toby-modern-cart .toby-cart-layout-ready > .toby-cart-left-column,
	.toby-modern-cart .toby-cart-layout-ready > .toby-cart-right-column {
		display: contents !important;
	}

	.toby-modern-cart .wc-block-cart.toby-cart-layout-ready > .wc-block-cart__sidebar,
	.toby-modern-cart .toby-entry-content > .woocommerce.toby-cart-layout-ready > .cart-collaterals,
	.toby-modern-cart .toby-cart-right-column > .wc-block-cart__sidebar,
	.toby-modern-cart .toby-cart-right-column > .cart-collaterals {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		order: 4 !important;
	}

	.toby-modern-cart .wc-block-cart.toby-cart-layout-ready > .wc-block-cart__main,
	.toby-modern-cart .toby-entry-content > .woocommerce.toby-cart-layout-ready > .woocommerce-cart-form,
	.toby-modern-cart .toby-cart-left-column > .wc-block-cart__main,
	.toby-modern-cart .toby-cart-left-column > .woocommerce-cart-form {
		order: 1 !important;
	}

	.toby-modern-cart .wc-block-cart.toby-cart-layout-ready > .toby-cart-recommendations,
	.toby-modern-cart .toby-entry-content > .woocommerce.toby-cart-layout-ready > .toby-cart-recommendations,
	.toby-modern-cart .toby-cart-left-column > .toby-cart-recommendations {
		width: 100% !important;
		max-width: 100% !important;
		order: 2 !important;
	}

	.toby-modern-cart .wc-block-cart.toby-cart-layout-ready > .toby-cart-offers,
	.toby-modern-cart .toby-entry-content > .woocommerce.toby-cart-layout-ready > .toby-cart-offers,
	.toby-modern-cart .toby-cart-right-column > .toby-cart-offers {
		width: 100% !important;
		max-width: 100% !important;
		order: 3 !important;
	}

	.toby-modern-cart .toby-cart-summary-card .wc-block-cart__totals-title {
		display: flex !important;
		position: static !important;
		width: auto !important;
		height: auto !important;
		margin-inline: 0 !important;
		overflow: visible !important;
		clip: auto !important;
		clip-path: none !important;
		visibility: visible !important;
		opacity: 1 !important;
		white-space: normal !important;
	}

	.toby-modern-cart .cart-collaterals .cart_totals > h2 {
		display: block !important;
		position: static !important;
		width: auto !important;
		height: auto !important;
		overflow: visible !important;
		clip: auto !important;
		clip-path: none !important;
		visibility: visible !important;
		opacity: 1 !important;
	}
}
.toby-modern-cart .toby-cart-delivery-promise {
	margin-block: 8px 0;
	font-family: inherit;
	font-size: 13px;
	line-height: 1.5;
	color: #34405a;
}
.toby-modern-cart .toby-cart-delivery-date {
	display: table;
	padding: 7px 12px;
	border-radius: 10px;
	background: linear-gradient(90deg, #ffe1e8, #fff7f9);
	color: #202838;
}
.toby-modern-cart .toby-cart-delivery-date strong { font-weight: 750; }
.toby-modern-cart .toby-cart-delivery-countdown { margin-block-start: 7px; }
.toby-modern-cart .toby-cart-delivery-countdown [data-delivery-countdown] { font-variant-numeric: tabular-nums; }
[dir="rtl"] .toby-cart-delivery-date { background: linear-gradient(270deg, #ffe1e8, #fff7f9); }

/* One gap, not promise + empty description + quantity + selector margins.
 * Keep real variation/custom metadata visible and leave mobile image controls alone. */
.toby-modern-cart .wc-block-cart-item__product:has(.toby-cart-delivery-promise) .wc-block-components-product-metadata:not(:has(> :not(.wc-block-components-product-metadata__description))) {
	display: none !important;
}
.toby-modern-cart .wc-block-cart-item__product:has(.toby-cart-delivery-promise) .wc-block-cart-item__quantity {
	margin-block-start: 10px !important;
	padding-block-start: 0 !important;
}
.toby-modern-cart .wc-block-cart-item__product:has(.toby-cart-delivery-promise) .wc-block-cart-item__quantity .wc-block-components-quantity-selector {
	margin-block: 0 !important;
}
