/* Reviews Modal */
.reviews-modal {
   display: none;
   position: fixed;
   z-index: 10000;
   left: 0;
   top: 0;
   width: 100%;
   height: 100%;
   overflow: auto;
   background-color: rgba(0, 0, 0, 0.7);
   backdrop-filter: blur(4px);
   -webkit-backdrop-filter: blur(4px);
   animation: fadeIn 0.3s ease;
}

.reviews-modal.active {
   display: flex;
   align-items: center;
   justify-content: center;
}

@keyframes fadeIn {
   from {
      opacity: 0;
   }
   to {
      opacity: 1;
   }
}

.reviews-modal-content {
   background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
   margin: 20px;
   padding: 0;
   border-radius: 16px;
   width: 90%;
   max-width: 600px;
   max-height: 80vh;
   overflow: hidden;
   box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
   animation: slideUp 0.3s ease;
   position: relative;
}

@keyframes slideUp {
   from {
      transform: translateY(50px);
      opacity: 0;
   }
   to {
      transform: translateY(0);
      opacity: 1;
   }
}

.reviews-modal-header {
   background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
   color: white;
   padding: 20px 24px;
   display: flex;
   justify-content: space-between;
   align-items: center;
   border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.reviews-modal-header h3 {
   margin: 0;
   font-size: 1.25rem;
   font-weight: 700;
}

.reviews-close {
   background: rgba(255, 255, 255, 0.2);
   border: none;
   color: white;
   font-size: 2rem;
   font-weight: 300;
   cursor: pointer;
   width: 36px;
   height: 36px;
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   transition: all 0.3s ease;
   line-height: 1;
}

.reviews-close:hover {
   background: rgba(255, 255, 255, 0.3);
   transform: rotate(90deg);
}

.reviews-modal-body {
   padding: 24px;
   overflow-y: auto;
   max-height: calc(80vh - 80px);
}

.review-item {
   background: white;
   border: 1px solid #e5e7eb;
   border-radius: 12px;
   padding: 16px;
   margin-bottom: 16px;
   transition: all 0.3s ease;
}

.review-item:last-child {
   margin-bottom: 0;
}

.review-item:hover {
   box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
   transform: translateY(-2px);
}

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

.review-stars {
   color: #fbbf24;
   font-size: 1rem;
   letter-spacing: 2px;
}

.review-date {
   color: #6b7280;
   font-size: 0.75rem;
}

.review-author {
   color: #374151;
   font-weight: 600;
   font-size: 0.9rem;
   margin-bottom: 8px;
}

.review-text {
   color: #4b5563;
   font-size: 0.875rem;
   line-height: 1.6;
   margin: 0;
}

/* Responsive */
@media (max-width: 768px) {
   .reviews-modal-content {
      width: 95%;
      margin: 10px;
   }
   
   .reviews-modal-header {
      padding: 16px 20px;
   }
   
   .reviews-modal-header h3 {
      font-size: 1.1rem;
   }
   
   .reviews-modal-body {
      padding: 16px;
   }
   
   .review-item {
      padding: 12px;
   }
}

