/**
 * Buyer Reviews. Neutral styles a theme can override: colours come from custom properties.
 *
 * @author    4gency
 * @copyright 4gency
 * @license   Academic Free License version 3.0 (AFL-3.0), see LICENSE.md
 */
:root {
  --agency-reviews-star: #e3a008;
  --agency-reviews-star-empty: #d4d4d4;
  --agency-reviews-muted: #666;
  --agency-reviews-line: #e5e5e5;
  --agency-reviews-badge: #1f6f43;
  --agency-reviews-badge-bg: #e8f4ec;
}

.agency-reviews-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.agency-reviews-stars {
  display: inline-flex;
  gap: 1px;
  line-height: 1;
  vertical-align: middle;
}

.agency-reviews-star {
  color: var(--agency-reviews-star);
}

.agency-reviews-star--empty {
  color: var(--agency-reviews-star-empty);
}

.agency-reviews-star--half {
  color: transparent;
  background: linear-gradient(90deg, var(--agency-reviews-star) 50%, var(--agency-reviews-star-empty) 50%);
  -webkit-background-clip: text;
  background-clip: text;
}

.agency-reviews-summary__link {
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  text-decoration: none;
}

.agency-reviews-summary__count {
  text-decoration: underline;
}

.agency-reviews-mini {
  display: flex;
  align-items: center;
  gap: 0.3em;
  font-size: 0.85em;
}

.agency-reviews-mini__count {
  color: var(--agency-reviews-muted);
}

.agency-reviews {
  margin: 2rem 0;
}

.agency-reviews__overview {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2rem;
  align-items: center;
  margin-bottom: 1rem;
}

.agency-reviews__score {
  margin: 0;
}

.agency-reviews__average {
  font-size: 2rem;
  font-weight: 700;
}

.agency-reviews__scale {
  margin-right: 0.5em;
  color: var(--agency-reviews-muted);
}

.agency-reviews__bars {
  min-width: 14rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.agency-reviews__bar {
  display: flex;
  gap: 0.5em;
  align-items: center;
  font-size: 0.85em;
}

.agency-reviews__bar-label {
  min-width: 5em;
}

.agency-reviews__bar-track {
  flex: 1;
  height: 0.5em;
  min-width: 6rem;
  overflow: hidden;
  background: var(--agency-reviews-line);
  border-radius: 1em;
}

.agency-reviews__bar-fill {
  display: block;
  height: 100%;
  background: var(--agency-reviews-star);
}

.agency-reviews__notice {
  font-size: 0.9em;
  color: var(--agency-reviews-muted);
}

.agency-reviews__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.agency-reviews-item {
  padding: 1rem 0;
  border-top: 1px solid var(--agency-reviews-line);
}

.agency-reviews-item__header {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
  align-items: center;
}

.agency-reviews-item__title {
  margin: 0;
  font-size: 1em;
  font-weight: 700;
}

.agency-reviews-item__content,
.agency-reviews-item__reply-content {
  margin: 0.5em 0;
  white-space: pre-line;
  overflow-wrap: anywhere;
}

.agency-reviews-item__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25em 0.75em;
  align-items: center;
  font-size: 0.85em;
  color: var(--agency-reviews-muted);
}

.agency-reviews-item__author {
  font-weight: 700;
  color: inherit;
}

.agency-reviews-badge {
  padding: 0.1em 0.5em;
  border-radius: 1em;
  font-size: 0.95em;
}

.agency-reviews-badge--verified {
  color: var(--agency-reviews-badge);
  background: var(--agency-reviews-badge-bg);
}

.agency-reviews-badge--unverified {
  background: var(--agency-reviews-line);
}

.agency-reviews-item__report {
  color: inherit;
}

.agency-reviews-item__reply {
  margin: 0.5em 0 0 1rem;
  padding-left: 0.75rem;
  border-left: 3px solid var(--agency-reviews-line);
}

.agency-reviews-item__reply-title {
  margin: 0;
  font-size: 0.85em;
  font-weight: 700;
}

.agency-reviews-order {
  margin: 1.5rem 0;
}

.agency-reviews-order__lines {
  margin: 0;
  padding: 0;
  list-style: none;
}

.agency-reviews-order__line {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em 1em;
  align-items: center;
  justify-content: space-between;
  padding: 0.5em 0;
  border-top: 1px solid var(--agency-reviews-line);
}

.agency-reviews-product {
  display: flex;
  gap: 1rem;
  align-items: center;
  margin-bottom: 1.5rem;
}

.agency-reviews-product__image {
  width: 120px;
  height: auto;
}

.agency-reviews-product__name {
  margin: 0;
  font-weight: 700;
}

.agency-reviews-product__order {
  margin: 0;
  color: var(--agency-reviews-muted);
}

.agency-reviews-form {
  max-width: 40rem;
}

.agency-reviews-form__field {
  margin: 0 0 1.25rem;
  padding: 0;
  border: 0;
}

.agency-reviews-form__label {
  display: block;
  margin-bottom: 0.25em;
  font-weight: 700;
}

.agency-reviews-form__help,
.agency-reviews-form__optional {
  font-size: 0.85em;
  font-weight: 400;
  color: var(--agency-reviews-muted);
}

.agency-reviews-form__choice {
  display: block;
  font-weight: 400;
}

.agency-reviews-form__trap {
  display: none;
}

.agency-reviews-rating {
  display: inline-flex;
  gap: 0.25rem;
}

.agency-reviews-rating input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.agency-reviews-rating label {
  margin: 0;
  font-size: 2rem;
  line-height: 1;
  color: var(--agency-reviews-star-empty);
  cursor: pointer;
}

.agency-reviews-rating input:focus-visible + label {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

.agency-reviews-rating:has(input:checked) label,
.agency-reviews-rating input:checked + label {
  color: var(--agency-reviews-star);
}

.agency-reviews-rating input:checked + label ~ label {
  color: var(--agency-reviews-star-empty);
}

.agency-reviews-policy__section {
  margin-bottom: 1.5rem;
}
