.mixing-sticky-cta {
  position: fixed;
  bottom: calc(24px + env(safe-area-inset-bottom));
  left: 50%;
  z-index: 10000;
  display: flex;
  width: clamp(200px, 20vw, 320px);
  flex-direction: column;
  padding: 0;
  overflow: visible;
  text-align: center;
  background: transparent;
  transform: translate(-50%, calc(100% + 180px));
  transition: transform .3s ease;
  pointer-events: none;
  visibility: hidden;
}

.mixing-sticky-cta.is-visible {
  transform: translate(-50%, 0);
  visibility: visible;
}

.mixing-sticky-cta.has-seat-status {
  width: min(340px, calc(100vw - 24px));
}

.mixing-sticky-cta__button {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-height: 56px;
  padding: 16px 24px;
  border-radius: 999px;
  color: #fff;
  background: var(--purple-600, #2563eb);
  box-shadow: 0 6px 18px rgba(37, 99, 235, .28), 0 2px 6px rgba(15, 23, 42, .16);
  font-size: 19px;
  font-weight: 600;
  line-height: 1.25;
  transition: background .2s, box-shadow .2s, transform .15s;
  pointer-events: auto;
}

.mixing-sticky-cta__button:hover {
  color: #fff;
  background: var(--purple-700, #1d4ed8);
  box-shadow: 0 8px 22px rgba(37, 99, 235, .32), 0 3px 8px rgba(15, 23, 42, .18);
  transform: translateY(-1px);
}

.mixing-sticky-cta__button:focus-visible {
  outline: 3px solid rgba(37, 99, 235, .3);
  outline-offset: 3px;
}

body.has-mixing-sticky-cta .site-footer {
  padding-bottom: calc(var(--mixing-sticky-cta-height, 56px) + 40px + env(safe-area-inset-bottom));
}

@media (max-width: 768px) {
  .mixing-sticky-cta {
    bottom: calc(24px + env(safe-area-inset-bottom));
    width: min(320px, calc(100vw - 32px));
  }

  .mixing-sticky-cta.has-seat-status {
    width: min(340px, calc(100vw - 24px));
  }

  .mixing-sticky-cta .mone-seat-cta-action {
    flex: 0 0 auto;
    min-height: 56px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mixing-sticky-cta {
    transition: none;
  }
}
