/* GiraMesa Delivery APP UI 2I.1 — hotfix funcional estável */

/* A seta de instalação não faz parte do layout final. */
body.gm-app-ui-v2i1 #botaoInstalar{display:none!important}

/* Home: a busca grande não ocupa espaço. O banner continua sendo o primeiro conteúdo visível. */
body.gm-app-ui-v2i1 #paginaInicio .linha-busca{
  display:none!important;
  position:static!important;top:auto!important;left:auto!important;right:auto!important;
  margin:0!important;padding:0!important;transform:none!important;opacity:1!important;
}
body.gm-app-ui-v2i1 #paginaInicio #bannerPromocoes{margin-top:10px!important}

/* Categorias: sticky nativo. Nada de position:fixed, spacer ou troca brusca de geometria. */
body.gm-app-ui-v2i1 #paginaInicio #abasCategorias{
  position:sticky!important;
  top:var(--gm2i1-header-bottom,78px)!important;
  z-index:240!important;
  display:flex!important;align-items:center!important;gap:9px!important;
  width:auto!important;
  margin-left:-14px!important;margin-right:-14px!important;
  padding:7px 14px 9px!important;
  overflow-x:auto!important;overflow-y:hidden!important;
  background:rgba(247,245,249,.99)!important;
  border:0!important;border-bottom:1px solid rgba(34,25,52,.06)!important;
  box-shadow:none!important;
  backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important;
  scrollbar-width:none!important;
}
body.gm-app-ui-v2i1 #paginaInicio #abasCategorias::-webkit-scrollbar{display:none!important}
body.gm-app-ui-v2i1.gm2i1-docked #paginaInicio #abasCategorias{box-shadow:0 8px 18px rgba(34,25,52,.07)!important}
body.gm-app-ui-v2i1 #paginaInicio #abasCategorias>button{
  height:var(--gm2i1-cat-h,62px)!important;min-height:var(--gm2i1-cat-h,62px)!important;
  transition:height .14s linear,min-height .14s linear!important;
}

/* Lupa real da barra de categorias. Marcação protege contra a decoração automática da UI 2B. */
body.gm-app-ui-v2i1 #abasCategorias>.gm2i1-search-trigger{
  display:flex!important;align-items:center!important;justify-content:center!important;
  flex:0 0 var(--gm2i1-search-slot,0px)!important;
  width:var(--gm2i1-search-slot,0px)!important;min-width:var(--gm2i1-search-slot,0px)!important;max-width:54px!important;
  height:var(--gm2i1-cat-h,62px)!important;min-height:var(--gm2i1-cat-h,62px)!important;
  margin:0!important;padding:0!important;overflow:hidden!important;
  border:1px solid rgba(34,25,52,.12)!important;border-radius:17px!important;
  background:#fff!important;color:#221934!important;box-shadow:none!important;
  opacity:var(--gm2i1-search-opacity,0)!important;
  pointer-events:calc(var(--gm2i1-search-opacity,0) * 1)!important;
  transition:flex-basis .14s linear,width .14s linear,min-width .14s linear,opacity .14s linear,height .14s linear!important;
}
body.gm-app-ui-v2i1 #abasCategorias>.gm2i1-search-trigger svg{
  width:24px!important;height:24px!important;display:block!important;
  fill:none!important;stroke:#221934!important;stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important;
}
body.gm-app-ui-v2i1 #abasCategorias>.gm2i1-search-trigger .gm2b-cat-icon,
body.gm-app-ui-v2i1 #abasCategorias>.gm2i1-search-trigger .gm2b-cat-label{display:none!important}

/* Pesquisa: usa a .linha-busca ORIGINAL do app em um portal visual. Não existe segundo input. */
.gm2i1-search-portal{
  display:none;
  position:fixed;left:0;right:0;top:var(--gm2i1-header-bottom,78px);z-index:285;
  padding:8px 14px 9px;
  background:rgba(247,245,249,.995);
  border-bottom:1px solid rgba(34,25,52,.08);
  box-shadow:0 9px 20px rgba(34,25,52,.08);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
}
body.gm2i1-search-open .gm2i1-search-portal{display:block!important}
body.gm2i1-search-open .gm2i1-search-portal>.linha-busca{
  display:flex!important;align-items:center!important;gap:8px!important;
  width:min(100%,720px)!important;min-height:56px!important;height:56px!important;
  margin:0 auto!important;padding:0!important;position:static!important;transform:none!important;opacity:1!important;
}
body.gm2i1-search-open .gm2i1-search-portal .campo-busca{
  flex:1!important;width:auto!important;height:56px!important;min-height:56px!important;
  margin:0!important;padding-left:16px!important;border:1px solid #DED8E2!important;border-radius:18px!important;
  background:#fff!important;box-shadow:0 4px 14px rgba(34,25,52,.05)!important;
}
body.gm2i1-search-open .gm2i1-search-portal .campo-busca input{
  color:#221934!important;-webkit-text-fill-color:#221934!important;font-size:15px!important;font-weight:650!important;
}
body.gm2i1-search-open .gm2i1-search-portal .campo-busca input::placeholder{color:#9C95A3!important;-webkit-text-fill-color:#9C95A3!important}
body.gm2i1-search-open .gm2i1-search-portal .gm2b-search-filter{display:none!important}
.gm2i1-search-close{
  flex:0 0 48px!important;width:48px!important;height:48px!important;min-width:48px!important;
  display:grid!important;place-items:center!important;margin:0!important;padding:0!important;
  border:0!important;border-radius:15px!important;background:#F1EEF4!important;color:#221934!important;
}
.gm2i1-search-close svg{width:20px!important;height:20px!important;fill:none!important;stroke:#221934!important;stroke-width:2!important;stroke-linecap:round!important}
body.gm2i1-search-open #paginaInicio #abasCategorias{top:calc(var(--gm2i1-header-bottom,78px) + 73px)!important}

/* Modal: somente CSS. Nenhum listener/evento do app é interceptado. */
body.gm-app-ui-v2i1 #modalProduto{
  display:grid!important;place-items:center!important;
  padding:max(14px,env(safe-area-inset-top)) 12px max(14px,env(safe-area-inset-bottom))!important;
  background:rgba(21,15,31,.78)!important;
  backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important;
}
body.gm-app-ui-v2i1 #modalProduto[hidden]{display:none!important}
body.gm-app-ui-v2i1 #folhaProduto{
  position:relative!important;width:min(100%,560px)!important;max-width:560px!important;
  max-height:min(91dvh,810px)!important;height:auto!important;min-height:0!important;
  margin:0!important;padding:0!important;border:0!important;border-radius:30px!important;
  overflow:hidden!important;background:#fff!important;box-shadow:0 28px 80px rgba(12,8,20,.40)!important;
}
body.gm-app-ui-v2i1 #folhaProduto .corpo-modal{
  display:block!important;margin:0!important;padding:0!important;
  max-height:calc(min(91dvh,810px) - 76px)!important;overflow-y:auto!important;overflow-x:hidden!important;
  background:#fff!important;overscroll-behavior:contain!important;
}
body.gm-app-ui-v2i1 #folhaProduto .imagem-produto-modal{
  display:block!important;width:100%!important;height:270px!important;min-height:270px!important;max-height:270px!important;
  margin:0!important;padding:0!important;border:0!important;border-radius:0!important;
  object-fit:cover!important;object-position:center!important;background:#221934!important;
}
body.gm-app-ui-v2i1 #folhaProduto .cabecalho-modal{
  position:absolute!important;top:17px!important;left:17px!important;right:auto!important;z-index:35!important;
  width:50px!important;height:50px!important;margin:0!important;padding:0!important;pointer-events:none!important;
}
body.gm-app-ui-v2i1 #folhaProduto .cabecalho-modal>div{display:none!important}
body.gm-app-ui-v2i1 #folhaProduto .fechar-modal{
  pointer-events:auto!important;position:relative!important;width:50px!important;height:50px!important;min-width:50px!important;
  display:grid!important;place-items:center!important;margin:0!important;padding:0!important;
  border:0!important;border-radius:16px!important;background:#C7D630!important;color:#221934!important;
  box-shadow:0 8px 22px rgba(34,25,52,.16)!important;font-size:0!important;line-height:1!important;
}
body.gm-app-ui-v2i1 #folhaProduto .fechar-modal svg{display:none!important}
body.gm-app-ui-v2i1 #folhaProduto .fechar-modal::before,
body.gm-app-ui-v2i1 #folhaProduto .fechar-modal::after{
  content:''!important;display:block!important;position:absolute!important;left:24px!important;top:14px!important;
  width:2px!important;height:22px!important;border-radius:2px!important;background:#221934!important;transform-origin:center!important;
}
body.gm-app-ui-v2i1 #folhaProduto .fechar-modal::before{transform:rotate(45deg)!important}
body.gm-app-ui-v2i1 #folhaProduto .fechar-modal::after{transform:rotate(-45deg)!important}
body.gm-app-ui-v2i1 #folhaProduto .detalhes-produto-modal{
  position:relative!important;z-index:2!important;margin-top:-30px!important;
  padding:28px 26px 18px!important;border-radius:30px 30px 0 0!important;background:#fff!important;
}
body.gm-app-ui-v2i1 #folhaProduto .detalhes-produto-modal>h3{
  margin:0 0 6px!important;color:#221934!important;font-size:29px!important;line-height:1.04!important;font-weight:950!important;letter-spacing:-.035em!important;
}
body.gm-app-ui-v2i1 #folhaProduto .detalhes-produto-modal>p{margin:0 0 14px!important;color:#8C8494!important;font-size:13px!important;line-height:1.45!important;font-weight:500!important}
body.gm-app-ui-v2i1 #folhaProduto .preco-modal{margin:0 0 18px!important;color:#221934!important;font-size:29px!important;line-height:1!important;font-weight:950!important}
body.gm-app-ui-v2i1 #folhaProduto .grupo-opcoes{margin:0!important;padding:16px 0 12px!important;border-top:1px solid #EFEAF1!important}
body.gm-app-ui-v2i1 #folhaProduto .grupo-opcoes header{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin:0 0 10px!important;padding:0!important}
body.gm-app-ui-v2i1 #folhaProduto .grupo-opcoes h4{margin:0!important;color:#221934!important;font-size:18px!important;font-weight:900!important}
body.gm-app-ui-v2i1 #folhaProduto .grupo-opcoes header small{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:27px!important;padding:0 11px!important;
  border-radius:999px!important;background:#F0ECFA!important;color:#6850D8!important;font-size:10px!important;font-weight:900!important;text-transform:uppercase!important;
}
body.gm-app-ui-v2i1 #folhaProduto .grupo-opcoes label,
body.gm-app-ui-v2i1 #folhaProduto .grupo-opcoes .opcao-produto{
  min-height:58px!important;display:flex!important;align-items:center!important;gap:12px!important;
  margin:0 0 9px!important;padding:10px 14px!important;border:1px solid #E7E1E9!important;border-radius:16px!important;
  background:#F8F6F4!important;color:#221934!important;box-shadow:none!important;
}
body.gm-app-ui-v2i1 #folhaProduto .grupo-opcoes label:has(input:checked){border-color:#B7CC00!important;background:#F8FBDD!important}
body.gm-app-ui-v2i1 #folhaProduto .grupo-opcoes input{accent-color:#B7CC00!important}
body.gm-app-ui-v2i1 #folhaProduto .opcao-produto-texto{flex:1!important;min-width:0!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important}
body.gm-app-ui-v2i1 #folhaProduto .opcao-produto-texto strong{color:#221934!important;font-size:15px!important;font-weight:850!important}
body.gm-app-ui-v2i1 #folhaProduto .opcao-produto-texto b{color:#9A92A2!important;font-size:13px!important;font-weight:800!important;white-space:nowrap!important}
body.gm-app-ui-v2i1 #folhaProduto label:has(input:checked) .opcao-produto-texto b{color:#A7BD00!important}
body.gm-app-ui-v2i1 #folhaProduto .observacao-item{
  width:100%!important;min-height:76px!important;max-height:96px!important;margin:12px 0 2px!important;padding:13px 15px!important;
  border:1px solid #E2DCE5!important;border-radius:16px!important;background:#FBFAFC!important;color:#221934!important;font-size:13px!important;line-height:1.45!important;
}
body.gm-app-ui-v2i1 #folhaProduto .rodape-modal{
  position:sticky!important;bottom:0!important;z-index:12!important;padding:12px 18px max(12px,env(safe-area-inset-bottom))!important;
  background:#fff!important;border-top:1px solid #ECE7EE!important;box-shadow:0 -9px 24px rgba(34,25,52,.05)!important;
}
body.gm-app-ui-v2i1 #folhaProduto .rodape-adicionar{display:grid!important;grid-template-columns:145px minmax(0,1fr)!important;gap:12px!important;align-items:center!important}
body.gm-app-ui-v2i1 #folhaProduto .quantidade-modal{
  width:145px!important;height:56px!important;display:grid!important;grid-template-columns:46px 53px 46px!important;
  overflow:hidden!important;border:1px solid #E4DEE7!important;border-radius:17px!important;background:#F8F6F4!important;
}
body.gm-app-ui-v2i1 #folhaProduto .quantidade-modal button{width:46px!important;height:56px!important;min-width:46px!important;display:grid!important;place-items:center!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:#221934!important}
body.gm-app-ui-v2i1 #folhaProduto .quantidade-modal b{width:53px!important;height:56px!important;display:grid!important;place-items:center!important;margin:0!important;padding:0!important;background:#fff!important;color:#221934!important;font-size:18px!important;font-weight:900!important}
body.gm-app-ui-v2i1 #folhaProduto .botao-confirmar-produto{height:56px!important;min-width:0!important;padding:0 16px!important;border:0!important;border-radius:17px!important;background:#C7D630!important;color:#221934!important;font-size:16px!important;font-weight:950!important;white-space:nowrap!important}

/* Mantém a tela de pedidos compacta. */
body.gm-app-ui-v2i1 #paginaPedidos .cabecalho-pagina{padding-top:18px!important;padding-bottom:12px!important}

@media(max-width:430px){
  body.gm-app-ui-v2i1 #paginaInicio #abasCategorias{margin-left:-11px!important;margin-right:-11px!important;padding-left:11px!important;padding-right:11px!important}
  .gm2i1-search-portal{padding-left:10px!important;padding-right:10px!important}
  body.gm-app-ui-v2i1 #folhaProduto{width:calc(100% - 20px)!important;max-height:92dvh!important;border-radius:27px!important}
  body.gm-app-ui-v2i1 #folhaProduto .corpo-modal{max-height:calc(92dvh - 70px)!important}
  body.gm-app-ui-v2i1 #folhaProduto .imagem-produto-modal{height:235px!important;min-height:235px!important;max-height:235px!important}
  body.gm-app-ui-v2i1 #folhaProduto .detalhes-produto-modal{padding:24px 20px 15px!important;border-radius:27px 27px 0 0!important}
  body.gm-app-ui-v2i1 #folhaProduto .detalhes-produto-modal>h3{font-size:25px!important}
  body.gm-app-ui-v2i1 #folhaProduto .preco-modal{font-size:26px!important}
  body.gm-app-ui-v2i1 #folhaProduto .grupo-opcoes h4{font-size:16px!important}
  body.gm-app-ui-v2i1 #folhaProduto .grupo-opcoes label{min-height:54px!important;padding:9px 12px!important}
  body.gm-app-ui-v2i1 #folhaProduto .opcao-produto-texto strong{font-size:14px!important}
  body.gm-app-ui-v2i1 #folhaProduto .opcao-produto-texto b{font-size:12px!important}
  body.gm-app-ui-v2i1 #folhaProduto .rodape-modal{padding-left:12px!important;padding-right:12px!important}
  body.gm-app-ui-v2i1 #folhaProduto .rodape-adicionar{grid-template-columns:132px minmax(0,1fr)!important;gap:9px!important}
  body.gm-app-ui-v2i1 #folhaProduto .quantidade-modal{width:132px!important;grid-template-columns:42px 48px 42px!important}
  body.gm-app-ui-v2i1 #folhaProduto .quantidade-modal button{width:42px!important;min-width:42px!important}
  body.gm-app-ui-v2i1 #folhaProduto .quantidade-modal b{width:48px!important}
  body.gm-app-ui-v2i1 #folhaProduto .botao-confirmar-produto{font-size:14px!important;padding:0 11px!important}
}
