* {
  box-sizing: border-box;
}

[v-cloak] {
  display: none;
}

#app {
  min-height: calc(100vh - 550px);
  width: 100%;
  max-width: 1024px;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0px 0px 100px;
}

#cardapio {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.body {
  max-width: 900px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: start;
  justify-content: center;
  gap: 2rem;
  padding-bottom: 20px;
}

.container-categorias {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: start;
  gap: 20px;
  overflow: hidden;
  white-space: nowrap;
  cursor: grab;
  touch-action: none;
}

.container-categorias.active {
  cursor: grabbing;
  cursor: -webkit-grabbing;
}

.container-produtos {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: start;
  justify-content: center;
  gap: 1rem;
}

.container-produtos .lista-produtos {
  width: 100%;
}

.container-produtos .produtos {
  width: 100%;
  display: grid;
  align-content: center;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 1rem;
}

.container-nenhum-produto {
  min-height: calc(100vh - 340px);
}

@media (min-width: 767px) {
    #app {
        margin: 0px auto;
        padding: 0;
    }

  #cardapio {
    gap: 5rem;
  }

  .container-nenhum-produto span {
    font-size: 22px;
  }
}

@media (max-width: 767px) {
  #cardapio {
    width: 100%;
  }

  .body {
    padding: 50px 0;
  }

  .container-produtos .produtos {
    gap: 15px;
    grid-template-columns: repeat(auto-fill, minmax(159px, 1fr));
    max-width: calc(150px * 4 + 1.25rem * 3);
  }

  .container-nenhum-produto span {
    font-size: 20px;
  }

  .container-nenhum-produto {
    margin: 100px 0;
  }
}

@media screen and (max-width: 415px) {
  .container-produtos .produtos {
    grid-template-columns: repeat(2, 1fr);
  }
}