Hi @omnisine, we originally had layout properties as part of classes, but we took them out because it led to some confusing situations:
Elements can have multiple classes, and it wasn't obvious how we should combine properties. E.g., if class A has a top margin and class B has a bottom margin, does an element that has both classes have the margin on the top and bottom, or does the last class "win"? (This last-class-wins behavior is what happens now if you, for example, have two classes that each define, say, a background color)
What happens when a class has layout conflict with the element? Like if the element is in "freeform mode" but the class has a "max-width" set on computed mode layout?
That said, we're not 100% confident about this --- there are certainly situations where you want to share some layout values between different elements, like the "card" situation you are describing.
Right now you may be able to solve your issue to make a single "card" component with different states.
I'd love to see if you can accomplish what you want that way, and if not, if you could explain some of the trouble you ran into.