{%- comment -%}
  Inside of the header cart button (#cart-icon-bubble): icon + label + count.

  Rendered from TWO places that have to stay identical — sections/header.liquid
  paints it on page load, and sections/cart-icon-bubble.liquid is what cart.js
  re-renders into the button's innerHTML when a quantity changes on the cart
  page. Anything authored in only one of them vanishes on the first re-render,
  so the markup lives here and both render this snippet.

  The label is the theme's own 'templates.cart.cart' string, translated in every
  locale Dawn ships — no new translation surface.
{%- endcomment -%}
{%- liquid
  if cart == empty
    render 'icon-cart-empty'
  else
    render 'icon-cart'
  endif
-%}
<span class="bs-cart-label">{{ 'templates.cart.cart' | t }}</span>
{%- if cart != empty -%}
  <div class="cart-count-bubble">
    {%- if cart.item_count < 100 -%}
      <span aria-hidden="true">{{ cart.item_count }}</span>
    {%- endif -%}
    <span class="visually-hidden">{{ 'sections.header.cart_count' | t: count: cart.item_count }}</span>
  </div>
{%- endif -%}
