/* GERADO por gerar_tema_paginas.py. Não editar à mão.

   Veste as páginas que o tema desenha: sacola, conta, login, cadastro,
   recuperar senha e busca. Tudo preso em .puff-tema, que entra no <body> do tema,
   e em px, para não depender da letra de base.

   Cores e letra vêm de marca/tokens.css. A regra de contraste do projeto vale
   aqui: cor de acento é FUNDO, e a tinta #221F20 vai por cima. */

.puff-tema {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-size: 16px;
  color: var(--emb-tinta, #221F20);
  background: var(--emb-creme, #FFFCF0);
}

/* títulos: mesma família condensada e pesada do site */
.puff-tema h1:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))),
.puff-tema h2:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))),
.puff-tema h3:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))),
.puff-tema .h1:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))),
.puff-tema .h2:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))),
.puff-tema .h3:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))),
.puff-tema .h4:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))) {
  font-family: inherit;
  font-variation-settings: "wdth" 75, "wght" 800;
  letter-spacing: -0.01em;
  color: var(--emb-tinta, #221F20);
}
.puff-tema h1:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))),
.puff-tema .h1:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))) { font-size: 40px; line-height: 1.05; }
.puff-tema .h4:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))) { font-size: 27.2px; line-height: 1.1; }

/* caminho (início / conta / login) */
.puff-tema .crumb:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))),
.puff-tema .breadcrumb:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))) {
  font-size: 12.8px; text-transform: uppercase; letter-spacing: 0.08em;
  font-variation-settings: "wdth" 75, "wght" 700;
  color: var(--emb-tinta, #221F20); opacity: .7;
}

/* botões: o do tema vira o botão do site */
.puff-tema .btn:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))) {
  box-sizing: border-box;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 44px; padding: 12px 24px;
  border: 2px solid var(--emb-tinta, #221F20); border-radius: 999px;
  background: var(--emb-ambar, #EFB254); color: var(--emb-tinta, #221F20);
  font-family: inherit; font-size: 15.2px; text-transform: uppercase;
  letter-spacing: 0.06em; font-variation-settings: "wdth" 75, "wght" 800;
  text-decoration: none; cursor: pointer; transition: transform .12s ease;
}
.puff-tema .btn:hover:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))) { transform: translateY(-1px); }
.puff-tema .btn:active:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))) { transform: translateY(0); }
.puff-tema .btn-primary:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))) { background: var(--emb-tinta, #221F20); color: var(--emb-creme, #FFFCF0); }
.puff-tema .btn-default:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))),
.puff-tema .btn-secondary:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))) { background: transparent; }
.puff-tema .btn-big:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))) { font-size: 16.8px; padding: 14px 32px; }
.puff-tema .btn-block:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))) { width: 100%; }
/* o botão de ícone do cabeçalho não vira pílula âmbar */
.puff-tema .btn-utility:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))) {
  min-height: 0; padding: 4px 8px; border: 0; border-radius: 0;
  background: transparent; color: inherit;
}
/* link com cara de link, não de botão */
.puff-tema .btn-link:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))),
.puff-tema a.btn-link:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))) {
  min-height: 0; padding: 0; border: 0; border-radius: 0; background: transparent;
  color: var(--emb-ambar-texto, #A2680F); text-transform: none; letter-spacing: 0;
  font-size: 14.4px; font-variation-settings: "wdth" 100, "wght" 700;
  text-decoration: underline;
}

/* campos de formulário */
.puff-tema .form-label:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))),
.puff-tema label:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))) {
  display: inline-block; margin-bottom: 6px;
  font-size: 12.8px; text-transform: uppercase; letter-spacing: 0.08em;
  font-variation-settings: "wdth" 75, "wght" 800;
}
.puff-tema .form-control:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))),
.puff-tema input[type="text"]:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))),
.puff-tema input[type="email"]:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))),
.puff-tema input[type="password"]:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))),
.puff-tema input[type="search"]:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))),
.puff-tema input[type="tel"]:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))),
.puff-tema select:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))),
.puff-tema textarea:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))) {
  /* sem box-sizing, 100% mais padding e borda passam da tela: a bancada mediu
     402 px numa janela de 390 */
  box-sizing: border-box;
  width: 100%; min-height: 44px; padding: 10px 16px;
  border: 2px solid var(--emb-tinta, #221F20); border-radius: 16px;
  background: #FFFFFF; color: var(--emb-tinta, #221F20);
  font-family: inherit; font-size: 16px;   /* 16px evita o zoom do iPhone */
}
.puff-tema .form-control:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *)))::placeholder { color: var(--emb-tinta, #221F20); opacity: .45; }
.puff-tema .form-group:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))) { margin-bottom: 20px; }
.puff-tema .form-control:focus:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))),
.puff-tema .btn:focus-visible:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))),
.puff-tema a:focus-visible:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))) {
  outline: 3px solid var(--emb-tinta, #221F20); outline-offset: 2px;
}

/* avisos (erro de login, e-mail enviado) */
.puff-tema .alert:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))) {
  padding: 14px 18px; border: 2px solid var(--emb-tinta, #221F20); border-radius: 16px;
  background: var(--emb-creme, #FFFCF0); color: var(--emb-tinta, #221F20); font-size: 14.4px;
}
.puff-tema .alert-danger:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))) { background: #FFE3D3; }
.puff-tema .alert-success:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))) { background: #E2F0D9; }

/* tabela da sacola */
.puff-tema table:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))) { width: 100%; border-collapse: collapse; }
.puff-tema th:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))),
.puff-tema td:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))) { padding: 12px 8px; border-bottom: 1px solid rgba(34,31,32,.18); text-align: left; }
.puff-tema th:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))) {
  font-size: 12.8px; text-transform: uppercase; letter-spacing: 0.08em;
  font-variation-settings: "wdth" 75, "wght" 800;
}

/* calculador de frete do tema, dentro da página de produto */
.puff-tema .puff-frete a:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))),
.puff-tema .puff-frete a.btn-link:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))),
.puff-tema .puff-frete .btn-link:not(:where(.puff-home *, .puff-listagem *, .puff-404 *, .puff-politica *, .puff-contato *, .puff-moldura *, .puff-cookies *, .puff-produto *:not(.puff-frete):not(.puff-frete *))) {
  color: var(--emb-tinta, #221F20); text-decoration: underline;
  display: inline-flex; align-items: center; min-height: 24px;
}

/* ───── blindagem: o que o CSS do tema não pode mudar dentro das nossas peças ───── */
body :where(.puff-home, .puff-listagem, .puff-404, .puff-politica, .puff-contato, .puff-moldura, .puff-cookies, .puff-produto) :where(h1, h2, h3, h4, h5, h6):not(:where(.puff-frete *)) {
  font-family: inherit; font-weight: bold;
}
body :where(.puff-home, .puff-listagem, .puff-404, .puff-politica, .puff-contato, .puff-moldura, .puff-cookies, .puff-produto) p:not(:where(.puff-frete *)) { margin-top: 1em; line-height: inherit; }
body :where(.puff-home, .puff-listagem, .puff-404, .puff-politica, .puff-contato, .puff-moldura, .puff-cookies, .puff-produto) a:not(:where(.puff-frete *)) { transition: none; }
body :where(.puff-home, .puff-listagem, .puff-404, .puff-politica, .puff-contato, .puff-moldura, .puff-cookies, .puff-produto) :where(input, button, select, textarea):not(:where(.puff-frete *)) { font-family: inherit; }
