Celtic stun Barcelona