ปรับ Grid ตามความกว้าง

.products {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr; /* มือถือ: แถวเดียว */
}

@media (min-width: 640px) {
  .products {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .products {
    grid-template-columns: repeat(3, 1fr);
  }
}

ผลลัพธ์ที่คาดหวัง

จอแคบเห็น 1 คอลัมน์ · กลาง 2 · กว้าง 3 โดยไม่ต้อง HTML คนละชุด