main.has-cart-fab { padding-bottom: 6rem; }
.cart-fab { position: fixed; bottom: 1.5rem; right: calc(max(0px, (100% - var(--shop-max-width)) / 2) + var(--shop-padding)); z-index: 2000; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--color-primary, #1a73e8); color: #fff; box-shadow: 0 3px 12px #0003; text-decoration: none; transition: transform .15s ease; }
.cart-fab:hover { transform: scale(1.05); }
.cart-fab:focus-visible { outline: 3px solid var(--color-secondary, #fbbc04); outline-offset: 3px; }
.cart-fab-badge { position: absolute; top: -4px; right: -4px; display: grid; place-items: center; min-width: 24px; height: 24px; padding: 0 4px; border-radius: 50%; background: var(--color-secondary, #fbbc04); color: #000; font-size: .75rem; font-weight: 700; box-shadow: 0 0 0 2px #fff; }
.cart-fab-badge[hidden] { display: none !important; }
.cart-fab-badge-contrast { background: #fbbc04; }
@media (prefers-reduced-motion: reduce) {
    .cart-fab { transition: none; }
}
