I use Halifax Clarity credit card and withdraw cash as needed from ATMs. This is the best according to this:
https://www.moneysavingexpert.com/credit-cards/travel-credit-cards/
Also in portugal ATM fees vary a lot. The cheap ones are liberbank, kuxtabank, ibercaja, espanaduero, unicaja...