.reviews-hero{

padding:150px 0 100px;

background:linear-gradient(
180deg,
#fff,
#F8FBFF
);

text-align:center;

}

.summary-card{

display:grid;

grid-template-columns:350px 1fr;

gap:60px;

padding:50px;

align-items:center;

}

.summary-left{

text-align:center;

}

.summary-left h2{

font-size:70px;

color:var(--primary);

}

.stars{

font-size:26px;

color:#FFC107;

margin:10px 0;

}

.rating-bar{

display:flex;

align-items:center;

gap:15px;

margin-bottom:18px;

}

.bar{

flex:1;

height:10px;

background:#eee;

border-radius:50px;

overflow:hidden;

}

.fill{

height:100%;

background:var(--primary);

}

@media(max-width:768px){

.summary-card{

grid-template-columns:1fr;

}

}
/*=====================================
        REVIEW CARDS
======================================*/

.reviews-list{

background:#fff;

}

.reviews-grid{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:30px;

}

.review-card{

padding:35px;

transition:.35s;

}

.review-card:hover{

transform:translateY(-10px);

}

.review-top{

display:flex;

justify-content:space-between;

align-items:center;

margin-bottom:20px;

}

.review-user{

display:flex;

align-items:center;

gap:15px;

}

.review-avatar{

width:58px;

height:58px;

border-radius:50%;

background:linear-gradient(
135deg,
var(--primary),
var(--primary-dark)
);

color:#fff;

display:flex;

justify-content:center;

align-items:center;

font-size:22px;

font-weight:700;

}

.review-user h3{

font-size:18px;

margin-bottom:4px;

}

.review-user span{

font-size:14px;

color:var(--gray);

}

.review-rating{

color:#FFC107;

font-size:20px;

}

.review-text{

margin:20px 0;

line-height:1.8;

color:var(--gray);

}

.review-footer{

display:flex;

justify-content:space-between;

font-size:14px;

color:#94A3B8;

padding-top:20px;

border-top:1px solid #ECECEC;

}

@media(max-width:768px){

.reviews-grid{

grid-template-columns:1fr;

}

.review-footer{

flex-direction:column;

gap:10px;

}

}

/*=====================================
        REVIEW FILTER
======================================*/

.review-filter{

padding-top:20px;

padding-bottom:50px;

background:#fff;

}

.filter-wrapper{

display:flex;

justify-content:space-between;

align-items:center;

gap:30px;

flex-wrap:wrap;

}

.filter-buttons{

display:flex;

gap:15px;

flex-wrap:wrap;

}

.filter-btn{

padding:12px 24px;

border:none;

border-radius:999px;

background:#EEF2F7;

font-weight:600;

cursor:pointer;

transition:.35s;

}

.filter-btn.active{

background:var(--primary);

color:#fff;

}

.filter-btn:hover{

background:var(--primary);

color:#fff;

}

.review-search{

position:relative;

width:320px;

max-width:100%;

}

.review-search i{

position:absolute;

left:18px;

top:50%;

transform:translateY(-50%);

color:#94A3B8;

}

.review-search input{

width:100%;

height:52px;

padding-left:50px;

border:1px solid #E2E8F0;

border-radius:50px;

font-size:15px;

}

/*=====================================
        LOAD MORE
======================================*/

.load-more-section{

padding:30px 0 100px;

background:#fff;

}

.load-more-wrapper{

text-align:center;

}

/*=====================================
        MOBILE
======================================*/

@media(max-width:768px){

.filter-wrapper{

flex-direction:column;

align-items:stretch;

}

.filter-buttons{

justify-content:center;

}

.review-search{

width:100%;

}

}

/*=====================================
        REVIEW CTA
======================================*/

.review-cta{

padding:100px 0;

background:linear-gradient(
135deg,
#07111F,
#0E1C31
);

}

.review-cta-box{

max-width:900px;

margin:auto;

padding:70px 50px;

text-align:center;

background:rgba(255,255,255,.05);

border:1px solid rgba(255,255,255,.08);

border-radius:30px;

backdrop-filter:blur(20px);

}

.review-cta-box h2{

font-size:46px;

color:#fff;

margin:25px 0 20px;

}

.review-cta-box p{

max-width:650px;

margin:auto;

color:#CBD5E1;

line-height:1.9;

margin-bottom:40px;

}

.review-cta .cta-buttons{

display:flex;

justify-content:center;

gap:20px;

flex-wrap:wrap;

}

@media(max-width:768px){

.review-cta-box{

padding:40px 25px;

}

.review-cta-box h2{

font-size:34px;

}

}
/*=====================================
        STATES
======================================*/

.loading-state{

padding:60px;

text-align:center;

font-size:20px;

font-weight:600;

color:var(--primary);

}

.empty-state{

padding:60px;

text-align:center;

font-size:22px;

font-weight:600;

color:#94A3B8;

}