.container {
  display: flex;
  gap: 60px;
  max-width: 900px;
  flex-wrap: wrap;
  margin-top: 40px;
  font-size: 16px;
}

.rating-summary { flex: 1; min-width: 260px; }
.overall-stars { text-align: center; font-size: 26px; color: #ddd; letter-spacing: 2px; margin-bottom: 4px; }
.review-count { text-align: center; color: #777; font-size: 15px; margin-bottom: 20px; }
.rating-row { display: flex; align-items: center; margin-bottom: 6px; }
.rating-row .stars { width: 100px; color: #f0ad4e; font-size: 16px; letter-spacing: 1px; white-space: nowrap; }
.rating-row .stars .empty { color: #ddd; }
.bar-bg { flex: 1; height: 8px; background: #e6e6e6; border-radius: 4px; margin: 0 10px; overflow: hidden; }
.bar-fill { height: 100%; background: #f0ad4e; }
.rating-row .count { width: 20px; text-align: right; color: #555; font-size: 15px; }

.review-form { flex: 1.4; min-width: 320px; }
.review-form h3 { font-size: 17px; font-weight: bold; text-transform: uppercase; margin: 0 0 14px 0; letter-spacing: 0.5px; }
.review-form p.note { color: #777; font-size: 15px; margin: 0 0 16px 0; line-height: 1.5; }
.form-row { margin-bottom: 14px; }
.form-row label { display: block; font-size: 16px; font-weight: bold; margin-bottom: 6px; }
.required { color: #d9534f; }
.your-rating { display: flex; align-items: center; gap: 4px; }
.your-rating .stars-input { color: #ddd; font-size: 22px; letter-spacing: 2px; cursor: pointer; }
.your-rating .stars-input span { cursor: pointer; }
.field-error { color: #d9534f; font-size: 14px; margin-top: 4px; }
.success-msg { background: #dff0d8; color: #3c763d; border: 1px solid #d6e9c6; padding: 10px 14px; border-radius: 3px; font-size: 16px; margin-bottom: 16px; }
textarea { width: 100%; min-height: 110px; padding: 8px 10px; border: 1px solid #ccc; border-radius: 3px; font-family: inherit; font-size: 16px; resize: vertical; }
input[type="text"], input[type="email"] { width: 100%; padding: 8px 10px; border: 1px solid #ccc; border-radius: 3px; font-family: inherit; font-size: 16px; }
button.submit-btn { background: #29b6f6; color: #fff; border: none; padding: 10px 26px; border-radius: 20px; font-size: 16px; cursor: pointer; }
button.submit-btn:hover { background: #1e9fd8; }

.reviews-section { max-width: 900px; margin-top: 50px; font-size: 16px; }
.reviews-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 16px; }
.reviews-header h3 { font-size: 17px; font-weight: bold; text-transform: uppercase; margin: 0; letter-spacing: 0.5px; color: #2d6cdf; }
.no-reviews { color: #333; font-size: 16px; margin-top: 14px; }
.review-item { border-bottom: 1px solid #eee; padding: 16px 0; }
.review-item:first-child { padding-top: 0; }
.review-item .review-stars { color: #f0ad4e; font-size: 17px; letter-spacing: 1px; margin-bottom: 6px; }
.review-item .review-stars .empty { color: #ddd; }
.review-item .review-author { font-weight: bold; font-size: 16px; margin-bottom: 4px; }
.review-item .review-date { font-weight: normal; color: #999; font-size: 14px; margin-left: 8px; }
.review-item .review-text { font-size: 16px; color: #444; line-height: 1.5; }
