Hi,
should it not be first the position, then the pivot as a child of position and then the camera as a child of pivot?
Position - Pivot - Camera
else as you move the pivot stays in place and your radius of pivot increase with the position distance.
Have you tried Cinemachine? it has all of these build in really... I would give it a go before trying to do a camera collision detection extension.
Else, I would first do a bit a research on Unity forum and Unity Answer, if you find something that works, then I can turn it into playmaker. Let me know what you find.
Bye,
Jean