I didn't buy a single thing at the duty-free shop.

Literal

Duty-free-shop [at-では] shopping [topic-は] one-counter [also-も] did-not.

一つもしませんでした combines the counter 一つ ('one [generic]') with も + negative — 'not even one.' 買い物をする ('to do shopping') is the standard verbal frame for shopping as an activity. The では ('as for at X') scopes the negation to the duty-free shop specifically.