<div class="testimonial-carousel-container">
  <div class="testimonial-carousel-demo">
    <div class="carousel-header">
      <h2>Lo Que Dicen Nuestros Clientes</h2>
      <p>Historias reales de personas reales</p>
    </div>
    
    <div class="testimonial-carousel" id="testimonialCarousel">
      <div class="carousel-track" id="carouselTrack">
        <!-- Testimonio 1 -->
        <div class="testimonial-slide active">
          <div class="testimonial-content">
            <div class="testimonial-avatar">
              <img src="https://images.unsplash.com/photo-1494790108377-be9c29b29330?w=100&h=100&fit=crop&crop=face" alt="Sarah Johnson">
            </div>
            <div class="testimonial-text">
              <p>"Este servicio ha transformado completamente nuestras operaciones comerciales. El equipo es profesional y entrega resultados excepcionales siempre."</p>
            </div>
            <div class="testimonial-author">
              <div class="author-name">Sarah Johnson</div>
              <div class="author-title">CEO, TechStart Inc.</div>
              <div class="rating">
                <span class="star filled">★</span>
                <span class="star filled">★</span>
                <span class="star filled">★</span>
                <span class="star filled">★</span>
                <span class="star filled">★</span>
              </div>
            </div>
          </div>
        </div>
        
        <!-- Testimonio 2 -->
        <div class="testimonial-slide">
          <div class="testimonial-content">
            <div class="testimonial-avatar">
              <img src="https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?w=100&h=100&fit=crop&crop=face" alt="Michael Chen">
            </div>
            <div class="testimonial-text">
              <p>"Calidad excepcional y atención al detalle. Entendieron perfectamente nuestra visión y superaron nuestras expectativas."</p>
            </div>
            <div class="testimonial-author">
              <div class="author-name">Michael Chen</div>
              <div class="author-title">Fundador, Creative Studio</div>
              <div class="rating">
                <span class="star filled">★</span>
                <span class="star filled">★</span>
                <span class="star filled">★</span>
                <span class="star filled">★</span>
                <span class="star">★</span>
              </div>
            </div>
          </div>
        </div>
        
        <!-- Testimonio 3 -->
        <div class="testimonial-slide">
          <div class="testimonial-content">
            <div class="testimonial-avatar">
              <img src="https://images.unsplash.com/photo-1494790108755-2616b612b786?w=100&h=100&fit=crop&crop=face" alt="Emily Rodriguez">
            </div>
            <div class="testimonial-text">
              <p>"Los resultados hablan por sí solos. Nuestra tasa de conversión aumentó un 300% después de trabajar con este increíble equipo."</p>
            </div>
            <div class="testimonial-author">
              <div class="author-name">Emily Rodriguez</div>
              <div class="author-title">Directora de Marketing, GrowthCo</div>
              <div class="rating">
                <span class="star filled">★</span>
                <span class="star filled">★</span>
                <span class="star filled">★</span>
                <span class="star filled">★</span>
                <span class="star filled">★</span>
              </div>
            </div>
          </div>
        </div>
      </div>
      
      <div class="carousel-controls">
        <button class="control-btn prev-btn" id="prevBtn">
          <svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24">
            <path d="M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"/>
          </svg>
        </button>
        <button class="control-btn next-btn" id="nextBtn">
          <svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24">
            <path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"/>
          </svg>
        </button>
      </div>
      
      <div class="carousel-indicators" id="carouselIndicators">
        <button class="indicator active" data-slide="0"></button>
        <button class="indicator" data-slide="1"></button>
        <button class="indicator" data-slide="2"></button>
      </div>
    </div>
  </div>
</div>
     .testimonial-carousel-container {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  padding: 40px 20px;
  border-radius: 20px;
  max-width: 800px;
  margin: 0 auto;
}
.testimonial-carousel-demo {
  background: white;
  border-radius: 15px;
  padding: 30px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}
.carousel-header {
  text-align: center;
  margin-bottom: 30px;
}
.carousel-header h2 {
  margin: 0 0 10px 0;
  color: #333;
  font-size: 2rem;
  font-weight: 700;
}
.carousel-header p {
  color: #666;
  font-size: 1.1rem;
  margin: 0;
}
.testimonial-carousel {
  position: relative;
  overflow: hidden;
  border-radius: 15px;
}
.carousel-track {
  display: flex;
  transition: transform 0.5s ease-in-out;
}
.testimonial-slide {
  min-width: 100%;
  padding: 30px;
  background: #f8fafc;
  border-radius: 15px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}
.testimonial-content {
  text-align: center;
  max-width: 600px;
  margin: 0 auto;
}
.testimonial-avatar {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  overflow: hidden;
  margin: 0 auto 20px;
  border: 4px solid #667eea;
  box-shadow: 0 5px 15px rgba(102, 126, 234, 0.3);
}
.testimonial-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.testimonial-text {
  margin-bottom: 25px;
}
.testimonial-text p {
  font-size: 1.1rem;
  line-height: 1.6;
  color: #333;
  font-style: italic;
  margin: 0;
}
.testimonial-author {
  margin-top: 20px;
}
.author-name {
  font-weight: 700;
  color: #333;
  font-size: 1.2rem;
  margin-bottom: 5px;
}
.author-title {
  color: #666;
  font-size: 0.9rem;
  margin-bottom: 15px;
}
.rating {
  display: flex;
  justify-content: center;
  gap: 3px;
}
.star {
  font-size: 1.2rem;
  color: #ddd;
}
.star.filled {
  color: #ffd700;
}
.carousel-controls {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  display: flex;
  justify-content: space-between;
  padding: 0 20px;
  pointer-events: none;
}
.control-btn {
  background: rgba(255, 255, 255, 0.9);
  color: #667eea;
  border: none;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  pointer-events: auto;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.control-btn:hover {
  background: #667eea;
  color: white;
  transform: scale(1.1);
  box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4);
}
.control-btn svg {
  width: 24px;
  height: 24px;
}
.carousel-indicators {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 30px;
}
.indicator {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: none;
  background: #cbd5e1;
  cursor: pointer;
  transition: all 0.3s ease;
}
.indicator.active {
  background: #667eea;
  transform: scale(1.3);
}
.indicator:hover {
  background: #94a3b8;
}
/* Barra de progreso de reproducción automática */
.progress-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 3px;
  background: #667eea;
  transition: width 0.1s linear;
}
/* Animaciones */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.testimonial-content {
  animation: fadeIn 0.6s ease-out;
}
/* Responsivo */
@media (max-width: 768px) {
  .testimonial-carousel-container {
    padding: 30px 15px;
  }
  
  .testimonial-carousel-demo {
    padding: 20px;
  }
  
  .carousel-header h2 {
    font-size: 1.7rem;
  }
  
  .testimonial-slide {
    padding: 20px;
  }
  
  .testimonial-text p {
    font-size: 1rem;
  }
  
  .control-btn {
    width: 40px;
    height: 40px;
  }
  
  .control-btn svg {
    width: 20px;
    height: 20px;
  }
}
@media (max-width: 480px) {
  .carousel-controls {
    padding: 0 10px;
  }
  
  .testimonial-avatar {
    width: 60px;
    height: 60px;
  }
  
  .author-name {
    font-size: 1.1rem;
  }
}
     document.addEventListener('DOMContentLoaded', function() {
  // Obtener elementos del DOM
  const carouselTrack = document.getElementById('carouselTrack');
  const slides = document.querySelectorAll('.testimonial-slide');
  const prevBtn = document.getElementById('prevBtn');
  const nextBtn = document.getElementById('nextBtn');
  const indicators = document.querySelectorAll('.indicator');
  const testimonialCarousel = document.getElementById('testimonialCarousel');
  
  let currentSlide = 0;
  let autoPlayInterval;
  let progressBar;
  const slideDuration = 5000; // 5 segundos
  
  // Inicializar carrusel
  function initCarousel() {
    createProgressBar();
    startAutoPlay();
    updateCarousel();
  }
  
  // Crear barra de progreso
  function createProgressBar() {
    progressBar = document.createElement('div');
    progressBar.className = 'progress-bar';
    testimonialCarousel.appendChild(progressBar);
  }
  
  // Actualizar barra de progreso
  function updateProgressBar() {
    if (progressBar) {
      let progress = 0;
      const interval = setInterval(() => {
        progress += 100 / (slideDuration / 16);
        progressBar.style.width = `${progress}%`;
        
        if (progress >= 100) {
          clearInterval(interval);
        }
      }, 16);
    }
  }
  
  // Actualizar carrusel
  function updateCarousel() {
    // Actualizar posición de la pista
    carouselTrack.style.transform = `translateX(-${currentSlide * 100}%)`;
    
    // Actualizar diapositiva activa
    slides.forEach((slide, index) => {
      slide.classList.toggle('active', index === currentSlide);
    });
    
    // Actualizar indicadores
    indicators.forEach((indicator, index) => {
      indicator.classList.toggle('active', index === currentSlide);
    });
    
    // Reiniciar barra de progreso
    if (progressBar) {
      progressBar.style.width = '0%';
      updateProgressBar();
    }
  }
  
  // Siguiente diapositiva
  function nextSlide() {
    currentSlide = (currentSlide + 1) % slides.length;
    updateCarousel();
  }
  
  // Diapositiva anterior
  function prevSlide() {
    currentSlide = (currentSlide - 1 + slides.length) % slides.length;
    updateCarousel();
  }
  
  // Ir a una diapositiva específica
  function goToSlide(slideIndex) {
    currentSlide = slideIndex;
    updateCarousel();
    resetAutoPlay();
  }
  
  // Iniciar reproducción automática
  function startAutoPlay() {
    autoPlayInterval = setInterval(nextSlide, slideDuration);
  }
  
  // Detener reproducción automática
  function stopAutoPlay() {
    clearInterval(autoPlayInterval);
  }
  
  // Reiniciar reproducción automática
  function resetAutoPlay() {
    stopAutoPlay();
    startAutoPlay();
  }
  
  // Escuchadores de eventos
  prevBtn.addEventListener('click', () => {
    prevSlide();
    resetAutoPlay();
  });
  
  nextBtn.addEventListener('click', () => {
    nextSlide();
    resetAutoPlay();
  });
  
  // Eventos de clic en indicadores
  indicators.forEach((indicator, index) => {
    indicator.addEventListener('click', () => {
      goToSlide(index);
    });
  });
  
  // Pausar reproducción automática al pasar el mouse
  testimonialCarousel.addEventListener('mouseenter', stopAutoPlay);
  testimonialCarousel.addEventListener('mouseleave', startAutoPlay);
  
  // Soporte táctil/deslizamiento
  let touchStartX = 0;
  let touchEndX = 0;
  
  testimonialCarousel.addEventListener('touchstart', e => {
    touchStartX = e.changedTouches[0].screenX;
  });
  
  testimonialCarousel.addEventListener('touchend', e => {
    touchEndX = e.changedTouches[0].screenX;
    handleSwipe();
  });
  
  function handleSwipe() {
    const swipeThreshold = 50;
    const diff = touchStartX - touchEndX;
    
    if (Math.abs(diff) > swipeThreshold) {
      if (diff > 0) {
        // Deslizar hacia la izquierda - siguiente diapositiva
        nextSlide();
      } else {
        // Deslizar hacia la derecha - diapositiva anterior
        prevSlide();
      }
      resetAutoPlay();
    }
  }
  
  // Navegación por teclado
  document.addEventListener('keydown', e => {
    if (e.key === 'ArrowLeft') {
      prevSlide();
      resetAutoPlay();
    } else if (e.key === 'ArrowRight') {
      nextSlide();
      resetAutoPlay();
    }
  });
  
  // Inicializar el carrusel
  initCarousel();
});