{"id":12582,"date":"2026-04-29T15:00:41","date_gmt":"2026-04-29T15:00:41","guid":{"rendered":"https:\/\/shop.yj24.com\/reviews\/"},"modified":"2026-05-13T14:58:18","modified_gmt":"2026-05-13T14:58:18","slug":"reviews","status":"publish","type":"page","link":"https:\/\/shop.yj24.com\/en\/reviews\/","title":{"rendered":"Reviews"},"content":{"rendered":"<div id=\"yj24ReviewsLayout\">\n  <div id=\"yj24SlotGraph\"><\/div>\n<!-- YJ24 Photo Review Carousel (API v3: smooth slide) -->\n<div id=\"yj24-photo-review\" class=\"yj24-prv\">\n  <div class=\"yj24-prv-head\">\n    <div>\n      <div class=\"yj24-prv-title\">PHOTO REVIEW<\/div>\n      <div class=\"yj24-prv-sub\">\ud3ec\ud1a0 \uc0ac\uc6a9\ud6c4\uae30<\/div>\n    <\/div>\n\n<div class=\"yj24-prv-sort\" id=\"yj24PrvSort\">\n  <button type=\"button\" class=\"yj24-sort-btn\" data-sort=\"latest\">\ucd5c\uc2e0\uc21c<\/button>\n  <button type=\"button\" class=\"yj24-sort-btn\" data-sort=\"popular\">\uc778\uae30\uc21c<\/button>\n  <button type=\"button\" class=\"yj24-sort-btn is-active\" data-sort=\"random\">\ub79c\ub364<\/button>\n<\/div>\n\n    <\/div>\n\n  <div class=\"yj24-prv-viewport\" id=\"yj24PrvViewport\">\n  <div class=\"yj24-prv-nav\">\n  <button type=\"button\" class=\"yj24-prv-btn\" id=\"yj24PrvPrev\" aria-label=\"\uc774\uc804\">\u2039<\/button>\n  <button type=\"button\" class=\"yj24-prv-btn\" id=\"yj24PrvNext\" aria-label=\"\ub2e4\uc74c\">\u203a<\/button>\n<\/div>\n\n    <div class=\"yj24-prv-track\" id=\"yj24PrvTrack\"><\/div>\n    <div class=\"yj24-prv-paging\" id=\"yj24PrvPaging\"><\/div>\n  <\/div>\n<\/div>\n\n<div id=\"yj24-modal\" class=\"yj24-modal\" role=\"dialog\" aria-modal=\"true\" aria-label=\"\ud3ec\ud1a0\ud6c4\uae30 \uc0c1\uc138\">\n  <div class=\"yj24-modal-inner\">\n    <button type=\"button\" class=\"yj24-modal-close\" aria-label=\"\ub2eb\uae30\">\u2715<\/button>\n    <img id=\"yj24-modal-img\" alt=\"\ud3ec\ud1a0\ud6c4\uae30\">\n    <div class=\"yj24-modal-meta\">\n      <div class=\"yj24-modal-stars\" id=\"yj24-modal-stars\"><\/div>\n      <div class=\"yj24-modal-review\" id=\"yj24-modal-review\"><\/div>\n      <div class=\"yj24-modal-prod\" id=\"yj24-modal-prod\"><\/div>\n      <div class=\"yj24-modal-sub\">\n        <span id=\"yj24-modal-author\"><\/span>\n        <span class=\"yj24-dot\">\u00b7<\/span>\n        <span id=\"yj24-modal-date\"><\/span>\n      <\/div>\n    <\/div>\n    <a id=\"yj24-modal-link\" href=\"#\" rel=\"noopener\">\uc0c1\ud488 \ubcf4\ub7ec\uac00\uae30<\/a>\n  <\/div>\n<\/div>\n<script data-jetpack-boost=\"ignore\">\nwindow.YJ24_REVIEW_API_BASE = \"https:\/\/api.yj24.com\/api\/reviews\";\nwindow.YJ24_REVIEW_ASSET_BASE = \"https:\/\/api.yj24.com\";\nwindow.YJ24_SHOP_BASE = \"https:\/\/shop.yj24.com\";\n<\/script>\n<script data-jetpack-boost=\"ignore\" src=\"https:\/\/shop.yj24.com\/js\/photoreview-m.js?v=20260429\"><\/script>\n\n<!-- YJ24 \uc804\uccb4 \uc0ac\uc6a9\ud6c4\uae30 \uc704\uc82f (ALL) -->\n<div id=\"yj24ReviewAllWidget\"><\/div>\n<\/div><!-- yj24ReviewsLayout end -->\n\n<script data-jetpack-boost=\"ignore\">\n(function initYJ24ReviewAll(){\n  if (document.readyState === \"loading\"){\n    document.addEventListener(\"DOMContentLoaded\", initYJ24ReviewAll);\n    return;\n  }\n\n  if (window.__YJ24_REVIEW_ALL_WIDGET_INITED) return;\n  window.__YJ24_REVIEW_ALL_WIDGET_INITED = true;\n\n  var ROOT = document.getElementById(\"yj24ReviewAllWidget\");\n  if (!ROOT) return;\n\n  \/\/ \u2705 \uc5ec\uae30 \uc544\ub798\ub85c\ub294 \uae30\uc874 yj24_review_all.html\uc758 DOMContentLoaded \ub0b4\ubd80 \ub0b4\uc6a9\uc744 \uadf8\ub300\ub85c \ubd99\uc5ec\ub123\uae30\n  \/\/ (\uc989, var API=... \ubd80\ud130 \ub9e8 \ub05d fetchList(); \uae4c\uc9c0)\n\n\/\/ ====== \uc124\uc815 ======\n  var API = (window.YJ24_REVIEW_API_BASE || \"https:\/\/api.yj24.com\/api\/reviews\") + \"\/list.php\";\n  var PER_PAGE = 10;\n  var FB_API_BASE = (window.YJ24_REVIEW_API_BASE || \"https:\/\/api.yj24.com\/api\/reviews\"); \/\/ feedback_* \uc5d4\ub4dc\ud3ec\uc778\ud2b8\n\n  function getWriteUrl(){\n    \/\/ WooCommerce\uc5d0\uc11c\ub294 \uc804\uccb4 \ud6c4\uae30 \ud398\uc774\uc9c0\uc5d0\uc11c \ubc14\ub85c \uc791\uc131\ud560 \uc218 \uc5c6\uc73c\ubbc0\ub85c\n    \/\/ \uc8fc\ubb38 \ub0b4\uc5ed \ub610\ub294 \uc0c1\ud488 \uc0c1\uc138 \ud398\uc774\uc9c0\uc5d0\uc11c \ub9ac\ubdf0\ub97c \uc791\uc131\ud558\ub3c4\ub85d \ubcf4\ub0c5\ub2c8\ub2e4.\n    return \"\/my-account\/orders\/\";\n  }\n\n  function esc(s){\n    return String(s||\"\").replace(\/[&<>\"']\/g,function(m){\n      return {\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\",\"'\":\"&#39;\"}[m];\n    });\n  }\n\n  function starSvg(fill){\n    return '<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\" opacity=\"'+(fill?1:.18)+'\"\/><\/svg>';\n  }\n  function starsHtml(r){\n    r = Math.max(0, Math.min(5, parseInt(r,10)||0));\n    var s = '<span class=\"yj24rw-stars\" aria-label=\"\ubcc4\uc810 '+r+'\uc810\">';\n    for (var i=1;i<=5;i++) s += starSvg(i<=r);\n    s += '<\/span>';\n    return s;\n  }\n\n  function parsePageFromHash(){\n    var h = String(location.hash||\"\");\n    if (!h) return 1;\n    if (h.indexOf(\"#review=\") === 0){\n      var n = parseInt(h.replace(\"#review=\",\"\"),10);\n      if (n>0) return n;\n    }\n    if (h === \"#review\") return 1;\n    return 1;\n  }\n\n\n\/\/ ===== cat1 \uc11c\ubc84\ud544\ud130 \uc140\ub809\ud2b8 (11\uac1c \uace0\uc815 + URL \uc720\uc9c0) =====\n  var CAT1_KEYS = [\"delivery\",\"issue\",\"color\",\"thickness\",\"material\",\"cutting\",\"size\",\"value\",\"satisfaction\",\"support\",\"adhesive\"];\n  var CAT1_LABEL = {\n    delivery:\"\ubc30\uc1a1\/\ud3ec\uc7a5\",\n    issue:\"\ubb38\uc81c\/\uc544\uc26c\uc6c0\",\n    color:\"\uc0c9\uac10\/\uceec\ub7ec\",\n    thickness:\"\ub450\uaed8\/\ubc00\ub3c4\",\n    material:\"\uc7ac\uc9c8\/\ucd09\uac10\/\uacb0\",\n    cutting:\"\uc7ac\ub2e8\/\uac00\uacf5\/\uc791\uc5c5\uc131\",\n    size:\"\uc0ac\uc774\uc988\/\uaddc\uaca9\",\n    value:\"\uac00\uaca9\/\uac00\uc131\ube44\",\n    satisfaction:\"\ub9cc\uc871\/\ucd94\ucc9c\/\uc7ac\uad6c\ub9e4\",\n    support:\"\uc0c1\ub2f4\/\uc751\ub300\",\n    adhesive:\"\uc811\ucc29\/\uace0\uc815\/\uc0ac\uc6a9\ud3b8\uc758\"\n  };\n\n  \/\/ ===== shared base URLs =====\n  var YJ24_ASSET_BASE = window.YJ24_REVIEW_ASSET_BASE || \"https:\/\/api.yj24.com\";\n\n  function getReviewLang(){\n    try{\n      if (window.yj24GetReviewLang) return window.yj24GetReviewLang();\n      var h = String(document.documentElement.lang || \"\").toLowerCase();\n      var p = String(location.pathname || \"\").toLowerCase();\n      if (h.indexOf(\"en\") === 0 || p.indexOf(\"\/en\/\") === 0) return \"en\";\n    }catch(e){}\n    return \"ko\";\n  }\n\n  function getWooProductUrl(it){\n    it = it || {};\n    var u = String(it.product_url || it.woo_product_url || it.permalink || \"\").trim();\n    if (u) return u;\n\n    var pno = parseInt(it.product_no, 10) || 0;\n    if (pno > 0) {\n      \/\/ Woo \uc0c1\ud488 SKU\ub97c C24-{product_no}\ub85c \uc4f0\ub294 \uad6c\uc870\uc758 \uc548\uc804\ud55c fallback\uc785\ub2c8\ub2e4.\n      \/\/ API\uc5d0\uc11c product_url\uc744 \ub0b4\ub824\uc8fc\uba74 \uadf8 URL\uc774 \uc6b0\uc120 \uc0ac\uc6a9\ub429\ub2c8\ub2e4.\n      return \"\/?post_type=product&s=\" + encodeURIComponent(\"C24-\" + pno);\n    }\n    return \"#\";\n  }\n\n  \/\/ ===== character badge (YJ24 member) =====\n  var CHARACTER_LIST = [\n    {k:\"dog\", img:\"\/img\/char_dog.png\"},\n    {k:\"cat\", img:\"\/img\/char_cat.png\"},\n    {k:\"bear\", img:\"\/img\/char_bear.png\"},\n    {k:\"rabbit\", img:\"\/img\/char_rabbit.png\"},\n    {k:\"chick\", img:\"\/img\/char_chick.png\"},\n    {k:\"panda\", img:\"\/img\/char_panda.png\"},\n    {k:\"racoon\", img:\"\/img\/char_racoon.png\"},\n    {k:\"penguin\", img:\"\/img\/char_penguin.png\"},\n    {k:\"hamster\", img:\"\/img\/char_hamster.png\"},\n    {k:\"fox\", img:\"\/img\/char_fox.png\"}\n  ];\n  var CHAR_LABEL = {dog:\"\uac15\uc544\uc9c0\", cat:\"\uace0\uc591\uc774\", bear:\"\uacf0\", rabbit:\"\ud1a0\ub07c\", chick:\"\ubcd1\uc544\ub9ac\", panda:\"\ud310\ub2e4\", racoon:\"\ub108\uad6c\ub9ac\", penguin:\"\ud3ad\uadc4\", hamster:\"\ud584\uc2a4\ud130\", fox:\"\uc5ec\uc6b0\"};\n\n  function getCharMeta(k){\n    k = String(k||\"\").trim();\n    if (!k) return null;\n    for (var i=0;i<CHARACTER_LIST.length;i++){\n      if (CHARACTER_LIST[i].k === k) return CHARACTER_LIST[i];\n    }\n    return null;\n  }\n\n\n\n  function getCat1FromUrl(){\n    try{\n      var u = new URL(location.href);\n      var v = (u.searchParams.get(\"cat1\") || \"\").trim();\n      return (CAT1_KEYS.indexOf(v) >= 0) ? v : \"\";\n    }catch(e){}\n    return \"\";\n  }\n\n  function setCat1ToUrl(v){\n    try{\n      var u = new URL(location.href);\n      if (v) u.searchParams.set(\"cat1\", v);\n      else u.searchParams.delete(\"cat1\");\n      history.replaceState(null,\"\",u.toString());\n    }catch(e){}\n  }\n\n  function renderCat1Select(catCounts, totalAll){\n    var mount = document.getElementById(\"yj24rwCat1FilterMount\");\n    if (!mount) return;\n\n    var cur = state.cat1 || \"\";\n    var html =\n      '<div class=\"yj24rw-filterbar\">'+\n        '<span class=\"yj24rw-filterlbl\">FILTER<\/span>'+\n        '<span class=\"yj24rw-selectWrap\">'+\n          '<select class=\"yj24rw-select\" id=\"yj24rwCat1Select\">'+\n            '<option value=\"\">' + '\uc804\uccb4 \ud6c4\uae30' + (totalAll!=null ? (' ('+ totalAll +')') : '') + '<\/option>';\n\n    for (var i=0;i<CAT1_KEYS.length;i++){\n      var k = CAT1_KEYS[i];\n      var c = (catCounts && typeof catCounts === \"object\") ? (parseInt(catCounts[k],10)||0) : 0;\n      var sel = (k === cur) ? \" selected\" : \"\";\n      var label = (CAT1_LABEL[k]||k) + \" (\"+c+\")\";\n      html += '<option value=\"'+k+'\"'+sel+'>'+label+'<\/option>';\n    }\n\n    html +=\n          '<\/select>'+\n        '<\/span>'+\n        (cur ? '<button type=\"button\" class=\"yj24rw-clear\" id=\"yj24rwCat1Clear\">CLEAR<\/button>' : '')+\n      '<\/div>';\n\n    mount.innerHTML = html;\n\n    var selEl = document.getElementById(\"yj24rwCat1Select\");\n    if (selEl){\n      selEl.onchange = function(){\n        var v = this.value || \"\";\n        state.cat1 = v;\n        state.page = 1;\n        location.hash = \"#review=1\";\n        setCat1ToUrl(v);\n        fetchList();            \/\/ \u2705 \uc11c\ubc84\ud544\ud130\ub85c \uc7ac\ud638\ucd9c\n        scrollToReview();\n      };\n    }\n\n    var clr = document.getElementById(\"yj24rwCat1Clear\");\n    if (clr){\n      clr.onclick = function(){\n        state.cat1 = \"\";\n        state.page = 1;\n        location.hash = \"#review=1\";\n        setCat1ToUrl(\"\");\n        fetchList();\n        scrollToReview();\n      };\n    }\n  }\n\n  var state = {\n    page: parsePageFromHash(),\n    sort: \"latest\",\n    cat1: getCat1FromUrl(),\n    total_pages: 1\n  };\n\n  function renderShell(){\n    ROOT.innerHTML =\n      '<style>.yj24rw-charWrap{margin:10px 0 6px;display:flex;flex-direction:column;align-items:flex-start;gap:4px}.yj24rw-char{width:50px;height:50px;display:block;border-radius:14px;object-fit:contain}.yj24rw-charCap{font-size:11px;line-height:1;color:#666;font-weight:700;letter-spacing:.2px}<\/style>'+\n      '<div id=\"yj24ReviewAnchor\"><\/div>'+\n      '<div class=\"yj24rw-card\" id=\"yj24rwCard\">'+\n        '<div class=\"yj24rw-head\">'+\n          '<div>'+\n            '<div class=\"yj24rw-title\">REVIEW<\/div>'+\n            '<div class=\"yj24rw-meta\" id=\"yj24rwSummary\"><span class=\"yj24rw-skel\">\ubd88\ub7ec\uc624\ub294 \uc911\u2026<\/span><\/div>'+\n          '<\/div>'+\n          '<button type=\"button\" class=\"yj24rw-btn\" id=\"yj24rwWrite\">\uc8fc\ubb38\ub0b4\uc5ed\uc5d0\uc11c \ub9ac\ubdf0 \uc791\uc131<\/button>'+\n        '<\/div>'+\n        '<div id=\"yj24RatingGraph\" class=\"yj24-rg\" aria-label=\"\ubcc4\uc810 \ud1b5\uacc4\"><div class=\"yj24-rg-skel\">\ud3c9\uc810 \ud1b5\uacc4\ub97c \ubd88\ub7ec\uc624\ub294 \uc911\u2026<\/div><\/div>'+\n        '<div class=\"yj24rw-filters\" role=\"toolbar\" aria-label=\"\ub9ac\ubdf0 \uc815\ub82c\">'+\n          '<button class=\"yj24rw-filter\" data-sort=\"helpful\" aria-pressed=\"false\" type=\"button\">\ub3c4\uc6c0\ub3fc\uc694\uc21c<\/button>'+\n          '<button class=\"yj24rw-filter\" data-sort=\"latest\" aria-pressed=\"true\" type=\"button\">\ucd5c\uc2e0\uc21c<\/button>'+\n          '<button class=\"yj24rw-filter\" data-sort=\"rating_desc\" aria-pressed=\"false\" type=\"button\">\ub192\uc740\ud3c9\uac00\uc21c<\/button>'+\n          '<button class=\"yj24rw-filter\" data-sort=\"rating_asc\" aria-pressed=\"false\" type=\"button\">\ub0ae\uc740\ud3c9\uac00\uc21c<\/button>'+\n        '<\/div>'+\n        '<div id=\"yj24rwCat1FilterMount\"><\/div>'+\n        '<div class=\"yj24rw-body\">'+\n          '<div class=\"yj24rw-list\" id=\"yj24rwList\"><div class=\"yj24rw-skel\">\ub9ac\ubdf0\ub97c \ubd88\ub7ec\uc624\ub294 \uc911\u2026<\/div><\/div>'+\n          '<div class=\"yj24rw-paging\" id=\"yj24rwPaging\"><\/div>'+\n        '<\/div>'+\n      '<\/div>'+\n\n      '<div class=\"yj24rw-modal\" id=\"yj24rwModal\" aria-hidden=\"true\">'+\n        '<div class=\"yj24rw-modalInner\" role=\"dialog\" aria-modal=\"true\" aria-label=\"\ucca8\ubd80 \uc774\ubbf8\uc9c0\">'+\n          '<div class=\"yj24rw-modalTop\"><b>IMAGE<\/b><button class=\"yj24rw-x\" type=\"button\" id=\"yj24rwClose\">\u00d7<\/button><\/div>'+\n          '<div style=\"padding:10px;background:#fff;text-align:center\">'+\n            '<img decoding=\"async\" id=\"yj24rwModalImg\" class=\"yj24rw-modalImg\" alt=\"\ucca8\ubd80 \uc774\ubbf8\uc9c0\" src=\"\"\/>'+\n          '<\/div>'+\n        '<\/div>'+\n      '<\/div>';\n  }\n\n  function relocateGraphToTop(){\n    var slot = document.getElementById(\"yj24SlotGraph\");\n    if(!slot) return;\n    var g = document.getElementById(\"yj24RatingGraph\") || (ROOT && ROOT.querySelector ? ROOT.querySelector(\"#yj24RatingGraph\") : null);\n    if(!g) return;\n    slot.appendChild(g);\n  }\n\n  function setFilters(){\n    var btns = ROOT.querySelectorAll(\".yj24rw-filter\");\n    for (var i=0;i<btns.length;i++){\n      var b = btns[i];\n      var on = (b.getAttribute(\"data-sort\") === state.sort);\n      b.setAttribute(\"aria-pressed\", on ? \"true\":\"false\");\n    }\n  }\n\n  function setSummary(summary){\n    var el = ROOT.querySelector(\"#yj24rwSummary\");\n    if (!el) return;\n    var avg = (summary && summary.avg_rating!=null) ? summary.avg_rating : 0;\n    var cnt = (summary && summary.review_count!=null) ? summary.review_count : 0;\n    el.innerHTML = starsHtml(Math.round(avg)) +\n      '<span class=\"yj24rw-avg\">'+esc(avg)+'<\/span>'+\n      '<span>\u00b7<\/span>'+\n      '<span>\ub9ac\ubdf0 '+esc(cnt)+'\uac74<\/span>';\n  }\n\n  \n  \/\/ ====== Rating Graph (\uc804\uccb4 \ubcc4\uc810 \ubd84\ud3ec) ======\n  var ratingBox = null;\n  var __rgHasRun = false, __rgInView = false, __rgIO = null;\n\n  function runRatingAnimOnce(){\n    if(!ratingBox || !ratingBox.__yj24AnimReady || __rgHasRun) return;\n    ratingBox.__yj24AnimReady();\n    __rgHasRun = true;\n  }\n  function resetRatingAnim(){\n    if(!ratingBox) return;\n    __rgHasRun = false;\n    var scoreEl = ratingBox.querySelector(\"[data-rg-score]\");\n    if(scoreEl) scoreEl.textContent = \"0.0\";\n    var bars = ratingBox.querySelectorAll(\".yj24-rg-bar>i[data-w]\");\n    for(var i=0;i<bars.length;i++) bars[i].style.width = \"0%\";\n  }\n  function bindRatingGraphObserver(){\n    if(!ratingBox) return;\n    try{ if(__rgIO) __rgIO.disconnect(); }catch(e){}\n    __rgIO = null;\n\n    if(!(\"IntersectionObserver\" in window)){\n      runRatingAnimOnce();\n      return;\n    }\n\n    __rgIO = new IntersectionObserver(function(entries){\n      for(var i=0;i<entries.length;i++){\n        var e = entries[i];\n        var nowIn = !!e.isIntersecting;\n        if(nowIn && !__rgInView) runRatingAnimOnce();\n        if(!nowIn && __rgInView) resetRatingAnim();\n        __rgInView = nowIn;\n      }\n    }, {root:null, threshold:0.25});\n    __rgIO.observe(ratingBox);\n  }\n\n  function renderRatingGraph(stats){\n    ratingBox = document.getElementById(\"yj24RatingGraph\");\n    if(!ratingBox) return;\n\n    if(!stats || typeof stats !== \"object\"){\n      ratingBox.classList.remove(\"is-hidden\");\n\/\/    ratingBox.style.display=\"flex\";\n      ratingBox.style.display=\"block\";\n      ratingBox.innerHTML = \"<div class=\\\"yj24-rg-empty\\\">\ud3c9\uc810 \ud1b5\uacc4\ub97c \ud45c\uc2dc\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.<\/div>\";\n      ratingBox.__yj24AnimReady = null;\n      __rgHasRun = false;\n      return;\n    }\n\n    var total = parseInt(stats.total||0,10)||0;\n    var avg = parseFloat(stats.avg||0)||0;\n    var pct = stats.percents || {};\n    if(total <= 0){\n      ratingBox.classList.remove(\"is-hidden\");\n      ratingBox.style.display=\"block\";\n      ratingBox.innerHTML = \"<div class=\\\"yj24-rg-empty\\\">\ud3c9\uc810 \ud1b5\uacc4\ub97c \ud45c\uc2dc\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.<\/div>\";\n      ratingBox.__yj24AnimReady = null;\n      __rgHasRun = false;\n      return;\n    }\n\n    var avg05 = Math.round(avg*2)\/2; if(avg05<0)avg05=0; if(avg05>5)avg05=5;\n    var avgDisplay = Math.round(avg*10)\/10;\n\n    function starType(i,v){ if(v>=i) return \"full\"; if(v>=i-0.5) return \"half\"; return \"empty\"; }\n    function starSvg2(type){\n      var clipId = \"yj24HalfClip_\"+Math.random().toString(36).slice(2);\n      var d = \"M12 3.6c.3 0 .6.2.7.5l2.1 4.3c.1.2.3.4.6.4l4.7.7c.6.1.8.8.4 1.2l-3.4 3.3c-.2.2-.3.5-.2.8l.8 4.6c.1.6-.5 1-1 .8l-4.2-2.2c-.2-.1-.5-.1-.7 0l-4.2 2.2c-.5.3-1.1-.2-1-.8l.8-4.6c0-.3 0-.6-.2-.8L3.5 10.7c-.4-.4-.2-1.1.4-1.2l4.7-.7c.3 0 .5-.2.6-.4l2.1-4.3c.1-.3.4-.5.7-.5z\";\n      if(type===\"full\") return \"<svg class='yj24-rg-star5' viewBox='0 0 24 24'><path class='fg' d='\"+d+\"'\/><\/svg>\";\n      if(type===\"half\") return \"<svg class='yj24-rg-star5' viewBox='0 0 24 24'><defs><clipPath id='\"+clipId+\"'><rect x='0' y='0' width='12' height='24'><\/rect><\/clipPath><\/defs><path class='bg' d='\"+d+\"'\/><path class='fg' clip-path='url(#\"+clipId+\")' d='\"+d+\"'\/><\/svg>\";\n      return \"<svg class='yj24-rg-star5' viewBox='0 0 24 24'><path class='bg' d='\"+d+\"'\/><\/svg>\";\n    }\n\n\/\/ ===== \ub465\uadfc \ubcc4 \uc774\ubbf8\uc9c0 (FULL\/HALF\/EMPTY) =====\n\/\/ \u2705 \uc544\ub798 3\uac1c \ud30c\uc77c\uc744 \uc5c5\ub85c\ub4dc\ud55c \uacbd\ub85c\ub85c \ub9de\ucdb0\uc8fc\uc138\uc694.\n\/\/ \uc608) \/web\/upload\/yj24\/star_round_full.svg\nvar STAR_FULL  = YJ24_ASSET_BASE + \"\/img\/full_star.svg\";\nvar STAR_HALF  = YJ24_ASSET_BASE + \"\/img\/half_star.svg\";\nvar STAR_EMPTY = YJ24_ASSET_BASE + \"\/img\/empty_star.svg\";\n\nfunction starImg(type, extraClass){\n  var src = (type===\"full\") ? STAR_FULL : (type===\"half\") ? STAR_HALF : STAR_EMPTY;\n  return \"<img class='yj24-rg-starImg \"+(extraClass||\"\")+\"' src='\"+src+\"' alt='' loading='lazy' decoding='async'\/>\";\n}\n\/\/ \uc88c\uce21(\uc810\uc218 \uc544\ub798) 5\uac1c \ubcc4: \ubc18\ubcc4 \ud3ec\ud568\nvar stars5 = \"<div class='yj24-rg-stars5' aria-label='\ud3c9\uc810 \"+avg05.toFixed(1)+\"\uc810'>\";\nfor(var i=1;i<=5;i++) stars5 += starImg(starType(i, avg05), \"is-big\");\nstars5 += \"<\/div>\";\n\n\/\/ \uc6b0\uce21(\ub9cc\uc871\ub3c4 \ud589) \ubcc4: \uc815\uc218\ub9cc, full\/empty\ub85c\ub9cc \ud45c\uc2dc\nfunction starsRowImages(n){\n  n = Math.max(0, Math.min(5, parseInt(n,10)||0));\n  var h = \"<span class='yj24-rg-starsRow' aria-hidden='true'>\";\n  for (var i=1;i<=5;i++) h += starImg(i<=n ? \"full\" : \"empty\", \"is-small\");\n  h += \"<\/span>\";\n  return h;\n}\n\n        function labelText(s){ return (s===5?\"\ucd5c\uace0\uc608\uc694\":s===4?\"\ub9cc\uc871\ud574\uc694\":s===3?\"\ubcf4\ud1b5\uc774\uc5d0\uc694\":s===2?\"\uc544\uc26c\uc6cc\uc694\":\"\ubcc4\ub85c\uc608\uc694\"); }\n\n    var rows = \"\";\n    [5,4,3,2,1].forEach(function(s){\n      var p = parseInt(pct[s]||0,10)||0;\n      if(p<0) p=0; if(p>100) p=100;\n      rows += \"<div class='yj24-rg-row'>\"\n        + \"<div class='yj24-rg-label'>\"+labelText(s)+\"<\/div>\"\n        + \"<div class='yj24-rg-stars'>\"+starsRowImages(s)+\"<\/div>\"\n        + \"<div class='yj24-rg-bar'><i data-w='\"+p+\"'><\/i><\/div>\"\n        + \"<div class='yj24-rg-pct'>\"+p+\"%<\/div>\"\n        + \"<\/div>\";\n    });\n\n    ratingBox.classList.remove(\"is-hidden\");\n    ratingBox.style.display=\"flex\";\n    ratingBox.innerHTML =\n      \"<div class='yj24-rg-left'>\"\n        + \"<div class='yj24-rg-score' data-rg-score>0.0<\/div>\"\n        + stars5\n        + \"<div class='yj24-rg-total'>\"+(total.toLocaleString ? total.toLocaleString() : total)+\"\uac1c \ub9ac\ubdf0<\/div>\"\n      + \"<\/div>\"\n      + \"<div class='yj24-rg-right'>\"+rows+\"<\/div>\";\n\n    ratingBox.__yj24AnimReady = function(){\n      var scoreEl = ratingBox.querySelector(\"[data-rg-score]\");\n      if(scoreEl){\n        var start = null, dur = 1200, to = avgDisplay;\n        function easeOutCubic(t){ return 1-Math.pow(1-t,3); }\n        function step(ts){\n          if(!start) start = ts;\n          var t = (ts-start)\/dur; if(t>1) t=1;\n          scoreEl.textContent = (to*easeOutCubic(t)).toFixed(1);\n          if(t<1) requestAnimationFrame(step);\n          else scoreEl.textContent = to.toFixed(1);\n        }\n        requestAnimationFrame(step);\n      }\nvar bars = ratingBox.querySelectorAll(\".yj24-rg-bar>i[data-w]\");\nfor (var i=0;i<bars.length;i++){\n  \/\/ \u2705 transition\uc744 inline\uc73c\ub85c \uac15\uc81c (\uc2a4\ud0a8\uc758 transition:none !important \ub300\uc751)\n  bars[i].style.setProperty(\"transition\",\"width 1200ms ease\",\"important\");\n  bars[i].style.setProperty(\"width\",\"0%\",\"important\");\n}\n\n\/\/ \u2705 \ube0c\ub77c\uc6b0\uc800\uac00 '0%' \uc0c1\ud0dc\ub97c \ud655\uc2e4\ud788 \uadf8\ub9ac\ub3c4\ub85d \uac15\uc81c \ub9ac\ud50c\ub85c\uc6b0\nfor (var j=0;j<bars.length;j++){ void bars[j].offsetWidth; }\n\nsetTimeout(function(){\n  for (var k=0;k<bars.length;k++){\n    var w = parseInt(bars[k].getAttribute(\"data-w\")||\"0\",10)||0;\n    if (w<0) w=0; if (w>100) w=100;\n    bars[k].style.setProperty(\"width\", w+\"%\",\"important\");\n  }\n}, 60);\n    };\n\n    __rgHasRun = false;\n    __rgInView = false;\n    bindRatingGraphObserver();\n\n    try{\n      var rect = ratingBox.getBoundingClientRect();\n      var vh = window.innerHeight || 0;\n      if(rect.top < vh*0.85 && rect.bottom > 0) runRatingAnimOnce();\n    }catch(e){}\n      setTimeout(runRatingAnimOnce, 0);\n  }\n\nvar lastKey = \"\";\n  function fetchList(){\n    var lang = getReviewLang();\n    var key = state.page+\"|\"+state.sort+\"|\"+(state.cat1||\"\")+\"|\"+PER_PAGE+\"|\"+lang;\n    if (key === lastKey) return;\n    lastKey = key;\n\n    var listEl = ROOT.querySelector(\"#yj24rwList\");\n    if (listEl) listEl.innerHTML = '<div class=\"yj24rw-skel\">\ub9ac\ubdf0\ub97c \ubd88\ub7ec\uc624\ub294 \uc911\u2026<\/div>';\n\n     var url = API +\n      \"?page=\" + encodeURIComponent(state.page) +\n      \"&per_page=\" + encodeURIComponent(PER_PAGE) +\n      \"&sort=\" + encodeURIComponent(state.sort) +\n      \"&lang=\" + encodeURIComponent(lang) +\n      (state.cat1 ? (\"&cat1=\" + encodeURIComponent(state.cat1)) : \"\") +\n      \"&_ts=\" + Date.now();\n\n    fetch(url, {credentials:\"omit\"})\n      .then(function(r){ if(!r.ok){ throw new Error('HTTP '+r.status); } return r.json(); })\n      .then(function(d){\n        if (!d || !d.ok) throw new Error((d && d.error) ? d.error : \"API error\");\n        state.total_pages = parseInt(d.total_pages||1,10) || 1;\n        setSummary(d.summary || {});\n        renderRatingGraph(d.rating_stats || null);\n        renderCat1Select(d.cat_counts || {}, d.total_all); \n        renderList(d.items || []);\n        renderPaging(state.page, state.total_pages);\n        wireInteractions();\n      })\n      .catch(function(e){\n        if (listEl) listEl.innerHTML = '<div class=\"yj24rw-empty\">\ub9ac\ubdf0\ub97c \ubd88\ub7ec\uc624\uc9c0 \ubabb\ud588\uc2b5\ub2c8\ub2e4. ('+esc(e.message||\"\") +')<\/div>';\n      });\n  }\n\nfunction renderList(items){\n  function normText(x){\n    return String(x||\"\")\n      .replace(\/<[^>]+>\/g,\"\")\n      .replace(\/\\s+\/g,\" \")\n      .replace(\/[^\\w\uac00-\ud7a3]+\/g,\"\")\n      .toLowerCase()\n      .trim();\n  }\n\n\n\/\/ ===== cat1 badge (cat1_key + cat1_label) =====\n    var CAT1_SVG = {\n      delivery:'<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M3 7h11v10H3z\"\/><path d=\"M14 10h4l3 3v4h-7z\"\/><circle cx=\"7\" cy=\"19\" r=\"1.5\"\/><circle cx=\"18\" cy=\"19\" r=\"1.5\"\/><\/svg>',\n      issue:'<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 3l10 18H2z\"\/><path d=\"M12 9v5\"\/><path d=\"M12 17h.01\"\/><\/svg>',\n      color:'<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 3a7 7 0 0 0-7 7c0 3.7 3 7 7 11 4-4 7-7.3 7-11a7 7 0 0 0-7-7z\"\/><circle cx=\"9\" cy=\"10\" r=\"1\"\/><circle cx=\"12\" cy=\"8.5\" r=\"1\"\/><circle cx=\"15\" cy=\"10\" r=\"1\"\/><circle cx=\"12\" cy=\"12\" r=\"1\"\/><\/svg>',\n      thickness:'<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M6 7h12\"\/><path d=\"M6 17h12\"\/><path d=\"M12 7v10\"\/><path d=\"M9 10l3-3 3 3\"\/><path d=\"M9 14l3 3 3-3\"\/><\/svg>',\n      material:'<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M7 4h10v6a5 5 0 0 1-10 0V4z\"\/><path d=\"M9 12c0 3 6 3 6 0\"\/><path d=\"M8 20h8\"\/><\/svg>',\n      cutting:'<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"6.5\" cy=\"7\" r=\"2.2\"\/><circle cx=\"6.5\" cy=\"17\" r=\"2.2\"\/><path d=\"M8.2 8.4l13.3 8.2\"\/><path d=\"M8.2 15.6l13.3-8.2\"\/><\/svg>',\n      size:'<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M7 7h10v10H7z\"\/><path d=\"M3 7h4M3 17h4M17 3v4M7 3v4M17 17h4M17 21v-4M7 17H3M7 21v-4\"\/><\/svg>',\n      value:'<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M20 12v7a2 2 0 0 1-2 2H6l-2-2V5a2 2 0 0 1 2-2h7\"\/><path d=\"M14 3h7v7\"\/><path d=\"M21 3l-9 9\"\/><path d=\"M8.5 14.5c0 1 1 1.8 2.5 1.8s2.5-.7 2.5-1.8-1.2-1.5-2.5-1.8-2.5-.7-2.5-1.8S9.5 9.5 11 9.5s2.5.7 2.5 1.8\"\/><\/svg>',\n      satisfaction:'<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M8 11v2\"\/><path d=\"M16 11v2\"\/><path d=\"M8.5 16c1 1 2.2 1.5 3.5 1.5S14.5 17 15.5 16\"\/><path d=\"M12 22a10 10 0 1 0-10-10 10 10 0 0 0 10 10z\"\/><\/svg>',\n      support:'<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M4 12a8 8 0 0 1 16 0\"\/><path d=\"M6 12v4a2 2 0 0 0 2 2h1\"\/><path d=\"M18 12v4a2 2 0 0 1-2 2h-1\"\/><path d=\"M9 18h6\"\/><path d=\"M12 18v3\"\/><\/svg>',\n      adhesive:'<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M7 4h10v8a5 5 0 0 1-10 0V4z\"\/><path d=\"M9 10h6\"\/><path d=\"M9 7h6\"\/><path d=\"M8 20h8\"\/><path d=\"M10 20v-3h4v3\"\/><\/svg>'\n    };\n\n    function cat1Html(it){\n      if (!it) return \"\";\n      var key = String(it.cat1_key || \"\").trim();\n      var label = String(it.cat1_label || \"\").trim();\n      if (!key && !label) return \"\";\n      var iconSvg = CAT1_SVG[key] || \"\";\n      var txt = label || key;\n      return (\n        '<div class=\"yj24rw-cat1\">' +\n          '<span class=\"yj24rw-badge yj24rw-cat1badge\">' +\n            (iconSvg ? '<span class=\"yj24rw-cat1ico\" aria-hidden=\"true\">' + iconSvg + '<\/span>' : '') +\n            '<span class=\"yj24rw-cat1txt\">' + esc(txt) + '<\/span>' +\n          '<\/span>' +\n        '<\/div>'\n      );\n    }\n\n  \n\n    function charHtml(it){\n      if(!it) return \"\";\n      var k = String(it.char_key || it.charKey || it.char || \"\").trim();\n      if(!k) return \"\";\n      var meta = getCharMeta(k);\n      var img  = meta ? meta.img : \"\";\n      var lbl  = (CHAR_LABEL && CHAR_LABEL[k]) ? CHAR_LABEL[k] : k;\n      if(img && img.charAt(0) === \"\/\") img = YJ24_ASSET_BASE + img;\n      return (\n        '<div class=\"yj24rw-charWrap\" title=\"YJ24 \ud68c\uc6d0 \ud6c4\uae30\" data-char=\"'+esc(k)+'\">'+\n          (img\n            ? '<img decoding=\"async\" class=\"yj24rw-char\" src=\"'+esc(img)+'\" alt=\"'+esc(lbl)+' \uce90\ub9ad\ud130\" loading=\"lazy\" '+\n              'onerror=\"this.style.display=\\'none\\';this.closest(\\'.yj24rw-charWrap\\').classList.add(\\'is-noimg\\')\">'\n            : ''\n          )+\n        '<\/div>'\n      );\n    }\n\nvar el = ROOT.querySelector(\"#yj24rwList\");\n  if (!el) return;\n\n  if (!items || !items.length){\n    el.innerHTML = '<div class=\"yj24rw-empty\">\uc791\uc131\ub41c \ub9ac\ubdf0\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.<\/div>';\n    return;\n  }\n\n  var html = \"\";\n  for (var i=0;i<items.length;i++){\n    var it = items[i] || {};\n    var rating = parseInt(it.rating,10)||0;\n    var author = it.author || \"\";\n    var created = it.created_at || \"\";\n    var body = (it.body || \"\").trim();\n    var plain = body.replace(\/\\s+\/g,\" \").trim();\n\n    var needsMore = plain.length >= 42;\n\n    var title = (it.title || \"\").trim();\n    var titleText = \"\";\n    if (title){\n      var nt = normText(title);\n      var nb = normText(body);\n      if (nt && nb && nt === nb){\n        \/\/ title==body\uba74 \uc694\uc57d \ud14d\uc2a4\ud2b8\ub85c\n        titleText = plain;\n      } else {\n        titleText = title;\n      }\n      if (titleText.length > 22) titleText = titleText.slice(0,22) + \"\u2026\"; \/\/ \ub108\ubb34 \uae38\uba74 \ub9d0\uc904\uc784\n    }\n\n\/\/ \u2705 \ucca8\ubd80 \uc774\ubbf8\uc9c0\ub294 \uae30\ubcf8\uc73c\ub85c \ud3bc\uccd0\uc11c \ubcf4\uc5ec\uc8fc\ubbc0\ub85c(\ud1a0\uae00 \ubc84\ud2bc \ubd88\ud544\uc694),\n\/\/    '\ub354\ubcf4\uae30' \ubc84\ud2bc\uc740 \ubcf8\ubb38\uc774 \uae38 \ub54c\ub9cc \ub178\ucd9c\ud55c\ub2e4.\n\/\/var hasAttach = (parseInt(it.has_attachment,10)||0) === 1;\nvar media = (it.media && it.media.length) ? it.media : [];\n\nvar clampClass = needsMore ? \"yj24rw-clamp\" : \"\";\nvar toggleLabel = \"\ub354\ubcf4\uae30\";\nvar showToggle = needsMore;\n\n    \/\/ \u2705 \uc804\uccb4\ub9ac\uc2a4\ud2b8\uc6a9: \uc0c1\ud488\uc815\ubcf4(\uac00\ub2a5\ud560 \ub54c\ub9cc \ud45c\uc2dc)\n    var pno = parseInt(it.product_no,10)||0;\n    var pname = (it.product_name || \"\").trim();\n    var pthumb = (it.product_thumb_url || \"\").trim();\n    var productUrl = getWooProductUrl(it);\n\n    var prodHtml = \"\";\n    if (pno>0 || pname || pthumb){\n      prodHtml =\n        '<a class=\"yj24rw-prod\" href=\"'+esc(productUrl||\"#\")+'\" '+(productUrl?'':'onclick=\"return false\"')+'>'+\n          (pthumb?'<img decoding=\"async\" class=\"yj24rw-prodimg\" src=\"'+esc(pthumb)+'\" alt=\"\" loading=\"lazy\"\/>':'')+\n          '<span class=\"yj24rw-prodinfo\">'+\n            '<span class=\"yj24rw-prodname\">'+esc(pname || (\"\uc0c1\ud488\ubc88\ud638 #\"+pno))+'<\/span>'+\n            \/\/ \u2705 title\uc774 \uc788\uc744 \ub54c\ub9cc 2\ubc88\uc9f8 \uc904 \ucd9c\ub825\n            (titleText ? '<span class=\"yj24rw-prodbadge\">'+esc(titleText)+'<\/span>' : '')+\n          '<\/span>'+\n        '<\/a>';\n    }\n\n    \/\/ \ucca8\ubd80 \uc378\ub124\uc77c\n    var mediaHtml = \"\";\n    if (media.length){\n      var imgs = \"\";\n      for (var j=0;j<media.length;j++){\n        var u = media[j] && media[j].url ? String(media[j].url) : \"\";\n        if (!u) continue;\n        imgs += '<img decoding=\"async\" data-full=\"'+esc(u)+'\" src=\"'+esc(u)+'\" alt=\"\ucca8\ubd80 \uc774\ubbf8\uc9c0\" loading=\"lazy\"\/>';\n      }\n      if (imgs) mediaHtml = '<div class=\"yj24rw-attachments\">'+imgs+'<\/div>';\n    }\n\n    var moreHtml = showToggle\n      ? '<div class=\"yj24rw-more\"><button type=\"button\" class=\"yj24rw-toggle\" aria-expanded=\"false\"><span>'+toggleLabel+'<\/span><\/button><\/div>'\n      : '';\n\n    \/\/ feedback\n    var articleNo = parseInt(it.article_no,10)||0;\n    var hc = parseInt(it.helpful_count,10)||0;\n    var feedbackHtml = (articleNo>0)\n      ? '<div class=\"yj24fb\" data-article=\"'+articleNo+'\">'+\n          '<button type=\"button\" class=\"yj24fb-help\" aria-label=\"\ub3c4\uc6c0\ub3fc\uc694\">'+\n            '<span class=\"yj24fb-ico\">\ud83d\udc4d<\/span><span class=\"yj24fb-help-txt\">\ub3c4\uc6c0\ub3fc\uc694<\/span><span class=\"yj24fb-help-count\">'+hc+'<\/span>'+\n          '<\/button>'+\n          '<button type=\"button\" class=\"yj24fb-report\" data-reason=\"spam\" aria-label=\"\uc2e0\uace0\">\uc2e0\uace0<\/button>'+\n        '<\/div>'\n      : '';\n\n    html +=\n      '<div class=\"yj24rw-item\" data-idx=\"'+i+'\">'+\n        '<div class=\"yj24rw-left\">'+\n          starsHtml(rating)+\n          '<div class=\"yj24rw-score\">'+esc(rating)+'.0<\/div>'+\n          charHtml(it)+\n          '<div class=\"yj24rw-sub\">'+\n            '<div>'+esc(author)+'<\/div>'+\n            '<div>'+esc(created)+'<\/div>'+\n          '<\/div>'+\n        '<\/div>'+\n        '<div class=\"yj24rw-right\">'+\n          cat1Html(it)+\n          prodHtml+\n          '<div class=\"yj24rw-text '+clampClass+'\">'+esc(body).replace(\/\\n\/g,\"<br>\")+'<\/div>'+\n          moreHtml+mediaHtml+feedbackHtml+\n        '<\/div>'+\n      '<\/div>';\n  }\n\n  el.innerHTML = html;\n}\n\n  function renderPaging(cur, total){\n    var el = ROOT.querySelector(\"#yj24rwPaging\");\n    if (!el) return;\n\n    total = Math.max(1, parseInt(total,10)||1);\n    cur = Math.max(1, Math.min(total, parseInt(cur,10)||1));\n\n    var pages = [];\n    var start = Math.max(1, cur - 3);\n    var end = Math.min(total, cur + 3);\n    if (start > 1) pages.push(1);\n    if (start > 2) pages.push(\"dots\");\n    for (var p=start;p<=end;p++) pages.push(p);\n    if (end < total-1) pages.push(\"dots\");\n    if (end < total) pages.push(total);\n\n    var html = \"\";\n    for (var i=0;i<pages.length;i++){\n      var v = pages[i];\n      if (v === \"dots\"){\n        html += '<span style=\"padding:0 4px;color:#777;font-weight:900\">\u2026<\/span>';\n      } else {\n        var on = (v === cur);\n        html += '<button type=\"button\" class=\"yj24rw-page\" data-page=\"'+v+'\" '+(on?'aria-current=\"page\"':'')+'>'+v+'<\/button>';\n      }\n    }\n    el.innerHTML = html;\n  }\n\n  function scrollToReview(){\n    var a = document.getElementById(\"yj24ReviewAnchor\") || ROOT;\n    var top = a.getBoundingClientRect().top + (window.pageYOffset || document.documentElement.scrollTop || 0);\n    window.scrollTo({top: Math.max(0, top - 10), behavior: \"smooth\"});\n  }\n\n  function openModal(src){\n    var modal = ROOT.querySelector(\"#yj24rwModal\");\n    var img = ROOT.querySelector(\"#yj24rwModalImg\");\n    if (!modal || !img) return;\n    img.src = src;\n    modal.setAttribute(\"aria-hidden\",\"false\");\n  }\n  function closeModal(){\n    var modal = ROOT.querySelector(\"#yj24rwModal\");\n    var img = ROOT.querySelector(\"#yj24rwModalImg\");\n    if (!modal || !img) return;\n    modal.setAttribute(\"aria-hidden\",\"true\");\n    img.src = \"\";\n  }\n\n  function wireInteractions(){\n    \/\/ toggle\n    var items = ROOT.querySelectorAll(\".yj24rw-item\");\n    for (var i=0;i<items.length;i++){\n      (function(item){\n        var btn = item.querySelector(\".yj24rw-toggle\");\n        var text = item.querySelector(\".yj24rw-text\");\n        var atts = item.querySelector(\".yj24rw-attachments\");\n\n        if (btn && text){\n          btn.addEventListener(\"click\", function(){\n          var expanded = btn.getAttribute(\"aria-expanded\")===\"true\";\n          if (expanded){\n            btn.setAttribute(\"aria-expanded\",\"false\");\n            if (text.className.indexOf(\"yj24rw-clamp\")===-1) text.className += \" yj24rw-clamp\";\n            btn.querySelector(\"span\").textContent = \"\ub354\ubcf4\uae30\";\n          } else {\n            btn.setAttribute(\"aria-expanded\",\"true\");\n            text.className = text.className.replace(\/\\byj24rw-clamp\\b\/g,\"\").trim();\n            btn.querySelector(\"span\").textContent = \"\uc811\uae30\";\n          }\n        });\n        }\n\n        \/\/ \ucca8\ubd80 \ud074\ub9ad => \ubaa8\ub2ec\n        if (atts){\n          atts.addEventListener(\"click\", function(ev){\n            var t = ev.target;\n            if (t && t.tagName === \"IMG\"){\n              var full = t.getAttribute(\"data-full\") || t.src;\n              if (full) openModal(full);\n            }\n          });\n        }\n      })(items[i]);\n    }\n\n    \/\/ paging\n    var paging = ROOT.querySelector(\"#yj24rwPaging\");\n    if (paging){\n      paging.onclick = function(ev){\n        var t = ev.target;\n        if (!t) return;\n        var btn = t.closest ? t.closest(\".yj24rw-page\") : t;\n        if (!btn || !btn.getAttribute) return;\n        var p = parseInt(btn.getAttribute(\"data-page\")||\"\",10);\n        if (!(p>0)) return;\n        state.page = p;\n        location.hash = \"#review=\" + p;\n        fetchList();\n        scrollToReview();\n      };\n    }\n\n    \/\/ filters\n    var filters = ROOT.querySelectorAll(\".yj24rw-filter\");\n    for (var k=0;k<filters.length;k++){\n      filters[k].onclick = function(){\n        var s = this.getAttribute(\"data-sort\") || \"latest\";\n        state.sort = s;\n        state.page = 1;\n        location.hash = \"#review=1\";\n        setFilters();\n        fetchList();\n        scrollToReview();\n      };\n    }\n  }\n\n  function wireHeader(){\n    var writeBtn = ROOT.querySelector(\"#yj24rwWrite\");\n    if (writeBtn){\n      writeBtn.addEventListener(\"click\", function(){\n        var u = getWriteUrl();\n        if (u && u !== \"#\") location.href = u;\n        else alert(\"\ub9ac\ubdf0 \uc791\uc131 URL\uc744 \uc2a4\ud0a8\uc5d0 \ub9de\uac8c \uc9c0\uc815\ud574 \uc8fc\uc138\uc694.\");\n      });\n    }\n    var closeBtn = ROOT.querySelector(\"#yj24rwClose\");\n    var modal = ROOT.querySelector(\"#yj24rwModal\");\n    if (closeBtn) closeBtn.onclick = closeModal;\n    if (modal){\n      modal.addEventListener(\"click\", function(ev){\n        if (ev.target === modal) closeModal();\n      });\n      document.addEventListener(\"keydown\", function(ev){\n        if (ev.key === \"Escape\") closeModal();\n      });\n    }\n  }\n\n  \/\/ ====== Feedback (Helpful\/Report) ======\n  function getFp(){\n    var k=\"yj24_fp_v1\";\n    try{\n      var fp=localStorage.getItem(k);\n      if(!fp){\n        fp=(Date.now().toString(36)+\"-\"+Math.random().toString(36).slice(2)+\"-\"+(screen.width+\"x\"+screen.height)).slice(0,120);\n        localStorage.setItem(k,fp);\n      }\n      return fp;\n    }catch(e){\n      return (Date.now().toString(36)+\"-\"+Math.random().toString(36).slice(2)).slice(0,80);\n    }\n  }\n  function jpost(url,data){\n    return fetch(url,{method:\"POST\",headers:{\"Content-Type\":\"application\/json\"},body:JSON.stringify(data)})\n      .then(function(r){ return r.json(); });\n  }\n\n  ROOT.addEventListener(\"click\", function(e){\n    \/\/ Report\n    var rbtn = e.target.closest && e.target.closest(\".yj24fb-report\");\n    if(rbtn){\n      var box = rbtn.closest(\".yj24fb\");\n      var a = parseInt(box.getAttribute(\"data-article\")||\"0\",10);\n      var reason = rbtn.getAttribute(\"data-reason\") || \"other\";\n      if(!a) return;\n      if(!confirm(\"\uc774 \ub9ac\ubdf0\ub97c \uc2e0\uace0\ud560\uae4c\uc694?\")) return;\n      jpost(FB_API_BASE+\"\/feedback_report.php\",{article_no:a,reason:reason,fp:getFp()})\n        .then(function(res){\n          alert(res && res.ok ? (res.added ? \"\uc2e0\uace0\uac00 \uc811\uc218\ub418\uc5c8\uc2b5\ub2c8\ub2e4.\" : \"\uc774\ubbf8 \uc811\uc218\ub41c \uc2e0\uace0\uc785\ub2c8\ub2e4.\") : \"\uc2e0\uace0 \ucc98\ub9ac\uc5d0 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4.\");\n        })\n        .catch(function(){ alert(\"\uc2e0\uace0 \ucc98\ub9ac\uc5d0 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4.\"); });\n      return;\n    }\n\n    \/\/ Helpful\n    var hbtn = e.target.closest && e.target.closest(\".yj24fb-help\");\n    if(hbtn){\n      var box2 = hbtn.closest(\".yj24fb\");\n      var a2 = parseInt(box2.getAttribute(\"data-article\")||\"0\",10);\n      if(!a2) return;\n      if(hbtn.classList.contains(\"is-on\")) return;\n\n      hbtn.classList.add(\"is-on\");\n      var cnt = box2.querySelector(\".yj24fb-help-count\");\n      if(cnt) cnt.textContent = (parseInt(cnt.textContent||\"0\",10)+1);\n\n      jpost(FB_API_BASE+\"\/feedback_helpful.php\",{article_no:a2,fp:getFp()})\n        .then(function(res){\n          if(!res || !res.ok || res.added === 0){\n            hbtn.classList.remove(\"is-on\");\n            if(cnt) cnt.textContent = Math.max(0, parseInt(cnt.textContent||\"0\",10)-1);\n          }\n        })\n        .catch(function(){\n          hbtn.classList.remove(\"is-on\");\n          if(cnt) cnt.textContent = Math.max(0, parseInt(cnt.textContent||\"0\",10)-1);\n        });\n      return;\n    }\n  });\n\n  \/\/ init\n  renderShell();\n  relocateGraphToTop();\n  wireHeader();\n  setFilters();\n  renderCat1Select({}, null);\n\n  window.addEventListener(\"hashchange\", function(){\n    var p = parsePageFromHash();\n    if (p !== state.page){\n      state.page = p;\n      fetchList();\n      scrollToReview();\n    }\n  });\n\n  fetchList();\n})();\n<\/script>\n\n<style>\n\/* ========================================================= YJ24 Reviews CSS (Cafe24 collision-safe, deduped) ========================================================= *\/\n\/* 0) Layout Slots *\/\n#yj24ReviewsLayout{width:100%}\n#yj24ReviewsLayout>div{margin:18px 0}\n#yj24SlotGraph{margin-top:0;margin:24px auto;padding:0 25px}\n\n\/* 1) Photo Review Strip (#yj24-photo-review) *\/\n#yj24-photo-review, #yj24-photo-review *{box-sizing:border-box}\n#yj24-photo-review img{max-width:100%;height:auto;display:block}\n#yj24-photo-review{width:100%;max-width:85vw;margin:18px auto 22px}\n@media (max-width:768px){#yj24-photo-review{max-width:90vw}}\n.yj24-prv{margin:18px auto 22px;padding:18px}\n.yj24-prv-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}\n.yj24-prv-title{font-size:14px;letter-spacing:.28em;font-weight:800;color:#111}\n.yj24-prv-sub{font-size:12px;color:#777;margin-top:4px}\n.yj24-prv-viewport{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:12px;touch-action:pan-y}\n.yj24-prv-nav{position:absolute;inset:0;z-index:20;pointer-events:none}\n.yj24-prv-btn{position:absolute;top:30%;transform:translateY(-50%);pointer-events:auto;width:44px;height:84px;border:0;border-radius:10px;background:rgba(0,0,0,.28);color:#fff;font-size:28px;line-height:64px;cursor:pointer;transition:background .2s ease, opacity .2s ease}\n@media(max-width:768px){.yj24-prv-btn{top:20%}}\n#yj24PrvPrev{left:0}\n#yj24PrvNext{right:0}\n.yj24-prv-btn:hover{background:rgba(0,0,0,.65)}\n.yj24-prv-btn:disabled{opacity:.25;cursor:not-allowed}\n.yj24-prv-track{display:flex;width:100%;will-change:transform;transform:translateX(0);transition:transform .45s ease}\n.yj24-prv-panel{flex:0 0 100%;width:100%}\n.yj24-prv-row{display:flex;gap:12px;width:100%}\n@media(max-width:768px){.yj24-prv-row{gap:6px}}\n.yj24-prv-card{flex:1 0 0;min-width:0;padding:5px}\n.yj24-card{background:#fff;overflow:hidden;padding:5px}\n.yj24-img-wrap img{width:100%;aspect-ratio:1\/1;object-fit:cover;border-radius:12px;cursor:pointer}\n.yj24-review{margin-top:6px}\n.yj24-text{font-size:14px;line-height:1.2;white-space:normal;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}\n.yj24-line{border:0;height:1px;background:#eee;margin:10px 0}\n.yj24-product{display:flex;align-items:center;gap:8px}\n.yj24-prod-link{flex:0 0 32px;width:32px;height:32px;display:block}\n.yj24-prod-thumb{width:100%;height:100%;object-fit:cover;border-radius:6px;display:block}\n.yj24-prod-name{font-size:12px;color:#666;line-height:1.3;word-break:keep-all;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}\n.yj24-stars{margin-bottom:6px}\n.yj24-stars-svg{display:inline-flex;align-items:center;gap:2px}\n.yj24-star{width:20px;height:20px;display:block}\n.yj24-star-wrap.is-on .yj24-star path{fill:#FFC107}\n.yj24-star-wrap.is-off .yj24-star path{fill:rgba(255,193,7,.25)}\n.yj24-star-score{font-size:13px;font-weight:700;color:#333;margin-left:6px}\n#yj24-modal .yj24-star-score{color:#fff}\n.yj24-date{margin-top:6px;font-size:11px;color:#999;text-align:right}\n.yj24-prv-paging{margin-top:12px;display:flex;gap:6px;justify-content:center;flex-wrap:wrap}\n.yj24-page-btn{min-width:34px;height:34px;padding:0 10px;border-radius:10px;border:1px solid rgba(0,0,0,.12);background:#fff;cursor:pointer;font-size:12px}\n.yj24-page-btn.is-active{background:#111;color:#fff;border-color:#111}\n.yj24-page-ellipsis{height:34px;display:flex;align-items:center;padding:0 6px;color:#888;font-size:12px}\n.yj24-modal{position:fixed;inset:0;background:rgba(0,0,0,.7);display:none;align-items:center;justify-content:center;z-index:9999}\n.yj24-modal-inner{position:relative;background:transparent;padding:0;border-radius:0;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;gap:10px}\n@media(max-width:768px){.yj24-modal-inner{max-height:70vh}}\n.yj24-modal-close{position:absolute;top:8px;right:8px;width:34px;height:34px;border:0;border-radius:999px;background:rgba(0,0,0,.55);color:#fff;font-size:18px;line-height:34px;cursor:pointer;z-index:2}\n.yj24-modal-close:hover{background:rgba(0,0,0,.7)}\n.yj24-modal-inner img{width:auto;max-width:90vw;max-height:calc(90vh - 180px);border-radius:12px;object-fit:contain;display:block}\n@media(max-width:768px){.yj24-modal-inner img{max-height:calc(70vh - 180px)}}\n.yj24-modal-meta{color:#fff;text-align:left;padding:0 4px}\n.yj24-modal-stars{margin-top:2px}\n.yj24-modal-prod{margin-top:6px;font-size:13px;font-weight:700;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.yj24-modal-sub{margin-top:6px;font-size:12px;color:rgba(255,255,255,.85);display:flex;gap:6px;align-items:center}\n.yj24-dot{opacity:.7}\n#yj24-modal-link{display:block;margin-top:12px;text-align:center;padding:10px;background:#000;color:#fff;border-radius:8px;text-decoration:none}\n.yj24-modal-review{margin-top:6px;font-size:13px;color:rgba(255,255,255,.92);line-height:1.5;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;word-break:keep-all;min-height:3em}\n\n\/* 2) Review All Widget (#yj24ReviewAllWidget) *\/\n#yj24ReviewAllWidget,#yj24ReviewAllWidget *{box-sizing:border-box}\n#yj24ReviewAllWidget{font-family:inherit}\n.yj24rw-card{width:100%;max-width:none;margin:10px auto;padding:10px}\n.yj24rw-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}\n.yj24rw-title{font-size:14px;letter-spacing:.28em;font-weight:900;color:#111}\n.yj24rw-meta{margin-top:6px;color:#666;font-size:12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}\n.yj24rw-avg{font-size:21px;font-weight:900;color:#111}\n.yj24rw-btn{border:1px solid rgba(0,0,0,.12);background:#fff;padding:10px 12px;border-radius:14px;cursor:pointer;font-size:12px;font-weight:900;color:#111}\n.yj24rw-btn:hover{background:rgba(0,0,0,.03)}\n.yj24rw-filters{display:flex;gap:10px;align-items:center;margin:8px 0 14px;flex-wrap:wrap}\n.yj24rw-filter{border:0;background:transparent;padding:8px 6px;cursor:pointer;color:#666}\n.yj24rw-filter:hover{color:#111}\n.yj24rw-filter[aria-pressed=\"true\"]{font-weight:900;color:#111;border-bottom:2px solid rgba(0,0,0,.7)}\n.yj24rw-list{display:flex;flex-direction:column;gap:5px}\n.yj24rw-item{display:flex;gap:20px;padding:5px 0;border-top:1px solid rgba(0,0,0,.06)}\n.yj24rw-item:first-child{border-top:0}\n.yj24rw-left{width:120px;flex:0 0 120px}\n.yj24rw-stars{display:inline-flex;gap:2px;vertical-align:middle}\n.yj24rw-stars svg{width:13px;height:13px;fill:#f2b400}\n.yj24rw-score{margin-top:6px;font-weight:900;color:#111;font-size:13px}\n.yj24rw-sub{margin-top:10px;font-size:12px;color:#777;line-height:1.35}\n.yj24rw-right{flex:1 1 auto;min-width:0}\n.yj24rw-ttl{font-size:13px;font-weight:900;color:#111;margin:0 0 6px;letter-spacing:.01em}\n.yj24rw-badge{display:inline-block;padding:4px 8px;border-radius:999px;background:rgba(0,0,0,.06);font-size:12px;font-weight:900;color:#111;margin:0 0 6px}\n.yj24rw-text{font-size:13px;line-height:1.7;color:#222;word-break:break-word}\n.yj24rw-clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}\n.yj24rw-more{margin-top:10px}\n.yj24rw-toggle{border:1px solid rgba(0,0,0,.10);background:#fff;padding:8px 10px;border-radius:12px;cursor:pointer;font-size:12px;font-weight:900;color:#111}\n.yj24rw-toggle:hover{background:rgba(0,0,0,.03)}\n.yj24rw-attachments{display:flex!important;gap:8px;flex-wrap:wrap;margin-top:10px}\n.yj24rw-attachments img{width:86px;height:86px;object-fit:cover;border-radius:14px;background:#f2f2f2;cursor:pointer}\n.yj24rw-prod{display:flex;align-items:center;gap:10px;margin:0 0 8px;text-decoration:none}\n.yj24rw-prodinfo{display:flex;flex-direction:column;gap:2px;min-width:0}\n.yj24rw-prodname{font-size:13px;font-weight:600;color:#111;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.yj24rw-prodbadge{display:inline-block;width:fit-content;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;color:#111;background:rgba(0,0,0,.06)}\n.yj24rw-prodimg{width:50px;height:50px;border-radius:10px;object-fit:cover;background:#f2f2f2;flex:0 0 34px}\n.yj24rw-paging{display:flex;justify-content:center;gap:6px;margin:16px 0 0;flex-wrap:wrap}\n.yj24rw-page{border:1px solid rgba(0,0,0,.10);background:#fff;padding:8px 10px;border-radius:12px;cursor:pointer;font-size:12px;font-weight:900;color:#111}\n.yj24rw-page[aria-current=\"page\"]{background:rgba(0,0,0,.06);border-color:rgba(0,0,0,.18)}\n.yj24rw-empty{padding:24px 0;text-align:center;color:#777}\n.yj24rw-skel{padding:18px 0;color:#888}\n.yj24rw-modal{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;z-index:9999;opacity:0;pointer-events:none;transition:opacity .18s ease}\n.yj24rw-modal[aria-hidden=\"false\"]{opacity:1;pointer-events:auto}\n.yj24rw-modalInner{width:min(92vw,560px);border-radius:16px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.25)}\n.yj24rw-modalTop{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#111;color:#fff}\n.yj24rw-x{border:0;background:transparent;color:#fff;font-size:22px;line-height:1;cursor:pointer}\n.yj24rw-modalImg{max-width:100%;height:auto;display:block;margin:0 auto}\n.yj24fb{display:flex;align-items:flex-start;justify-content:space-between;gap:5px;margin-top:0;padding-top:5px;border-top:1px solid rgba(0,0,0,.06);flex-wrap:wrap}\n\/*.yj24fb:before{content:\"\uc774 \ub9ac\ubdf0\uac00 \ub3c4\uc6c0\uc774 \ub418\uc5c8\ub098\uc694?\";display:block;margin:6px 0 8px;font-size:12px;color:#777;width:100%}*\/\n.yj24fb-help{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;padding:5px 10px;border-radius:12px;cursor:pointer;color:#222}\n.yj24fb-help:hover{background:rgba(0,0,0,.04)}\n.yj24fb-ico{font-size:14px;line-height:1}\n.yj24fb-help-txt{font-size:12px;font-weight:900;letter-spacing:.02em}\n.yj24fb-help-count{min-width:18px;text-align:center;padding:2px 8px;border-radius:999px;background:rgba(0,0,0,.05);font-weight:900;color:#111}\n.yj24fb-help.is-on .yj24fb-help-count{background:rgba(0,0,0,.12)}\n.yj24fb-report{border:1px solid rgba(0,0,0,.12);background:#fff;padding:7px 10px;border-radius:12px;cursor:pointer;font-size:12px;color:#444}\n.yj24fb-report:hover{background:rgba(0,0,0,.03);border-color:rgba(0,0,0,.18);color:#111}\n@media (max-width:768px){.yj24rw-item{gap:10px}.yj24rw-card{padding:14px}.yj24rw-left{width:94px;flex:0 0 94px}#yj24ReviewAllWidget .yj24rw-filters{flex-wrap:nowrap;gap:6px;overflow:auto;padding-bottom:2px}#yj24ReviewAllWidget .yj24rw-filter{padding:6px 4px;font-size:11px;letter-spacing:-.02em;white-space:nowrap}.yj24rw-attachments img{width:76px;height:76px}}\n.yj24rw-filterbar{display:flex;align-items:center;gap:10px;margin:10px 0 6px;flex-wrap:wrap}\n.yj24rw-filterbar .yj24rw-filterlbl{font-size:12px;letter-spacing:.18em;font-weight:900;color:#111;opacity:.85}\n.yj24rw-filterbar .yj24rw-selectWrap{position:relative;min-width:220px;max-width:100%;flex:1}\n.yj24rw-filterbar select.yj24rw-select{width:100%;appearance:none;-webkit-appearance:none;-moz-appearance:none;padding:11px 40px 11px 12px;border-radius:14px;border:1px solid rgba(212,175,55,.35);background:linear-gradient(180deg,#fffdf6,#f7f2df);box-shadow:0 3px 14px rgba(0,0,0,.06);font-size:13px;font-weight:800;color:#111;outline:none}\n.yj24rw-filterbar select.yj24rw-select:focus{border-color:rgba(212,175,55,.65);box-shadow:0 6px 18px rgba(212,175,55,.16)}\n.yj24rw-filterbar .yj24rw-selectWrap:after{content:\"\";position:absolute;right:14px;top:50%;width:10px;height:10px;border-right:2px solid rgba(17,17,17,.55);border-bottom:2px solid rgba(17,17,17,.55);transform:translateY(-55%) rotate(45deg);pointer-events:none}\n.yj24rw-filterbar .yj24rw-clear{border:0;background:transparent;font-size:12px;font-weight:900;letter-spacing:.08em;color:#111;opacity:.55;cursor:pointer;padding:8px 10px;border-radius:12px}\n.yj24rw-filterbar .yj24rw-clear:hover{opacity:.9;background:rgba(0,0,0,.04)}\n.yj24rw-cat1{display:block;margin:0 0 6px}\n.yj24rw-cat1badge{display:inline-flex;align-items:center;gap:6px;color:#111}\n.yj24rw-cat1ico{display:inline-flex;align-items:center;line-height:1}\n.yj24rw-cat1ico svg{width:16px;height:16px;display:block}\n\n\/* 3) Graph Slot (#yj24SlotGraph) *\/\n#yj24SlotGraph, #yj24SlotGraph *{box-sizing:border-box}\n#yj24SlotGraph *::before,#yj24SlotGraph *::after{content:none !important}\n#yj24SlotGraph .yj24-rg{display:flex !important;align-items:center !important;justify-content:flex-end !important;gap:34px !important;padding:14px 0 18px !important}\n#yj24SlotGraph .yj24-rg-left{min-width:260px !important;display:flex !important;flex-direction:column !important;align-items:center !important;text-align:center !important;gap:10px !important}\n#yj24SlotGraph .yj24-rg-score{font-size:46px !important;font-weight:900 !important;line-height:1 !important;color:#111 !important}\n#yj24SlotGraph .yj24-rg-total{font-size:14px !important;color:#666 !important}\n#yj24SlotGraph .yj24-rg-right{flex:1 !important;display:flex !important;flex-direction:column !important;gap:10px !important;min-width:220px !important}\n#yj24SlotGraph .yj24-rg-row{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:10px !important}\n#yj24SlotGraph .yj24-rg-label{flex:0 0 80px !important;width:80px !important;font-size:13px !important;color:#666 !important}\n#yj24SlotGraph .yj24-rg-stars{flex:0 0 85px !important;width:85px !important;overflow:hidden !important;display:flex !important;align-items:center !important}\n#yj24SlotGraph .yj24-rg-starsRow{display:inline-flex !important;flex-direction:row !important;align-items:center !important;gap:1px !important;white-space:nowrap !important}\n#yj24SlotGraph .yj24-rg-starImg{display:block !important;flex:0 0 auto !important}\n#yj24SlotGraph .yj24-rg-right .yj24-rg-starImg{width:16px !important;height:16px !important}\n#yj24SlotGraph .yj24-rg-bar{flex:1 1 auto !important;min-width:140px !important;height:14px !important;background:#f2f2f2 !important;border-radius:999px !important;overflow:hidden !important;position:relative !important;display:block !important}\n#yj24SlotGraph .yj24-rg-bar>i{position:absolute !important;left:0 !important;top:0 !important;height:100% !important;width:0%;background:#ff8a00 !important;border-radius:999px !important;display:block !important;font-style:normal !important;transition:width 1200ms ease}\n#yj24SlotGraph .yj24-rg-pct{flex:0 0 44px !important;width:44px !important;text-align:right !important;font-size:13px !important;color:#666 !important}\n#yj24SlotGraph .yj24-rg-left svg{display:none !important}\n#yj24SlotGraph .yj24-rg-starTxt{display:none !important}\n#yj24SlotGraph .yj24-rg-left .yj24-rg-stars5{display:flex !important;flex-direction:row !important;align-items:center !important;justify-content:center !important;gap:6px !important}\n#yj24SlotGraph .yj24-rg-left .yj24-rg-starImg{width:30px !important;height:30px !important}\n@media(max-width:768px){#yj24SlotGraph{padding:0 10px !important}#yj24SlotGraph .yj24-rg-row{gap:2px !important}#yj24SlotGraph .yj24-rg-stars{flex:0 0 70px !important;width:70px !important}#yj24SlotGraph .yj24-rg-starsRow{gap:3px !important}}\n@media(max-width:640px){#yj24SlotGraph .yj24-rg{flex-direction:column !important;gap:16px !important;justify-content:center !important}#yj24SlotGraph .yj24-rg-left{min-width:auto !important}#yj24SlotGraph .yj24-rg-score{font-size:40px !important}}\n<\/style>\n    \n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-12582","page","type-page","status-publish","hentry"],"blocksy_meta":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/shop.yj24.com\/en\/wp-json\/wp\/v2\/pages\/12582","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/shop.yj24.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/shop.yj24.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/shop.yj24.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/shop.yj24.com\/en\/wp-json\/wp\/v2\/comments?post=12582"}],"version-history":[{"count":1,"href":"https:\/\/shop.yj24.com\/en\/wp-json\/wp\/v2\/pages\/12582\/revisions"}],"predecessor-version":[{"id":12584,"href":"https:\/\/shop.yj24.com\/en\/wp-json\/wp\/v2\/pages\/12582\/revisions\/12584"}],"wp:attachment":[{"href":"https:\/\/shop.yj24.com\/en\/wp-json\/wp\/v2\/media?parent=12582"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}