/* Shopoint Split Reviews */
.ssr-wrap,
.ssr-wrap *{
    box-sizing:border-box;
}

.ssr-wrap{
    width:100%;
    max-width:none;
}

.ssr-wrap.ssr-full-width{
    width:100vw;
    max-width:100vw;
    position:relative;
    left:50%;
    margin-left:-50vw;
    margin-right:-50vw;
}

.ssr-inner{
    width:100%;
    padding:0 24px;
}

.ssr-heading-row{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    margin-bottom:22px;
}

.ssr-heading{
    margin:0;
    font-family:Georgia, "Times New Roman", serif;
    font-weight:700;
    text-transform:uppercase;
    line-height:1.1;
    text-align:center;
}

.ssr-heading-line{
    width:74px;
    height:1.5px;
    background:#D7A33D;
    display:block;
    flex:0 0 auto;
}

.ssr-stage{
    display:grid;
    grid-template-columns:42px 1fr 42px;
    gap:14px;
    align-items:center;
    width:100%;
}

.ssr-viewport{
    width:100%;
    overflow:hidden;
    touch-action:pan-y;
    cursor:grab;
}

.ssr-viewport:active{
    cursor:grabbing;
}

.ssr-track{
    display:flex;
    gap:20px;
    will-change:transform;
    transition:transform .42s ease;
}

.ssr-slide{
    flex:0 0 calc((100% - 40px)/3);
    min-width:calc((100% - 40px)/3);
}

.ssr-card{
    width:100%;
    min-height:270px;
    display:flex;
    overflow:hidden;
    background:#fff;
    border:1px solid #EAE4DA;
    border-radius:12px;
    box-shadow:0 8px 24px rgba(0,0,0,.05);
}

.ssr-photo{
    flex:0 0 34%;
    width:34%;
    overflow:hidden;
    background:#EEE;
}

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

.ssr-content{
    flex:1 1 auto;
    min-width:0;
    padding:24px 24px 20px;
    display:flex;
    flex-direction:column;
}

.ssr-person{
    display:flex;
    align-items:center;
    gap:12px;
}

.ssr-avatar{
    width:52px;
    min-width:52px;
    height:52px;
    border-radius:50%;
    overflow:hidden;
    background:#EEE;
}

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

.ssr-name{
    font-size:16px;
    line-height:1.2;
    font-weight:700;
    margin-bottom:4px;
}

.ssr-meta-row{
    display:flex;
    align-items:center;
    gap:5px;
}

.ssr-meta{
    font-size:12px;
    line-height:1.2;
}

.ssr-check{
    width:16px;
    height:16px;
    border-radius:50%;
    display:inline-flex;
    justify-content:center;
    align-items:center;
    background:#37B54A;
    color:#fff;
    font-size:10px;
    font-weight:700;
}

.ssr-stars{
    margin:16px 0;
    color:#D7A33D;
    font-size:20px;
    line-height:1;
    letter-spacing:2px;
}

.ssr-review-wrap{
    position:relative;
    flex:1 1 auto;
    padding:5px 18px 16px 30px;
}

.ssr-review{
    font-size:15px;
    line-height:1.55;
}

.ssr-quote{
    position:absolute;
    font-family:Georgia, serif;
    font-weight:700;
    font-size:38px;
    line-height:1;
    color:#E6D5AD;
}

.ssr-quote-open{
    top:0;
    left:0;
}

.ssr-quote-close{
    right:0;
    bottom:-4px;
}

.ssr-arrow{
    width:40px;
    height:40px;
    border:1px solid #E9DDC7;
    border-radius:50%;
    background:#FFF;
    color:#D7A33D;
    font-size:28px;
    line-height:1;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0;
    cursor:pointer;
    transition:.2s ease;
}

.ssr-arrow:hover{
    border-color:#D7A33D;
    transform:translateY(-1px);
}

.ssr-dots{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:8px;
    margin-top:20px;
}

.ssr-dot{
    width:8px;
    height:8px;
    padding:0;
    border:0;
    border-radius:50%;
    background:#D9D9D9;
    cursor:pointer;
}

.ssr-dot.active{
    background:#D7A33D;
}

@media (max-width:1024px){
    .ssr-inner{
        padding:0 16px;
    }

    .ssr-stage{
        grid-template-columns:38px 1fr 38px;
        gap:10px;
    }

    .ssr-track{
        gap:16px;
    }

    .ssr-slide{
        flex:0 0 calc((100% - 16px)/2);
        min-width:calc((100% - 16px)/2);
    }

    .ssr-content{
        padding:20px 18px;
    }
}

@media (max-width:767px){
    .ssr-wrap.ssr-full-width{
        width:100vw;
        max-width:100vw;
        left:50%;
        margin-left:-50vw;
        margin-right:-50vw;
    }

    .ssr-inner{
        padding:0 10px;
    }

    .ssr-heading-row{
        gap:8px;
        margin-bottom:14px;
    }

    .ssr-heading-line{
        width:32px;
    }

    .ssr-stage{
        display:block;
    }

    .ssr-arrow{
        display:none !important;
    }

    .ssr-track{
        gap:12px;
    }

    .ssr-slide{
        flex:0 0 100%;
        min-width:100%;
    }

    .ssr-card{
        min-height:230px;
    }

    .ssr-photo{
        flex:0 0 34%;
        width:34%;
    }

    .ssr-content{
        padding:16px 14px;
    }

    .ssr-avatar{
        width:42px;
        min-width:42px;
        height:42px;
    }

    .ssr-name{
        font-size:14px;
    }

    .ssr-meta{
        font-size:11px;
    }

    .ssr-stars{
        font-size:17px;
        margin:12px 0;
    }

    .ssr-review{
        font-size:13px;
        line-height:1.45;
    }

    .ssr-review-wrap{
        padding-left:24px;
        padding-right:14px;
    }

    .ssr-quote{
        font-size:30px;
    }

    .ssr-dots{
        margin-top:14px;
    }
}
