{"product_id":"nepoderive-carape-20-den","title":"Nepoderive čarape Debljina 20 Den Univerzalne 1+1 Gratis","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 (TABS) ===== *\/\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    cursor: pointer;\n    transition: all 0.2s ease;\n  }\n  .rm-offer[data-active=\"true\"]{\n    outline: 2px solid #f97316;\n    box-shadow: 0 12px 26px rgba(249, 115, 22, .15);\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  .rm-badge{\n    display:inline-flex;\n    align-items:center;\n    width:max-content;\n    padding:4px 8px;\n    border-radius: 6px;\n    font-size: 11px;\n    font-weight: 900;\n    letter-spacing:.3px;\n    color:#fff;\n    text-transform:uppercase;\n  }\n  .rm-badge-1 { background: #64748b; }\n  .rm-badge-2 { background: #f97316; }\n  .rm-badge-3 { background: #ef4444; }\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 12px;\n    background:#ffffff;\n  }\n\n  .rm-promo-box {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n    padding: 10px 12px;\n    background: #fff8f1;\n    border: 1px dashed #fbd38d;\n    border-radius: 8px;\n  }\n  .rm-promo-badge {\n    background: #ef4444;\n    color: #fff;\n    font-size: 12px;\n    font-weight: 900;\n    padding: 4px 8px;\n    border-radius: 6px;\n    white-space: nowrap;\n    text-transform: uppercase;\n  }\n  .rm-promo-text {\n    font-size: 13px;\n    color: #c2410c;\n    font-weight: 600;\n    line-height: 1.3;\n    margin: 0;\n  }\n\n  \/* ===== DINAMIČKI BIRAČ BOJA ===== *\/\n  .rm-color-selections {\n    margin-top: 12px;\n    padding: 15px;\n    background: #f9fafb;\n    border: 1px solid rgba(17,24,39,.10);\n    border-radius: 12px;\n  }\n  .rm-colors-wrapper {\n    display: flex;\n    gap: 15px;\n    flex-wrap: wrap;\n  }\n  .rm-color-group {\n    flex: 1;\n    min-width: 140px;\n    display: flex;\n    flex-direction: column;\n    gap: 8px;\n  }\n  .rm-color-group-title {\n    font-size: 13px;\n    font-weight: 900;\n    margin-bottom: 4px;\n    text-transform: uppercase;\n    letter-spacing: .3px;\n  }\n  .rm-color-group-title.paid { color: #111827; }\n  .rm-color-group-title.free { color: #ef4444; }\n  \n  .rm-color-row {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    background: #ffffff;\n    border: 1px solid rgba(17,24,39,.15);\n    border-radius: 8px;\n    padding: 10px 14px;\n  }\n  .rm-color-row span {\n    font-size: 14px;\n    font-weight: 800;\n    color: #111827;\n  }\n  .rm-color-select {\n    border: none;\n    background: transparent;\n    font-weight: 800;\n    font-size: 14px;\n    color: #f97316;\n    outline: none;\n    cursor: pointer;\n    text-align: right;\n    padding: 2px 4px;\n  }\n  .rm-color-select option {\n    font-weight: 600;\n    color: #111827;\n    padding: 8px 12px;\n    font-size: 14px;\n  }\n\n  \/* ===== KUPOVINA ===== *\/\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    color: #f97316;\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{ opacity:.55; cursor:not-allowed; }\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  \/* TABLET\/MOBILE *\/\n  @media (max-width: 520px){\n    .rm-offer-head{\n      grid-template-columns: 52px 1fr;\n      grid-template-areas:\n        \"thumb title\"\n        \"price price\";\n      align-items:start;\n    }\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-buybar{ justify-content:center; text-align:center; }\n    .rm-total{ width:100%; align-items:center; }\n    .rm-buybtn{ width:100%; justify-content:center; }\n    .rm-color-group { min-width: 100%; }\n  }\n\n  \/* Ostali stilovi (ocene, opis...) *\/\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(124,45,18,.18); font-weight: 800; font-size: 13px; }\n  .rm-dot{ width:8px;height:8px;border-radius:50%; background:#ef4444; box-shadow:0 0 0 3px rgba(239,68,68,.18); animation: rm-pulse 2s infinite; }\n  @keyframes rm-pulse { 0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(239,68,68,0.7); } 70% { transform: scale(1); box-shadow: 0 0 0 6px rgba(239,68,68,0); } 100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(239,68,68,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\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 data-rm-root=\"\" data-collapsed=\"true\" class=\"rm-nylonke\"\u003e\n\u003ch3\u003e✨Nepoderive čarape Debljina 20 Den Univerzalne 1+1 Gratis✨\u003c\/h3\u003e\n\u003cdiv data-rm-bundles=\"\" aria-label=\"Izbor paketa i opcija\" class=\"rm-offers\"\u003e\n\u003cdiv class=\"rm-offers-grid\"\u003e\n\u003cdiv data-id=\"51744956645696\" data-price=\"1650\" data-title=\"Paket 1+1\" data-qty=\"1\" data-active=\"true\" class=\"rm-offer\"\u003e\n\u003cdiv class=\"rm-offer-head\"\u003e\n\u003cdiv aria-hidden=\"true\" class=\"rm-offer-thumb\"\u003e\u003cimg alt=\"Nepoderive čarape 1+1\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/4737\/9264\/files\/Nepoderivecarape_2.png?v=1773496253\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"rm-offer-title\"\u003e\n\u003cb\u003ePaket 1+1 GRATIS\u003c\/b\u003e \u003cspan class=\"rm-badge rm-badge-1\"\u003eOSNOVNI PAKET\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rm-offer-prices\"\u003e\n\u003cspan class=\"rm-old\"\u003e3,700.00 RSD\u003c\/span\u003e \u003cspan class=\"rm-new\"\u003e1,650.00 RSD\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rm-offer-body\"\u003e\n\u003cdiv class=\"rm-promo-box\"\u003e\n\u003cdiv class=\"rm-promo-badge\"\u003e1+1 GRATIS\u003c\/div\u003e\n\u003cp class=\"rm-promo-text\"\u003eOdabrali ste osnovni paket. Dobijate ukupno 2 para čarapa.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv data-id=\"51744956678464\" data-price=\"3400\" data-title=\"Paket 2+2\" data-qty=\"2\" data-active=\"false\" class=\"rm-offer\"\u003e\n\u003cdiv class=\"rm-offer-head\"\u003e\n\u003cdiv aria-hidden=\"true\" class=\"rm-offer-thumb\"\u003e\u003cimg alt=\"Nepoderive čarape 2+2\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/4737\/9264\/files\/Nepoderivecarape_2.png?v=1773496253\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"rm-offer-title\"\u003e\n\u003cb\u003ePaket 2+2 GRATIS\u003c\/b\u003e \u003cspan class=\"rm-badge rm-badge-2\"\u003eNAJPRODAVANIJE\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rm-offer-prices\"\u003e\n\u003cspan class=\"rm-old\"\u003e7,700.00 RSD\u003c\/span\u003e \u003cspan class=\"rm-new\"\u003e3,400.00 RSD\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rm-offer-body\" hidden=\"\"\u003e\n\u003cdiv class=\"rm-promo-box\"\u003e\n\u003cdiv class=\"rm-promo-badge\"\u003e2+2 GRATIS\u003c\/div\u003e\n\u003cp class=\"rm-promo-text\"\u003eOdabrali ste paket 2+2. Dobijate ukupno 4 para čarapa.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv data-id=\"51744956711232\" data-price=\"5100\" data-title=\"Paket 3+3\" data-qty=\"3\" data-active=\"false\" class=\"rm-offer\"\u003e\n\u003cdiv class=\"rm-offer-head\"\u003e\n\u003cdiv aria-hidden=\"true\" class=\"rm-offer-thumb\"\u003e\u003cimg alt=\"Nepoderive čarape 3+3\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/4737\/9264\/files\/Nepoderivecarape_2.png?v=1773496253\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"rm-offer-title\"\u003e\n\u003cb\u003ePaket 3+3 GRATIS\u003c\/b\u003e \u003cspan class=\"rm-badge rm-badge-3\"\u003eNAJVEĆA UŠTEDA\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rm-offer-prices\"\u003e\n\u003cspan class=\"rm-old\"\u003e11,500.00 RSD\u003c\/span\u003e \u003cspan class=\"rm-new\"\u003e5,100.00 RSD\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rm-offer-body\" hidden=\"\"\u003e\n\u003cdiv class=\"rm-promo-box\"\u003e\n\u003cdiv class=\"rm-promo-badge\"\u003e3+3 GRATIS\u003c\/div\u003e\n\u003cp class=\"rm-promo-text\"\u003eOdabrali ste paket 3+3. Dobijate ukupno 6 pari čarapa.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"rm-color-selections\" class=\"rm-color-selections\"\u003e\u003c\/div\u003e\n\u003cdiv data-buyerr=\"\" class=\"rm-buyerr\"\u003eNe mogu da dodam u korpu. Proveri ID varijante u kodu.\u003c\/div\u003e\n\u003cdiv aria-label=\"Kupovina\" class=\"rm-buybar\"\u003e\n\u003cdiv class=\"rm-total\"\u003e\n\u003cspan\u003eUkupno za uplatu\u003c\/span\u003e \u003cb class=\"rm-total-price\"\u003e1,650.00 RSD\u003c\/b\u003e\n\u003c\/div\u003e\n\u003cbutton type=\"button\" class=\"rm-buybtn\"\u003e🛒 DODAJ U KORPU\u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv aria-label=\"Ocene i trenutno gledanje\" class=\"rm-topline\"\u003e\n\u003cdiv aria-label=\"Ocena proizvoda\" class=\"rm-rating\"\u003e\n\u003cspan aria-hidden=\"true\" class=\"rm-stars\"\u003e★★★★★\u003c\/span\u003e \u003cspan\u003e4.8 \/ 5.0\u003c\/span\u003e \u003csmall\u003e(1,245 ocena)\u003c\/small\u003e\n\u003c\/div\u003e\n\u003cdiv aria-label=\"Trenutno gleda\" class=\"rm-live\"\u003e\n\u003cspan aria-hidden=\"true\" class=\"rm-dot\"\u003e\u003c\/span\u003e \u003cspan\u003eOvaj proizvod gleda\u003c\/span\u003e \u003cstrong style=\"margin-left: 2px;\" class=\"rm-viewers\"\u003e27\u003c\/strong\u003e \u003cspan\u003eljudi\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv aria-label=\"Recenzije kupaca\" class=\"rm-reviews\"\u003e\n\u003cdiv class=\"rm-track\"\u003e\n\u003cdiv class=\"rm-review\"\u003e\n\u003cdiv class=\"rm-avatar\"\u003eM\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cb\u003eMilana\u003c\/b\u003e\n\u003cdiv aria-hidden=\"true\" class=\"rm-mini-stars\"\u003e★★★★★\u003c\/div\u003e\n\u003cp\u003ePrezadovoljna sam, stvarno ne pucaju! Imam duge nokte i uvek sam cepala čarape pri oblačenju, sa ovima nemam taj problem.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rm-review\"\u003e\n\u003cdiv class=\"rm-avatar\"\u003eI\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cb\u003eIvana\u003c\/b\u003e\n\u003cdiv aria-hidden=\"true\" class=\"rm-mini-stars\"\u003e★★★★★\u003c\/div\u003e\n\u003cp\u003eOdlično zatežu stomak, a ne stežu previše u struku. Noge u njima izgledaju glatko i besprekorno.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"rmText\" class=\"rm-content\"\u003e\n\u003cspan aria-hidden=\"true\" class=\"rm-fade\"\u003e\u003c\/span\u003e\n\u003cp\u003e\u003cb\u003eZaboravite na iscepane hulahopke i \"žice\" koje krenu u najgorem trenutku!\u003c\/b\u003e\u003c\/p\u003e\n\u003cp\u003eNapravljene su od inovativnih, ultra-jakih i visoko elastičnih mikrovlakana koja su otporna na cepanje, grebanje pa čak i na duge nokte.\u003c\/p\u003e\n\u003cp\u003e✨ \u003cb\u003eGlavne prednosti magičnih čarapa:\u003c\/b\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e✔ \u003cb\u003eEkstremna izdržljivost:\u003c\/b\u003e Specijalno tkanje sprečava stvaranje onih dosadnih \"linija\" i rupa koje se brzo šire.\u003c\/li\u003e\n\u003cli\u003e✔ \u003cb\u003eEfekat blagog steznika:\u003c\/b\u003e Savršeno prate liniju tela, podižu zadnjicu i blago zatežu stomak.\u003c\/li\u003e\n\u003cli\u003e✔ \u003cb\u003eNevidljive i prirodne:\u003c\/b\u003e Tanke su, elegantne i potpuno nevidljive ispod uske odeće.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rm-btn-row\"\u003e\u003cbutton aria-controls=\"rmText\" aria-expanded=\"false\" type=\"button\" class=\"rm-toggle\"\u003e \u003cspan aria-hidden=\"true\" class=\"rm-icon\"\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      \/* ===== 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      \/* ===== TABS LOGIC ===== *\/\n      const offers = Array.from(root.querySelectorAll('.rm-offer'));\n      const totalEl = root.querySelector('.rm-total-price');\n      const colorsContainer = root.querySelector('#rm-color-selections');\n      \n      let activeOffer = offers[0];\n\n      \/\/ Funkcija koja crta odabir boja zavisno od količine\n      function renderColorSelectors(qty) {\n        let html = '\u003cdiv class=\"rm-colors-wrapper\"\u003e';\n        \n        \/\/ PAD ZA ČARAPE KOJE SE PLAĆAJU\n        html += '\u003cdiv class=\"rm-color-group\"\u003e';\n        html += '\u003cdiv class=\"rm-color-group-title paid\"\u003eBoje koje plaćaš:\u003c\/div\u003e';\n        for(let i=1; i\u003c=qty; i++){\n          html += `\n            \u003clabel class=\"rm-color-row\"\u003e\n              \u003cspan\u003eČarapa ${i}\u003c\/span\u003e\n              \u003cselect class=\"rm-color-select\" data-type=\"Plaćaš čarapu ${i}\"\u003e\n                \u003coption value=\"Crna\"\u003eCrna\u003c\/option\u003e\n                \u003coption value=\"Bež\"\u003eBež\u003c\/option\u003e\n              \u003c\/select\u003e\n            \u003c\/label\u003e`;\n        }\n        html += '\u003c\/div\u003e';\n\n        \/\/ PAD ZA GRATIS ČARAPE\n        html += '\u003cdiv class=\"rm-color-group\"\u003e';\n        html += '\u003cdiv class=\"rm-color-group-title free\"\u003eGRATIS boje:\u003c\/div\u003e';\n        for(let i=1; i\u003c=qty; i++){\n          html += `\n            \u003clabel class=\"rm-color-row\"\u003e\n              \u003cspan\u003eČarapa ${i}\u003c\/span\u003e\n              \u003cselect class=\"rm-color-select\" data-type=\"Gratis čarapu ${i}\"\u003e\n                \u003coption value=\"Crna\"\u003eCrna\u003c\/option\u003e\n                \u003coption value=\"Bež\"\u003eBež\u003c\/option\u003e\n              \u003c\/select\u003e\n            \u003c\/label\u003e`;\n        }\n        html += '\u003c\/div\u003e';\n        html += '\u003c\/div\u003e';\n\n        colorsContainer.innerHTML = html;\n      }\n\n      function updateUI() {\n        offers.forEach(o =\u003e {\n          const isActive = (o === activeOffer);\n          o.setAttribute('data-active', isActive ? 'true' : 'false');\n          const body = o.querySelector('.rm-offer-body');\n          if(body) body.hidden = !isActive;\n        });\n\n        \/\/ Ažuriraj cenu\n        const basePrice = parseInt(activeOffer.getAttribute('data-price'), 10);\n        totalEl.textContent = formatRSD(basePrice);\n\n        \/\/ Ažuriraj dinamičke boje\n        const qty = parseInt(activeOffer.getAttribute('data-qty') || '1', 10);\n        renderColorSelectors(qty);\n      }\n\n      offers.forEach(o =\u003e {\n        o.addEventListener('click', () =\u003e {\n          activeOffer = o;\n          updateUI();\n        });\n      });\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 = activeOffer.getAttribute('data-id');\n        const offerName = activeOffer.getAttribute('data-title');\n        \n        \/\/ Osnovni podaci\n        const props = {\n          \"Izabran paket\": offerName,\n          \"Ukupno za uplatu\": totalEl.textContent\n        };\n\n        \/\/ Kupi sve izabrane boje iz dinamičkih padajućih menija\n        const selects = root.querySelectorAll('.rm-color-select');\n        selects.forEach(sel =\u003e {\n          const name = sel.getAttribute('data-type');\n          const value = sel.value;\n          props[name] = value;\n        });\n\n        buyBtn.disabled = true;\n        const oldTxt = buyBtn.textContent;\n        buyBtn.textContent = 'DODAJEM...';\n\n        try{\n          const res = await fetch('\/cart\/add.js', {\n            method: 'POST',\n            headers: { 'Content-Type': 'application\/json', 'Accept': 'application\/json' },\n            body: JSON.stringify({\n              id: Number(variantId),\n              quantity: 1, \n              properties: props\n            })\n          });\n\n          if(!res.ok){\n            const t = await res.text();\n            console.error('Add error:', t);\n            alert('Greška pri dodavanju u korpu. Probajte ponovo.');\n            return;\n          }\n\n          window.location.href = '\/cart';\n        }catch(e){\n          console.error(e);\n          alert('Greška pri dodavanju u korpu. Probajte ponovo.');\n        }finally{\n          buyBtn.disabled = false;\n          buyBtn.textContent = oldTxt;\n        }\n      }\n\n      buyBtn.addEventListener('click', addToCart);\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      \/* ===== LIVE VIEWERS ===== *\/\n      const viewersEl = root.querySelector('.rm-viewers');\n      function bumpViewers(){\n        if(!viewersEl) return;\n        const cur = parseInt(viewersEl.textContent || '0', 10) || 27;\n        const inc = (Math.random() \u003e 0.5 ? 1 : -1) * (1 + Math.floor(Math.random() * 4)); \n        let next = cur + inc;\n        if(next \u003c 7) next = 7 + Math.floor(Math.random() * 3);\n        if(next \u003e 43) next = 43 - Math.floor(Math.random() * 4);\n        viewersEl.textContent = String(next);\n      }\n      setInterval(bumpViewers, 6500);\n\n      \/\/ Inicijalizacija pri učitavanju\n      updateUI();\n    })();\n  \u003c\/script\u003e\n\u003c\/div\u003e","brand":"Brza korpa","offers":[{"title":"1","offer_id":51744956645696,"sku":null,"price":1650.0,"currency_code":"RSD","in_stock":true},{"title":"2","offer_id":51744956678464,"sku":null,"price":3400.0,"currency_code":"RSD","in_stock":true},{"title":"3","offer_id":51744956711232,"sku":null,"price":5100.0,"currency_code":"RSD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0974\/4737\/9264\/files\/Nepoderivecarape_7.png?v=1773496253","url":"https:\/\/brzakorpa.rs\/products\/nepoderive-carape-20-den","provider":"Brza korpa","version":"1.0","type":"link"}