/*
 * /pecas e a página do produto: filtros na lateral (no celular, dentro do "Filtrar"), a grade de
 * cards e o card de produto (assets/js/pecas/cartao.js). Só tokens; a camada é a das páginas.
 */
@layer paginas {
  .pecas {
    gap: var(--space-5);
  }

  .pecas__contexto {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
  }

  .pecas__recorte {
    font-size: var(--text-xl);
    font-weight: var(--font-weight-semibold);
  }

  .pecas__lista {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
  }

  .pecas__grade {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: var(--space-8);
  }

  .pecas__lateral {
    display: none;
  }

  .pecas__principal {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    min-width: 0;
  }

  .pecas__filtrar {
    border: 1px solid var(--color-border-control);
    border-radius: var(--radius-md);
  }

  .pecas__filtrar > summary {
    display: flex;
    align-items: center;
    min-height: var(--target-min);
    padding-inline: var(--space-3);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
  }

  .pecas__filtrar > .filtros {
    padding: var(--space-3);
    border-top: 1px solid var(--color-border);
  }

  @media (width >= 64rem) {
    .pecas__grade {
      grid-template-columns: clamp(14rem, 12vw, 19rem) minmax(0, 1fr);
    }

    .pecas__lateral {
      display: block;
    }

    .pecas__filtrar {
      display: none;
    }
  }

  .pecas .filtros h3 {
    margin: 0;
    color: var(--color-fg-muted);
    font-size: var(--text-sm);
    font-weight: var(--font-weight-semibold);
  }

  .pecas .filtros section section {
    margin-top: var(--space-2);
  }

  .pecas__preco {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-2);
  }

  .pecas__preco fieldset {
    margin: 0;
    padding: 0;
    border: 0;
  }

  .pecas__preco legend {
    margin-bottom: var(--space-1);
    font-weight: var(--font-weight-semibold);
  }

  .pecas__preco-campos {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-2);
  }

  .pecas__resultados {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(var(--cartao-min), 1fr));
    gap: var(--cartao-gap);
  }

  .pecas .vazio {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-3);
  }
}
