/* RepublicaPass V73 — seletor de quantidade amigável para mobile */
.rp-page-evento .premium-ticket-option{
  grid-template-columns:minmax(0,1fr) auto!important;
}
.rp-page-evento .ticket-qty-stepper{
  width:116px;
  height:46px;
  display:grid;
  grid-template-columns:38px 40px 38px;
  align-items:center;
  justify-content:center;
  align-self:center;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.1);
  border-radius:13px;
  background:linear-gradient(180deg,#0b1712,#06100c);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 8px 24px rgba(0,0,0,.16);
  color-scheme:dark;
}
.rp-page-evento .ticket-qty-btn{
  width:38px;
  height:44px;
  display:grid;
  place-items:center;
  padding:0;
  border:0;
  background:transparent;
  color:#c9f8d9;
  font:800 21px/1 "Inter",sans-serif;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
  transition:background .18s ease,color .18s ease,transform .12s ease,opacity .18s ease;
}
.rp-page-evento .ticket-qty-btn:hover:not(:disabled),
.rp-page-evento .ticket-qty-btn:focus-visible{
  background:rgba(78,230,139,.09);
  color:#8dffb6;
  outline:none;
}
.rp-page-evento .ticket-qty-btn:active:not(:disabled){
  transform:scale(.9);
}
.rp-page-evento .ticket-qty-btn:disabled{
  opacity:.22;
  cursor:default;
}
.rp-page-evento .ticket-qty-value{
  height:44px;
  display:grid;
  place-items:center;
  border-left:1px solid rgba(255,255,255,.075);
  border-right:1px solid rgba(255,255,255,.075);
  color:#f5fff8;
  font:800 14px/1 "Space Grotesk",sans-serif;
  user-select:none;
}
.rp-page-evento .premium-ticket-option.has-qty{
  border-color:rgba(82,235,148,.26)!important;
  background:linear-gradient(145deg,rgba(70,218,133,.06),#091411)!important;
  box-shadow:0 10px 30px rgba(0,0,0,.12),inset 0 0 0 1px rgba(87,232,154,.025);
}
.rp-page-evento .premium-ticket-option.has-qty .ticket-qty-stepper{
  border-color:rgba(91,239,156,.26);
  box-shadow:0 0 0 3px rgba(75,227,140,.045),inset 0 1px 0 rgba(255,255,255,.04);
}
@media (max-width:640px){
  .rp-page-evento .premium-ticket-option{
    grid-template-columns:minmax(0,1fr) 106px!important;
    gap:9px!important;
    padding:12px!important;
  }
  .rp-page-evento .ticket-qty-stepper{
    width:106px;
    height:44px;
    grid-template-columns:34px 38px 34px;
    border-radius:12px;
  }
  .rp-page-evento .ticket-qty-btn{width:34px;height:42px;font-size:20px}
  .rp-page-evento .ticket-qty-value{height:42px;font-size:14px}
}
@media (max-width:380px){
  .rp-page-evento .premium-ticket-option{
    grid-template-columns:minmax(0,1fr) 96px!important;
  }
  .rp-page-evento .ticket-qty-stepper{
    width:96px;
    grid-template-columns:31px 34px 31px;
  }
  .rp-page-evento .ticket-qty-btn{width:31px}
}

/* RepublicaPass V75 — aviso flutuante ao tentar continuar sem ingressos */
.rp-ticket-selection-toast{
  position:fixed;
  z-index:320;
  top:92px;
  right:20px;
  width:min(390px,calc(100vw - 32px));
  display:grid;
  grid-template-columns:38px minmax(0,1fr) 28px;
  align-items:center;
  gap:11px;
  padding:13px 12px 13px 13px;
  border:1px solid rgba(255,201,92,.24);
  border-radius:16px;
  background:linear-gradient(145deg,rgba(18,25,20,.98),rgba(7,15,11,.98));
  box-shadow:0 20px 55px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.045);
  color:#f8fff9;
  opacity:0;
  transform:translateY(-10px) scale(.98);
  pointer-events:none;
  transition:opacity .22s ease,transform .22s ease;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.rp-ticket-selection-toast.is-visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
.rp-ticket-selection-toast-icon{
  width:38px;height:38px;border-radius:12px;display:grid;place-items:center;
  background:rgba(255,191,73,.12);border:1px solid rgba(255,199,92,.2);color:#ffd37a;
  font:900 18px/1 "Space Grotesk",sans-serif;
}
.rp-ticket-selection-toast-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.rp-ticket-selection-toast-copy b{font:800 13px/1.2 "Space Grotesk",sans-serif;color:#fff}
.rp-ticket-selection-toast-copy small{font:600 10px/1.45 "Inter",sans-serif;color:#afc1b6}
.rp-ticket-selection-toast-copy strong{color:#9ef0ba;font-size:12px}
.rp-ticket-selection-toast-close{
  width:28px;height:28px;border:0;border-radius:9px;background:rgba(255,255,255,.045);color:#aebdb4;
  display:grid;place-items:center;padding:0;font:500 19px/1 sans-serif;cursor:pointer;
}
.rp-ticket-selection-toast-close:hover{background:rgba(255,255,255,.08);color:#fff}
.rp-page-evento .premium-buy-panel.rp-needs-ticket-selection{
  animation:rpTicketPanelAttention .62s ease 2;
}
.rp-page-evento .ticket-qty-stepper.rp-ticket-stepper-hint{
  border-color:rgba(255,205,103,.55)!important;
  box-shadow:0 0 0 4px rgba(255,195,71,.09),0 0 28px rgba(255,194,66,.08)!important;
  animation:rpTicketStepperHint .72s ease 2;
}
@keyframes rpTicketPanelAttention{
  0%,100%{border-color:rgba(255,255,255,.08)}
  45%{border-color:rgba(255,203,97,.32);box-shadow:0 18px 55px rgba(0,0,0,.2),0 0 0 3px rgba(255,196,75,.045)}
}
@keyframes rpTicketStepperHint{0%,100%{transform:scale(1)}50%{transform:scale(1.055)}}
@media (max-width:640px){
  .rp-ticket-selection-toast{
    top:auto;
    right:12px;
    bottom:calc(82px + env(safe-area-inset-bottom));
    width:calc(100vw - 24px);
    grid-template-columns:36px minmax(0,1fr) 27px;
    padding:12px;
    border-radius:15px;
    transform:translateY(14px) scale(.985);
  }
  .rp-ticket-selection-toast.is-visible{transform:translateY(0) scale(1)}
  .rp-ticket-selection-toast-icon{width:36px;height:36px;border-radius:11px}
  .rp-ticket-selection-toast-copy b{font-size:12px}
  .rp-ticket-selection-toast-copy small{font-size:9.5px}
}

