/* Perfil público da loja: topo do cardápio, ficha "Sobre a loja", lista de
   produtos e barra do pedido. A cor de destaque vem de --yellow (cor da
   empresa), então cada loja fica com a cara dela sem mudar o layout. */

.loja-topo{position:relative;margin:0 -16px 8px;padding-bottom:2px}
.loja-capa{position:relative;height:172px;overflow:hidden;background:var(--cm-card2,#15181a)}
.loja-topo.sem-capa .loja-capa{height:96px;background:linear-gradient(135deg,color-mix(in srgb,var(--yellow) 30%,var(--cm-card2,#15181a)),var(--cm-card2,#15181a))}
.loja-capa-img{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity .6s}
.loja-capa-img.ativa{opacity:1}
.loja-capa-fade{position:absolute;inset:0;background:linear-gradient(180deg,#0000 30%,color-mix(in srgb,var(--cm-bg,#0f1112) 80%,transparent) 78%,var(--cm-bg,#0f1112) 100%)}

.loja-identidade{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 16px;margin-top:-46px}
.loja-logo{width:92px;height:92px;border-radius:50%;overflow:hidden;background:#fff;border:4px solid var(--cm-bg,#0f1112);box-shadow:0 10px 26px #0008;margin-bottom:12px}
.loja-logo img{width:100%;height:100%;object-fit:cover;display:block}
.loja-identidade h1{margin:0;font-size:27px;line-height:1.15;font-weight:900;letter-spacing:-.5px}
.loja-sub{margin:5px 0 0;color:var(--cm-muted,#9aa2a7);font-size:13.5px}
.loja-estado{display:inline-flex;align-items:center;gap:7px;margin:9px 0 0;font-size:13px;font-weight:800;color:var(--cm-ink2,#cfd4d8)}
.loja-estado small{font-weight:600;color:var(--cm-muted,#9aa2a7)}
.loja-estado .ponto{width:9px;height:9px;border-radius:50%;background:var(--cm-ok-ink,#6be39b);box-shadow:0 0 0 3px color-mix(in srgb,var(--cm-ok-ink,#6be39b) 13%,transparent)}
.loja-estado.fechada{color:var(--cm-err-ink,#ff9d9d)}
.loja-estado.fechada .ponto{background:var(--cm-err-dot,#ff7a7a);box-shadow:0 0 0 3px color-mix(in srgb,var(--cm-err-dot,#ff7a7a) 13%,transparent)}
.loja-estado .ponto.neutro{background:var(--cm-muted,#8a9296);box-shadow:none}
.loja-ver-mais{margin-top:10px;padding:0;background:none;border:0;color:var(--cm-accent-ink,var(--yellow));font-weight:800;font-size:13.5px;cursor:pointer}
.loja-capa-pontos{position:absolute;left:0;right:0;bottom:56px;display:flex;justify-content:center;gap:6px}
.loja-capa-pontos span{width:7px;height:7px;border-radius:50%;background:#ffffff59}
.loja-capa-pontos span.ativo{background:var(--yellow)}
.loja-selos{display:flex;gap:8px;overflow-x:auto;padding:16px 16px 2px;scrollbar-width:none;justify-content:flex-start}
.loja-selos::-webkit-scrollbar{display:none}
.loja-selo{flex:0 0 auto;padding:7px 12px;border-radius:999px;background:var(--cm-card,#1b1e1f);border:1px solid var(--cm-line,#2c3133);color:var(--cm-ink,#e9ecef);font-size:12.5px;font-weight:700;white-space:nowrap}
.loja-selo.aberto{background:var(--cm-ok-bg,#123222);border-color:var(--cm-ok-line,#1d5a3a);color:var(--cm-ok-ink,#6be39b)}
.loja-selo.fechado{background:var(--cm-err-bg,#3a1f1f);border-color:var(--cm-err-line,#6a2c2c);color:var(--cm-err-ink,#ff9d9d)}
.loja-selo.bom{background:color-mix(in srgb,var(--yellow) 14%,var(--cm-card,#1b1e1f));border-color:color-mix(in srgb,var(--yellow) 40%,var(--cm-line,#2c3133));color:var(--cm-accent-ink,var(--yellow))}

/* Barra que aparece ao rolar, com o nome da loja sempre à vista */
.loja-barra{position:fixed;top:0;left:0;right:0;z-index:30;display:flex;align-items:center;gap:10px;padding:10px 16px;background:color-mix(in srgb,var(--cm-bg,#0f1112) 95%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid #22262800}
.loja-barra img{width:30px;height:30px;border-radius:9px;object-fit:cover;background:#fff}
.loja-barra strong{flex:1;min-width:0;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.loja-barra-busca{width:36px;height:36px;border-radius:50%;border:1px solid var(--cm-line,#2c3133);background:var(--cm-card,#1b1e1f);color:var(--cm-ink,#e9ecef);font-size:17px;cursor:pointer}

/* Ficha "Sobre a loja" */
.loja-ficha{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-end;justify-content:center}
.loja-ficha[hidden],.loja-barra[hidden]{display:none!important}
.loja-ficha-fundo{position:absolute;inset:0;background:#000a;backdrop-filter:blur(2px)}
.loja-ficha-painel{position:relative;width:min(560px,100%);max-height:88vh;display:flex;flex-direction:column;background:var(--cm-sheet,#141718);border-radius:22px 22px 0 0;box-shadow:0 -12px 40px #000a;animation:lojaSobe .22s ease-out}
@keyframes lojaSobe{from{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}
.loja-ficha-topo{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 18px 12px;border-bottom:1px solid var(--cm-line2,#22262a)}
.loja-ficha-topo h2{margin:0;font-size:19px}
.loja-ficha-fechar{width:34px;height:34px;border-radius:50%;border:1px solid var(--cm-line,#2c3133);background:var(--cm-card,#1b1e1f);color:var(--cm-ink,#e9ecef);cursor:pointer;font-size:14px}
.loja-ficha-corpo{overflow-y:auto;padding:6px 18px 24px}
.loja-ficha-corpo section{padding:16px 0;border-bottom:1px solid var(--cm-line2,#1e2224)}
.loja-ficha-corpo section:last-child{border-bottom:0}
.loja-ficha-corpo h3{margin:0 0 8px;font-size:14.5px;color:var(--cm-ink,#e9ecef)}
.loja-ficha-corpo p{margin:0 0 6px;color:var(--cm-ink3,#aab1b6);font-size:14px;line-height:1.45}
.loja-link{color:var(--cm-accent-ink,var(--yellow));font-weight:700;font-size:14px;text-decoration:none}
.loja-horarios,.loja-taxas,.loja-lista{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.loja-horarios li,.loja-taxas li{display:flex;justify-content:space-between;gap:12px;font-size:14px;color:var(--cm-ink3,#aab1b6)}
.loja-horarios li strong,.loja-taxas li strong{color:var(--cm-ink,#e9ecef);font-weight:700}
.loja-horarios li.hoje{color:var(--cm-accent-ink,var(--yellow))}
.loja-horarios li.hoje strong{color:var(--cm-accent-ink,var(--yellow))}
.loja-lista li{color:var(--cm-ink3,#aab1b6);font-size:14px;padding-left:16px;position:relative}
.loja-lista li::before{content:'•';position:absolute;left:2px;color:var(--cm-accent-ink,var(--yellow))}

/* Barra fixa do pedido, no rodapé */
.loja-pedido-barra{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:linear-gradient(color-mix(in srgb,var(--cm-bg,#0f1112) 0%,transparent),var(--cm-bg,#0f1112) 38%)}
.loja-pedido-barra a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;border-radius:16px;background:var(--yellow);color:var(--cm-on-accent,#111);font-weight:900;font-size:15px;text-decoration:none;box-shadow:0 10px 26px #0006}
.loja-pedido-barra .qtd{background:#0002;border-radius:999px;padding:3px 10px;font-size:13px}
body.tem-barra-pedido{padding-bottom:86px}

@media(min-width:720px){
  .loja-capa{height:230px}
  .loja-identidade h1{font-size:34px}
  .loja-logo{width:116px;height:116px}
  .loja-selos{justify-content:center}
}

/* ---- Grade de produtos: fotos grandes (é a foto que vende), com o texto
   mais limpo e o preço em destaque. ---- */
.loja-busca-linha{margin:14px 0 6px}
.loja-busca-linha .digital-search{width:100%}
.digital-product .digital-no-desc{display:none}
.digital-category-heading p{display:none}

/* Categorias grudadas no topo enquanto rola, com a atual destacada */
.digital-cat-nav{position:sticky;top:0;z-index:25;background:color-mix(in srgb,var(--cm-bg,#0f1112) 95%,transparent);backdrop-filter:blur(8px);margin:0 -16px;padding:10px 16px!important;transition:top .15s}
body.com-barra-loja .digital-cat-nav{top:52px}
.digital-cat-nav a.ativa{border-color:var(--yellow)!important;background:color-mix(in srgb,var(--yellow) 16%,var(--cm-card,#1b1e1f))!important;color:var(--cm-accent-ink,var(--yellow))!important}
.digital-category-section{scroll-margin-top:120px}

/* Tela do produto */
.loja-produto{position:fixed;inset:0;z-index:70;display:flex;align-items:flex-end;justify-content:center}
.loja-produto[hidden]{display:none!important}
.loja-produto-fundo{position:absolute;inset:0;background:#000b;backdrop-filter:blur(2px)}
.loja-produto-painel{position:relative;width:min(520px,100%);max-height:92vh;overflow-y:auto;background:var(--cm-sheet,#141718);border-radius:22px 22px 0 0;box-shadow:0 -12px 40px #000a;animation:lojaSobe .22s ease-out}
.loja-produto-fechar{position:absolute;top:12px;right:12px;z-index:2;width:36px;height:36px;border-radius:50%;border:0;background:#000000a6;color:#fff;font-size:15px;cursor:pointer}
.loja-produto-foto{height:230px;background:var(--cm-thumb,#181b1c);display:flex;align-items:center;justify-content:center;font-size:48px}
.loja-produto-foto img{width:100%;height:100%;object-fit:cover}
.loja-produto-corpo{padding:18px}
.loja-produto-corpo h2{margin:0 0 6px;font-size:21px}
.loja-produto-desc{margin:0 0 12px;color:var(--cm-muted,#9aa2a7);font-size:14px;line-height:1.5}
.loja-produto-preco{display:block;font-size:20px;color:var(--cm-accent-ink,var(--yellow));margin-bottom:16px}
.loja-produto-obs{display:grid;gap:6px;font-weight:700;font-size:13.5px;margin-bottom:16px}
.loja-produto-obs input{width:100%;box-sizing:border-box;padding:12px;border-radius:12px;border:1px solid var(--cm-line,#2c3133);background:var(--cm-field,#111314);color:var(--cm-ink,#f1f3f4);font:inherit}
.loja-produto-acoes{display:flex;gap:12px;align-items:center}
.loja-qtd{display:flex;align-items:center;gap:6px;border:1px solid var(--cm-line,#2c3133);border-radius:12px;padding:5px;background:var(--cm-field,#111314)}
.loja-qtd button{width:36px;height:36px;border-radius:9px;border:0;background:var(--cm-soft,#1f2324);color:var(--cm-ink,#e9ecef);font-size:19px;cursor:pointer}
.loja-qtd span{min-width:28px;text-align:center;font-weight:800}
.loja-produto-add{flex:1;padding:15px;border:0;border-radius:13px;background:var(--yellow);color:var(--cm-on-accent,#111);font-weight:900;font-size:15px;cursor:pointer}

/* Faixa "Mais pedidos" */
.loja-destaques{margin:18px 0 6px}
.loja-destaques h2{margin:0 0 10px;font-size:17px}
.loja-destaques-faixa{display:flex;gap:12px;overflow-x:auto;padding-bottom:6px;scrollbar-width:none}
.loja-destaques-faixa::-webkit-scrollbar{display:none}
.digital-product.loja-destaque{flex:0 0 150px!important;display:block!important;padding:0!important;border:1px solid var(--cm-line,#23272a)!important;border-radius:16px!important;overflow:hidden;background:var(--cm-card2,#15181a)!important;cursor:pointer;min-height:0!important}
.loja-destaque-foto{height:104px;background:var(--cm-thumb,#181b1c);display:flex;align-items:center;justify-content:center;font-size:28px}
.loja-destaque-foto img{width:100%;height:100%;object-fit:cover;display:block}
.digital-product.loja-destaque h3{margin:10px 10px 4px!important;font-size:13.5px!important;line-height:1.3;height:2.6em;overflow:hidden}
.digital-product.loja-destaque strong{display:block;margin:0 10px 12px;color:var(--cm-accent-ink,var(--yellow));font-size:15px}

/* Carrinho: item com miniatura, observação e controle de quantidade */
.loja-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--cm-line2,#1e2224)}
.loja-item:last-of-type{border-bottom:0}
.loja-item-foto{flex:0 0 54px;width:54px;height:54px;border-radius:12px;overflow:hidden;background:var(--cm-thumb,#181b1c);display:flex;align-items:center;justify-content:center;font-size:20px}
.loja-item-foto img{width:100%;height:100%;object-fit:cover}
.loja-item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.loja-item-nome{font-weight:700;font-size:14.5px;line-height:1.3}
.loja-item-obs{color:var(--cm-muted2,#8e969b);font-size:12.5px}
.loja-item-info strong{color:var(--cm-accent-ink,var(--yellow));font-size:14.5px}
.loja-item-qtd{display:flex;align-items:center;gap:4px;border:1px solid var(--cm-line,#2c3133);border-radius:11px;padding:4px;background:var(--cm-field,#111314)}
.loja-item-qtd form{margin:0}
.loja-item-qtd button{width:32px;height:32px;border-radius:8px;border:0;background:var(--cm-soft,#1f2324);color:var(--cm-ink,#e9ecef);font-size:16px;cursor:pointer}
.loja-item-qtd span{min-width:24px;text-align:center;font-weight:800;font-size:14px}

/* Finalizar pedido: passos numerados e resumo em destaque */
.dlv-checkout .dlv-box h3,.dlv-checkout>h2{letter-spacing:-.2px}
.dlv-checkout .dlv-box{border-radius:16px}
.dlv-resumo .total{font-size:21px}
.dlv-submit{box-shadow:0 10px 26px #0005}
.dlv-passo{display:flex;align-items:center;gap:9px;margin:2px 0 4px!important;font-size:15px!important}
.dlv-passo span{flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:var(--yellow);color:var(--cm-on-accent,#111);font-size:13px;font-weight:900;display:flex;align-items:center;justify-content:center}
.loja-segmento{margin:6px 0 0;font-size:12.5px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--cm-accent-ink,var(--yellow))}
.loja-apresentacao{margin:7px auto 0;max-width:34ch;color:var(--cm-ink2,#cfd4d8);font-size:14px;line-height:1.45}

/* Tela do produto: foto ao lado das informações no computador */
.loja-produto-loja{display:flex;flex-direction:column;gap:2px;padding:12px;border:1px solid var(--cm-line,#2c3133);border-radius:12px;margin-bottom:14px}
.loja-produto-loja-nome{font-weight:800;font-size:14px}
.loja-produto-loja-info{color:var(--cm-muted,#9aa2a7);font-size:13px}
.loja-produto-fechada{display:flex;flex-direction:column;gap:4px;padding:13px 14px;border-radius:12px;background:var(--cm-warn-bg,#3a2a1f);border:1px solid var(--cm-warn-line,#6a4a2c);color:var(--cm-warn-ink,#ffd7a8);font-size:13.5px;margin-bottom:14px}
.loja-produto-fechada b{color:var(--cm-warn-ink,#ffca7a);font-size:14.5px}
.loja-produto-obs span{display:flex;justify-content:space-between;align-items:center;gap:10px}
.loja-produto-obs small{font-weight:600;color:var(--cm-muted2,#8e969b)}
.loja-produto-obs textarea{width:100%;box-sizing:border-box;padding:12px;border-radius:12px;border:1px solid var(--cm-line,#2c3133);background:var(--cm-field,#111314);color:var(--cm-ink,#f1f3f4);font:inherit;resize:vertical}
.loja-produto-obs textarea:disabled,.loja-qtd button:disabled,.loja-produto-add:disabled{opacity:.5;cursor:not-allowed}
.loja-produto-add:disabled{background:var(--cm-soft2,#2a2e30);color:var(--cm-muted,#9aa2a7)}
@media(min-width:760px){
  .loja-produto{align-items:center}
  .loja-produto-painel{display:grid;grid-template-columns:minmax(280px,44%) 1fr;width:min(940px,94vw);max-height:86vh;border-radius:20px;overflow:hidden}
  .loja-produto-foto{height:100%;min-height:340px}
  .loja-produto-corpo{overflow-y:auto;max-height:86vh}
}

/* Ofertas: preço antigo riscado e selo de desconto */
.loja-preco-oferta{display:inline-flex;align-items:baseline;gap:8px;color:var(--cm-accent-ink,var(--yellow))}
.loja-preco-oferta small{color:var(--cm-muted2,#8e969b);font-size:.75em;font-weight:600;text-decoration:line-through}
.digital-product.em-oferta .digital-photo::after{content:'OFERTA';position:absolute;top:8px;left:8px;background:var(--yellow);color:var(--cm-on-accent,#111);font-size:10.5px;font-weight:900;letter-spacing:.4px;padding:3px 7px;border-radius:7px}
.digital-product.em-oferta .digital-photo{position:relative}
.loja-destaques-ofertas h2{color:var(--cm-accent-ink,var(--yellow))}
.loja-destaque-foto{position:relative}
.loja-selo-oferta{position:absolute;top:8px;left:8px;z-index:2;background:var(--yellow);color:var(--cm-on-accent,#111);font-size:11px;font-weight:900;padding:3px 7px;border-radius:7px}
.loja-produto-preco small{display:inline-block;margin-left:10px;color:var(--cm-muted2,#8e969b);font-size:.62em;font-weight:600;text-decoration:line-through}

/* Nota da loja */
.loja-nota{display:inline-flex;align-items:center;gap:5px;margin:8px 0 0;font-size:14px;color:var(--cm-ink,#e9ecef)}
.loja-nota .estrela{color:#ffc400}
.loja-nota b{font-weight:900}
.loja-nota small{color:var(--cm-muted,#9aa2a7)}
.loja-nota-linha{color:#ffc400;font-weight:800;margin-left:6px}

/* ---- Painel do pedido (carrinho) ----
   No computador fica encostado à direita, sempre à vista, e o cardápio
   continua inteiro do lado — o cliente vê o que já pediu e continua
   escolhendo. No celular abre deslizando por cima, e o que fica fixo na
   tela é só um botão pequeno, que não cobre o cardápio. */
/* ---- Painel do pedido (carrinho) ----
   O painel NUNCA fica fixo tomando espaço: ele desliza por cima do
   cardápio quando o cliente toca no botão do pedido, escurecendo o fundo.
   Assim o cardápio atrás nunca é espremido nem cortado — em celular,
   tablet ou computador. */
.loja-painel{position:fixed;inset:0;z-index:65;display:none}
.loja-painel.aberto{display:block}
.loja-painel-fundo{position:absolute;inset:0;background:#000a;backdrop-filter:blur(2px)}
.loja-painel .digital-cart{position:absolute;top:0;right:0;bottom:0;width:min(430px,94vw);margin:0;overflow-y:auto;border-radius:0;box-shadow:-14px 0 44px #000b;animation:lojaEntraDireita .22s ease-out}
@keyframes lojaEntraDireita{from{transform:translateX(30px);opacity:.7}to{transform:none;opacity:1}}
.loja-painel .digital-cart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;position:sticky;top:0;background:inherit;padding-bottom:10px;z-index:2}
.loja-painel .digital-cart-head small{display:block;color:var(--cm-muted,#9aa2a7);font-size:12.5px}
.loja-painel .digital-cart-head h2{margin:2px 0 0;font-size:18px}
.loja-painel-fechar{width:34px;height:34px;border-radius:50%;border:1px solid var(--cm-line,#2c3133);background:var(--cm-card,#1b1e1f);color:var(--cm-ink,#e9ecef);cursor:pointer;font-size:14px;flex:0 0 auto}

/* Botão do pedido: pequeno, no canto, em qualquer tamanho de tela */
.loja-pedido-barra{position:fixed;left:auto;right:16px;bottom:0;z-index:40;background:none;padding:0 0 calc(16px + env(safe-area-inset-bottom))}
.loja-pedido-barra button{display:flex;align-items:center;gap:8px;padding:14px 18px;border:0;border-radius:999px;background:var(--yellow);color:var(--cm-on-accent,#111);font-weight:900;font-size:14.5px;cursor:pointer;box-shadow:0 10px 26px #0007}
.loja-pedido-barra .qtd{background:#0002;border-radius:999px;padding:2px 9px;font-size:13px}
body.tem-barra-pedido{padding-bottom:0}

/* Resumo dentro do painel do pedido */
.loja-painel .loja-resumo{display:grid!important;grid-template-columns:1fr;gap:8px;margin:14px 0}
.loja-painel .loja-resumo>div[hidden]{display:none!important}
.loja-painel .loja-resumo>div{display:flex!important;flex-direction:row!important;align-items:baseline;justify-content:space-between;gap:12px;font-size:14px;color:var(--cm-ink3,#aab1b6);width:100%}
.loja-resumo strong{color:var(--cm-ink,#e9ecef);font-weight:700}
.loja-resumo .desconto{color:var(--cm-ok-ink,#6be39b)}
.loja-resumo-total{padding-top:10px;border-top:1px dashed var(--cm-line3,#3a4043);font-size:16px!important}
.loja-resumo-total strong{color:var(--cm-accent-ink,var(--yellow));font-size:19px;font-weight:900}
.dlv-continuar{margin-top:4px!important}

/* Adicionais do produto */
.loja-grupo{margin-bottom:16px;padding:14px;border:1px solid var(--cm-line,#2c3133);border-radius:14px;background:var(--cm-field,#111314)}
.loja-grupo.falta{border-color:var(--cm-warn-line,#6a4a2c);background:var(--cm-warn-bg,#1b1714)}
.loja-grupo-topo{display:flex;align-items:center;gap:8px;margin-bottom:2px}
.loja-grupo-topo b{font-size:14.5px}
.loja-grupo-obrig{font-size:10.5px;font-weight:900;letter-spacing:.4px;text-transform:uppercase;background:var(--yellow);color:var(--cm-on-accent,#111);border-radius:6px;padding:2px 6px}
.loja-grupo>small{display:block;color:var(--cm-muted2,#8e969b);font-size:12.5px;margin-bottom:10px}
.loja-opcao{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--cm-line2,#1e2224);font-size:14px;cursor:pointer}
.loja-opcao:first-of-type{border-top:0}
.loja-opcao input{width:18px;height:18px;accent-color:var(--yellow);flex:0 0 auto}
.loja-opcao span{flex:1}
.loja-opcao b{color:var(--cm-accent-ink,var(--yellow));font-size:13.5px}
.loja-opcao b.gratis{color:var(--cm-ok-ink,#6be39b);font-weight:600}
.loja-item-add{color:var(--cm-ink2,#cfd4d8)!important}

/* ---- Itens dentro das categorias: linha com descrição ao lado ----
   A vitrine de cima (ofertas, mais pedidos) continua com foto grande, que
   é o que chama o cliente. Já dentro da categoria o item vira uma linha:
   nome, descrição curta e preço à esquerda, foto menor à direita — dá para
   ler o que vem no prato sem abrir, e cabe muito mais item na tela. */
.digital-category-section .digital-grid{display:block;gap:0}
.digital-category-section .digital-product{display:grid;grid-template-columns:1fr 112px;align-items:start;gap:14px;padding:16px 2px;margin:0;background:none!important;border:0;border-bottom:1px solid var(--cm-line2,#1e2224);border-radius:0;box-shadow:none;overflow:visible;transform:none!important;min-height:0}
.digital-category-section .digital-product:last-child{border-bottom:0}
.digital-category-section .digital-product:hover{box-shadow:none;border-color:transparent;border-bottom-color:var(--cm-line,#2c3133)}
.digital-category-section .digital-photo{order:2;width:112px;height:112px;aspect-ratio:auto;border-radius:12px;background:var(--cm-thumb,#181b1c)}
.digital-category-section .digital-product-info{order:1;padding:0;display:flex;flex-direction:column;gap:5px}
.digital-category-section .digital-product-info h3{font-size:15.5px;line-height:1.25;margin:0}
.digital-category-section .digital-favorite{display:none}
.digital-category-section .digital-product-desc{margin:0;min-height:0;color:var(--cm-muted2,#8e969b);font-size:13px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.digital-category-section .digital-product-bottom{display:flex;align-items:center;gap:10px;margin-top:2px}
.digital-category-section .digital-product-info strong{font-size:16px}
.digital-category-section .digital-product-more{display:none}
/* Só o "+" fica visível: o toque na linha já abre a tela do produto. */
.digital-category-section .digital-details-btn{display:none}
.digital-category-section .digital-product-actions{display:block;margin:0}
/* O "+" fica no canto de baixo da foto, como nos aplicativos de delivery */
.digital-category-section .digital-product-actions{position:absolute;right:6px;top:86px;z-index:2}
.digital-category-section .digital-add-btn{position:relative;min-height:0;width:38px;height:38px;padding:0;border-radius:50%;font-size:0;line-height:0;overflow:hidden}
.digital-category-section .digital-add-btn::after{content:'+';position:absolute;inset:0;display:grid;place-items:center;font-size:21px;font-weight:900;line-height:1}
.digital-category-section .digital-product{position:relative}
.digital-category-section .loja-esgotado-selo{position:static}
.digital-category-section .digital-product.em-oferta .digital-photo::after{top:6px;left:6px;font-size:9.5px}
.digital-category-heading{margin:26px 0 2px}
@media(min-width:860px){
  .digital-category-section .digital-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:34px;row-gap:0}
}
@media(max-width:430px){
  .digital-category-section .digital-photo{width:92px;height:92px}
  .digital-category-section .digital-product{grid-template-columns:1fr 92px;gap:12px}
  .digital-category-section .digital-product-actions{top:70px}
}

/* ---- Barra de navegação no rodapé (estilo aplicativo) ----
   Cardápio, busca, pedidos e perfil da loja sempre à mão. Ela ocupa só o
   rodapé: o cardápio continua com a largura inteira, nada é espremido. */
.loja-abas{position:fixed;left:0;right:0;bottom:0;z-index:45;display:grid;grid-template-columns:repeat(4,1fr);gap:2px;padding:6px 4px calc(6px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--cm-bg,#0f1112) 97%,transparent);backdrop-filter:blur(10px);border-top:1px solid var(--cm-line2,#22262a)}
.loja-aba{display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px 2px;border:0;background:none;color:var(--cm-muted2,#8e969b);font:700 11px inherit;cursor:pointer}
.loja-aba svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.loja-aba.ativa{color:var(--cm-accent-ink,var(--yellow))}
.loja-aba:active{opacity:.6}
body.tem-abas{padding-bottom:calc(74px + env(safe-area-inset-bottom))}
/* O botão do pedido sobe para não encostar na barra de baixo */
body.tem-abas .loja-pedido-barra{bottom:calc(78px + env(safe-area-inset-bottom));padding-bottom:0}
body.tem-abas.tem-barra-pedido{padding-bottom:calc(136px + env(safe-area-inset-bottom))}
body.tem-abas .dlv-checkout{scroll-margin-bottom:90px}

/* Em telas menores o cardápio usa 14px de margem lateral: a capa e a barra
   de categorias acompanham, senão sobra uma tirinha rolando de lado. */
@media(max-width:900px){
  .loja-topo,.digital-cat-nav{margin-left:-14px;margin-right:-14px}
}

/* No computador a barra vira uma pílula centralizada, flutuando: o cardápio
   continua inteiro atrás dela. */
@media(min-width:900px){
  .loja-abas{left:50%;right:auto;transform:translateX(-50%);bottom:18px;width:min(520px,92vw);border:1px solid var(--cm-line2,#22262a);border-radius:18px;padding:6px;box-shadow:0 14px 34px #0008}
  body.tem-abas{padding-bottom:110px}
  body.tem-abas .loja-pedido-barra{bottom:100px}
  body.tem-abas.tem-barra-pedido{padding-bottom:170px}
}

/* ---- Etiquetas do produto (serve N pessoas, vegano, sem lactose...) ----
   Na lista aparecem só os ícones, para não roubar espaço da descrição; na
   tela do produto aparecem com o nome escrito por extenso. */
.loja-etiquetas{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:2px 0}
.loja-etiqueta{display:inline-flex;align-items:center;gap:5px;padding:3px 7px;border-radius:8px;background:var(--cm-card,#1b1e1f);border:1px solid var(--cm-line,#2c3133);color:var(--cm-ink3,#aab1b6);font-size:11.5px;font-weight:700;line-height:1.5}
.loja-etiqueta.forte{color:var(--cm-ink2,#cfd4d8)}
.loja-etiquetas.grande{margin:0 0 14px}
.loja-etiquetas.grande .loja-etiqueta{font-size:12.5px;padding:5px 10px}
.loja-etiquetas[hidden]{display:none!important}

/* Esgotado do dia: o item continua à vista, só que apagado e sem pedir */
.digital-product.esgotado .digital-photo,.digital-product.esgotado .digital-product-info h3,.digital-product.esgotado .digital-product-desc,.digital-product.esgotado .digital-product-info strong{opacity:.45}
.digital-product.esgotado{cursor:default}
.loja-esgotado-selo{display:inline-block;padding:5px 10px;border-radius:9px;background:var(--cm-soft2,#2a2e30);color:var(--cm-muted,#9aa2a7);font-size:11.5px;font-weight:900;letter-spacing:.3px;text-transform:uppercase}
.loja-produto-esgotado{display:flex;flex-direction:column;gap:4px;padding:13px 14px;border-radius:12px;background:var(--cm-soft2,#2a2e30);border:1px solid var(--cm-line3,#3a4043);color:var(--cm-ink2,#cfd4d8);font-size:13.5px;margin-bottom:14px}
.loja-produto-esgotado b{color:var(--cm-ink,#e9ecef);font-size:14.5px}
.loja-produto-esgotado[hidden]{display:none!important}

/* Montar pizza no cardápio do cliente.
   Segue a mesma paleta do resto da loja e usa var(--yellow) como todo o resto,
   para o dia em que a loja puder ter a cor da marca. */
.loja-pizza-card .digital-product-actions{grid-template-columns:1fr}
.loja-pizza-card .digital-photo{display:grid;place-items:center;font-size:52px}
.loja-pizza-apartir{display:block;line-height:1.15}
.loja-pizza-apartir small{display:block;font-size:11px;font-weight:600;color:var(--cm-muted2,#8e969b)}
.loja-pizza-promo{margin:0 0 12px;padding:10px 13px;border-radius:12px;background:var(--cm-warn-bg,#1d1a0e);border:1px solid var(--yellow,#ffc400);font-size:13px}
.loja-opcao-nome{flex:1;display:flex;flex-direction:column;gap:2px}
.loja-opcao-nome small{color:var(--cm-muted2,#8e969b);font-size:11.5px;line-height:1.35}
.loja-opcao-preco{flex:0 0 auto;color:var(--cm-accent-ink,var(--yellow,#ffc400));font-weight:700;font-size:13.5px}
/* Sabor além do limite fica visível, mas apagado: sumir da lista faria o
   cliente achar que o cardápio mudou sozinho enquanto ele escolhia. */
.loja-opcao.bloqueada{opacity:.4;cursor:not-allowed}

/* ==========================================================================
   Aparência do cardápio: ícones, vídeo do topo e o montador de pizza.
   Tudo usa as variáveis --cm-* (o tema da loja) e var(--yellow) (a cor de destaque).
   ========================================================================== */

/* ---- Ícones de linha no lugar dos emojis ---- */
.cm-ico{width:1.1em;height:1.1em;flex:0 0 auto;vertical-align:-.18em}
.digital-cat-nav a span .cm-ico{width:22px;height:22px}
.digital-category-icon .cm-ico{width:24px;height:24px}
.cm-sem-foto{display:grid;place-items:center;color:var(--cm-muted2,#8e969b)}
.cm-sem-foto .cm-ico{width:40px;height:40px;opacity:.6}
.loja-destaque-foto .cm-sem-foto .cm-ico{width:34px;height:34px}
.loja-item-foto .cm-sem-foto .cm-ico{width:24px;height:24px}
.loja-produto-foto .cm-sem-foto .cm-ico{width:64px;height:64px}
.cm-pizza{display:block;width:100%;height:100%}
.loja-pizza-card .digital-photo .cm-pizza{width:72%;max-width:86px;height:auto;filter:drop-shadow(0 4px 8px rgba(0,0,0,.28))}
.digital-category-section .loja-pizza-card .digital-photo .cm-pizza{max-width:76px}

/* ---- Topo: vídeo curto em loop e cor própria ---- */
.loja-capa{isolation:isolate}
.loja-capa-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;background:var(--cm-topo,var(--cm-card2,#15181a))}
.loja-capa-fade{z-index:2}
.loja-capa-pontos{z-index:3}
.loja-topo.com-cor-topo .loja-capa{background:var(--cm-topo)}
.loja-topo.sem-capa.com-cor-topo .loja-capa{background:linear-gradient(135deg,var(--cm-topo),color-mix(in srgb,var(--cm-topo) 62%,#000))}

/* ---- Montar pizza ---- */
.pz-painel{overscroll-behavior:contain}
@media(min-width:760px){
  .pz-painel{display:block!important;width:min(640px,94vw)!important;max-height:90vh!important;overflow-y:auto!important;border-radius:22px!important;grid-template-columns:none!important}
  .pz-painel .loja-produto-corpo{max-height:none!important;overflow:visible!important}
}
.pz-topo{display:flex;align-items:center;gap:16px;margin:2px 0 14px;padding-right:34px}
.pz-desenho{flex:0 0 112px;width:112px;height:112px;filter:drop-shadow(0 8px 14px rgba(0,0,0,.3))}
.pz-titulo{min-width:0}
.pz-titulo h2{margin:0 0 2px}
.pz-titulo .loja-produto-desc{margin:0}
.pz-resumo{margin-top:9px;font-size:13px;display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;line-height:1.35}
.pz-bolinha{display:inline-flex;align-items:center;gap:6px;font-weight:800}
.pz-bolinha i{width:10px;height:10px;border-radius:50%;display:inline-block;flex:0 0 auto}
.pz-dica{color:var(--cm-muted,#9aa2a7);font-weight:600}

.pz-etapa .loja-grupo-topo{flex-wrap:wrap;gap:8px;margin-bottom:8px}
.pz-passo{flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:var(--yellow);color:var(--cm-on-accent,#111);font-size:13px;font-weight:900;display:flex;align-items:center;justify-content:center}
.pz-contagem{margin-left:auto;font-weight:800;color:var(--cm-ink2,#cfd4d8);font-size:12.5px}
.loja-grupo-obrig.ok{background:var(--cm-ok-bg,#123222);color:var(--cm-ok-ink,#6be39b)}
.pz-regra{margin:0 0 10px;padding:8px 11px;border-left:3px solid var(--yellow);border-radius:4px;background:var(--cm-card,#1b1e1f);font-size:12.5px;line-height:1.4;color:var(--cm-ink3,#aab1b6)}
.pz-regra[hidden],.pz-busca[hidden],.pz-sabor[hidden],.pz-grupo-nome[hidden]{display:none!important}
.pz-busca{width:100%;box-sizing:border-box;padding:11px 12px;margin:0 0 10px;border-radius:12px;border:1px solid var(--cm-line,#2c3133);background:var(--cm-field,#111314);color:var(--cm-ink,#e9ecef);font:inherit}
.pz-lista{display:grid;gap:8px}
.pz-grupo-nome{margin:10px 0 0;font-size:11.5px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--cm-muted,#9aa2a7)}
.pz-sabor{position:relative;display:flex;align-items:center;gap:12px;padding:12px 14px;border:1.5px solid var(--cm-line,#2c3133);border-radius:14px;background:var(--cm-card,#1b1e1f);cursor:pointer;transition:border-color .15s,background .15s}
.pz-sabor input{position:absolute;opacity:0;pointer-events:none}
.pz-marca{flex:0 0 24px;width:24px;height:24px;border-radius:50%;border:2px solid var(--cm-line3,#3a4043);display:grid;place-items:center;transition:background .15s,border-color .15s}
.pz-sabor input[type=checkbox]+.pz-marca{border-radius:8px}
.pz-sabor.marcada{border-color:var(--yellow);background:color-mix(in srgb,var(--yellow) 11%,var(--cm-card,#1b1e1f))}
.pz-sabor.marcada .pz-marca{background:var(--yellow);border-color:var(--yellow)}
.pz-sabor.marcada .pz-marca::after{content:'';width:6px;height:11px;border:solid var(--cm-on-accent,#111);border-width:0 2.5px 2.5px 0;transform:rotate(45deg) translate(-1px,-1px)}
.pz-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.pz-info b{font-size:14.5px;line-height:1.25}
.pz-info small{color:var(--cm-muted2,#8e969b);font-size:12px;line-height:1.35}
.pz-preco{flex:0 0 auto;font-weight:800;color:var(--cm-accent-ink,var(--yellow));font-size:13.5px}
.pz-sabor.bloqueada{opacity:.4;cursor:not-allowed}
.pz-sabor:focus-within{outline:2px solid var(--yellow);outline-offset:2px}
.pz-rodape{position:sticky;bottom:0;margin:16px -18px -18px;padding:12px 18px calc(12px + env(safe-area-inset-bottom));background:var(--cm-sheet,#141718);border-top:1px solid var(--cm-line2,#22262a);z-index:3}
@media(max-width:380px){.pz-desenho{flex-basis:86px;width:86px;height:86px}}
