You do need a CPU/SoC that’s efficient, and while Intel and AMD can do this it’s traditionally been a struggle for them.
Next, the OS needs to be capable of taking full advantage of the chip’s efficiency. Windows could be decent here in, but Microsoft doesn’t believe in an operating system that’s ever truly idle (and neither do the third parties living in your taskbar tray), so even on relatively efficient laptops much of that potential is wasted. Linux is kind of all over the place, depending on your hardware, which governor you’re using, how it’s configured, whether your browsers are configured to use GPU acceleration or are burning power intensive CPU cycles, etc.
Then there’s sleep. Most of the problems here come down to x86 laptops not implementing proper S3 sleep but only “modern standby”, which attempts to emulate the sleep mode that Apple uses that allows for emails to be fetched etc while in a near-sleep low-power state. The problem is that modern standby is not implemented well in Windows or Linux and how individual laptop firmwares handle it can vary a great deal, and the sum of it is that it generally speaking doesn’t work, which is why so many x86 laptops drain themselves after being “asleep” for a couple of days. My ThinkPad does this too.
It’s possible for x86 machines to manage this state correctly, as proven by Valve’s Steam Deck which can be put to sleep and drain its battery slowly enough to stay alive for a week or more. This seems to require a level of integration between the hardware and the OS (an Arch based Linux in this case) than practically all laptop vendors are either willing or capable of.