The issue is being caused by the space in your selector - when you use button .order {...} the space indicates that the order class is a descendant selector (ie - it relates to an element inside the button), but when you use buton.order {...} then the selector is the button with the class of order.
This can be summarized as follows: -
button .order {...}; // style all elements inside the button that have the class of "order"
<button> <span class="order">1</span></button>
button.order { ....} // style the button with the class of "order"
<button class="order">1</button>
but you do not need the element selector as well as a class selector - just use the class selector directly - unless you have buttons and other html elements with the same class but require different styling - then you will need to differentiate
.order { ... } // style all things with the class of"order"**