Since SegWit (BIP141), block space is measured in weight units (WU) instead of bytes. A block may have at most 4,000,000 WU.
Weight = base size × 3 + total size. In practice, every non-witness byte costs 4 WU and every witness byte costs 1 WU.
Fees are usually quoted per virtual byte (vB), where 1 vB = 4 WU. A block full of transactions without witness data is still limited to 1 MB, while blocks with lots of witness data can be larger, in practice around 1.5–2 MB, with a theoretical limit near 4 MB.