Lagos, Portugal ticks all those boxes. Great beaches (Meia Praia on the other side of the river is huge - i loves it, I do), restaurants galore, wide range of villas and apartments, lively shopping area, old Fort (& oldest slave market in Europe - and a must-see museum of slavery next to it)...