c4 was a mistake but not a blunder. But IMHO your opponent gave you the opportunity to clean up the mistake by playing 6. Bg2 (cxd)
Dropping the bishop was of course due to you being tired. Retrating the attacked bishop to e6 was better.
You ask... Whay not 18.f3 (because f3 was pinned to the king by Qc4)
21. ..g5? drops your knight on f6.
What is on top of my mind after reading the annotation and looking at the game is why not play 24. ..Re1+ winning. But alas I have missed many a winning move OTB myself.
I played these games, each the third game of a quad against the strongest player in the quad. 2-0 vs 2-0 with this to decide who wins the quad. Games under 30-0 time control. I'm only posting one of the two for now since I'm tired after typing this out and the other game is much longer, still need to analyze that.