  .montra{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:16px}
  .prod{background:var(--paper);border:1px solid var(--line);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;min-width:0}
  .prod img,.prod .sem-foto{width:100%;aspect-ratio:1/1;object-fit:cover;background:var(--blush)}
  .prod .sem-foto{display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:1.6rem;color:var(--gold2)}
  .prod-info{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
  .prod h3{font-size:1.2rem;line-height:1.2}
  .prod p{font-size:.86rem;color:var(--soft)}
  .prod-rodape{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:auto}
  .prod .pr{font-family:'Playfair Display',serif;font-size:1.5rem;color:var(--gold2)}
  .stock{font-size:.76rem;font-weight:700;color:#2E7D32}
  .stock.esgotado{color:#B3261E}
  .etq{align-self:flex-start;font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:#F0B429;color:#231800;border-radius:99px;padding:2px 8px}
  .prod .b{width:100%;padding:11px 16px}
  .b[disabled]{opacity:.5;cursor:not-allowed;transform:none}
  .embreve{margin-top:16px;background:var(--blush);border-radius:20px;padding:18px 20px;font-size:.92rem}
  .envio{display:none}
  .envio.on{display:block}
  .carrinho-bt{position:fixed;left:18px;bottom:18px;z-index:85;border:0;border-radius:99px;background:var(--noir);color:#fff;font:inherit;font-weight:700;padding:14px 20px;box-shadow:0 10px 24px rgba(0,0,0,.3);cursor:pointer}
  .painel-fundo{position:fixed;inset:0;z-index:200;background:rgba(20,15,12,.55);display:flex;align-items:flex-start;justify-content:center;padding:4vh 14px;overflow-y:auto}
  .painel-fundo[hidden]{display:none}
  .painel-caixa{position:relative;background:var(--paper);border-radius:22px;padding:26px 24px;width:100%;max-width:520px;box-shadow:0 30px 80px rgba(0,0,0,.35)}
  .painel-caixa h3{font-size:1.5rem;margin-bottom:10px;padding-right:30px}
  .fechar{position:absolute;right:14px;top:10px;border:0;background:none;font-size:2rem;line-height:1;cursor:pointer;color:var(--soft)}
  .linhas{list-style:none;margin-bottom:14px}
  .linhas li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;border-bottom:1px dashed var(--line);font-size:.92rem}
  .linhas small{display:block;color:var(--soft);font-size:.78rem}
  .qtd{display:flex;align-items:center;gap:8px;flex:none}
  .qtd button{width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:1.1rem;cursor:pointer}
  .totais{background:var(--cream);border-radius:14px;padding:12px 14px;margin:6px 0 4px;display:flex;flex-direction:column;gap:4px;font-size:.92rem}
  .totais div{display:flex;justify-content:space-between}
  .totais .total{font-size:1.15rem;border-top:1px solid var(--line);padding-top:6px;margin-top:2px}
  .aviso-erro{background:#FDECEA;color:#8C1D18;border-radius:10px;padding:9px 12px;font-size:.88rem;margin:8px 0}
  .b-mbway{width:100%;background:#D6002A;color:#fff;margin-top:10px}
  .espera{display:flex;align-items:center;gap:10px;background:var(--cream);border-radius:14px;padding:14px;margin:14px 0;font-weight:600}
  .roda{width:20px;height:20px;border-radius:50%;border:3px solid var(--line);border-top-color:#D6002A;animation:roda 1s linear infinite}
  @keyframes roda{to{transform:rotate(360deg)}}
  @media (prefers-reduced-motion:reduce){ .roda{animation:none} }
  .simulacao{border:2px dashed #F0B429;border-radius:14px;padding:14px;margin-top:14px;display:flex;flex-direction:column;gap:8px;font-size:.88rem}
  #passo-fim .b{margin-top:14px}

.aviso-fechada{background:#FBF3E4;border:1px solid #E3C88A;border-radius:12px;padding:10px 12px;font-size:.86rem;color:#6B5B3E;margin:0 0 10px}
