/* --- Карусель --- */
.carousel-viewport {
  overflow: hidden;
  flex: 1; /* Занимает всё свободное место между кнопками */
  min-width: 0; /* Защита от переполнения flex-элементом */
}

.carousel-track {
  display: flex;
  gap: 24px; 
  transition: transform 500ms ease-in-out;
}

.carousel-slide {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  border-radius: 0.5rem; 
  padding: 1.5rem; 
  box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1); 
  border: 1px solid #4e342e; 
  position: relative;
}

/* Кнопки управления */
.carousel-btn {
  /* Убрали absolute, top, transform, margin */
  flex-shrink: 0; /* Чтобы кнопки не сжимались */
  z-index: 20;
  color: #a8a29e; /* wood-400 */
  box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
  cursor: pointer;
  opacity: 0.8; /* Всегда видимы, но чуть приглушены */
  transition: all 150ms ease-in-out;
}

.carousel-btn:hover {
  opacity: 1;
  color: #FFF;
}

/* --- Обрезка длинных отзывов --- */
.review-text {
  display: -webkit-box;
  -webkit-line-clamp: 8; 
  -webkit-box-orient: vertical;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.3s ease;
}

.review-text.expanded {
  -webkit-line-clamp: unset;
  display: block;
}

/* Градиент появляется ТОЛЬКО если есть класс is-truncated и текст свернут */
.text-wrapper.is-truncated:not(.expanded)::after {
  content: '';
  position: absolute;
  bottom: 60px;
  left: 0;
  right: 0;
  height: 60px;
  background: linear-gradient(to bottom, transparent, #2c1810); /* цвет фона */
  pointer-events: none; 
  border-radius: 0.25rem;
}

.slide-footer {
  margin-top: auto;
  padding-top: 1rem;
}