.shop {
    display: grid;
    align-content: start;
    gap: var(--operator-gap);

    > div {
        display: grid;
        align-items: start;
        gap: var(--operator-gap);
    }

    aside {
        order: -1;
        display: grid;
        gap: var(--operator-gap);
    }

    @media (min-width: 60rem) {
        > div { grid-template-columns: minmax(0, 1fr) minmax(16rem, 20rem) }

        aside {
            order: 0;
            position: sticky;
            inset-block-start: 1rem;
        }
    }
}
