/* V75.140 — Home nova (modelo G): topo na cor do app com "Bora / comer?", busca, onda em S com "Hoje eu quero…",
   categorias com moldura de pincel, banner com chamada e o resto em fundo claro. Cores pelo tema do Master:
   fundo do topo = --cor-primaria, texto = --cor-sobre-primaria, destaque (olhos, "comer?", "Hoje eu quero…") = --cor-acento-logo. */
.so-leitor{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.titulo-display{font-family:Anton,'Bebas Neue',Impact,'Arial Narrow',sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.01em;font-size:1.45rem;line-height:1.05;color:#1d1d1d}

/* Topo: não gruda mais (é alto); quem gruda são os filtros (V75.132) */
.header-vitrina.hero-vitrina{position:relative;top:auto;z-index:2;background:var(--cor-primaria);color:var(--cor-sobre-primaria);box-shadow:none;padding:calc(14px + env(safe-area-inset-top)) 18px 0}
.hero-vitrina > *{max-width:600px;margin-left:auto;margin-right:auto}
/* V75.146: sem logo e sem sino. "Entregar em" em cima; alfinete e bairro centralizados embaixo; a cidade das lojas à direita */
.hero-vitrina .localizacao-bar{display:flex;align-items:center;gap:10px;margin:2px auto 8px;min-height:40px}
.loc-esq{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto}
.hero-vitrina .loc-esq small{display:block;color:var(--cor-sobre-primaria);opacity:.85;font-size:.66rem;font-weight:800;letter-spacing:.08em;line-height:1.2;text-transform:uppercase}
.loc-linha{display:flex;align-items:center;gap:6px;min-width:0}
.hero-vitrina .icon-location{color:var(--cor-sobre-primaria);display:flex;flex:none;margin-left:-1px}
.hero-vitrina .loc-linha strong{color:var(--cor-sobre-primaria);font-size:1rem;font-weight:700;line-height:1.25;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.localizacao-bar:has(#btn-cidade:not([hidden])) .end-cidade{display:none}
.hero-vitrina .btn-cidade{flex:none;max-width:52%;color:var(--cor-sobre-primaria);border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.12)}
.btn-cidade .ic{flex:none;color:currentColor}
.btn-cidade .ic:last-child{opacity:.9}
.hv-titulo{margin:4px auto 0;font-family:Anton,'Bebas Neue',Impact,'Arial Narrow',sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(3rem,15vw,4.1rem);line-height:.92;letter-spacing:.005em}
.hv-titulo span{display:block}
.hv-c2{color:var(--cor-acento-logo,#efb638)}
.hv-sub{margin:8px auto 14px;font-size:.95rem;opacity:.95}
.hero-vitrina .search-bar-container{position:relative;z-index:3;background:#fff;border:0;border-radius:16px;height:52px;padding:0 6px 0 16px;box-shadow:0 8px 20px rgba(0,0,0,.2);margin-bottom:-36px}
.hero-vitrina .search-bar-container:focus-within{box-shadow:0 8px 20px rgba(0,0,0,.2),0 0 0 3px var(--cor-acento-logo,#efb638)}
.hero-vitrina .search-bar-container input{font-size:1rem;color:#222}
.hero-vitrina .btn-search{color:#666}

/* Onda em S: o topo desce pela esquerda e sobe pela direita, passando por baixo da busca */
.hv-onda{position:relative;height:130px;line-height:0;pointer-events:none}
.hv-onda-forma{position:absolute;inset:0;width:100%;height:100%}
.hv-onda-forma path{fill:var(--cor-primaria)}
.hv-onda-texto{position:absolute;left:0;top:0;width:390px;max-width:100%;height:130px}
.hv-onda-texto text{font:italic 800 19px Georgia,'Times New Roman',serif;fill:var(--cor-acento-logo,#efb638)}

/* Conteúdo sobe um pouco por cima da onda */
.container-vitrina{position:relative;margin-top:-6px;padding-top:0} /* V75.146: as categorias não encostam na curva */
.secao-categorias{margin-bottom:16px}
.secao-categorias .carrossel-horizontal{gap:10px;justify-content:flex-start}
/* V75.146: grade fixa 4 x 2 (sem deslizar); as outras categorias ficam em "Ver todas" */
.secao-categorias #carrossel-categorias{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 8px;overflow:visible;padding:4px 0 6px}
#carrossel-categorias button.item-circulo-cat{width:auto;min-width:0}
#carrossel-categorias .cat-pincel{width:100%;height:auto;aspect-ratio:1/0.92;border-radius:16px}
#carrossel-categorias .item-circulo-cat span:not(.cat-pincel){font-size:.66rem;letter-spacing:-.01em;left:2px;right:2px;bottom:6px}
#carrossel-categorias .item-circulo-cat:nth-child(n+9){display:none}

/* V75.146 — Categorias: foto no quadrado todo, com o nome dentro (degradê escuro embaixo). A escolhida ganha borda na cor do app. */
button.item-circulo-cat{position:relative;min-width:86px;width:86px}
.cat-pincel{position:relative;display:block;width:86px;height:86px;border-radius:18px;overflow:hidden;background:#eee;box-shadow:0 3px 8px rgba(0,0,0,.14)}
.cat-pincel svg{display:none}
.item-circulo-cat .cat-pincel img{position:relative;width:100%;height:100%;border:0;border-radius:0;box-shadow:none;object-fit:cover;padding:0;transform:scale(1.12)}
.cat-pincel::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 42%,rgba(0,0,0,.74) 100%)}
.item-circulo-cat span:not(.cat-pincel){position:absolute;left:4px;right:4px;bottom:7px;z-index:2;margin:0;color:#fff!important;font-size:.78rem;font-weight:800;line-height:1.15;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.55);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
button.item-circulo-cat.ativa img{outline:none}
button.item-circulo-cat.ativa .cat-pincel{box-shadow:0 0 0 3px var(--cor-primaria),0 3px 8px rgba(0,0,0,.14)}
button.item-circulo-cat:focus-visible{outline:none}
button.item-circulo-cat:focus-visible .cat-pincel{box-shadow:0 0 0 3px var(--cor-acento-logo,#efb638),0 3px 8px rgba(0,0,0,.14)}

/* Banner: foto inteira, degradê escuro à esquerda, título em destaque e a chamada */
.secao-banners{margin-top:0}
.secao-banners .carrossel-banners{padding:2px 2px 14px;margin-bottom:-8px}
.secao-banners .carrossel-banners{align-items:flex-start}
/* V75.148: altura de até 220px e a imagem inteira, sem cortar, esticar nem faixas: o card toma a largura da própria arte (e encolhe na mesma proporção se a arte for mais larga que a tela) */
.secao-banners .banner-card{flex:0 0 auto;width:auto;max-width:100%;height:auto;aspect-ratio:auto;min-width:160px;border-radius:20px;box-shadow:0 3px 8px rgba(0,0,0,.12)}
.secao-banners .banner-card img,.secao-banners .banner-card video{display:block;width:auto;height:auto;max-width:100%;max-height:220px;object-fit:contain}
.banner-overlay{top:0;bottom:0;right:auto;width:68%;padding:16px;justify-content:center;gap:6px;background:linear-gradient(90deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.5) 62%,rgba(0,0,0,0) 100%)}
.banner-overlay strong{font-family:Anton,'Bebas Neue',Impact,'Arial Narrow',sans-serif;font-weight:400;text-transform:uppercase;font-size:1.45rem;line-height:1.02;color:var(--cor-acento-logo,#efb638)}
.banner-overlay span{font-size:.8rem}
.banner-cta{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;margin-top:6px;padding:8px 14px;border-radius:999px;background:var(--cor-primaria);color:var(--cor-sobre-primaria)!important;font-size:.85rem!important;font-weight:800;opacity:1!important}
.banner-pontos{display:flex;justify-content:center;gap:6px;margin-top:6px;min-height:7px}
.banner-pontos i{width:7px;height:7px;border-radius:9px;background:#d4d4d8;transition:width .2s,background .2s}
.banner-pontos i.on{width:18px;background:var(--cor-primaria)}

/* Títulos e filtros no fundo claro */
#secao-destaques .titulo-categoria,.secao-lista .titulo-secao-main{margin-bottom:10px}

/* Cidade em espera (V75.76): a tela de trava continua igual, sem o título e a onda */
body.cidade-trava .hv-titulo,body.cidade-trava .hv-sub,body.cidade-trava .hv-onda{display:none!important}
body.cidade-trava .container-vitrina{margin-top:0}
@media (min-width:700px){.hv-titulo{font-size:4.2rem}}

/* V75.141 — parte de baixo como o modelo C: filtros, "DESTAQUES" e cartões grandes com a foto de capa */
#filtros-chips{margin-top:6px}
#secao-destaques{margin-top:4px}
#secao-destaques .titulo-categoria{margin:4px 0 10px}

/* Cartão com foto (destaques e lista) */
.lc{display:flex;flex-direction:column;align-items:stretch;padding:0;gap:0;border:0;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.07);text-align:left;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}
.lc:active{transform:scale(.98)}
.lc-foto{position:relative;display:block;height:132px;background:#eee;overflow:hidden}
.lc-foto .lc-capa{position:absolute;inset:0;border-radius:0;border:0;padding:0;width:100%;height:100%;object-fit:cover;display:block}
.lc-foto.sem-capa .lc-borrado{border-radius:0;border:0;padding:0;position:absolute;inset:-20px;width:calc(100% + 40px);height:calc(100% + 40px);object-fit:cover;filter:blur(18px) saturate(1.2);opacity:.55}
.lc-foto.sem-capa .logo-loja-card{position:absolute;left:50%;top:50%;width:76px;height:76px;margin:0;transform:translate(-50%,-50%);border-radius:18px;object-fit:cover;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.15)}
.lc .linha-cupom{position:absolute;left:10px;bottom:10px;display:inline-flex;align-items:center;gap:4px;margin:0;max-width:calc(100% - 20px);background:#fff;border-radius:8px;padding:3px 8px;font-size:.74rem;font-weight:800;color:var(--cor-primaria-texto,#B85C00);box-shadow:0 1px 4px rgba(0,0,0,.15)}
.lc .linha-cupom .ticket-ic{width:14px;height:14px;flex:none}
.lc .linha-cupom span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lc .badge-fechada{position:absolute;right:10px;top:10px;background:rgba(0,0,0,.72);color:#fff;font-size:.72rem;padding:3px 9px;border-radius:999px}
.lc-super{flex:none;font-size:.62rem;font-weight:900;letter-spacing:.01em;color:var(--cor-primaria-texto,#B85C00);border:1.5px solid currentColor;border-radius:6px;padding:0 5px;line-height:1.45}
.lc-linha{display:flex;align-items:center;flex-wrap:wrap;gap:0 5px;color:#69717b;font-size:.8rem;margin-top:3px}
.lc-linha .star{color:#69717b;font-weight:600}
.lc-linha .star i{color:#f5a623;font-size:.72rem}
.lc-linha .dot{color:#b3b8be}
.lc-linha .envio-gratis{color:#1a9a4b;font-weight:700}

/* Lista */
.lista-lojas-v2{gap:14px}
.loja-cartao.lc .info-loja-card{display:block;padding:10px 12px 12px;min-width:0}
.loja-cartao.lc .linha-titulo{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;min-width:0}
.loja-cartao.lc .linha-titulo h4{margin:0;font-size:1rem;font-weight:800;color:#1d1d1d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.loja-cartao.lc.loja-fechada{opacity:1;filter:none}
.loja-cartao.lc.loja-fechada .lc-foto img{filter:grayscale(1);opacity:.7}
.loja-cartao.lc.loja-fechada .info-loja-card{opacity:.65}

/* Destaques: carrossel de cartões grandes, com o próximo aparecendo na borda */
#carrossel-lojas{gap:12px;padding:2px 2px 12px;scroll-snap-type:x mandatory;justify-content:flex-start}
.item-loja-destaque.lc{flex:0 0 78%;max-width:300px;min-width:0;scroll-snap-align:start;border:0}
.item-loja-destaque.lc .lc-foto{height:118px}
.item-loja-destaque.lc .lc-info{display:flex;align-items:center;gap:6px;padding:10px 12px 0;min-width:0}
.item-loja-destaque.lc strong{width:auto;margin:0;text-align:left;min-width:0;font-size:.95rem;font-weight:800;color:#1d1d1d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.item-loja-destaque.lc .lc-linha{padding:0 12px 12px;font-size:.8rem;font-weight:400;color:#69717b}
@media (min-width:768px){.lc:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.1)}}

/* V75.142 — capa + logo no cartão: a logo fica por cima da borda da foto, à esquerda do nome */
.lc{position:relative}
.lc .lc-logo{position:absolute;left:12px;width:54px;height:54px;border-radius:14px;object-fit:cover;background:#fff;border:3px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.18);padding:0;margin:0;z-index:1}
.loja-cartao.lc .lc-logo{top:calc(132px - 30px)}
.item-loja-destaque.lc .lc-logo{top:calc(118px - 30px);width:50px;height:50px}
.loja-cartao.lc.com-logo .info-loja-card{padding-left:78px}
.item-loja-destaque.lc.com-logo .lc-info,.item-loja-destaque.lc.com-logo .lc-linha{padding-left:72px}
.lc.com-logo .linha-cupom{left:auto;right:10px}
.loja-cartao.lc.loja-fechada .lc-logo{filter:grayscale(1)}

/* "Ver todas" */
.ver-todas{border:0;background:none;padding:6px 2px;font:inherit;font-size:.88rem;font-weight:800;color:var(--cor-primaria-texto,#B85C00);cursor:pointer;display:inline-flex;align-items:center;gap:4px}
.ver-todas span{font-size:1.15rem;line-height:1}
.ver-todas[hidden]{display:none!important} /* V75.146: antes o display do botão vencia o hidden e o "Ver todas" aparecia sem ter mais nada para ver */
.secao-categorias{position:relative}
.ver-todas-cat{position:absolute;right:2px;top:-34px;z-index:2}
/* V75.146: com o aviso da cidade (demonstração/espera) entre a onda e as categorias, o "Ver todas" desce para a linha das categorias */
.cidade-banner:not([hidden]) ~ .secao-categorias .ver-todas-cat{position:static;display:flex;margin:0 0 6px auto}
.titulo-linha{display:flex;align-items:center;justify-content:space-between;gap:10px}
.titulo-linha .titulo-categoria{margin:4px 0 10px}

/* Folha de baixo para cima */
.folha-ver{position:fixed;inset:0;z-index:1200}
.folha-fundo{position:absolute;inset:0;background:rgba(0,0,0,.45);opacity:0;transition:opacity .2s}
.folha-caixa{position:absolute;left:0;right:0;bottom:0;max-height:86vh;display:flex;flex-direction:column;background:#f7f7f7;border-radius:22px 22px 0 0;transform:translateY(100%);transition:transform .22s ease;padding-bottom:env(safe-area-inset-bottom);max-width:600px;margin:0 auto}
.folha-ver.aberta .folha-fundo{opacity:1}
.folha-ver.aberta .folha-caixa{transform:none}
.folha-topo{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 8px}
.folha-topo h3{margin:0}
.folha-x{width:40px;height:40px;border:0;border-radius:50%;background:#e9e9ec;font-size:1.5rem;line-height:1;color:#333;cursor:pointer}
.folha-corpo{overflow-y:auto;padding:6px 16px 22px}
.folha-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:14px 8px;justify-items:center}
.folha-cats .item-circulo-cat{min-width:0;width:92px}
.folha-cats .cat-pincel{width:92px;height:92px}
.folha-lojas{display:flex;flex-direction:column;gap:14px}
.folha-lojas .item-loja-destaque.lc{flex:none;max-width:none;width:100%}
.folha-lojas .item-loja-destaque.lc .lc-foto{height:132px}
.folha-lojas .item-loja-destaque.lc .lc-logo{top:calc(132px - 30px)}
html.folha-aberta,html.folha-aberta body{overflow:hidden}
@media (prefers-reduced-motion:reduce){.folha-caixa,.folha-fundo{transition:none}}
.item-loja-destaque.lc .lc-linha{flex-wrap:wrap;white-space:normal;overflow:visible} /* V75.161: texto não é mais cortado, quebra de linha */

/* V75.142 — busca: resultados logo abaixo da busca (o resto da vitrine some enquanto busca) */
body.buscando .secao-categorias,body.buscando .secao-banners,body.buscando #secao-destaques,body.buscando .hv-onda-texto{display:none!important}
body.buscando .secao-lista{padding-top:4px}
body.buscando .hv-onda{height:64px}
.lc-achou{display:flex;align-items:center;gap:8px;margin-top:9px;padding:7px 10px 7px 7px;border-radius:12px;background:var(--cor-primaria-suave,#fff3e6);color:#2b2b2b;font-size:.82rem;min-width:0}
.lc-achou img,.lc-achou>i{flex:none;width:34px;height:34px;border-radius:8px;object-fit:cover;background:#fff;display:grid;place-items:center;color:#999;padding:0;margin:0;border:0}
.lc-achou-txt{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lc-achou-txt b{font-weight:800}
.lc-achou-mais{flex:none;font-size:.72rem;font-weight:800;color:var(--cor-primaria-texto,#B85C00);background:#fff;border-radius:999px;padding:2px 7px}
.lc-achou-ir{flex:none;font-size:1.2rem;line-height:1;color:var(--cor-primaria-texto,#B85C00)}
.loja-cartao.lc.com-logo .lc-achou{margin-left:-66px}

/* V75.154 — banner de loja: logo + título opcional ao lado, sem fundo (a legibilidade vem da sombra do texto, não de caixa) */
.banner-loja{position:absolute;top:12px;left:12px;right:12px;display:flex;align-items:center;gap:10px;background:none}
.secao-banners .banner-card .banner-loja-logo{flex:0 0 auto;width:44px;height:44px;max-width:44px;max-height:44px;border-radius:50%;object-fit:cover;background:#fff;border:2px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.35)}
.banner-loja-texto{min-width:0;display:flex;flex-direction:column;gap:3px;background:none;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.9),0 0 10px rgba(0,0,0,.55)}
.banner-loja-texto strong{background:none;font-family:Anton,'Bebas Neue',Impact,'Arial Narrow',sans-serif;font-weight:400;text-transform:uppercase;font-size:1.3rem;line-height:1.05;color:#fff;overflow-wrap:anywhere}
.banner-loja-texto span{background:none;font-size:.8rem;line-height:1.25}
.banner-loja-texto span.banner-cta{background:var(--cor-primaria);text-shadow:none}

.lc-linha .envio-sem{color:#b3261e;font-weight:700}
.lc-linha span{white-space:nowrap}

/* V75.193 — anúncio comprado pela loja */
.secao-banners .banner-card{position:relative}
.secao-banners .banner-patrocinado{position:absolute;top:10px;right:12px;z-index:2;background:rgba(0,0,0,.58);color:#fff;font-size:10px;font-weight:800;letter-spacing:.02em;line-height:1.4;padding:2px 8px;border-radius:99px;pointer-events:none}

/* V75.201 — anúncio da loja igual à prévia do painel: legenda embaixo (só com a foto de capa), "Patrocinado" em cima à direita */
.secao-banners .banner-pat-legenda{position:absolute;left:0;right:0;bottom:0;z-index:1;display:flex;flex-direction:column;gap:2px;padding:44px 16px 13px;background:linear-gradient(0deg,rgba(0,0,0,.66),rgba(0,0,0,0));color:#fff;pointer-events:none;border-radius:0 0 20px 20px}
.secao-banners .banner-pat-legenda strong{font-size:1.15rem;font-weight:800;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 3px rgba(0,0,0,.5)}
.secao-banners .banner-pat-legenda span{font-size:.85rem;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.95}
.secao-banners .banner-card.banner-pat{overflow:hidden}

/* V75.202 — logo pequena ao lado do nome no anúncio com foto de capa */
.secao-banners .banner-pat-legenda.com-logo{flex-direction:row;align-items:center;gap:10px}
.secao-banners .banner-card .banner-pat-logo{flex:0 0 auto;width:40px;height:40px;max-width:40px;max-height:40px;border-radius:50%;object-fit:cover;background:#fff;border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.35)}
.secao-banners .banner-pat-txt{min-width:0;display:flex;flex-direction:column;gap:2px}
.secao-banners .banner-pat-legenda span{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
