The first thing I read when Googling the question is this - https://ethereum.org/en/developers/docs/smart-contracts/ - says there is a 24KB limit.
But, on reading a couple answers, such as here - A smart contract's storage problem , further ERC ？ - apparently we can store a monumentally-more-than-that amount of data in a smart contract. I'm not necessarily suggesting the accepted answers on those questions are wrong, but I think either Ethereum need to clarify better what it says in their docs, or perhaps I've just misunderstood.
What exactly is the 24KB limit referring to?
Can I (successfully in real life and not 'theoretically') store GBs or even TBs in, for example, a mapping that I wrote in Solidity?
Is the 24KB limit referring only to the initial deployment / code? And the limit to the data, which is sent to the contract in transactions after the initial deployment, is much much more?