/* Scoped to the widget; inherit each store's typography. */
.fp-reviews {
  --fpr-accent: #176a32; --fpr-star: #966700; --fpr-card-bg: #fff;
  --fpr-text: #222; --fpr-muted: #5b6268; --fpr-border: #dce1e4;
  container-type: inline-size; font-family: inherit; color: var(--fpr-text);
  width: 100%; max-width: 1360px; min-width: 0; margin: 0 auto; text-align: left;
}
.fp-reviews *, .fp-reviews *::before, .fp-reviews *::after { box-sizing: border-box; }
.elementor .fp-reviews:not(.fpr-single) { box-sizing: border-box; padding: 8px 20px 28px; }
.fp-reviews .fp-reviews-loading, .fp-reviews .fp-reviews-error,
.fp-reviews .fp-reviews-empty { color: var(--fpr-muted); font-size: 14px; padding: 24px 0; }
.fp-reviews .fpr-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.fp-reviews .fpr-rating { display: flex; align-items: center; gap: 14px; }
.fp-reviews .fpr-score { font-size: 36px; font-weight: 700; line-height: 1; letter-spacing: -.02em; }
.fp-reviews .fpr-count { color: var(--fpr-muted); font-size: 13px; line-height: 1.5; margin-top: 2px; }
.fp-reviews .fpr-stars { display: inline-block; white-space: nowrap; font-size: 16px; line-height: 1.5; letter-spacing: 1px; }
.fp-reviews .fpr-star { color: var(--fpr-muted); }
.fp-reviews .fpr-star.on { color: var(--fpr-star); }
.fp-reviews .fpr-summary { padding: 0; font-size: 15px; line-height: 1.6; margin: 0 0 24px; max-width: 70ch; }
.fp-reviews .fpr-viewport { min-width: 0; }
.fp-reviews .fpr-track { display: flex; gap: 16px; }
.fp-reviews .fpr-carousel { align-items: flex-start; overflow-x: auto; scroll-snap-type: x mandatory; padding: 2px 2px 14px; scrollbar-width: thin; scrollbar-color: #a6adb1 transparent; }
.fp-reviews .fpr-carousel .fpr-card { scroll-snap-align: start; flex: 0 0 min(100%, 340px); }
.fp-reviews .fpr-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.fp-reviews .fpr-list { flex-direction: column; }
.fp-reviews .fpr-controls { display: flex; gap: 8px; flex: 0 0 auto; }
.fp-reviews .fpr-nav { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border-radius: 50%; border: 1px solid var(--fpr-border); background: var(--fpr-card-bg); color: var(--fpr-text); font: 26px/1 Arial, sans-serif; cursor: pointer; box-shadow: none; }
.fp-reviews .fpr-nav:hover:not(:disabled) { border-color: var(--fpr-text); background: #f2f4f3; color: var(--fpr-text); }
.fp-reviews .fpr-nav:disabled { opacity: .4; cursor: default; }
.fp-reviews .fpr-card { background: var(--fpr-card-bg); border: 1px solid var(--fpr-border); border-radius: 12px; padding: 24px; display: flex; flex-direction: column; gap: 16px; min-width: 0; min-height: 260px; }
.fp-reviews .fpr-card-head { display: flex; align-items: center; gap: 12px; padding: 0; background: none; border: 0; }
.fp-reviews .fpr-avatar { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; flex: 0 0 40px; }
.fp-reviews .fpr-avatar-fallback { display: inline-flex; align-items: center; justify-content: center; background: #edf0ee; color: #344a3b; font-size: 14px; font-weight: 600; }
.fp-reviews .fpr-meta { flex: 1 1 auto; min-width: 0; }
.fp-reviews .fpr-name { font-weight: 600; font-size: 14px; line-height: 1.4; overflow-wrap: anywhere; }
.fp-reviews .fpr-body { font-size: 15px; line-height: 1.65; color: var(--fpr-text); overflow-wrap: anywhere; white-space: pre-line; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 5; overflow: hidden; }
.fp-reviews .fpr-body.fpr-expanded { display: block; }
.fp-reviews .fpr-more[hidden] { display: none; }
.fp-reviews .fpr-more { align-self: flex-start; background: none; border: 0; border-radius: 0; color: var(--fpr-accent); cursor: pointer; padding: 4px 0; margin: -8px 0 0; font: inherit; font-size: 14px; font-weight: 600; line-height: 1.5; text-decoration: underline; text-underline-offset: 3px; box-shadow: none; }
.fp-reviews .fpr-more:hover { color: var(--fpr-text); }
.fp-reviews .fpr-card-foot { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px; margin-top: auto; padding: 8px 0 0; border: 0; background: none; }
.fp-reviews .fpr-badge { color: var(--fpr-muted); font-size: 12px; font-weight: 600; line-height: 1.5; }
.fp-reviews .fpr-date { font-size: 12px; line-height: 1.5; color: var(--fpr-muted); }
.fp-reviews :is(button, .fpr-track):focus-visible { outline: 2px solid var(--fpr-text); outline-offset: 3px; }
@container (min-width: 760px) { .fp-reviews .fpr-carousel .fpr-card { flex-basis: calc((100% - 16px) / 2); } }
@container (min-width: 1080px) { .fp-reviews .fpr-carousel .fpr-card { flex-basis: calc((100% - 32px) / 3); } }
@container (max-width: 380px) {
 .fp-reviews .fpr-card { padding: 18px; }
 .fp-reviews .fpr-header, .fp-reviews .fpr-rating { gap: 8px; }
 .fp-reviews .fpr-score { font-size: 30px; }
 .fp-reviews .fpr-controls { gap: 4px; }
}
.fp-reviews.fpr-dark, .fpr-dark .fp-reviews {
 --fpr-card-bg: #1f2327; --fpr-text: #f0f2f3; --fpr-muted: #b3bac0; --fpr-border: #485058; --fpr-star: #efc65c; --fpr-accent: #8bdea3;
}
/* A quiet, single review for narrow footer columns. */
.fp-reviews.fpr-single .fpr-card { padding: 0; min-height: 0; border: 0; border-radius: 0; background: transparent; gap: 14px; }
.fp-reviews.fpr-single .fpr-card-head { order: 2; }
.fp-reviews.fpr-single .fpr-avatar { display: none; }
.fp-reviews.fpr-single .fpr-body { order: 0; font-size: 14px; line-height: 1.7; -webkit-line-clamp: 6; }
.fp-reviews.fpr-single .fpr-more { order: 1; margin: -6px 0 0; color: var(--fpr-text); }
.fp-reviews.fpr-single .fpr-card-foot { order: 3; padding: 0; margin: -6px 0 0; }
.fp-reviews.fpr-single .fpr-name { font-size: 13px; }
.fp-reviews.fpr-single .fpr-stars { font-size: 14px; }
