.reviews-page{
    padding:80px 0;
}

.reviews-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:50px;
}

.reviews-header h1{
    font-size:clamp(2rem, 4vw, 2.5rem);
    color:var(--primary);
    line-height:1.15;
    margin-bottom:15px;
}

.reviews-header p{
    color:#64748b;
    font-size:clamp(.95rem, 1.5vw, 1.1rem);
}

.rating-box{
    background:white;
    padding:clamp(20px, 3vw, 30px) clamp(25px, 4vw, 45px);
    border-radius:25px;
    box-shadow:
    0 15px 40px rgba(0,0,0,.08);
    text-align:center;
}

.average{
    font-size:clamp(2.2rem, 5vw, 3rem);
    font-weight:800;
    color:var(--primary);
}

.average span{
    font-size:clamp(1rem, 2vw, 1.2rem);
}

.stars-big{
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:clamp(1.5rem, 4vw, 2rem);
    letter-spacing:clamp(1px, .5vw, 3px);
}

/* =====================

   MOYENNE PAGE AVIS

===================== */

.stars-big .star-full{

    color:#ffc107;

}

.stars-big .star-empty{

    color:rgba(255,193,7,.25);

}

.stars-big .star-half{

    position:relative;

    display:inline-block;

    color:rgba(255,193,7,.25);

}

.stars-big .star-half::before{

    content:"★";

    position:absolute;

    left:0;

    top:0;

    width:50%;

    overflow:hidden;

    color:#ffc107;

}

.rating-box p{
    margin-top:10px;
}

.reviews-grid{
    display:grid;
    grid-template-columns:
    repeat(2,1fr);
    gap:30px;
}

.review-card{
    position:relative;
    overflow:hidden;
    background:white;
    padding:30px;
    border-radius:25px;
    box-shadow:
    0 15px 35px rgba(0,0,0,.07);
    transition:.25s;
    display:flex;
    flex-direction:column;
}

.quote{
    position:absolute;
    font-size:5rem;
    color:rgba(187,52,52,.18);
    font-family:serif;
    line-height:1;
    z-index:0;
}

.quote-left{
    top:5px;
    left:15px;
}

.quote-right{
    bottom:-20px;
    right:15px;
}

.review-card:hover{
    transform:translateY(-5px);
}

.review-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:20px;
    padding: 0px 25px;
}

.review-top img{
    max-height:35px;
    max-width:100px;
}

.review-top a{
    display:flex;
    align-items:center;
}

.stars{
    font-size:1.3rem;
    letter-spacing:2px;
    white-space:nowrap;
    flex-shrink:0;
    margin:5px 0px 0px 0px;
}


.star-review-full{
    color:var(--secondary);
}


.star-review-empty{
    color:rgba(187,52,52,.25);
}

.review-text{
    color:#475569;
    line-height:1.6;
    position:relative;
    z-index:1;
    padding:25px 20px;
    flex:1;
}

.review-author{
    margin-top:auto;
    padding-top:25px;
    display:flex;
    flex-direction:column;
}

.review-author span{
    color:#94a3b8;
    font-size:.85rem;
}

.pagination{
    margin-top:50px;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:20px;
}

.pagination span{
    color:var(--text);
    font-weight:600;
}

.pagination-btn{
    width:42px;
    height:42px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:var(--primary);
    color:white;

    border-radius:10px;

    text-decoration:none;

    font-size:1.8rem;
    line-height:1;

    transition:.25s;
}

.pagination-btn:hover{
    background:var(--secondary);
    transform:translateY(-2px);
}

@media(max-width:900px){

    .reviews-header{
        flex-direction:column;
        gap:30px;
        align-items:flex-start;
    }

    .rating-box{
        width:100%;
        box-sizing:border-box;

        display:flex;
        align-items:center;
        justify-content:center;
        gap:30px;

        padding:18px 25px;
        border-radius:20px;
    }


    .stars-big{
        order:1;

        font-size:1.5rem;
        letter-spacing:1px;
    }


    .average{
        order:2;

        font-size:2rem;
        line-height:1;
    }


    .average span{
        font-size:.9rem;
    }


    .rating-box p{
        order:3;

        margin:0;

        font-size:.85rem;

        position:absolute;
        transform:translateY(22px);
    }


    .reviews-grid{
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:800px){
    .reviews-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:500px){
    .rating-box{
        flex-direction:column;
        gap:5px;
        padding:20px;
    }

    .stars-big{
        order:1;
    }

    .average{
        order:2;
    }

    .rating-box p{
        order:3;
        position:static;
        transform:none;
        margin-top:0;
    }

    .review-top{
        padding:0 10px;
    }

    .stars{
        font-size:.95rem;
        letter-spacing:1px;
    }

    .pagination{
        gap:12px;
        margin-top:35px;
    }

    .pagination-btn{
        width:38px;
        height:38px;
        font-size:1.5rem;
    }

    .pagination span{
        font-size:.9rem;
    }
}