/* Stitch cart system: Mini-Cart, classic Cart/Checkout, and WooCommerce Blocks. */
:root {
	--stitch-cart-ink: #1b1719;
	--stitch-cart-muted: #746b6f;
	--stitch-cart-line: #e7dfe2;
	--stitch-cart-soft: #faf7f8;
	--stitch-cart-accent: #73242a;
	--stitch-cart-accent-dark: #5d1d22;
	--stitch-cart-success: #23863b;
}

:where(
	.woocommerce-cart .woocommerce,
	.woocommerce-checkout .woocommerce,
	.widget_shopping_cart_content,
	.elementor-menu-cart__container,
	.xoo-wsc-modal,
	.fkcart-modal,
	.wfacp_order_summary_container,
	.wc-block-mini-cart__drawer,
	.wp-block-woocommerce-cart,
	.wp-block-woocommerce-checkout
) {
	color: var(--stitch-cart-ink);
	font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
	font-size: 13px !important;
	line-height: 1.45;
}

:where(
	.woocommerce-cart .woocommerce,
	.woocommerce-checkout .woocommerce,
	.widget_shopping_cart_content,
	.elementor-menu-cart__container,
	.xoo-wsc-modal,
	.fkcart-modal,
	.wfacp_order_summary_container,
	.wc-block-mini-cart__drawer,
	.wp-block-woocommerce-cart,
	.wp-block-woocommerce-checkout
) :where(p, a, span, small, label, input, select, textarea, button, td, th, dt, dd, li, div) {
	font-family: inherit;
	font-size: 13px;
}

body.woocommerce-cart :where(h1, .entry-title, .page-title),
body.woocommerce-checkout :where(h1, .entry-title, .page-title) {
	font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
	font-size: 15px !important;
	font-weight: 850 !important;
	line-height: 1.35 !important;
}

body.woocommerce-cart main,
body.woocommerce-checkout main {
	max-width: 100%;
	overflow-x: clip;
}

:where(
	.woocommerce-cart .woocommerce,
	.woocommerce-checkout .woocommerce,
	.widget_shopping_cart_content,
	.elementor-menu-cart__container,
	.wc-block-mini-cart__drawer,
	.wp-block-woocommerce-cart,
	.wp-block-woocommerce-checkout
) :where(h1, h2, h3, h4, h5, h6, .wc-block-components-title, .wc-block-components-checkout-step__heading) {
	color: var(--stitch-cart-ink);
	font-size: 15px !important;
	font-weight: 800 !important;
	line-height: 1.35 !important;
}

/* Bundle children are inventory lines. The configured parent is the customer-facing line. */
.stitch-bundle-child,
.stitch-block-bundle-child {
	display: none !important;
}

.stitch-bundle-fixed-quantity {
	display: inline-grid;
	place-items: center;
	min-width: 34px;
	height: 34px;
	border: 1px solid var(--stitch-cart-line);
	border-radius: 8px;
	background: #fff;
	color: var(--stitch-cart-ink);
	font-size: 13px;
	font-weight: 800;
}

/* Block Cart and Checkout */
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) {
	--wp--preset--font-size--small: 12px;
	--wp--preset--font-size--medium: 13px;
	--wp--preset--font-size--large: 15px;
	max-width: 1240px;
	margin-right: auto;
	margin-left: auto;
	min-width: 0;
	max-width: 100%;
}

:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) :where(
	.wc-block-cart,
	.wc-block-cart__main,
	.wc-block-cart__sidebar,
	.wc-block-checkout__main,
	.wc-block-checkout__sidebar,
	.wc-block-components-sidebar-layout,
	.wc-block-components-main,
	.wc-block-components-sidebar,
	.wc-block-cart-items,
	.wc-block-components-order-summary,
	.wc-block-components-order-summary-item,
	.wc-block-components-order-summary-item__description,
	.wc-block-cart-item__product,
	.wc-block-cart-item__wrap
) {
	min-width: 0 !important;
	max-width: 100%;
}

:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) :where(
	.wc-block-cart-items,
	.wc-block-components-sidebar,
	.wc-block-components-order-summary,
	.wc-block-components-totals-wrapper,
	.wc-block-checkout__main
) {
	border-color: var(--stitch-cart-line) !important;
}

.wc-block-cart-items__row,
.wc-block-components-order-summary-item {
	position: relative;
	border-bottom: 1px solid var(--stitch-cart-line) !important;
	background: #fff;
}

.wc-block-cart-items__row {
	padding: 18px 0 !important;
}

.wc-block-components-order-summary-item {
	padding: 16px 0 !important;
}

.wc-block-cart-items__row:last-child,
.wc-block-components-order-summary-item:last-child {
	border-bottom: 0 !important;
}

:where(.wc-block-cart-items__row, .wc-block-components-order-summary-item) img {
	border: 1px solid #eee8ea;
	border-radius: 10px;
	background: var(--stitch-cart-soft);
	object-fit: contain;
}

:where(.wc-block-cart-items__row, .wc-block-components-order-summary-item) .wc-block-components-product-name {
	display: inline;
	color: var(--stitch-cart-ink) !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	line-height: 1.35 !important;
	text-decoration: none !important;
}

:where(.wc-block-cart-items__row, .wc-block-components-order-summary-item) .wc-block-components-product-price,
:where(.wc-block-cart-items__row, .wc-block-components-order-summary-item) .wc-block-components-formatted-money-amount {
	color: var(--stitch-cart-ink);
	font-size: 13px !important;
	font-weight: 800;
}

:where(.wc-block-cart-items__row, .wc-block-components-order-summary-item) .wc-block-components-product-metadata {
	margin-top: 8px;
	color: var(--stitch-cart-muted);
}

:where(.wc-block-cart-items__row, .wc-block-components-order-summary-item) .wc-block-components-product-details {
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 8px 0 0 !important;
	padding: 9px 10px !important;
	overflow: visible;
	border: 1px solid #eee6e9;
	border-radius: 9px;
	background: var(--stitch-cart-soft);
	white-space: normal !important;
}

:where(.wc-block-cart-items__row, .wc-block-components-order-summary-item) .wc-block-components-product-details > li {
	display: grid !important;
	grid-template-columns: max-content minmax(0, 1fr);
	align-items: flex-start;
	gap: 4px;
	width: 100%;
	min-width: 0;
	margin: 0 0 4px !important;
	white-space: normal !important;
}

:where(.wc-block-cart-items__row, .wc-block-components-order-summary-item) .wc-block-components-product-details > li::before,
:where(.wc-block-cart-items__row, .wc-block-components-order-summary-item) .wc-block-components-product-details > li::after {
	display: none !important;
	content: none !important;
}

:where(.wc-block-cart-items__row, .wc-block-components-order-summary-item) .wc-block-components-product-details > li:last-child {
	margin-bottom: 0 !important;
}

:where(.wc-block-cart-items__row, .wc-block-components-order-summary-item) .wc-block-components-product-details__name {
	color: #5e5559;
	font-size: 12px !important;
	font-weight: 800;
	white-space: nowrap;
}

:where(.wc-block-cart-items__row, .wc-block-components-order-summary-item) .wc-block-components-product-details__value {
	min-width: 0;
	color: var(--stitch-cart-muted);
	font-size: 12px !important;
	line-height: 1.45;
	overflow-wrap: anywhere;
	white-space: normal !important;
}

.wc-block-components-product-badge {
	padding: 3px 7px !important;
	border: 0 !important;
	border-radius: 6px !important;
	background: #eef8f0 !important;
	color: var(--stitch-cart-success) !important;
	font-size: 12px !important;
	font-weight: 800 !important;
}

.wc-block-components-quantity-selector {
	min-height: 36px;
	border: 1px solid var(--stitch-cart-line) !important;
	border-radius: 8px !important;
	background: #fff;
}

.wc-block-components-quantity-selector input,
.wc-block-components-quantity-selector button {
	min-width: 34px !important;
	font-size: 13px !important;
}

.wc-block-components-totals-wrapper {
	padding: 14px 0 !important;
}

.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value {
	font-size: 13px !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-size: 15px !important;
	font-weight: 850 !important;
}

:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) :where(
	.wc-block-components-button,
	.wc-block-cart__submit-button,
	.wc-block-components-checkout-place-order-button
) {
	min-height: 48px;
	border: 1px solid var(--stitch-cart-accent) !important;
	border-radius: 9px !important;
	background: var(--stitch-cart-accent) !important;
	color: #fff !important;
	font-size: 14px !important;
	font-weight: 850 !important;
	box-shadow: 0 8px 20px rgba(115, 36, 42, .2);
}

:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) :where(
	.wc-block-components-button,
	.wc-block-cart__submit-button,
	.wc-block-components-checkout-place-order-button
):hover {
	border-color: var(--stitch-cart-accent-dark) !important;
	background: var(--stitch-cart-accent-dark) !important;
}

/* Mini-Cart block and common side-cart implementations */
:where(.wc-block-mini-cart__drawer, .elementor-menu-cart__container, .widget_shopping_cart_content) {
	color: var(--stitch-cart-ink);
}

:where(.xoo-wsc-modal, .fkcart-modal, .wfacp_order_summary_container) {
	color: var(--stitch-cart-ink);
	font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
	font-size: 13px !important;
	line-height: 1.45;
}

:where(.xoo-wsc-modal, .fkcart-modal, .wfacp_order_summary_container) :where(p, a, span, small, label, button, div, li, td, th, dt, dd) {
	font-family: inherit;
	font-size: 13px !important;
}

:where(.xoo-wsc-modal, .fkcart-modal) :where(.xoo-wsc-product, .xoo-wsc-sum-col, .fkcart-item, .fkcart-item-wrap, .fkcart-item-info, .fkcart-item-meta) {
	min-width: 0 !important;
	max-width: 100%;
	white-space: normal !important;
}

:where(.xoo-wsc-modal, .fkcart-modal, .wfacp_order_summary_container) :where(h1, h2, h3, h4, h5, h6) {
	font-size: 15px !important;
	font-weight: 850 !important;
	line-height: 1.35 !important;
}

.wc-block-mini-cart__drawer .wc-block-components-drawer__content,
.elementor-menu-cart__container .elementor-menu-cart__main {
	background: #fff;
}

:where(.wc-block-mini-cart__drawer, .elementor-menu-cart__container) :where(
	.wc-block-components-drawer__screen-overlay,
	.elementor-menu-cart__close-button
) {
	color: var(--stitch-cart-ink);
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__title,
.elementor-menu-cart__container .elementor-menu-cart__main .elementor-menu-cart__product-name {
	font-size: 14px !important;
	font-weight: 800 !important;
}

.wc-block-mini-cart__drawer .wc-block-cart-items__row,
.elementor-menu-cart__product,
.widget_shopping_cart_content .mini_cart_item,
.xoo-wsc-product,
.fkcart-item,
.wfacp_mini_cart_item {
	padding: 14px 0 !important;
	border-bottom: 1px solid var(--stitch-cart-line) !important;
}

.elementor-menu-cart__product-image img,
.widget_shopping_cart_content .mini_cart_item img,
.xoo-wsc-img-col img,
.fkcart-item-image img,
.wfacp_mini_cart_item img {
	border: 1px solid #eee8ea;
	border-radius: 9px;
	background: var(--stitch-cart-soft);
	object-fit: contain;
}

:where(.elementor-menu-cart__container, .widget_shopping_cart_content) :where(.variation, dl) {
	display: grid;
	grid-template-columns: max-content minmax(0, 1fr);
	gap: 3px 7px;
	margin: 7px 0 0 !important;
	padding: 8px 9px;
	border-radius: 8px;
	background: var(--stitch-cart-soft);
	color: var(--stitch-cart-muted);
}

:where(.xoo-wsc-modal, .fkcart-modal, .wfacp_order_summary_container) :where(.variation, dl, .wfacp_product_attributes) {
	display: grid;
	grid-template-columns: max-content minmax(0, 1fr);
	gap: 3px 7px;
	margin: 7px 0 0 !important;
	padding: 8px 9px !important;
	overflow: visible;
	border: 1px solid #eee6e9;
	border-radius: 8px;
	background: var(--stitch-cart-soft);
	color: var(--stitch-cart-muted);
}

:where(.xoo-wsc-modal, .fkcart-modal) :where([class*="saving"], [class*="savings"]) {
	display: none !important;
}

:where(.xoo-wsc-modal, .fkcart-modal, .wfacp_order_summary_container) :where(.variation dt, dl dt) {
	font-size: 12px !important;
	font-weight: 800 !important;
}

:where(.xoo-wsc-modal, .fkcart-modal, .wfacp_order_summary_container) :where(.variation dd, dl dd) {
	margin: 0 !important;
	font-size: 12px !important;
	overflow-wrap: anywhere;
}

:where(.elementor-menu-cart__container, .widget_shopping_cart_content) :where(.variation dt, dl dt) {
	font-size: 12px !important;
	font-weight: 800;
}

:where(.elementor-menu-cart__container, .widget_shopping_cart_content) :where(.variation dd, dl dd) {
	margin: 0;
	font-size: 12px !important;
	overflow-wrap: anywhere;
}

:where(.elementor-menu-cart__container, .widget_shopping_cart_content) :where(.buttons a, .elementor-button) {
	min-height: 42px;
	padding: 11px 14px !important;
	border: 1px solid var(--stitch-cart-accent) !important;
	border-radius: 8px !important;
	background: var(--stitch-cart-accent) !important;
	color: #fff !important;
	font-size: 13px !important;
	font-weight: 850 !important;
	text-align: center;
}

:where(.xoo-wsc-modal, .fkcart-modal, .wfacp_order_summary_container) :where(.xoo-wsc-ft-btn, .fkcart-checkout-wrap a, .wfacp_next_page_button) {
	min-height: 44px;
	padding: 11px 14px !important;
	border: 1px solid var(--stitch-cart-accent) !important;
	border-radius: 8px !important;
	background: var(--stitch-cart-accent) !important;
	color: #fff !important;
	font-size: 13px !important;
	font-weight: 850 !important;
	text-align: center;
}

:where(.elementor-menu-cart__container, .widget_shopping_cart_content) :where(.buttons a:first-child, .elementor-menu-cart__footer-buttons a:first-child) {
	border-color: var(--stitch-cart-line) !important;
	background: #fff !important;
	color: var(--stitch-cart-ink) !important;
}

/* Classic WooCommerce Cart */
.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-checkout-review-order {
	border: 1px solid var(--stitch-cart-line);
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 8px 26px rgba(40, 25, 31, .05);
}

.woocommerce-cart table.shop_table,
.woocommerce-checkout table.shop_table {
	margin: 0 !important;
	border: 0 !important;
	border-collapse: collapse !important;
	border-radius: 12px;
}

.woocommerce-cart table.shop_table th,
.woocommerce-checkout table.shop_table th {
	padding: 13px 14px !important;
	border-color: var(--stitch-cart-line) !important;
	background: var(--stitch-cart-soft);
	color: #5f565a;
	font-size: 12px !important;
	font-weight: 850 !important;
	letter-spacing: .035em;
	text-transform: uppercase;
}

.woocommerce-cart table.shop_table td,
.woocommerce-checkout table.shop_table td {
	padding: 16px 14px !important;
	border-color: var(--stitch-cart-line) !important;
	font-size: 13px !important;
	vertical-align: top;
}

.woocommerce-cart table.shop_table .product-thumbnail img,
.woocommerce-checkout table.shop_table .product-thumbnail img {
	width: 72px;
	height: 72px;
	border: 1px solid #eee8ea;
	border-radius: 9px;
	background: var(--stitch-cart-soft);
	object-fit: contain;
}

.woocommerce-cart table.shop_table .product-name > a,
.woocommerce-checkout table.shop_table .product-name {
	color: var(--stitch-cart-ink) !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	text-decoration: none !important;
}

:where(.woocommerce-cart, .woocommerce-checkout) table.shop_table :where(.variation, dl) {
	display: grid;
	grid-template-columns: max-content minmax(0, 1fr);
	gap: 4px 8px;
	margin: 9px 0 0 !important;
	padding: 9px 10px;
	overflow: visible;
	border: 1px solid #eee6e9;
	border-radius: 8px;
	background: var(--stitch-cart-soft);
}

:where(.woocommerce-cart, .woocommerce-checkout) table.shop_table :where(.variation dt, dl dt) {
	font-size: 12px !important;
	font-weight: 800;
}

:where(.woocommerce-cart, .woocommerce-checkout) table.shop_table :where(.variation dd, dl dd) {
	margin: 0;
	font-size: 12px !important;
	overflow-wrap: anywhere;
}

.woocommerce-cart .quantity .qty {
	width: 66px !important;
	height: 38px;
	border: 1px solid var(--stitch-cart-line) !important;
	border-radius: 8px !important;
	font-size: 13px !important;
}

.woocommerce-cart :where(.button, button.button, a.checkout-button),
.woocommerce-checkout :where(.button, button.button, #place_order) {
	min-height: 44px;
	padding: 11px 16px !important;
	border: 1px solid var(--stitch-cart-accent) !important;
	border-radius: 8px !important;
	background: var(--stitch-cart-accent) !important;
	color: #fff !important;
	font-size: 13px !important;
	font-weight: 850 !important;
}

.woocommerce-cart :where(.button, button.button):not(.checkout-button) {
	border-color: var(--stitch-cart-line) !important;
	background: #fff !important;
	color: var(--stitch-cart-ink) !important;
}

.woocommerce-cart .cart_totals h2,
.woocommerce-checkout #order_review_heading {
	margin: 0 !important;
	padding: 15px 16px !important;
	border-bottom: 1px solid var(--stitch-cart-line);
}

/* Checkout fields and order summary */
:where(.woocommerce-checkout, .wp-block-woocommerce-checkout) :where(input, select, textarea) {
	min-height: 44px;
	border: 1px solid #dcd3d6 !important;
	border-radius: 8px !important;
	background: #fff !important;
	color: var(--stitch-cart-ink) !important;
	font-size: 13px !important;
}

:where(.woocommerce-checkout, .wp-block-woocommerce-checkout) :where(input, select, textarea):focus {
	border-color: var(--stitch-cart-accent) !important;
	box-shadow: 0 0 0 3px rgba(115, 36, 42, .12) !important;
	outline: 0 !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .cart_item td {
	padding-top: 13px !important;
	padding-bottom: 13px !important;
}

.woocommerce-checkout .order-total :where(th, td),
.woocommerce-cart .order-total :where(th, td) {
	color: var(--stitch-cart-ink) !important;
	font-size: 15px !important;
	font-weight: 850 !important;
}

/* Expanded bundle hierarchy on the full cart only: Group > its products > logos. */
.stitch-cart-bundle-details {
	width: 100%;
	min-width: 0;
	margin-top: 14px;
	border-top: 1px solid var(--stitch-cart-line);
	color: var(--stitch-cart-ink);
	font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	font-size: 13px;
	line-height: 1.4;
}

.stitch-cart-price-breakdown {
	display: grid;
	gap: 7px;
	margin: 14px 0 2px;
	padding: 12px 14px;
	border: 1px solid #e2cdd0;
	border-radius: 9px;
	background: #fbf6f7;
}

.stitch-cart-price-breakdown__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	color: #62585c;
	font-size: 13px !important;
}

.stitch-cart-price-breakdown__row :where(span, strong, .amount) {
	font-size: 13px !important;
}

.stitch-cart-price-breakdown__row strong {
	color: var(--stitch-cart-ink);
	font-weight: 800;
	white-space: nowrap;
}

.stitch-cart-price-breakdown__row--customization strong {
	color: var(--stitch-cart-accent);
}

.stitch-cart-price-breakdown__row--total {
	margin-top: 2px;
	padding-top: 8px;
	border-top: 1px solid #e2cdd0;
	color: var(--stitch-cart-ink);
	font-weight: 800;
}

.stitch-cart-price-breakdown__row--total :where(span, strong, .amount) {
	font-size: 14px !important;
}

.stitch-cart-bundle-group {
	margin: 0;
	padding: 15px 4px;
	border-bottom: 1px solid var(--stitch-cart-line);
}

.stitch-cart-bundle-group__title,
.stitch-cart-bundle-logos__title {
	margin: 0 0 3px !important;
	padding: 0 !important;
	border: 0 !important;
	color: var(--stitch-cart-ink) !important;
	font-size: 14px !important;
	font-weight: 850 !important;
	line-height: 1.35 !important;
}

.stitch-cart-bundle-group__positions {
	margin: 0 0 8px !important;
	color: #958b90;
	font-size: 12px !important;
}

.stitch-cart-bundle-group__positions strong {
	font-size: 12px !important;
	font-weight: 800;
}

.stitch-cart-bundle-group__products {
	display: grid;
	gap: 9px;
}

.stitch-cart-bundle-product {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: start;
	gap: 12px;
	min-width: 0;
}

.stitch-cart-bundle-product__details {
	display: grid;
	min-width: 0;
}

.stitch-cart-bundle-product__details strong,
.stitch-cart-bundle-product__quantity {
	color: var(--stitch-cart-ink);
	font-size: 13px !important;
	font-weight: 800;
}

.stitch-cart-bundle-product__details small {
	color: #958b90;
	font-size: 12px !important;
	overflow-wrap: anywhere;
}

.stitch-cart-bundle-product__quantity {
	white-space: nowrap;
}

.stitch-cart-bundle-logos {
	padding: 16px 4px 2px;
}

.stitch-cart-bundle-logos__title {
	margin-bottom: 11px !important;
}

.stitch-cart-bundle-logos__list {
	display: grid;
	gap: 11px;
}

.stitch-cart-bundle-logo {
	display: grid;
	grid-template-columns: 50px minmax(0, 1fr);
	align-items: center;
	gap: 12px;
	min-width: 0;
}

.stitch-cart-bundle-logo__preview {
	display: grid;
	place-items: center;
	width: 50px;
	height: 50px;
	overflow: hidden;
	border: 1px solid var(--stitch-cart-line);
	border-radius: 7px;
	background: #111;
	color: #fff;
	font-size: 12px !important;
	font-weight: 800;
	line-height: 1.15;
	text-align: center;
}

.stitch-cart-bundle-logo__preview img {
	width: 100%;
	height: 100%;
	border: 0 !important;
	border-radius: 0 !important;
	object-fit: contain;
}

.stitch-cart-bundle-logo__preview--text {
	padding: 4px;
	background: var(--stitch-cart-text-background, var(--stitch-cart-soft));
	color: var(--stitch-cart-text-colour, var(--stitch-cart-ink));
	font-style: normal;
	overflow-wrap: anywhere;
}

.stitch-cart-bundle-logo__preview--text.stitch-text-is-italic {
	font-style: italic !important;
}

.stitch-cart-bundle-logo__preview--text.stitch-text-colour--white { background: #151515; color: #fff; }
.stitch-cart-bundle-logo__preview--text.stitch-text-colour--black { background: #f3f4f6; color: #111; }
.stitch-cart-bundle-logo__preview--text.stitch-text-colour--silver { background: #151515; color: #c0c0c0; }
.stitch-cart-bundle-logo__preview--text.stitch-text-colour--red { background: #f3f4f6; color: #dc2626; }
.stitch-cart-bundle-logo__preview--text.stitch-text-colour--green { background: #f3f4f6; color: #16803a; }
.stitch-cart-bundle-logo__preview--text.stitch-text-colour--orange { background: #f3f4f6; color: #f97316; }
.stitch-cart-bundle-logo__preview--text.stitch-text-colour--blue { background: #f3f4f6; color: #2563eb; }
.stitch-cart-bundle-logo__preview--text.stitch-text-colour--purple { background: #f3f4f6; color: #7e22ce; }
.stitch-cart-bundle-logo__preview--text.stitch-text-colour--grey { background: #f3f4f6; color: #6b7280; }
.stitch-cart-bundle-logo__preview--text.stitch-text-colour--yellow { background: #151515; color: #facc15; }

.stitch-cart-bundle-logo__text-line {
	display: block;
	width: 100%;
	font: inherit;
	line-height: 1.15;
}

.stitch-cart-bundle-logo__details {
	display: grid;
	min-width: 0;
}

.stitch-cart-bundle-logo__details strong {
	font-size: 13px !important;
	font-weight: 850;
}

.stitch-cart-bundle-logo__details small {
	color: #958b90;
	font-size: 12px !important;
	overflow-wrap: anywhere;
}

/* Replace the compact generated metadata only after the expanded cart panel exists. */
body.woocommerce-cart .stitch-bundle-parent > td.product-name > :where(.variation, dl),
body.woocommerce-cart .stitch-has-expanded-bundle .wc-block-components-product-metadata > .wc-block-components-product-details {
	display: none !important;
}

body.woocommerce-cart .stitch-bundle-parent > td.product-name .stitch-cart-bundle-details {
	display: block;
}

body.woocommerce-checkout .stitch-cart-bundle-details,
.wc-block-mini-cart__drawer .stitch-cart-bundle-details,
.widget_shopping_cart_content .stitch-cart-bundle-details,
.elementor-menu-cart__container .stitch-cart-bundle-details,
.xoo-wsc-modal .stitch-cart-bundle-details,
.fkcart-modal .stitch-cart-bundle-details {
	display: none !important;
}

@media (max-width: 780px) {
	:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) {
		padding-right: 10px;
		padding-left: 10px;
	}

	.wc-block-cart-items__row,
	.wc-block-components-order-summary-item {
		padding: 13px 0 !important;
	}

	.woocommerce-cart table.shop_table td,
	.woocommerce-checkout table.shop_table td {
		padding: 12px 10px !important;
	}

	.woocommerce-cart table.shop_table .product-thumbnail img,
	.woocommerce-checkout table.shop_table .product-thumbnail img {
		width: 60px;
		height: 60px;
	}

	:where(.woocommerce-cart, .woocommerce-checkout) table.shop_table :where(.variation, dl) {
		grid-template-columns: 1fr;
		gap: 2px;
	}

	.stitch-cart-bundle-group,
	.stitch-cart-bundle-logos {
		padding-right: 0;
		padding-left: 0;
	}

	.stitch-cart-bundle-product {
		gap: 8px;
	}
}

@media (prefers-reduced-motion: reduce) {
	:where(
		.woocommerce-cart .woocommerce,
		.woocommerce-checkout .woocommerce,
		.wc-block-mini-cart__drawer,
		.xoo-wsc-modal,
		.fkcart-modal,
		.wfacp_order_summary_container,
		.wp-block-woocommerce-cart,
		.wp-block-woocommerce-checkout
	) * {
		transition: none !important;
	}
}
