QoS LLQ (Low Latency Queueing) on Cisco IOS

Hello Laz,
I have a question and I am going to refer to the below configuration for my question.

class-map match-any VOICE
 match dscp ef 
 match dscp cs5 
 match dscp cs4 

policy-map NESTED-POLICY
 class VOICE
  priority percent 80
 class class-default
  bandwidth percent 20
  fair-queue
  random-detect dscp-based

policy-map INTERNET-OUT
 class class-default
  shape average 10000000
   service-policy NESTED-POLICY

Interface Gig 1/0/1
 service-policy output INTERNET-OUT

In this configuration, I have two different classes: Voice and other traffic. Here, 80 % bandwidth is allocated for Voice traffic and 20% bandwidth is allocated to other traffic.
That means, during congestion, Voice traffic can use 8M and other traffic can use 2M bandwidth since I am also shaping it to 10M.

**Scenario:**
Now, let’s say I have a scenario where I do not have any voice traffic traversing this device even though 80 % (8M) bandwidth is reserved for Voice traffic, but I have 5M other traffic trying to go out of this device constantly where only 20 % (2M) bandwidth is reserved for other traffic.

**Question:**

What is going to happen in this scenario?

As far as my understanding goes, QoS comes into play only during congestion. Even during congestion, if one class of traffic does not use its allocated bandwidth, other class of traffic can use the unused bandwidth. Therefore, this 5M other traffic should be able to go through the interface since there is no voice traffic at all so the voice bandwidth is unused completely.
But I have run into a situation where other traffic is not allowed to use more than 20 % (2M) of bandwidth even though there is no voice traffic at all. It looks like the router is reserving the 80 % bandwidth and not allowing other traffic to use it even though the voice bandwidth is unused. Would you please explain this to me?

I also like to thank you in advance as usual for your help.

Azm