:root {
  --cor-primaria: __BRAND_PRIMARY__;
  --cor-acento: #9c3f1c;
  --cor-acento-claro: #b5502a;
  --cor-acento-escuro: #7c2f12;
  --cor-fundo: #f1ebe0;
  --cor-superficie: #f7f2e8;
  --cor-superficie-alt: #e7dfd0;
  --cor-cartao: #f7f2e8;
  --cor-foto: #e0d6c3;
  --cor-texto: #201a14;
  --cor-texto-suave: #6b6053;
  --cor-borda: #cfc5b3;
  --cor-erro: #b3261e;
  --cor-sucesso: #0b6b3f;
  --whatsapp: #0b6b3f;
  --raio: 10px;
  --sombra: none;
  --espaco: 8px;
  --fonte-display: "Fraunces", Georgia, serif;
  --fonte-ui: "Hanken Grotesk", system-ui, sans-serif;
  --tocar: 44px;
  --gutter: max(16px, calc((100vw - 720px) / 2));
  font-size: 16px;
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  background: var(--cor-fundo);
  color: var(--cor-texto);
  font-family: var(--fonte-ui);
  line-height: 1.5;
  -webkit-tap-highlight-color: transparent;
}

body {
  padding-bottom: calc(5.5rem + env(safe-area-inset-bottom, 16px));
}
body.tem-sacola {
  padding-bottom: calc(8.4rem + env(safe-area-inset-bottom, 16px));
}

::selection {
  background: var(--cor-acento);
  color: #fff;
}

a { color: inherit; }

img { max-width: 100%; display: block; }

:focus-visible {
  outline: 2px solid var(--cor-acento);
  outline-offset: 3px;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.pular-conteudo {
  position: absolute;
  left: 12px;
  top: -48px;
  z-index: 50;
  background: var(--cor-acento);
  color: #fff;
  padding: 10px 14px;
  font-weight: 700;
  text-decoration: none;
}
.pular-conteudo:focus { top: 12px; }

.icone {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}
.icone:not([fill="none"]) { fill: currentColor; }
.icone--sm { width: 14px; height: 14px; }

.topo {
  position: sticky;
  top: 0;
  z-index: 40;
  background: var(--cor-fundo);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--cor-borda);
  box-shadow: 0 1px 8px rgba(33, 27, 20, 0.04);
}

.topo__interno {
  max-width: 720px;
  margin: 0 auto;
}

.topo__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 16px 6px;
  border-bottom: 1px solid rgba(234, 229, 220, 0.8);
}

.nav-desk { display: none; }

.topo__cidade {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  color: #3f3a34;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}
.topo__cidade--desk { display: none; }
.topo__cidade .icone { width: 14px; height: 14px; color: var(--cor-acento); fill: var(--cor-acento); }

.topo__barra {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--espaco);
  padding: 10px 16px 12px;
}

.marca { order: 1; }
.topo__acoes { order: 2; }
.busca { order: 3; }
.nav-desk { order: 4; }

.topo__acoes {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-left: auto;
}

.marca {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  min-width: 0;
}




.botao-carrinho {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 36px;
  padding: 0 12px;
  border-radius: 999px;
  text-decoration: none;
  color: var(--cor-acento);
  background: #fff8eb;
  border: 1px solid rgba(184, 122, 40, 0.4);
  font-weight: 700;
  font-size: 0.8rem;
  box-shadow: 0 1px 2px rgba(33, 27, 20, 0.04);
}
.botao-carrinho .icone { width: 16px; height: 16px; fill: none; }
.botao-carrinho span:first-of-type { display: none; }

.contador-carrinho {
  min-width: 14px;
  font-size: 0.75rem;
  font-weight: 700;
}

.busca {
  position: relative;
  width: 100%;
  flex: 1 0 100%;
  margin: 4px 0 0;
}

.busca__icone {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--cor-acento);
  pointer-events: none;
}
.busca__icone .icone { width: 16px; height: 16px; fill: none; }

.busca input {
  width: 100%;
  min-height: 42px;
  border: 1px solid var(--cor-borda);
  border-radius: 12px;
  background: var(--cor-superficie);
  color: var(--cor-texto);
  padding: 0 14px 0 40px;
  font: inherit;
  font-size: 0.8rem;
  box-shadow: 0 1px 2px rgba(33, 27, 20, 0.04);
}
.busca input::placeholder { color: #a3a09a; }
.busca input:focus {
  outline: none;
  border-color: var(--cor-acento);
  box-shadow: 0 0 0 1px var(--cor-acento);
}

.chips {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 8px 4px 10px;
  margin: 0 0 8px;
  scroll-padding-inline: 16px;
  scrollbar-width: none;
}
.chips::-webkit-scrollbar { display: none; }

.chip {
  flex-shrink: 0;
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0 14px;
  border-radius: 999px;
  text-decoration: none;
  color: #3f3a34;
  background: #fff;
  border: 1px solid var(--cor-borda);
  font-size: 0.75rem;
  box-shadow: 0 1px 2px rgba(33, 27, 20, 0.03);
}
.chip--ativo {
  color: #fff;
  background: var(--cor-acento);
  border-color: var(--cor-acento);
  font-weight: 700;
  scroll-margin-inline: 24px;
}

.conteudo {
  max-width: 720px;
  margin: 0 auto;
  padding: 8px 16px 32px;
  min-height: 50vh;
}



.passos {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  padding: 12px 0 0;
  margin: 0;
  border-top: 1px solid #e8e1d5;
}
.passos__item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-height: 32px;
  padding: 4px 6px;
  border-radius: 10px;
  border: 1px solid #e2ddd3;
  background: rgba(255, 255, 255, 0.8);
  color: #3f3a34;
  font-size: 0.62rem;
  font-weight: 600;
}
.passos__item--atual {
  border-color: rgba(184, 122, 40, 0.4);
  background: #fff;
  color: #111;
}
.passos__item--zap {
  background: #ecfdf5;
  border-color: #6ee7b7;
  color: #047857;
}
.passos__num {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #eae5dc;
  color: #3f3a34;
  font-size: 0.58rem;
  font-weight: 700;
}
.passos__item--atual .passos__num {
  background: var(--cor-acento);
  color: #fff;
}
.passos__item--zap .passos__num {
  background: #059669;
  color: #fff;
}

.cabecalho-pagina { padding: 10px 0 6px; }
.cabecalho-pagina h1 {
  font-family: var(--fonte-display);
  margin: 0 0 4px;
  font-size: 1.25rem;
}
.cabecalho-pagina p { color: var(--cor-texto-suave); margin: 0 0 10px; font-size: 0.85rem; }

.secao-categoria { margin: 20px 0; }
.secao-categoria__cabecalho {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.secao-categoria__cabecalho h2 {
  font-family: var(--fonte-display);
  margin: 0;
  font-size: 0.92rem;
  letter-spacing: 0.04em;
  display: flex;
  align-items: center;
  gap: 8px;
}
.secao-categoria__cabecalho h2::before {
  content: "";
  width: 6px;
  height: 14px;
  border-radius: 999px;
  background: var(--cor-acento);
}
.link-ver-todos {
  color: var(--cor-acento);
  font-weight: 700;
  text-decoration: none;
  font-size: 0.75rem;
  min-height: var(--tocar);
  display: inline-flex;
  align-items: center;
}

.aviso-vazio {
  color: var(--cor-texto-suave);
  padding: 28px 0;
  display: grid;
  gap: 14px;
  justify-items: start;
}

.grade-produtos {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
@media (min-width: 720px) {
  .grade-produtos { grid-template-columns: repeat(3, 1fr); }
}

.cartao-produto {
  background: var(--cor-cartao);
  border: 1px solid var(--cor-borda);
  border-radius: 16px;
  padding: 10px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-shadow: 0 1px 2px rgba(33, 27, 20, 0.04);
  position: relative;
}
.cartao-produto--esgotado { opacity: 0.85; }

.cartao-produto__link { text-decoration: none; color: inherit; }

.cartao-produto__imagem {
  position: relative;
  aspect-ratio: 1;
  background: #f8f6f2;
  border: 1px solid #efeae2;
  border-radius: 12px;
  overflow: hidden;
  display: grid;
  place-items: center;
  padding: 8px;
  margin-bottom: 8px;
}
.cartao-produto__imagem img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 280ms ease;
}
.cartao-produto:hover .cartao-produto__imagem img { transform: scale(1.05); }
.cartao-produto--esgotado img { filter: grayscale(1); opacity: 0.6; }

.cartao-produto__sem-imagem {
  height: 100%;
  display: grid;
  place-items: center;
  color: var(--cor-texto-suave);
  font-family: var(--fonte-display);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 0.7rem;
  padding: 12px;
  text-align: center;
}

.etiqueta {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 2;
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 3px 8px;
  border-radius: 999px;
}
.etiqueta--esgotado {
  color: #be123c;
  background: #fff1f2;
  border: 1px solid #fecdd3;
}
.etiqueta--bloco { position: static; display: inline-block; margin: 8px 0; }

.cartao-produto__info { flex: 1; }
.cartao-produto__categoria {
  font-size: 0.62rem;
  color: #71717a;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 600;
}
.cartao-produto__nome {
  font-size: 0.75rem;
  margin: 3px 0 8px;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.cartao-produto__preco {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 6px;
  font-weight: 700;
  margin: 0;
  font-size: 0.78rem;
  font-variant-numeric: tabular-nums;
  color: var(--cor-acento);
}
.cartao-produto__preco small {
  color: #71717a;
  font-weight: 500;
  font-size: 0.62rem;
}

.botao {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: var(--tocar);
  border: none;
  border-radius: 12px;
  background: var(--cor-acento);
  color: #fff;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
  text-decoration: none;
  padding: 0 16px;
  font-size: 0.85rem;
  width: 100%;
  box-shadow: 0 1px 2px rgba(33, 27, 20, 0.08);
  transition: background 160ms ease, transform 160ms ease;
}
.botao:hover { background: var(--cor-acento-claro); }
.botao:active { transform: scale(0.98); }
.botao:disabled {
  background: #f4f4f5;
  color: #a1a1aa;
  border: 1px solid #e4e4e7;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
.botao--pequeno { margin-top: 10px; min-height: 36px; font-size: 0.75rem; }
.botao--grande { font-size: 0.95rem; }
.botao--whatsapp { background: var(--whatsapp); color: #fff; }
.botao--whatsapp:hover { background: #047857; }
.botao--adicionar {
  background: #1a1a1a;
  color: #fff;
}
.botao--adicionar:hover { background: #2d2319; }
.botao--adicionar .icone { fill: none; width: 14px; height: 14px; }

.botao-remover {
  min-width: var(--tocar);
  min-height: var(--tocar);
  background: none;
  border: 1px solid var(--cor-borda);
  border-radius: 10px;
  color: var(--cor-erro);
  cursor: pointer;
}

.pagina-produto {
  display: grid;
  gap: 20px;
  padding: 8px 0 24px;
}
@media (min-width: 720px) {
  .pagina-produto { grid-template-columns: 1fr 1fr; align-items: start; }
}
.pagina-produto__imagem {
  background: #f8f6f2;
  border-radius: var(--raio);
  overflow: hidden;
  aspect-ratio: 1;
  border: 1px solid var(--cor-borda);
  display: grid;
  place-items: center;
  padding: 16px;
}
.pagina-produto__imagem img { width: 100%; height: 100%; object-fit: contain; }
.pagina-produto__info h1 {
  font-family: var(--fonte-display);
  margin: 4px 0 8px;
  font-size: clamp(1.4rem, 4vw, 2rem);
}
.pagina-produto__preco {
  font-size: 1.35rem;
  font-weight: 700;
  margin: 0 0 12px;
  font-variant-numeric: tabular-nums;
  color: var(--cor-acento);
}
.pagina-produto__texto { margin: 8px 0 0; display: grid; gap: 12px; }
.pagina-produto__descricao { color: var(--cor-texto-suave); margin: 0; max-width: 62ch; }
.pagina-produto__acoes {
  display: flex;
  gap: 10px;
  align-items: end;
  flex-wrap: wrap;
  margin: 4px 0 18px;
  padding: 12px 0;
  position: sticky;
  bottom: calc(4.8rem + env(safe-area-inset-bottom, 0px));
  z-index: 6;
  background: linear-gradient(180deg, transparent, var(--cor-fundo) 18%);
}
.rotulo-quantidade { display: flex; flex-direction: column; font-size: 0.85rem; gap: 4px; color: var(--cor-texto-suave); }
.rotulo-quantidade input {
  width: 88px;
  min-height: var(--tocar);
  padding: 0 10px;
  border: 1px solid var(--cor-borda);
  border-radius: 10px;
  font-size: 1rem;
  background: var(--cor-superficie);
  color: var(--cor-texto);
}
.pagina-produto__acoes .botao {
  width: auto;
  flex: 1;
  min-width: 220px;
  min-height: 48px;
  color: #fff;
  background: #1a1a1a;
}
.pagina-produto__acoes .botao:hover { background: #2d2319; }



.texto-auxiliar { color: var(--cor-texto-suave); font-size: 0.85rem; }
.texto-erro { color: var(--cor-erro); font-size: 0.9rem; min-height: 1.2em; }

.form-checkout { display: flex; flex-direction: column; gap: 18px; padding-bottom: 32px; }
.form-checkout fieldset {
  border: 1px solid var(--cor-borda);
  border-radius: var(--raio);
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  background: var(--cor-cartao);
}
.form-checkout legend { font-weight: 700; padding: 0 6px; color: var(--cor-acento); }
.form-checkout label { display: flex; flex-direction: column; gap: 4px; font-size: 0.88rem; color: var(--cor-texto-suave); }
.form-checkout input {
  min-height: var(--tocar);
  padding: 0 12px;
  border: 1px solid var(--cor-borda);
  border-radius: 10px;
  font-size: 1rem;
  color: var(--cor-texto);
  background: var(--cor-superficie);
  font-family: inherit;
}
.linha-form { display: grid; grid-template-columns: 2fr 1fr; gap: 10px; }

.resumo-pedido {
  background: var(--cor-cartao);
  border: 1px solid var(--cor-borda);
  border-radius: var(--raio);
  padding: 16px;
}
.aviso-loja-zap {
  margin: 10px 0 0;
  padding: 10px 12px;
  border-radius: 12px;
  background: #ecfdf5;
  border: 1px solid #a7f3d0;
  color: #047857;
  font-size: 0.85rem;
}
.mensagem-zap {
  margin: 18px 0;
  padding: 16px;
  border-radius: var(--raio);
  background: #211b14;
  color: #f3ead8;
}
.mensagem-zap h2 {
  margin: 0 0 10px;
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #e8c170;
}
.mensagem-zap pre {
  margin: 0;
  white-space: pre-wrap;
  font-family: var(--fonte-ui);
  font-size: 0.88rem;
  line-height: 1.5;
}
.lista-itens-resumo { margin: 0 0 8px; padding-left: 18px; }

.rodape {
  text-align: center;
  padding: 24px 16px 28px;
  color: var(--cor-texto-suave);
  font-size: 0.8rem;
  border-top: 1px solid var(--cor-borda);
  max-width: 720px;
  margin: 0 auto;
}
.rodape__marca {
  font-family: var(--fonte-display);
  color: var(--cor-acento);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.rodape p { margin: 4px 0; }

.barra-sacola {
  position: fixed;
  left: 16px;
  right: 16px;
  bottom: calc(4.4rem + env(safe-area-inset-bottom, 0px));
  z-index: 40;
  min-height: 48px;
  padding: 0 14px;
  border-radius: 12px;
  text-decoration: none;
  color: #fff;
  background: linear-gradient(90deg, #211b14, #2d2319, #211b14);
  border: 1px solid rgba(184, 122, 40, 0.3);
  box-shadow: 0 12px 28px rgba(84, 55, 16, 0.22);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.barra-sacola[hidden] { display: none; }
.barra-sacola__lado {
  display: flex;
  align-items: center;
  gap: 10px;
}
.barra-sacola__qtd {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  background: var(--cor-acento);
  font-size: 0.75rem;
  font-weight: 800;
}
.barra-sacola__textos {
  display: flex;
  flex-direction: column;
  line-height: 1.15;
}
.barra-sacola__textos strong {
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #fef3c7;
}
.barra-sacola__textos small {
  font-size: 0.62rem;
  color: #d4d4d8;
  font-weight: 500;
}
.barra-sacola__total {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #e8c170;
  font-weight: 800;
  font-size: 0.88rem;
  font-variant-numeric: tabular-nums;
}
.barra-sacola__total .icone { fill: none; color: #e8c170; }

.nav-inferior {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 50;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(16px);
  border-top: 1px solid var(--cor-borda);
  padding: 8px 8px calc(8px + env(safe-area-inset-bottom));
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.03);
}
.nav-inferior a {
  min-height: 48px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  text-decoration: none;
  color: #71717a;
  font-size: 0.62rem;
  font-weight: 500;
}
.nav-inferior a .icone { width: 20px; height: 20px; }
.nav-inferior a.is-ativo { color: var(--cor-acento); font-weight: 700; }
.nav-inferior a.is-zap { color: #059669; font-weight: 600; }
.nav-inferior a.is-zap .icone { fill: currentColor; }

.toast {
  position: fixed;
  left: 50%;
  bottom: calc(8.4rem + env(safe-area-inset-bottom, 0px));
  transform: translateX(-50%) translateY(12px);
  opacity: 0;
  pointer-events: none;
  background: #211b14;
  color: #e8c170;
  padding: 10px 16px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 0.8rem;
  transition: opacity 180ms ease, transform 180ms ease;
  z-index: 60;
}
.toast.is-visivel {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

.admin-wrap { max-width: 960px; margin: 0 auto; padding: 20px 16px 60px; }
.admin-login { max-width: 360px; margin: 60px auto; display: flex; flex-direction: column; gap: 14px; }
.admin-login input { padding: 11px; border: 1px solid var(--cor-borda); border-radius: 8px; background: var(--cor-superficie); color: var(--cor-texto); }
.admin-barra { display: flex; justify-content: space-between; align-items: center; padding: 14px 16px; background: #211b14; color: #fff; }
.admin-barra a { color: #fff; text-decoration: none; font-size: 0.9rem; }
.admin-tabela { width: 100%; border-collapse: collapse; margin-top: 14px; font-size: 0.9rem; }
.admin-tabela th, .admin-tabela td { text-align: left; padding: 8px 10px; border-bottom: 1px solid var(--cor-borda); }
.admin-form { display: flex; flex-direction: column; gap: 12px; max-width: 480px; }
.admin-form label { display: flex; flex-direction: column; gap: 4px; font-size: 0.88rem; }
.admin-form input, .admin-form select, .admin-form textarea {
  padding: 10px; border: 1px solid var(--cor-borda); border-radius: 8px; font-size: 1rem; font-family: inherit;
  background: var(--cor-superficie); color: var(--cor-texto);
}
.acoes-tabela { display: flex; gap: 8px; }
.acoes-tabela a, .acoes-tabela button { font-size: 0.82rem; }
.botao-link { background: none; border: none; color: var(--cor-erro); cursor: pointer; padding: 0; text-decoration: underline; }

@media (min-width: 960px) {
  body,
  body.tem-sacola { padding-bottom: 0; }

  .topo__interno,
  .conteudo,
  .rodape {
    max-width: 1240px;
  }

  .topo__meta { display: none; }

  .topo__barra {
    display: grid;
    grid-template-columns: auto minmax(320px, 1fr) auto;
    grid-template-areas:
      "marca busca acoes"
      "nav nav nav";
    align-items: center;
    gap: 12px 28px;
    padding: 16px 32px 12px;
  }
  .marca,
  .busca,
  .topo__acoes,
  .nav-desk { order: unset; }
  .marca { grid-area: marca; }
  .busca { grid-area: busca; }
  .topo__acoes { grid-area: acoes; margin-left: 0; }

  .nav-desk {
    grid-area: nav;
    display: flex;
    align-items: center;
    gap: 22px;
    padding-top: 10px;
    border-top: 1px solid rgba(234, 229, 220, 0.9);
  }
  .nav-desk a {
    text-decoration: none;
    font-size: 0.82rem;
    font-weight: 600;
    color: #666158;
    letter-spacing: 0.02em;
  }
  .nav-desk a:hover,
  .nav-desk a.is-ativo { color: var(--cor-texto); }
  .nav-desk__zap { color: var(--whatsapp) !important; }

  .topo__cidade--desk {
    display: inline-flex;
    white-space: nowrap;
  }


  .busca {
    flex: 1 1 auto;
    width: auto;
    margin: 0;
  }
  .busca input {
    min-height: 46px;
    font-size: 0.88rem;
    border-radius: 14px;
  }

  .botao-carrinho {
    min-height: 42px;
    padding: 0 16px;
    gap: 8px;
  }
  .botao-carrinho span:first-of-type { display: inline; }

  .conteudo { padding: 28px 32px 64px; }

  .passos__num { width: 22px; height: 22px; font-size: 0.7rem; }

  .chips {
    gap: 10px;
    margin: 0 0 28px;
    padding: 2px 0 8px;
  }
  .chip { min-height: 36px; font-size: 0.8rem; }

  .secao-categoria { margin: 36px 0; }
  .secao-categoria__cabecalho h2 { font-size: 1.25rem; }
  .link-ver-todos { font-size: 0.85rem; }

  .grade-produtos {
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
  }

  .cartao-produto { padding: 14px; border-radius: 20px; }
  .cartao-produto__nome { font-size: 0.88rem; }
  .cartao-produto__preco { font-size: 0.92rem; }
  .botao--pequeno { min-height: 42px; font-size: 0.82rem; }

  .cabecalho-pagina { padding: 8px 0 18px; }
  .cabecalho-pagina h1 { font-size: 2rem; }

  .pagina-produto { gap: 40px; padding: 12px 0 40px; }
  .pagina-produto__info h1 { font-size: 2.2rem; }
  .pagina-produto__acoes {
    position: static;
    background: none;
    padding: 0;
    margin: 8px 0 24px;
  }

  .form-checkout,
  .lista-carrinho,
  .carrinho-total,
  .resumo-pedido,
  .mensagem-zap,
  .aviso-loja-zap {
    max-width: 720px;
  }
  .aviso-vazio .botao,
  #link-whatsapp { width: auto; min-width: 240px; max-width: 720px; }

  .nav-inferior { display: none; }
  .barra-sacola { display: none !important; }

  .rodape {
    padding: 40px 32px 48px;
    display: grid;
    gap: 4px;
  }

  .toast { bottom: 28px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
  }
}

/* ==========================================================================
   Redesign: catálogo comercial — papel kraft, tinta escura, brasa como acento
   ========================================================================== */
@media (min-width: 960px) {
  :root { --gutter: max(64px, calc((100vw - 1152px) / 2)); }
}

body { background: var(--cor-fundo); }
::selection { background: var(--cor-acento); color: #fff; }

/* Cabeçalho */
.topo {
  background: var(--cor-fundo);
  backdrop-filter: none;
  box-shadow: none;
  border-bottom: 1px solid var(--cor-borda);
}
.topo__interno { max-width: none; }
.topo__meta {
  background: #201a14;
  border-bottom: 0;
  padding: 9px var(--gutter);
}
.topo__cidade { color: #e9dfcd; font-size: 0.8rem; font-weight: 500; letter-spacing: 0; }
.topo__barra { padding: 14px var(--gutter); gap: 12px 24px; }
.marca__logo { display: block; height: 44px; width: auto; mix-blend-mode: multiply; }

.botao-carrinho {
  min-height: 44px;
  padding: 0 8px 0 18px;
  gap: 10px;
  background: #201a14;
  color: var(--cor-fundo);
  border: 0;
  box-shadow: none;
  font-size: 0.92rem;
}
.botao-carrinho span:first-of-type { display: inline; }
.contador-carrinho {
  min-width: 26px;
  height: 26px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: var(--cor-fundo);
  color: #201a14;
  font-size: 0.8rem;
}

.busca input {
  min-height: 44px;
  border: 0;
  border-bottom: 1.5px solid #201a14;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding-left: 32px;
  font-size: 0.95rem;
}
.busca input::placeholder { color: var(--cor-texto-suave); }
.busca input:focus { border-color: var(--cor-acento); box-shadow: none; }
.busca__icone { left: 4px; color: #201a14; }

.nav-desk a { color: var(--cor-texto); }

/* Faixa "o pedido fecha no WhatsApp" */
.faixa-zap {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px var(--gutter);
  background: var(--cor-superficie-alt);
  border-bottom: 1px solid var(--cor-borda);
  font-size: 0.88rem;
  line-height: 1.4;
}
.faixa-zap p { margin: 0; }
.faixa-zap__icone {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  background: var(--whatsapp);
  color: #fff;
}
.faixa-zap__icone .icone { width: 18px; height: 18px; }

/* Conteúdo */
.conteudo { max-width: none; padding: 24px var(--gutter) 48px; }

.destaques__cabecalho h1,
.destaques__cabecalho h2,
.catalogo-completo h2,
.cabecalho-pagina h1 {
  font-family: var(--fonte-display);
  font-weight: 400;
  letter-spacing: -0.02em;
  line-height: 1.05;
}
.destaques__cabecalho h1,
.destaques__cabecalho h2 { margin: 8px 0 20px; font-size: 2.2rem; }
.catalogo-completo h2 { margin: 40px 0 0; font-size: 1.8rem; }
.cabecalho-pagina h1 { font-size: 2rem; }

.destaques__grade { display: grid; gap: 28px 16px; }
.destaques__laterais .grade-produtos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grade-produtos--uma { grid-template-columns: minmax(0, 1fr); }
.destaques__principal .cartao-produto__nome { font-family: var(--fonte-display); font-size: 1.35rem; font-weight: 400; }

/* Categorias como abas de texto */
.chips {
  gap: 24px;
  padding: 0;
  margin: 0 0 24px;
  border-bottom: 1px solid #201a14;
}
.chip {
  min-height: 48px;
  padding: 0 0 2px;
  border: 0;
  border-bottom: 3px solid transparent;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--cor-texto-suave);
  font-size: 0.95rem;
  font-weight: 500;
}
.chip--ativo { color: var(--cor-texto); background: transparent; border-color: var(--cor-acento); font-weight: 700; }

/* Vitrine de produtos */
.grade-produtos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 12px; }
.cartao-produto {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
  gap: 10px;
}
.cartao-produto--esgotado { opacity: 0.6; }
.cartao-produto__imagem {
  aspect-ratio: 5 / 6;
  background: var(--cor-foto);
  border: 0;
  border-radius: 0;
  padding: 12px;
  margin-bottom: 12px;
}
.cartao-produto__imagem img { mix-blend-mode: multiply; }
.cartao-produto--esgotado img { filter: grayscale(1); opacity: 0.7; }
.cartao-produto__sem-imagem { font-style: italic; font-weight: 400; letter-spacing: 0.04em; text-transform: none; font-size: 1rem; color: var(--cor-texto-suave); }

.etiqueta { top: 10px; left: 10px; font-size: 0.7rem; letter-spacing: 0.02em; text-transform: none; padding: 5px 10px; }
.etiqueta--esgotado { color: var(--cor-fundo); background: #201a14; border: 0; }
.etiqueta--baixo { color: #fff; background: var(--cor-acento); }

.cartao-produto__categoria { font-size: 0.72rem; color: var(--cor-texto-suave); letter-spacing: 0.08em; }
.cartao-produto__nome { font-size: 0.95rem; font-weight: 600; margin: 6px 0 8px; min-height: 2.7em; }
.cartao-produto__preco { display: block; font-size: 1.2rem; font-weight: 700; letter-spacing: -0.01em; color: var(--cor-texto); }

.botao { border-radius: 999px; }
.botao--pequeno { margin-top: 4px; min-height: 46px; font-size: 0.9rem; font-weight: 600; }
.botao--adicionar { background: #201a14; color: var(--cor-fundo); }
.botao--adicionar:hover { background: var(--cor-acento); }
.botao:disabled { background: transparent; border: 1.5px solid var(--cor-borda); color: var(--cor-texto-suave); }

/* Fechamento no WhatsApp */
.fecho-zap {
  margin: 56px 0 0;
  padding: 32px 24px;
  background: var(--whatsapp);
  color: #fff;
  display: grid;
  gap: 24px;
}
.fecho-zap h2 { margin: 0 0 10px; font-family: var(--fonte-display); font-weight: 400; font-size: 1.7rem; line-height: 1.1; letter-spacing: -0.01em; }
.fecho-zap p { margin: 0; font-size: 0.95rem; line-height: 1.5; max-width: 60ch; }
.fecho-zap__botao {
  justify-self: start;
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  padding: 0 28px;
  border-radius: 999px;
  background: var(--cor-fundo);
  color: #201a14;
  font-weight: 700;
  text-decoration: none;
}
.fecho-zap__botao:hover { background: #fff; }

/* Rodapé */
.rodape { max-width: none; background: #201a14; color: #cdbfa8; border-top: 0; padding: 32px var(--gutter) 36px; text-align: left; }
.rodape__logo { height: 52px; width: auto; filter: invert(1); mix-blend-mode: screen; margin-bottom: 8px; }

/* Barra da sacola e navegação inferior (celular) */
.barra-sacola { background: #201a14; border: 0; border-radius: 999px; box-shadow: 0 10px 24px rgba(32, 26, 20, 0.25); padding: 0 8px 0 10px; }
.barra-sacola__qtd { background: var(--cor-fundo); color: #201a14; border-radius: 999px; }
.barra-sacola__textos strong { color: var(--cor-fundo); font-size: 0.8rem; letter-spacing: 0.02em; text-transform: none; }
.barra-sacola__textos small { color: #cdbfa8; font-size: 0.72rem; }
.barra-sacola__total, .barra-sacola__total .icone { color: var(--cor-fundo); }
.nav-inferior { background: var(--cor-fundo); backdrop-filter: none; }
.nav-inferior a { color: var(--cor-texto-suave); font-size: 0.7rem; }
.nav-inferior a.is-zap { color: var(--whatsapp); }
.toast { background: #201a14; color: var(--cor-fundo); }
.mensagem-zap { background: #201a14; color: #e9dfcd; }
.mensagem-zap h2 { color: #e9dfcd; }

@media (min-width: 960px) {
  .topo__meta { display: flex; }
  .topo__cidade--desk { display: inline-flex; }
  .topo__barra {
    grid-template-columns: auto auto minmax(220px, 300px) auto;
    grid-template-areas: "marca nav busca acoes";
    gap: 12px 40px;
    padding: 18px var(--gutter);
  }
  .nav-desk { border-top: 0; padding-top: 0; gap: 28px; }
  .nav-desk a { font-size: 0.95rem; font-weight: 500; }
  .busca { justify-self: end; width: 100%; }
  .topo__acoes { justify-self: end; }
  .marca__logo { height: 52px; }
  .botao-carrinho { min-height: 44px; padding: 0 8px 0 22px; }

  .faixa-zap { align-items: center; font-size: 0.95rem; }

  .conteudo { max-width: none; padding: 48px var(--gutter) 72px; }
  .destaques__cabecalho h1,
  .destaques__cabecalho h2 { font-size: 3.25rem; margin-bottom: 28px; }
  .destaques__grade { grid-template-columns: 1.5fr 2fr; gap: 24px; align-items: start; }
  .destaques__laterais .grade-produtos { gap: 24px; }
  .destaques__principal .cartao-produto__imagem { aspect-ratio: 1 / 1.05; }
  .destaques__principal .cartao-produto__nome { font-size: 1.6rem; }
  .destaques__principal .cartao-produto__preco { font-size: 1.6rem; }

  .catalogo-completo h2 { font-size: 2.5rem; margin-top: 80px; margin-bottom: 20px; }
  .chips { gap: 28px; margin-bottom: 40px; }
  .grade-produtos { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px 24px; }
  .cartao-produto { padding: 0; border-radius: 0; }
  .grade-produtos.grade-produtos--uma { grid-template-columns: minmax(0, 1fr); }
  .destaques__laterais .grade-produtos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cartao-produto__nome { font-size: 1.05rem; }
  .cartao-produto__preco { font-size: 1.5rem; }
  .botao--pequeno { min-height: 48px; font-size: 0.95rem; }

  .fecho-zap { grid-template-columns: 1fr auto; align-items: center; gap: 48px; padding: 48px 56px; margin-top: 80px; }
  .fecho-zap h2 { font-size: 2.4rem; }
  .fecho-zap p { font-size: 1rem; }

  .rodape { display: grid; padding: 40px var(--gutter); }
  .rodape__logo { height: 56px; }
}

/* Carrinho */
html, body { min-height: 100%; }
body { display: flex; flex-direction: column; min-height: 100vh; }
.conteudo { flex: 1 0 auto; width: 100%; }
.rodape { margin: auto 0 0; width: 100%; }

.carrinho-layout { display: grid; gap: 24px; align-items: start; }
.lista-carrinho { list-style: none; margin: 0; padding: 0; border-top: 1px solid #201a14; }
.linha-carrinho {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) auto;
  grid-template-areas: "foto info info" "foto qtd subtotal";
  gap: 8px 14px;
  align-items: center;
  padding: 18px 0;
  border-bottom: 1px solid var(--cor-borda);
}
.linha-carrinho__foto {
  grid-area: foto;
  width: 72px;
  height: 72px;
  background: var(--cor-foto);
  display: grid;
  place-items: center;
  align-self: start;
}
.linha-carrinho__foto img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; padding: 6px; }
.linha-carrinho__info { grid-area: info; display: flex; flex-direction: column; gap: 2px; min-width: 0; align-items: flex-start; }
.linha-carrinho__info a { text-decoration: none; font-weight: 600; font-size: 1rem; line-height: 1.3; }
.linha-carrinho__info a:hover { color: var(--cor-acento); }
.botao-remover {
  min-width: 0;
  min-height: 32px;
  padding: 0;
  margin-top: 4px;
  border: 0;
  border-radius: 0;
  background: none;
  color: var(--cor-texto-suave);
  font: inherit;
  font-size: 0.85rem;
  text-decoration: underline;
  cursor: pointer;
}
.botao-remover:hover { color: var(--cor-erro); }

.linha-carrinho__qtd-grupo { grid-area: qtd; display: inline-flex; align-items: center; justify-self: start; border: 1.5px solid #201a14; border-radius: 999px; overflow: hidden; }
.qtd-botao { width: 44px; height: 44px; border: 0; background: transparent; color: #201a14; font-size: 1.2rem; cursor: pointer; }
.qtd-botao:hover { background: var(--cor-superficie-alt); }
.linha-carrinho__qtd { width: 44px; min-height: 44px; border: 0; background: transparent; text-align: center; font: inherit; font-weight: 600; color: var(--cor-texto); -moz-appearance: textfield; appearance: textfield; padding: 0; }
.linha-carrinho__qtd::-webkit-outer-spin-button, .linha-carrinho__qtd::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.linha-carrinho__subtotal { grid-area: subtotal; font-size: 1.15rem; font-weight: 700; white-space: nowrap; font-variant-numeric: tabular-nums; }

.carrinho-resumo { background: var(--cor-superficie-alt); padding: 24px; display: grid; gap: 14px; }
.carrinho-resumo h2 { margin: 0; font-family: var(--fonte-display); font-weight: 400; font-size: 1.5rem; }
.carrinho-resumo p { margin: 0; }
.carrinho-resumo__linha { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: 1rem; }
.carrinho-resumo__linha strong { font-size: 1.6rem; letter-spacing: -0.01em; }
.carrinho-resumo__linha--suave { font-size: 0.9rem; color: var(--cor-texto-suave); }
.carrinho-resumo .botao { width: 100%; min-height: 54px; }
.carrinho-resumo__voltar { text-align: center; font-size: 0.9rem; font-weight: 600; }

@media (min-width: 960px) {
  .carrinho-layout { grid-template-columns: minmax(0, 1fr) 380px; gap: 56px; }
  .linha-carrinho {
    grid-template-columns: 88px minmax(0, 1fr) auto 110px;
    grid-template-areas: "foto info qtd subtotal";
    gap: 24px;
    padding: 24px 0;
  }
  .linha-carrinho__foto { width: 88px; height: 88px; }
  .linha-carrinho__subtotal { text-align: right; }
  .carrinho-resumo { position: sticky; top: 24px; padding: 28px; }
  .lista-carrinho, .resumo-pedido { max-width: none; }
}

/* SEO: migalhas, selo da loja (h1 da home), texto de categoria, relacionados */
.selo-loja { margin: 0 0 4px; }
.selo-loja span { font-size: 0.8rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--cor-texto-suave); }
h1.selo-loja { margin: 0 0 4px; font: inherit; }
.migalhas { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 12px; font-size: 0.85rem; color: var(--cor-texto-suave); }
.migalhas a { color: var(--cor-texto-suave); text-underline-offset: 3px; }
.migalhas a:hover { color: var(--cor-acento); }
.migalhas [aria-current] { color: var(--cor-texto); font-weight: 600; }
.cabecalho-pagina__intro { max-width: 62ch; color: var(--cor-texto-suave); line-height: 1.5; }
.relacionados { margin-top: 56px; }
.relacionados h2 { margin: 0 0 20px; font-family: var(--fonte-display); font-weight: 400; font-size: 1.6rem; letter-spacing: -0.01em; }

/* Menu de departamentos */
.topo { position: static; }
.menu-cats { border-top: 1px solid var(--cor-borda); background: var(--cor-fundo); }
.menu-cats__lista {
  list-style: none;
  margin: 0;
  padding: 0 var(--gutter);
  display: flex;
  gap: 4px;
  overflow-x: auto;
  scrollbar-width: none;
}
.menu-cats__lista::-webkit-scrollbar { display: none; }
.menu-cats__item { position: relative; flex-shrink: 0; }
.menu-cats__grupo {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  padding: 0 12px;
  border-bottom: 3px solid transparent;
  color: var(--cor-texto);
  text-decoration: none;
  font-size: 0.95rem;
  font-weight: 600;
  white-space: nowrap;
}
.menu-cats__item:hover > .menu-cats__grupo,
.menu-cats__item:focus-within > .menu-cats__grupo { color: var(--cor-acento); }
.menu-cats__item.is-ativo > .menu-cats__grupo { border-bottom-color: var(--cor-acento); }
.menu-cats__item--todas { margin-left: auto; }
.menu-cats__item--todas .menu-cats__grupo { font-weight: 500; color: var(--cor-texto-suave); }
.menu-cats__painel { display: none; }

.grupos-cats { display: grid; gap: 40px; }
.grupo-cats { border-top: 1px solid #201a14; padding-top: 14px; }
.grupo-cats__topo { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 8px; }
.grupo-cats__topo h2 { margin: 0; font-family: var(--fonte-display); font-weight: 400; font-size: 1.6rem; letter-spacing: -0.01em; }
.grupo-cats__topo h2 a { text-decoration: none; }
.grupo-cats__topo h2 a:hover { color: var(--cor-acento); }
.grupo-cats__todos { font-size: 0.9rem; font-weight: 600; white-space: nowrap; }
.grupo-cats__lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; }
.grupo-cats__lista a {
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  border-bottom: 1px solid var(--cor-borda);
  text-decoration: none;
  font-size: 0.95rem;
}
.grupo-cats__lista a:hover { color: var(--cor-acento); }
.grupo-cats__lista span, .menu-cats__painel span { color: var(--cor-texto-suave); font-size: 0.8rem; font-variant-numeric: tabular-nums; }
.ver-mais-depto { margin: 32px 0 0; color: var(--cor-texto-suave); font-size: 0.95rem; }

@media (min-width: 960px) {
  .topo { position: sticky; }
  .topo__barra {
    grid-template-columns: auto minmax(240px, 560px) auto;
    grid-template-areas: "marca busca acoes";
    justify-content: space-between;
  }
  .menu-cats__lista { overflow: visible; gap: 8px; }
  .menu-cats__grupo { font-size: 1rem; padding: 0 14px; }
  .menu-cats__painel {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 60;
    width: 560px;
    padding: 20px 24px 16px;
    background: var(--cor-fundo);
    border: 1px solid #201a14;
    box-shadow: 0 16px 32px rgba(32, 26, 20, 0.14);
  }
  .menu-cats__item:hover > .menu-cats__painel,
  .menu-cats__item:focus-within > .menu-cats__painel { display: block; }
  .menu-cats__item:nth-last-child(-n + 3) > .menu-cats__painel { left: auto; right: 0; }
  .menu-cats__item--todas > .menu-cats__painel { display: none !important; }
  .menu-cats__todos {
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: 44px;
    padding-bottom: 8px;
    margin-bottom: 8px;
    border-bottom: 1px solid #201a14;
    font-weight: 700;
    text-decoration: none;
    color: var(--cor-acento);
  }
  .menu-cats__painel ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; }
  .menu-cats__painel li a {
    min-height: 38px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    text-decoration: none;
    font-size: 0.95rem;
  }
  .menu-cats__painel li a:hover { color: var(--cor-acento); }
  .menu-cats__mais { display: inline-block; margin-top: 8px; font-size: 0.85rem; font-weight: 600; }

  .grupos-cats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px 64px; }
}

.grade-produtos.grade-produtos--uma { grid-template-columns: minmax(0, 1fr); }

/* Menu do celular: botão hambúrguer + gaveta com níveis */
.botao-menu {
  order: 0;
  width: 44px;
  height: 44px;
  margin-left: -10px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: var(--cor-texto);
  text-decoration: none;
}
.botao-menu:hover { background: var(--cor-superficie-alt); }
.topo__barra .marca { order: 1; margin-right: auto; }
.topo__barra .topo__acoes { order: 2; margin-left: 0; }
.menu-cats { display: none; }

.gaveta { position: fixed; inset: 0; z-index: 80; }
.gaveta[hidden] { display: none; }
.gaveta__fundo { position: absolute; inset: 0; background: rgba(32, 26, 20, 0.5); opacity: 0; transition: opacity 200ms ease; }
.gaveta__painel {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: min(88vw, 380px);
  display: flex;
  flex-direction: column;
  background: var(--cor-fundo);
  transform: translateX(-100%);
  transition: transform 220ms ease;
  box-shadow: 8px 0 32px rgba(32, 26, 20, 0.2);
}
.gaveta.is-aberta .gaveta__fundo { opacity: 1; }
.gaveta.is-aberta .gaveta__painel { transform: none; }
.gaveta__topo {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 8px;
  min-height: 56px;
  padding: 0 8px 0 12px;
  border-bottom: 1px solid var(--cor-borda);
}
.gaveta__titulo { grid-column: 2; font-family: var(--fonte-display); font-size: 1.15rem; text-align: center; }
.gaveta__voltar { grid-column: 1; grid-row: 1; }
.gaveta__fechar { grid-column: 3; }
.gaveta__voltar,
.gaveta__fechar {
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 0 8px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--cor-texto);
  font: inherit;
  font-size: 0.95rem;
  font-weight: 600;
  cursor: pointer;
}
.gaveta__voltar:hover,
.gaveta__fechar:hover { background: var(--cor-superficie-alt); }
.gaveta__voltar .icone { transform: rotate(180deg); }
.gaveta__voltar[hidden] { display: none; }

.gaveta__trilho { position: relative; flex: 1; overflow: hidden; }
.gaveta__nivel {
  position: absolute;
  inset: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 8px 0 32px;
  background: var(--cor-fundo);
  transform: translateX(100%);
  visibility: hidden;
  transition: transform 220ms ease, visibility 0s linear 220ms;
}
.gaveta__nivel.is-ativo { transform: none; visibility: visible; transition: transform 220ms ease; }
.gaveta__nivel--raiz { transform: none; visibility: visible; }
.gaveta__nivel--raiz.is-passado { transform: translateX(-28%); visibility: hidden; transition: transform 220ms ease, visibility 0s linear 220ms; }
.gaveta__nivel ul { list-style: none; margin: 0; padding: 0; }
.gaveta__rotulo { margin: 16px 20px 4px; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--cor-texto-suave); }
.gaveta__item,
.gaveta__todos {
  width: 100%;
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 20px;
  border: 0;
  border-bottom: 1px solid var(--cor-borda);
  background: transparent;
  color: var(--cor-texto);
  font: inherit;
  font-size: 1.02rem;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}
.gaveta__item:hover,
.gaveta__item:active { background: var(--cor-superficie-alt); }
.gaveta__item.is-ativo { font-weight: 700; color: var(--cor-acento); }
.gaveta__item--zap { color: var(--whatsapp); font-weight: 700; }
.gaveta__seta .icone { color: var(--cor-texto-suave); }
.gaveta__qtd { color: var(--cor-texto-suave); font-size: 0.85rem; font-variant-numeric: tabular-nums; }
.gaveta__todos { min-height: 60px; font-weight: 700; color: var(--cor-acento); border-bottom: 1px solid #201a14; }
.gaveta__todos span:last-child { color: var(--cor-texto-suave); font-weight: 500; font-size: 0.85rem; }
body.gaveta-aberta { overflow: hidden; }

@media (min-width: 960px) {
  .botao-menu, .gaveta { display: none !important; }
  .menu-cats { display: block; }
  .topo__barra .marca { margin-right: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .gaveta__painel, .gaveta__nivel, .gaveta__fundo { transition: none !important; }
}
