{"product_id":"herios-sprej-za-poliranje-i-obnovu-farova","title":"Herios sprej za poliranje i obnovu farova","description":"\u003cstyle\u003e\n  .rm-nylonke{\n    font-family: system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;\n    line-height: 1.6;\n    color: #111827;\n    background: #ffffff;\n    border: 1px solid rgba(17,24,39,.10);\n    border-radius: 14px;\n    padding: 16px;\n    max-width: 900px;\n    margin: 0 auto;\n  }\n  .rm-nylonke h3{\n    margin: 0 0 8px 0;\n    font-size: 18px;\n    line-height: 1.25;\n    font-weight: 900;\n  }\n\n  \/* ===== OFFERS ===== *\/\n  .rm-offers{\n    margin: 10px 0 14px 0;\n    border-radius: 14px;\n    background:#f9fafb;\n    border: 1px solid rgba(17,24,39,.10);\n    padding: 10px;\n  }\n  .rm-offers-grid{\n    display:flex;\n    flex-direction:column;\n    gap:10px;\n  }\n\n  .rm-offer{\n    border-radius: 14px;\n    background:#ffffff;\n    border: 1px solid rgba(17,24,39,.10);\n    overflow:hidden;\n  }\n  .rm-offer[data-active=\"true\"]{\n    outline: 2px solid #f97316; \n    box-shadow: 0 12px 26px rgba(17,24,39,.10);\n  }\n\n  .rm-offer-head{\n    display:grid;\n    grid-template-columns: 56px 1fr auto;\n    gap:10px;\n    align-items:center;\n    padding: 10px 10px;\n    background:#fff7ed; \n    border-bottom: 1px solid rgba(17,24,39,.10);\n  }\n  .rm-offer-thumb{\n    width:56px;height:56px;border-radius:12px;\n    background:#fff;\n    border:1px solid rgba(17,24,39,.12);\n    display:flex;align-items:center;justify-content:center;\n    overflow:hidden;\n  }\n  .rm-offer-thumb img{\n    width:100%;height:100%;\n    object-fit:cover;\n    display:block;\n  }\n\n  .rm-offer-title{\n    display:flex;\n    flex-direction:column;\n    gap:4px;\n    min-width:0;\n  }\n  .rm-offer-title b{\n    font-size: 14px;\n    font-weight: 900;\n    letter-spacing:.2px;\n    line-height:1.1;\n  }\n\n  .rm-offer-prices{\n    text-align:right;\n    white-space:nowrap;\n    padding-left:6px;\n  }\n  .rm-old{\n    display:block;\n    font-size: 12px;\n    font-weight: 800;\n    color: rgba(17,24,39,.55);\n    text-decoration: line-through;\n  }\n  .rm-new{\n    display:block;\n    font-size: 18px;\n    font-weight: 950;\n    color:#111827;\n  }\n\n  .rm-offer-body{\n    padding: 10px 10px 12px 10px;\n    background:#ffffff;\n  }\n  .rm-fields-head{\n    display:grid;\n    grid-template-columns: 1fr;\n    gap:10px;\n    margin: 0 0 6px 0;\n    font-size: 13px;\n    font-weight: 900;\n    color:#111827;\n    padding-left: 0;\n  }\n  .rm-fields{\n    display:flex;\n    flex-direction:column;\n    gap:8px;\n  }\n  .rm-row{\n    display:flex;\n    gap:10px;\n    align-items:center;\n  }\n\n  .rm-colorwrap{\n    display:flex;\n    align-items:center;\n    gap:10px;\n    min-width:0;\n    width: 100%;\n  }\n  .rm-colorimg{\n    width:38px;height:38px;\n    border-radius:10px;\n    border:1px solid rgba(17,24,39,.14);\n    background:#fff;\n    object-fit:cover;\n    display:block;\n    flex: 0 0 auto;\n  }\n\n  .rm-qty-wrapper{\n    display: flex;\n    align-items: center;\n    width: 100%;\n    max-width: 130px;\n    height: 38px;\n    border-radius: 10px;\n    border: 1px solid rgba(17,24,39,.18);\n    background: #fff;\n    overflow: hidden;\n  }\n  .rm-qty-btn{\n    flex: 0 0 35px; \n    height: 100%;\n    background: #f9fafb;\n    border: none;\n    font-size: 18px;\n    font-weight: 900;\n    color: #111827;\n    cursor: pointer;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    transition: background 0.2s;\n    padding: 0;\n  }\n  .rm-qty-btn:hover{\n    background: #e5e7eb;\n  }\n  .rm-qty-input{\n    flex: 1;\n    min-width: 0; \n    width: 100%;\n    height: 100%;\n    padding: 0;\n    border: none;\n    border-left: 1px solid rgba(17,24,39,.18);\n    border-right: 1px solid rgba(17,24,39,.18);\n    text-align: center;\n    font-weight: 900;\n    font-size: 15px;\n    color: #111827;\n    -moz-appearance: textfield;\n    outline: none;\n  }\n  .rm-qty-input::-webkit-outer-spin-button,\n  .rm-qty-input::-webkit-inner-spin-button {\n    -webkit-appearance: none;\n    margin: 0;\n  }\n  .rm-qty-input:focus{\n    box-shadow: inset 0 0 0 2px rgba(249,115,22,.3); \n  }\n\n  .rm-buybar{\n    margin-top:10px;\n    display:flex;\n    flex-wrap:wrap;\n    gap:10px;\n    align-items:center;\n    justify-content:space-between;\n    padding-top:10px;\n    border-top: 1px dashed rgba(17,24,39,.18);\n  }\n  .rm-total{\n    display:flex;\n    flex-direction:column;\n    gap:2px;\n  }\n  .rm-total span{\n    font-size: 12px;\n    font-weight: 900;\n    color: rgba(17,24,39,.65);\n    text-transform:uppercase;\n    letter-spacing:.25px;\n  }\n  .rm-total b{\n    font-size: 20px;\n    font-weight: 950;\n  }\n  .rm-buybtn{\n    border:0;\n    cursor:pointer;\n    border-radius: 999px;\n    padding: 12px 18px;\n    background:#f97316; \n    color:#fff;\n    font-weight: 950;\n    font-size: 14px;\n    display:inline-flex;\n    align-items:center;\n    gap:10px;\n    transition: transform .12s ease, opacity .12s ease;\n  }\n  .rm-buybtn:hover{ opacity:.92; }\n  .rm-buybtn:active{ transform: translateY(1px); }\n  .rm-buybtn:disabled{\n    opacity:.55;\n    cursor:not-allowed;\n  }\n\n  .rm-buyerr{\n    display:none;\n    margin-top:10px;\n    padding:10px 12px;\n    border-radius:12px;\n    background:#fff1f2;\n    border:1px solid rgba(190,18,60,.22);\n    color:#9f1239;\n    font-weight:900;\n    font-size:12px;\n  }\n\n  @media (min-width: 521px) and (max-width: 1024px) and (orientation: portrait){\n    .rm-nylonke{ padding: 14px; }\n    .rm-nylonke h3{ font-size: 17px; }\n    .rm-offer-head{ grid-template-columns: 48px 1fr; grid-template-areas: \"thumb title\" \"price price\"; gap: 8px; padding: 9px 10px; align-items: start; }\n    .rm-offer-thumb{ grid-area: thumb; width:48px;height:48px;border-radius:11px; }\n    .rm-offer-title{ grid-area: title; gap: 3px; }\n    .rm-offer-prices{ grid-area: price; text-align: left; padding-left: 0; display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; }\n    .rm-buybar{ gap: 8px; }\n    .rm-buybtn{ padding: 11px 16px; font-size: 13px; }\n  }\n\n  @media (max-width: 520px){\n    .rm-offer-head{ grid-template-columns: 52px 1fr; grid-template-areas: \"thumb title\" \"price price\"; align-items:start; }\n    .rm-offer-thumb{ grid-area:thumb; width:52px;height:52px; }\n    .rm-offer-title{ grid-area:title; }\n    .rm-offer-prices{ grid-area:price; text-align:left; padding-left:0; }\n    .rm-qty-wrapper{ max-width: 100%; margin-bottom: 5px; }\n    .rm-buybar{ justify-content:center; text-align:center; }\n    .rm-total{ width:100%; align-items:center; }\n    .rm-buybtn{ width:100%; justify-content:center; }\n  }\n\n  .rm-topline{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin: 8px 0 12px 0; }\n  .rm-rating{ display:inline-flex; align-items:center; gap:8px; padding: 8px 12px; border-radius: 999px; background:#f9fafb; border: 1px solid rgba(17,24,39,.10); font-weight: 800; font-size: 13px; }\n  .rm-rating small{ font-weight: 700; color: rgba(17,24,39,.72); }\n  .rm-stars{ letter-spacing:.6px; color: #f59e0b; }\n\n  .rm-live{ display:inline-flex; align-items:center; gap:8px; padding: 8px 12px; border-radius: 999px; background:#fff7ed; border: 1px solid rgba(249,115,22,.18); font-weight: 800; font-size: 13px; }\n  .rm-dot{ width:8px;height:8px;border-radius:50%; background:#f97316; box-shadow:0 0 0 3px rgba(249,115,22,.18); animation: rm-pulse 2s infinite; }\n  @keyframes rm-pulse { 0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(249,115,22,0.7); } 70% { transform: scale(1); box-shadow: 0 0 0 6px rgba(249,115,22,0); } 100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(249,115,22,0); } }\n\n  .rm-reviews{ margin: 10px 0 14px 0; border-radius: 14px; background:#f9fafb; border: 1px solid rgba(17,24,39,.10); padding: 10px 12px; overflow:hidden; }\n  .rm-track{ display:flex; transition: transform .45s ease; will-change: transform; }\n  .rm-review{ min-width:100%; display:flex; gap:10px; align-items:flex-start; }\n  .rm-avatar{ width:34px;height:34px;border-radius:10px; background:#f97316; color:#fff; display:flex;align-items:center;justify-content:center; font-weight:900; font-size: 14px; flex: 0 0 auto; }\n  .rm-mini-stars{ font-size:12px; letter-spacing:.4px; color: #f59e0b; margin-top: 2px; }\n  .rm-reviews p{ margin: 0; color: rgba(17,24,39,.78); font-size: 13px; line-height: 1.35; }\n  .rm-reviews b{ display:block; font-size: 13px; line-height: 1.15; margin-bottom: 2px; }\n\n  .rm-content{ position:relative; overflow:hidden; max-height:260px; transition:max-height .35s ease; }\n  .rm-nylonke[data-collapsed=\"false\"] .rm-content{ max-height:9999px; }\n  .rm-fade{ position:absolute; left:0;right:0;bottom:0; height:70px; background:linear-gradient(to bottom,rgba(255,255,255,0),#fff); pointer-events:none; }\n  .rm-nylonke[data-collapsed=\"false\"] .rm-fade{ display:none; }\n  .rm-content p{ margin: 10px 0; }\n  .rm-content ul{ margin: 10px 0 0 18px; }\n  .rm-content li{ margin: 6px 0; }\n\n  .rm-btn-row{ margin-top:12px; display:flex; }\n  .rm-toggle{ border:0; cursor:pointer; border-radius:999px; padding:10px 16px; background:#111827; color:#fff; font-weight:800; font-size: 14px; display:inline-flex; align-items:center; gap:8px; transition: transform .12s ease, opacity .12s ease; }\n  .rm-toggle:hover{ opacity:.92; }\n  .rm-toggle:active{ transform: translateY(1px); }\n\u003c\/style\u003e\n\u003cdiv class=\"rm-nylonke\" data-collapsed=\"true\" data-rm-root=\"\"\u003e\n\u003ch3\u003e✨ Herios sprej za poliranje i obnovu farova ✨\u003c\/h3\u003e\n\u003cdiv class=\"rm-offers\" aria-label=\"Izbor paketa i opcija\" data-rm-bundles=\"\"\u003e\n\u003cdiv class=\"rm-offers-grid\"\u003e\n\u003cdiv class=\"rm-offer\" data-offer=\"1\" data-rows=\"1\" data-active=\"true\" data-id=\"51618619523392\"\u003e\n\u003cdiv class=\"rm-offer-head\"\u003e\n\u003cdiv class=\"rm-offer-thumb\" aria-hidden=\"true\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/4737\/9264\/files\/Heriossprejzapoliranjeiobnovufarova_250ml_1.png?v=1773471716\" alt=\"Herios sprej za farove\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"rm-offer-title\"\u003e\u003cb\u003eOdaberi količinu\u003c\/b\u003e\u003c\/div\u003e\n\u003cdiv class=\"rm-offer-prices\"\u003e\n\u003cspan class=\"rm-old\" data-old=\"\"\u003e2,150.00 RSD\u003c\/span\u003e \u003cspan class=\"rm-new\" data-new=\"\"\u003e1,390.00 RSD\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rm-offer-body\"\u003e\n\u003cdiv class=\"rm-fields-head\"\u003e\n\u003cdiv\u003eKOLIČINA\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rm-fields\"\u003e\n\u003cdiv class=\"rm-row\"\u003e\n\u003cdiv class=\"rm-colorwrap\"\u003e\n\u003cimg class=\"rm-colorimg\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/4737\/9264\/files\/Heriossprejzapoliranjeiobnovufarova_250ml_1.png?v=1773471716\" alt=\"Sprej preview\"\u003e\n\u003cdiv class=\"rm-qty-wrapper\"\u003e\n\u003cbutton class=\"rm-qty-btn rm-qty-minus\" type=\"button\" aria-label=\"Smanji količinu\"\u003e-\u003c\/button\u003e \u003cinput type=\"number\" class=\"rm-qty-input rm-qty-val\" value=\"1\" min=\"1\" aria-label=\"Količina\"\u003e \u003cbutton class=\"rm-qty-btn rm-qty-plus\" type=\"button\" aria-label=\"Povećaj količinu\"\u003e+\u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rm-buyerr\" data-buyerr=\"\"\u003eNe mogu da dodam proizvod u korpu. Proveri zalihe ili ID varijante.\u003c\/div\u003e\n\u003cdiv class=\"rm-buybar\" aria-label=\"Kupovina\"\u003e\n\u003cdiv class=\"rm-total\"\u003e\n\u003cspan\u003eUkupno za uplatu\u003c\/span\u003e \u003cb class=\"rm-total-price\"\u003e1,390.00 RSD\u003c\/b\u003e\n\u003c\/div\u003e\n\u003cbutton class=\"rm-buybtn\" type=\"button\"\u003e🛒 DODAJ U KORPU\u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rm-topline\" aria-label=\"Ocene i trenutno gledanje\"\u003e\n\u003cdiv class=\"rm-rating\" aria-label=\"Ocena proizvoda\"\u003e\n\u003cspan class=\"rm-stars\" aria-hidden=\"true\"\u003e★★★★★\u003c\/span\u003e \u003cspan\u003e4.8 \/ 5.0\u003c\/span\u003e \u003csmall\u003e(419 ocena)\u003c\/small\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rm-live\" aria-label=\"Trenutno gleda\"\u003e\n\u003cspan class=\"rm-dot\" aria-hidden=\"true\"\u003e\u003c\/span\u003e \u003cspan\u003eOvaj proizvod gleda\u003c\/span\u003e \u003cstrong class=\"rm-viewers\" style=\"margin-left: 2px;\"\u003e15\u003c\/strong\u003e \u003cspan\u003eljudi\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rm-reviews\" aria-label=\"Recenzije kupaca\"\u003e\n\u003cdiv class=\"rm-track\"\u003e\n\u003cdiv class=\"rm-review\"\u003e\n\u003cdiv class=\"rm-avatar\"\u003eJ\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cb\u003eJovan\u003c\/b\u003e\n\u003cdiv class=\"rm-mini-stars\" aria-hidden=\"true\"\u003e★★★★★\u003c\/div\u003e\n\u003cp\u003eOdličan sprej, farovi su mi progledali bukvalno posle 5 minuta laganog trljanja. Svaka preporuka!\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rm-review\"\u003e\n\u003cdiv class=\"rm-avatar\"\u003eM\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cb\u003eMarko\u003c\/b\u003e\n\u003cdiv class=\"rm-mini-stars\" aria-hidden=\"true\"\u003e★★★★★\u003c\/div\u003e\n\u003cp\u003eNije mi se davalo mnogo novca za poliranje kod majstora, a ovo je završilo posao vrhunski i jako brzo.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rm-review\"\u003e\n\u003cdiv class=\"rm-avatar\"\u003eD\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cb\u003eDejan\u003c\/b\u003e\n\u003cdiv class=\"rm-mini-stars\" aria-hidden=\"true\"\u003e★★★★☆\u003c\/div\u003e\n\u003cp\u003eZaista deluje, skinulo je ono grozno žutilo. Preporuka za sve koji imaju starija kola i matirane farove.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rm-review\"\u003e\n\u003cdiv class=\"rm-avatar\"\u003eN\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cb\u003eNikola\u003c\/b\u003e\n\u003cdiv class=\"rm-mini-stars\" aria-hidden=\"true\"\u003e★★★★★\u003c\/div\u003e\n\u003cp\u003eLako se nanosi, bukvalno samo krpom sam ispolirao oba fara za 10 minuta. Neuporedivo je bolja vidljivost noću.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rm-review\"\u003e\n\u003cdiv class=\"rm-avatar\"\u003eS\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cb\u003eStefan\u003c\/b\u003e\n\u003cdiv class=\"rm-mini-stars\" aria-hidden=\"true\"\u003e★★★★★\u003c\/div\u003e\n\u003cp\u003eRezultat se vidi momentalno! Pakovanje od 250ml je sasvim dovoljno da se odrade farovi par puta tokom godine.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rm-content\" id=\"rmText\"\u003e\n\u003cspan class=\"rm-fade\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\n\u003cp\u003e\u003cb\u003e🚗 Set za obnovu farova – Vratite jasnoću i sjaj za nekoliko minuta\u003c\/b\u003e\u003cbr\u003eZamućeni, požuteli farovi ne samo da kvare izgled automobila — već mogu smanjiti vidljivost tokom noćne vožnje.\u003c\/p\u003e\n\u003cp\u003eUz ovaj set za poliranje i obnovu farova (250 ml) možete brzo i jednostavno vratiti prozirnost farovima bez odlaska kod majstora i bez skupih zamena.\u003c\/p\u003e\n\u003cp\u003e✨ \u003cb\u003eŠta dobijate?\u003c\/b\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e✔ Vidno čistije i svetlije farove\u003c\/li\u003e\n\u003cli\u003e✔ Uklanjanje oksidacije i požutelosti\u003c\/li\u003e\n\u003cli\u003e✔ Bolju rasvetu tokom vožnje noću\u003c\/li\u003e\n\u003cli\u003e✔ Osvežen i negovan izgled automobila\u003c\/li\u003e\n\u003cli\u003e✔ Uštedu novca u odnosu na zamenu farova\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e🔧 \u003cb\u003eKako funkcioniše?\u003c\/b\u003e\u003cbr\u003eSpecijalna formula uklanja površinski sloj oksidacije i nečistoća sa plastike farova, čime se vraća njihova transparentnost i sjaj. Rezultat: farovi izgledaju svežije, a svetlo prolazi jasnije.\u003c\/p\u003e\n\u003cp\u003e🛠 \u003cb\u003eJednostavna primena – bez posebnog alata\u003c\/b\u003e\u003c\/p\u003e\n\u003col\u003e\n\u003cli\u003eOčistite i osušite far.\u003c\/li\u003e\n\u003cli\u003eNanesite sredstvo na krpu ili sunđer.\u003c\/li\u003e\n\u003cli\u003eKružnim pokretima polirajte površinu.\u003c\/li\u003e\n\u003cli\u003eObrišite čistom krpom.\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003cp\u003e\u003ci\u003eZa nekoliko minuta farovi dobijaju osvežen izgled.\u003c\/i\u003e\u003c\/p\u003e\n\u003cp\u003e📦 \u003cb\u003ePakovanje: 250 ml\u003c\/b\u003e\u003cbr\u003eDovoljno za više tretmana.\u003c\/p\u003e\n\u003cp\u003e🎯 \u003cb\u003eIdealno za:\u003c\/b\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e• Zamućene farove\u003c\/li\u003e\n\u003cli\u003e• Požutele plastične površine\u003c\/li\u003e\n\u003cli\u003e• Vozila starija od nekoliko godina\u003c\/li\u003e\n\u003cli\u003e• Brzu estetsku obnovu automobila\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rm-btn-row\"\u003e\u003cbutton class=\"rm-toggle\" type=\"button\" aria-expanded=\"false\" aria-controls=\"rmText\"\u003e \u003cspan class=\"rm-icon\" aria-hidden=\"true\"\u003e▼\u003c\/span\u003e \u003cspan class=\"rm-label\"\u003ePrikaži više\u003c\/span\u003e \u003c\/button\u003e\u003c\/div\u003e\n\u003cscript\u003e\n    (function(){\n      const root = document.currentScript.closest('[data-rm-root]') || document.currentScript.closest('.rm-nylonke');\n      if(!root) return;\n\n      const basePrice = 1390;\n\n      \/* ===== MONEY HELPERS ===== *\/\n      function formatRSD(n){\n        const s = (Math.round(n * 100) \/ 100).toFixed(2);\n        const parts = s.split('.');\n        const int = parts[0].replace(\/\\B(?=(\\d{3})+(?!\\d))\/g, ',');\n        return `${int}.${parts[1]} RSD`;\n      }\n\n      \/* ===== QTY LOGIC \u0026 TOTAL PRICE ===== *\/\n      const totalEl = root.querySelector('.rm-total-price');\n      const qtyInput = root.querySelector('.rm-qty-val');\n      const btnMinus = root.querySelector('.rm-qty-minus');\n      const btnPlus = root.querySelector('.rm-qty-plus');\n\n      function updateTotal(){\n        let qty = parseInt(qtyInput.value, 10) || 1;\n        if(qty \u003c 1) {\n          qty = 1;\n          qtyInput.value = 1;\n        }\n        const total = qty * basePrice;\n        totalEl.textContent = formatRSD(total);\n      }\n\n      btnMinus.addEventListener('click', () =\u003e {\n        let val = parseInt(qtyInput.value, 10) || 1;\n        if(val \u003e 1) {\n          qtyInput.value = val - 1;\n          updateTotal();\n        }\n      });\n\n      btnPlus.addEventListener('click', () =\u003e {\n        let val = parseInt(qtyInput.value, 10) || 1;\n        qtyInput.value = val + 1;\n        updateTotal();\n      });\n\n      qtyInput.addEventListener('change', updateTotal);\n      qtyInput.addEventListener('keyup', updateTotal);\n\n      \/* ===== ADD TO CART ===== *\/\n      const buyBtn = root.querySelector('.rm-buybtn');\n      const buyErr = root.querySelector('[data-buyerr]');\n\n      async function addToCart(){\n        if(buyErr) buyErr.style.display = 'none';\n\n        const variantId = \"51618619523392\"; \n        const payQty = parseInt(qtyInput.value, 10) || 1;\n        \n        const props = {\n          \"Količina\": payQty.toString(),\n          \"Ukupno za uplatu\": totalEl.textContent\n        };\n\n        buyBtn.disabled = true;\n        const oldTxt = buyBtn.textContent;\n        buyBtn.textContent = 'DODAJEM...';\n\n        try{\n          let cartAddUrl = '\/cart\/add.js';\n          if (window.Shopify \u0026\u0026 window.Shopify.routes \u0026\u0026 window.Shopify.routes.root) {\n              cartAddUrl = window.Shopify.routes.root + 'cart\/add.js';\n          }\n\n          const res = await fetch(cartAddUrl, {\n            method: 'POST',\n            headers: { 'Content-Type': 'application\/json', 'Accept': 'application\/json' },\n            body: JSON.stringify({\n              items: [{\n                id: variantId.toString(),\n                quantity: payQty, \n                properties: props\n              }]\n            })\n          });\n\n          if(!res.ok){\n            const t = await res.text();\n            console.error('Add error:', t);\n            if (buyErr) {\n              buyErr.textContent = 'Greška pri dodavanju u korpu. Proveri zalihe ili pokušaj ponovo.';\n              buyErr.style.display = 'block';\n            }\n            return;\n          }\n\n          let cartUrl = '\/cart';\n          if (window.Shopify \u0026\u0026 window.Shopify.routes \u0026\u0026 window.Shopify.routes.root) {\n              cartUrl = window.Shopify.routes.root + 'cart';\n          }\n          window.location.href = cartUrl;\n\n        }catch(e){\n          console.error(e);\n          if (buyErr) {\n            buyErr.textContent = 'Greška pri dodavanju u korpu. Proveri konekciju i probaj ponovo.';\n            buyErr.style.display = 'block';\n          }\n        }finally{\n          buyBtn.disabled = false;\n          buyBtn.textContent = oldTxt;\n        }\n      }\n\n      buyBtn.addEventListener('click', addToCart);\n\n      updateTotal();\n\n      \/* ===== READ MORE ===== *\/\n      const btn = root.querySelector('.rm-toggle');\n      const label = root.querySelector('.rm-label');\n      const icon = root.querySelector('.rm-icon');\n\n      btn.addEventListener('click', function(){\n        const collapsed = root.getAttribute('data-collapsed') !== 'false';\n        root.setAttribute('data-collapsed', collapsed ? 'false' : 'true');\n        btn.setAttribute('aria-expanded', collapsed ? 'true' : 'false');\n        label.textContent = collapsed ? 'Prikaži manje' : 'Prikaži više';\n        icon.textContent = collapsed ? '▲' : '▼';\n      });\n\n      \/* ===== REVIEWS SLIDER ===== *\/\n      const track = root.querySelector('.rm-track');\n      const items = Array.from(root.querySelectorAll('.rm-review'));\n      const box = root.querySelector('.rm-reviews');\n\n      let idx = 0, sliderTimer = null;\n      function go(i){\n        idx = (i + items.length) % items.length;\n        track.style.transform = `translateX(-${idx * 100}%)`;\n      }\n      function start(){\n        stop();\n        sliderTimer = setInterval(() =\u003e go(idx + 1), 3200);\n      }\n      function stop(){\n        if(sliderTimer) clearInterval(sliderTimer);\n        sliderTimer = null;\n      }\n      box.addEventListener('mouseenter', stop);\n      box.addEventListener('mouseleave', start);\n      go(0); start();\n\n      \/* ===== LIVE VIEWERS ===== *\/\n      const viewersEl = root.querySelector('.rm-viewers');\n      function bumpViewers(){\n        const cur = parseInt(viewersEl.textContent || '0', 10) || 15;\n        const inc = (Math.random() \u003e 0.5 ? 1 : -1) * (1 + Math.floor(Math.random() * 3)); \n        let next = cur + inc;\n        \/\/ Limit od 7 do 33\n        if(next \u003c 7) next = 7 + Math.floor(Math.random() * 4);\n        if(next \u003e 33) next = 33 - Math.floor(Math.random() * 4);\n        viewersEl.textContent = String(next);\n      }\n      setInterval(bumpViewers, 7000);\n    })();\n  \u003c\/script\u003e\n\u003c\/div\u003e","brand":"Brza korpa","offers":[{"title":"1","offer_id":51618619523392,"sku":null,"price":1390.0,"currency_code":"RSD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0974\/4737\/9264\/files\/Heriossprejzapoliranjeiobnovufarova_250ml_1.png?v=1773471716","url":"https:\/\/brzakorpa.rs\/products\/herios-sprej-za-poliranje-i-obnovu-farova","provider":"Brza korpa","version":"1.0","type":"link"}