.elementor-351 .elementor-element.elementor-element-1781a80{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-20eb22d */:root{
  --be-gold:#FFD700;
  --be-purple1:#9B59B6;
  --be-purple2:#BF55EC;
  --be-text:#ffffff;
}

html { scroll-behavior:smooth; }

/* Video layer never captures clicks */
.be-hero-video-bg,
.be-hero-video-aspect,
.be-hero-video-aspect iframe,
.be-hero-overlay{
  pointer-events:none !important;
}

/* HERO: IMPORTANT FIXES
   - height grows with content (no clipping)
   - fallback background if video doesn't load
*/
.be-hero-video.be-rr26{
  position:relative;
  background:#000;      /* fallback if iframe is slow/blocked */
  color:var(--be-text);
}

/* Background video is clipped, not the whole section */
.be-hero-video-bg{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;      /* clip only background */
}

.be-hero-video-aspect{
  position:absolute;
  inset:-5%;
}

.be-hero-video-aspect iframe{
  width:100%;
  height:100%;
}

/* Overlay */
.be-hero-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    radial-gradient(circle at 10% 0%, rgba(155,89,182,0.5), transparent 60%),
    radial-gradient(circle at 80% 100%, rgba(255,215,0,0.45), transparent 60%),
    linear-gradient(to bottom, rgba(0,0,0,0.88), rgba(0,0,0,0.95));
  mix-blend-mode:multiply;
}

/* CONTENT: mobile-first, centered */
.be-rr26-inner{
  position:relative;
  z-index:5;
  width:100%;
  max-width:980px;
  margin:0 auto;
  padding:72px 18px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:18px;
}

/* Title (kept vibe) */
.be-hero-title{
  margin:0;
  font-size:clamp(34px, 6vw, 62px);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:0.14em;
  text-shadow:
    0 0 18px #fff,
    0 0 32px var(--be-purple1),
    0 0 52px var(--be-purple2);
}

/* Stack: tickets first, poster second */
.be-rr26-stack{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:16px;
}

/* Ticket box must be transparent */
.be-ticket-box{
  width:100%;
  max-width:860px;
  margin:0;
  padding:0;
  border:0;
  border-radius:22px;
  background:transparent;
  box-shadow:none;
}

/* Make sure wrapper doesn't paint anything */
.be-ticket-box--transparent,
.be-ticket-box--transparent *{
  background-color:transparent !important;
}

/* Poster: centered, responsive, lightweight premium frame */
.be-rr26-poster{
  width:100%;
  max-width:520px;
  margin:0;
}

.be-rr26-poster-frame{
  border-radius:26px;
  overflow:hidden;
  border:1px solid rgba(255,215,0,.55);
  box-shadow:
    0 0 26px rgba(155,89,182,.30),
    0 18px 45px rgba(0,0,0,.70);
}

.be-rr26-poster-frame img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4/5;
}

/* Tablet+ spacing */
@media (min-width: 900px){
  .be-rr26-inner{ padding:90px 40px; gap:22px; }
  .be-rr26-stack{ gap:18px; }
}
/* ================= MOBILE FIXES (RR26) ================= */
.be-rr26 { overflow-x: hidden; } /* prevents tiny sideways scroll from background video inset */

@media (max-width: 900px){
  /* Give the content a bit more breathing room */
  .be-rr26-inner{
    padding-left: 14px;
    padding-right: 14px;
  }

  /* Add lightweight side padding so TicketTailor buttons don't touch/cut at the edge */
  .be-ticket-box{
    padding-left: 10px;
    padding-right: 10px;
  }

  /* Defensive: keep everything inside the widget from causing overflow */
  .tt-widget,
  .tt-widget *{
    box-sizing: border-box;
    max-width: 100%;
  }

  /* If TicketTailor renders an iframe (sometimes it does), force it to fit */
  .tt-widget iframe{
    width: 100% !important;
    max-width: 100% !important;
    display: block;
  }
}/* End custom CSS */