/* Shared wireframe: header, flexible page content, footer, bottom controls. */
body.storefront {
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
}
.storefront > main {
    flex: 1 0 auto;
}
.storefront > .site-footer {
    flex-shrink: 0;
    flex-wrap: wrap;
}
.storefront > .catalog-content {
    width: 100%;
}
@media (max-width: 640px) {
    body.storefront.html-catalog {
        padding-bottom: calc(76px + env(safe-area-inset-bottom));
    }
}
