Local Pickup conflicting with other shipping methods

We have a fragile product (Product #1) that has a shipping class set to Local Pickup. When this is added to the card, the other shipping method is hidden – this works perfectly.

The issue is if a different product is added (Product #2), it triggers Shipping and Local Pickup, so the customer can choose to have both products shipped, despite Product #1 as Local Pick-up. I don’t want fragile products to ship because they get damaged.

How do I change the cart so if a fragile item is added, all other items (regardless of their shipping class) MUST also be Local Pickup?

Secondly, can we add a pop-up message highlighting "that Local Pickup items cannot be shippd – please remove this item from your cart"

Open to any other ideas to make this work. Thank you