.greviews-carousel {
  width: min(80vw, 1200px);
  overflow-x: auto;
  overflow-y: visible;
  scroll-snap-type: x mandatory;
  padding-bottom: 30px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.greviews-carousel::-webkit-scrollbar {
  display: none;
}
.greviews-track {
  display: flex;
  gap: 2rem;
  width: max-content;
  animation: scroll 40s linear infinite;
}
.greviews-carousel:hover .greviews-track {
  animation-play-state: paused;
}
@keyframes scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
.greview-card {
  flex: 0 0 280px;
  min-height: 300px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 10px;
  padding: 20px;
  background-color: white;
  scroll-snap-align: start;
  transition: box-shadow 0.2s;
  position: relative;
}
.greview-header {
  display: flex;
  flex-direction: row;
  gap: 20px;
}
.greview-header2 {
  display: flex;
  flex-direction: column;
}
.greview-avatar {
  width: 50px;
  height: 50px !important;
  border-radius: 50%;
  object-fit: cover;
}
.greview-title {
  color: var(--e-global-color-primary, #0073aa);
}
.greview-date {
  color: #888;
  font-size: 0.9em;
  margin-top: 2px;
}
.read-more-content {
  --read-more-lines: 4; /* Default number of lines */
  --read-more-max-height: 6em; /* Default max height */
  display: -webkit-box;
  -webkit-line-clamp: var(--read-more-lines);
  line-clamp: var(--read-more-lines);
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  max-height: var(--read-more-max-height);
  transition: max-height 0.3s;
}

.read-more-content.read-more-expanded {
  -webkit-line-clamp: unset !important;
  max-height: none !important;
  overflow: visible !important;
  display: block !important; /* Remove -webkit-box for full expansion */
}

.read-more-btn {
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  color: #0073aa !important;
  cursor: pointer !important;
  padding: 0 !important;
  margin-top: 15px !important;
  font-size: 0.95em !important;
  text-align: left !important;
}
.greview-stars .star {
  font-size: 1.2em;
  color: #ffd700;
  margin-right: 2px;
}
.greview-stars .star.empty {
  color: #eee;
}

/* Responsive : désactive l'animation auto et masque la duplication sur mobile */
@media (max-width: 768px) {
  .greviews-track {
    animation: none !important;
    transform: none !important;
  }
  .greview-duplicate {
    display: none !important;
  }
}
