Gold hits Rs 31,000-mark on festive buying