/* Adaptacao visual da busca avancada para o tema da loja nova. */
body.pecas-loja-nova {
  --gp-vermelho-loja: #fa4448;
  --gp-cinza-loja: #f3f5f4;
  --gp-texto-loja: #151515;
  --gp-texto-suave-loja: #5f666c;
  background: #f6f7f6;
  color: var(--gp-texto-loja);
}

.pecas-loja-nova .loja-aviso {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 25;
  height: 34px;
  background: #111;
  color: #fff;
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.pecas-loja-nova .loja-aviso__inner {
  height: 100%;
  display: flex;
  align-items: center;
  gap: 10px;
}

.pecas-loja-nova .loja-aviso__inner span + span::before {
  content: "|";
  color: var(--gp-vermelho-loja);
  margin-right: 10px;
}

.pecas-loja-nova .loja-aviso__painel {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 22px;
  padding: 0 12px;
  border-radius: 999px;
  background: var(--gp-vermelho-loja);
  color: #fff;
  text-decoration: none;
  font-size: 0.72rem;
}

.pecas-loja-nova .loja-aviso__painel svg {
  width: 13px;
  height: 13px;
}

.pecas-loja-nova .loja-cabecalho {
  top: 34px;
  height: 108px;
  background: rgba(249, 251, 250, 0.97);
  border-bottom: 1px solid #e4e7e5;
  backdrop-filter: blur(10px);
}

.pecas-loja-nova .loja-cabecalho--compacto,
.pecas-loja-nova .cabecalho--compacto {
  background: rgba(249, 251, 250, 0.99);
  border-bottom-color: #dadfdd;
}

.pecas-loja-nova .loja-cabecalho__interno {
  gap: 22px;
}

.pecas-loja-nova .loja-cabecalho__logo-img {
  height: 76px;
  width: auto;
}

.pecas-loja-nova .loja-cabecalho__lista {
  gap: clamp(18px, 2.2vw, 34px);
}

.pecas-loja-nova .loja-cabecalho__link {
  color: #202020;
  font-family: var(--fonte-base);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0;
}

.pecas-loja-nova .loja-cabecalho__link--ativo,
.pecas-loja-nova .loja-cabecalho__link[aria-current="page"] {
  color: var(--gp-vermelho-loja);
  border-bottom-color: var(--gp-vermelho-loja);
}

.pecas-loja-nova .loja-cabecalho__acoes {
  display: none;
  align-items: center;
  gap: 14px;
}

.pecas-loja-nova .loja-icone-btn,
.pecas-loja-nova .loja-login {
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  color: #121212;
  text-decoration: none;
}

.pecas-loja-nova .loja-icone-btn svg,
.pecas-loja-nova .loja-login svg {
  width: 22px;
  height: 22px;
}

.pecas-loja-nova .loja-login {
  font-size: 0.84rem;
  font-weight: 700;
}

.pecas-loja-nova .loja-carrinho {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 0 18px;
  border-radius: 999px;
  background: var(--gp-vermelho-loja);
  color: #fff;
  text-decoration: none;
  font-weight: 800;
}

.pecas-loja-nova .loja-carrinho svg {
  width: 19px;
  height: 19px;
}

.pecas-loja-nova .loja-carrinho span {
  min-width: 22px;
  min-height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #fff;
  color: var(--gp-vermelho-loja);
}

.pecas-loja-nova .loja-menu-btn {
  border: 0;
  color: #121212;
}

.pecas-loja-nova .loja-menu-mobile {
  top: 142px;
  background: #fff;
  color: #151515;
  border-bottom-color: #e4e7e5;
}

.pecas-loja-nova .loja-menu-mobile .menu-mobile__link {
  color: #151515;
  border-bottom-color: #e8ecea;
}

.pecas-loja-nova .loja-mobile-painel {
  color: #151515;
  border-color: #d9dfdd;
}

.pecas-loja-nova .topo-pagina {
  padding-top: 174px;
  background: linear-gradient(180deg, #fff 0%, #f3f5f4 100%);
  border-bottom: 1px solid #e3e7e5;
}

.pecas-loja-nova .topo-pagina__titulo {
  color: #101010;
}

.pecas-loja-nova .topo-pagina__texto {
  color: var(--gp-texto-suave-loja);
}

.pecas-loja-nova .busca-moto,
.pecas-loja-nova .filtros-rapidos {
  background: #fff;
  border-bottom-color: #e3e7e5;
}

.pecas-loja-nova .busca-moto__campo label,
.pecas-loja-nova .produtos__total,
.pecas-loja-nova .produtos__ordenar label,
.pecas-loja-nova .filtros__legenda {
  color: #53606a;
}

.pecas-loja-nova .busca-moto__campo select,
.pecas-loja-nova .busca-moto__campo input,
.pecas-loja-nova .produtos__ordenar select {
  background: #fff;
  color: #151515;
  border-color: #d9dfdd;
}

.pecas-loja-nova .btn--primario {
  background: var(--gp-vermelho-loja);
  color: #fff;
}

.pecas-loja-nova .filtros-rapidos__btn,
.pecas-loja-nova .paginacao__btn {
  background: #fff;
  border-color: #d9dfdd;
  color: #30363b;
}

.pecas-loja-nova .filtros-rapidos__btn--ativo,
.pecas-loja-nova .paginacao__btn--ativo {
  background: var(--gp-vermelho-loja);
  border-color: var(--gp-vermelho-loja);
  color: #fff;
}

.pecas-loja-nova .filtros__titulo,
.pecas-loja-nova .card-produto__descricao {
  color: #111;
}

.pecas-loja-nova .filtros__opcao,
.pecas-loja-nova .filtros__opcao:hover,
.pecas-loja-nova .card-produto__detalhes,
.pecas-loja-nova .card-produto__codigo {
  color: #59636b;
}

.pecas-loja-nova .card-produto {
  background: #fff;
  border-color: #e2e6e4;
  box-shadow: 0 12px 28px rgba(18, 22, 26, 0.06);
}

.pecas-loja-nova .card-produto:hover {
  border-color: rgba(250, 68, 72, 0.45);
  box-shadow: 0 18px 42px rgba(18, 22, 26, 0.1);
}

.pecas-loja-nova .card-produto__tag {
  background: #f0f2f2;
  color: #59636b;
}

.pecas-loja-nova .card-produto__rodape,
.pecas-loja-nova .produtos__cabecalho {
  border-color: #e3e7e5;
}

.pecas-loja-nova .card-produto__preco {
  color: var(--gp-vermelho-loja);
}

.pecas-loja-nova .loja-rodape {
  background: #111;
  color: #fff;
  padding: 52px 0 0;
}

.pecas-loja-nova .loja-rodape__grid {
  display: grid;
  grid-template-columns: 1.4fr 0.8fr 1fr;
  gap: 42px;
  align-items: start;
}

.pecas-loja-nova .loja-rodape__logo img {
  width: 92px;
  height: auto;
}

.pecas-loja-nova .loja-rodape__brand p {
  margin-top: 16px;
  color: #c9ced1;
}

.pecas-loja-nova .loja-rodape .rodape__titulo {
  color: #fff;
  font-family: var(--fonte-base);
  font-size: 0.82rem;
  letter-spacing: 0;
}

.pecas-loja-nova .loja-rodape .rodape__lista {
  margin-top: 14px;
}

.pecas-loja-nova .loja-rodape .rodape__lista a,
.pecas-loja-nova .loja-rodape .rodape__lista li {
  color: #c9ced1;
}

.pecas-loja-nova .loja-rodape__base {
  margin-top: 42px;
  padding: 18px var(--pad-lateral);
  border-top: 1px solid rgba(255,255,255,0.12);
  display: flex;
  justify-content: space-between;
  gap: 18px;
  color: #9fa6aa;
  font-size: 0.84rem;
}

.pecas-loja-nova .loja-rodape__base p {
  margin: 0;
}

@media (min-width: 900px) {
  .pecas-loja-nova .loja-cabecalho__nav,
  .pecas-loja-nova .loja-cabecalho__acoes {
    display: flex;
  }

  .pecas-loja-nova .loja-menu-btn {
    display: none;
  }
}

@media (max-width: 899px) {
  .pecas-loja-nova .loja-aviso {
    height: auto;
    min-height: 34px;
  }

  .pecas-loja-nova .loja-aviso__inner {
    flex-wrap: wrap;
    gap: 6px 8px;
    padding-block: 7px;
  }

  .pecas-loja-nova .loja-aviso__painel {
    margin-left: 0;
  }

  .pecas-loja-nova .loja-cabecalho {
    top: 50px;
    height: 94px;
  }

  .pecas-loja-nova .loja-cabecalho__logo-img {
    height: 66px;
  }

  .pecas-loja-nova .topo-pagina {
    padding-top: 172px;
  }

  .pecas-loja-nova .loja-menu-mobile {
    top: 144px;
  }

  .pecas-loja-nova .loja-rodape__grid,
  .pecas-loja-nova .loja-rodape__base {
    grid-template-columns: 1fr;
    display: grid;
  }
}
/* Rodape claro alinhado com a loja nova. */
.pecas-loja-nova .loja-rodape--claro {
  background: #fff;
  color: #475569;
  padding: 58px 0 0;
  border-top: 1px solid #dfe5e2;
}

.pecas-loja-nova .loja-rodape--claro .loja-rodape__grid {
  display: grid;
  grid-template-columns: minmax(280px, 2fr) 1fr 1.05fr 1.25fr;
  gap: clamp(34px, 5vw, 78px);
  align-items: start;
}

.pecas-loja-nova .loja-rodape--claro .loja-rodape__logo img {
  width: 96px;
  height: auto;
  margin-bottom: 18px;
}

.pecas-loja-nova .loja-rodape--claro .loja-rodape__brand p,
.pecas-loja-nova .loja-rodape--claro .loja-rodape__newsletter-texto {
  color: #53616f;
  font-size: 0.9rem;
  line-height: 1.55;
  max-width: 38ch;
}

.pecas-loja-nova .loja-rodape--claro .rodape__titulo {
  color: #050b16;
  font-family: var(--fonte-base);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.pecas-loja-nova .loja-rodape__contato-titulo {
  margin-top: 26px;
}

.pecas-loja-nova .loja-rodape--claro .rodape__lista {
  display: grid;
  gap: 10px;
  list-style: none;
}

.pecas-loja-nova .loja-rodape--claro .rodape__lista li,
.pecas-loja-nova .loja-rodape--claro .rodape__lista a {
  color: #475569;
  font-size: 0.88rem;
  text-decoration: none;
}

.pecas-loja-nova .loja-rodape--claro .rodape__lista a:hover,
.pecas-loja-nova .loja-rodape--claro .loja-rodape__admin {
  color: var(--gp-vermelho-loja);
}

.pecas-loja-nova .loja-rodape--claro .loja-rodape__contato {
  gap: 14px;
}

.pecas-loja-nova .loja-rodape--claro .loja-rodape__contato li {
  display: grid;
  gap: 4px;
}

.pecas-loja-nova .loja-rodape--claro .loja-rodape__contato strong {
  color: #050b16;
  font-size: 0.88rem;
}

.pecas-loja-nova .loja-rodape__newsletter {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

.pecas-loja-nova .loja-rodape__newsletter input {
  width: 100%;
  min-height: 42px;
  padding: 0 16px;
  border: 1px solid #d7dedb;
  border-radius: 8px;
  background: #f8faf9;
  color: #101828;
}

.pecas-loja-nova .loja-rodape__newsletter button {
  min-height: 44px;
  border: 0;
  border-radius: 8px;
  background: var(--gp-vermelho-loja);
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}

.pecas-loja-nova .loja-rodape--claro .loja-rodape__base {
  margin-top: 50px;
  padding: 22px var(--pad-lateral);
  border-top: 1px solid #dfe5e2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  color: #526273;
  font-size: 0.84rem;
}

.pecas-loja-nova .loja-rodape--claro .loja-rodape__base p {
  margin: 0;
  max-width: none;
}

.pecas-loja-nova .loja-rodape--claro .loja-rodape__base strong {
  color: #405166;
}

.pecas-loja-nova .loja-rodape--claro .loja-rodape__base p:last-child {
  display: flex;
  flex-wrap: wrap;
  gap: 26px;
}

.pecas-loja-nova .loja-rodape--claro .loja-rodape__base p:last-child strong {
  color: var(--gp-vermelho-loja);
}

@media (max-width: 980px) {
  .pecas-loja-nova .loja-rodape--claro .loja-rodape__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .pecas-loja-nova .loja-rodape--claro .loja-rodape__grid,
  .pecas-loja-nova .loja-rodape--claro .loja-rodape__base {
    grid-template-columns: 1fr;
    display: grid;
  }
}
/* Busca compacta: remove o topo alto e integra o titulo ao formulario. */
.pecas-loja-nova .topo-pagina {
  display: none;
}

.pecas-loja-nova .busca-moto {
  padding-top: 172px;
  padding-bottom: 28px;
}

.pecas-loja-nova .busca-moto__form {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 16px;
}

.pecas-loja-nova .busca-moto__intro {
  grid-column: 1 / -1;
  max-width: 720px;
}

.pecas-loja-nova .busca-moto__intro h1 {
  margin: 0 0 6px;
  color: #050b16;
  font-size: clamp(2rem, 4vw, 3rem);
}

.pecas-loja-nova .busca-moto__intro p {
  margin: 0;
  color: #53616f;
  max-width: 64ch;
}

.pecas-loja-nova .busca-moto__campos {
  grid-template-columns: minmax(170px, 0.9fr) minmax(170px, 0.9fr) minmax(150px, 0.75fr) minmax(230px, 1.35fr);
  gap: 14px;
}

.pecas-loja-nova .busca-moto__btn {
  align-self: end;
  min-width: 140px;
  margin-bottom: 0;
}

@media (max-width: 980px) {
  .pecas-loja-nova .busca-moto__form {
    grid-template-columns: 1fr;
  }

  .pecas-loja-nova .busca-moto__campos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pecas-loja-nova .busca-moto__btn {
    justify-self: end;
  }
}

@media (max-width: 640px) {
  .pecas-loja-nova .busca-moto {
    padding-top: 166px;
  }

  .pecas-loja-nova .busca-moto__campos {
    grid-template-columns: 1fr;
  }

  .pecas-loja-nova .busca-moto__btn {
    width: 100%;
  }
}
/* Corrige o loader que ficava visivel mesmo apos a busca terminar. */
.pecas-loja-nova .produtos__loading[hidden],
.pecas-loja-nova .produtos__vazio[hidden] {
  display: none !important;
}
/* Filtros laterais pesquisaveis. */
.pecas-loja-nova .filtros__busca {
  width: 100%;
  min-height: 40px;
  margin-bottom: 12px;
  padding: 0 12px;
  border: 1px solid #d9dfdd;
  border-radius: 8px;
  background: #fff;
  color: #151515;
  font-size: 0.88rem;
}

.pecas-loja-nova .filtros__busca::placeholder {
  color: #8a96a3;
}

.pecas-loja-nova .filtros__lista {
  display: flex;
  flex-direction: column;
  gap: var(--e-2);
}

.pecas-loja-nova .filtros__opcao[hidden] {
  display: none !important;
}

.pecas-loja-nova .filtros__opcao span:first-of-type {
  min-width: 0;
  overflow-wrap: anywhere;
}

.pecas-loja-nova .filtros__sem-opcoes {
  margin: 4px 0 0;
  color: #8a96a3;
  font-size: 0.82rem;
}

/* Ajuste fino da vitrine demo: frase em uma linha e usos em duas fileiras. */
@media (min-width: 981px) {
  .pecas-loja-nova .busca-moto {
    padding-top: 152px;
    padding-bottom: 20px;
  }

  .pecas-loja-nova .busca-moto__form {
    gap: 12px 16px;
  }

  .pecas-loja-nova .busca-moto__intro {
    max-width: none;
    margin-bottom: -2px;
  }

  .pecas-loja-nova .busca-moto__intro p {
    max-width: none;
    white-space: nowrap;
    font-size: 1rem;
    line-height: 1.35;
  }

  .pecas-loja-nova .filtros-rapidos {
    padding: 16px 0;
  }

  .pecas-loja-nova .filtros-rapidos .container {
    max-width: min(1500px, calc(100vw - 48px));
  }

  .pecas-loja-nova .filtros-rapidos__lista {
    display: grid;
    grid-auto-flow: column;
    grid-template-rows: repeat(2, minmax(36px, auto));
    grid-auto-columns: max-content;
    justify-content: center;
    align-items: center;
    gap: 7px 8px;
  }

  .pecas-loja-nova .filtros-rapidos__btn {
    min-height: 36px;
    padding: 7px 10px;
    font-size: 0.78rem;
    line-height: 1.1;
    white-space: nowrap;
  }
}

@media (max-width: 980px) {
  .pecas-loja-nova .busca-moto__intro p {
    white-space: normal;
  }
}

/* ============================================================
   BLOCO: cabecalho-busca
   Criado em 2026-09-04.

   Cabecalho PROPRIO da busca avancada. Substituiu o cabecalho
   copiado da loja (barra de avisos + menu de categorias), que
   criava duas navegacoes concorrentes na mesma tela.

   Este bloco fica no FIM do arquivo de proposito: ele sobrescreve
   o padding-top do .topo-pagina sem precisar caçar os 5 valores
   antigos (174/172/172/166/152px) espalhados em media queries.
   Aqueles valores compensavam a altura do cabecalho da loja, que
   era muito mais alto. Para reverter, basta apagar este bloco.
   ============================================================ */

.pecas-loja-nova .busca-cabecalho {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 20;
  height: 72px;
  display: flex;
  align-items: center;
  background: #fff;
  border-bottom: 1px solid #e3e7e5;
  box-shadow: 0 1px 8px rgba(0, 0, 0, 0.05);
}

.pecas-loja-nova .busca-cabecalho__interno {
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
}

.pecas-loja-nova .busca-cabecalho__marca {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.pecas-loja-nova .busca-cabecalho__marca img {
  height: 52px;
  width: auto;
  display: block;
}

/* Bloco do titulo: ocupa o espaco livre e empurra o "voltar" para a direita */
.pecas-loja-nova .busca-cabecalho__titulo {
  display: flex;
  flex-direction: column;
  line-height: 1.15;
  flex-grow: 1;
  min-width: 0;
}

.pecas-loja-nova .busca-cabecalho__titulo strong {
  font-family: var(--fonte-titulo, "Barlow Condensed", sans-serif);
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #101010;
}

.pecas-loja-nova .busca-cabecalho__titulo span {
  font-size: 0.8125rem;
  color: #6b7280;
}

/* Unico caminho de saida da pagina. Nao adicionar outros links aqui. */
.pecas-loja-nova .busca-cabecalho__voltar {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  min-height: 44px;
  padding: 10px 18px;
  border: 1px solid #d9dfdd;
  border-radius: 999px;
  background: #fff;
  color: #151515;
  font-weight: 600;
  font-size: 0.9375rem;
  text-decoration: none;
  transition: background-color 200ms ease, border-color 200ms ease;
}

.pecas-loja-nova .busca-cabecalho__voltar svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

@media (hover: hover) and (pointer: fine) {
  .pecas-loja-nova .busca-cabecalho__voltar:hover {
    background: #f3f5f4;
    border-color: #b9c2be;
  }
}

/* ---------- compensacao da altura do cabecalho ----------
   ATENCAO: o seletor certo e `.busca-moto`, NAO `.topo-pagina`.
   `.topo-pagina` nao existe mais no HTML desta pagina - as regras
   antigas (174/172/166/152px) que miravam esse seletor nunca
   tiveram efeito. O espaco real vem do padding-top do `.busca-moto`
   (linhas ~521, ~576 e ~633 deste arquivo).

   Cabecalho novo: 72px desktop, 64px ate 640px.
   Respiro curto de proposito - o pedido foi aproveitar melhor o
   espaco util da tela. */
.pecas-loja-nova .busca-moto {
  padding-top: 88px;
}

@media (min-width: 981px) {
  .pecas-loja-nova .busca-moto {
    padding-top: 88px;
    padding-bottom: 18px;
  }
}

@media (max-width: 980px) {
  .pecas-loja-nova .busca-moto {
    padding-top: 88px;
    padding-bottom: 22px;
  }
}

@media (max-width: 640px) {
  .pecas-loja-nova .busca-cabecalho {
    height: 64px;
  }

  .pecas-loja-nova .busca-cabecalho__marca img {
    height: 42px;
  }

  .pecas-loja-nova .busca-cabecalho__titulo span {
    display: none;
  }

  .pecas-loja-nova .busca-cabecalho__titulo strong {
    font-size: 1.15rem;
  }

  /* no celular o texto sai e fica so a seta, para caber */
  .pecas-loja-nova .busca-cabecalho__voltar {
    padding: 10px 12px;
  }

  .pecas-loja-nova .busca-cabecalho__voltar span {
    display: none;
  }

  .pecas-loja-nova .topo-pagina {
    padding-top: 84px;
  }
}
/* /BLOCO: cabecalho-busca */

/* ajuste mobile do cabecalho novo */
@media (max-width: 640px) {
  .pecas-loja-nova .busca-moto {
    padding-top: 78px;
    padding-bottom: 18px;
  }
}