/* Sindi: movimiento complementario; se usa translate/rotate para no sobrescribir transform existente. */
.sntsa-sindi-lips-avatar.sntsa-sindi-lips-motion {
  translate: 0 0;
  rotate: 0deg;
  animation: sntsa-sindi-lips-idle 4.6s ease-in-out infinite;
  transform-origin: center 80%;
  will-change: translate;
}
.sntsa-sindi-lips-avatar.sntsa-sindi-lips-motion.sntsa-sindi-lips-speaking-avatar {
  animation: sntsa-sindi-lips-speaking 1.3s ease-in-out infinite;
}
@keyframes sntsa-sindi-lips-idle {
  0%, 100% { translate: 0 0; rotate: 0deg; }
  50% { translate: 0 -3px; rotate: 0.5deg; }
}
@keyframes sntsa-sindi-lips-speaking {
  0%, 100% { translate: 0 0; rotate: -0.7deg; }
  50% { translate: 0 -5px; rotate: 0.7deg; }
}
/* Si el plugin principal usa boca SVG, animar esa boca en lugar de pintar una extra. */
.sntsa-sindi-lips-speaking .s25a__mouth,
.sntsa-sindi-lips-speaking .sindi-mouth,
.sntsa-sindi-lips-speaking [data-sindi-mouth] {
  animation: none !important;
  transform-origin: center center !important;
  transform-box: fill-box;
  transform: scaleX(.96) scaleY(var(--sntsa-sindi-open, 1)) !important;
  transition: transform 95ms ease-in-out !important;
}
/* Solo para la variante de Sindi como una imagen raster (no SVG). */
#sntsa-sindi-lips-overlay {
  position: fixed;
  left: -1000px;
  top: -1000px;
  width: 20px;
  height: 9px;
  pointer-events: none;
  box-sizing: border-box;
  border-radius: 45% 45% 55% 55%;
  background: radial-gradient(ellipse at 50% 85%, #602025 1%, #2a1015 62%, #180c12 100%);
  box-shadow: inset 0 2px 2px rgba(0,0,0,.28);
  transform: translate(-50%,-50%) scaleY(var(--sntsa-sindi-open, .5));
  transform-origin: 50% 35%;
  transition: transform 80ms ease-in-out;
  z-index: 2147483001;
  visibility: hidden;
}
#sntsa-sindi-lips-overlay::after {
  content: '';
  position: absolute;
  width: 45%;
  height: 18%;
  background: rgba(218, 83, 103, .85);
  border-radius: 70%;
  bottom: 12%;
  left: 27%;
}
#sntsa-sindi-lips-overlay.sntsa-sindi-lips-visible { visibility: visible; }
@media (prefers-reduced-motion: reduce) {
  .sntsa-sindi-lips-avatar.sntsa-sindi-lips-motion { animation: none !important; rotate: 0deg !important; translate: 0 0 !important; }
  .sntsa-sindi-lips-speaking .s25a__mouth,
  .sntsa-sindi-lips-speaking .sindi-mouth,
  .sntsa-sindi-lips-speaking [data-sindi-mouth],
  #sntsa-sindi-lips-overlay { transition: none !important; }
}
