{"product_id":"velvet-reels-360ft-110m","title":"Velvet Reels (360ft\/110m)","description":"\u003cbody\u003e\n\n  \n    \u003cmeta charset=\"UTF-8\"\u003e\n    \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n    \u003ctitle\u003eVelvet Reels (360ft\/110m)\u003c\/title\u003e\n    \u003cstyle type=\"text\/css\"\u003e\n      * {\n        box-sizing: border-box;\n      }\n      body {\n        font-size: 13px;\n        color: #333;\n        margin: 0;\n        background: #fff;\n      }\n      a {\n        color: #1a6496;\n        text-decoration: none;\n        cursor: pointer;\n      }\n      a:hover {\n        text-decoration: underline;\n      }\n\n      \/* ── Intro ── *\/\n      #intro-wrap {\n        font-size: 13px;\n        line-height: 1.6;\n        margin-bottom: 8px;\n      }\n\n      #intro-extra-wrap {\n        overflow: hidden;\n        max-height: 0;\n        opacity: 0;\n        transition:\n          max-height 0.45s ease,\n          opacity 0.4s ease;\n        display: block;\n      }\n      #intro-extra-wrap.open {\n        max-height: 300px;\n        opacity: 1;\n      }\n\n      .toggle-link {\n        color: #1a6496;\n        cursor: pointer;\n        font-size: 13px;\n        white-space: nowrap;\n      }\n      .toggle-link:hover {\n        text-decoration: underline;\n      }\n\n      \/* ── Accordion ── *\/\n      .acc-wrapper {\n        background: #f5f5f5;\n        margin-top: 4px;\n      }\n\n      .acc-header {\n        background: #e8e8e8;\n        padding: 8px 12px;\n        font-size: 13px;\n        font-weight: bold;\n        cursor: pointer;\n        color: #333;\n        user-select: none;\n        transition: background 0.2s;\n        display: flex;\n        justify-content: space-between;\n        align-items: center;\n      }\n      .acc-header:hover {\n        background: #ddd;\n      }\n\n      .acc-body {\n        overflow: hidden;\n        max-height: 0;\n        opacity: 0;\n        transition:\n          max-height 0.42s ease,\n          opacity 0.35s ease,\n          padding 0.3s ease;\n        padding: 0 14px;\n        line-height: 1.7;\n        font-size: 13px;\n        background: #fff;\n      }\n      .acc-body.open {\n        max-height: 800px; \/* Increased for safety *\/\n        opacity: 1;\n        padding: 12px 14px;\n      }\n\n      \/* ── Question mark icon ── *\/\n      .q-icon {\n        display: inline-block;\n        width: 13px;\n        height: 13px;\n        background: #fff;\n        color: #a07800;\n        font-size: 9px;\n        font-weight: bold;\n        text-align: center;\n        line-height: 13px;\n        cursor: pointer;\n        margin-left: 3px;\n        vertical-align: middle;\n        border: 1px solid #a07800;\n        border-radius: 1px;\n      }\n      .q-icon:hover {\n        background: #a07800;\n        color: #fff;\n      }\n\n      \/* ── Modal Overlay ── *\/\n      #modal-overlay {\n        display: none;\n        position: fixed;\n        top: 0;\n        left: 0;\n        width: 100%;\n        height: 100%;\n        background: rgba(0, 0, 0, 0);\n        z-index: 9998;\n        transition: background 0.3s ease;\n      }\n      #modal-overlay.visible {\n        display: block;\n        background: rgba(0, 0, 0, 0.55);\n      }\n\n      \/* ── Modal Box ── *\/\n      .modal-box {\n        display: none;\n        position: fixed;\n        top: 50%;\n        left: 50%;\n        transform: translate(-50%, -56%) scale(0.92);\n        background: #fff;\n        width: 90%;\n        max-width: 320px;\n        padding: 20px 22px 18px 22px;\n        z-index: 9999;\n        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);\n        opacity: 0;\n        transition:\n          opacity 0.28s ease,\n          transform 0.28s ease;\n      }\n      .modal-box.visible {\n        display: block;\n        opacity: 1;\n        transform: translate(-50%, -50%) scale(1);\n      }\n\n      .modal-close {\n        position: absolute;\n        top: 6px;\n        right: 6px;\n        width: 20px;\n        height: 20px;\n        background: #888;\n        color: #fff;\n        font-size: 13px;\n        font-weight: bold;\n        line-height: 20px;\n        text-align: center;\n        cursor: pointer;\n        border-radius: 2px;\n        user-select: none;\n      }\n      .modal-close:hover {\n        background: #555;\n      }\n\n      .modal-title {\n        font-size: 16px;\n        font-weight: bold;\n        color: #222;\n        margin: 0 0 14px 0;\n        line-height: 1.35;\n        padding-right: 18px;\n      }\n\n      .modal-item {\n        margin-bottom: 11px;\n        font-size: 13px;\n        line-height: 1.45;\n        color: #333;\n      }\n      .modal-item .num {\n        color: #c8a200;\n        font-weight: bold;\n        font-style: italic;\n      }\n\n      .modal-more-link {\n        display: block;\n        color: #c8a200;\n        font-size: 13px;\n        text-decoration: underline;\n        margin-top: 12px;\n        margin-bottom: 14px;\n      }\n      .modal-more-link:hover {\n        color: #a07800;\n      }\n\n      .modal-logo {\n        text-align: center;\n        border-top: 1px solid #e5e5e5;\n        padding-top: 12px;\n        margin-top: 8px;\n      }\n      .modal-logo img {\n        display: block;\n        margin: 0 auto;\n        max-width: 160px;\n        height: auto;\n      }\n    \u003c\/style\u003e\n  \n  \n    \u003c!-- ══ INTRO TEXT ══ --\u003e\n    \u003cdiv id=\"intro-wrap\"\u003e\n      \u003cdiv id=\"intro-preview\"\u003e\n        On this page you can purchase Satin in reels (one reel is enough string\n        for 9 to 10 racquets)....\n        \u003ca class=\"toggle-link\" id=\"link-more\"\u003e more\u003c\/a\u003e\n      \u003c\/div\u003e\n      \u003cdiv id=\"intro-extra-wrap\"\u003e\n        On this page you can purchase Velvet in reels (one reel is enough string\n        for 9 to 10 racquets). Velvet is a very soft and forgiving\n        multi-filament tennis string. For a premium multi-filament, its\n        durability is above average while its price is well below that of\n        comparable strings. Velvet performs great on its own but is also a very\n        popular choice as the cross string in hybrid setups (usually with a\n        \u003ca href=\"\/pages\/polyester\"\u003epolyester\u003c\/a\u003e\n        string in the mains).\n        \u003ca class=\"toggle-link\" id=\"link-less\"\u003e less\u003c\/a\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- ══ ACCORDION ══ --\u003e\n    \u003cdiv class=\"acc-wrapper\"\u003e\n      \u003cdiv class=\"acc-header\" id=\"spec-header\"\u003eSpecifications\u003c\/div\u003e\n      \u003cdiv class=\"acc-body\" id=\"spec-body\"\u003e\n        \u003cb\u003eCONSTRUCTION:\u003c\/b\u003e Multi-filament core, multi-filament wrap, with a\n        polyester ribbon inserted between (multi-filament core, nylon based).\u003cbr\u003e\u003cbr\u003e\n        \u003cb\u003eDESCRIPTION:\u003c\/b\u003e A soft and very responsive string. This\n        multi-filament string's surprising durability is owed to a polyester\n        ribbon inserted between its multi-filament core and outer wrap.\u003cbr\u003e\u003cbr\u003e\n        \u003cb\u003eGAUGES:\u003c\/b\u003e 15L (1.35mm), 16 (1.30mm) or 17 (1.25mm) (please select\n        desired gauge below)\n        \u003cspan class=\"q-icon\" data-modal=\"modal-gauge\"\u003e?\u003c\/span\u003e\u003cbr\u003e\u003cbr\u003e\n        \u003cb\u003eCOLORS:\u003c\/b\u003e Natural\n        \u003cspan class=\"q-icon\" data-modal=\"modal-color\"\u003e?\u003c\/span\u003e\u003cbr\u003e\u003cbr\u003e\n        \u003c!-- \u003cb\u003eAVAILABLE IN:\u003c\/b\u003e Sets (40ft\/12.2m) or Reels (660ft\/200m or\n        360ft\/110m) \u003cspan class=\"q-icon\" data-modal=\"modal-sets-reels\"\u003e?\u003c\/span\u003e --\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- ══ OVERLAY ══ --\u003e\n    \u003cdiv id=\"modal-overlay\"\u003e\u003c\/div\u003e\n\n    \u003c!-- Modal: Gauge --\u003e\n    \u003cdiv class=\"modal-box\" id=\"modal-gauge\"\u003e\n      \u003cdiv class=\"modal-close\"\u003ex\u003c\/div\u003e\n      \u003cdiv class=\"modal-title\"\u003e\n        What is the 'gauge' of a string and why does it matter?\n      \u003c\/div\u003e\n      \u003cdiv class=\"modal-item\"\u003e\n        \u003cspan class=\"num\"\u003e-1-\u003c\/span\u003e Thinner gauges will yield higher elasticity\n        and greater spin potential\n      \u003c\/div\u003e\n      \u003cdiv class=\"modal-item\"\u003e\n        \u003cspan class=\"num\"\u003e-2-\u003c\/span\u003e Thicker gauges are more durable and retain\n        tension longer\n      \u003c\/div\u003e\n      \u003cdiv class=\"modal-item\"\u003e\n        \u003cspan class=\"num\"\u003e-3-\u003c\/span\u003e Lower gauges are thicker than higher gauges\n        (16 gauge is thicker than 17 gauge)\n      \u003c\/div\u003e\n      \u003ca class=\"modal-more-link\" href=\"\/pages\/gauges-explained\"\u003emore gauge info\u003c\/a\u003e\n      \u003cdiv class=\"modal-logo\"\u003e\n        \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0990\/5615\/6958\/files\/WEB_2.0_LOGO_WITH_SLOGAN_400_PX_WIDE.jpg?v=1776848542\" alt=\"Golden Set\"\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- Modal: Color --\u003e\n    \u003cdiv class=\"modal-box\" id=\"modal-color\"\u003e\n      \u003cdiv class=\"modal-close\"\u003ex\u003c\/div\u003e\n      \u003cdiv class=\"modal-title\"\u003e\n        Beyond aesthetics, does the color of a tennis string matter?\n      \u003c\/div\u003e\n      \u003cdiv class=\"modal-item\"\u003e\n        Theoretically, the mechanical properties of a tennis string could be\n        affected by the dye used to color it. However, these effects are\n        generally not significant enough to be noticed. For the vast majority of\n        players, beyond aesthetic considerations, tennis string color does not\n        matter.\n      \u003c\/div\u003e\n      \u003cdiv class=\"modal-logo\"\u003e\n        \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0990\/5615\/6958\/files\/WEB_2.0_LOGO_WITH_SLOGAN_400_PX_WIDE.jpg?v=1776848542\" alt=\"Golden Set\"\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- Modal: Sets vs Reels --\u003e\n    \u003cdiv class=\"modal-box\" id=\"modal-sets-reels\"\u003e\n      \u003cdiv class=\"modal-close\"\u003ex\u003c\/div\u003e\n      \u003cdiv class=\"modal-title\"\u003eSets versus Reels\u003c\/div\u003e\n      \u003cdiv class=\"modal-item\"\u003e\n        A 40ft\/12.2m set of tennis string is an adequate length to restring\n        almost any tennis racquet. 660ft\/200m reels contain a length adequate to\n        restring approximately 18 racquets.\n      \u003c\/div\u003e\n      \u003cdiv class=\"modal-item\"\u003e\n        It costs less to package, handle and transport reels and therefore, per\n        unit length, reels are more cost effective than sets. As well, when\n        restringing from sets, usually a couple of feet of string are left over\n        (waste) since most racquets do not require an entire 40ft\/12.2m. When\n        restringing from reels, waste can be minimized by accurately measuring\n        the required string lengths before removal.\n      \u003c\/div\u003e\n      \u003cdiv class=\"modal-item\"\u003e\n        From an ease of restringing standpoint, since it is not coiled as\n        tightly, string taken from a reel tends to be easier to handle during\n        installation.\n      \u003c\/div\u003e\n      \u003cdiv class=\"modal-logo\"\u003e\n        \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0990\/5615\/6958\/files\/WEB_2.0_LOGO_WITH_SLOGAN_400_PX_WIDE.jpg?v=1776848542\" alt=\"Golden Set\"\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cscript\u003e\n      \/\/ ── Toggle Intro Text ──\n      const linkMore = document.getElementById(\"link-more\");\n      const linkLess = document.getElementById(\"link-less\");\n      const introPreview = document.getElementById(\"intro-preview\");\n      const introExtra = document.getElementById(\"intro-extra-wrap\");\n\n      linkMore.addEventListener(\"click\", () =\u003e {\n        introPreview.style.display = \"none\";\n        introExtra.classList.add(\"open\");\n      });\n\n      linkLess.addEventListener(\"click\", () =\u003e {\n        introExtra.classList.remove(\"open\");\n        setTimeout(() =\u003e {\n          introPreview.style.display = \"block\";\n        }, 400); \/\/ Matches transition time\n      });\n\n      \/\/ ── Toggle Accordion ──\n      const specHeader = document.getElementById(\"spec-header\");\n      const specBody = document.getElementById(\"spec-body\");\n\n      specHeader.addEventListener(\"click\", () =\u003e {\n        specHeader.classList.toggle(\"active\");\n        specBody.classList.toggle(\"open\");\n      });\n\n      \/\/ ── Modal Logic ──\n      const overlay = document.getElementById(\"modal-overlay\");\n      const qIcons = document.querySelectorAll(\".q-icon\");\n      const closeBtns = document.querySelectorAll(\".modal-close\");\n\n      function closeModal() {\n        overlay.classList.remove(\"visible\");\n        document.querySelectorAll(\".modal-box\").forEach((box) =\u003e {\n          box.classList.remove(\"visible\");\n        });\n        setTimeout(() =\u003e {\n          overlay.style.display = \"none\";\n          document.querySelectorAll(\".modal-box\").forEach((box) =\u003e {\n            box.style.display = \"none\";\n          });\n        }, 300);\n      }\n\n      qIcons.forEach((icon) =\u003e {\n        icon.addEventListener(\"click\", (e) =\u003e {\n          const modalId = icon.getAttribute(\"data-modal\");\n          const modal = document.getElementById(modalId);\n\n          overlay.style.display = \"block\";\n          modal.style.display = \"block\";\n\n          \/\/ Reflow\n          modal.offsetHeight;\n\n          overlay.classList.add(\"visible\");\n          modal.classList.add(\"visible\");\n        });\n      });\n\n      closeBtns.forEach((btn) =\u003e btn.addEventListener(\"click\", closeModal));\n      overlay.addEventListener(\"click\", closeModal);\n    \u003c\/script\u003e\n  \n\n\u003c\/body\u003e","brand":"Golden Set ","offers":[{"title":"Velvet 15L Reel Natural -V15HN","offer_id":50802154995998,"sku":"V15HN","price":63.44,"currency_code":"USD","in_stock":true},{"title":"Velvet 16 (1.30 mm) Reel Natural -V16HN","offer_id":50802155028766,"sku":"V16HN","price":63.44,"currency_code":"USD","in_stock":true},{"title":"Velvet 17 Reel Natural -V17HN","offer_id":50802155061534,"sku":"V17HN","price":63.44,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0990\/5615\/6958\/files\/X_VELVET_TENNIS_STRING_REELS.jpg?v=1776589732","url":"https:\/\/goldensettennis.com\/products\/velvet-reels-360ft-110m","provider":"Golden Set ","version":"1.0","type":"link"}