How do I disable the "Continue to payment" button before the shipping method is selected?
I would've assumed form states would do the trick, but without seeing the code you've tried, it's hard to say what the issue might be. That said, we did just get the patch into Commerce Shipping that automatically calculates shipping upon full address entry and recalculates it on address change. I believe that may resolve the issue that led you to look into this in the first place. You can upgrade to Commerce Shipping 2.x-dev or apply this patch: https://www.drupal.org/project/commerce_shipping/issues/2849756#comment-14030351