Ваш HTML на самом деле беспорядок, где очень сложно отследить вещи. Кажется, каждый абзац имеет свой собственный div - это нет-нет, тэг p существует по причине. Кроме того, все эти div не могут быть идентифицированы по отдельности, а это означает, что вы никогда не сможете найти тот, который вам нужен.
Честно говоря, лучший способ здесь - просто установить этот интервал вокруг каждой найденной вами цены.
Вы всегда можете отследить все сильные элементы, поскольку только они используются рядом с ценами, но это может привести к ошибкам при использовании других сильных тегов в других местах (если они у вас когда-либо есть). Поскольку не похоже, что у CSS есть способ найти родительский элемент, вам все равно придется делать это через JS:
var pricedivs = document.getElementsByTagName("strong");
for (var i = 0; i < pricedivs.length; i++) {
pricedivs[i].parentNode.className = "price";
}
И связанный CSS:
.price { color: red; }
.price strong { color: black; } /* We only want the text beside the strong tag, so set the style back */
Эффект заключается в том, что весь текст, окружающий текст с сильным тегом, будет окрашен в красный цвет.