Prova una cosa così:

codice:
<div class="row">
    <?php foreach ($elencolibri as $libro) : ?>
 
        <div class="col-md-3">
            <!-- card -->
            <div class="card border-primary mb-3">
                <div class="card-header">
                    <h5id="titolo"><?= $libro['titolo']; ?></h5>
                </div>
                <div class="card-body">
                    <p><img class="card-img" id="immagine" src="../img/cover/<?= $libro['titolo']; ?>.jpg" alt=""></p>
                    <!-- opzioni disponibili solo al cliente-->
                    <?php if ($_SESSION['seller'] === 'no') : ?>
                        <span id="prezzo"><?= $libro['prezzo']; ?>€ </span>
                        <input type="number" id="qnt-<?= $libro['id_libro']; ?>">
                        <a type="button" class="add-cart" data-id="<?= $libro['id_libro']; ?>">
                            <i class="fa-solid fa-cart-shopping"></i>
                        </a>
                        <a type="button" class="add-fav">
                            <i class="fa-solid fa-heart"></i>
                        </a>
                    <?php endif; ?>
 
                    <p><a id="dettagli" class="btn btn-warning" href="./scheda_libro.php?id=<?= $libro['id_libro']; ?>" role="button"> Dettagli </a></p>
 
                </div> <!-- fine card body -->
            </div> <!-- fine card -->
        </div> <!-- fine col-md-3 -->
 
    <?php endforeach; ?>
</div> <!-- fine row -->
 
<script>
    $(".add-cart").click(function(event) {
        event.preventDefault();
        var productId = $(this).data('id');
        var prod_qnt = $('#qnt-' + productId).val();
        console.log(prod_qnt);
        console.log(prod_id);
        $.ajax({
            url: "function_cart_fav.php",
            dataType: 'text',
            method: 'POST',
            data: {
                cart: 1,
                prod_id: prod_id,
                prod_qnt: prod_qnt,
                // user_id: user_id // Inutile, lo hai già in sessione
            },
            success: function(response) {
                if (response.indexOf('success') > 0) {
                    $("#success_cart").html('Prodotto aggiunto al carrello.');
                } else {
                    $("#alert_cart").html(response);
                }
            }
        });
    });
</script>
L'id degli elementi html DEVE essere univoco a livello di pagiona.