When I go to Pokestops, sometimes it tells me my bag is full, even though I'll only have about 20 pokeballs and about the same number of great balls.
Is bag fullness dictated by the total number of items or is there a cap per item?
Click on the red pokeball in the bottom middle of the screen. Then click on items and on the top of that screen it should say xxx/350. Bag size fullness is only dictated by total number of items, you can have 350 pokeballs if you wanted.