/* Purchase reviews MVP */
.purchase-reviews {
  display: grid;
  gap: 18px;
  padding: 4px 0 18px;
}
.purchase-reviews__header,
.purchase-review-card__header {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
}
.purchase-reviews__header h2 {
  margin: 0 0 4px;
  color: #305e37;
  font-size: 24px;
}
.purchase-reviews__header p,
.purchase-reviews__legal-note,
.purchase-reviews__field small {
  margin: 0;
  color: #657064;
  line-height: 1.45;
}
.purchase-reviews__rating {
  min-width: 105px;
  border-radius: 12px;
  padding: 10px 12px;
  text-align: center;
  background: #f5f1e8;
  color: #655020;
}
.purchase-reviews__rating strong { font-size: 22px; }
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.purchase-star-rating {
  --rating-fill: 0%;
  display: inline-block;
  letter-spacing: 2px;
  font-size: 24px;
  line-height: 1;
  color: transparent;
  background: linear-gradient(90deg, #d9a441 var(--rating-fill), #d7d9d3 var(--rating-fill));
  -webkit-background-clip: text;
  background-clip: text;
}
.purchase-star-rating--card {
  flex: 0 0 auto;
  font-size: 21px;
}
.purchase-reviews__rating small {
  display: block;
  margin-top: 3px;
  color: #727062;
}
.purchase-reviews__notice,
.purchase-reviews__empty {
  padding: 14px 16px;
  border: 1px solid #dfe7dc;
  border-radius: 12px;
  background: #f8fbf7;
  color: #425342;
  line-height: 1.45;
}
.purchase-reviews__form {
  display: grid;
  gap: 12px;
  padding: 18px;
  border: 1px solid #e2e7dc;
  border-radius: 14px;
  background: #fff;
}
.purchase-reviews__field {
  display: grid;
  gap: 6px;
}
.purchase-reviews__field select,
.purchase-reviews__field textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #cbd7c8;
  border-radius: 9px;
  padding: 10px 12px;
  font: inherit;
}
.purchase-reviews__field textarea { resize: vertical; }
.purchase-reviews__list { display: grid; gap: 12px; }
.purchase-review-consent {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  color: #4f5b4f;
  line-height: 1.45;
}
.purchase-review-consent input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin: 2px 0 0;
  accent-color: #5e8b63;
}
.purchase-review-consent label { cursor: pointer; }
.purchase-review-consent a {
  color: #3f6846;
  font-weight: 600;
}
.purchase-review-consent__error {
  margin-top: -5px;
  color: #b02323;
  font-size: 14px;
}
.purchase-review-card {
  padding: 17px;
  border: 1px solid #e2e7dc;
  border-radius: 14px;
  background: #fff;
}
.purchase-review-author {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 10px;
}
.purchase-review-author__avatar,
.purchase-review-author__fallback {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border: 1px solid #d6dfd2;
  border-radius: 50%;
}
.purchase-review-author__avatar {
  object-fit: cover;
  background: #f4f4ef;
}
.purchase-review-author__fallback {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #edf2e8;
  color: #436a45;
  font-weight: 700;
}
.purchase-review-card__header time {
  display: block;
  margin-top: 3px;
  color: #7b8178;
  font-size: 13px;
}
.purchase-review-card__rating {
  white-space: nowrap;
  color: #806224;
  font-weight: 700;
}
.purchase-review-card p {
  margin: 12px 0 0;
  line-height: 1.55;
}
@media (max-width: 700px) {
  .purchase-reviews__header,
  .purchase-review-card__header { flex-direction: column; }
  .purchase-reviews__rating { text-align: left; }
}
