/* review.css */
.review-main { padding: 32px 0 64px; min-height: 60vh; }
.review-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 28px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--border);
}
.review-count { font-size: 15px; color: var(--text-gray); }
.review-count strong { color: var(--text-dark); }
.review-search-wrap {
  display: flex;
  border: 1px solid var(--border);
  border-radius: 3px;
  overflow: hidden;
}
.review-search-wrap input {
  border: none;
  outline: none;
  padding: 7px 12px;
  font-size: 13px;
  width: 200px;
}
.review-search-wrap button {
  padding: 7px 12px;
  background: var(--bg-light);
  font-size: 14px;
  border: none;
  cursor: pointer;
}
.review-grid-page {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px 20px;
  margin-bottom: 32px;
}
.review-source-note {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin: -10px 0 28px;
  padding: 14px 16px;
  background: #f4f8ff;
  border: 1px solid #d9e7fb;
  border-radius: 6px;
  font-size: 13px;
  color: var(--text-gray);
}
.review-source-note a { flex: 0 0 auto; color: var(--primary-dark); font-weight: 700; text-decoration: underline; }
.review-empty { grid-column: 1 / -1; text-align: center; color: var(--text-light); padding: 64px 0; }

@media (max-width: 1024px) { .review-grid-page { grid-template-columns: repeat(3,1fr); } }
@media (max-width: 768px) { .review-grid-page { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 480px) { .review-grid-page { grid-template-columns: 1fr 1fr; gap: 12px; } }
@media (max-width: 600px) { .review-source-note { align-items: flex-start; flex-direction: column; } }
