Hi,
Well, the problem is a structure problem of the custom field system.
The custom field system is based on the fact that one custom field correspond to one column of the table in the database.
So, if you create a custom field of the table "product" called "field1", then HikaShop will add a column "field1" in the hikashop_product table.
Now, if you want to introduce repeatable custom fields, it would require adding as many columns to the table in the database for the maximum amount of repeated in the products.
This means potentially adding a lot of columns.
Besides, that also means reviewing the custom field system to support "grouping". Not only the custom field configuration interface in the backend, but any view where custom fields are displayed. Also, you need to change any saving function to support this too. And this also means complex changes for import / export / mass actions. So, these are really extensive changes.
A plugin to support this won't cut it.
A way simpler approach is to just have the layout as a characteristic of your products, with one variant per layout. That way, in each variant you can configure one set of custom product fields, and when the user selects the layout on the product page, the custom fields display will update on the product page to reflect the value of the custom fields for the selected variant.
This doesn't require changing any code, and seems to need your needs. Or am I missing something ?