.shop-page { position: relative; // Sections @import "shop/intro"; @import "shop/posters"; // Nav .shop-location { --inset: 20px; display: flex; position: fixed; z-index: 20; top: var(--inset); left: var(--inset); right: var(--inset); justify-content: space-between; transform: translate3d(0, -88px, 0); transition: transform 1s var(--ease-quart); transition-delay: 100ms; pointer-events: none; @include bp (sm) { --inset: 32px; } // Visible state &.is-visible { transform: translate3d(0,0,0); } } // Error &__error { padding: 64px 0; background: $color-cream; color: $color-text; text-align: center; @include bp (sm) { padding: clamp(64px, 12vw, 160px) 0; text-align: left; } .inner { grid-column: 1 / span 8; @include bp (sm) { grid-column: 3 / span 12; } } h2 { margin-bottom: 8px; color: $color-secondary; @include bp (sm) { margin-bottom: 16px; } } } } // Cart .cart { position: fixed; z-index: 101; top: 72px; right: 0; width: 100%; height: calc(100vh - 72px); @include bp (sm) { top: 24px; right: 24px; width: clamp(320px, 45vw, 500px); height: calc(100vh - 48px); max-height: 1000px; } } // Notifications .notifications { position: fixed; z-index: 100; top: 104px; right: 20px; transition: opacity 0.7s var(--ease-quart); pointer-events: none; @include bp (sm) { right: 32px; } & > * { &:not(:last-child) { margin-bottom: 8px; } } }