.google-reviews-live{
    width:100%;
}

.google-reviews-summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-bottom:24px;
    flex-wrap:wrap;
}

.google-rating-main{
    display:flex;
    align-items:center;
    gap:12px;
}

.google-rating-number{
    font-size:34px;
    line-height:1;
    font-weight:800;
    color:#171717;
}

.google-stars{
    color:#f4b400;
    font-size:20px;
    letter-spacing:2px;
    white-space:nowrap;
}

.google-review-count{
    color:#6b6b6b;
    font-size:14px;
}

.google-label{
    font-size:13px;
    font-weight:700;
    color:#444;
}

.reviews-carousel-wrap{
    position:relative;
}

.reviews-carousel{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:calc((100% - 32px) / 3);
    gap:16px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    scrollbar-width:none;
    padding:4px 2px 12px;
}

.reviews-carousel::-webkit-scrollbar{
    display:none;
}

.google-review-card{
    background:#fff;
    border:1px solid #e7e7e7;
    border-radius:14px;
    padding:20px;
    scroll-snap-align:start;
    box-shadow:0 5px 20px rgba(0,0,0,.05);
    min-height:280px;
    display:flex;
    flex-direction:column;
}

.review-author{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:14px;
}

.review-author img{
    width:46px;
    height:46px;
    border-radius:50%;
    object-fit:cover;
    flex:0 0 46px;
}

.review-author-name{
    font-weight:800;
    font-size:15px;
    color:#171717;
    line-height:1.25;
}

.review-date{
    margin-top:3px;
    font-size:12px;
    color:#777;
}

.review-stars{
    color:#f4b400;
    letter-spacing:1px;
    margin-bottom:12px;
}

.review-text{
    color:#444;
    line-height:1.6;
    font-size:14px;
    margin:0 0 16px;
    flex-grow:1;
}

.review-google-link{
    color:#d9271c;
    text-decoration:none;
    font-weight:700;
    font-size:13px;
}

.review-google-link:hover{
    text-decoration:underline;
}

.reviews-controls{
    display:flex;
    justify-content:center;
    gap:10px;
    margin-top:12px;
}

.reviews-arrow{
    width:42px;
    height:42px;
    border-radius:50%;
    border:1px solid #ddd;
    background:#fff;
    color:#181818;
    cursor:pointer;
    font-size:22px;
    line-height:1;
}

.reviews-arrow:hover{
    border-color:#d9271c;
    color:#d9271c;
}

.google-attribution{
    margin-top:14px;
    font-size:12px;
    color:#777;
    text-align:center;
}

.google-reviews-error{
    text-align:center;
    color:#666;
    padding:25px;
}

@media(max-width:950px){
    .reviews-carousel{
        grid-auto-columns:calc((100% - 16px) / 2);
    }
}

@media(max-width:620px){
    .reviews-carousel{
        grid-auto-columns:88%;
    }

    .google-review-card{
        min-height:260px;
    }

    .google-rating-number{
        font-size:30px;
    }
}

/* El resumen general ya aparece en la cabecera de la sección */
.google-reviews-summary{
    display:none;
}
