Your first issue is tied to the XPath you use to get the 'item-price' nodes. You have a capital 'C' in your XPath but the HTML from the site has a lower case 'c'. XPath is case-sensitive.
The second issue I see is you didn't set any value to your htmlDoc variable. You create a new instance of it but you never load the html into it.
I re-worked your code, I would recommend not using the var keyword unless you are using it with LINQ. You should always use the correct type for your variables.
Here's your code re-factored. I have tested this and it works.
string bookPrice = string.Empty;
HtmlAgilityPack.HtmlDocument htmlDoc = new HtmlAgilityPack.HtmlDocument();
htmlDoc.OptionFixNestedTags = true;
htmlDoc.LoadHtml(responseData1);
HtmlAgilityPack.HtmlNode rootNode = htmlDoc.DocumentNode;
HtmlAgilityPack.HtmlNodeCollection allBookResults = rootNode.SelectNodes("//div[@class='result-detail']");
foreach (HtmlAgilityPack.HtmlNode node in allBookResults)
{
HtmlAgilityPack.HtmlNode dataNode = node.SelectSingleNode("//div[@class='item-price']");
foreach (HtmlAgilityPack.HtmlNode bookPriceNode in dataNode.ChildNodes)
{
bookPrice = bookPriceNode.SelectSingleNode("//span[@property='price']").GetAttributeValue("content",null).ToString();
}
}