/* Previene scroll horizontal global provocado por animaciones de Vue */
html, body {
  max-width: 100% !important;
  overflow-x: hidden !important;
  box-sizing: border-box;
}

*, *:before, *:after {
  box-sizing: inherit;
}

/* Ajuste de fondo global y transiciones nativas de Vue */
body { 
  background-color: #0d1117; 
}

.slide-fade-enter-active, .slide-fade-leave-active { 
  transition: all 0.4s ease; 
}
.slide-fade-enter-from { 
  opacity: 0; 
  transform: translateY(12px); 
}
.slide-fade-leave-to { 
  opacity: 0; 
  transform: translateY(-12px); 
}

.fade-enter-active, .fade-leave-active { 
  transition: opacity 0.3s ease; 
}
.fade-enter-from, .fade-leave-to { 
  opacity: 0; 
}

/* Logos Clientes */
.logo-cliente {
  max-height: 45px;
  width: auto;
  filter: grayscale(100%) opacity(0.7);
  transition: all 0.3s ease;
  object-fit: contain;
}

.logo-cliente:hover {
  filter: grayscale(0%) opacity(1);
  transform: scale(1.05);
}

/* Ajustes dinámicos para el carrusel hero */
.hero-container {
  position: relative;
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  overflow: hidden !important; /* Corta cualquier desbordamiento de las animaciones de Vue */
  border-radius: 8px;
}

/* Estilo Base de la Imagen/Video del Hero (Escritorio / Tablet) */
.hero-media {
  width: 100% !important;
  max-width: 100% !important;
  height: 40dvh; 
  max-height: 420px;
  min-height: 220px;
  object-fit: cover;
  display: block;
}

.tabs-scroll {
  display: flex;
  overflow-x: auto;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
}

.tabs-scroll::-webkit-scrollbar {
  display: none;
}

/* Ajustes Exclusivos para Smartphones */
@media (max-width: 600px) {
  .chat-window {
    width: 90% !important;
    right: 5% !important;
    left: 5% !important;
    bottom: 80px !important;
  }
  
  /* Sobrescribe limpia y correctamente el hero en teléfonos */
  .hero-media {
    height: auto;
    max-height: 280px;
    aspect-ratio: 16 / 9;
  }
}