...and here's an example of one I've used before:
In your template.master include this:
Code:
<asp:Literal runat="server" Text="<%$ Tokens: XmlPackage, body.xml.config %>" />
Then, in a body.xml.config XMLPackage, include a line such as this:
Code:
<xsl:choose>
<xsl:when test="$Category=1" >
<xsl:text disable-output-escaping="yes"><![CDATA[<body class="category1">]]></xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text disable-output-escaping="yes"><![CDATA[<body>]]> </xsl:text>
</xsl:otherwise>
</xsl:choose>
In this simple example, I set the class of the body based on an XSL Param called $Category. In real versions, it can get a lot more complex than this and you can create custom CSS styles for specific pages based on product, category, page name etc.