Kallis leads South Africa recovery vs. India