The only part of a button that is clickable is the text. This is especially noticeable on full-width buttons.
This might let a sloppy user miss a click which means a potential missed opportunity. A klunky work-around is to add a bunch of 's around the text.
Otherwise, I am very impressed with the work you've done. You struck a great balance between abstraction and writing bare-metal HTML for emails. Thank you very much.