/* Applied only after the review runtime adds separate, accessible scroll areas.
   Without JavaScript, the original full-length review text remains readable. */
/* Inert copies fill the autoplay loop; manual browsing uses original cards so
   every visible quote remains available to touch and keyboard scrolling. */
.cheers-reviews.is-manual-scrolling [data-review-loop-clone] {
  display: none;
}

.cheers-reviews.is-manual-scrolling .review-ticker-frame::before,
.cheers-reviews.is-manual-scrolling .review-ticker-frame::after,
.cheers-reviews:focus-within .review-ticker-frame::before,
.cheers-reviews:focus-within .review-ticker-frame::after {
  opacity: 0;
}

.cheers-reviews article.cheers-review-card.is-compact-review {
  height: 22rem;
  min-height: 0;
  max-height: none;
  padding: 24px;
}

.cheers-reviews .cheers-review-card.is-compact-review .cheers-review-quote-scroll {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  margin: 16px 0 8px;
  padding-right: 8px;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior-y: auto;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: var(--_cheers-reviews-muted) transparent;
  touch-action: pan-x pan-y;
  cursor: auto;
  -webkit-overflow-scrolling: touch;
}

.cheers-reviews .is-compact-review .cheers-review-quote-scroll p {
  display: block;
  overflow: visible;
  -webkit-line-clamp: unset;
}

/* Pointer/touch focus keeps native scrolling without a browser outline.
   Keyboard focus retains the visible theme indicator below. */
.cheers-reviews .review-ticker:focus:not(:focus-visible),
.cheers-reviews .cheers-review-card:focus:not(:focus-visible),
.cheers-reviews .cheers-review-quote-scroll:focus:not(:focus-visible) {
  outline: none;
}

.cheers-reviews .is-compact-review .cheers-review-quote-scroll:focus-visible {
  outline: 2px solid var(--_cheers-reviews-focus);
  outline-offset: 3px;
}

.cheers-reviews .is-compact-review .cheers-review-card-footer {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0 8px;
  min-height: 28px;
  margin-top: auto;
}

.cheers-reviews .cheers-review-reading-hint {
  color: var(--_cheers-reviews-muted);
  font-size: 0.8125rem;
  line-height: 1.4;
}

.cheers-reviews .cheers-review-reading-hint[hidden] {
  display: none;
}

@media (max-width: 720px) {
  .cheers-reviews article.cheers-review-card.is-compact-review {
    height: 21rem;
    padding: 20px;
  }
}
