/* Bloco: vitrine de peças com imagens substituíveis e acabamento industrial. */
.secao-loja { position: relative; overflow: clip; background: linear-gradient(180deg, #fff 0 68%, #f2f5fa 68% 100%); }
.cabecalho-loja { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-bottom: 34px; }
.cabecalho-loja h2 { max-width: 580px; margin-bottom: 0; }
.ferramentas-loja { display: grid; justify-items: end; gap: 11px; }
.campo-busca { width: 320px; padding: 14px 16px; border: 1px solid var(--linha); border-radius: 10px; color: var(--tinta); font-size: 15px; outline-color: var(--amarelo); }
.grade-produtos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.cartao-produto { position: relative; display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid #dde4ed; border-radius: 18px; background: #fff; box-shadow: 0 12px 28px #071a3f12; transition: transform .3s ease, box-shadow .3s ease; }
.imagem-produto { position: relative; display: grid; width: 100%; aspect-ratio: 4 / 3; place-items: center; border: 0; padding: 0; overflow: hidden; background: linear-gradient(135deg, #edf1f5, #f9fafc 55%, #e6ebf2); }
.imagem-produto img { width: 100%; height: 100%; object-fit: contain; transition: transform .4s ease; }
.selo-produto { position: absolute; top: 12px; left: 12px; z-index: 1; padding: 6px 9px; border-radius: 999px; background: var(--marinho); color: #fff; font-size: 9px; font-weight: 950; letter-spacing: .9px; }
.selo-esgotado { background: var(--vermelho); }
.dados-produto { display: grid; flex: 1; gap: 7px; padding: 18px; }
.dados-produto h3 { margin: 0; }
.categoria-produto { color: var(--laranja); font-size: 10px; font-weight: 950; letter-spacing: 1.1px; text-transform: uppercase; }
.nome-produto { width: max-content; max-width: 100%; border: 0; padding: 0; overflow: hidden; background: transparent; color: var(--tinta); font-family: inherit; font-size: 20px; font-weight: 900; line-height: 1.05; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
.nome-produto:focus-visible, .imagem-produto:focus-visible { outline: 3px solid var(--amarelo); outline-offset: -3px; }
.aplicacao-produto { min-height: 18px; color: var(--cinza); font-size: 12px; font-weight: 700; }
.preco { margin-top: auto; color: var(--marinho); font-size: 25px; font-weight: 950; letter-spacing: -.8px; }
.acoes-produto { display: grid; grid-template-columns: 1fr 1.1fr; gap: 8px; padding: 0 18px 18px; }
.acoes-produto .botao { min-width: 0; margin: 0; padding: 11px 10px; }
.acoes-produto .botao-claro { border-color: #d5dee9; }
.esqueleto-cartao { height: 388px; border-radius: 18px; background: linear-gradient(100deg, #eef1f6 30%, #f7f9fc 50%, #eef1f6 70%); background-size: 200% 100%; animation: brilho-carregando 1.3s infinite; }

@keyframes brilho-carregando { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .cartao-produto:hover { box-shadow: 0 22px 42px #051b5d24; transform: translateY(-5px); }
  .cartao-produto:hover .imagem-produto img { transform: scale(1.045); }
}

@media (max-width: 850px) {
  .cabecalho-loja { align-items: stretch; flex-direction: column; }
  .ferramentas-loja { justify-items: stretch; }
  .campo-busca { width: 100%; }
  .grade-produtos { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 550px) {
  .secao-loja { background: #fff; }
  .grade-produtos { grid-template-columns: 1fr; gap: 16px; }
  .dados-produto { padding: 16px; }
  .acoes-produto { padding: 0 16px 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .cartao-produto, .imagem-produto img { transition: none; }
}