/* ==========================================================================
   PEÇAS — vitrine (cartões gerados por js/componentes/pecas.js)
   ========================================================================== */

.pecas { background: #fff; }
.pecas__topo { display: flex; flex-direction: column; gap: .5rem; margin-bottom: 3rem; }
.pecas__topo .secao__titulo { font-size: clamp(1.875rem, 1.4rem + 1.6vw, 2.25rem); }
.pecas__aviso { max-width: 28rem; color: var(--cinza-500); font-size: .875rem; }

.pecas__grade { display: grid; grid-template-columns: repeat(2, 1fr); gap: .75rem; }

.card-peca {
  display: flex; flex-direction: column; overflow: hidden; border-radius: var(--raio-lg);
  background: #fff; border: 1px solid var(--cinza-200); box-shadow: var(--sombra-md);
  transition: box-shadow .3s;
}
.card-peca:hover { box-shadow: var(--sombra-lg); }
.card-peca__foto {
  display: flex; align-items: center; justify-content: center; aspect-ratio: 1;
  padding: .75rem; overflow: hidden; border-bottom: 1px solid var(--cinza-100);
}
.card-peca__foto img { width: 100%; height: 100%; object-fit: contain; transition: transform .3s; }
.card-peca:hover .card-peca__foto img { transform: scale(1.05); }
.card-peca__corpo { display: flex; flex: 1; flex-direction: column; justify-content: space-between; gap: 1rem; padding: .75rem; }
.card-peca__nome { font-size: .875rem; font-weight: 700; line-height: 1.375; color: var(--azul-900); }
.card-peca .btn { padding: .5rem; font-size: .75rem; line-height: 1.25; gap: .375rem; }

@media (min-width: 640px) {
  .pecas__grade { gap: 1.5rem; }
  .card-peca__foto { padding: 1.5rem; }
  .card-peca__corpo { padding: 1.5rem; }
  .card-peca__nome { font-size: 1.125rem; }
  .card-peca .btn { padding: .625rem 1rem; font-size: .875rem; gap: .5rem; }
}
@media (min-width: 768px) {
  .pecas__topo { flex-direction: row; align-items: flex-end; justify-content: space-between; }
}
@media (min-width: 1024px) { .pecas__grade { grid-template-columns: repeat(3, 1fr); gap: 2rem; } }
