Camera zoom smoothing

So I have a rather basic camera setup and I would like to implement zoom smoothing in it but I’m not exactly sure how. I believe Mathf.Lerp should be used but my attempts to implement it have failed so far.
Here is the code:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CameraControl : MonoBehaviour
{
    public Transform target;
    public Vector3 offset;
    public float currentZoom = 2f;
    public float pitch = 1.75f;
    public float zoomSpeed = 0.85f;
    public float minZoom = 1.5f;
    public float maxZoom = 3f;

    public float yawSpeed = 100f;

    private float currentYaw = 0f;

    private void Update()
    {
        currentZoom -= Input.GetAxis("Mouse ScrollWheel") * zoomSpeed;
        currentZoom = Mathf.Clamp(currentZoom, minZoom, maxZoom);
        
        if (Input.GetButton("Mouse MiddleClick"))
        {
            currentYaw += Input.GetAxis("Mouse X") * yawSpeed * Time.deltaTime;
        }
        
    }
    private void LateUpdate()
    {
        transform.position = target.position - offset * currentZoom;
        transform.LookAt(target.position + Vector3.up * pitch);

        transform.RotateAround(target.position, Vector3.up, currentYaw);
    }
}

public class CameraControl : MonoBehaviour
{
public Transform target;
public Vector3 offset;
private float desiredZoom = 2f;
private float currentZoom = 2f;
public float pitch = 1.75f;
public float zoomSpeed = 0.85f;
public float zoomLerpSpeed = 0.85f;
public float minZoom = 1.5f;
public float maxZoom = 3f;

     public float yawSpeed = 100f;
 
     private float currentYaw = 0f;
 
     private void Update()
     {
         desiredZoom -= Input.GetAxis("Mouse ScrollWheel") * zoomSpeed;
         desiredZoom = Mathf.Clamp(desiredZoom, minZoom, maxZoom);
         currentZoom = Mathf.Lerp(currentZoom, desiredZoom, zoomLerpSpeed);
         
         if (Input.GetButton("Mouse MiddleClick"))
         {
             currentYaw += Input.GetAxis("Mouse X") * yawSpeed * Time.deltaTime;
         }
         
     }
     private void LateUpdate()
     {
         transform.position = target.position - offset * currentZoom;
         transform.LookAt(target.position + Vector3.up * pitch);
 
         transform.RotateAround(target.position, Vector3.up, currentYaw);
     }
 }