/* ==========================
   GOOGLE REVIEW CAROUSEL
========================== */

.review-section{

    max-width:1300px;

    margin:auto;

    padding:80px 20px;

}


/* ==========================
   REVIEW SUMMARY
========================== */

.review-summary{

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    text-align:center;

    margin-bottom:60px;

}

.review-score{

    font-size:56px;

    font-weight:700;

    color:#202124;

    line-height:1;

}

.review-summary .review-stars{

    color:#fbbc04;

    font-size:30px;

    letter-spacing:4px;

    margin:12px 0;

}

.review-text-summary{

    font-size:18px;

    color:#5f6368;

}

.review-text-summary strong{

    color:#202124;

    font-weight:700;

}

.review-google-logo{

    display:block;

    margin:22px auto 0;

    height:34px;

    width:auto;

}



/* ==========================
   CAROUSEL
========================== */

.review-carousel{

    display:flex;

    gap:24px;

    overflow-x:auto;

    scroll-behavior:smooth;

    cursor:grab;

    padding:10px 5px 20px;

    scrollbar-width:none;

}

.review-carousel::-webkit-scrollbar{

    display:none;

}

.review-carousel:active{

    cursor:grabbing;

}



/* ==========================
   CARD
========================== */

.review-card{

    flex:0 0 320px;

    min-height:320px;

    background:#f8f9fa;

    border:1px solid #e8eaed;

    border-radius:16px;

    padding:24px;

    display:flex;

    flex-direction:column;

    box-shadow:
        0 1px 2px rgba(60,64,67,.12),
        0 2px 6px rgba(60,64,67,.08);

    transition:.25s ease;

}

.review-card:hover{

    transform:translateY(-3px);

    box-shadow:
        0 6px 16px rgba(60,64,67,.15);

}



/* ==========================
   HEADER
========================== */

.review-header{

    display:flex;

    align-items:center;

    gap:14px;

    margin-bottom:18px;

}

.review-avatar{

    width:58px;

    height:58px;

    min-width:58px;

    border-radius:50%;

    object-fit:cover;

    overflow:hidden;

    border:2px solid #ffffff;

    box-shadow:0 1px 3px rgba(0,0,0,.12);

}

.review-info{

    flex:1;

}

.review-name{

    font-size:16px;

    font-weight:600;

    color:#202124;

}

.review-stars{

    color:#fbbc04;

    font-size:18px;

    letter-spacing:1px;

    margin-top:4px;

}



/* Petit G Google */

.google-icon{

    width:28px;

    height:28px;

    border-radius:50%;

    background:#4285f4;

    color:#fff;

    font-size:18px;

    font-weight:700;

    display:flex;

    align-items:center;

    justify-content:center;

}



/* ==========================
   TEXT
========================== */
.review-text{

    flex-grow:1;

    font-size:15px;

    line-height:1.7;

    color:#3c4043;

    max-height:95px;

    overflow:hidden;

    transition:max-height .35s ease;

}


.review-card.expanded .review-text{

    max-height:1000px;

}

.review-read-more{

    margin-top:12px;

    display:inline-block;

    color:#1a73e8;

    font-size:14px;

    font-weight:600;

    cursor:pointer;

    user-select:none;

}

.review-read-more:hover{

    text-decoration:underline;

}

.review-date{

    font-size:13px;

    color:#9aa0a6;

    margin-top:2px;

    margin-bottom:5px;

}

.google-icon{

    width:24px;

    height:24px;

    object-fit:contain;

    flex-shrink:0;

}


/* ==========================
   FOOTER
========================== */

.review-footer{

    margin-top:auto;

    padding-top:18px;

    font-size:13px;

    color:#5f6368;

}




/* ==========================
   MOBILE
========================== */

@media(max-width:768px){

    .review-section{

        padding:60px 15px;

    }

    .review-score{

        font-size:48px;

    }

    .review-text-summary{

        font-size:16px;

    }

    .review-card{

        flex:0 0 88%;

        min-height:300px;

    }

}