.pcoll__grid {
  display: grid;
  grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr));
  gap: clamp(1rem, 2.4vw, 2rem);
  margin: 0; padding: 0; list-style: none;
}
.pcoll__grid:has(> :only-child) { grid-template-columns: minmax(0, 420px); justify-content: center; }
.pcoll__grid:has(> :nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, 420px)); justify-content: center; }
.pcoll__item .pcard { background: var(--color-surface); border-radius: calc(var(--radius) + 4px); padding: .75rem .75rem 1.1rem; border: 1px solid var(--color-border); }
.pcoll__placeholder { aspect-ratio: 1; border-radius: var(--radius); }
@media (max-width: 989px) { .pcoll__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 749px) {
  .pcoll--mobile-one .pcoll__grid { grid-template-columns: minmax(0, 1fr); }
  .pcoll--mobile-two .pcoll__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
  .pcoll--mobile-carousel .pcoll__grid {
    grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 78%;
    overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
    margin-inline: calc(var(--edge) * -1); padding-inline: var(--edge);
    scroll-padding-inline: var(--edge);
  }
  .pcoll--mobile-carousel .pcoll__grid::-webkit-scrollbar { display: none; }
  .pcoll--mobile-carousel .pcoll__item { scroll-snap-align: start; }
  .pcoll--mobile-carousel .pcoll__grid:has(> :only-child) { grid-auto-columns: 100%; }
}
