.ptt-animated-banner{
  width:100%;
  display:flex;
  justify-content:center;
  align-items:center;
  padding:10px 14px;
  box-sizing:border-box;
}
.ptt-animated-banner.align-left  { justify-content:flex-start; }
.ptt-animated-banner.align-right { justify-content:flex-end; }

.ptt-animated-banner .ptt-anim-inner{
  font-weight:inherit;
  font-size:clamp(14px, 2.6vw, 18px);
  line-height:1.4;
  background:#0b0f13;
  color:inherit;
  border:1px solid rgba(255,255,255,0.06);
  border-radius:12px;
  padding:8px 12px;
}
.ptt-animated-banner .ptt-words{ display:inline-block; min-width:6ch; margin-right:6px; }
.ptt-animated-banner .ptt-word{ display:inline-block; transition:all .22s ease; will-change:transform,opacity; }

/* Fade */
.ptt-animated-banner .ptt-word.fade-out{ opacity:0; transform:translateY(6px); }
.ptt-animated-banner .ptt-word.fade-in{  opacity:1; transform:translateY(0);  }
/* Slide */
.ptt-animated-banner .ptt-word.slide-out{ opacity:0; transform:translateX(-8px); }
.ptt-animated-banner .ptt-word.slide-in{  opacity:1; transform:translateX(0);  }

/* Neon blink effect — enforced */
.ptt-animated-banner .ptt-word.neon{
  display:inline-block;
  color:#00FFFF !important;
  text-shadow:0 0 4px #00FFFF, 0 0 10px #00FFFF, 0 0 20px #00FFFF, 0 0 40px #00FFFF;
  animation: neon-blink 1.5s infinite alternate !important;
}
.ptt-animated-banner .ptt-word.neon.neon-flicker{
  animation: neon-flicker 0.25s 1 !important;
}

@keyframes neon-blink{
  0%, 20% { opacity:1; text-shadow:0 0 8px #00FFFF, 0 0 20px #00FFFF, 0 0 40px #00FFFF; }
  30% { opacity:0.65; text-shadow:0 0 2px #00FFFF; }
  40% { opacity:1; }
  50% { opacity:0.4; text-shadow:none; }
  70% { opacity:1; text-shadow:0 0 10px #00FFFF, 0 0 25px #00FFFF; }
  100%{ opacity:0.95; text-shadow:0 0 6px #00FFFF, 0 0 15px #00FFFF, 0 0 30px #00FFFF; }
}

@keyframes neon-flicker{
  0% { opacity:1; }
  40%{ opacity:0.2; }
  60%{ opacity:0.8; }
  100%{ opacity:1; }
}

/* Code (bold) base style; inline weight is injected from PHP per setting */
.ptt-animated-banner strong{ letter-spacing:.02em; }

/* Mobile responsive adjustments */
@media (max-width: 767px) {
  .ptt-animated-banner {
    justify-content: center !important;
    padding: 6px 10px;
  }
  .ptt-animated-banner .ptt-anim-inner {
    font-size: 14px !important;
    text-align: center;
    padding: 6px 10px;
    max-width: 90%;
    margin: 0 auto;
  }
}
