@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;0,800;1,600;1,700&display=swap');

:root { --vinho:#7e1d2d; --vinho-escuro:#4e101d; --coral:#c9503a; --tinta:#241b19; --texto:#554843; --suave:#887873; --creme:#f8f3eb; --papel:#fffdf9; --linha:#e5d8ca; --verde:#2e714c; --erro:#a92f35; --raio:18px; --sombra:0 2px 3px rgb(61 38 24 / .04),0 16px 36px rgb(61 38 24 / .08); }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; background:var(--creme); color:var(--tinta); font:16px/1.55 'DM Sans',system-ui,sans-serif; } body::before { content:''; position:fixed; z-index:-1; inset:0; opacity:.25; pointer-events:none; background-image:radial-gradient(#c8b5a3 .55px,transparent .55px); background-size:7px 7px; } h1,h2,h3,p { margin-top:0; } h1,h2,h3 { line-height:1.05; } a { color:inherit; }.conteudo { width:min(1180px,calc(100% - 3rem)); margin-inline:auto; }

/* Cabeçalho */







.topo { position:sticky; top:0; z-index:10; background:rgb(255 253 249 / .88); border-bottom:1px solid rgb(229 216 202 / .85); backdrop-filter:blur(14px); }.topo__linha { min-height:78px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.4rem 1.5rem; padding:.5rem 0; }
.topo__servico { display:flex; flex-wrap:wrap; align-items:center; gap:.3rem 1.4rem; color:var(--texto); font-size:.75rem; }
.topo__servico small { color:var(--suave); }
.estado-loja { display:inline-flex; align-items:center; gap:.35rem; font-weight:600; }
.estado-loja i { color:var(--verde); font-size:.7em; font-style:normal; }
.estado-loja--fechado i { color:var(--erro); }
.zap-link { display:inline-flex; align-items:center; gap:.35rem; color:var(--vinho); font-weight:600; text-decoration:none; }
.zap-link:hover { text-decoration:underline; }
.zap-link__icone { flex:none; width:1.15em; height:1.15em; }
.rodape .zap-link { color:inherit; font-size:.78rem; font-weight:400; }
.rodape .rede-link { margin-top:.35rem; }
.mapa { position:relative; overflow:hidden; width:100%; max-width:320px; height:160px; margin:.8rem 0 .3rem; border:1px solid rgb(255 255 255 / .18); border-radius:10px; }
.mapa__quadro { position:absolute; top:0; left:0; width:100%; height:calc(100% + 84px); border:0; filter:saturate(.85); }
.mapa__credito { margin:0 0 .55rem; font-size:.68rem; }
.rodape .mapa__credito a { color:#cfb6a7; text-decoration:underline; }.marca { display:flex; gap:.75rem; align-items:center; text-decoration:none; }.marca__selo { display:grid; place-items:center; width:46px; aspect-ratio:1; border:1px solid var(--vinho); border-radius:50%; color:var(--vinho); font:700 1.35rem/1 'Playfair Display',serif; }.marca__selo span { display:block; margin-top:-8px; margin-left:10px; color:var(--coral); font-size:.7em; }.marca__texto { display:grid; line-height:.9; }.marca strong { font:700 1.05rem/1 'Playfair Display',serif; letter-spacing:-.02em; }.marca small { margin-top:.35rem; color:var(--suave); font:.61rem/1.5 'DM Mono',monospace; letter-spacing:.02em; }.topo__atendimento { display:flex; gap:.45rem; align-items:center; color:var(--vinho); }.topo__atendimento>span:first-child { font-size:1.25rem; transform:rotate(-15deg); }.topo__atendimento>span:last-child { display:grid; line-height:1.25; }.topo__atendimento small { color:var(--suave); font-size:.7rem; }.topo__atendimento b { font-size:.76rem; }

.avisos { display:grid; gap:.55rem; margin-top:1rem; }.aviso { margin:0; padding:.8rem 1rem; background:var(--papel); border:1px solid var(--linha); border-left:4px solid; border-radius:9px; box-shadow:var(--sombra); font-size:.9rem; }.aviso--ok { border-color:var(--verde); color:var(--verde); }.aviso--erro { border-color:var(--erro); color:var(--erro); }

/* Bolha do carrinho */
.bolha-carrinho { position:fixed; z-index:20; right:clamp(1rem,3vw,2.1rem); bottom:clamp(1rem,3vw,2.1rem); display:grid; place-items:center; width:60px; height:60px; border-radius:50%; background:var(--vinho); color:#fff; box-shadow:0 3px 8px rgb(61 38 24 / .16),0 14px 30px rgb(61 38 24 / .22); text-decoration:none; transition:transform .2s,background .2s,color .2s,box-shadow .2s; }
.bolha-carrinho:hover { background:var(--vinho-escuro); transform:translateY(-2px); box-shadow:0 4px 10px rgb(61 38 24 / .18),0 18px 36px rgb(61 38 24 / .26); }
.bolha-carrinho:focus-visible { outline:2px solid var(--coral); outline-offset:4px; }
.bolha-carrinho svg { width:25px; height:25px; }
.bolha-carrinho--vazio { background:var(--papel); color:var(--vinho); box-shadow:0 2px 6px rgb(61 38 24 / .1),0 10px 24px rgb(61 38 24 / .14); }
.bolha-carrinho--vazio:hover { background:var(--vinho); color:#fff; }
.bolha-carrinho__contagem { position:absolute; top:-2px; right:-2px; display:grid; place-items:center; min-width:24px; height:24px; padding:0 .32rem; border:2px solid var(--creme); border-radius:999px; background:var(--coral); color:#fff; font:700 .72rem/1 'DM Mono',ui-monospace,monospace; font-variant-numeric:tabular-nums; }
@keyframes bolha-pulso { 0%,100% { transform:scale(1); } 40% { transform:scale(1.15); } }
.bolha-carrinho--pulso { animation:bolha-pulso .45s ease-out; }
@media (prefers-reduced-motion:reduce) { .bolha-carrinho { transition:none; }.bolha-carrinho--pulso { animation:none; } }

/* Painel lateral do carrinho */
body.sem-rolagem { overflow:hidden; }
.painel-fundo { position:fixed; z-index:30; inset:0; background:rgb(36 27 25 / .42); backdrop-filter:blur(3px); opacity:0; transition:opacity .28s; }
.painel-fundo--aberto { opacity:1; }
.painel { position:fixed; z-index:31; top:0; right:0; display:flex; flex-direction:column; width:min(400px,100%); height:100dvh; background:var(--papel); border-left:1px solid var(--linha); box-shadow:-18px 0 48px rgb(61 38 24 / .18); transform:translateX(100%); transition:transform .3s cubic-bezier(.32,.72,0,1); }
.painel--aberto { transform:none; }
.painel[hidden] { display:none; }
.painel__topo { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.15rem 1.3rem; border-bottom:1px solid var(--linha); }
.painel__topo h2 { margin:0; font:700 1.35rem 'Playfair Display'; }
.painel__fechar { display:grid; place-items:center; width:34px; height:34px; padding:0; border:1px solid var(--linha); border-radius:50%; background:none; color:var(--texto); font-size:1.35rem; line-height:1; cursor:pointer; transition:background .2s,border-color .2s,color .2s; }
.painel__fechar:hover { border-color:var(--vinho); background:var(--vinho); color:#fff; }
.painel__corpo,.painel__conteudo { display:flex; flex:1; flex-direction:column; min-height:0; }
.painel__rolagem { flex:1; overflow-y:auto; padding:1.1rem 1.3rem; }
.painel__rolagem .aviso { margin-bottom:.8rem; font-size:.8rem; }
.painel__carregando { margin:0; padding:1.5rem 1.3rem; color:var(--suave); font-size:.85rem; }
.painel__vazio { display:grid; justify-items:center; gap:.35rem; padding:3.2rem 0; text-align:center; }
.painel__vazio .botao { margin-top:.9rem; }
.painel__vazio p { margin:0; }
.painel__vazio small { color:var(--suave); font-size:.78rem; }
.painel__itens { display:grid; gap:1rem; margin:0; padding:0; list-style:none; }
.painel__item { display:grid; grid-template-columns:64px minmax(0,1fr); gap:.85rem; padding-bottom:1rem; border-bottom:1px solid var(--linha); }
.painel__item:last-child { padding-bottom:0; border-bottom:0; }
.painel__item--alerta { padding-left:.7rem; border-left:3px solid var(--erro); }
.painel__foto { width:64px; height:64px; border-radius:12px; object-fit:cover; background:var(--creme); }
.painel__dados { min-width:0; }
.painel__item-topo { display:flex; align-items:start; justify-content:space-between; gap:.5rem; }
.painel__item-topo b { font-size:.94rem; line-height:1.3; }
.painel__tirar { flex:none; display:grid; place-items:center; width:26px; height:26px; padding:0; border:0; border-radius:50%; background:none; color:var(--suave); font-size:1.15rem; line-height:1; cursor:pointer; transition:.2s; }
.painel__tirar:hover { background:var(--erro); color:#fff; }
.painel__item-preco,.painel__item-preparo,.painel__item-erro { margin:.2rem 0 0; font-size:.75rem; }
.painel__item-preco { color:var(--suave); }
.painel__item-erro { color:var(--erro); }
.painel__item-rodape { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.5rem; margin-top:.6rem; }
.painel__item-total { font-variant-numeric:tabular-nums; white-space:nowrap; }
.passo { display:inline-flex; align-items:center; gap:.15rem; padding:.15rem; border:1px solid var(--linha); border-radius:999px; background:var(--papel); }
.passo__botao { display:grid; place-items:center; width:28px; height:28px; padding:0; border:0; border-radius:50%; background:none; color:var(--vinho); font-size:1rem; line-height:1; cursor:pointer; transition:.2s; }
.passo__botao:hover:not(:disabled) { background:var(--vinho); color:#fff; }
.passo__botao:disabled { color:var(--linha); cursor:default; }
.passo__valor { min-width:4.2em; text-align:center; font:600 .78rem/1 'DM Mono',ui-monospace,monospace; font-variant-numeric:tabular-nums; }
.painel__rodape { padding:1.1rem 1.3rem calc(1.1rem + env(safe-area-inset-bottom)); border-top:1px solid var(--linha); background:var(--creme); }
.painel__total { display:flex; align-items:baseline; justify-content:space-between; margin:0; font-size:.9rem; }
.painel__total strong { font-size:1.2rem; font-variant-numeric:tabular-nums; }
.painel__nota { margin:.35rem 0 .9rem; color:var(--suave); font-size:.72rem; }
.painel__rodape .botao+.botao { margin-top:.5rem; }
@media (prefers-reduced-motion:reduce) { .painel,.painel-fundo { transition:none; } }

/* Vitrine */
.sobretitulo { margin-bottom:.75rem; color:var(--coral); font:500 .7rem/1 'DM Mono',monospace; letter-spacing:.13em; text-transform:uppercase; }.vitrine-cabecalho { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; margin-top:1.9rem; margin-bottom:1.4rem; }.vitrine-cabecalho h2 { margin:0; font:700 clamp(2rem,3vw,3rem)/1 'Playfair Display',serif; letter-spacing:-.05em; }/* Barra e painel de filtro */
.barra-filtro { display:flex; }
.painel-filtro { position:relative; }
.painel-filtro__botao { display:inline-flex; align-items:center; gap:.5rem; padding:.62rem 1.1rem; border:1px solid var(--linha); border-radius:999px; background:var(--papel); box-shadow:var(--sombra); color:var(--tinta); font:600 .84rem 'DM Sans',sans-serif; cursor:pointer; list-style:none; transition:.2s; }
.painel-filtro__botao::-webkit-details-marker { display:none; }
.painel-filtro__botao:hover { border-color:var(--vinho); color:var(--vinho); }
.painel-filtro[open] .painel-filtro__botao { border-color:var(--vinho); background:var(--vinho); color:#fff; }
.painel-filtro__conta { display:grid; place-items:center; min-width:19px; height:19px; padding:0 .3rem; border-radius:999px; background:var(--coral); color:#fff; font:700 .68rem/1 'DM Mono',monospace; }
.painel-filtro__caixa { position:absolute; z-index:15; top:calc(100% + .55rem); right:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.4rem; width:min(620px,calc(100vw - 3rem)); padding:1.3rem; border:1px solid var(--linha); border-radius:var(--raio); background:var(--papel); box-shadow:0 4px 10px rgb(61 38 24 / .08),0 22px 50px rgb(61 38 24 / .17); }
.grupo-filtro { min-width:0; margin:0; padding:0; border:0; }
.grupo-filtro legend { padding:0 0 .55rem; color:var(--coral); font:500 .66rem/1 'DM Mono',monospace; letter-spacing:.11em; text-transform:uppercase; }
.opcao-filtro { display:flex; align-items:center; gap:.5rem; padding:.32rem 0; color:var(--texto); font-size:.82rem; cursor:pointer; }
.opcao-filtro:hover { color:var(--vinho); }
.opcao-filtro input { flex:none; accent-color:var(--vinho); margin:0; }
.opcao-filtro span { flex:1; min-width:0; }
.opcao-filtro small { color:var(--suave); font:400 .68rem/1 'DM Mono',monospace; }
.opcao-filtro--solta { margin-top:.55rem; padding-top:.7rem; border-top:1px solid var(--linha); }
.painel-filtro__rodape { display:flex; align-items:center; justify-content:space-between; gap:1rem; grid-column:1/-1; padding-top:.4rem; border-top:1px solid var(--linha); }
.painel-filtro__rodape .botao { min-height:37px; padding:.45rem 1.1rem; }

/* Resumo do resultado */
.resultado { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem 1rem; margin:0 0 1.15rem; }
.resultado__conta { margin:0; color:var(--suave); font-size:.82rem; }
.resultado__conta strong { color:var(--tinta); }
.etiquetas { display:flex; flex-wrap:wrap; align-items:center; gap:.4rem; margin:0; padding:0; list-style:none; }
.etiqueta-ativa { display:inline-flex; align-items:center; gap:.45rem; padding:.28rem .65rem; border:1px solid color-mix(in srgb, var(--vinho) 25%, var(--linha)); border-radius:999px; background:#fff7f1; color:var(--vinho); font-size:.75rem; text-decoration:none; transition:.2s; }
.etiqueta-ativa span { font-size:.95rem; line-height:1; opacity:.6; }
.etiqueta-ativa:hover { border-color:var(--vinho); background:var(--vinho); color:#fff; }
.etiqueta-ativa:hover span { opacity:1; }
.grade { display:grid; grid-template-columns:repeat(auto-fill,minmax(255px,1fr)); gap:1.15rem; padding-bottom:4.5rem; }
.vazio { display:grid; justify-items:center; gap:1rem; grid-column:1/-1; margin:0; padding:3.5rem 1.5rem; background:var(--papel); border:1px solid var(--linha); border-radius:var(--raio); box-shadow:var(--sombra); color:var(--suave); text-align:center; }
.vazio p { margin:0; }.card { display:flex; flex-direction:column; overflow:hidden; background:var(--papel); border:1px solid var(--linha); border-radius:var(--raio); box-shadow:0 2px 4px rgb(49 26 12 / .02); transition:transform .25s,box-shadow .25s; }.card:hover { transform:translateY(-5px); box-shadow:var(--sombra); }.card__imagem { position:relative; height:172px; overflow:hidden; background:#763144; }
.card__sem-foto { display:grid; place-items:center; height:100%; color:rgb(255 236 226 / .55); font:700 2.6rem 'Playfair Display',serif; }.card__imagem::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgb(35 16 14 / .48)); pointer-events:none; }.card__foto { width:100%; height:100%; display:block; object-fit:cover; object-position:center; transition:transform .5s ease; }.card:hover .card__foto { transform:scale(1.05); }.card__conteudo { flex:1; display:flex; flex-direction:column; min-height:310px; padding:1.1rem; }.card__topo { display:flex; align-items:start; justify-content:space-between; gap:.4rem; min-height:24px; }.etiqueta { padding:.21rem .48rem; border-radius:3px; background:#f4ede4; color:var(--suave); font:500 .61rem/1 'DM Mono'; letter-spacing:.05em; text-transform:uppercase; }.etiqueta--alerta { background:#fbdfd7; color:var(--erro); }.card__nome { margin:.8rem 0 .35rem; font:700 1.35rem/1.1 'Playfair Display',serif; letter-spacing:-.025em; }.card__descricao { min-height:42px; margin:0 0 .7rem; color:var(--suave); font-size:.81rem; }.card__preco { margin:0 0 1rem; color:var(--vinho); font:700 1.05rem/1 'DM Mono'; }.card__form { display:grid; grid-template-columns:.78fr 1.22fr; gap:.55rem; margin-top:auto; }.campo { display:grid; gap:.28rem; color:var(--texto); font-size:.67rem; font-weight:700; }.campo small { color:var(--suave); font-weight:400; }.campo--preparo { grid-column:1/-1; }
.campo--linha { grid-column:1/-1; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.4rem .6rem; }
.campo--linha>span { flex:1 1 auto; min-width:0; }
.passo--card { display:none; }
.js .passo--card { display:inline-flex; }
.js .passo-alternativa { display:none; }
.passo--card .passo__valor { min-width:4.6em; }.campo input,.campo select,textarea { width:100%; min-width:0; padding:.57rem .65rem; border:1px solid var(--linha); border-radius:7px; background:#fffdfa; color:var(--tinta); font:.78rem 'DM Sans',sans-serif; }
.campo--linha select { flex:0 0 auto; width:auto; }.campo input:focus,.campo select:focus,textarea:focus { outline:2px solid #d99a8d; outline-offset:1px; border-color:var(--vinho); }.card__form .botao { grid-column:1/-1; }.botao { display:inline-flex; align-items:center; justify-content:center; gap:.3rem; min-height:41px; padding:.6rem 1rem; border:1px solid transparent; border-radius:7px; font:600 .82rem 'DM Sans'; text-align:center; text-decoration:none; cursor:pointer; transition:.2s; }.botao--primario { background:var(--vinho); color:white; }.botao--primario:hover { background:var(--vinho-escuro); transform:translateY(-1px); }.botao__icone { font-size:1.15em; line-height:1; }
.botao [data-total] { font-size:1.1rem; }.botao--discreto { border-color:var(--linha); background:transparent; color:var(--texto); }.botao--discreto:hover { border-color:var(--vinho); color:var(--vinho); }.botao--largo { width:100%; }
.botao--feito,.botao--feito:hover { background:var(--verde); border-color:var(--verde); color:#fff; transform:none; }
.card__aviso { margin:.6rem 0 0; color:var(--erro); font-size:.75rem; }
.so-leitor { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }.esgotado { margin-top:auto; padding:.7rem; color:var(--suave); background:var(--creme); border-radius:7px; font-size:.82rem; text-align:center; }

/* Jornada do pedido */
.titulo-pagina { margin:3rem 0 1.5rem; font:700 clamp(2rem,4vw,3rem)/1 'Playfair Display',serif; letter-spacing:-.05em; }.colunas { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(285px,.85fr); gap:1.3rem; align-items:start; padding-bottom:4rem; }.lista-itens { display:grid; gap:.75rem; }.item { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:1rem; padding:1.15rem; border:1px solid var(--linha); border-radius:12px; background:var(--papel); }.item--alerta { border-color:var(--erro); }.item__info h2 { margin:0 0 .25rem; font:700 1.25rem 'Playfair Display'; }.item__preco,.item__preparo,.item__erro { margin:0; color:var(--suave); font-size:.8rem; }.item__preparo { margin-top:.25rem; color:var(--vinho); }.item__erro { margin-top:.25rem; color:var(--erro); }.item__acoes { display:flex; gap:.3rem; }.item__acoes select { width:auto; padding:.55rem; border:1px solid var(--linha); border-radius:7px; background:white; }.item__valores { display:grid; justify-items:end; gap:.3rem; }.item__valores strong { color:var(--vinho); font-family:'DM Mono'; }.link-remover { padding:0; border:0; background:none; color:var(--suave); font-size:.76rem; text-decoration:underline; cursor:pointer; }.link-remover:hover { color:var(--erro); }.resumo,.formulario,.comprovante,.vazio-caixa { background:var(--papel); border:1px solid var(--linha); border-radius:var(--raio); box-shadow:var(--sombra); }.resumo { position:sticky; top:110px; display:grid; gap:.8rem; padding:1.3rem; }.resumo h2 { margin:0; font:700 1.45rem 'Playfair Display'; }.resumo__linha { display:flex; justify-content:space-between; margin:0; font-size:.86rem; }.resumo__total { padding-top:.8rem; border-top:1px solid var(--linha); color:var(--vinho); font:700 1.15rem 'DM Mono'; }.resumo__nota { margin:0; color:var(--suave); font-size:.75rem; }.resumo__itens { display:grid; gap:.65rem; margin:0; padding:0 0 .8rem; list-style:none; border-bottom:1px solid var(--linha); }.resumo__itens li { display:flex; justify-content:space-between; gap:.8rem; font-size:.8rem; }.resumo__itens small { display:block; color:var(--suave); font-size:.7rem; }.resumo__preparo { color:var(--vinho)!important; }.formulario { display:grid; gap:1.5rem; padding:clamp(1.2rem,3vw,2rem); }.formulario fieldset { display:grid; gap:.85rem; margin:0; padding:0; border:0; }.formulario legend { padding:0; margin-bottom:.2rem; font:700 1.3rem 'Playfair Display'; }.formulario .campo { font-size:.77rem; }.formulario .formulario input,.formulario textarea { padding:.75rem; font-size:.9rem; }.opcoes { display:grid; gap:.55rem; }.opcao { display:flex; align-items:center; gap:.7rem; padding:.8rem; border:1px solid var(--linha); border-radius:9px; cursor:pointer; }.opcao:has(input:checked) { border-color:var(--vinho); background:#fff7f1; }.opcao small { display:block; color:var(--suave); font-size:.76rem; }.vazio-caixa { display:grid; justify-items:center; gap:.75rem; padding:3.5rem 1.5rem; margin-bottom:4rem; text-align:center; }.vazio-caixa p { margin:0; color:var(--suave); }

/* Comprovante e rodapé */
.comprovante { max-width:850px; margin:3rem auto; padding:clamp(1.5rem,4vw,3rem); }.comprovante__cabecalho { padding-bottom:1.5rem; border-bottom:1px solid var(--linha); }.comprovante__cabecalho h1 { margin:.7rem 0 .45rem; font:700 2.3rem 'Playfair Display'; }.comprovante__cabecalho p { margin:0; color:var(--texto); }.selo { display:inline-block; padding:.3rem .65rem; border-radius:999px; background:#e8f3e9; color:var(--verde); font:600 .65rem 'DM Mono'; letter-spacing:.06em; text-transform:uppercase; }.comprovante__dados { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:1.2rem; margin:1.6rem 0; }.comprovante__dados dt { color:var(--suave); font:.62rem 'DM Mono'; letter-spacing:.08em; text-transform:uppercase; }.comprovante__dados dd { margin:.3rem 0 0; font-size:.85rem; }.tabela { width:100%; border-collapse:collapse; }.tabela th,.tabela td { padding:.75rem .35rem; border-bottom:1px solid var(--linha); text-align:left; font-size:.86rem; }.tabela th { color:var(--suave); font:.63rem 'DM Mono'; text-transform:uppercase; }.tabela small { display:block; color:var(--suave); font-size:.72rem; }.tabela .destaque { color:var(--vinho); }.tabela .direita { text-align:right; }.tabela tfoot td { border-bottom:0; }.tabela__total td { padding-top:1rem; color:var(--vinho); font:700 1.1rem 'DM Mono'; }.comprovante__acoes { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.5rem; }.zap { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:1.5rem 0; padding:1rem; border:1px solid #bfe6cb; border-radius:10px; background:#effaf1; }.zap__texto { display:grid; gap:.15rem; }.zap__texto span { color:var(--texto); font-size:.8rem; }.botao--zap { background:#25d366; color:#07341a; white-space:nowrap; }.botao--zap:hover { background:#18bd57; }.rodape { margin-top:2rem; padding:3rem 0 5.5rem; background:var(--vinho-escuro); color:#ead8ca; }.rodape__grade { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:2rem 2.5rem; }.rodape strong { display:block; color:#fff4eb; font:700 1.35rem 'Playfair Display'; }
.rodape__marca { max-width:32ch; }.rodape__marca p { margin-top:.7rem; }.rodape b { color:#f2b88a; font-size:.76rem; }.rodape p { margin:.45rem 0 0; color:#cfb6a7; font-size:.78rem; }.rodape a:hover { color:#f4b887; }.js [data-esconder-sem-js] { display:none; }

@media (max-width:720px) { .conteudo { width:min(100% - 1.5rem,1180px); }.topo__linha { min-height:0; }
.topo__servico { width:100%; justify-content:space-between; gap:.35rem .8rem; margin-top:.15rem; padding-top:.55rem; border-top:1px solid var(--linha); }
.topo__servico>.estado-loja { order:1; }
.topo__servico>.zap-link { order:2; }
.topo__servico>span:not(.estado-loja) { order:3; }.vitrine-cabecalho { margin-top:1.6rem; }.grade { grid-template-columns:repeat(auto-fill,minmax(min(100%,165px),1fr)); gap:.8rem; }.vitrine-cabecalho { position:relative; }
.painel-filtro { position:static; }
.painel-filtro__caixa { grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr)); gap:1.1rem; right:0; left:0; width:auto; max-height:min(70vh,26rem); overflow-y:auto; }.card__imagem { height:clamp(110px,26vw,150px); }
.card__conteudo { min-height:0; padding:.85rem; }
.card__nome { margin:.55rem 0 .3rem; font-size:1.15rem; }
.card__descricao { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; min-height:0; margin-bottom:.5rem; font-size:.77rem; }.colunas { grid-template-columns:1fr; }.resumo { position:static; }.item { grid-template-columns:1fr auto; }.item__valores { grid-column:1/-1; grid-template-columns:1fr auto; align-items:center; }.formulario { padding:1.2rem; }.rodape__grade { grid-template-columns:1fr; gap:1.2rem; }.rodape { padding-bottom:6rem; }.bolha-carrinho { width:54px; height:54px; }.bolha-carrinho svg { width:23px; height:23px; }.zap { align-items:start; flex-direction:column; }.comprovante { margin:1.5rem auto; } }
@media print {  body { background:white; }.comprovante { margin:0; border:0; box-shadow:none; } }

/* ---------- pagamento PIX ---------- */

.pagamento {
  background: var(--papel);
  border: 1px solid var(--linha);
  border-radius: var(--raio);
  box-shadow: var(--sombra);
  padding: 1.6rem;
  margin: 2rem auto;
  max-width: 46rem;
}

.pagamento__cabecalho { border-bottom: 1px solid var(--linha); padding-bottom: 1.2rem; }
.pagamento__cabecalho h1 { margin: .6rem 0 .4rem; font: 700 2rem 'Playfair Display', serif; }
.pagamento__cabecalho p { margin: 0; color: var(--suave); }

.selo--espera { background: #fff5e6; color: #8a5a00; }

.pagamento__corpo {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1.6rem;
  align-items: start;
  padding-top: 1.4rem;
}

.pagamento__qr { text-align: center; }
.pagamento__qr img {
  display: block;
  border: 1px solid var(--linha);
  border-radius: var(--raio);
  padding: .5rem;
  background: #fff;
}
.pagamento__dica { margin: .5rem 0 0; font-size: .8rem; color: var(--suave); }

.pagamento__copia { display: grid; gap: .7rem; }
.pagamento__copia h2 { margin: 0; font: 700 1.2rem 'Playfair Display', serif; }
.pagamento__copia textarea {
  width: 100%;
  font: .78rem/1.4 'DM Mono', monospace;
  padding: .6rem;
  border: 1px solid var(--linha);
  border-radius: var(--raio);
  background: var(--creme);
  resize: vertical;
  word-break: break-all;
}

.pagamento__prazo,
.pagamento__nota { margin: 0; font-size: .82rem; color: var(--suave); }

.pagamento__encerrada {
  padding: 1.4rem 0 .4rem;
  display: grid;
  gap: .9rem;
  justify-items: start;
}
.pagamento__encerrada p { margin: 0; color: var(--suave); }

.pagamento__rodape {
  margin: 1.4rem 0 0;
  padding-top: 1rem;
  border-top: 1px solid var(--linha);
  font-size: .85rem;
  color: var(--suave);
}

@media (max-width: 620px) {
  .pagamento__corpo { grid-template-columns: 1fr; }
  .pagamento__qr img { margin-inline: auto; }
}

.zap--espera { background: #fff8ec; border-color: #f0dcb8; }
.comprovante__dados .destaque { display: block; color: var(--verde); font-size: .82rem; }

.pagamento__cartao { padding-top: 1.4rem; display: grid; gap: .8rem; }
