Is it safe to output pin to 12V through a resistor?

Then the N channel can be a TO92 size and the P channel can be a TO251 size (pin pitch about 2.2mm)

As I understand the best solution is a pair of 2 transistors so far. Somethig similar a NPN–PNP Darlington, but separate cases in order to have individual access to all pins.

What's wrong with the MOSFET circuit?
one N and one P
High current PNPs with low Vce are hard to find

For safety, you could add a opto-coupler between the Arduino and the mosfet (or darlington transistor). The nice thing about a opto-coupler is that it can be used with high-side switching and with low-side switching with only a few extra resistors.

You win! If I anyway have to redesign the PCB I can go on MOSFET as well.
(To understand why I'm still a bit distrustful to FET semiconductors, I learned electronics in the former communist dictature where whe haven't even seen MOSFET technology – apart from the Romanian Z80 clone – so I'm still much familiar to bipolar transistors.)

The N channel can be a 2N7000.
TME.EU has plenty

Understand.
Good luck with the project