/* Arcolan custom styles (hand-authored) — kept unminified for easy editing. */
/* Reviews — total-score tile */
.reviews-score {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  min-width: 4rem;
  height: 4rem;
  padding: 0.5rem 0.85rem;
  line-height: 1;
}

/* Reviews — horizontal, banner-like card scroller */
.reviews-rail {
  display: flex;
  gap: 1.5rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  /* let cards bleed to the screen edges, banner style */
  margin-inline: calc(-1 * clamp(1rem, 4vw, 2rem));
  padding-inline: clamp(1rem, 4vw, 2rem);
  padding-bottom: 1rem;
  scrollbar-width: thin;
  scrollbar-color: color-mix(in oklab, hsl(var(--terracotta)) 55%, transparent) transparent;
  /* fade cards out toward the left and right edges */
  --reviews-fade: clamp(1.5rem, 6vw, 4rem);
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0,
    #000 var(--reviews-fade),
    #000 calc(100% - var(--reviews-fade)),
    transparent 100%
  );
  mask-image: linear-gradient(
    to right,
    transparent 0,
    #000 var(--reviews-fade),
    #000 calc(100% - var(--reviews-fade)),
    transparent 100%
  );
}
.reviews-rail::-webkit-scrollbar {
  height: 8px;
}
.reviews-rail::-webkit-scrollbar-thumb {
  background: color-mix(in oklab, hsl(var(--terracotta)) 55%, transparent);
  border-radius: 9999px;
}
.reviews-rail::-webkit-scrollbar-track {
  background: transparent;
}
.reviews-rail > article {
  scroll-snap-align: center;
  flex: 0 0 auto;
  width: 20rem;
  max-width: 85vw;
}
/* keep cards a uniform, banner-friendly height; clamp long reviews */
.reviews-rail .review-text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 7;
  line-clamp: 7;
  overflow: hidden;
}
@media (min-width: 640px) {
  .reviews-rail > article {
    width: 22rem;
  }
}
