/**
 * BOGO block cart styling.
 *
 * Hides the remove (trash) button on the Free Product placeholder line in the
 * block Cart and Checkout. The block cart renders the remove control in React
 * and doesn't expose a clean per-line "no remove" flag, so we target it via a
 * data attribute the JS integration stamps on the placeholder row
 * (data-sc-bogo-locked="1"). The quantity stepper is locked separately through
 * the Store API quantity limits (min = max), which renders it static.
 *
 * If the JS stamp isn't present (older/newer block markup), this rule simply
 * has nothing to match and the placeholder behaves like a normal line — the
 * server still re-enforces the correct quantity on the next cart update, so it
 * can't be gamed regardless.
 */

/* Hide the remove button on the locked placeholder line, wherever it renders
   (cart, checkout summary, mini-cart). We scope by the data attribute the JS
   stamps, not by a specific row class, so it works across all three surfaces
   and is resilient to block markup differences. */
[data-sc-bogo-locked="1"] .wc-block-cart-item__remove-link,
[data-sc-bogo-locked="1"] .remove,
[data-sc-bogo-locked="1"] .wc-block-components-product-remove {
	display: none !important;
}

/* Lock the quantity stepper on the placeholder line: hide the +/- buttons and
   make the value non-interactive. The Store API quantity limit (min = max)
   already renders it static in cart/checkout; this also covers the mini-cart,
   where that limit isn't always applied to the rendered control. */
[data-sc-bogo-locked="1"] .wc-block-components-quantity-selector__button {
	display: none !important;
}
[data-sc-bogo-locked="1"] .wc-block-components-quantity-selector__input {
	pointer-events: none;
	text-align: center;
}
