.shop-page {

    // Header
    header {
        position: fixed;
        // display: flex;
        // display: none;
        z-index: 20;
        bottom: 0;
        width: 100%;
        justify-content: center;
        align-items: center;
        background: linear-gradient(180deg, rgba(45, 4, 88, 0) 84.2%, #1E0538 100%);

        @include bp (sm) {
            display: flex;
        }

        // Shop
        p {
            position: absolute;
            left: 50%;
            transform: translateX(-50%);
            bottom: 64px;
        }

        // Navigation
        ul {
            position: absolute;
            display: flex;
            bottom: 24px;
            left: 0;
            right: 0;

            li {
                display: block;
            }
            a {
                text-decoration: none;
                font-size: rem(22px);
                font-family: $font-serif;
                color: $color-tertiary;
                margin: 0 10px;

                &:hover {
                    color: $color-secondary;
                }

                @include bp (sm) {
                    font-size: rem(24px);
                    margin: 0 12px;
                }
            }
        }
    }

    // Intro
    &__intro {
        position: relative;
        height: 100vh;
        min-height: 800px;
        overflow: hidden;
        background-color: $color-primary-darker;

        // Top Menu
        // Back
        .back {
            position: absolute;
            left: 32px;
            top: 32px;
            color: #fff;
            text-decoration: none;
            font-size: rem(14px);
            color: $color-cream;
            max-width: 76px;

            @include bp (sm) {
                max-width: none;
                font-size: rem(18px);
            }
        }
        // Shop
        .shop-title {
            position: absolute;
            top: 32px;
            left: 50%;
            transform: translateX(-50%);
            font-size: rem(14px);
            color: $color-cream;

            @include bp (sm) {
                font-size: rem(18px);
            }
        }

        // Background Image
        picture {
            width: 100%;
            height: 100%;
            opacity: 0.55;

            img {
                display: block;
                object-fit: cover;
                width: 100%;
                height: 100%;
            }
        }

        // Site Title
        h1 {
            font-size: clamp(#{rem(88px)}, 10vw, #{rem(140px)});
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 100%;
            text-align: center;

            span, strong {
                color: #fff;
            }
        }
    }

    // About
    &__about {
        display: flex;
        background-color: $color-cream;
        color: $color-text;
        padding: 100px 0 56px;

        @include bp (sm) {
            display: grid;
            padding: 120px 0;
        }

        .description {
            font-weight: 300;
            max-width: 450px;
            margin-left: 20px;
            padding-right: 20px;
            font-size: rem(18px);

            @include bp (sm) {
                grid-column: 3 / span 12;
                max-width: 560px;
                margin-left: 0;
                padding: 0;
                font-size: rem(22px);
            }
        }
    }

    // Posters
    &__posters {
        background-color: $color-primary-darker;
        padding: 56px 20px 72px;
        border-bottom: solid 1px $color-primary-tertiary20 ;

        @include bp (sm) {
            padding: 120px 0;
        }

        // Title
        h3 {
            grid-column: 2 / span 6;
            font-family: $font-serif;
            color: $color-cream;
            font-size: rem(32px);
            line-height: 1.1;
            text-align: center;
            margin-bottom: 24px;

            @include bp (sm) {
                grid-column: 3 / span 14;
                font-size: rem(48px);
                text-align: left;
                max-width: 360px;
                margin-bottom: 0;
            }
        }

        // Posters Set
        .set {
            --gap: 24px;
            grid-column: 1 / span 8;
            display: block;

            @include bp (sm) {
                grid-column: 2 / span 22;
            }

            @include bp (mob-lg) {
                --gap: 32px;
                display: grid;
                grid-template-columns: repeat(2, 1fr);
                gap: var(--gap);
            }
            @include bp (md) {
                grid-template-columns: repeat(3, 1fr);
            }
            @include bp (sd) {
                --gap: 48px;
                grid-template-columns: repeat(4, 1fr);
            }

            // Poster
            .poster {
                margin: 0 auto auto;

                // 2 columns
                &:nth-child(2n + 1) {
                    @include bp (sm, max) {
                        margin-top: calc(var(--gap) * 2);
                    }
                }

                // 3 columns
                &:nth-child(3n + 1) {
                    @include bp (sd, max) {
                        margin-top: calc(var(--gap) * 2);
                    }
                }
                &:nth-child(3n + 2) {
                    @include bp (sd, max) {
                        margin-top: var(--gap);
                    }
                }

                // 4 columns
                &:nth-child(4n + 1) {
                    @include bp (sd) {
                        margin-top: 64px * 3;
                    }
                }
                &:nth-child(4n + 2) {
                    @include bp (sd) {
                        margin-top: 64px * 2;
                    }
                }
                &:nth-child(4n + 3) {
                    @include bp (sd) {
                        margin-top: 64px;
                    }
                }
            }
        }

        // Subscribe
        .subscribe {
            grid-column: 1 / span var(--columns);
            margin-top: 72px;
            text-align: center;

            @include bp (sm) {
                grid-column: 14 / span 8;
                margin-top: 0;
                text-align: left;
            }

            p {
                font-size: rem(18px);
                color: $color-cream;
                font-weight: 300;
                line-height: 1.5;
                margin-bottom: 24px;

                @include bp (sm) {
                    font-size: rem(22px);
                    margin-bottom: 30px;
                }
            }

            .newsletter-form {
                padding: 0;
                margin: 0 auto;

                @include bp (sm) {
                    margin: 0;
                    min-width: 368px;
                }
            }

            .newsletter-form__bottom {
                display: none;
            }
        }
    }
}