.lin-reviews {
  --lin-accent: #f3ac52;
  --lin-ink: #253142;
  --lin-muted: #687386;
  --lin-border: #e5e7eb;
  color: var(--lin-ink);
  font-family: inherit;
  margin: 2rem auto;
  max-width: 1200px;
  transition: opacity .18s ease;
}
.lin-reviews.is-loading { opacity: .55; pointer-events: none; }

.lin-reviews__heading { margin: 0 0 1.4rem; text-align: center; }
.lin-reviews__summary { align-items: center; border-bottom: 1px solid var(--lin-border); display: grid; gap: 2.5rem; grid-template-columns: minmax(180px, .75fr) minmax(260px, 1.25fr); padding: 0 0 1.6rem; }
.lin-reviews__score { align-items: center; display: flex; flex-direction: column; gap: .25rem; text-align: center; }
.lin-reviews__score > strong { font-size: 2.75rem; line-height: 1; }
.lin-reviews__score > span:last-child { color: var(--lin-muted); font-size: .9rem; }
.lin-review__stars { color: var(--lin-accent); font-size: 1.15rem; letter-spacing: .08em; line-height: 1; }
.lin-review__featured { align-self: flex-start; background: #fff6e7; border-radius: 999px; color: #8a5a12; font-size: .7rem; font-weight: 700; margin-top: .65rem; padding: .25rem .55rem; text-transform: uppercase; }
.lin-reviews__bars { display: grid; gap: .35rem; }
.lin-reviews__bar-row { align-items: center; display: grid; font-size: .84rem; gap: .6rem; grid-template-columns: 32px 1fr 30px; }
.lin-reviews__bar { background: #f0f1f3; border-radius: 999px; display: block; height: 7px; overflow: hidden; }
.lin-reviews__bar i { background: var(--lin-accent); display: block; height: 100%; }
.lin-reviews__toolbar { align-items: center; display: flex; justify-content: space-between; padding: 1.3rem 0; }
.lin-reviews__filter { background: #fff; border: 1px solid var(--lin-border); border-radius: 4px; color: var(--lin-ink); padding: .55rem 2.1rem .55rem .75rem; }
.lin-reviews__grid { display: grid; gap: 1rem; grid-template-columns: repeat(var(--lin-columns), minmax(0, 1fr)); }
.lin-review { background: #fff; border: 1px solid var(--lin-border); border-radius: 8px; display: flex; flex-direction: column; min-width: 0; padding: 1.25rem; }
.lin-review[hidden] { display: none; }
.lin-review__title { font-size: 1rem; line-height: 1.35; margin: .75rem 0 .45rem; }
.lin-review__body { color: #394354; font-size: .95rem; line-height: 1.65; overflow: hidden; }
.lin-review__body.is-collapsed { max-height: 10.2em; }
.lin-review__body p { margin: 0 0 .7em; }
.lin-review__more { align-self: flex-start; background: transparent; border: 0; color: var(--lin-ink); cursor: pointer; font: inherit; font-size: .86rem; font-weight: 700; margin: .2rem 0 0; padding: 0; text-decoration: underline; }
.lin-review__footer { border-top: 1px solid var(--lin-border); color: var(--lin-muted); display: grid; font-size: .79rem; gap: .3rem; margin-top: auto; padding-top: 1rem; }
.lin-review__name { color: var(--lin-ink); }
.lin-review__verified { color: #39846b; font-size: .72rem; margin-left: .35rem; }
.lin-review__location { overflow-wrap: anywhere; }
.lin-review__product { font-weight: 600; }
.lin-reviews__no-results { color: var(--lin-muted); padding: 2rem; text-align: center; }
.lin-reviews__pagination { margin-top: 1.75rem; }
.lin-reviews__pagination ul { align-items: center; display: flex; flex-wrap: wrap; gap: .4rem; justify-content: center; list-style: none; margin: 0; padding: 0; }
.lin-reviews__pagination a,
.lin-reviews__pagination span { align-items: center; border: 1px solid var(--lin-border); border-radius: 4px; color: var(--lin-ink); display: inline-flex; justify-content: center; min-height: 38px; min-width: 38px; padding: .45rem .7rem; text-decoration: none; }
.lin-reviews__pagination a:hover,
.lin-reviews__pagination a:focus { border-color: var(--lin-accent); }
.lin-reviews__pagination .current { background: var(--lin-ink); border-color: var(--lin-ink); color: #fff; }

@media (max-width: 800px) {
  .lin-reviews__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
  .lin-reviews__summary { gap: 1.4rem; grid-template-columns: 1fr; }
  .lin-reviews__grid { grid-template-columns: 1fr; }
  .lin-reviews__toolbar { align-items: flex-start; flex-direction: column; gap: .75rem; }
  .lin-reviews__filter { width: 100%; }
}
