I am only aware of hardware solutions for true offline transactions - coinkites opendime, etc.
You could do it with payment channels (eg. Lightning ) but you would need to go online at some point to confirm the channel wasn't closed and potentially publish a revocation tx.