.review-card{
  background:#f0f0f0;color:#222;border-radius:8px;padding:8px;
  width:239px;height:239px;display:flex;flex-direction:column;
  justify-content:space-between;box-shadow:0 4px 8px rgba(0,0,0,.1);
  transition:.3s;position:relative;overflow:hidden;z-index:1;
}
.review-card.expanded{height:auto}
.review-card:hover{
  border:2px solid #ff1744;
  box-shadow:0 12px 20px rgba(255,23,68,.25);
  transform:scale(1.5);
}

.review-header{display:flex;align-items:center;margin-bottom:10px}
.review-header .avatar{width:40px;height:40px;margin-right:10px;border-radius:50%;overflow:hidden;flex-shrink:0}
.review-header .author{font-weight:600;font-size:15px;color:#0d47a1}
.review-header .date{font-size:12px;color:#555;opacity:.7}

.review-content{flex-grow:1;font-size:14px;line-height:1.5;color:#333;margin-bottom:12px;overflow:hidden}
.review-content .toggle-content{display:inline-block;margin-top:6px;font-size:13px;font-weight:500;color:#1976d2;cursor:pointer;transition:.3s}
.review-content .toggle-content:hover{color:#0d47a1;text-decoration:underline}

.review-footer{display:flex;justify-content:space-between;align-items:center}
.like-btn{font-size:14px;font-weight:700;color:#ff1744;cursor:pointer;display:flex;align-items:center;gap:4px;transition:.3s}
.like-btn:hover{opacity:.8}
.btn-buy{background:linear-gradient(90deg,#1976d2,#42a5f5);color:#fff;padding:6px 14px;border-radius:20px;font-size:13px;font-weight:700;text-decoration:none;transition:.3s}
.btn-buy:hover{opacity:.9}

.woo-review-slider .swiper-slide{display:flex;justify-content:center}

/* Flying Heart */
.flying-heart{position:absolute;z-index:99;pointer-events:none;opacity:0;transform:scale(.6)}
.flying-heart.animate.float{animation:floatHeart 1.6s ease forwards}
.flying-heart.animate.explode{animation:explodeHeart 1s ease-out forwards}
@keyframes floatHeart{
  0%{opacity:1;transform:scale(.6) translateY(0)}
  50%{transform:scale(1.2) translateY(-60px) rotate(10deg)}
  100%{opacity:0;transform:scale(1.6) translateY(-120px)}
}
@keyframes explodeHeart{
  0%{opacity:1;transform:scale(.6) translateY(0)}
  70%{opacity:.8;transform:scale(1.8) translateY(-40px)}
  100%{opacity:0;transform:scale(0) translateY(-60px)}
}

/* Responsive */
@media(max-width:1023px){.review-card{width:45%;height:auto;min-height:120px;padding:6px}}
@media(max-width:767px){
  .review-card{width:100%;height:239px;padding:8px}
  .review-card.expanded{height:auto}
  .review-header .author{font-size:14px}
  .review-content{font-size:13px}
  .btn-buy{font-size:12px;padding:5px 12px}
}