/* Animación Ticker / Marquee */
.ticker-wrap {
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
  box-sizing: border-box;
}

.ticker-move {
  display: inline-flex;
  white-space: nowrap;
  animation: ticker 25s linear infinite;
}

@keyframes ticker {
  0% { transform: translate3d(0, 0, 0); }
  100% { transform: translate3d(-50%, 0, 0); }
}

/* Modo Cobranza Judicial / Sirena */
body.siren-mode {
  animation: sirenFlash 1s infinite alternate;
}

@keyframes sirenFlash {
  0% {
    background-color: #1a0508;
    box-shadow: inset 0 0 100px rgba(225, 29, 72, 0.4);
  }
  50% {
    background-color: #050a1c;
    box-shadow: inset 0 0 100px rgba(37, 99, 235, 0.4);
  }
  100% {
    background-color: #1a0508;
    box-shadow: inset 0 0 100px rgba(225, 29, 72, 0.4);
  }
}

/* Botón que se escapa */
#alreadyPaidBtn {
  transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), background-color 0.2s ease;
  will-change: transform;
}
