/* Server-rendered markers follow WooCommerce's actual per-item purchase policy.
   :has() updates with cart/checkout fragments without a second AJAX or JS handler. */
.mosica-cart-quantity-fixed,
.mosica-cart-quantity-editable {
    display: none !important;
}

/* Remove the entire unused column only when every marked item is fixed at one. */
.woocommerce-cart-form table.cart:has(.mosica-cart-quantity-fixed):not(:has(.mosica-cart-quantity-editable)) > thead > tr > .product-quantity,
.woocommerce-cart-form table.cart:has(.mosica-cart-quantity-fixed):not(:has(.mosica-cart-quantity-editable)) > tbody > tr > .product-quantity,
table.diy-checkout-table.cart-table:has(.mosica-cart-quantity-fixed):not(:has(.mosica-cart-quantity-editable)) > thead > tr > .product-quantity {
    display: none !important;
}

/* DIY Checkout keeps its mobile line subtotal inside the quantity cell. */
@media (min-width: 768px) {
    table.diy-checkout-table.cart-table:has(.mosica-cart-quantity-fixed):not(:has(.mosica-cart-quantity-editable)) > tbody > tr > .product-quantity {
        display: none !important;
    }
}

@media (max-width: 767px) {
    table.diy-checkout-table.cart-table > tbody > tr > .product-quantity:has(.mosica-cart-quantity-fixed) {
        justify-content: flex-end !important;
    }

    table.diy-checkout-table.cart-table > tbody > tr > .product-quantity:has(.mosica-cart-quantity-fixed)::before {
        display: none !important;
    }
}

/* Salient stacks cart rows at 770px; fixed items need no empty quantity line. */
@media (max-width: 770px) {
    .woocommerce-cart-form table.cart > tbody > tr > .product-quantity:has(.mosica-cart-quantity-fixed) {
        display: none !important;
    }
}
