/* ==========================================================================
   Event page "Wallet" look: motion. A calm, premium set: one easing curve everywhere, soft fade-ups with a
   short stagger, cards that ease in as you scroll to them, and hovers that lift and deepen a shadow.
   Nothing loops, nothing follows the pointer. Layout is untouched. Switched off for reduced motion.
   Loaded after wallet.css (body.ev-wallet).
   ========================================================================== */

body.ev-wallet .ev{--fx:cubic-bezier(.22,.8,.24,1)}

/* ---------- entrance: hero text settles in, one line after another ---------- */
@keyframes wlUp{from{opacity:0; transform:translateY(16px)}}
body.ev-wallet .ev-hero-text > *{animation:wlUp .9s var(--fx) backwards}
body.ev-wallet .ev-hero-text > :nth-child(1){animation-delay:.05s}
body.ev-wallet .ev-hero-text > :nth-child(2){animation-delay:.12s}
body.ev-wallet .ev-hero-text > :nth-child(3){animation-delay:.2s}
body.ev-wallet .ev-hero-text > :nth-child(4){animation-delay:.3s}
body.ev-wallet .ev-hero-text > :nth-child(5){animation-delay:.4s}
body.ev-wallet .ev-hero-text > :nth-child(6){animation-delay:.5s}
body.ev-wallet .ev-hero-text > .ev-title{animation:none}
body.ev-wallet .ev-cd{animation:wlUp .9s .32s var(--fx) backwards}

/* the flyer is plain: straight, no shadow, no hover effect (and no tilt from the old motion script) */
body.ev-wallet .ev-cover{transform:none !important; transition:none}



/* ---------- cards ease in as they come into view ---------- */
body.ev-wallet.wl-js .wl-card,
body.ev-wallet.wl-js .mq-from,
body.ev-wallet.wl-js .ended-panel,
body.ev-wallet.wl-js .wl-extra .ev-section{opacity:0; transform:translateY(28px); transition:opacity .9s var(--fx), transform .9s var(--fx), box-shadow .45s var(--fx), border-color .3s}
body.ev-wallet.wl-js .in{opacity:1; transform:none}

/* hovers: lift a few pixels and let the shadow deepen */
body.ev-wallet .wl-card{transition:transform .45s var(--fx), box-shadow .45s var(--fx), border-color .3s, opacity .9s var(--fx)}
body.ev-wallet .wl-card.in:hover,body.ev-wallet:not(.wl-js) .wl-card:hover{transform:translateY(-4px); box-shadow:0 26px 46px -30px rgba(22,17,28,.4); border-color:#D8D3E1}
body.ev-wallet .wl-dark.in:hover,body.ev-wallet:not(.wl-js) .wl-dark:hover{border-color:#16111C; box-shadow:0 30px 50px -28px rgba(22,17,28,.7)}
body.ev-wallet .mq-from{transition:transform .45s var(--fx), box-shadow .45s var(--fx), opacity .9s var(--fx)}
body.ev-wallet .mq-from.in:hover,body.ev-wallet:not(.wl-js) .mq-from:hover{transform:translateY(-4px); box-shadow:0 30px 50px -26px rgba(185,28,28,.65)}

/* ---------- ribbon: gentle, and still while you read it ---------- */
.wl-rib:hover div{animation-play-state:paused}

/* ---------- buttons and links ---------- */
body.ev-wallet .mq-buy{transition:background .3s, transform .35s var(--fx), box-shadow .35s var(--fx)}
body.ev-wallet .mq-buy:hover{transform:translateY(-2px); box-shadow:0 16px 28px -14px rgba(0,0,0,.45)}
body.ev-wallet .mq-buy:active{transform:translateY(0) scale(.985); box-shadow:none}
body.ev-wallet .ev-icon-btn{transition:background .3s, color .3s, border-color .3s, transform .35s var(--fx), box-shadow .35s var(--fx)}
body.ev-wallet .ev-icon-btn:hover{background:#16111C; color:#fff; border-color:#16111C; transform:translateY(-2px); box-shadow:0 12px 20px -12px rgba(22,17,28,.6)}
body.ev-wallet .ev-org-name a{background:linear-gradient(currentColor,currentColor) 0 100%/0 1.5px no-repeat; transition:background-size .45s var(--fx); text-decoration:none !important}
body.ev-wallet .ev-org-name a:hover{background-size:100% 1.5px}
body.ev-wallet .mq-how a{transition:opacity .25s}
body.ev-wallet .mq-how a:hover{opacity:.8; text-decoration:underline}

/* ---------- details ---------- */
body.ev-wallet .wl-bx{transition:background .35s var(--fx), color .35s var(--fx)}
body.ev-wallet .wl-fk > div:hover .wl-bx{background:#E5383B; color:#fff}
body.ev-wallet .mq-rows li{transition:background .3s, border-color .3s, transform .4s var(--fx), box-shadow .4s var(--fx)}
body.ev-wallet .mq-rows li:hover{background:#fff; border-color:#D8D3E1; transform:translateY(-2px); box-shadow:0 14px 26px -20px rgba(22,17,28,.45)}
body.ev-wallet .mq-venue{transition:background .3s, border-color .3s}
body.ev-wallet .mq-venue:hover{background:#fff; border-color:#D8D3E1}
body.ev-wallet .mq-venue a::after{content:" \2192"; display:inline-block; transition:transform .35s var(--fx)}
body.ev-wallet .mq-venue a:hover::after{transform:translateX(4px)}
body.ev-wallet .mq-ic{transition:background .35s var(--fx), color .35s var(--fx)}
body.ev-wallet .mq-how > div:hover .mq-ic{background:#E5383B; color:#fff}

/* ---------- buying: the drawer glides in and its content settles in order ---------- */
body.ev-wallet .sheet-backdrop{-webkit-backdrop-filter:blur(0); backdrop-filter:blur(0); transition:opacity .35s, visibility 0s linear .35s, backdrop-filter .45s, -webkit-backdrop-filter .45s}
body.ev-wallet.ticket-sheet-open .sheet-backdrop{-webkit-backdrop-filter:blur(5px); backdrop-filter:blur(5px)}
@keyframes wlSettle{from{opacity:0; transform:translateY(12px)}}
body.ev-wallet.ticket-sheet-open .buy-panel .ev-stub-top{animation:wlSettle .6s .14s var(--fx) backwards}
body.ev-wallet.ticket-sheet-open .buy-panel .tier{animation:wlSettle .6s var(--fx) backwards}
body.ev-wallet.ticket-sheet-open .buy-panel .tier:nth-child(1){animation-delay:.22s}
body.ev-wallet.ticket-sheet-open .buy-panel .tier:nth-child(2){animation-delay:.3s}
body.ev-wallet.ticket-sheet-open .buy-panel .tier:nth-child(n+3){animation-delay:.38s}
body.ev-wallet.ticket-sheet-open .buy-panel .poster-summary{animation:wlSettle .6s .42s var(--fx) backwards}
body.ev-wallet.ticket-sheet-open .buy-panel .poster-foot{animation:wlSettle .6s .5s var(--fx) backwards}
body.ev-wallet .buy-panel .poster-foot .btn{transition:transform .35s var(--fx), box-shadow .35s var(--fx)}
body.ev-wallet .buy-panel .poster-foot .btn:hover{transform:translateY(-2px); box-shadow:0 16px 28px -14px rgba(0,0,0,.5)}

/* ---------- keyboard focus ---------- */
body.ev-wallet .ev a:focus-visible,body.ev-wallet .ev button:focus-visible{outline:3px solid #FF8A8A; outline-offset:3px; border-radius:10px}

@media (prefers-reduced-motion:reduce){
  body.ev-wallet .ev-hero-text > *,body.ev-wallet .ev-cd,body.ev-wallet.ticket-sheet-open .buy-panel *{animation:none !important}
  body.ev-wallet.wl-js .wl-card,body.ev-wallet.wl-js .mq-from,body.ev-wallet.wl-js .ended-panel,body.ev-wallet.wl-js .wl-extra .ev-section{opacity:1; transform:none}
  body.ev-wallet *,body.ev-wallet *::before,body.ev-wallet *::after{transition-duration:.001ms !important}
}
