{"product_id":"premium-mikrofiber-krpe","title":"Premium mikrofiber krpe za besprekorno čišćenje bez kompromisa","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  .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: 12px;\n    font-weight: 900;\n    letter-spacing:.3px;\n    color:#fff;\n    text-transform:uppercase;\n  }\n  .rm-badge--best{ background:#ef4444; }\n  .rm-badge--ship{ background:#f97316; }\n  .rm-badge--family{ background:#111827; }\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: 62px;\n  }\n  .rm-fields{\n    display:flex;\n    flex-direction:column;\n    gap:8px;\n  }\n  .rm-row{\n    display:grid;\n    grid-template-columns: 52px 1fr;\n    gap:10px;\n    align-items:center;\n  }\n  .rm-row small{\n    font-weight: 900;\n    color: rgba(17,24,39,.80);\n    display:flex;\n    align-items:center;\n    gap:8px;\n    white-space:nowrap;\n  }\n\n  .rm-colorwrap{\n    display:flex;\n    align-items:center;\n    gap:10px;\n    min-width:0;\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-select{\n    width:100%;\n    height:38px;\n    border-radius:10px;\n    border:1px solid rgba(17,24,39,.18);\n    background:#fff;\n    padding: 0 10px;\n    font-weight: 800;\n    color:#111827;\n    outline:none;\n  }\n  .rm-select:focus{\n    border-color: #f97316;\n    box-shadow: 0 0 0 3px rgba(249,115,22,.15);\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  \/* TABLET *\/\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\n    .rm-offers{ padding: 8px; }\n    .rm-offers-grid{ gap: 8px; }\n\n    .rm-offer-head{\n      position: relative;\n      grid-template-columns: 48px 1fr;\n      grid-template-areas:\n        \"thumb title\"\n        \"price price\";\n      gap: 8px;\n      padding: 9px 10px;\n      align-items: start;\n    }\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-title b{ font-size: 13px; line-height: 1.1; }\n    .rm-badge{ font-size: 11px; padding: 3px 7px; border-radius: 999px; }\n\n    .rm-offer-prices{\n      grid-area: price;\n      text-align: left;\n      padding-left: 0;\n      display:flex;\n      align-items:baseline;\n      gap:10px;\n      flex-wrap:wrap;\n    }\n    .rm-old{ font-size: 11px; }\n    .rm-new{ font-size: 16px; }\n\n    .rm-offer-head::after{\n      content:\"▾\";\n      position:absolute;\n      right:10px;\n      top:12px;\n      font-size:16px;\n      font-weight:900;\n      opacity:.7;\n      transform: rotate(0deg);\n      transition: transform .18s ease, opacity .18s ease;\n      pointer-events:none;\n    }\n    .rm-offer[data-active=\"true\"] .rm-offer-head::after{\n      transform: rotate(180deg);\n      opacity: 1;\n    }\n\n    .rm-offer-body{ padding: 9px 10px 10px 10px; }\n    .rm-fields-head{ display:none; }\n\n    .rm-row{\n      grid-template-columns: 44px 1fr;\n      gap: 8px;\n      align-items: start;\n      padding: 6px 0;\n    }\n    .rm-row small{\n      margin-top: 7px;\n      font-size: 12px;\n    }\n    .rm-colorwrap{ grid-column: 2; }\n    .rm-select{\n      height: 34px;\n      border-radius: 10px;\n      font-size: 13px;\n      padding: 0 10px;\n    }\n    .rm-colorimg{ width:32px;height:32px;border-radius:9px; }\n\n    .rm-buybar{ gap: 8px; }\n    .rm-total span{ font-size: 11px; }\n    .rm-total b{ font-size: 18px; }\n    .rm-buybtn{ padding: 11px 16px; font-size: 13px; }\n  }\n\n  \/* 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\n    .rm-fields-head{ display:none; }\n    .rm-row{ grid-template-columns: 44px 1fr; gap:8px; }\n    .rm-colorwrap{ flex-direction: column; align-items:flex-start; }\n    .rm-select{ margin-bottom: 5px; }\n    \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-colorimg{ display: none; }\n  }\n\n  \/* ===== ostali stilovi ===== *\/\n  .rm-topline{\n    display:flex;\n    flex-wrap:wrap;\n    gap:10px;\n    align-items:center;\n    margin: 8px 0 12px 0;\n  }\n  .rm-rating{\n    display:inline-flex;\n    align-items:center;\n    gap:8px;\n    padding: 8px 12px;\n    border-radius: 999px;\n    background:#f9fafb;\n    border: 1px solid rgba(17,24,39,.10);\n    font-weight: 800;\n    font-size: 13px;\n  }\n  .rm-rating small{\n    font-weight: 700;\n    color: rgba(17,24,39,.72);\n  }\n  .rm-stars{ letter-spacing:.6px; color: #f59e0b; }\n\n  .rm-live{\n    display:inline-flex;\n    align-items:center;\n    gap:8px;\n    padding: 8px 12px;\n    border-radius: 999px;\n    background:#fff7ed;\n    border: 1px solid rgba(124,45,18,.18);\n    font-weight: 800;\n    font-size: 13px;\n  }\n  .rm-dot{\n    width:8px;height:8px;border-radius:50%;\n    background:#ef4444;\n    box-shadow:0 0 0 3px rgba(239,68,68,.18);\n    animation: rm-pulse 2s infinite;\n  }\n  @keyframes rm-pulse {\n    0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(239,68,68,0.7); }\n    70% { transform: scale(1); box-shadow: 0 0 0 6px rgba(239,68,68,0); }\n    100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(239,68,68,0); }\n  }\n\n  .rm-reviews{\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 12px;\n    overflow:hidden;\n  }\n  .rm-track{\n    display:flex;\n    transition: transform .45s ease;\n    will-change: transform;\n  }\n  .rm-review{\n    min-width:100%;\n    display:flex;\n    gap:10px;\n    align-items:flex-start;\n  }\n  .rm-avatar{\n    width:34px;height:34px;border-radius:10px;\n    background:#f97316;color:#fff;\n    display:flex;align-items:center;justify-content:center;\n    font-weight:900;\n    font-size: 14px;\n    flex: 0 0 auto;\n  }\n  .rm-mini-stars{\n    font-size:12px;\n    letter-spacing:.4px;\n    color: #f59e0b;\n    margin-top: 2px;\n  }\n  .rm-reviews p{\n    margin: 0;\n    color: rgba(17,24,39,.78);\n    font-size: 13px;\n    line-height: 1.35;\n  }\n  .rm-reviews b{\n    display:block;\n    font-size: 13px;\n    line-height: 1.15;\n    margin-bottom: 2px;\n  }\n\n  .rm-content{\n    position:relative;\n    overflow:hidden;\n    max-height:260px;\n    transition:max-height .35s ease;\n  }\n  .rm-nylonke[data-collapsed=\"false\"] .rm-content{ max-height:9999px; }\n  .rm-fade{\n    position:absolute;\n    left:0;right:0;bottom:0;\n    height:70px;\n    background:linear-gradient(to bottom,rgba(255,255,255,0),#fff);\n    pointer-events:none;\n  }\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{\n    border:0;\n    cursor:pointer;\n    border-radius:999px;\n    padding:10px 16px;\n    background:#111827;\n    color:#fff;\n    font-weight:800;\n    font-size: 14px;\n    display:inline-flex;\n    align-items:center;\n    gap:8px;\n    transition: transform .12s ease, opacity .12s ease;\n  }\n  .rm-toggle:hover{ opacity:.92; }\n  .rm-toggle:active{ transform: translateY(1px); }\n\n  @media (max-width: 480px){\n    .rm-nylonke{ padding: 14px; }\n    .rm-content{ max-height: 300px; }\n  }\n\u003c\/style\u003e\n\n\u003cdiv class=\"rm-nylonke\" data-collapsed=\"true\" data-rm-root\u003e\n\n  \u003ch3\u003e✨ Premium mikrofiber krpe za besprekorno čišćenje bez kompromisa ✨\u003c\/h3\u003e\n\n  \u003cdiv class=\"rm-offers\" aria-label=\"Izbor paketa i opcija\" data-rm-bundles\u003e\n\n    \u003cdiv class=\"rm-offers-grid\"\u003e\n\n      \u003cdiv class=\"rm-offer\" data-offer=\"1\" data-rows=\"1\" data-active=\"true\" data-id=\"51658199073088\"\u003e\n        \u003cdiv class=\"rm-offer-head\"\u003e\n          \u003cdiv class=\"rm-offer-thumb\" aria-hidden=\"true\"\u003e\n            \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/4737\/9264\/files\/PremiumMikrofiberKrpe_Setod3kom_1.png?v=1774689994\" alt=\"Premium Mikrofiber Krpe\"\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"rm-offer-title\"\u003e\n            \u003cb\u003e1 Set (3 kom)\u003c\/b\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"rm-offer-prices\"\u003e\n            \u003cspan class=\"rm-old\" data-old\u003e3,500.00 RSD\u003c\/span\u003e\n            \u003cspan class=\"rm-new\" data-new\u003e1,450.00 RSD\u003c\/span\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"rm-offer-body\"\u003e\n          \u003cdiv class=\"rm-fields-head\"\u003e\n            \u003cdiv\u003eVARIJANTA\u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"rm-fields\"\u003e\n            \u003cdiv class=\"rm-row\"\u003e\n              \u003csmall\u003e#1\u003c\/small\u003e\n              \u003cdiv class=\"rm-colorwrap\"\u003e\n                \u003cimg class=\"rm-colorimg\" alt=\"Pakovanje preview\"\u003e\n                \u003cselect class=\"rm-select rm-color\" aria-label=\"Varijanta 1\"\u003e\n                  \u003coption value=\"set\"\u003eSet od 3 komada\u003c\/option\u003e\n                \u003c\/select\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"rm-offer\" data-offer=\"2\" data-rows=\"2\" data-active=\"false\" data-id=\"51658199105856\"\u003e\n        \u003cdiv class=\"rm-offer-head\"\u003e\n          \u003cdiv class=\"rm-offer-thumb\" aria-hidden=\"true\"\u003e\n            \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/4737\/9264\/files\/PremiumMikrofiberKrpe_Setod3kom_1.png?v=1774689994\" alt=\"Premium Mikrofiber Krpe\"\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"rm-offer-title\"\u003e\n            \u003cb\u003e2 Seta (6 kom)\u003c\/b\u003e\n            \u003cspan class=\"rm-badge rm-badge--best\"\u003eNAJPRODAVANIJE\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"rm-offer-prices\"\u003e\n            \u003cspan class=\"rm-old\" data-old\u003e7,000.00 RSD\u003c\/span\u003e\n            \u003cspan class=\"rm-new\" data-new\u003e2,900.00 RSD\u003c\/span\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"rm-offer-body\" hidden\u003e\n          \u003cdiv class=\"rm-fields-head\"\u003e\n            \u003cdiv\u003eVARIJANTA\u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"rm-fields\"\u003e\n            \u003cdiv class=\"rm-row\"\u003e\n              \u003csmall\u003e#1\u003c\/small\u003e\n              \u003cdiv class=\"rm-colorwrap\"\u003e\n                \u003cimg class=\"rm-colorimg\" alt=\"Pakovanje preview\"\u003e\n                \u003cselect class=\"rm-select rm-color\" aria-label=\"Varijanta 1\"\u003e\n                  \u003coption value=\"set\"\u003eSet od 3 komada\u003c\/option\u003e\n                \u003c\/select\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"rm-row\"\u003e\n              \u003csmall\u003e#2\u003c\/small\u003e\n              \u003cdiv class=\"rm-colorwrap\"\u003e\n                \u003cimg class=\"rm-colorimg\" alt=\"Pakovanje preview\"\u003e\n                \u003cselect class=\"rm-select rm-color\" aria-label=\"Varijanta 2\"\u003e\n                  \u003coption value=\"set\"\u003eSet od 3 komada\u003c\/option\u003e\n                \u003c\/select\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"rm-offer\" data-offer=\"3\" data-rows=\"3\" data-active=\"false\" data-id=\"51658199138624\"\u003e\n        \u003cdiv class=\"rm-offer-head\"\u003e\n          \u003cdiv class=\"rm-offer-thumb\" aria-hidden=\"true\"\u003e\n            \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/4737\/9264\/files\/PremiumMikrofiberKrpe_Setod3kom_1.png?v=1774689994\" alt=\"Premium Mikrofiber Krpe\"\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"rm-offer-title\"\u003e\n            \u003cb\u003e3 Seta (9 kom)\u003c\/b\u003e\n            \u003cspan class=\"rm-badge rm-badge--ship\"\u003eBESPLATNA POŠTARINA\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"rm-offer-prices\"\u003e\n            \u003cspan class=\"rm-old\" data-old\u003e10,500.00 RSD\u003c\/span\u003e\n            \u003cspan class=\"rm-new\" data-new\u003e4,350.00 RSD\u003c\/span\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"rm-offer-body\" hidden\u003e\n          \u003cdiv class=\"rm-fields-head\"\u003e\n            \u003cdiv\u003eVARIJANTA\u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"rm-fields\"\u003e\n            \u003cdiv class=\"rm-row\"\u003e\n              \u003csmall\u003e#1\u003c\/small\u003e\n              \u003cdiv class=\"rm-colorwrap\"\u003e\n                \u003cimg class=\"rm-colorimg\" alt=\"Pakovanje preview\"\u003e\n                \u003cselect class=\"rm-select rm-color\" aria-label=\"Varijanta 1\"\u003e\n                  \u003coption value=\"set\"\u003eSet od 3 komada\u003c\/option\u003e\n                \u003c\/select\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"rm-row\"\u003e\n              \u003csmall\u003e#2\u003c\/small\u003e\n              \u003cdiv class=\"rm-colorwrap\"\u003e\n                \u003cimg class=\"rm-colorimg\" alt=\"Pakovanje preview\"\u003e\n                \u003cselect class=\"rm-select rm-color\" aria-label=\"Varijanta 2\"\u003e\n                  \u003coption value=\"set\"\u003eSet od 3 komada\u003c\/option\u003e\n                \u003c\/select\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"rm-row\"\u003e\n              \u003csmall\u003e#3\u003c\/small\u003e\n              \u003cdiv class=\"rm-colorwrap\"\u003e\n                \u003cimg class=\"rm-colorimg\" alt=\"Pakovanje preview\"\u003e\n                \u003cselect class=\"rm-select rm-color\" aria-label=\"Varijanta 3\"\u003e\n                  \u003coption value=\"set\"\u003eSet od 3 komada\u003c\/option\u003e\n                \u003c\/select\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"rm-offer\" data-offer=\"4\" data-rows=\"4\" data-active=\"false\" data-id=\"51658199171392\"\u003e\n        \u003cdiv class=\"rm-offer-head\"\u003e\n          \u003cdiv class=\"rm-offer-thumb\" aria-hidden=\"true\"\u003e\n            \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/4737\/9264\/files\/PremiumMikrofiberKrpe_Setod3kom_1.png?v=1774689994\" alt=\"Premium Mikrofiber Krpe\"\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"rm-offer-title\"\u003e\n            \u003cb\u003e4 Seta (12 kom)\u003c\/b\u003e\n            \u003cspan class=\"rm-badge rm-badge--family\"\u003eMEGA UŠTEDA\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"rm-offer-prices\"\u003e\n            \u003cspan class=\"rm-old\" data-old\u003e14,000.00 RSD\u003c\/span\u003e\n            \u003cspan class=\"rm-new\" data-new\u003e5,800.00 RSD\u003c\/span\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"rm-offer-body\" hidden\u003e\n          \u003cdiv class=\"rm-fields-head\"\u003e\n            \u003cdiv\u003eVARIJANTA\u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"rm-fields\"\u003e\n            \u003cdiv class=\"rm-row\"\u003e\n              \u003csmall\u003e#1\u003c\/small\u003e\n              \u003cdiv class=\"rm-colorwrap\"\u003e\n                \u003cimg class=\"rm-colorimg\" alt=\"Pakovanje preview\"\u003e\n                \u003cselect class=\"rm-select rm-color\" aria-label=\"Varijanta 1\"\u003e\n                  \u003coption value=\"set\"\u003eSet od 3 komada\u003c\/option\u003e\n                \u003c\/select\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"rm-row\"\u003e\n              \u003csmall\u003e#2\u003c\/small\u003e\n              \u003cdiv class=\"rm-colorwrap\"\u003e\n                \u003cimg class=\"rm-colorimg\" alt=\"Pakovanje preview\"\u003e\n                \u003cselect class=\"rm-select rm-color\" aria-label=\"Varijanta 2\"\u003e\n                  \u003coption value=\"set\"\u003eSet od 3 komada\u003c\/option\u003e\n                \u003c\/select\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"rm-row\"\u003e\n              \u003csmall\u003e#3\u003c\/small\u003e\n              \u003cdiv class=\"rm-colorwrap\"\u003e\n                \u003cimg class=\"rm-colorimg\" alt=\"Pakovanje preview\"\u003e\n                \u003cselect class=\"rm-select rm-color\" aria-label=\"Varijanta 3\"\u003e\n                  \u003coption value=\"set\"\u003eSet od 3 komada\u003c\/option\u003e\n                \u003c\/select\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"rm-row\"\u003e\n              \u003csmall\u003e#4\u003c\/small\u003e\n              \u003cdiv class=\"rm-colorwrap\"\u003e\n                \u003cimg class=\"rm-colorimg\" alt=\"Pakovanje preview\"\u003e\n                \u003cselect class=\"rm-select rm-color\" aria-label=\"Varijanta 4\"\u003e\n                  \u003coption value=\"set\"\u003eSet od 3 komada\u003c\/option\u003e\n                \u003c\/select\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"rm-buyerr\" data-buyerr\u003e\n      Ne mogu da dodam paket u korpu. Proveri ID varijante u kodu.\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"rm-buybar\" aria-label=\"Kupovina\"\u003e\n      \u003cdiv class=\"rm-total\"\u003e\n        \u003cspan\u003eUkupno za uplatu\u003c\/span\u003e\n        \u003cb class=\"rm-total-price\"\u003e1,450.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\n      \u003cspan\u003e4.9 \/ 5.0\u003c\/span\u003e\n      \u003csmall\u003e(412 ocena)\u003c\/small\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"rm-live\" aria-label=\"Trenutno gleda\"\u003e\n      \u003cspan class=\"rm-dot\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\n      \u003cspan\u003eOvaj proizvod gleda\u003c\/span\u003e\n      \u003cstrong class=\"rm-viewers\" style=\"margin-left:2px;\"\u003e18\u003c\/strong\u003e\n      \u003cspan\u003eljudi\u003c\/span\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\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\u003eJelena\u003c\/b\u003e\n          \u003cdiv class=\"rm-mini-stars\" aria-hidden=\"true\"\u003e★★★★★\u003c\/div\u003e\n          \u003cp\u003eOve krpe su fenomenalne! Bukvalno ne ostavljaju nikakve dlačice po staklu i ogledalima, prozori mi nikad nisu bili čistiji.\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\u003eKoristim ih prvenstveno za auto. Odlično upijaju vodu posle pranja i uopšte ne grebu lak. Stvarno su premium kvalitet.\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 class=\"rm-mini-stars\" aria-hidden=\"true\"\u003e★★★★★\u003c\/div\u003e\n          \u003cp\u003eMnogo su gušće i prijatnije pod rukom od onih koje inače kupujem u marketu. Kupatilo i kuhinja se sijaju, sve preporuke!\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\u003eDragana\u003c\/b\u003e\n          \u003cdiv class=\"rm-mini-stars\" aria-hidden=\"true\"\u003e★★★★☆\u003c\/div\u003e\n          \u003cp\u003eKonačno krpa kojom mogu da prebrišem crni nameštaj, a da ne ostanu beli tragovi. Sigurno ću poručiti još jedan set.\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\u003eOdličan odnos cene i kvaliteta, pogotovo ako se uzme više setova jer uvek zatrebaju. Uštede mi gomilu vremena.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"rm-content\" id=\"rmText\"\u003e\n    \u003cspan class=\"rm-fade\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\n\n    \u003cp\u003e\u003cb\u003eViši nivo čistoće bez napora!\u003c\/b\u003e\u003cbr\u003e\n      Ako želite kvalitet koji se odmah primeti, Premium mikrofiber krpe su pravi izbor. Napravljene od kvalitetnijeg, gušćeg i izdržljivijeg materijala, omogućavaju temeljno čišćenje različitih površina bez grebanja, razmazivanja i ostavljanja tragova.\u003c\/p\u003e\n\n    \u003cp\u003eSavršene su za kuhinju, kupatilo, staklo, ogledala, nameštaj, radne površine, kao i za spoljašnje i unutrašnje održavanje automobila. Lako upijaju vlagu, prašinu i nečistoće, a pritom ostavljaju površine savršeno čistim, sjajnim i urednim.\u003c\/p\u003e\n\n    \u003cp\u003e✨ \u003cb\u003eZašto da izaberete premium varijantu:\u003c\/b\u003e\u003c\/p\u003e\n    \u003cul\u003e\n      \u003cli\u003e⭐ \u003cb\u003eKvalitetniji i gušći materijal:\u003c\/b\u003e Znatno izdržljivije od običnih krpa.\u003c\/li\u003e\n      \u003cli\u003e💧 \u003cb\u003eMaksimalna moć upijanja:\u003c\/b\u003e Odlično upijaju vodu, prosute tečnosti i prljavštinu.\u003c\/li\u003e\n      \u003cli\u003e🔍 \u003cb\u003eBez dlačica i tragova:\u003c\/b\u003e Savršene za stakla, ekrane i osetljive površine.\u003c\/li\u003e\n      \u003cli\u003e🛡️ \u003cb\u003eBezbedne za sve:\u003c\/b\u003e Ne grebu i ne oštećuju osetljive materijale.\u003c\/li\u003e\n      \u003cli\u003e♻️ \u003cb\u003eDugotrajnost:\u003c\/b\u003e Perive u mašini i spremne za dugogodišnju upotrebu.\u003c\/li\u003e\n    \u003c\/ul\u003e\n\n    \u003cp\u003e\u003cb\u003e📦 Sadržaj pakovanja:\u003c\/b\u003e\u003cbr\u003e\n      Set sadrži \u003cb\u003e3 premium krpe\u003c\/b\u003e koje će vam olakšati svakodnevno održavanje doma i uštedeti vreme pri čišćenju. \u003ci\u003e(Dostupne su i opcije za kupovinu više setova uz značajnu uštedu!)\u003c\/i\u003e\u003c\/p\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"rm-btn-row\"\u003e\n    \u003cbutton class=\"rm-toggle\" type=\"button\" aria-expanded=\"false\" aria-controls=\"rmText\"\u003e\n      \u003cspan class=\"rm-icon\" aria-hidden=\"true\"\u003e▼\u003c\/span\u003e\n      \u003cspan class=\"rm-label\"\u003ePrikaži više\u003c\/span\u003e\n    \u003c\/button\u003e\n  \u003c\/div\u003e\n\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 OFFER_IMG = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/4737\/9264\/files\/PremiumMikrofiberKrpe_Setod3kom_1.png?v=1774689994\";\n\n      \/* ===== COLOR PREVIEW ===== *\/\n      const COLOR_IMAGES = {\n        \"set\": OFFER_IMG\n      };\n\n      function updateColorPreviews(scope){\n        const rows = Array.from(scope.querySelectorAll('.rm-row'));\n        rows.forEach(row =\u003e {\n          const sel = row.querySelector('.rm-color');\n          const img = row.querySelector('.rm-colorimg');\n          if(!sel || !img) return;\n\n          const v = sel.value;\n          img.src = COLOR_IMAGES[v] || OFFER_IMG;\n          img.alt = \"Varijanta: \" + v;\n\n          if(!sel.dataset.bound){\n            sel.dataset.bound = '1';\n            sel.addEventListener('change', () =\u003e {\n              img.src = COLOR_IMAGES[sel.value] || OFFER_IMG;\n              img.alt = \"Varijanta: \" + sel.value;\n            }, { passive:true });\n          }\n        });\n      }\n\n      \/* ===== MONEY HELPERS ===== *\/\n      function parseMoney(text){\n        const cleaned = String(text || '').replace(\/[^\\d.,]\/g,'').replace(\/,\/g,'');\n        const n = parseFloat(cleaned);\n        return isNaN(n) ? 0 : n;\n      }\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      \/* ===== OFFER LOGIC ===== *\/\n      const offers = Array.from(root.querySelectorAll('.rm-offer'));\n      const totalEl = root.querySelector('.rm-total-price');\n      const buyBtn = root.querySelector('.rm-buybtn');\n      const buyErr = root.querySelector('[data-buyerr]');\n\n      function getActiveOffer(){\n        return offers.find(o =\u003e o.getAttribute('data-active') === 'true') || offers[0];\n      }\n      function setActive(offer){\n        offers.forEach(o =\u003e {\n          const isActive = (o === offer);\n          o.setAttribute('data-active', isActive ? 'true' : 'false');\n          const body = o.querySelector('.rm-offer-body');\n          if(body) body.hidden = !isActive;\n          if(isActive \u0026\u0026 body) updateColorPreviews(body);\n        });\n        updateTotal();\n      }\n      function updateTotal(){\n        const active = getActiveOffer();\n        const newPriceText = active.querySelector('[data-new]')?.textContent || '0';\n        totalEl.textContent = formatRSD(parseMoney(newPriceText));\n      }\n\n      offers.forEach(o =\u003e {\n        const head = o.querySelector('.rm-offer-head');\n        if(head){\n          head.style.cursor = 'pointer';\n          head.addEventListener('click', () =\u003e setActive(o));\n        }\n      });\n\n      \/* ===== ADD TO CART ===== *\/\n      async function addToCart(){\n        if(buyErr) buyErr.style.display = 'none';\n\n        const active = getActiveOffer();\n        const variantId = active.getAttribute('data-id');\n        \n        const payQty = 1;\n\n        if(!variantId || variantId.includes('UNESI_SVOJ')){\n          if(buyErr) buyErr.style.display = 'block';\n          return;\n        }\n\n        const rows = Array.from(active.querySelectorAll('.rm-row'));\n        const offerName = active.querySelector('.rm-offer-title b')?.textContent?.trim() || 'Paket';\n        const totalText = active.querySelector('[data-new]')?.textContent?.trim() || '';\n\n        const props = {\n          \"Paket\": offerName,\n          \"Ukupno za uplatu\": totalText\n        };\n\n        rows.forEach((row, i) =\u003e {\n          const idx = i + 1;\n          const f = row.querySelector('.rm-color')?.options[row.querySelector('.rm-color').selectedIndex].text || '';\n          props[`#${idx} Varijanta`] = f;\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: payQty, \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      setActive(getActiveOffer());\n      updateTotal();\n      updateColorPreviews(root);\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) || 18;\n        const inc = (Math.random() \u003e 0.5 ? 1 : -1) * (1 + Math.floor(Math.random() * 3)); \n        let next = cur + inc;\n        if(next \u003c 4) next = 4 + Math.floor(Math.random() * 3);\n        if(next \u003e 29) next = 29 - Math.floor(Math.random() * 3);\n        viewersEl.textContent = String(next);\n      }\n      setInterval(bumpViewers, 7000);\n    })();\n  \u003c\/script\u003e\n\n\u003c\/div\u003e","brand":"Brza korpa","offers":[{"title":"1","offer_id":51658199073088,"sku":null,"price":1450.0,"currency_code":"RSD","in_stock":true},{"title":"2","offer_id":51658199105856,"sku":null,"price":2900.0,"currency_code":"RSD","in_stock":true},{"title":"3","offer_id":51658199138624,"sku":null,"price":4350.0,"currency_code":"RSD","in_stock":true},{"title":"4","offer_id":51658199171392,"sku":null,"price":5800.0,"currency_code":"RSD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0974\/4737\/9264\/files\/PremiumMikrofiberKrpe_Setod3kom_1.png?v=1774689994","url":"https:\/\/brzakorpa.rs\/products\/premium-mikrofiber-krpe","provider":"Brza korpa","version":"1.0","type":"link"}