/* Sticky "Get Tickets" button for phones and small tablets (max-width 640px).
   Used only by js/sticky-cta.js. Nothing here shows without that script. */

.sticky-cta {
  display: none;
}

.sticky-cta[hidden] {
  display: none !important;
}

@media (max-width: 640px) {
  .sticky-cta {
    display: block;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 90; /* below .nav-mobile (99), the header (100), the cart (95/100) and the lightboxes (950+) */
    box-sizing: border-box;
    padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px));
    background: rgba(5, 0, 16, 0.95);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-top: 1px solid var(--border-subtle);
  }

  .sticky-cta__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 100%;
    min-height: 52px;
    padding: 12px 24px;
    border-radius: 8px;
    background: linear-gradient(135deg, var(--accent-purple), var(--accent-magenta));
    color: #fff;
    font-family: var(--font-body);
    font-size: 1.0625rem;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    box-shadow: 0 4px 20px rgba(139, 0, 255, 0.3);
  }

  .sticky-cta__btn:focus-visible {
    outline: 2px solid var(--accent-cyan);
    outline-offset: 3px;
  }

  /* Keeps the footer clear of the bar at the end of the page. */
  body.has-sticky-cta {
    padding-bottom: calc(84px + env(safe-area-inset-bottom, 0px));
  }
}
