Make sure you add:
<meta name="viewport" content="width=device-width, initial-scale=1.0">
to your <head>
.
I had a similar problem and I mistakenly thought it was just a matter of viewport width.
Update: check out @NicolasBADIA answer for a more complete version.