Why did I listen to you? I could have been at home now instead of sitting here in the cold!
I've learned "could have Vpp" refers to the past, but "now" literally means "now", right? So I'm confused why different tense forms are used here.
Can I put "can be" or "could be" instead of "could have been"?
Not a teacher, just a language lover.
If you say "can be" or "could be" then still people can see what you mean but I think "could have been" is the most natural way to say it. That's because the speaker is talking to something not real. He "could have been" at home but actually he is now NOT at home and the fact that he's at home is not real, just something like a wish.
I think the sentence is fine.
Usually you need time to go home.
(No matter if you walk, drive or whatever.)
While you were listening to the person, you could have driven/walked to your home, so that you are at home now.
Maybe another example can help you:
If you had started to learn English 20 years ago, you could have been an expert now.
(Not related to you. )
And the Present Perfect begins in the past but still affects the present!
So it's logical that a word like nowcan be used here.
Anyway, I hope some other members will also explain it because I'm not sure if my explanation is good...