/* ===========================
BACKGROUND
=========================== */

.review-overlay{

position:fixed;

top:0;

left:0;

width:100%;

height:100%;

display:flex;

justify-content:center;

align-items:center;

background:rgba(0,0,0,.55);

backdrop-filter:blur(8px);

z-index:99999;

opacity:0;

visibility:hidden;

transition:.35s ease;

}

.review-overlay.show{

opacity:1;

visibility:visible;

}


/* ===========================
CARD
=========================== */

.review-modal{

width:640px;

max-width:95%;

background:#fff;

border-radius:24px;

padding:35px;

position:relative;

box-shadow:

0 25px 60px rgba(0,0,0,.25);

animation:popup .35s ease;

}

@keyframes popup{

from{

opacity:0;

transform:translateY(25px) scale(.95);

}

to{

opacity:1;

transform:translateY(0) scale(1);

}

}


/* ===========================
CLOSE
=========================== */

.review-close{

position:absolute;

top:18px;

right:18px;

width:42px;

height:42px;

border:none;

border-radius:50%;

background:#f5f5f5;

cursor:pointer;

font-size:18px;

transition:.3s;

}

.review-close:hover{

background:#0c593a;

color:white;

}


/* ===========================
TOP
=========================== */

.review-top{

display:flex;

gap:25px;

align-items:center;

margin-bottom:35px;

}

.review-product-image{

width:120px;

height:120px;

border-radius:18px;

object-fit:cover;

background:#fafafa;

border:1px solid #eee;

}

.review-product-info h2{

font-size:28px;

margin-bottom:8px;

color:#0c593a;

}

.review-delivered{

color:#4CAF50;

font-weight:600;

margin-bottom:10px;

}

.review-text{

color:#666;

line-height:1.6;

}


/* ===========================
STARS
=========================== */

.review-stars-container{

text-align:center;

margin-bottom:30px;

}

.review-stars-container h3{

margin-bottom:20px;

font-size:20px;

color:#222;

}

.review-stars{

display:flex;

justify-content:center;

gap:14px;

}

.review-stars i{

font-size:42px;

color:#d7d7d7;

cursor:pointer;

transition:.25s;

}

.review-stars i:hover{

transform:scale(1.15);

}

.review-stars i.active{

color:#F6B400;

}


/* ===========================
FORM
=========================== */

.review-form{

max-height:0;

overflow:hidden;

opacity:0;

transition:.45s ease;

}

.review-form.show{

max-height:500px;

opacity:1;

margin-top:20px;

}

.review-form input,

.review-form textarea{

width:100%;

padding:15px;

margin-bottom:18px;

border:1px solid #ddd;

border-radius:12px;

font-size:15px;

font-family:inherit;

}

.review-form textarea{

height:140px;

resize:none;

}

.review-form input:focus,

.review-form textarea:focus{

outline:none;

border-color:#0c593a;

}


/* ===========================
BUTTON
=========================== */

#submitReview{

width:100%;

padding:18px;

border:none;

border-radius:14px;

background:#0c593a;

color:white;

font-size:17px;

font-weight:700;

cursor:pointer;

transition:.3s;

}

#submitReview:hover{

background:#5cb135;

}


/* ===========================
SUCCESS
=========================== */

.review-success{

display:none;

text-align:center;

padding:30px 0;

}

.review-success.show{

display:block;

}

.review-success i{

font-size:70px;

color:#4CAF50;

margin-bottom:18px;

}

.review-success h3{

font-size:30px;

margin-bottom:10px;

color:#0c593a;

}

.review-success p{

color:#666;

}


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

@media(max-width:768px){

.review-modal{

padding:22px;

}

.review-top{

flex-direction:column;

text-align:center;

}

.review-product-image{

width:100px;

height:100px;

}

.review-product-info h2{

font-size:22px;

}

.review-stars i{

font-size:34px;

}

}
.review-stars i{

transition:.25s;

}

.review-stars i.active{

transform:scale(1.2);

}