/* Controls emitted by Product Variant Table for WooCommerce. */
.pvtfw_variant_table_block .pvt-qty-input {
	--cw-bqb-border: var(--cw-bqb-accent);
	align-items: stretch;
	box-sizing: border-box;
	width: 104px;
	max-width: 100%;
	height: 36px;
	max-height: none;
	margin: 0 auto;
	border: 1px solid var(--cw-bqb-border);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(12, 131, 31, .08);
	color: var(--cw-bqb-accent);
	overflow: hidden;
}

/* The quantity control is relocated to the action cell. Hide the now-empty
 * quantity table cell even when the companion plugin's table-cell rule wins. */
.pvtfw_variant_table_block .cw-bqb-quantity-cell { display: none !important; }
.pvtfw_variant_table_block .cw-bqb-action-cell { white-space: nowrap; }

/* The companion plugin sets .pvt-qty-input to display:flex, which otherwise
 * overrides the browser's [hidden] rule. Keep the two control states exclusive. */
.pvtfw_variant_table_block .cw-bqb-add-button[hidden],
.pvtfw_variant_table_block .pvt-qty-input.cw-bqb-cart-stepper[hidden] { display: none !important; }

.pvtfw_variant_table_block .cw-bqb-add-button {
	min-width: 104px;
	height: 36px;
	margin: 0;
	padding: 0 16px;
	border: 1px solid var(--cw-bqb-accent) !important;
	border-radius: 8px;
	background: #fff !important;
	box-shadow: none;
	color: var(--cw-bqb-accent) !important;
	font: 800 13px/34px system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	letter-spacing: .04em;
}

.pvtfw_variant_table_block .cw-bqb-add-button:hover,
.pvtfw_variant_table_block .cw-bqb-add-button:focus { background: rgba(12, 131, 31, .08) !important; }
.pvtfw_variant_table_block .cw-bqb-cart-stepper { margin: 0; }
.pvtfw_variant_table_block .cw-bqb-is-loading .cw-bqb-add-button,
.pvtfw_variant_table_block .cw-bqb-is-loading .cw-bqb-cart-stepper { opacity: .55; pointer-events: none; }

.pvtfw_variant_table_block .pvt-qty-input .pvtfw-quantity { display: contents; }

.pvtfw_variant_table_block .pvt-qty-input .qty-count,
.pvtfw_variant_table_block .pvt-qty-input input.input-text.qty.text {
	box-sizing: border-box;
	height: 34px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: var(--cw-bqb-accent);
	font: 700 17px/1 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.pvtfw_variant_table_block .pvt-qty-input .qty-count {
	width: 32px;
	min-width: 32px;
	text-indent: 0;
	transition: background-color .15s ease, color .15s ease;
}

.pvtfw_variant_table_block .pvt-qty-input .qty-count::before,
.pvtfw_variant_table_block .pvt-qty-input .qty-count::after { display: none; }

.pvtfw_variant_table_block .pvt-qty-input .qty-count:hover:not(:disabled) { background: rgba(12, 131, 31, .09); }
.pvtfw_variant_table_block .pvt-qty-input .qty-count:focus-visible,
.pvtfw_variant_table_block .pvt-qty-input input.input-text.qty.text:focus-visible { outline: 2px solid var(--cw-bqb-accent); outline-offset: -2px; }

.pvtfw_variant_table_block .pvt-qty-input input.input-text.qty.text {
	width: 38px;
	min-width: 38px;
	text-align: center;
	appearance: textfield;
}

.pvtfw_variant_table_block .pvt-qty-input input.input-text.qty.text::-webkit-inner-spin-button,
.pvtfw_variant_table_block .pvt-qty-input input.input-text.qty.text::-webkit-outer-spin-button { appearance: none; margin: 0; }

.pvtfw_variant_table_block .pvt-qty-input .qty-count:disabled {
	background: transparent;
	color: #a8b0a9;
	cursor: not-allowed;
}

.pvtfw_variant_table_block .pvt-qty-input.pvt-disabled-qty { opacity: .55; }

@media (prefers-reduced-motion: reduce) {
	.pvtfw_variant_table_block .pvt-qty-input .qty-count { transition: none; }
}
