How Domain Name is Resolved into an IP address of Hosting Server?

When we register a domain, we provide the address of our Name Server (this is called authoritative name server of our domain). This NS has the info of our hosting server IP.

Here is the process summarized by skipping unrelated details. When a user open a domain, the server ask its Hosting Server IP to our ISP DNS Resolver. If it has, the IP address is returned. Else ISP ask from her connection provider or directly from ROOT SERVERS. The root servers don't have the IP, but they always return the Name Server address of your website's TLD registry. Then our ISP ask same questions form that NS. It also don't know the IP but it know the Authoritative NS Address (that we configured when we purchased the domain and setup its NS), the address of authoritative NS is returned. Then our ISP ask same questions form our domains' authoritative NS which definitely has the IP address of hosting server. When its returned, our ISP's DNS Resolver cache it to serve other queries and return the IP Address of Hosting Server to our computer.

Here is an Image I got from Google that best explains what I said above: