There was a recall on radiator caps. Check to see if yours has been replaced. Get the cats looked at to make sure they are not restricting flow at idle. Normally it takes 20 minutes to get them hot enough to get them working properly. Then look at the injectors. Tired injectors will put more fuel then needed at idle which would cause it to run hot. You might want to spend the money and have an emissions test done and see how it behaves at idle.