/**
 * Canvas: add-to-cart form.
 *
 * A variable product's attribute menus, hidden for a layout whose swatch row is
 * the only control. The menus stay in the page and stay wired to WooCommerce's
 * variation form; only the rule below takes them out of view, and the
 * `<noscript>` rule the block prints in the head puts them back for a visitor
 * with no JavaScript, for whom the swatch row cannot work.
 */

.canvas-variations-hidden .variations {
	display: none;
}

/**
 * A variable product's button before its options identify one variation.
 *
 * The design system takes pointer events off every `.button.disabled`, so the
 * button WooCommerce disables until a variation resolves swallows the click
 * silently: the visitor presses Add to Cart and nothing whatsoever happens,
 * not even WooCommerce's own answer. This stylesheet loads with the add-to-cart
 * block, so the rule reaches the cart form and nothing else; the click is then
 * answered by the block's message, or by WooCommerce's own if the option is off.
 */

form.cart .single_add_to_cart_button.disabled {
	pointer-events: auto !important;
}

/**
 * The button while its request is in flight. Both states are added by the
 * add-to-cart client and removed when the request settles, so neither exists
 * on the page a visitor loads.
 */

.single_add_to_cart_button.loading {
	cursor: progress;
	opacity: 0.65;
}

.canvas-atc-message .canvas-atc-cart-link,
.toast .canvas-atc-cart-link {
	color: inherit;
	text-decoration: underline;
}
