Hmm, it doesn’t look like Elementor is displaying the link correctly. If we instead return to the original idea of using a code snippet to make the button work, then you might have more luck with this one:
add_action( 'wp_head', function () { ?>
<script type='text/javascript'>
!function(b,c){b.saloniqid='ac589142-60bc-4acd-acdd-fccf491bf729',b.saloniqsite='https://bookings.saloniq.co.uk';var d,g,e='onlinebookingwidget-loader',f=c.getElementsByTagName('script')[0];c.getElementById(e)||(d=c.createElement('script'),d.id=e,d.async=!0,d.src=b.saloniqsite+'/scripts/onlinebookingwidget-loader.javascripts?d='+Date.now(),g=f?f.parentNode:c.getElementsByTagName('head')[0],g.insertBefore(d,f))}(window,document);
</script>
<?php } );
add_action( 'wp_footer', function () { ?>
<script>
document.getElementById( 'book_button' ).addEventListener( 'click', function () {
window.saloniq.loader.openIFrame();
} );
</script>
<?php } );
In the Elementor settings, you will want to set the Link URL value to #
to make sure that it stays on the same page.