.wdonline_tfw-checkout-product-image,
.wdonline_tfw-order-product-image {
	display: inline-block;
	margin-right: 10px;
	vertical-align: middle;
}

.wdonline_tfw-checkout-product-image img,
.wdonline_tfw-order-product-image img {
	display: inline-block;
	width: auto;
	height: auto;
	max-width: var(--wdonline_tfw-image-size, 60px);
	max-height: var(--wdonline_tfw-image-size, 60px);
	object-fit: contain;
	vertical-align: middle;
}

.wdonline_tfw-checkout-product-name,
.wdonline_tfw-order-product-name {
	display: inline;
	vertical-align: middle;
}

.wdonline_tfw-product-image-link {
	display: inline-block;
	line-height: 0;
}

.wdonline_tfw-checkout-item-actions {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 8px;
	width: 100%;
}

.wdonline_tfw-checkout-quantity-wrap {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	flex: 0 0 auto !important;
	gap: 0 !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	vertical-align: middle;
}

/*
 * Isolate WooCommerce's inner quantity wrapper from theme rules. The plugin's
 * plus/minus buttons are inserted outside this element, leaving it responsible
 * only for the accessible label and numeric field.
 */
.wdonline_tfw-checkout-quantity-wrap .quantity {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	flex: 0 0 56px !important;
	float: none !important;
	position: static !important;
	box-sizing: border-box !important;
	width: 56px !important;
	min-width: 56px !important;
	max-width: 56px !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	gap: 0 !important;
	transform: none !important;
}

.wdonline_tfw-checkout-quantity-wrap .qty,
.wdonline_tfw-checkout-quantity-wrap input.wdonline_tfw-checkout-quantity {
	display: block !important;
	float: none !important;
	position: static !important;
	box-sizing: border-box !important;
	flex: 0 0 56px !important;
	min-width: 56px !important;
	max-width: 56px !important;
	width: 56px !important;
	height: 30px !important;
	margin: 0 !important;
	padding: 0 6px !important;
	border-radius: 0 !important;
	text-align: center !important;
	transform: none !important;
}

/* Hide quantity buttons injected by themes inside this plugin's quantity field. */
.wdonline_tfw-checkout-quantity-wrap .quantity > .minus,
.wdonline_tfw-checkout-quantity-wrap .quantity > .plus {
	display: none !important;
}

.wdonline_tfw-qty-button {
	appearance: none;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 30px !important;
	height: 30px !important;
	min-width: 30px !important;
	margin: 0 !important;
	padding: 0 !important;
	background: #f7f7f7 !important;
	border: 1px solid #cfcfcf !important;
	border-radius: 3px !important;
	box-shadow: none !important;
	color: #333 !important;
	cursor: pointer;
	font: inherit;
	font-weight: 600;
	line-height: 1 !important;
	opacity: 1 !important;
	visibility: visible !important;
}

.wdonline_tfw-qty-button:hover,
.wdonline_tfw-qty-button:focus {
	background: #eeeeee !important;
	color: #111 !important;
}

.wdonline_tfw-qty-button:disabled {
	cursor: not-allowed;
	opacity: 0.45 !important;
}

.wdonline_tfw-checkout-remove {
	appearance: none;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: var(--wdonline_tfw-remove-padding-vertical, 5px) var(--wdonline_tfw-remove-padding-horizontal, 10px) !important;
	background-color: var(--wdonline_tfw-remove-background-color, #d63638) !important;
	border: 1px solid var(--wdonline_tfw-remove-border-color, #d63638) !important;
	border-radius: var(--wdonline_tfw-remove-border-radius, 4px) !important;
	box-shadow: none !important;
	color: var(--wdonline_tfw-remove-text-color, #fff) !important;
	cursor: pointer;
	font: inherit;
	line-height: 1.3 !important;
	opacity: 1 !important;
	text-decoration: none !important;
	visibility: visible !important;
	white-space: nowrap;
}

.wdonline_tfw-checkout-remove:hover,
.wdonline_tfw-checkout-remove:focus {
	background-color: var(--wdonline_tfw-remove-hover-background-color, #b32d2e) !important;
	border-color: var(--wdonline_tfw-remove-border-color, #d63638) !important;
	color: var(--wdonline_tfw-remove-hover-text-color, #fff) !important;
	opacity: 1 !important;
	text-decoration: none !important;
	visibility: visible !important;
}

.wdonline_tfw-checkout-remove:disabled,
.wdonline_tfw-checkout-quantity:disabled {
	cursor: wait;
	opacity: 0.6 !important;
}

/* WooCommerce Blocks already render product thumbnails in the checkout order summary. */
.wc-block-checkout .wc-block-components-order-summary-item__image img {
	max-width: 100%;
	height: auto;
	object-fit: contain;
}
.wdonline_tfw-identifiers {
	margin: 0.5em 0;
}

.wdonline_tfw-variation-identifiers[hidden],
.wdonline_tfw-identifier-row[hidden] {
	display: none !important;
}

.wdonline_tfw-identifier-row {
	display: block;
}

.wdonline-tfw-preorder-notice {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0 0 18px;
	padding: 14px 16px;
	background: var(--wdonline-tfw-preorder-background, #eef6ff);
	color: var(--wdonline-tfw-preorder-text, #0f3d66);
	border: 1px solid var(--wdonline-tfw-preorder-border, #2271b1);
	border-left-width: 5px;
	border-radius: 4px;
	line-height: 1.5;
}

.wdonline-tfw-preorder-notice[hidden] {
	display: none;
}

.wdonline-tfw-preorder-badge {
	display: inline-block;
	flex: 0 0 auto;
	padding: 3px 8px;
	background: var(--wdonline-tfw-preorder-badge-background, #2271b1);
	color: var(--wdonline-tfw-preorder-badge-text, #ffffff);
	border-radius: 3px;
	font-size: 0.8em;
	font-weight: 700;
	line-height: 1.4;
	text-transform: uppercase;
}

.wdonline-tfw-preorder-message {
	font-weight: 600;
}

.wdonline-tfw-preorder-loop {
	display: flex;
	align-items: flex-start;
	gap: 7px;
	margin: 6px 0 10px;
	color: var(--wdonline-tfw-preorder-text, #0f3d66);
	font-size: 0.9em;
	line-height: 1.4;
}

/* Storefront design module: product archives, categories and related products. */
.wdonline-tfw-design-enabled.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wdonline-tfw-design-enabled.woocommerce ul.products li.product h2,
.wdonline-tfw-design-enabled.woocommerce ul.products li.product h3 {
	color: var(--wdonline-tfw-archive-title-color, #222222) !important;
	font-size: var(--wdonline-tfw-archive-title-size, 16px) !important;
}

.wdonline-tfw-design-enabled.woocommerce ul.products li.product .price,
.wdonline-tfw-design-enabled.woocommerce ul.products li.product .price .amount {
	color: var(--wdonline-tfw-archive-price-color, #2f9e44) !important;
	font-size: var(--wdonline-tfw-archive-price-size, 18px) !important;
}

.wdonline-tfw-design-enabled.woocommerce ul.products li.product .button,
.wdonline-tfw-design-enabled.woocommerce ul.products li.product a.button,
.wdonline-tfw-design-enabled.woocommerce ul.products li.product button.button {
	background-color: var(--wdonline-tfw-archive-button-background, #67b72b) !important;
	border: 1px solid var(--wdonline-tfw-archive-button-border, #67b72b) !important;
	border-radius: var(--wdonline-tfw-archive-button-radius, 20px) !important;
	color: var(--wdonline-tfw-archive-button-text, #ffffff) !important;
	font-size: var(--wdonline-tfw-archive-button-size, 14px) !important;
}

.wdonline-tfw-design-enabled.woocommerce ul.products li.product .button:hover,
.wdonline-tfw-design-enabled.woocommerce ul.products li.product .button:focus,
.wdonline-tfw-design-enabled.woocommerce ul.products li.product a.button:hover,
.wdonline-tfw-design-enabled.woocommerce ul.products li.product a.button:focus,
.wdonline-tfw-design-enabled.woocommerce ul.products li.product button.button:hover,
.wdonline-tfw-design-enabled.woocommerce ul.products li.product button.button:focus {
	background-color: var(--wdonline-tfw-archive-button-hover-background, #4f941d) !important;
	color: var(--wdonline-tfw-archive-button-hover-text, #ffffff) !important;
}

/* Storefront design module: single-product price and purchase button. */
.wdonline-tfw-design-enabled.single-product div.product .summary .price,
.wdonline-tfw-design-enabled.single-product div.product .summary .price .amount {
	color: var(--wdonline-tfw-single-price-color, #2f9e44) !important;
	font-size: var(--wdonline-tfw-single-price-size, 20px) !important;
}

.wdonline-tfw-design-enabled.single-product div.product .summary .single_add_to_cart_button,
.wdonline-tfw-design-enabled.single-product div.product .summary button.single_add_to_cart_button {
	background-color: var(--wdonline-tfw-single-button-background, #67b72b) !important;
	border: 1px solid var(--wdonline-tfw-single-button-border, #67b72b) !important;
	border-radius: var(--wdonline-tfw-single-button-radius, 20px) !important;
	color: var(--wdonline-tfw-single-button-text, #ffffff) !important;
	font-size: var(--wdonline-tfw-single-button-size, 14px) !important;
}

.wdonline-tfw-design-enabled.single-product div.product .summary .single_add_to_cart_button:hover,
.wdonline-tfw-design-enabled.single-product div.product .summary .single_add_to_cart_button:focus,
.wdonline-tfw-design-enabled.single-product div.product .summary button.single_add_to_cart_button:hover,
.wdonline-tfw-design-enabled.single-product div.product .summary button.single_add_to_cart_button:focus {
	background-color: var(--wdonline-tfw-single-button-hover-background, #4f941d) !important;
	color: var(--wdonline-tfw-single-button-hover-text, #ffffff) !important;
}
