.rbt-reviews, .rbt-review-invitation {
  margin-block: var(--space-8, 2rem);
  color: var(--color-text, #09234c);
  font-family: var(--font-family-sans, Inter, sans-serif);
}
.rbt-reviews__heading, .rbt-review-invitation, .rbt-reviews__byline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-6, 1.5rem);
}
.rbt-reviews h2, .rbt-review-invitation h2 { font-size: 1.5rem; margin: 0 0 .5rem; }
.rbt-reviews__heading p, .rbt-review-invitation p { margin: 0; }
.rbt-reviews__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4, 1rem); }
.rbt-reviews__item, .rbt-review-invitation {
  padding: var(--space-6, 1.5rem);
  background: var(--color-surface, #fff);
  border: 1px solid var(--color-border, #dce7f3);
  border-radius: var(--radius-md, .75rem);
}
.rbt-reviews__item { overflow-wrap: anywhere; }
.rbt-reviews__byline { align-items: start; gap: .75rem; flex-wrap: wrap; }
.rbt-reviews__byline span { color: var(--color-warning, #9a6200); white-space: nowrap; }
.rbt-reviews time, .rbt-reviews__source, .rbt-reviews__empty { color: var(--color-text-secondary, #536b8d); font-size: .875rem; }
.rbt-reviews__source { margin-block: 1rem; }
.rbt-reviews__comment { white-space: pre-wrap; margin-block: 1rem; }
.rbt-review-invitation .btn { flex-shrink: 0; white-space: normal; }
.rbt-review-invitation a.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .75rem 1rem;
  border: 1px solid var(--color-primary, #0053d4);
  border-radius: var(--radius-sm, .5rem);
  color: var(--color-primary, #0053d4);
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
}
.rbt-review-invitation a.btn:hover { background: var(--color-accent, #e4efff); }
.rbt-reviews__pagination { display: flex; flex-wrap: wrap; gap: .75rem; margin-block: 1.5rem; }
.rbt-reviews__pagination a { padding: .5rem .75rem; border: 1px solid var(--color-border, #dce7f3); border-radius: .5rem; }
.rbt-reviews__pagination [aria-current] { background: var(--color-accent, #e4efff); font-weight: 600; }
.rbt-reviews a:focus-visible, .rbt-review-invitation a:focus-visible { outline: 3px solid var(--color-focus, #007fc5); outline-offset: 3px; }
@media (max-width: 767px) {
  .rbt-reviews__list { grid-template-columns: 1fr; }
  .rbt-reviews__heading, .rbt-review-invitation { align-items: stretch; flex-direction: column; }
  .rbt-reviews__heading { gap: 1rem; }
}
