This is pretty simple.
Bitcoin credit card's mag stripe is encoded with your Bitcoin address.
Each merchant (brick and mortar store) has a pre-configured terminal ready to accept Bitcoin along with credit and debit cards.
Merchant rings you up on their POS System (point of sale system) with the Bitcoin enabled software, that than processes the mag stripe Bitcoin address, ringing up your scanned items.
Amount shows on the terminal for your approval (much like a debit transaction). You press Yes (green) to accept, or Cancel (red) to decline.
Perhaps a pin code could be added somehow, this would be very hard to implement universally though, and I don't think it would be feasible, at least not at first.
Customer hits OK and transaction goes through, debiting their Bitcoin address.
Receipt prints out and shows available balance in BTC and USD.
---
The problem is that bitcoin is a push system. If the shop can directly charge bitcoins in your adress if because they know your private key... so the also could charge all the money they want in the future. Makes no sense at all.
You need some kind of bank or intermediate.
I talked to someone on the BitCoin Convention with a great idea. You can store Gold, Silver and BTC on a credit card and it only gets converted to cash if you use the card. That way you always get the most recent price.
This is a great idea! But only if they offer a legit change
