.shop {
    overflow: hidden;
    background: #fff;
    color: $color-text;
    border-radius: 12px;

    .content {
        @include bp (sm) {
            display: grid;
            grid-template-columns: 40% 1fr;
            grid-template-rows: 1fr;
            height: 100%;
        }
    }

    // Image
    &__image {
        position: relative;
        overflow: hidden;

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

            @include bp (sm) {
                position: absolute;
                top: 0;
                left: 0;
                height: 100%;

            }
        }
    }

    // Content
    &__content {
        display: flex;
        flex-direction: column;
        max-width: 480px;
        padding: 32px 40px;
        border-radius: 12px;

        @include bp (sm) {
            padding: 64px 72px 40px 64px;
        }

        .button {
            margin-right: auto;
        }
    }

    // Title
    .title-medium {
        color: $color-lightpurple;
        margin-bottom: 8px;

        @include bp (sm) {
            margin-bottom: 16px;
        }
    }

    p {
        font-weight: 200;
        margin-bottom: 20px;

        @include bp (sm) {
            margin-bottom: 24px;
        }
    }

    .detail {
        margin: auto 0 0;
        padding-top: 32px;
        color: $color-gray;
        line-height: 1.4;
        font-size: rem(14px);

        @include bp (sm) {
            padding-top: 24px;
        }
    }
}