hallo,
Der folgende Code macht aber immer zwischen den einzelnen Felden eine Lücke.
Das liegt nicht (nur) an deiner CSS, sondern mehr daran, daß <p> ein Blockelement ist, das einen eigenen Absatz erzeugt. Wenn du einem solchen Element zusätzlich per CSS Ränder mitgibst, darfst du dich nicht über entstehende "Lücken" wundern.
Grüße aus Berlin
Christoph S.