How to restrict camera movement?

Notes on clamping camera rotation and NOT using .eulerAngles because of gimbal lock: