{
  "version": 3,
  "sources": ["/cdn/shop/t/8/assets/neckle-merchant-listing-data.js?rev=20260917-2"],
  "sourcesContent": ["/*\n * Google Search Console zglosil brakujace pola w Offer generowanym przez\n * natywny filtr Shopify `{{ product | structured_data }}`: shippingDetails,\n * hasMerchantReturnPolicy, i description na poziomie wariantu (2026-09-16).\n *\n * Nie zastepujemy tego filtra recznym JSON-LD - price/priceCurrency/\n * availability/sku/image dziala poprawnie (GSC ich nie zglosil) i replikowanie\n * logiki formatowania Shopify tylko po to, zeby dokleic 3 pola, ryzykuje\n * rozjazd z tym, co juz dziala. Zamiast tego doklejamy brakujace pola do\n * istniejacego, poprawnego JSON-a po wyrenderowaniu strony - Google (i kazdy\n * inny parser structured data renderujacy JS) czyta DOM po wykonaniu skryptow,\n * wiec ta metoda jest wspierana.\n *\n * Fakty ponizej wprost z /policies/shipping-policy i /policies/refund-policy\n * (stan na 2026-09-17, PL+UE po korekcie stref dostawy w regulaminie) - przy\n * zmianie ktoregos z tych dokumentow zaktualizuj i tutaj.\n */\n(() => {\n  const skrypt = document.querySelector('script[type=\"application/ld+json\"]');\n  if (!skrypt) return;\n\n  let dane;\n  try { dane = JSON.parse(skrypt.textContent); } catch (error) { return; }\n  if (dane['@type'] !== 'ProductGroup' || !Array.isArray(dane.hasVariant)) return;\n\n  const dniRobocze = (min, max) => ({\n    '@type': 'QuantitativeValue',\n    minValue: min,\n    maxValue: max,\n    unitCode: 'd',\n  });\n\n  // Caly katalog to bizuteria personalizowana (zdjecie pupila, grawer) -\n  // art. 38 pkt 3 ustawy o prawach konsumenta wylacza prawo odstapienia dla\n  // produktow wykonanych na indywidualne zamowienie. Reklamacje (produkt\n  // wadliwy/niezgodny) to odrebne, ustawowe prawo - nie ogranicza go\n  // deklaracja \"brak zwrotow\" w tym polu, ktore opisuje wylacznie\n  // dobrowolna polityke zwrotu z powodu zmiany zdania.\n  const krajeUnii = [\n    'AT', 'BE', 'BG', 'HR', 'CY', 'CZ', 'DK', 'EE', 'FI', 'FR', 'DE', 'GR',\n    'HU', 'IE', 'IT', 'LV', 'LT', 'LU', 'MT', 'NL', 'PL', 'PT', 'RO', 'SK',\n    'SI', 'ES', 'SE',\n  ];\n  const politykaZwrotow = {\n    '@type': 'MerchantReturnPolicy',\n    applicableCountry: krajeUnii,\n    returnPolicyCategory: 'https://schema.org/MerchantReturnNotPermitted',\n  };\n\n  // Czas produkcji (2-5 dni roboczych) jest wspolny dla wszystkich stref -\n  // personalizacja/grawer zajmuje tyle samo niezaleznie od kraju dostawy.\n  const strefaWysylki = (kraje, kwotaEur, transitMin, transitMax) => ({\n    '@type': 'OfferShippingDetails',\n    shippingRate: { '@type': 'MonetaryAmount', value: kwotaEur, currency: 'EUR' },\n    shippingDestination: { '@type': 'DefinedRegion', addressCountry: kraje },\n    deliveryTime: {\n      '@type': 'ShippingDeliveryTime',\n      handlingTime: dniRobocze(2, 5),\n      transitTime: dniRobocze(transitMin, transitMax),\n    },\n  });\n\n  // Sklep wysyla wylacznie do Polski i UE (patrz terms.delivery_i2/i3,\n  // zaktualizowane 2026-09-17) - strefy US/GB/CA/AU/NZ usuniete, bo nie\n  // odpowiadaly faktycznie skonfigurowanym strefom dostawy w Shopify.\n  const strefyWysylki = [strefaWysylki(krajeUnii, 7, 2, 10)];\n\n  dane.hasVariant.forEach((wariant) => {\n    if (!wariant.description) wariant.description = dane.description;\n    if (wariant.offers) {\n      wariant.offers.shippingDetails = strefyWysylki;\n      wariant.offers.hasMerchantReturnPolicy = politykaZwrotow;\n    }\n  });\n\n  skrypt.textContent = JSON.stringify(dane);\n})();\n"],
  "mappings": "CAiBC,IAAM,CACL,MAAM,OAAS,SAAS,cAAc,oCAAoC,EAC1E,GAAI,CAAC,OAAQ,OAEb,IAAI,KACJ,GAAI,CAAE,KAAO,KAAK,MAAM,OAAO,WAAW,CAAG,MAAgB,CAAE,MAAQ,CACvE,GAAI,KAAK,OAAO,IAAM,gBAAkB,CAAC,MAAM,QAAQ,KAAK,UAAU,EAAG,OAEzE,MAAM,WAAa,CAAC,IAAK,OAAS,CAChC,QAAS,oBACT,SAAU,IACV,SAAU,IACV,SAAU,GACZ,GAQM,UAAY,CAChB,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAClE,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAClE,KAAM,KAAM,IACd,EACM,gBAAkB,CACtB,QAAS,uBACT,kBAAmB,UACnB,qBAAsB,+CACxB,EAkBM,cAAgB,EAdA,CAAC,MAAO,SAAU,WAAY,cAAgB,CAClE,QAAS,uBACT,aAAc,CAAE,QAAS,iBAAkB,MAAO,SAAU,SAAU,KAAM,EAC5E,oBAAqB,CAAE,QAAS,gBAAiB,eAAgB,KAAM,EACvE,aAAc,CACZ,QAAS,uBACT,aAAc,WAAW,EAAG,CAAC,EAC7B,YAAa,WAAW,WAAY,UAAU,CAChD,CACF,IAKqC,UAAW,EAAG,EAAG,EAAE,CAAC,EAEzD,KAAK,WAAW,QAAS,SAAY,CAC9B,QAAQ,cAAa,QAAQ,YAAc,KAAK,aACjD,QAAQ,SACV,QAAQ,OAAO,gBAAkB,cACjC,QAAQ,OAAO,wBAA0B,gBAE7C,CAAC,EAED,OAAO,YAAc,KAAK,UAAU,IAAI,CAC1C,GAAG",
  "names": []
}
