/* ATFood visual system 2026 */
:root{
  --at-green:#073b31;
  --at-green-2:#0f5a46;
  --at-green-3:#1f7a60;
  --at-orange:#f25518;
  --at-orange-2:#ff6a00;
  --at-cream:#fff5ed;
  --at-mint:#eaf6f1;
  --at-bg:#f7f8f6;
  --at-surface:#ffffff;
  --at-text:#14251f;
  --at-muted:#66746f;
  --at-line:#e4e9e6;
  --at-danger:#dc3d32;
  --at-shadow:0 18px 48px rgba(7,59,49,.10);
  --at-shadow-sm:0 8px 24px rgba(7,59,49,.08);
  --at-radius:22px;
}
html{background:var(--at-bg);}
body{
  margin:0!important;
  min-height:100vh;
  background:
    radial-gradient(circle at 8% -8%,rgba(242,85,24,.08),transparent 28rem),
    radial-gradient(circle at 105% 18%,rgba(15,90,70,.08),transparent 32rem),
    var(--at-bg)!important;
  color:var(--at-text)!important;
  font-family:Manrope,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
}body,button,input,select,textarea{font-family:inherit!important;}
button,input,select,textarea{outline:none;}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  box-shadow:0 0 0 4px rgba(242,85,24,.16)!important;
}
img{max-width:100%;}
#loading-page-bb{min-height:100vh;}
.page-visible{opacity:1!important;}
.page-hidden{opacity:0;}
.btn-main,.btn-primary,.btn-success,#card_continuar,.card_add{
  background:linear-gradient(135deg,var(--at-orange-2),var(--at-orange))!important;
  border:none!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(242,85,24,.24)!important;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important;
}
.btn-main:hover,.btn-primary:hover,.btn-success:hover,#card_continuar:hover,.card_add:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 28px rgba(242,85,24,.30)!important;
}
.btn-ghost{
  border:1px solid var(--at-line)!important;
  color:var(--at-green)!important;
  background:#fff!important;
}
input,select,textarea,.form-control,.form-select,.input{
  border:1px solid #d8e1dc!important;
  background:#fff!important;
  color:var(--at-text)!important;
  border-radius:14px!important;
}input:focus,select:focus,textarea:focus,.form-control:focus,.form-select:focus,.input:focus{
  border-color:rgba(15,90,70,.48)!important;
  box-shadow:0 0 0 4px rgba(15,90,70,.09)!important;
}
::placeholder{color:#93a19b!important;}
.home-shell,.store-shell,.products-shell{
  width:min(100%,1180px)!important;
  max-width:1180px!important;
  margin:0 auto!important;
  padding:18px 18px 92px!important;
}
.home-header,.products-header,#cabecalho{
  min-height:66px!important;
  position:sticky!important;
  top:10px!important;
  z-index:30!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  margin:0 0 18px!important;
  padding:12px 16px!important;
  border:1px solid rgba(7,59,49,.08)!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.94)!important;
  color:var(--at-green)!important;
  box-shadow:var(--at-shadow-sm)!important;
  backdrop-filter:blur(16px);
}
.home-header #nome-delivery,.products-header #nome_categoria,#nome_estabelecimento,#detalhes,#pedidos_lbl{
  color:var(--at-green)!important;
  font-size:18px!important;
  font-weight:800!important;
  letter-spacing:-.02em;
}#menu-button,#menu_btn,#voltar_btn{
  display:grid!important;
  place-items:center!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  padding:9px!important;
  border:1px solid var(--at-line)!important;
  border-radius:13px!important;
  background:#fff!important;
  box-shadow:none!important;
  cursor:pointer!important;
}
#menu-button img,#menu_btn,#voltar_btn img,#voltar_btn{
  object-fit:contain!important;
}
.home-header::after{
  content:"Pedidos fáceis • entregas rápidas";
  margin-left:auto;
  color:var(--at-muted);
  font-size:12px;
  font-weight:700;
}
.home-banner{
  position:relative!important;
  height:clamp(190px,30vw,320px)!important;
  overflow:hidden!important;
  margin:0 0 18px!important;
  border:0!important;
  border-radius:28px!important;
  background:linear-gradient(135deg,var(--at-green),#0b4e3f)!important;
  box-shadow:var(--at-shadow)!important;
}
.home-banner img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  opacity:.78!important;
  transform:scale(1.01);
}.home-banner::before{
  content:"Sabores que\A chegam rápido\A até você.";
  white-space:pre;
  position:absolute;
  left:clamp(20px,5vw,54px);
  top:50%;
  z-index:2;
  transform:translateY(-58%);
  max-width:440px;
  color:#fff;
  font-size:clamp(24px,4vw,48px);
  line-height:1.02;
  font-weight:800;
  letter-spacing:-.045em;
  text-shadow:0 2px 18px rgba(0,0,0,.18);
}
.home-banner::after{
  content:"Pedir agora →";
  position:absolute;
  left:clamp(20px,5vw,54px);
  bottom:clamp(18px,4vw,38px);
  z-index:2;
  padding:10px 16px;
  border-radius:12px;
  color:#fff;
  background:var(--at-orange);
  font-size:13px;
  font-weight:800;
  box-shadow:0 10px 24px rgba(242,85,24,.28);
}
.search-wrap,.products-search-wrap{
  position:relative!important;
  margin:0 0 16px!important;
  padding:6px!important;
  border:1px solid var(--at-line)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:var(--at-shadow-sm)!important;
}.search-wrap::before,.products-search-wrap::before{
  content:"⌕";
  position:absolute;
  left:18px;
  top:50%;
  transform:translateY(-52%);
  z-index:2;
  color:var(--at-green-2);
  font-size:24px;
  font-weight:800;
}
.search-input,.products-search-input{
  height:48px!important;
  width:100%!important;
  padding:0 16px 0 44px!important;
  border:0!important;
  border-radius:14px!important;
  background:#f4f7f5!important;
  color:var(--at-text)!important;
  font-size:14px!important;
}
.tela-categorias{
  display:flex!important;
  gap:10px!important;
  margin:0 -2px 10px!important;
  padding:4px 2px 8px!important;
  overflow-x:auto!important;
  background:transparent!important;
  scrollbar-width:none;
}
.tela-categorias::-webkit-scrollbar{display:none;}
.card-categoria{
  min-width:78px!important;
  padding:4px 2px!important;
  color:var(--at-text)!important;
}
.card-categoria i{
  display:grid!important;
  place-items:center!important;
  width:54px!important;
  height:54px!important;
  margin:0 auto!important;
  border-radius:50%!important;
  background:var(--at-cream)!important;
  color:var(--at-orange)!important;
  font-size:23px!important;
  box-shadow:inset 0 0 0 1px rgba(242,85,24,.10);
}.card-text{
  margin-top:7px!important;
  color:var(--at-text)!important;
  font-size:11px!important;
  font-weight:800!important;
}
.scroll-menu{
  display:flex!important;
  gap:8px!important;
  margin-bottom:18px!important;
  padding:2px 0 8px!important;
  overflow-x:auto!important;
  background:transparent!important;
}
.scroll-item{
  padding:8px 13px!important;
  border:1px solid var(--at-line)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:var(--at-green)!important;
  font-size:12px!important;
  font-weight:700!important;
  box-shadow:none!important;
}
.scroll-item i{color:var(--at-orange)!important;}
#lista-lojas{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(270px,1fr));
  gap:14px;
}
.store-item,.product-item,.categorias,.meu_card,.produtos{
  margin:0!important;
  padding:14px!important;
  border:1px solid var(--at-line)!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:var(--at-shadow-sm)!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
}
.store-item:hover,.product-item:hover,.categorias:hover,.produtos:hover{
  transform:translateY(-2px);
  border-color:rgba(242,85,24,.24)!important;
  box-shadow:var(--at-shadow)!important;
}.store-grid,.product-grid{
  display:grid!important;
  grid-template-columns:92px 1fr!important;
  gap:13px!important;
  align-items:center!important;
}
.store-thumb,.product-thumb,.imagem_categorias,.imagem_produtos{
  width:92px!important;
  height:92px!important;
  border-radius:16px!important;
  object-fit:cover!important;
  background:#edf2ef;
}
.store-title,.product-title,.titulo_categorias,.titulo_produtos{
  color:var(--at-text)!important;
  font-size:15px!important;
  font-weight:800!important;
  line-height:1.2!important;
}
.store-subtitle,.product-subtitle,.subtitulo_categorias,.subtitulo_produtos{
  color:var(--at-muted)!important;
  font-size:12px!important;
  line-height:1.4!important;
}
.store-meta,.product-meta,.texto_adicional_categorias,.texto_adicional_produtos{
  margin-top:7px!important;
  color:var(--at-green-2)!important;
  font-size:12px!important;
  font-weight:800!important;
}
.status-open{color:#11845f!important;}
.status-closed{color:var(--at-danger)!important;}
#lista-produtos{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:12px;
}
.products-shell .product-item{margin-bottom:0!important;}.store-shell #banner{
  width:100%!important;
  height:clamp(190px,34vw,320px)!important;
  margin:0 0 14px!important;
  border:0!important;
  border-radius:28px!important;
  object-fit:cover!important;
  box-shadow:var(--at-shadow)!important;
}
#barra_info{
  min-height:58px!important;
  height:auto!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin:0 0 16px!important;
  padding:10px 12px!important;
  border:1px solid var(--at-line)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:var(--at-shadow-sm)!important;
}
#barra_info #status{
  display:inline-flex!important;
  padding:6px 10px!important;
  border-radius:999px!important;
  background:var(--at-mint)!important;
  color:var(--at-green-2)!important;
  font-size:12px!important;
  font-style:normal!important;
  font-weight:800!important;
}
#entrega_info{flex:1;color:var(--at-muted)!important;font-style:normal!important;}
#pagamento_btn,#info_btn,#avaliacoes_btn{
  width:38px!important;
  height:38px!important;
  padding:8px!important;
  border:1px solid var(--at-line)!important;
  border-radius:12px!important;
  background:#fff!important;
}.categorias{margin-bottom:10px!important;}
.categorias .row{gap:13px!important;flex-wrap:nowrap!important;}
.categorias .col-4{width:92px!important;flex:0 0 92px!important;}
.categorias .col-8{flex:1!important;}
#btn_carrinho,.cart-bar{
  left:50%!important;
  right:auto!important;
  bottom:14px!important;
  width:min(calc(100% - 28px),760px)!important;
  transform:translateX(-50%)!important;
  padding:12px 16px!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,var(--at-orange-2),var(--at-orange))!important;
  box-shadow:0 18px 40px rgba(242,85,24,.28)!important;
}
#btn_carrinho .container,.cart-bar-inner{max-width:none!important;}
#total_lbl,#total_carrinho{color:#fff!important;}
.menu-modal,.modal{background:rgba(5,34,28,.55)!important;backdrop-filter:blur(6px);}
.menu-modal-card,.modal-content{
  overflow:hidden;
  border:1px solid rgba(255,255,255,.28)!important;
  border-radius:24px!important;
  background:#fff!important;
  box-shadow:0 24px 70px rgba(7,59,49,.25)!important;
}
.modal-header{
  border-bottom:1px solid var(--at-line)!important;
  background:#fbfcfb!important;
}
.modal-title{color:var(--at-green)!important;font-weight:800!important;}#img_produto{
  width:min(92%,520px)!important;
  max-height:410px!important;
  border-radius:26px!important;
  object-fit:cover!important;
  box-shadow:var(--at-shadow)!important;
}
#id_da_tela.center{background:transparent!important;}
#id_da_tela #nome_produto{
  max-width:720px;
  padding:0 16px;
  color:var(--at-text)!important;
  text-align:center;
}
#tela #Linha{
  max-width:720px;
  margin:0 auto;
  padding:12px 14px!important;
  border:1px solid var(--at-line)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:var(--at-shadow-sm)!important;
}
#lbl_total{color:var(--at-green)!important;font-size:22px!important;}
#menos_btn,#mais_btn,#adicionar,#remover{
  border:1px solid var(--at-line)!important;
  background:#fff!important;
  color:var(--at-green)!important;
  box-shadow:none!important;
}
#mais_btn,#adicionar{background:var(--at-mint)!important;color:var(--at-green-2)!important;}
#obs_box{max-width:720px;margin:8px auto 0;display:block;}
#container_adicionais{max-width:760px!important;margin:0 auto 7rem!important;}
#card_adicionais{padding:16px!important;}
.form-check{
  padding:11px 4px!important;
  border-bottom:1px dashed var(--at-line)!important;
}
.form-check-input{accent-color:var(--at-orange);}
#tela_btn_add{bottom:14px!important;}
.card_add{
  width:min(calc(100% - 28px),720px)!important;
  min-height:54px!important;
  border-radius:18px!important;
}#totais_container,.meu_card{border-radius:20px!important;}
#card_continuar{
  min-height:52px!important;
  border-radius:16px!important;
}
.pedido-topo{margin-bottom:8px!important;}
.pedido-id{color:var(--at-green)!important;font-weight:800!important;}
.pedido-status{
  border-radius:999px!important;
  padding:5px 9px!important;
  font-size:11px!important;
  font-weight:800!important;
}
.status-aberto{color:#b83f0e!important;background:#fff0e8!important;border-color:#ffd5c1!important;}
.status-preparo{color:#9b6500!important;background:#fff7d7!important;border-color:#f9e9a3!important;}
.status-entrega{color:#0a684f!important;background:#e7f6f0!important;border-color:#c6eadc!important;}
.status-entregue{color:#126647!important;background:#e8f7ef!important;border-color:#ccebdc!important;}
.status-cancelado{color:#b5362d!important;background:#ffeded!important;border-color:#ffd0cc!important;}
#id_do_container{box-sizing:border-box;}
.auth-wrap{
  min-height:100vh!important;
  display:grid!important;
  place-items:center!important;
  padding:28px 18px!important;
  background:
    radial-gradient(circle at 16% 10%,rgba(242,85,24,.13),transparent 26rem),
    linear-gradient(145deg,#f8faf8,#eff6f2)!important;
}
.auth-card{
  width:min(100%,460px)!important;
  padding:28px!important;
  border:1px solid rgba(7,59,49,.09)!important;
  border-radius:28px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 28px 80px rgba(7,59,49,.14)!important;
}
.logo-box img{width:min(100%,300px)!important;max-height:84px!important;object-fit:contain!important;}
.auth-title{color:var(--at-green)!important;font-size:26px!important;letter-spacing:-.035em!important;}.auth-subtitle{color:var(--at-muted)!important;line-height:1.55!important;}
.field label{color:var(--at-text)!important;font-weight:800!important;}
.help-text a{color:var(--at-orange)!important;font-weight:800!important;}
#base{
  min-height:100vh!important;
  padding:28px 18px!important;
  background:
    radial-gradient(circle at 12% 0,rgba(242,85,24,.12),transparent 24rem),
    var(--at-bg)!important;
}
#tela_formulario{
  width:min(100%,560px)!important;
  padding:18px 24px 84px!important;
  border:1px solid var(--at-line)!important;
  border-radius:28px!important;
  background:#fff!important;
  box-shadow:var(--at-shadow)!important;
}
#box_logo{background:transparent!important;}
#box_logo #logo{width:min(90%,310px)!important;max-height:100px!important;object-fit:contain!important;}
#card_continuar{
  width:min(calc(100% - 36px),520px)!important;
  bottom:18px!important;
}
.floating-card{border-radius:20px!important;box-shadow:var(--at-shadow)!important;}
@media (max-width:700px){
  .home-shell,.store-shell,.products-shell{padding:10px 10px 88px!important;}
  .home-header,.products-header,#cabecalho{top:6px!important;border-radius:16px!important;margin-bottom:12px!important;}
  .home-header::after{display:none;}
  .home-banner{height:210px!important;border-radius:22px!important;}
  .home-banner::before{font-size:28px;left:20px;}
  .home-banner::after{left:20px;bottom:20px;}
  #lista-lojas,#lista-produtos{grid-template-columns:1fr;}
  .store-grid,.product-grid{grid-template-columns:82px 1fr!important;}
  .store-thumb,.product-thumb,.imagem_categorias,.imagem_produtos{width:82px!important;height:82px!important;}
}@media (max-width:520px){
  .home-header #nome-delivery,.products-header #nome_categoria,#nome_estabelecimento,#detalhes,#pedidos_lbl{font-size:16px!important;}
  .home-banner{height:190px!important;}
  .home-banner::before{font-size:25px;}
  .card-categoria{min-width:72px!important;}
  .card-categoria i{width:50px!important;height:50px!important;}
  #barra_info{flex-wrap:wrap!important;}
  #entrega_info{min-width:calc(100% - 56px);}
  .auth-card{padding:22px 18px!important;border-radius:22px!important;}
  #tela_formulario{padding-left:18px!important;padding-right:18px!important;}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important;}
}.atfood-visually-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.atfood-header-logo{
  width:170px!important;
  max-width:48vw!important;
  height:46px!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.delivery-location{
  width:100%;
  display:grid;
  grid-template-columns:42px 1fr auto;
  align-items:center;
  gap:10px;
  margin:0 0 14px;
  padding:10px 12px;
  border:1px solid var(--at-line);
  border-radius:17px;
  background:#fff;
  color:var(--at-text);
  text-align:left;
  box-shadow:0 6px 20px rgba(7,59,49,.05);
}
.delivery-location-icon{
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border-radius:13px;
  background:var(--at-mint);
  color:var(--at-green-2);
}.delivery-location small{
  display:block;
  margin-bottom:1px;
  color:var(--at-muted);
  font-size:10px;
  font-weight:700;
}
.delivery-location strong{
  display:block;
  color:var(--at-green);
  font-size:13px;
  font-weight:800;
}
.delivery-location-arrow{color:#9aa7a1;font-size:11px;}
.section-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin:4px 2px 12px;
}
.section-heading h1{
  margin:2px 0 0;
  color:var(--at-green);
  font-size:20px;
  line-height:1.12;
  font-weight:800;
  letter-spacing:-.035em;
}
.section-kicker{
  color:var(--at-orange);
  font-size:10px;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.section-link{color:var(--at-muted);font-size:11px;font-weight:700;}
@media(max-width:520px){
  .atfood-header-logo{width:142px!important;height:42px!important;}
  .section-link{display:none;}
}.order-progress{
  display:grid;
  grid-template-columns:auto 1fr auto 1fr auto 1fr auto;
  align-items:start;
  gap:5px;
  margin:12px 0 16px;
  padding:12px 8px 6px;
  border:1px solid var(--at-line);
  border-radius:16px;
  background:#fbfcfb;
}
.order-step{
  display:grid;
  justify-items:center;
  gap:5px;
  min-width:48px;
  color:#a1aca7;
}
.order-step span{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:50%;
  background:#e8eeeb;
  color:#89958f;
  font-size:10px;
}
.order-step small{
  max-width:62px;
  color:inherit;
  font-size:9px;
  font-weight:800;
  text-align:center;
  line-height:1.15;
}
.order-step.done{color:var(--at-green-2);}
.order-step.done span{background:var(--at-green-2);color:#fff;}
.order-line{
  height:3px;
  margin-top:13px;
  border-radius:999px;
  background:#dfe6e2;
}
.order-line.done{background:var(--at-green-3);}
@media(max-width:430px){
  .order-progress{gap:3px;padding-left:4px;padding-right:4px;}
  .order-step{min-width:42px;}
  .order-step small{font-size:8px;}
}/* Mobile containment and PWA prompt */
.auth-wrap,.auth-card,.logo-box,.install-card{box-sizing:border-box!important;}
.auth-wrap{width:100%!important;overflow-x:hidden!important;}
.auth-card{
  width:100%!important;
  max-width:460px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  overflow:hidden!important;
}
.logo-box img{
  width:min(100%,280px)!important;
  max-width:280px!important;
  height:auto!important;
  object-fit:contain!important;
}
.install-card{
  left:50%!important;
  right:auto!important;
  width:min(calc(100% - 28px),440px)!important;
  max-width:440px!important;
  transform:translateX(-50%)!important;
  border:1px solid var(--at-line)!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 18px 48px rgba(7,59,49,.16)!important;
}
.install-card p{color:var(--at-green)!important;font-weight:700!important;}
@media(max-width:420px){
  .auth-wrap{padding-left:14px!important;padding-right:14px!important;}
  .auth-card{padding-left:18px!important;padding-right:18px!important;}
  .logo-box img{width:min(100%,250px)!important;}
}.atfood-bottom-nav{
  position:fixed;
  left:50%;
  bottom:12px;
  z-index:35;
  width:min(calc(100% - 22px),720px);
  min-height:66px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:4px;
  padding:7px 8px;
  transform:translateX(-50%);
  border:1px solid rgba(7,59,49,.09);
  border-radius:21px;
  background:rgba(255,255,255,.96);
  box-shadow:0 16px 42px rgba(7,59,49,.16);
  backdrop-filter:blur(16px);
}
.atfood-bottom-nav a,.atfood-bottom-nav button{
  display:grid;
  place-items:center;
  align-content:center;
  gap:3px;
  min-width:0;
  border:0;
  border-radius:14px;
  background:transparent;
  color:#7b8882;
  text-decoration:none;
  font-size:10px;
  font-weight:800;
}
.atfood-bottom-nav i{font-size:16px;}
.atfood-bottom-nav .active{
  background:var(--at-cream);
  color:var(--at-orange);
}
.home-shell{padding-bottom:104px!important;}
@media(min-width:900px){
  .atfood-bottom-nav{width:min(calc(100% - 40px),760px);}
}