/* Review stack (sections/review-stack.liquid) */
.review-stack {
  display: grid;
  align-items: center;
  gap: var(--space-8);
}

@media screen and (min-width: 750px) {
  .review-stack {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  }
}

.review-stack__copy {
  display: grid;
  justify-items: start;
  gap: var(--space-3);
}

.review-stack__copy h2 {
  margin: 0;
}

.review-stack__score {
  margin: 0;
  color: var(--color-muted);
}

.review-stack__score span {
  color: var(--color-ink);
  font-family: var(--font-heading);
  font-size: 28px;
  font-weight: 700;
}

.review-stack__pile {
  position: relative;
  height: 260px;
  margin-top: var(--space-6);
  cursor: pointer;
}

.review-stack__card {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-5);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-m);
  background-color: var(--color-bg);
  box-shadow: 0 18px 40px -24px rgb(0 0 0 / 55%);
  z-index: calc(10 - var(--i, 0));
  transform: translateY(calc(var(--i, 0) * -14px)) scale(calc(1 - var(--i, 0) * 0.05));
  opacity: clamp(0, calc(3 - var(--i, 0)), 1);
}

.review-stack__stars {
  color: #f5b301;
  letter-spacing: 2px;
}

.review-stack__body {
  margin: 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  overflow: hidden;
  font-size: 15px;
  line-height: 1.6;
}

.review-stack__who {
  margin-top: auto;
  color: var(--color-muted);
  font-size: 13px;
}

.review-stack__who b {
  color: var(--color-ink);
}

@media (prefers-reduced-motion: no-preference) {
  .review-stack__card {
    transition: transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1), opacity 0.6s ease;
  }
}
