I find my wallet's fee estimation quite low, but there's an option to set the mining fee manually.
Use something like mempool.space to improve your approximation.
In addition, you can also use
https://jochen-hoenicke.de/queue/#0,24h to get some graphical presentations of the network "congestion"... by hovering over the right hand edge of the bottom graph, you can also get a rough idea of what a "good" fee rate might be...
If you aim around the 0.5MB mark, you'll "normally" get next block or 2... however there are caveats on that.
For instance, if the next block takes an hour to find, then you might find that your transaction has been pushed down the stack by the time the block is found, so you might have to wait some more. Also, this assumes that there aren't any prior unconfirmed transactions that your current transaction is relying on (such as in your case).
To prevent a similar situation in the future, it might also be worth seeing if there is a setting in your wallet that will prevent it from attempting to spend "unconfirmed coins".