/* ===== Testimonials Section ===== */
.testimonials {
  width: 100%;
  margin: 0 auto;
  padding: var(--spacing-xl) var(--spacing-md);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.slider-container {
  position: relative;
  overflow: hidden;
  padding: var(--spacing-lg) 0;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}
.testimonials-slider {
  display: flex;
  transition: transform 0.5s ease;
  margin-bottom: var(--spacing-xl);
}
.testimonial-card {
  flex: 0 0 100%;
  min-width: 100%;
  background: var(--color-white);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  padding: var(--spacing-xl);
  display: flex;
  flex-direction: column;
  transition: var(--transition-normal);
  border: 1px solid var(--color-gray);
  opacity: 0;
  animation: fadeIn 0.6s forwards;
  margin: 0;
}
.testimonial-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow-lg);
}
.testimonial-text {
  font-style: italic;
  color: var(--color-text);
  margin-bottom: var(--spacing-lg);
  flex-grow: 1;
  position: relative;
  padding-left: var(--spacing-lg);
}
.testimonial-text::before {
  content: "";
  position: absolute;
  left: 0;
  top: -10px;
  font-size: 3rem;
  color: var(--color-secondary);
  font-family: var(--font-fallback);
}
.testimonial-author {
  display: flex;
  align-items: center;
  margin-top: auto;
}

.author-image {
  width: 60px;
  height: 60px;
  border-radius: var(--radius-round);
  overflow: hidden;
  margin-right: var(--spacing-md);
  border: 3px solid var(--color-secondary);
}
.author-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.author-info h4 {
  color: var(--color-primary);
  margin-bottom: var(--spacing-xs);
  font-size: var(--font-size-lg);
}
.author-info p {
  color: var(--color-dark-gray);
  font-size: var(--font-size-sm);
}
.slider-controls {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--spacing-lg);
  margin-top: var(--spacing-xl);
}
.slider-btn {
  width: 50px;
  height: 50px;
  border-radius: var(--radius-round);
  background: var(--color-primary);
  border: none;
  color: var(--color-white);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: var(--transition-normal);
  box-shadow: var(--shadow-sm);
}
.slider-btn:hover:not(:disabled) {
  background: var(--color-secondary);
  transform: scale(1.05);
}
.slider-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.arrow-icon {
  width: 24px;
  height: 24px;
  fill: var(--color-white);
}
.pagination-dots {
  display: flex;
  gap: var(--spacing-sm);
}
.dot {
  width: 12px;
  height: 12px;
  border-radius: var(--radius-round);
  background: var(--color-gray);
  cursor: pointer;
  transition: var(--transition-fast);
}
.dot.active {
  background: var(--color-primary);
  transform: scale(1.2);
}
.dot:hover {
  background: var(--color-secondary);
}
/* Animation */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(5px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Rating stars */
.testimonial-rating {
  display: flex;
  margin-bottom: var(--spacing-md);
}
.star {
  color: var(--color-warning);
  margin-right: 2px;
}