/* Demo autoplay visuals for ticketless visitors (clearly labelled, fake). */
.tmc-demo-banner {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin: 0 0 14px;
  padding: 10px 14px;
  border-radius: 12px;
  background: rgba(226, 178, 76, .14);
  border: 1px solid rgba(201, 150, 46, .5);
  font-size: 13px;
  line-height: 1.4;
}
.tmc-demo-banner strong {
  background: linear-gradient(135deg, #c9962e, #f2d584);
  color: #3d2c05;
  border-radius: 8px;
  padding: 3px 10px;
  font-size: 11px;
  letter-spacing: .12em;
}
.tmc-demo-banner a { font-weight: 800; color: #0e9e52; text-decoration: none; }
.tmc-demo-banner a:hover { text-decoration: underline; }

.tmc-demo-coin {
  position: absolute;
  top: -18px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #ffe9a8, #c9962e 70%);
  box-shadow: 0 0 8px rgba(242, 213, 132, .8);
  pointer-events: none;
  z-index: 5;
  animation: tmcDemoDrop 2.4s cubic-bezier(.3, .1, .6, 1) forwards;
}
@keyframes tmcDemoDrop {
  0% { transform: translateY(0) translateX(0); opacity: 0; }
  8% { opacity: 1; }
  35% { transform: translateY(calc(var(--tmc-demo-fall, 420px) * .38)) translateX(-14px); }
  60% { transform: translateY(calc(var(--tmc-demo-fall, 420px) * .62)) translateX(10px); }
  92% { opacity: 1; }
  100% { transform: translateY(var(--tmc-demo-fall, 420px)) translateX(-4px); opacity: 0; }
}
.tmc-demo-active { position: relative; }
.tmc-demo-pulse {
  animation: tmcDemoPulse 1.2s ease-in-out;
}
@keyframes tmcDemoPulse {
  0%, 100% { filter: none; }
  40% { filter: brightness(1.35) drop-shadow(0 0 12px rgba(242, 213, 132, .9)); }
}
.tmc-demo-wobble { animation: tmcDemoWobble .9s ease-in-out; }
@keyframes tmcDemoWobble {
  0%, 100% { transform: rotate(0); }
  25% { transform: rotate(-2.4deg); }
  50% { transform: rotate(2.2deg); }
  75% { transform: rotate(-1.4deg); }
}
.tmc-demo-wheel-idle { transition: transform .4s ease; }
.tmc-demo-wheel-spin {
  animation: tmcDemoWheelSpin 4.5s cubic-bezier(.2, .7, .2, 1) forwards;
}
@keyframes tmcDemoWheelSpin {
  from { transform: rotate(0deg); }
  to { transform: rotate(calc(var(--tmc-demo-turns, 3) * 360deg + 137deg)); }
}
@media (prefers-reduced-motion: reduce) {
  .tmc-demo-coin, .tmc-demo-pulse, .tmc-demo-wobble, .tmc-demo-wheel-spin { animation: none; }
}
