.ringo-reviews-section{
    --rr-navy:#08243d;
    --rr-gold:#d59a30;
    --rr-border:#ead8ba;
    --rr-soft:#fffaf3;
    width:min(1180px,92vw);
    margin:52px auto 46px;
    font-family:Arial,Helvetica,sans-serif
}

.ringo-reviews-heading{
    text-align:center;
    margin-bottom:22px
}

.ringo-reviews-eyebrow{
    margin-bottom:7px;
    color:#3a4650;
    font-size:10px;
    letter-spacing:.24em;
    text-transform:uppercase
}

.ringo-reviews-heading h2{
    margin:0;
    color:var(--rr-navy);
    font:400 31px/1.15 Georgia,"Times New Roman",serif
}

.ringo-reviews-heading p{
    margin:8px 0 0;
    color:#6e747a;
    font-size:11px
}

.ringo-reviews-ornament{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    margin-top:10px;
    color:var(--rr-gold)
}

.ringo-reviews-ornament span{
    width:30px;
    height:1px;
    background:linear-gradient(90deg,transparent,var(--rr-gold))
}

.ringo-reviews-ornament span:last-child{
    background:linear-gradient(90deg,var(--rr-gold),transparent)
}

.ringo-reviews-shell{
    position:relative
}

/* Extra vertical room fixes hover clipping */
.ringo-reviews-viewport{
    overflow:hidden;
    padding:16px 2px 28px;
    margin:-16px -2px -28px
}

.ringo-reviews-track{
    display:flex;
    align-items:stretch;
    gap:20px;
    transition:transform .5s cubic-bezier(.22,.61,.36,1);
    will-change:transform
}

.ringo-review-card{
    flex:0 0 calc((100% - (var(--rr-visible,3) - 1)*20px)/var(--rr-visible,3));
    min-width:0;
    box-sizing:border-box;
    opacity:0;
    transform:translateY(18px)
}

.ringo-review-card-inner{
    position:relative;
    height:100%;
    min-height:285px;
    padding:22px 22px 20px;
    overflow:hidden;
    border:1px solid var(--rr-border);
    border-radius:14px;
    background:
        radial-gradient(circle at 100% 0,rgba(213,154,48,.11),transparent 30%),
        linear-gradient(180deg,#fff,#fffdf9);
    box-sizing:border-box;
    box-shadow:0 8px 24px rgba(8,36,61,.055);
    transition:
        transform .3s cubic-bezier(.22,.61,.36,1),
        box-shadow .3s ease,
        border-color .3s ease
}

.ringo-review-card-inner:before{
    content:"";
    position:absolute;
    left:-90%;
    top:0;
    width:48%;
    height:100%;
    background:linear-gradient(105deg,transparent,rgba(213,154,48,.08),transparent);
    transform:skewX(-18deg);
    transition:left .75s ease
}

.ringo-review-card:hover .ringo-review-card-inner{
    transform:translateY(-8px);
    border-color:#ddb563;
    box-shadow:0 18px 36px rgba(8,36,61,.13)
}

.ringo-review-card:hover .ringo-review-card-inner:before{
    left:135%
}

.ringo-reviews-section.is-visible .ringo-review-card{
    animation:ringoReviewIn .6s cubic-bezier(.22,.61,.36,1) forwards
}

.ringo-reviews-section.is-visible .ringo-review-card:nth-child(2){animation-delay:.10s}
.ringo-reviews-section.is-visible .ringo-review-card:nth-child(3){animation-delay:.20s}
.ringo-reviews-section.is-visible .ringo-review-card:nth-child(4){animation-delay:.30s}
.ringo-reviews-section.is-visible .ringo-review-card:nth-child(5){animation-delay:.40s}

@keyframes ringoReviewIn{
    to{opacity:1;transform:none}
}

.ringo-review-topline{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:15px
}

.ringo-review-stars{
    display:flex;
    gap:2px
}

.ringo-review-stars span{
    color:#ddd7ce;
    font-size:14px;
    line-height:1
}

.ringo-review-stars .is-filled{
    color:var(--rr-gold)
}

.ringo-review-verified{
    display:inline-flex;
    align-items:center;
    padding:5px 8px;
    border-radius:30px;
    background:#edf7ef;
    color:#46714f;
    font-size:9px;
    font-weight:700;
    white-space:nowrap
}

.ringo-review-quote{
    position:absolute;
    right:20px;
    top:30px;
    color:rgba(213,154,48,.12);
    font:74px/1 Georgia,"Times New Roman",serif;
    pointer-events:none
}

.ringo-review-text{
    position:relative;
    z-index:2;
    min-height:86px;
    max-height:112px;
    overflow:hidden;
    color:#34414c;
    font:400 14px/1.65 Georgia,"Times New Roman",serif
}

.ringo-review-text p{
    margin:0
}

.ringo-review-product{
    display:inline-flex;
    margin:14px 0 16px;
    padding:6px 10px;
    border:1px solid #f1dec0;
    border-radius:30px;
    background:#fff8ec;
    color:#9a6717;
    font-size:9px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.04em
}

.ringo-review-customer{
    display:flex;
    align-items:center;
    gap:11px;
    margin-top:auto;
    padding-top:16px;
    border-top:1px solid #efe7dc
}

.ringo-review-avatar{
    width:48px;
    height:48px;
    min-width:48px;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
    border:2px solid #dfb35f;
    border-radius:50%;
    background:var(--rr-navy);
    color:#fff;
    font:600 18px/1 Georgia,serif;
    box-shadow:0 3px 10px rgba(8,36,61,.10)
}

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

.ringo-review-person strong{
    display:block;
    color:var(--rr-navy);
    font:600 14px/1.2 Georgia,"Times New Roman",serif
}

.ringo-review-person small{
    display:block;
    margin-top:4px;
    color:#8a8f94;
    font-size:9px
}

.ringo-review-arrow{
    position:absolute;
    z-index:5;
    top:48%;
    width:38px;
    height:38px;
    border:1px solid #e3d1b3;
    border-radius:50%;
    background:#fff;
    color:var(--rr-navy);
    font-size:24px;
    line-height:1;
    cursor:pointer;
    transform:translateY(-50%);
    box-shadow:0 6px 18px rgba(8,36,61,.11);
    transition:transform .2s ease,background .2s ease,color .2s ease
}

.ringo-review-arrow:hover{
    transform:translateY(-50%) scale(1.08);
    background:var(--rr-navy);
    color:#fff
}

.ringo-review-prev{left:-19px}
.ringo-review-next{right:-19px}

.ringo-review-dots{
    display:flex;
    justify-content:center;
    gap:7px;
    margin-top:18px
}

.ringo-review-dot{
    width:7px;
    height:7px;
    padding:0;
    border:0;
    border-radius:50%;
    background:#d8d8d8;
    cursor:pointer;
    transition:width .2s ease,background .2s ease,border-radius .2s ease
}

.ringo-review-dot.is-active{
    width:20px;
    border-radius:20px;
    background:var(--rr-gold)
}

@media(max-width:900px){
    .ringo-reviews-heading h2{font-size:27px}
}

@media(max-width:600px){
    .ringo-reviews-section{
        width:92vw;
        margin:38px auto
    }

    .ringo-reviews-heading h2{font-size:25px}

    .ringo-reviews-track{gap:14px}

    .ringo-review-card{
        flex-basis:calc((100% - (var(--rr-visible,1) - 1)*14px)/var(--rr-visible,1))
    }

    .ringo-review-card-inner{
        min-height:270px;
        padding:20px
    }

    .ringo-review-prev{left:-8px}
    .ringo-review-next{right:-8px}
}

@media(prefers-reduced-motion:reduce){
    .ringo-review-card{
        opacity:1!important;
        transform:none!important;
        animation:none!important
    }

    .ringo-review-card-inner{
        transition:none!important
    }
}
