Hi,
Certain elements might have the same classes across different page types, but the containers they are wrapped in do not, at least not by default (means for as long as it hasn't been overridden).
E.g. all HikaShop content on a product page is wrapped in a div with the class "hikashop_product_page".
And in product listings (menu items as well as modules) you'll find most relevant content wrapped in a div with the class "hikashop_products_listing".
By utilizing such classes you are able to apply CSS individually, so it's valid for the same element only in listings or only in product pages, similar to this way:
.hikashop_product_page .hikashop_product_price {
color: #ff0000;
font-size: 32px;
font-weight: bold;
}