/* Progress stays outside the page shell while the destination is fetched. */
html.mobile-spa-loading::after {
    content: "";
    position: fixed;
    inset: 0 0 auto;
    height: 3px;
    background: var(--colorMain, #23644b);
    z-index: 100000;
}

@media (max-width: 767.98px) {
    [data-storefront] a,
    [data-storefront] button {
        touch-action: manipulation;
    }

    /* Keep archive actions above the persistent store navigation. */
    [data-storefront]:has(.mobile-home-nav) .archive-buttons {
        inset-block-end: calc(76px + env(safe-area-inset-bottom, 0px));
        z-index: 43;
    }

    [data-storefront] .filters-sidebar,
    [data-storefront] .product-orders {
        z-index: 60;
    }

    [data-storefront]:has(.archive-buttons) #main-content {
        padding-bottom: calc(136px + env(safe-area-inset-bottom, 0px));
    }
}

@media (pointer: coarse) {
    [data-storefront] input,
    [data-storefront] select,
    [data-storefront] textarea {
        font-size: max(16px, 1rem);
    }
}
