What was 3♥? My preferred method is 2♠ -> 3♣, 2NT -> 3♦. If opener bids the in-between bid, rather than completing, it denies a good fit. With QJx, Kxx, Axxx, stuff like that, opener completes. Basically, good fit that can support a light 3NT bid. On the given hand, I think 1NT - 2NT - 3♦-3NT is a fine auction for the given hands. A couple of practical notes here. 1N-2C-2any-2NT does not promise a 4 card major. This is how you handle all invites. 1N-2NT is also used on very weak hands with both minors. If opener denies a good diamond holding with 3♣, you play there.