.product-reviews { margin: 2rem 0; font-family: 'Inter', sans-serif; .reviews-title { font-size: 1.5rem; font-weight: 600; margin-bottom: 1.5rem; color: #2c3e50; } .rating-summary { background-color: #f8f9fa; border-radius: 8px; padding: 1.5rem; margin-bottom: 2rem; .average-rating { display: flex; align-items: center; flex-wrap: wrap; gap: 0.75rem; .big-rating { font-size: 2.5rem; font-weight: 700; color: #2c3e50; } .rating-count { font-size: 0.9rem; color: #666; margin-left: 0.5rem; } } } .review-form-container { background-color: #fff; border: 1px solid #e0e0e0; border-radius: 8px; padding: 1.5rem; margin-bottom: 2rem; h3 { font-size: 1.2rem; margin-bottom: 1rem; color: #2c3e50; } .login-prompt { text-align: center; padding: 1rem; p { color: #666; a { color: #2c3e50; font-weight: 500; text-decoration: underline; &:hover { color: #1a252f; } } } } .review-form { .form-group { margin-bottom: 1rem; label { display: block; font-weight: 500; margin-bottom: 0.5rem; color: #333; } textarea { width: 100%; padding: 0.75rem; border: 1px solid #ddd; border-radius: 4px; font-family: inherit; &:focus { border-color: #2c3e50; outline: none; } } } .submit-review-btn { background-color: #2c3e50; color: white; border: none; border-radius: 4px; padding: 0.75rem 1rem; font-weight: 500; cursor: pointer; transition: background-color 0.2s; &:hover:not(:disabled) { background-color: #1a252f; } &:disabled { background-color: #b2bec3; cursor: not-allowed; } } } } .reviews-list { h3 { font-size: 1.2rem; margin-bottom: 1rem; color: #2c3e50; } .loading-text, .error-text, .no-reviews { text-align: center; padding: 2rem; color: #666; background-color: #f8f9fa; border-radius: 8px; } .error-text { color: #e74c3c; } .review-item { border-bottom: 1px solid #eee; padding: 1.5rem 0; &:last-child { border-bottom: none; } .review-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.75rem; .reviewer-info { display: flex; align-items: center; .profile-pic { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; margin-right: 0.75rem; } .profile-placeholder { width: 40px; height: 40px; border-radius: 50%; background-color: #2c3e50; color: white; display: flex; align-items: center; justify-content: center; font-weight: 600; margin-right: 0.75rem; } .reviewer-name { font-weight: 500; color: #2c3e50; } } .review-date { font-size: 0.85rem; color: #95a5a6; } } .review-rating { margin-bottom: 0.75rem; } .review-comment { line-height: 1.5; color: #333; margin-bottom: 1rem; white-space: pre-line; } .review-images { display: flex; flex-wrap: wrap; gap: 0.5rem; .review-image { width: 80px; height: 80px; border-radius: 4px; object-fit: cover; cursor: pointer; transition: transform 0.2s; &:hover { transform: scale(1.05); } } } } } } @media (max-width: 768px) { .product-reviews { .rating-summary { padding: 1rem; .average-rating { flex-direction: column; align-items: flex-start; .big-rating { font-size: 2rem; } } } .review-item { .review-header { flex-direction: column; align-items: flex-start; .reviewer-info { margin-bottom: 0.5rem; } } } } }