:root{--primaria: #e11d48;--primaria-escura: #be123c;--fundo: #f8fafc;--cartao: #ffffff;--texto: #0f172a;--suave: #64748b;--borda: #e2e8f0;--sombra: 0 1px 3px rgba(0, 0, 0, .08)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--fundo);color:var(--texto);-webkit-font-smoothing:antialiased}.app{max-width:640px;margin:0 auto;padding-bottom:96px}.topo{background:var(--primaria);color:#fff;padding:28px 20px;border-radius:0 0 20px 20px}.topo h1{font-size:1.5rem}.topo p{opacity:.9;margin-top:4px}.categoria{padding:20px 16px 0}.categoria>h2{font-size:1.05rem;margin-bottom:12px;color:var(--texto)}.item{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--cartao);border:1px solid var(--borda);border-radius:14px;padding:14px;margin-bottom:10px;box-shadow:var(--sombra);cursor:pointer;transition:transform .05s ease}.item:active{transform:scale(.99)}.item img{width:64px;height:64px;border-radius:10px;object-fit:cover}.item-info{display:flex;flex-direction:column;gap:3px;flex:1}.item-info .desc,.desc{color:var(--suave);font-size:.85rem}.item-info .preco{color:var(--primaria);font-weight:600;margin-top:2px}.mais{font-size:1.5rem;color:var(--primaria);font-weight:700}.vazio{color:var(--suave);padding:8px 16px;font-size:.9rem}.modal-fundo{position:fixed;inset:0;background:#00000080;display:flex;align-items:flex-end;justify-content:center;z-index:50}.modal{background:var(--cartao);width:100%;max-width:640px;max-height:88vh;overflow-y:auto;border-radius:20px 20px 0 0;padding:22px 18px 100px;position:relative;animation:subir .2s ease}@keyframes subir{0%{transform:translateY(30px);opacity:.6}}.modal h2{margin-bottom:6px;padding-right:32px}.modal h3{font-size:.95rem;margin:18px 0 8px}.modal h3 small{color:var(--suave);font-weight:400}.modal-fechar{position:absolute;top:14px;right:16px;border:none;background:var(--fundo);width:34px;height:34px;border-radius:50%;font-size:1.3rem;cursor:pointer;color:var(--suave)}.opcao{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--borda);cursor:pointer}.opcao input{width:20px;height:20px;accent-color:var(--primaria)}.opcao span:nth-child(2){flex:1}.opcao .preco{color:var(--suave);font-size:.9rem}.modal-rodape{position:absolute;bottom:0;left:0;right:0;background:var(--cartao);border-top:1px solid var(--borda);padding:14px 18px;display:flex;gap:12px;align-items:center}.qtd{display:flex;align-items:center;gap:14px;border:1px solid var(--borda);border-radius:10px;padding:6px 12px}.qtd button{border:none;background:none;font-size:1.3rem;cursor:pointer;color:var(--primaria);line-height:1}.btn-primario{flex:1;background:var(--primaria);color:#fff;border:none;border-radius:12px;padding:15px;font-size:1rem;font-weight:600;cursor:pointer}.btn-primario:disabled{background:#cbd5e1;cursor:not-allowed}.btn-secundario{display:block;text-align:center;margin:24px 16px;padding:14px;border-radius:12px;border:1px solid var(--primaria);color:var(--primaria);text-decoration:none;font-weight:600}.barra-carrinho{position:fixed;bottom:16px;left:50%;transform:translate(-50%);width:calc(100% - 32px);max-width:608px;background:var(--primaria);color:#fff;border:none;border-radius:14px;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;font-size:1rem;font-weight:600;box-shadow:0 6px 20px #e11d4866;cursor:pointer;z-index:40}.linha-carrinho{display:flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--borda);font-size:.92rem}.linha-carrinho span:first-child{flex:1}.remover{border:none;background:none;color:var(--suave);font-size:.8rem;text-decoration:underline;cursor:pointer}.total-final{display:flex;justify-content:space-between;padding:14px 0;font-size:1.1rem}.modal input[type=tel],.modal input[type=text]{width:100%;padding:13px;border:1px solid var(--borda);border-radius:10px;margin-top:10px;font-size:1rem}.modal .btn-primario{margin-top:16px;width:100%}.stepper{display:flex;justify-content:space-between;padding:28px 24px}.passo{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1;position:relative}.passo .bolinha{width:18px;height:18px;border-radius:50%;background:var(--borda);z-index:2}.passo.ativo .bolinha{background:var(--primaria)}.passo .rotulo{font-size:.75rem;color:var(--suave)}.passo.ativo .rotulo{color:var(--texto);font-weight:600}.passo:not(:last-child):after{content:"";position:absolute;top:9px;left:50%;width:100%;height:2px;background:var(--borda);z-index:1}.passo.ativo:not(:last-child):after{background:var(--primaria)}
