/* RepublicaPass V24 — unified mobile hierarchy + high-impact motion. */
.rp-mobile-event-location,.rp-mobile-event-bottom,.rp-event-mobile-facts,.rp-event-mobile-ref{display:none}

@media(max-width:820px){
  :root{
    --rp24-green:#0df28a;
    --rp24-green-soft:#55f2ad;
    --rp24-bg:#020706;
    --rp24-card:#06100d;
    --rp24-card-hi:#081511;
    --rp24-line:rgba(13,242,138,.09);
    --rp24-muted:#899992;
    --rp24-ease:cubic-bezier(.2,.82,.2,1);
  }
  body.public-body{background:var(--rp24-bg)!important;color:#f4f8f6!important}

  /* One clean hierarchy everywhere: micro-labels stop competing with titles. */
  .homev3-section-label,.public-page-hero>.homev3-section-label,.event-copy>.eyebrow,.checkout-main>.eyebrow,.status-head>.eyebrow{letter-spacing:.12em!important}
  .homev3-heading .homev3-section-label{display:none!important}
  .homev3-heading h2{margin:0!important;font-size:24px!important;line-height:1!important;letter-spacing:-.04em!important}

  /* HOME: image -> headline -> description -> CTA. No extra floating names. */
  .rp-homepage-v16 .rp-cinema-slide-pill{display:none!important}
  .rp-homepage-v16 .rp-cinema-slide-ui{left:0!important;right:0!important;bottom:12px!important;justify-items:center!important}
  .rp-homepage-v16 .rp-cinema-slide-dots{padding:6px 9px!important;border:1px solid rgba(255,255,255,.07)!important;border-radius:999px!important;background:rgba(2,7,6,.52)!important;backdrop-filter:blur(8px)!important}
  .rp-homepage-v16 .rp-cinema-slide-dots b{width:22px!important;height:3px!important}
  .rp-homepage-v16 .rp-cinema-kicker{display:none!important}
  .rp-homepage-v16 .rp-cinema-copy{padding:18px 17px 27px!important}
  .rp-homepage-v16 .rp-cinema-copy h2{max-width:11.5ch!important;margin:0 0 12px!important;font-size:clamp(34px,10vw,44px)!important;line-height:.94!important;letter-spacing:-.06em!important;text-transform:none!important;text-wrap:balance!important}
  .rp-homepage-v16 .rp-cinema-copy h2::after{content:"";display:block;width:44px;height:2px;margin-top:14px;border-radius:99px;background:linear-gradient(90deg,var(--rp24-green),transparent);box-shadow:0 0 16px rgba(13,242,138,.25);animation:rp24LinePulse 3.2s ease-in-out infinite}
  .rp-homepage-v16 .rp-cinema-copy>p{max-width:31ch!important;color:#aab8b1!important;font-size:12.5px!important;line-height:1.55!important}
  .rp-homepage-v16 .rp-cinema-actions{margin-top:17px!important}
  .rp-homepage-v16 .rp-cinema-primary{min-height:54px!important;border-radius:16px!important;font-size:12.5px!important;letter-spacing:.01em!important;text-transform:none!important;animation:rp24CtaFloat 3.2s ease-in-out infinite!important}
  .rp-homepage-v16 .rp-cinema-primary>span{font-size:19px!important;animation:rp24Arrow 1.8s ease-in-out infinite}
  .rp-homepage-v16 .rp-cinema-trust{margin-top:14px!important;padding-top:13px!important;border-top:1px solid rgba(13,242,138,.07)!important;gap:4px!important}
  .rp-homepage-v16 .rp-cinema-trust span{font-size:8.5px!important;color:#aebdb6!important;padding:8px 2px!important}
  .rp-homepage-v16 .rp-cinema-trust i{width:26px!important;height:26px!important;background:rgba(13,242,138,.045)!important;border:1px solid rgba(13,242,138,.08)!important}
  .rp-homepage-v16 .rp-home-events{padding-top:27px!important}

  /* Cards: title only once. Place, price and action have fixed positions. */
  .homev3-event{grid-template-columns:112px minmax(0,1fr)!important;min-height:132px!important;border-radius:17px!important;background:linear-gradient(145deg,#07120f,#040b09)!important;border-color:rgba(13,242,138,.07)!important;box-shadow:0 14px 35px rgba(0,0,0,.18)!important}
  .homev3-event-image{min-height:132px!important}
  .homev3-event-date{width:45px!important;min-height:47px!important;left:8px!important;bottom:8px!important;border-radius:10px!important}
  .homev3-event-date b{font-size:18px!important}
  .homev3-event-body{justify-content:flex-start!important;padding:12px 12px 11px!important}
  .rp-mobile-event-title{display:-webkit-box!important;margin:0 0 8px!important;font-size:14px!important;line-height:1.16!important;letter-spacing:-.025em!important;overflow:hidden!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;overflow-wrap:anywhere!important}
  .rp-mobile-event-location{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:start!important;gap:2px 6px!important;min-width:0!important;color:#8fa099!important}
  .rp-mobile-event-location>span{grid-row:1/3;color:var(--rp24-green)!important;font-size:11px!important;line-height:1.2!important}
  .rp-mobile-event-location b{min-width:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:#a9b8b1!important;font-size:10px!important;font-weight:600!important}
  .rp-mobile-event-location small{min-width:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:#64736c!important;font-size:8.5px!important}
  .rp-mobile-event-bottom{display:flex!important;align-items:end!important;justify-content:space-between!important;gap:8px!important;margin-top:auto!important;padding-top:8px!important}
  .rp-mobile-event-bottom strong{min-width:0!important;color:var(--rp24-green-soft)!important;font-size:10px!important;font-weight:750!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .rp-mobile-event-bottom span{flex:0 0 auto!important;color:#e5ede9!important;font-size:9px!important;font-weight:750!important}
  .rp-desktop-event-details{display:none!important}
  .homev3-event-image::after{animation-duration:6.2s!important}

  /* Events page: don't say the same thing twice. */
  .rp-events-page .public-page-hero{padding-bottom:17px!important}
  .rp-events-page .public-page-hero h1{font-size:29px!important;text-transform:none!important;letter-spacing:-.045em!important}
  .rp-events-page .public-page-hero p{max-width:31ch!important;font-size:11.5px!important;line-height:1.5!important}
  .rp-events-page .public-page-section{padding-top:4px!important}
  .rp-events-page .public-page-section>.homev3-heading{display:none!important}

  /* Generic public pages: one main intro and cleaner content cards. */
  .rp-page-como-funciona .public-page-hero,.rp-page-afiliados .public-page-hero{padding:82px 16px 22px!important}
  .rp-page-como-funciona .public-page-hero .homev3-section-label,.rp-page-afiliados .public-page-hero .homev3-section-label{display:none!important}
  .rp-page-como-funciona .public-page-hero h1,.rp-page-afiliados .public-page-hero h1{max-width:12ch!important;margin:0 0 10px!important;font-size:31px!important;line-height:.98!important;letter-spacing:-.05em!important;text-wrap:balance!important}
  .rp-page-como-funciona .public-page-hero p,.rp-page-afiliados .public-page-hero p{max-width:34ch!important;font-size:12px!important;line-height:1.58!important}
  .rp-page-como-funciona .process-step{grid-template-columns:40px minmax(0,1fr)!important;padding:15px!important;gap:11px!important;border-radius:16px!important}
  .rp-page-como-funciona .process-step>span{font-size:22px!important;color:var(--rp24-green)!important}
  .rp-page-como-funciona .process-step small{display:none!important}
  .rp-page-como-funciona .process-step h3{margin:0 0 5px!important;font-size:16px!important;line-height:1.15!important}
  .rp-page-como-funciona .process-step p{font-size:11px!important;line-height:1.5!important;color:#899991!important}
  .rp-page-afiliados .public-feature-card{padding:17px!important;border-radius:16px!important}
  .rp-page-afiliados .public-feature-card>span{width:35px!important;height:35px!important;border-radius:11px!important}
  .rp-page-afiliados .public-feature-card h3{font-size:17px!important;margin:10px 0 6px!important}
  .rp-page-afiliados .public-feature-card p{font-size:11.5px!important;line-height:1.5!important}
  .rp-page-como-funciona .public-info-band,.rp-page-afiliados .public-info-band{margin:0 14px 28px!important;padding:17px!important;border-radius:17px!important}
  .public-info-band small{display:none!important}.public-info-band h2{font-size:20px!important;line-height:1.05!important;margin:0 0 6px!important}.public-info-band p{font-size:11px!important;line-height:1.5!important}

  /* EVENT: status, title, place, compact facts. Nothing duplicated. */
  .rp-page-evento .rp-event-mobile-status{justify-content:flex-start!important;margin-bottom:8px!important}
  .rp-page-evento .rp-event-mobile-status>span{min-height:27px!important;padding:0 9px!important;font-size:8px!important}
  .rp-page-evento .rp-event-mobile-summary h1{font-size:clamp(28px,8vw,36px)!important;line-height:.97!important;letter-spacing:-.055em!important}
  .rp-page-evento .rp-event-mobile-place{margin-top:8px!important;font-size:10.5px!important;color:#a0afa8!important}
  .rp-page-evento .rp-event-mobile-subtitle{margin-top:7px!important;font-size:10.5px!important;color:#73837b!important}
  .rp-event-mobile-ref{display:block!important;margin-top:8px!important;color:#63736b!important;font-size:8.5px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .rp-event-mobile-facts{display:grid!important;grid-template-columns:1fr 1.45fr .58fr!important;gap:7px!important;margin:0!important}
  .rp-event-mobile-facts>span{display:block!important;min-width:0!important;padding:10px 9px!important;border:1px solid rgba(13,242,138,.075)!important;border-radius:12px!important;background:linear-gradient(145deg,#07110e,#04100c)!important;overflow:hidden!important}
  .rp-event-mobile-facts small{display:block!important;margin-bottom:4px!important;color:#607169!important;font-size:6.8px!important;font-weight:800!important;letter-spacing:.1em!important}
  .rp-event-mobile-facts b{display:block!important;min-width:0!important;color:#e9f1ed!important;font-size:9.5px!important;line-height:1.22!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .rp-page-evento .event-meta{display:none!important}
  .rp-page-evento .event-visual-actions{margin-top:8px!important}.rp-page-evento .event-visual-actions .btn{min-height:42px!important;font-size:10px!important}
  .rp-page-evento .event-layout{padding-top:6px!important}
  .rp-page-evento .event-copy>.eyebrow{display:none!important}.rp-page-evento .event-copy h2{margin-top:0!important;font-size:22px!important}.rp-page-evento .event-copy>p{font-size:11.5px!important;line-height:1.62!important}
  .rp-page-evento .buy-heading .eyebrow{display:none!important}.rp-page-evento .buy-heading h2{font-size:20px!important}.rp-page-evento .buy-intro{font-size:9.5px!important;line-height:1.45!important}
  .rp-page-evento .premium-ticket-option{padding:12px!important;border-radius:14px!important}.rp-page-evento .ticket-copy b{font-size:11.5px!important}.rp-page-evento .ticket-copy small{font-size:8.5px!important}.rp-page-evento .ticket-copy>span{font-size:14px!important}
  .rp-page-evento .purchase-assurance{display:grid!important;grid-template-columns:1fr!important;gap:6px!important}.rp-page-evento .purchase-assurance span{font-size:8.5px!important}

  /* CHECKOUT: event name appears once at the top; summary is visual, not another heading wall. */
  .rp-page-checkout .checkout{padding-top:76px!important}
  .rp-page-checkout .checkout-steps{margin-bottom:14px!important}
  .rp-page-checkout .checkout-main>.eyebrow{display:none!important}
  .rp-page-checkout .checkout-main>h1{margin:0 0 7px!important;font-size:29px!important;line-height:.98!important;letter-spacing:-.05em!important}
  .rp-page-checkout .checkout-main>p{margin:0 0 15px!important;font-size:10.5px!important;color:#87978f!important;white-space:normal!important}
  .rp-page-checkout .checkout-form{padding:15px!important}
  .rp-page-checkout .checkout-form h3{font-size:15px!important;margin:17px 0 8px!important}
  .rp-page-checkout .checkout-form label{font-size:10px!important}
  .rp-page-checkout .payment-box>p{font-size:10px!important;line-height:1.5!important;color:#83928b!important}
  .rp-page-checkout .checkout-assurance{display:grid!important;grid-template-columns:1fr!important;gap:4px!important;margin:12px 0!important}.rp-page-checkout .checkout-assurance span{font-size:8.5px!important}
  .rp-page-checkout .premium-summary{padding:14px!important;margin-top:4px!important;border-radius:15px!important}
  .rp-page-checkout .premium-summary>.eyebrow,.rp-page-checkout .summary-event{display:none!important}
  .rp-page-checkout .summary-mark{width:34px!important;height:34px!important;font-size:14px!important}
  .rp-page-checkout .summary-line{font-size:10px!important}.rp-page-checkout .summary-total b{font-size:19px!important;color:var(--rp24-green)!important}

  /* PURCHASE STATUS: code and event are not repeated as labels. */
  .rp-page-compra .order-status{padding-top:78px!important}
  .rp-page-compra .status-head>.eyebrow{display:none!important}.rp-page-compra .status-head h1{margin:0 0 7px!important;font-size:29px!important;line-height:.98!important;letter-spacing:-.05em!important}.rp-page-compra .status-head p{font-size:10.5px!important;color:#84948c!important}
  .rp-page-compra .purchase-code-card{padding:15px!important;border-radius:15px!important}.rp-page-compra .purchase-code-card small{font-size:7px!important}.rp-page-compra .purchase-code-card b{font-size:22px!important;color:var(--rp24-green)!important;letter-spacing:.04em!important}.rp-page-compra .purchase-code-card span{font-size:9.5px!important;line-height:1.45!important}
  .rp-page-compra .status-card{grid-template-columns:1fr 1fr!important;gap:8px!important;padding:14px!important}.rp-page-compra .status-card>.status-pill{grid-column:1/-1!important;justify-self:start!important}.rp-page-compra .status-card small{font-size:7px!important}.rp-page-compra .status-card b{font-size:11px!important}
  .rp-page-compra .pending-box{padding:15px!important}.rp-page-compra .pending-box h2{font-size:17px!important}.rp-page-compra .pending-box p{font-size:10.5px!important;line-height:1.52!important}
  .rp-page-compra .tickets-grid{gap:12px!important}.rp-page-compra .digital-ticket h3{font-size:18px!important;line-height:1.05!important;overflow-wrap:anywhere!important}

  /* CLIENT AREA: reduce competing labels and make cards scan quickly. */
  .rp-page-cliente-index .client-portal-shell{padding-top:78px!important}
  .rp-page-cliente-index .client-portal-head .eyebrow{display:none!important}.rp-page-cliente-index .client-portal-head h1{font-size:31px!important;line-height:.98!important;max-width:12ch!important}.rp-page-cliente-index .client-portal-head p{font-size:10px!important;line-height:1.4!important;max-width:32ch!important}
  .rp-page-cliente-index .client-stats{gap:7px!important}.rp-page-cliente-index .metric-card{padding:12px!important;border-radius:13px!important}.rp-page-cliente-index .metric-card small{font-size:6.7px!important}.rp-page-cliente-index .metric-card b{font-size:20px!important}.rp-page-cliente-index .metric-card span{font-size:8px!important;line-height:1.25!important}
  .rp-page-cliente-index .panel-card-head small{display:none!important}.rp-page-cliente-index .panel-card-head h3{font-size:17px!important}.rp-page-cliente-index .client-event-card h3{font-size:14px!important;line-height:1.18!important;overflow-wrap:anywhere!important}.rp-page-cliente-index .client-event-card p{font-size:9px!important;line-height:1.4!important}.rp-page-cliente-index .status-dot{font-size:7.5px!important}

  /* Motion system: consistent across all screens. */
  .rp24-reveal{opacity:0;transform:translateY(18px) scale(.985);filter:blur(4px);transition:opacity .58s ease,transform .72s var(--rp24-ease),filter .55s ease;transition-delay:var(--rp24-delay,0ms)}
  .rp24-reveal.rp24-in{opacity:1;transform:none;filter:none}
  .homev3-event.rp24-in,.premium-ticket-option.rp24-in,.process-step.rp24-in,.public-feature-card.rp24-in,.client-event-card.rp24-in{animation:rp24Settle .7s var(--rp24-ease) both}
  .homev3-event:active,.premium-ticket-option:active,.process-step:active,.public-feature-card:active,.client-event-card:active{transform:scale(.985)!important}
  .homev3-event-image img,.rp-event-mobile-image{transition:transform .8s var(--rp24-ease),filter .6s ease!important}
  .homev3-event:active .homev3-event-image img{transform:scale(1.035)!important;filter:saturate(1.12) contrast(1.04)!important}
  .rp-mobile-bottom-nav{box-shadow:0 -12px 38px rgba(0,0,0,.28)!important}.rp-mobile-bottom-nav a.is-active svg{animation:rp24NavPop 2.6s ease-in-out infinite}
  .rp-mobile-menu-button span{transition:transform .32s var(--rp24-ease),opacity .2s ease!important}.public-menu-open .rp-mobile-menu-button span:first-child{transform:translateY(3.75px) rotate(45deg)!important}.public-menu-open .rp-mobile-menu-button span:last-child{transform:translateY(-3.75px) rotate(-45deg)!important}
}

@media(max-width:390px){
  .homev3-event{grid-template-columns:103px minmax(0,1fr)!important}.homev3-event-body{padding-inline:10px!important}
  .rp-mobile-event-bottom strong{font-size:9.2px!important}.rp-mobile-event-bottom span{font-size:8.5px!important}
  .rp-event-mobile-facts{grid-template-columns:1fr 1.3fr .54fr!important}.rp-event-mobile-facts b{font-size:9px!important}
}

@keyframes rp24LinePulse{0%,100%{width:28px;opacity:.45}50%{width:54px;opacity:1}}
@keyframes rp24CtaFloat{0%,100%{transform:translateY(0);box-shadow:0 14px 30px rgba(13,242,138,.12)}50%{transform:translateY(-2px);box-shadow:0 18px 38px rgba(13,242,138,.22)}}
@keyframes rp24Arrow{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}
@keyframes rp24Settle{0%{transform:translateY(12px) scale(.985)}70%{transform:translateY(-1px) scale(1.002)}100%{transform:none}}
@keyframes rp24NavPop{0%,100%{transform:translateY(-1px) scale(1)}50%{transform:translateY(-2px) scale(1.06)}}

@media(prefers-reduced-motion:reduce){
  .rp24-reveal,.rp24-reveal.rp24-in,.homev3-event.rp24-in,.premium-ticket-option.rp24-in,.process-step.rp24-in,.public-feature-card.rp24-in,.client-event-card.rp24-in,.rp-homepage-v16 .rp-cinema-copy h2::after,.rp-homepage-v16 .rp-cinema-primary,.rp-homepage-v16 .rp-cinema-primary>span,.rp-mobile-bottom-nav a.is-active svg{animation:none!important;transition:none!important;opacity:1!important;transform:none!important;filter:none!important}
}


@media(max-width:820px){
  /* Zone/map page: keep the event name as the only hero title and reduce labels around it. */
  .rp-page-visualizacao .zone-hero-inner{padding:86px 15px 28px!important}
  .rp-page-visualizacao .zone-live-row{margin-bottom:10px!important}.rp-page-visualizacao .zone-live-row .live-pill{font-size:7.5px!important}.rp-page-visualizacao .zone-live-time{display:none!important}
  .rp-page-visualizacao .zone-hero-inner>.eyebrow{display:none!important}
  .rp-page-visualizacao .zone-hero h1{max-width:11ch!important;margin:0 0 8px!important;font-size:31px!important;line-height:.96!important;letter-spacing:-.05em!important;overflow-wrap:anywhere!important}
  .rp-page-visualizacao .zone-hero-inner>p{max-width:31ch!important;font-size:11.5px!important;line-height:1.5!important;color:#a0afa8!important}
  .rp-page-visualizacao .zone-hero-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin-top:15px!important}.rp-page-visualizacao .zone-hero-actions .btn{width:100%!important;min-height:44px!important;font-size:10px!important}
  .rp-page-visualizacao .zone-live-strip{grid-template-columns:1fr 1fr!important;gap:7px!important;padding:10px 14px!important}.rp-page-visualizacao .zone-live-strip>div{padding:10px!important;border-radius:12px!important}.rp-page-visualizacao .zone-live-strip small{font-size:6.5px!important}.rp-page-visualizacao .zone-live-strip b{font-size:17px!important}.rp-page-visualizacao .zone-live-strip span{font-size:7.5px!important;line-height:1.25!important}
  .rp-page-visualizacao .zone-section-heading .eyebrow{display:none!important}.rp-page-visualizacao .zone-section-heading h2{font-size:22px!important;line-height:1.02!important;margin:0 0 7px!important}.rp-page-visualizacao .zone-section-heading p{font-size:10.5px!important;line-height:1.48!important}.rp-page-visualizacao .zone-legend{font-size:8px!important;gap:8px!important}
  .rp-page-visualizacao .venue-zone small{display:none!important}.rp-page-visualizacao .venue-zone b{font-size:10px!important;line-height:1.15!important;overflow-wrap:anywhere!important}.rp-page-visualizacao .venue-zone em{font-size:7px!important}
  .rp-page-visualizacao .zone-card-top small{display:none!important}.rp-page-visualizacao .zone-card-top h3{font-size:18px!important;line-height:1.05!important;overflow-wrap:anywhere!important}.rp-page-visualizacao .zone-detail-card>p{font-size:10.5px!important;line-height:1.5!important}.rp-page-visualizacao .zone-card-stats small{font-size:6px!important}.rp-page-visualizacao .zone-card-stats b{font-size:11px!important}.rp-page-visualizacao .zone-lots small{display:none!important}.rp-page-visualizacao .zone-lots span{font-size:9px!important;line-height:1.35!important}
  .rp-page-visualizacao .zone-experience-band>div:first-child small{display:none!important}.rp-page-visualizacao .zone-experience-band h2{font-size:20px!important;line-height:1.05!important}.rp-page-visualizacao .zone-step small{display:none!important}

  /* Login screens: remove unnecessary eyebrow noise and keep one clear action. */
  .rp-page-login .auth-shell,.rp-page-cliente-login .auth-shell{padding:84px 14px 34px!important;min-height:100dvh!important;align-items:flex-start!important}
  .rp-page-login .auth-card,.rp-page-cliente-login .auth-card{width:100%!important;padding:18px!important;border-radius:18px!important}
  .rp-page-login .auth-card>.eyebrow,.rp-page-cliente-login .auth-card>.eyebrow{display:none!important}
  .rp-page-login .auth-card h1,.rp-page-cliente-login .auth-card h1{font-size:29px!important;line-height:.98!important;letter-spacing:-.05em!important;max-width:12ch!important;margin:0 0 9px!important}
  .rp-page-login .auth-card>p,.rp-page-cliente-login .auth-card>p{font-size:11px!important;line-height:1.52!important;color:#87978f!important;margin-bottom:16px!important}
  .rp-page-login .auth-card label,.rp-page-cliente-login .auth-card label{font-size:9.5px!important}.rp-page-login .auth-card .btn,.rp-page-cliente-login .auth-card .btn{min-height:50px!important;border-radius:14px!important}
}
