/* Esparta Brasil — correções mobile de checkout + badge do carrinho */
@media(max-width:760px){
  body:has(#modalRoot>.modalbg){overflow:hidden!important}

  /* Evita o bug de renderização do Samsung/Chrome ao rolar selects dentro de modal fixo com scroll interno. */
  #modalRoot>.modalbg{
    display:block!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior-y:contain!important;
    -webkit-overflow-scrolling:touch!important;
    padding:max(12px,env(safe-area-inset-top)) 0 0!important;
    align-items:unset!important;
    place-items:unset!important;
  }
  #modalRoot>.modalbg>.modal:not(.chat){
    width:100%!important;
    max-width:100%!important;
    max-height:none!important;
    overflow:visible!important;
    margin:0!important;
    border-radius:21px 21px 0 0!important;
    border-left:0!important;
    border-right:0!important;
    border-bottom:0!important;
    padding:15px 12px calc(24px + env(safe-area-inset-bottom))!important;
    transform:none!important;
    will-change:auto!important;
    contain:none!important;
  }
  #checkoutForm,
  #checkoutForm .card,
  #checkoutForm .vipChoiceGroup,
  #checkoutForm label,
  #checkoutForm .formgroup{
    transform:none!important;
    contain:none!important;
    overflow:visible!important;
  }
  #checkoutForm select,
  #checkoutForm input,
  #checkoutForm textarea,
  #checkoutForm .input,
  #checkoutForm .select{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    font-size:16px!important;
    transform:none!important;
  }
  #checkoutForm .vipChoiceGroup>div[style*="grid-template-columns"]{
    grid-template-columns:1fr!important;
  }

  /* Carrinho flutuante: apenas ícone + quantidade, acima da navegação inferior. */
  #mobileCartBadge298{
    position:fixed;
    right:14px;
    bottom:calc(88px + env(safe-area-inset-bottom));
    z-index:104;
    width:50px;
    height:50px;
    border:0;
    background:transparent;
    color:#f2c84b;
    display:grid;
    place-items:center;
    padding:0;
    cursor:pointer;
    filter:drop-shadow(0 5px 12px rgba(0,0,0,.58));
    -webkit-tap-highlight-color:transparent;
  }
  #mobileCartBadge298 svg{width:31px;height:31px;display:block}
  #mobileCartBadge298 .mobileCartCount298{
    position:absolute;
    top:0;
    right:-1px;
    min-width:20px;
    height:20px;
    padding:0 5px;
    border-radius:999px;
    display:grid;
    place-items:center;
    background:#efba27;
    color:#090b0e;
    font-size:11px;
    line-height:1;
    font-weight:950;
    border:2px solid #080b10;
  }
  #mobileCartBadge298[hidden]{display:none!important}
  body:has(#modalRoot .modalbg) #mobileCartBadge298,
  body.mobile256-menu-open #mobileCartBadge298{display:none!important}
}

@media(min-width:761px){#mobileCartBadge298{display:none!important}}
