/* OVATION R5 — bounded mobile ticket connector correction.
 * Creator correction: no boxed swipe panel. Controls belong to the ticket rail.
 * Presentation only; ticket content, commerce, pricing, media and authority are untouched.
 */
@media (max-width:680px){
  #tickets .ticket-rail{
    align-items:stretch;
    padding-bottom:18px;
    margin-bottom:0;
  }
  #tickets .family-card{
    position:relative;
    align-self:stretch;
    min-height:535px!important;
    transform:none!important;
  }
  #tickets .family-card.active{
    transform:none!important;
    box-shadow:
      0 0 0 1px rgba(200,168,93,.28),
      0 22px 64px rgba(0,0,0,.46),
      0 0 42px rgba(200,168,93,.08)!important;
  }
  #tickets .family-card.active::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:-18px;
    width:1px;
    height:18px;
    transform:translateX(-50%);
    background:linear-gradient(to bottom,rgba(240,217,149,.74),rgba(200,168,93,.28),transparent);
    box-shadow:0 0 12px rgba(240,217,149,.22);
    pointer-events:none;
  }
  #tickets .rail-head.r5-ticket-connector{
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:6px;
    margin:0 0 14px;
    padding:0;
    border:0;
    border-radius:0;
    background:none;
    box-shadow:none;
    overflow:visible;
  }
  #tickets .rail-head.r5-ticket-connector::before{
    content:"";
    position:absolute;
    top:-18px;
    left:50%;
    width:1px;
    height:18px;
    transform:translateX(-50%);
    background:linear-gradient(to bottom,transparent,rgba(200,168,93,.30),rgba(240,217,149,.70));
    box-shadow:0 0 12px rgba(240,217,149,.18);
    pointer-events:none;
  }
  #tickets .rail-head.r5-ticket-connector > span{
    order:2;
    max-width:none;
    margin:0;
    color:#9f978e;
    font-size:.62rem;
    line-height:1.25;
    letter-spacing:.025em;
    text-align:center;
  }
  #tickets .rail-head.r5-ticket-connector > span strong{
    color:#cfc4ad;
    font-weight:800;
  }
  #tickets .rail-head.r5-ticket-connector .rail-controls{
    order:1;
    position:relative;
    width:min(292px,86%);
    display:grid;
    grid-template-columns:42px minmax(80px,1fr) 42px;
    align-items:center;
    gap:10px;
    margin:0 auto;
    padding:0;
  }
  #tickets .rail-head.r5-ticket-connector .rail-controls::before{
    content:"";
    position:absolute;
    z-index:0;
    left:31px;
    right:31px;
    top:50%;
    height:1px;
    transform:translateY(-50%);
    background:linear-gradient(90deg,rgba(200,168,93,.16),rgba(240,217,149,.52) 50%,rgba(200,168,93,.16));
    box-shadow:0 0 10px rgba(240,217,149,.08);
    pointer-events:none;
  }
  #tickets .rail-head.r5-ticket-connector .arrow{
    position:relative;
    z-index:2;
    width:42px;
    height:42px;
    border:1px solid rgba(240,217,149,.24);
    background:#0b0908;
    color:#efe6d5;
    box-shadow:0 0 0 5px #080706;
    transition:opacity .18s ease,transform .18s ease,border-color .18s ease;
  }
  #tickets .rail-head.r5-ticket-connector .arrow:not(:disabled){
    border-color:rgba(240,217,149,.42);
  }
  #tickets .rail-head.r5-ticket-connector .arrow:disabled{
    opacity:.26;
  }
  #tickets .rail-head.r5-ticket-connector .dots{
    position:relative;
    z-index:2;
    min-width:80px;
    min-height:24px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:0 9px;
    background:#080706;
  }
  #tickets .rail-head.r5-ticket-connector .rdot{
    width:7px;
    height:7px;
    background:#6b645c;
    transition:width .18s ease,background .18s ease,box-shadow .18s ease;
  }
  #tickets .rail-head.r5-ticket-connector .rdot.active{
    width:25px;
    background:var(--gold2);
    box-shadow:0 0 14px rgba(240,217,149,.26);
  }
  #tickets .rail-head.r5-ticket-connector.r5-attention #nextTicket:not(:disabled){
    animation:r5TicketConnectorNudge 1.8s ease-in-out 3;
  }
  #tickets.r5-ticket-connector-engaged .rail-head.r5-ticket-connector #nextTicket{
    animation:none!important;
  }
  @keyframes r5TicketConnectorNudge{
    0%,100%{transform:translateX(0)}
    50%{transform:translateX(3px)}
  }
}
@media (prefers-reduced-motion:reduce){
  #tickets .rail-head.r5-ticket-connector .arrow{animation:none!important}
}

/* R5 v07 — Creator-selected luminous filigree reference translated into native SVG.
 * The uploaded visual is reference only; no raster image is used at runtime.
 * PRESERVE: approved ticket cards, horizontal swipe behavior, active illumination,
 * ticket content, pricing, Add to Cart, VIP add-on behavior, checkout.
 * REMOVE: prior participant-facing arrow/dot/text cue clutter.
 */
@media (max-width:680px){
  #tickets .ticket-rail{
    padding-bottom:8px!important;
    margin-bottom:0!important;
  }

  #tickets .rail-head.r5-ticket-connector{
    margin:-4px 0 0!important;
    padding:0!important;
    gap:0!important;
  }

  #tickets .rail-head.r5-ticket-connector > span{
    display:none!important;
  }

  #tickets .rail-head.r5-ticket-connector #prevTicket,
  #tickets .rail-head.r5-ticket-connector #nextTicket,
  #tickets .rail-head.r5-ticket-connector #ticketDots{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    min-width:0!important;
    min-height:0!important;
    overflow:hidden!important;
    clip:rect(0 0 0 0)!important;
    clip-path:inset(50%)!important;
    opacity:0!important;
    pointer-events:none!important;
  }

  #tickets .rail-head.r5-ticket-connector .rail-controls{
    position:relative;
    display:flex!important;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:40px;
    margin:0!important;
    padding:0 3vw;
    pointer-events:none;
  }

  #tickets .rail-head.r5-ticket-connector .rail-controls::before{
    content:none!important;
    display:none!important;
  }

  #tickets .r5-approved-swipe-rail{
    position:relative;
    display:block!important;
    width:min(330px,92vw);
    height:38px;
    margin:0 auto;
    overflow:visible;
    pointer-events:none;
    visibility:visible!important;
    opacity:1!important;
  }

  #tickets .r5-approved-swipe-rail svg{
    display:block;
    width:100%;
    height:100%;
    overflow:visible;
  }

  #tickets .r5-approved-swipe-base{
    fill:none;
    stroke:rgba(212,177,92,.34);
    stroke-width:1.05;
    stroke-linecap:round;
    stroke-linejoin:round;
    filter:drop-shadow(0 0 3px rgba(240,217,149,.13));
  }

  #tickets .r5-approved-swipe-light{
    fill:none;
    stroke:rgba(255,230,158,.95);
    stroke-width:1.55;
    stroke-linecap:round;
    stroke-linejoin:round;
    stroke-dasharray:58 320;
    filter:drop-shadow(0 0 5px rgba(240,217,149,.33));
    animation:r5ApprovedLightTravel 3s cubic-bezier(.42,0,.58,1) infinite;
  }

  #tickets .r5-approved-swipe-orb-halo{
    fill:rgba(240,217,149,.07);
    stroke:rgba(240,217,149,.30);
    stroke-width:.9;
    transform-origin:160px 19px;
    animation:r5ApprovedHalo 3.2s ease-in-out infinite;
  }

  #tickets .r5-approved-swipe-orb{
    fill:url(#r5ApprovedOrbGradient);
    stroke:rgba(255,236,182,.95);
    stroke-width:.8;
    filter:drop-shadow(0 0 5px rgba(240,217,149,.42));
    transform-origin:160px 19px;
    animation:r5ApprovedOrbBreathe 3.2s ease-in-out infinite;
  }

  #tickets .r5-approved-swipe-node{
    fill:rgba(255,229,154,.78);
    stroke:rgba(255,239,197,.82);
    stroke-width:.55;
    filter:drop-shadow(0 0 3px rgba(240,217,149,.25));
  }

  #tickets .r5-approved-swipe-tip{
    fill:none;
    stroke:rgba(255,226,145,.82);
    stroke-width:1;
    stroke-linecap:round;
    filter:drop-shadow(0 0 4px rgba(240,217,149,.20));
  }

  #tickets #addonMount{
    margin-top:18px!important;
  }

  #tickets.r5-ticket-connector-engaged .r5-approved-swipe-light{
    animation-duration:4.8s;
    opacity:.62;
  }

  #tickets.r5-ticket-connector-engaged .r5-approved-swipe-orb,
  #tickets.r5-ticket-connector-engaged .r5-approved-swipe-orb-halo{
    animation-duration:5s;
  }

  @keyframes r5ApprovedLightTravel{
    0%{stroke-dashoffset:0;opacity:.42}
    50%{opacity:1}
    100%{stroke-dashoffset:-378;opacity:.42}
  }

  @keyframes r5ApprovedOrbBreathe{
    0%,100%{transform:scale(.94);opacity:.76}
    50%{transform:scale(1.08);opacity:1}
  }

  @keyframes r5ApprovedHalo{
    0%,100%{transform:scale(.92);opacity:.24}
    50%{transform:scale(1.18);opacity:.58}
  }
}

@media (prefers-reduced-motion:reduce){
  #tickets .r5-approved-swipe-light,
  #tickets .r5-approved-swipe-orb,
  #tickets .r5-approved-swipe-orb-halo{
    animation:none!important;
  }
}

/* R5 v08 — Creator-approved rail evolution.
 * PRESERVE: v07 native SVG shape, gold treatment, cards, swipe, illumination,
 * ticket content, VIP add-on, pricing, Add to Cart and checkout.
 * ADD: swipe-state progress response + understated Swipe caption.
 * ADJUST: rail slightly closer to cards.
 */
@media (max-width:680px){
  #tickets .ticket-rail{
    padding-bottom:4px!important;
  }

  #tickets .rail-head.r5-ticket-connector{
    margin:-8px 0 0!important;
  }

  #tickets .r5-approved-swipe-rail{
    height:50px;
  }

  #tickets .r5-approved-swipe-rail svg{
    height:38px;
  }

  #tickets .r5-approved-swipe-caption{
    display:block;
    margin-top:-1px;
    text-align:center;
    font-size:.60rem;
    line-height:1;
    letter-spacing:.16em;
    text-transform:uppercase;
    font-weight:700;
    color:rgba(201,191,171,.60);
    user-select:none;
    pointer-events:none;
  }

  /* Three progress positions: left node / center orb / right node. */
  #tickets .r5-approved-swipe-progress{
    opacity:.42;
    transition:opacity .24s ease,filter .24s ease,transform .24s ease;
  }

  #tickets .r5-approved-swipe-progress.active{
    opacity:1;
    filter:drop-shadow(0 0 7px rgba(240,217,149,.55));
  }

  #tickets .r5-approved-swipe-node.r5-approved-swipe-progress.active{
    transform:scale(1.24);
    transform-box:fill-box;
    transform-origin:center;
    fill:rgba(255,239,190,1);
    stroke:rgba(255,248,224,.95);
  }

  #tickets .r5-approved-swipe-orb.r5-approved-swipe-progress{
    animation:none;
    opacity:.50;
    transform:scale(.96);
  }

  #tickets .r5-approved-swipe-orb.r5-approved-swipe-progress.active{
    opacity:1;
    transform:scale(1.08);
    animation:r5ApprovedOrbBreathe 3.2s ease-in-out infinite;
  }

  #tickets .r5-approved-swipe-orb-halo{
    opacity:.22;
    animation:none;
  }

  #tickets .r5-approved-swipe-orb-halo.active{
    opacity:.58;
    animation:r5ApprovedHalo 3.2s ease-in-out infinite;
  }

  /* Swipe movement briefly wakes the rail, then settles. */
  #tickets.r5-approved-swipe-moving .r5-approved-swipe-light{
    opacity:1!important;
    stroke-width:1.8;
    animation-duration:1.55s;
  }

  #tickets.r5-approved-swipe-moving .r5-approved-swipe-progress.active{
    filter:drop-shadow(0 0 10px rgba(240,217,149,.72));
  }

  #tickets #addonMount{
    margin-top:16px!important;
  }
}

@media (prefers-reduced-motion:reduce){
  #tickets .r5-approved-swipe-progress,
  #tickets.r5-approved-swipe-moving .r5-approved-swipe-light{
    transition:none!important;
  }
}

/* R5 v09 — preserve visible ELVERSI brand mark in public sponsor/footer transition. */
#sponsors .elversi-powered-mark{
  display:flex;
  justify-content:center;
  align-items:center;
  width:100%;
  margin:26px auto 6px;
  min-height:72px;
}
#sponsors .elversi-powered-mark img{
  display:block;
  width:min(220px,52vw);
  height:auto;
  object-fit:contain;
  opacity:.96;
}
@media(max-width:680px){
  #sponsors .elversi-powered-mark{
    margin:24px auto 4px;
    min-height:66px;
  }
  #sponsors .elversi-powered-mark img{
    width:min(210px,56vw);
  }
}

/* R5 v10 — bounded sponsor-section adaptive spacing correction.
 * Creator direction: section height must be content-driven as sponsors are added/removed.
 * Preserve sponsor publishing behavior, ELVERSI mark, sponsorship CTA, footer, commerce.
 */
#sponsors,
#sponsors .container{
  min-height:0!important;
  height:auto!important;
}
#sponsors .container{
  display:block!important;
}
#sponsors #sponsorRoster{
  min-height:0!important;
  height:auto!important;
  margin-top:14px!important;
  align-items:center;
}
#sponsors #sponsorRoster:empty{
  display:none!important;
  margin:0!important;
  min-height:0!important;
}
#sponsors #footerMarks[hidden]{
  display:none!important;
}
#sponsors #sponsorEmpty{
  min-height:0!important;
}
#sponsors .elversi-powered-mark{
  min-height:0!important;
  margin:22px auto 10px!important;
}
#sponsors .h05-sponsor-explainer{
  margin:12px 0 16px!important;
}
#sponsors .h05-sponsor-join{
  margin-top:18px!important;
  margin-bottom:0!important;
}
@media(max-width:680px){
  #sponsors{
    padding-top:28px!important;
    padding-bottom:34px!important;
  }
  #sponsors .elversi-powered-mark{
    margin:20px auto 8px!important;
  }
  #sponsors .h05-sponsor-join{
    margin-top:16px!important;
  }
}

/* R5 v11 — live correction: make swipe progress illumination unmistakable. */
@media(max-width:680px){
  #tickets .r5-approved-swipe-progress{
    transition:opacity .18s ease,filter .18s ease,transform .18s ease,fill .18s ease,stroke .18s ease;
  }
  #tickets .r5-approved-swipe-progress.active{
    opacity:1!important;
    filter:drop-shadow(0 0 9px rgba(255,229,154,.78)) drop-shadow(0 0 18px rgba(240,217,149,.28))!important;
  }
  #tickets .r5-approved-swipe-node.r5-approved-swipe-progress:not(.active){
    opacity:.26!important;
    fill:rgba(255,229,154,.34)!important;
  }
  #tickets .r5-approved-swipe-node.r5-approved-swipe-progress.active{
    transform:scale(1.38)!important;
    fill:#fff0bd!important;
    stroke:#fff8df!important;
  }
  #tickets .r5-approved-swipe-orb.r5-approved-swipe-progress:not(.active){
    opacity:.34!important;
    transform:scale(.88)!important;
  }
  #tickets .r5-approved-swipe-orb.r5-approved-swipe-progress.active{
    opacity:1!important;
    transform:scale(1.12)!important;
    filter:drop-shadow(0 0 10px rgba(255,229,154,.72)) drop-shadow(0 0 20px rgba(240,217,149,.30))!important;
  }
  #tickets .r5-approved-swipe-orb-halo.active{
    opacity:.72!important;
  }
  #tickets.r5-approved-swipe-moving .r5-approved-swipe-light{
    opacity:1!important;
    stroke-width:2!important;
    filter:drop-shadow(0 0 8px rgba(255,229,154,.48));
  }
}

/* Creator-approved sponsor cleanup aligned with accepted Admin authority candidate.
 * Preserve sponsor publishing, adaptive section behavior, ELVERSI mark, CTA, footer and commerce.
 */
#sponsors #sponsorEmpty{
  display:none!important;
  margin:0!important;
  min-height:0!important;
}

/* v02 combined-candidate correction: remove dedicated fallback ELVERSI mark.
 * Preserve the existing governed sponsor/footer ELVERSI presentation.
 */
#elversiPoweredMark{display:none!important}
