There are a number of ways of attacking this.
First, JQM has a theme system, which can be useful for making fairly general changes to appearance:
http://jquerymobile.com/demos/1.2.0/docs/api/themes.htmlThere are five pre-defined themes, A through E. You can generally apply these themes to any widget. But they don't offer a very fine-grained control over appearance. They do, however, provide for separate theming of the body and header ("bar")(if applicable) of most widgets.
So, the first thing you can do is to see if any of the pre-defined themes would be suitable to your needs. You apply a theme by adding, for example,
data-theme="a" to a widget. The documentation will tell you where you can use data-theme. You will have to check for each type of widget.
If not, then you might want to use Themeroller to create your own themes.
If applying a theme won't do the job (and it often won't, because they don't offer a very fine-grained control) or perhaps you only want to change one thing on one particular widget, then you will need to write a CSS override. You will need to examine the CSS and determine what you need to override. The tools I mentioned above are invaluable for this.
You can fiddle to your hearts content in Web Inspector, and then copy the CSS to your override file once you are happy with it.
You should load your own CSS file containing overrides after the jQuery Mobile CSS.