Align weapon to target by chest rotation

I have a dilemma that I can’t explain.
I’ll try.

I would like to rotate my character’s chest so that the weapon points at the target.

The chest and the weapon are not aligned.
In the photos, you can see how I managed to rotate my chest so that it faces the target.

Chest rotation works correctly, but now it is the chest that is aligned, not the weapon.

In the second photo, you notice that the Rifle is not looking at the target, because there is a different angle between the chest and the Rifle.

The code is simple enough.

Vector3 direction = TargetObject.transform.position - chestBone.position ;
Quaternion chestTargetRotation = Quaternion.LookRotation(direction, chestBone.up);
chestTargetRotation.eulerAngles = new Vector3(chestTargetRotation.eulerAngles.x, chestTargetRotation.eulerAngles.y, chestBone.eulerAngles.z);//I limit the rotation to the X Y axes
slerpedRotation = Quaternion.Slerp(slerpedRotation, chestTargetRotation, 4 * Time.deltaTime); //Calculated in LateUpdate to override the animation
chestBone.rotation = slerpedRotation;

What I want is:

Rotate my chest so that the rifle is looking at the target.

I hope I have explained myself.