Walmart says shoppers taking Ozempic buy ‘slightly less calories’ as retailers brace for the financial consequences of weight-loss drugs