ASBV,
My Costco card is with Citi, it advertises no foreign transaction fees - but I can't stand Citi and wouldn't be surprised if the claim is misleading.
I've used Amex for some hotels, and fewer restaurants, but mostly for rental cars in Europe. I had one small fender bender, in France, and they were outstanding to work with.
Generally a Visa or MC with tap pay capability is your best bet. I have been asked for a signature often when using my tap pay. It shouldn't be needed but I think a lot of clerks are told to have US customers (and they'll likely mistake you for a US customer) sign (they're used to non-tap and non-chip and pin cards). Humor them and sign; as far as I know, it's never shown up as two transactions on my statement.
As for cash. Avoid any "ATM" with "EX" in the name. These are actually exchange booths, disguised as bank ATM's and charge exorbitant fees. These days, it's hard to find an actual bank ATM in any airport and sometimes the main tourist squares have been taken over by these exchange machines. If it doesn't have a bank, banc, or banco in the name, it's probably not good. Also, if it asks if you want to use your credit card, it's not a normal ATM. A normal ATM asks if you want to use checking or savings and won't give you a credit card option.
Finally, restaurants (and other vendors) regularly ask whether you want your transaction in local currency (euros) or (in your case Canadian) dollars. It's presented as a convenience. Always choose local currency or you will be charged an extra foreign transaction fee on the sale.
Hope you have a great time. We're flying to Madrid Sunday from Dulles. We just got up here and are staying with a friend in Northern Virginia. We had discussed Spain as a destination last time we were up. Amazingly, they aren't only flying to Spain on the same day - but they're on the same flight. After that our paths diverge but I'd have a hard time convincing anyone we didn't coordinate with them - small, funny world.