What is the maximum size a block can be? Is there a minimum size? Can you have a block with 0 transactions included?
The current maximum block size is 1MB (but it could be increased in the future with a protocol change), there is no minimum size per se, but the block needs to have all its components to be valid (check Protocol Specification). Each block needs to have at least one transaction - one paying the miner the reward for mining the block.
Since the segwit upgrade, Bitcoin blocks are restricted to 4,000,000 weight units. Witness data counts towards that limit 1:1 (one byte is one weight unit), while non-witness data counts towards that limit 1:4 (one byte is four weight units).
While theoretically a block could therefore be up to 4,000,000 bytes if it consisted only of witness data, there are a few parts of transactions that are never witness data. Many blocks now exceed 1 MB with the average blocksize being around 1.3 MB these days. The biggest block so far was 748,918 with 2,765,062 B.
As ThePiachu explained, every block must have at least the coinbase transaction to be valid.