/* Closed is the only initial state. Hover is enabled after fresh pointer input. */
.shopping-cart.minicart-ready .cart-popup,
.shopping-cart.minicart-ready:hover .cart-popup {
    display: block;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.shopping-cart.minicart-ready.minicart-interaction-ready:hover .cart-popup,
.shopping-cart.minicart-ready.is-open .cart-popup {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* Escape wins over a pointer still resting on the trigger until it leaves. */
.shopping-cart.minicart-ready.minicart-suppressed:not(.is-open):hover .cart-popup,
.shopping-cart.minicart-ready.minicart-suppressed:not(.is-open) .cart-popup {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
    .shopping-cart.minicart-ready .cart-popup {
        transition: none;
    }
}
