Rule reminder
'Avere caldo' = to be hot / to feel warm (literally: to have heat). 'Avere freddo' = to be cold / to feel cold (literally: to have cold). These refer to how a PERSON feels, not the weather. For weather: 'Fa caldo' (it's hot) / 'Fa freddo' (it's cold).
How do you say 'I am hot' (I feel warm) in Italian?