The email price had a disclaimer about extra fees being charged on checkout. So that does not help. The resort fee i had to pay was for a gym in the hotel I did not use and probably could have negotiated, the urban fee was for the “SF urban experience” which I can only assume is non negotiable given the location of the hotel.
You can’t dispute partial fees either and no bank lets you dispute a charge that is on your bill as far as I’m aware.
The way a credit (or debit) card works in the US, is that the onus is on the merchant to prove the transaction was legitimate. This includes notifying you what the total price is and you accepting that.
No bank in my experience (as a merchant or customer) would stand behind undisclosed or unspecified charges.
I assumed you meant the email said “extra fees”, but did not specify how much. If the email didn’t explicitly state how much you will pay, or a formula to figure out how much, then I believe the banks would side with you.
However, I’ve always seen all the fees listed in email confirmations along with a final total price.