door auto close add random range on yield wait sec

So, I got a great door script that has a coroutine that shut the door a few seconds after player walks away but I want to randomize the wait time on the close door coroutine any ideas how to do that?

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

public class DoorScript : Interactable
{
	[Header("Functional Options")]
	[SerializeField] private bool isOpen = false;
	[SerializeField] private bool canBeInteractedWith = true;
	[SerializeField] private Animator anim;
	[SerializeField] private new AudioSource audio;
	[SerializeField] public AudioClip SoundToPlay;

	private  void Start()
	{
		anim = GetComponent<Animator>();
		audio = GetComponent<AudioSource>();
	}

	public override void OnFocus()
	{
		
	}
	public override void OnInteract()
	{
		if (canBeInteractedWith)
		{
			isOpen = !isOpen;

			Vector3 doorTransformDirection = transform.TransformDirection(Vector3.forward);
			Vector3 playerTransformDirection = FirstPersonController.instance.transform.position - transform.position;
			float dot = Vector3.Dot(doorTransformDirection, playerTransformDirection);

			anim.SetFloat("dot", dot);
			anim.SetBool("isOpen", isOpen);

         	audio.Play();

			StartCoroutine(AutoClose());
		}
	}
	public override void OnLoseFocus()
	{

	}

	private IEnumerator AutoClose()
	{
		while (isOpen)
		{
			yield return new WaitForSeconds(11);

			if(Vector3.Distance(transform.position, FirstPersonController.instance.transform.position) > 6)
			{
				isOpen = false;
				anim.SetFloat("dot", 0);
				anim.SetBool("isOpen", isOpen);

				audio.Play();
			}
		}
	}
}

Just use Random.Range on the yield.

This makes it wait a random number between 5 and 15 seconds (inclusive)

yield return new WaitForSeconds(Random.Range(5f, 15f));